From f66a082de9e51205b42a910a0640a73172aa5eeb Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner <nbjorner@microsoft.com> Date: Sat, 18 Feb 2023 14:10:58 -0800 Subject: [PATCH] fix #6595 --- .gitignore | 1 + src/ast/rewriter/bv_bounds_base.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 936f977aa..b0c19a432 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ ocamlz3 # Directories with generated code and documentation release/* build/* +trace/* build-dist/* dist/* src/out/* diff --git a/src/ast/rewriter/bv_bounds_base.h b/src/ast/rewriter/bv_bounds_base.h index 840cf6e3e..8542e5921 100644 --- a/src/ast/rewriter/bv_bounds_base.h +++ b/src/ast/rewriter/bv_bounds_base.h @@ -185,7 +185,7 @@ namespace bv { m_args.push_back(arg); continue; } - if (!m_bv.is_extract(arg) && m_bound.find(arg, b)) { + if (!m_bv.is_extract(arg) && m_bound.find(arg, b) && b.lo() <= b.hi()) { unsigned num_bits = b.hi().get_num_bits(); unsigned bv_size = m_bv.get_bv_size(arg); if (0 < num_bits && num_bits < bv_size) { @@ -202,6 +202,7 @@ namespace bv { if (simplified) { result = m.mk_app(to_app(t)->get_decl(), m_args); + TRACE("bv", tout << mk_pp(t, m) << " -> " << result << "\n"); return true; }