let pp_userformals fmt ufs =
      List.iter
        (function
           | UF_logic(lv,x) -> 
               Format.fprintf fmt
                 "@\n * (%a:%a) parameter '%s' in ACSL definition" 
                 F.pp_var x F.pp_tau (F.tau_of_var x)
                 (* original name of lv *) lv.lv_name
           | UF_references(lv,opt_cx,refs) ->
               begin
                 match opt_cx with 
                   | None -> () 
                   | Some y -> 
                       Format.fprintf fmt "@\n * (%a:%a) C reference to %a" 
                         F.pp_var y F.pp_tau (F.tau_of_var y)
                         !Ast_printer.d_logic_var lv 
               end;
               List.iter
                 (fun (x,formal,label) ->
                    Format.fprintf fmt "@\n * (%a:%a) reference to %a at %s" 
                      F.pp_var x F.pp_tau (F.tau_of_var x)
                      M.pp_formal (formal,lv) label )
                       refs
           | UF_closure(x,closure,label) ->
               Format.fprintf fmt "@\n * (%a:%a) %a at %s"
                 F.pp_var x F.pp_tau (F.tau_of_var x)
                 M.pp_closure closure label
        ) ufs