sig
  val name : string
  val debug : bool
  type t = Cil_types.exp Availexpslv.LvExpHash.t
  module StmtStartData :
    sig
      type data = Cil_types.exp LvExpHash.t
      val clear : unit -> unit
      val mem : Cil_types.stmt -> bool
      val find : Cil_types.stmt -> data
      val replace : Cil_types.stmt -> data -> unit
      val add : Cil_types.stmt -> data -> unit
      val iter : (Cil_types.stmt -> data -> unit) -> unit
      val length : unit -> int
    end
  val copy : 'Availexpslv.LvExpHash.t -> 'Availexpslv.LvExpHash.t
  val pretty :
    Format.formatter -> Cil_types.exp Availexpslv.LvExpHash.t -> unit
  val computeFirstPredecessor : '-> '-> 'b
  val combinePredecessors :
    Cil_types.stmt ->
    old:Availexpslv.AvailableExps.t ->
    Availexpslv.AvailableExps.t ->
    Cil_types.exp Availexpslv.LvExpHash.t option
  val doInstr :
    '->
    Cil_types.instr ->
    Cil_types.exp Availexpslv.LvExpHash.t ->
    Cil_types.exp Availexpslv.LvExpHash.t
  val doStmt : '-> '-> 'Dataflow2.stmtaction
  val doGuard :
    '-> '-> '-> 'Dataflow2.guardaction * 'Dataflow2.guardaction
  val doEdge : '-> '-> '-> 'c
end