let result env = match env.result,env.return with
      | Some x, Some t -> x, t
      | Some x, None ->
          let t = Kernel_function.get_return_type env.kf in
          (x, t)
      | None,_ ->
          let t = Kernel_function.get_return_type env.kf in
          let x = D.fresh "result" (Mdata.Vacsl(Ctype t)) in
          env.result <- Some x ; (x, t)