From c33bc2c8be5ebc318372108cb6980fb5c4154ec8 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Wed, 18 Dec 2024 09:50:50 +0000 Subject: [PATCH] expr_abstract: save 1 hashtable lookup per app argument when we already know that the app is missing one arg to rewrite --- src/ast/expr_abstract.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ast/expr_abstract.cpp b/src/ast/expr_abstract.cpp index d4dd8805f..d6593a2a3 100644 --- a/src/ast/expr_abstract.cpp +++ b/src/ast/expr_abstract.cpp @@ -58,7 +58,7 @@ void expr_abstractor::operator()(unsigned base, unsigned num_bound, expr* const* bool changed = false; m_args.reset(); for (unsigned i = 0, e = a->get_num_args(); i < e; ++i) { - if (!m_map.find(a->get_arg(i), b)) { + if (!all_visited || !m_map.find(a->get_arg(i), b)) { m_stack.push_back(a->get_arg(i)); all_visited = false; }