sig
  val name : string
  val debug : bool Pervasives.ref
  type t = Cil_types.exp Availexpslv.LvExpHash.t
  module StmtStartData :
    sig
      type data = Cil_types.exp LvExpHash.t
      type key = Cil_types.stmt
      val clear : unit -> unit
      val mem : key -> bool
      val find : key -> data
      val replace : key -> data -> unit
      val add : key -> data -> unit
      val iter : (key -> 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 Availexpslv.DF.action
  val doStmt : '-> '-> 'Availexpslv.DF.stmtaction
  val doGuard :
    '->
    '-> '-> 'Availexpslv.DF.guardaction * 'Availexpslv.DF.guardaction
  val filterStmt : '-> bool
  val stmt_can_reach : '-> '-> bool
  val doEdge : '-> '-> '-> 'c
end