From e5e33a2de5419da0d9e43746871224eeb48bd5ed Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Mon, 17 Nov 2014 09:33:55 -0500 Subject: [PATCH] Short-circuit in TheoryArithPrivate::check(), care of Tim. --- src/theory/arith/theory_arith_private.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/theory/arith/theory_arith_private.cpp b/src/theory/arith/theory_arith_private.cpp index d6537c562..c8e7991a5 100644 --- a/src/theory/arith/theory_arith_private.cpp +++ b/src/theory/arith/theory_arith_private.cpp @@ -3346,6 +3346,11 @@ bool TheoryArithPrivate::hasFreshArithLiteral(Node n) const{ void TheoryArithPrivate::check(Theory::Effort effortLevel){ Assert(d_currentPropagationList.empty()); + + if(done() && !Theory::fullEffort(effortLevel) && ( d_qflraStatus == Result::SAT) ){ + return; + } + TimerStat::CodeTimer checkTimer(d_containing.d_checkTime); //cout << "TheoryArithPrivate::check " << effortLevel << std::endl; Debug("effortlevel") << "TheoryArithPrivate::check " << effortLevel << std::endl; -- 2.30.2