Module Pulselib__PulseArithmetic
module AbductiveDomain = Pulselib.PulseAbductiveDomainmodule AccessResult = Pulselib.PulseAccessResultval and_nonnegative : Pulselib.PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.tval and_positive : Pulselib.PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.tval and_eq_int : Pulselib.PulseBasicInterface.AbstractValue.t -> IR.IntLit.t -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.t
type operand= Pulselib.PulseBasicInterface.PathCondition.operand=|LiteralOperand of IR.IntLit.t|AbstractValueOperand of Pulselib.PulseBasicInterface.AbstractValue.t
val eval_binop : Pulselib.PulseBasicInterface.AbstractValue.t -> IR.Binop.t -> operand -> operand -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.tval eval_unop : Pulselib.PulseBasicInterface.AbstractValue.t -> IR.Unop.t -> Pulselib.PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.tval prune_binop : negated:bool -> IR.Binop.t -> operand -> operand -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.tval prune_eq_zero : Pulselib.PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.thelper function wrapping
prune_binop
val prune_positive : Pulselib.PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.thelper function wrapping
prune_binop
val is_known_zero : AbductiveDomain.t -> Pulselib.PulseBasicInterface.AbstractValue.t -> boolval is_unsat_cheap : AbductiveDomain.t -> boolval has_no_assumptions : AbductiveDomain.t -> boolval and_equal_instanceof : Pulselib.PulseBasicInterface.AbstractValue.t -> Pulselib.PulseBasicInterface.AbstractValue.t -> IR.Typ.t -> AbductiveDomain.t -> AbductiveDomain.t AccessResult.t