`type astate````=` `{`

`prune_pairs : BufferOverrunDomain.PrunePairs.t;`
`mem : BufferOverrunDomain.Mem.astate;`

`}```
`val update_mem_in_prune : AbsLoc.Loc.t ‑> InferModules__BufferOverrunDomain.Val.t ‑> astate ‑> astate`
`val prune_unop : InferIR.Exp.t ‑> astate ‑> astate`
`val prune_binop_left : InferIR.Exp.t ‑> astate ‑> astate`
`val prune_binop_right : InferIR.Exp.t ‑> astate ‑> astate`
`val is_unreachable_constant : InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> bool`
`val prune_unreachable : InferIR.Exp.t ‑> astate ‑> astate`
`val prune_helper : InferIR.Exp.t ‑> astate ‑> astate`
`val prune : InferIR.Exp.t ‑> BufferOverrunDomain.Mem.astate ‑> BufferOverrunDomain.Mem.astate`