let compute_with_initial_state ~call_kinstr kf with_formals =
  match kf.fundec with
    | Declaration _ -> compute_using_declaration kf with_formals
    | Definition (f,_) ->
        let with_locals =
          List.fold_left
            (fun acc local ->
              Cvalue.Model.add_binding_not_initialized
                 acc
                 (Locations.loc_of_varinfo local))
            with_formals
            f.slocals
        in
        (* Remark: the pre-condition cannot talk about the locals. BUT
           check_fct_preconditions split the state into a stateset, hence
           it is simpler to apply it to the (unique) state with locals *)

        let initial_states= Eval_logic.check_fct_preconditions kf with_locals in
        compute_using_cfg ~call_kinstr kf initial_states