sig
  type reachable_functions = {
    syntactic : Cil_datatype.Varinfo.Set.t;
    semantic : Cil_datatype.Varinfo.Set.t;
  }
  val percent_coverage : Metrics_coverage.reachable_functions -> float
  val compute :
    unit ->
    Metrics_coverage.reachable_functions *
    (Cil_datatype.Varinfo.Hashtbl.key * Cil_types.init) list
  val compute_syntactic : Kernel_function.t -> Cil_datatype.Varinfo.Set.t
  val compute_semantic : unit -> Cil_datatype.Varinfo.Set.t
  val compute_coverage_by_fun :
    Cil_datatype.Varinfo.Set.t ->
    (Cil_types.kernel_function * int * int * float) list
  val pp_reached_from_function :
    Format.formatter -> Kernel_function.t -> unit
  val pp_value_coverage :
    unit -> (Format.formatter -> unit) * (Format.formatter -> unit)
  val pp_stmts_reached_by_function : Format.formatter -> unit
end