}
hash_set<TNode, TNodeHashFunction> s;
+ Trace("debugging") << "NonClausal simplify pre-preprocess\n";
for (unsigned i = 0; i < d_assertionsToPreprocess.size(); ++ i) {
Node assertion = d_assertionsToPreprocess[i];
Node assertionNew = d_topLevelSubstitutions.apply(assertion);
+ Trace("debugging") << "assertion = " << assertion << endl;
+ Trace("debugging") << "assertionNew = " << assertionNew << endl;
if (assertion != assertionNew) {
assertion = Rewriter::rewrite(assertionNew);
+ Trace("debugging") << "rewrite(assertion) = " << assertion << endl;
}
Assert(Rewriter::rewrite(assertion) == assertion);
for (;;) {
break;
}
++d_smt.d_stats->d_numConstantProps;
+ Trace("debugging") << "assertionNew = " << assertionNew << endl;
assertion = Rewriter::rewrite(assertionNew);
+ Trace("debugging") << "assertionNew = " << assertionNew << endl;
}
+ Trace("debugging") << "\n";
s.insert(assertion);
d_assertionsToCheck.push_back(assertion);
Trace("simplify") << "SmtEnginePrivate::nonClausalSimplify(): "
Node TheoryBV::ppRewrite(TNode t)
{
- // if (RewriteRule<BitwiseEq>::applies(t)) {
- // Node result = RewriteRule<BitwiseEq>::run<false>(t);
- // return Rewriter::rewrite(result);
- // }
+ if (RewriteRule<BitwiseEq>::applies(t)) {
+ Node result = RewriteRule<BitwiseEq>::run<false>(t);
+ return Rewriter::rewrite(result);
+ }
- if (/*options::bitvectorCoreSolver() && */t.getKind() == kind::EQUAL) {
+ if (options::bitvectorCoreSolver() && t.getKind() == kind::EQUAL) {
std::vector<Node> equalities;
Slicer::splitEqualities(t, equalities);
return utils::mkAnd(equalities);