]> git.unchartedbackwaters.co.uk Git - francis/stp.git/commitdiff
Only run the bvsolver if optimisations have been enabled. The bvsolver relies on...
authortrevor_hansen <trevor_hansen@e59a4935-1847-0410-ae03-e826735625c1>
Thu, 8 Jul 2010 05:14:38 +0000 (05:14 +0000)
committertrevor_hansen <trevor_hansen@e59a4935-1847-0410-ae03-e826735625c1>
Thu, 8 Jul 2010 05:14:38 +0000 (05:14 +0000)
git-svn-id: https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp@938 e59a4935-1847-0410-ae03-e826735625c1

src/STPManager/STP.cpp

index c3de82f4444ccfcc28cf6de47e94d0b8514d189a..036f30ce7dacd0744641fe33a2a727a9c16782a7 100644 (file)
@@ -116,7 +116,7 @@ namespace BEEV {
                              simplified_solved_InputToSAT);
           }
 
-        if(bm->UserFlags.wordlevel_solve_flag)
+        if(bm->UserFlags.wordlevel_solve_flag && bm->UserFlags.optimize_flag)
           {
             simplified_solved_InputToSAT = 
               bvsolver->TopLevelBVSolve(simplified_solved_InputToSAT);
@@ -171,7 +171,11 @@ namespace BEEV {
                              simplified_solved_InputToSAT);
           }
         
-        if(bm->UserFlags.wordlevel_solve_flag)
+        // The word level solver uses the simplifier to apply the rewrites it makes,
+        // without optimisations enabled. It will enter infinite loops on some input.
+        // Instead it could use the apply function of the substitution map, but it
+        // doesn't yet...
+        if(bm->UserFlags.wordlevel_solve_flag && bm->UserFlags.optimize_flag)
           {
             simplified_solved_InputToSAT = 
               bvsolver->TopLevelBVSolve(simplified_solved_InputToSAT);