functor (Abstract : Abstractions.S->
  sig
    val compute_from_entry_point :
      Cil_types.kernel_function -> lib_entry:bool -> unit
    val compute_from_init_state :
      Cil_types.kernel_function -> Abstract.Dom.t -> unit
    val get_stmt_state : Cil_types.stmt -> Abstract.Dom.state Eval.or_bottom
    val get_kinstr_state :
      Cil_types.kinstr -> Abstract.Dom.state Eval.or_bottom
    val get_stmt_state_by_callstack :
      after:bool ->
      Cil_types.stmt ->
      Abstract.Dom.state Value_types.Callstack.Hashtbl.t
      Eval.or_top_or_bottom
    val get_initial_state_by_callstack :
      Cil_types.kernel_function ->
      Abstract.Dom.state Value_types.Callstack.Hashtbl.t
      Eval.or_top_or_bottom
    val eval_expr :
      Abstract.Dom.state -> Cil_types.exp -> Abstract.Val.t Eval.evaluated
    val copy_lvalue :
      Abstract.Dom.state ->
      Cil_types.lval -> Abstract.Val.t Eval.flagged_value Eval.evaluated
    val eval_lval_to_loc :
      Abstract.Dom.state ->
      Cil_types.lval -> Abstract.Loc.location Eval.evaluated
    val eval_function_exp :
      Abstract.Dom.state ->
      Cil_types.exp -> Cil_types.kernel_function list Eval.evaluated
  end