diff --git a/src/ast/rewriter/arith_rewriter.cpp b/src/ast/rewriter/arith_rewriter.cpp index 95f531a10..6b4b1502c 100644 --- a/src/ast/rewriter/arith_rewriter.cpp +++ b/src/ast/rewriter/arith_rewriter.cpp @@ -457,32 +457,6 @@ br_status arith_rewriter::mk_le_ge_eq_core(expr * arg1, expr * arg2, op_kind kin st = BR_DONE; } } - expr* e1 = nullptr, *e2 = nullptr; - if (m_util.is_div(arg1, e1, e2) && (!is_numeral(e2, a2) || !a2.is_zero())) { - new_arg1 = e1; - new_arg2 = m_util.mk_mul(e2, arg2); - expr_ref zero(m_util.mk_numeral(rational(0), m_util.is_int(arg1)), m()); - expr_ref is_zero(m().mk_eq(zero, e2), m()); - expr_ref div0(m_util.mk_div(e1, zero), m()); - expr_ref mul2(m_util.mk_mul(e2, arg2), m()); - switch (kind) { - case LE: - result = m().mk_or( - m().mk_and(is_zero, m_util.mk_le(div0, arg2)), - m().mk_and(m().mk_not(m_util.mk_le(e2, zero)), m_util.mk_le(e1, mul2)), - m().mk_and(m().mk_not(m_util.mk_ge(e2, zero)), m_util.mk_ge(e1, mul2))); - return BR_REWRITE_FULL; - case GE: - result = m().mk_or( - m().mk_and(is_zero, m_util.mk_ge(div0, arg2)), - m().mk_and(m().mk_not(m_util.mk_le(e2, zero)), m_util.mk_ge(e1, mul2)), - m().mk_and(m().mk_not(m_util.mk_ge(e2, zero)), m_util.mk_le(e1, mul2))); - return BR_REWRITE_FULL; - case EQ: - result = m().mk_ite(is_zero, m().mk_eq(div0, arg2), m().mk_eq(e1, mul2)); - return BR_REWRITE_FULL; - } - } expr* c = nullptr, *t = nullptr, *e = nullptr; if (m().is_ite(arg1, c, t, e) && is_numeral(t, a1) && is_numeral(arg2, a2)) { switch (kind) {