MCPcopy Create free account
hub / github.com/AliveToolkit/alive2 / srem

Method srem

smt/expr.cpp:776–787  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

774}
775
776expr expr::srem(const expr &rhs) const {
777 if (eq(rhs) || isZero() || (isSMin() && rhs.isAllOnes()))
778 return mkUInt(0, sort());
779
780 if (rhs.isZero())
781 return rhs;
782
783 if (isNegative().isFalse() && rhs.isNegative().isFalse())
784 return urem(rhs);
785
786 return binop_fold(rhs, Z3_mk_bvsrem);
787}
788
789expr expr::urem(const expr &rhs) const {
790 C();

Callers 1

toSMTMethod · 0.80

Calls 4

isAllOnesMethod · 0.80
isFalseMethod · 0.80
isNegativeMethod · 0.80
isZeroMethod · 0.45

Tested by

no test coverage detected