`val eval_const : InferIR.Const.t ‑> BufferOverrunDomain.Val.t`
`val sizeof_ikind : InferIR.Typ.ikind ‑> int`
`val sizeof_fkind : InferIR.Typ.fkind ‑> int`
`val sizeof : InferIR.Typ.t ‑> int`
`val must_alias : InferIR.Exp.t ‑> InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> bool`
`val must_alias_opt : InferIR.Exp.t option ‑> InferIR.Exp.t option ‑> BufferOverrunDomain.Mem.astate ‑> bool`
`val comp_rev : InferIR.Binop.t ‑> InferIR.Binop.t`
`val comp_not : InferIR.Binop.t ‑> InferIR.Binop.t`
`val must_alias_cmp : InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> bool`
`val eval : InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Val.t`
`val eval_lindex : InferIR.Exp.t ‑> InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Val.t`
`val eval_unop : InferIR.Unop.t ‑> InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Val.t`
`val eval_binop : InferIR.Binop.t ‑> InferIR.Exp.t ‑> InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Val.t`
`val eval_arr : InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Val.t`
`val get_allocsite : InferIR.Typ.Procname.t ‑> node_hash:int ‑> inst_num:int ‑> dimension:int ‑> string`
`val eval_array_alloc : InferIR.Typ.Procname.t ‑> node_hash:int ‑> InferIR.Typ.t ‑> stride:int option ‑> offset:Itv.t ‑> size:Itv.t ‑> inst_num:int ‑> dimension:int ‑> BufferOverrunDomain.Val.t`
`module Prune : sig ... end`
`val get_formals : InferIR.Procdesc.t ‑> (InferIR.Pvar.t * InferIR.Typ.t) list`
`val get_matching_pairs : InferIR.Tenv.t ‑> BufferOverrunDomain.Val.t ‑> BufferOverrunDomain.Val.t ‑> InferIR.Typ.t ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Mem.astate ‑> callee_ret_alias:BufferOverrunDomain.AliasTarget.t option ‑> (Itv.Bound.t * Itv.Bound.t AbstractDomain.Types.bottom_lifted * BufferOverrunDomain.TraceSet.t) list * BufferOverrunDomain.AliasTarget.t option`
`val subst_map_of_pairs : (Itv.Bound.t * Itv.Bound.t AbstractDomain.Types.bottom_lifted * BufferOverrunDomain.TraceSet.t) list ‑> Itv.Bound.t AbstractDomain.Types.bottom_lifted InferModules.Itv.SymbolMap.t * BufferOverrunDomain.TraceSet.t InferModules.Itv.SymbolMap.t`
`val list_fold2_def : default:BufferOverrunDomain.Val.t ‑> f:('a ‑> BufferOverrunDomain.Val.t ‑> 'b ‑> 'b) ‑> 'a list ‑> BufferOverrunDomain.Val.t list ‑> init:'b ‑> 'b`
`val get_subst_map : InferIR.Tenv.t ‑> InferIR.Procdesc.t ‑> (InferIR.Exp.t * 'a) list ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Mem.astate ‑> callee_ret_alias:BufferOverrunDomain.AliasTarget.t option ‑> (Itv.Bound.t AbstractDomain.Types.bottom_lifted InferModules.Itv.SymbolMap.t * BufferOverrunDomain.TraceSet.t InferModules.Itv.SymbolMap.t) * BufferOverrunDomain.AliasTarget.t option`