let addr_of_ref env lv = 
    debug "[addr_of_ref] of %a" !Ast_printer.d_logic_var lv;
    try 
      let x = Logic_var.Map.find lv env.laddr in  
      debug "[addr_of_ref] of %a already recorded :%a"
        !Ast_printer.d_logic_var lv F.pp_var x ; x
    with 
        Not_found -> 
          debug "[addr_of_ref] %a not yet in" 
            !Ast_printer.d_logic_var lv;
          let x = fresh_addr lv in 
          env.laddr <-Logic_var.Map.add lv x env.laddr ; 
          debug "[addr_of_ref] of %a recorded with %a"
            !Ast_printer.d_logic_var lv F.pp_var x ; x