sig
  val has_fundef : Cil_types.exp -> bool
  module RTL :
    sig
      val mk_api_name : string -> string
      val mk_temporal_name : string -> string
      val mk_gen_name : string -> string
      val is_generated_name : string -> bool
      val is_generated_kf : Cil_types.kernel_function -> bool
      val is_rtl_name : string -> bool
      val is_generated_literal_string_name : string -> bool
      val get_original_name : Cil_types.kernel_function -> string
      val get_rtl_replacement_name : string -> string
      val has_rtl_replacement : string -> bool
    end
  module Libc :
    sig
      val is_memcpy : Cil_types.exp -> bool
      val is_memcpy_name : string -> bool
      val is_memset : Cil_types.exp -> bool
      val is_memset_name : string -> bool
      val is_dyn_alloc : Cil_types.exp -> bool
      val is_dyn_alloc_name : string -> bool
      val is_dyn_free : Cil_types.exp -> bool
      val is_dyn_free_name : string -> bool
      val is_vla_free : Cil_types.exp -> bool
      val is_vla_free_name : string -> bool
      val is_vla_alloc : Cil_types.exp -> bool
      val is_vla_alloc_name : string -> bool
      val is_alloca : Cil_types.exp -> bool
      val is_alloca_name : string -> bool
      val is_printf : Cil_types.exp -> bool
      val is_printf_name : string -> bool
      val printf_fmt_position : string -> int
      val get_printf_argument_str :
        loc:Cil_types.location ->
        string -> Cil_types.exp list -> Cil_types.exp
      val actual_alloca : string
    end
end