aboutsummaryrefslogtreecommitdiffhomepage
path: root/engine
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-03-07 18:13:07 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-04-25 09:55:41 +0200
commitcb635eab423cde23757725593ffdfb98f4016881 (patch)
treeb8f3cec14c97d50b380cc2f2200d5f92080383c6 /engine
parent1d74bcaa92e439ec0621b29900e42bf7a6fc5309 (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.ml6
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