diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-03-07 18:13:07 +0100 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-04-25 09:55:41 +0200 |
commit | cb635eab423cde23757725593ffdfb98f4016881 (patch) | |
tree | b8f3cec14c97d50b380cc2f2200d5f92080383c6 /engine | |
parent | 1d74bcaa92e439ec0621b29900e42bf7a6fc5309 (diff) |
Fix an optimization failure in tclPROGRESS.
Due to code reworking, a fastpath got anihilated because the slow path
was computed altogether. We now only compute the slow check whenever the
quick one fails.
Diffstat (limited to 'engine')
-rw-r--r-- | engine/proofview.ml | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/engine/proofview.ml b/engine/proofview.ml index c01879765..2e6266cf1 100644 --- a/engine/proofview.ml +++ b/engine/proofview.ml @@ -828,14 +828,12 @@ let tclPROGRESS t = let quick_test = initial.solution == final.solution && initial.comb == final.comb in - let exhaustive_test = + let test = + quick_test || Util.List.for_all2eq begin fun i f -> Progress.goal_equal initial.solution i final.solution f end initial.comb final.comb in - let test = - quick_test || exhaustive_test - in if not test then tclUNIT res else |