From a2b18a37ec2a8c2a031956ae8b4bddf4340719e8 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner <nbjorner@microsoft.com> Date: Wed, 31 Jul 2019 06:55:10 +0800 Subject: [PATCH] fix #2449 Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> --- src/ast/rewriter/arith_rewriter.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ast/rewriter/arith_rewriter.cpp b/src/ast/rewriter/arith_rewriter.cpp index b2d9fcb5d..c6e8b9d62 100644 --- a/src/ast/rewriter/arith_rewriter.cpp +++ b/src/ast/rewriter/arith_rewriter.cpp @@ -467,15 +467,15 @@ br_status arith_rewriter::mk_le_ge_eq_core(expr * arg1, expr * arg2, op_kind kin case LE: result = m().mk_or( m().mk_and(is_zero, m_util.mk_le(div0, arg2)), - m().mk_and(m_util.mk_gt(e2, zero), m_util.mk_le(e1, mul2)), - m().mk_and(m_util.mk_lt(e2, zero), m_util.mk_ge(e1, mul2))); - return BR_REWRITE2; + 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_util.mk_gt(e2, zero), m_util.mk_ge(e1, mul2)), - m().mk_and(m_util.mk_lt(e2, zero), m_util.mk_le(e1, mul2))); - return BR_REWRITE2; + 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_REWRITE2;