Assumes you have downloaded the testcases as follows:
-svn co https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/stp-tests/test
+svn co https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/stp-tests
make regresssmt
ASTVec writeIndices, writeValues;
unsigned int width = term.GetValueWidth();
+ ASTNode original_write = term[0];
ASTNode write = term[0];
unsigned indexwidth = write.GetIndexWidth();
ASTNode readIndex = SimplifyTerm(term[1]);
ASTVec::reverse_iterator itend_values = writeValues.rend();
// May be a symbol, or an ITE.
-
for (; it_index != itend_index; it_index++, it_values++)
{
write = _bm->CreateTerm(WRITE, width, write, *it_index, *it_values);
}
output = _bm->CreateTerm(READ, width, write, readIndex);
+ assert(BVTypeCheck(output));
+ if(ITE == write.GetKind())
+ {
+ output = SimplifyTerm(output, VarConstMap);
+ }
+
+ //UpdateSimplifyMap(original_write, write, false);
UpdateSimplifyMap(term, output, false);
return output;
} //end of SimplifyWrites_In_Place()