functor (Values_To_Use : Values_To_Use_Sig->
  functor (Froms_To_Use : Froms_To_Use_Sig->
    functor (Recording_To_Do : Recording_Sig->
      sig
        type t' = {
          additional_deps_table : Locations.Zone.t Cil_datatype.Stmt.Map.t;
          additional_deps : Locations.Zone.t;
          deps_table : Lmap_bitwise.From_Model.t;
        }
        val call_stack : Kernel_function.t Stack.t
        val find_deps_no_transitivity :
          Cil_types.kinstr -> Cil_types.exp -> Locations.Zone.t
        val find_deps_offset_no_transitivity :
          Cil_types.kinstr -> Cil_types.offset -> Locations.Zone.t
        val find_deps_lval_no_transitivity :
          Cil_types.kinstr -> Cil_types.lval -> Locations.Zone.t
        val find_deps :
          Cil_types.kinstr ->
          Db_types.from_model -> Cil_types.exp -> Locations.Zone.t
        module Computer :
          functor
            (REACH : sig
                       val stmt_can_reach :
                         Cil_types.stmt -> Cil_types.stmt -> bool
                       val blocks_closed_by_edge :
                         Cil_types.stmt ->
                         Cil_types.stmt -> Cil_types.block list
                     end->
            sig
              val empty_from : From_register.Make.t'
              val name : string
              val debug : bool Pervasives.ref
              val current_stmt :
                Cil_datatype.Kinstr.Hashtbl.key Pervasives.ref
              val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
              type t = From_register.Make.t'
              module StmtStartData :
                sig
                  type data = t'
                  val clear : unit -> unit
                  val mem : int -> bool
                  val find : int -> data
                  val replace : int -> data -> unit
                  val add : int -> data -> unit
                  val iter : (int -> data -> unit) -> unit
                  val length : unit -> int
                end
              val callwise_states_with_formals :
                (Kernel_function.t * Lmap_bitwise.From_Model.t) list
                Cil_datatype.Kinstr.Hashtbl.t
              type substit =
                  Froms of Locations.Zone.t
                | Lvalue of Lmap_bitwise.From_Model.LOffset.t
              val cached_substitute :
                Lmap_bitwise.From_Model.t ->
                Locations.Zone.t -> Locations.Zone.t -> Locations.Zone.t
              val display_one_from :
                Format.formatter -> int -> From_register.Make.t' -> unit
              val display_from : Format.formatter -> unit
              val copy :
                From_register.Make.Computer.t ->
                From_register.Make.Computer.t
              val pretty :
                Format.formatter -> From_register.Make.Computer.t -> unit
              val eliminate_additional :
                Locations.Zone.t Cil_datatype.Stmt.Map.t ->
                Cil_types.stmt ->
                Locations.Zone.t * Locations.Zone.t Cil_datatype.Stmt.Map.t *
                int
              val computeFirstPredecessor :
                Cil_datatype.Stmt.Map.key ->
                From_register.Make.t' -> From_register.Make.t'
              val combinePredecessors :
                Cil_datatype.Stmt.Map.key ->
                old:From_register.Make.t' ->
                From_register.Make.t' -> From_register.Make.t' option
              val resolv_func_vinfo :
                ?deps:Locations.Zone.t ->
                Cil_types.kinstr ->
                Cil_types.exp ->
                with_alarms:CilE.warn_mode ->
                Locations.Zone.t * Kernel_function.Hptset.t
              exception Ignore
              val doInstr :
                '->
                Cil_types.instr ->
                From_register.Make.Computer.t ->
                From_register.Make.t' Dataflow.action
              val doStmt :
                Cil_types.stmt ->
                From_register.Make.Computer.t -> 'Dataflow.stmtaction
              val filterStmt : Cil_types.stmt -> bool
              val externalize :
                Cil_types.stmt ->
                Db_types.kernel_function ->
                From_register.Make.t' -> Function_Froms.tt
              val doGuard :
                Cil_types.stmt ->
                Cil_types.exp ->
                '-> 'Dataflow.guardaction * 'Dataflow.guardaction
              val doEdge :
                Cil_types.stmt ->
                Cil_types.stmt ->
                From_register.Make.t' -> From_register.Make.t'
            end
        val compute_using_cfg : Kernel_function.t -> Function_Froms.tt
        val compute_using_prototype_for_state :
          Db.Value.state -> Kernel_function.t -> Function_Froms.tt
        val compute_using_prototype : Kernel_function.t -> Function_Froms.tt
        val compute_and_return : Kernel_function.t -> Function_Froms.t
        val compute : Kernel_function.t -> unit
      end