aboutsummaryrefslogtreecommitdiff
path: root/test-suite/complexity
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/complexity')
-rw-r--r--test-suite/complexity/guard.v17
1 files changed, 17 insertions, 0 deletions
diff --git a/test-suite/complexity/guard.v b/test-suite/complexity/guard.v
new file mode 100644
index 0000000000..f64ffc2598
--- /dev/null
+++ b/test-suite/complexity/guard.v
@@ -0,0 +1,17 @@
+(* Examples to check that the guard condition does not unfold
+ irrelevant subterms *)
+(* Expected time < 1s *)
+Require Import Bool.
+
+Fixpoint slow n :=
+ match n with
+ | 0 => true
+ | S k => andb (slow k) (slow k)
+ end.
+
+Timeout 5 Time Fixpoint F n :=
+ match n with
+ | 0 => 0
+ | S k =>
+ if slow 100 then F k else 0
+ end.