`val eval_const : InferIR.Const.t ‑> InferModules.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 ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> bool`
`val must_alias_opt : InferIR.Exp.t option ‑> InferIR.Exp.t option ‑> InferModules.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 ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> bool`
`val eval : InferIR.Exp.t ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> InferModules.BufferOverrunDomain.Val.t`
`val eval_lindex : InferIR.Exp.t ‑> InferIR.Exp.t ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> InferModules.BufferOverrunDomain.Val.t`
`val eval_unop : InferIR.Unop.t ‑> InferIR.Exp.t ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> InferModules.BufferOverrunDomain.Val.t`
`val eval_binop : InferIR.Binop.t ‑> InferIR.Exp.t ‑> InferIR.Exp.t ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> InferModules.BufferOverrunDomain.Val.t`
`val eval_arr : InferIR.Exp.t ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> InferModules.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:InferModules.Itv.t ‑> size:InferModules.Itv.t ‑> inst_num:int ‑> dimension:int ‑> InferModules.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 ‑> InferModules.BufferOverrunDomain.Val.t ‑> InferModules.BufferOverrunDomain.Val.t ‑> InferIR.Typ.t ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> callee_ret_alias:InferModules.BufferOverrunDomain.AliasTarget.t option ‑> (InferModules.Itv.Bound.t * InferModules.Itv.Bound.t InferModules.AbstractDomain.Types.bottom_lifted * InferModules.BufferOverrunDomain.TraceSet.t) list * InferModules.BufferOverrunDomain.AliasTarget.t option`
`val subst_map_of_pairs : (InferModules.Itv.Bound.t * InferModules.Itv.Bound.t InferModules.AbstractDomain.Types.bottom_lifted * InferModules.BufferOverrunDomain.TraceSet.t) list ‑> InferModules.Itv.Bound.t InferModules.AbstractDomain.Types.bottom_lifted InferModules.Itv.SymbolMap.t * InferModules.BufferOverrunDomain.TraceSet.t InferModules.Itv.SymbolMap.t`
`val list_fold2_def : default:InferModules.BufferOverrunDomain.Val.t ‑> f:('a ‑> InferModules.BufferOverrunDomain.Val.t ‑> 'b ‑> 'b) ‑> 'a list ‑> InferModules.BufferOverrunDomain.Val.t list ‑> init:'b ‑> 'b`
`val get_subst_map : InferIR.Tenv.t ‑> InferIR.Procdesc.t ‑> (InferIR.Exp.t * 'a) list ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> InferModules.BufferOverrunDomain.Mem.astate ‑> callee_ret_alias:InferModules.BufferOverrunDomain.AliasTarget.t option ‑> (InferModules.Itv.Bound.t InferModules.AbstractDomain.Types.bottom_lifted InferModules.Itv.SymbolMap.t * InferModules.BufferOverrunDomain.TraceSet.t InferModules.Itv.SymbolMap.t) * InferModules.BufferOverrunDomain.AliasTarget.t option`