functor (To_Use : To_Use->
  sig
    type t' = {
      additional_deps_table : From_compute.ZoneStmtMap.t;
      additional_deps : Locations.Zone.t;
      deps_table : Function_Froms.Memory.t;
    }
    val call_stack : Kernel_function.t Stack.t
    val rebuild_additional_deps :
      From_compute.ZoneStmtMap.t -> Locations.Zone.t
    val merge_deps :
      (Locations.Zone.t -> Function_Froms.Deps.deps) ->
      Function_Froms.Deps.deps -> Function_Froms.Deps.deps
    val bind_locals :
      Cil_types.varinfo list ->
      Function_Froms.Memory.t -> Function_Froms.Memory.t
    val find :
      Cil_types.stmt ->
      Function_Froms.Memory.t -> Cil_types.exp -> Function_Froms.Deps.deps
    val lval_to_zone_with_deps :
      Cil_types.stmt ->
      for_writing:bool ->
      Cil_types.lval -> Locations.Zone.t * Locations.Zone.t * bool
    val lval_to_precise_loc_with_deps :
      Cil_types.stmt ->
      for_writing:bool ->
      Cil_types.lval ->
      Locations.Zone.t * Precise_locs.precise_location * bool
    val empty_from : From_compute.Make.t'
    val bottom_from : From_compute.Make.t'
    module Computer :
      sig
        type t = From_compute.Make.t'
        val bottom : From_compute.Make.t'
        val callwise_states_with_formals :
          (Kernel_function.t * Function_Froms.Memory.t) list
          Cil_datatype.Stmt.Hashtbl.t
        val substitute :
          Function_Froms.Memory.t ->
          Locations.Zone.t ->
          Function_Froms.Deps.t -> Function_Froms.Deps.deps
        val display_one_from :
          Format.formatter -> From_compute.Make.t' -> unit
        val pretty : Format.formatter -> From_compute.Make.Computer.t -> unit
        val transfer_conditional_exp :
          From_compute.ZoneStmtMap.key ->
          Cil_types.exp -> From_compute.Make.t' -> From_compute.Make.t'
        val join_and_is_included :
          From_compute.Make.t' ->
          From_compute.Make.t' -> From_compute.Make.t' * bool
        val join :
          From_compute.Make.t' ->
          From_compute.Make.t' -> From_compute.Make.t'
        val transfer_assign :
          Cil_types.stmt ->
          Cil_types.lval ->
          Function_Froms.Deps.deps ->
          From_compute.Make.t' -> From_compute.Make.t'
        val transfer_instr :
          Cil_datatype.Stmt.Hashtbl.key ->
          Cil_types.instr ->
          From_compute.Make.Computer.t -> From_compute.Make.Computer.t
        val transfer_guard :
          Cil_types.stmt ->
          Cil_types.exp ->
          From_compute.Make.t' -> From_compute.Make.t' * From_compute.Make.t'
        val eliminate_additional :
          Cil_types.stmt -> From_compute.Make.t' -> From_compute.Make.t'
        val doEdge :
          Cil_types.stmt ->
          Cil_types.stmt -> From_compute.Make.t' -> From_compute.Make.t'
        val transfer_stmt :
          Cil_datatype.Stmt.Hashtbl.key ->
          From_compute.Make.Computer.t ->
          (Cil_types.stmt * From_compute.Make.Computer.t) list
      end
    val externalize :
      Cil_types.stmt ->
      Cil_types.kernel_function ->
      From_compute.Make.t' -> Function_Froms.froms
    val compute_using_cfg : Kernel_function.t -> Function_Froms.froms
    val compute_using_prototype : Kernel_function.t -> Function_Froms.froms
    val compute_and_return : Kernel_function.t -> Function_Froms.t
    val compute : Kernel_function.t -> unit
  end