method vinst i =
    let current_stmt = Cilutil.out_some self#current_stmt in
    if Value.is_reachable (Value.get_stmt_state current_stmt)
    then begin
      match i with
      | Call (_lv_opt,exp,_args,_) ->
        let current_stmt = Cilutil.out_some self#current_stmt in

        let deps_callees, _callees =
          !Value.expr_to_kernel_function
            ~with_alarms:CilE.warn_none_mode
            ~deps:(Some Zone.bottom)
            (Kstmt current_stmt) exp
        in

        let states_with_formals =
          try Stmt.Hashtbl.find callwise_states_with_formals current_stmt
          with Not_found -> assert false
        in
        let all_f =
          List.fold_left
            (fun acc (kf, state_with_formals) ->
              if not (!Db.Value.use_spec_instead_of_definition kf)
              then
                let deps =
                  try
                    Functionwise_Pathdeps.find kf
                  with Not_found ->
                    Format.printf "pathdeps dependencies not found for %a@."
                      Kernel_function.pretty kf;
                    assert false
                in
                let deps_f = Lmap_bitwise.From_Model.find
                  state_with_formals
                  deps
                in
                Zone.join acc deps_f
              else begin
                Format.printf "Assuming library function %a has no path dependencies@."
                  Kernel_function.pretty kf;
                acc
              end)
            deps_callees
            states_with_formals
        in
        self#join all_f;
        SkipChildren
      | _ -> SkipChildren
    end
    else SkipChildren