3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-23 16:57:51 +00:00

update debugging information for new core

This commit is contained in:
Nikolaj Bjorner 2022-10-21 15:24:44 -07:00
parent ad5fa9433f
commit 53adc2afee
2 changed files with 13 additions and 33 deletions

View file

@ -287,17 +287,20 @@ namespace euf {
nodes.push_back(n);
for (unsigned i = 0; i < nodes.size(); ++i) {
euf::enode* r = nodes[i];
if (r->is_marked1())
if (!r || r->is_marked1())
continue;
r->mark1();
for (auto* arg : euf::enode_args(r))
nodes.push_back(arg);
if (is_app(r->get_expr()))
for (auto* arg : *r->get_app())
nodes.push_back(get_enode(arg));
expr_ref val = mdl(r->get_expr());
expr_ref sval(m);
th_rewriter rw(m);
rw(val, sval);
expr_ref mval = mdl(r->get_root()->get_expr());
if (mval != sval) {
if (r->bool_var() != sat::null_bool_var)
out << "b" << r->bool_var() << " ";
out << bpp(r) << " :=\neval: " << sval << "\nmval: " << mval << "\n";
continue;
}
@ -309,7 +312,8 @@ namespace euf {
out << bpp(r) << " :=\neval: " << sval << "\nmval: " << bval << "\n";
}
for (euf::enode* r : nodes)
r->unmark1();
if (r)
r->unmark1();
out << mdl << "\n";
}