git-svn-id: https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp@1204
e59a4935-1847-0410-ae03-
e826735625c1
switch (kind)
{
case BEEV::ITE:
+ {
if (children[0]== ASTTrue)
result = children[1];
- if (children[0]== ASTFalse)
+ else if (children[0]== ASTFalse)
result = children[2];
-
-
+ else if (children[1] == children[2])
+ result = children[1];
+ break;
+ }
case BEEV::BVNEG:
{
break;
default: // quieten compiler.
break;
-
}
}
- break;
+ break;
default: // quieten compiler.
break;
-
}
if (result.IsNull())
result = hashing.CreateTerm(kind, width, children);
return result;
-
}
bool optimize_enabled = bm->UserFlags.optimize_flag;
- if (final_difficulty_score > 1.1 *initial_difficulty_score && !arrayops)
+ if (final_difficulty_score > 1.1 *initial_difficulty_score && !arrayops && bm->UserFlags.isSet("difficulty-reversion","1"))
{
// If the simplified problem is harder, than the
// initial problem we revert back to the initial