summaryrefslogtreecommitdiff
path: root/Test/floats/test13.bpl
diff options
context:
space:
mode:
Diffstat (limited to 'Test/floats/test13.bpl')
-rw-r--r--Test/floats/test13.bpl19
1 files changed, 19 insertions, 0 deletions
diff --git a/Test/floats/test13.bpl b/Test/floats/test13.bpl
new file mode 100644
index 00000000..e5402539
--- /dev/null
+++ b/Test/floats/test13.bpl
@@ -0,0 +1,19 @@
+//Translation from inv_square_false-unreach-call.c
+//Should return an error (without crashing)
+
+function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_INT(int) returns (float32);
+
+procedure main() returns () {
+ var x : float32;
+ var y : float32;
+ var z : float32;
+
+ havoc x;
+ assume(x >= TO_FLOAT32_INT(-1) && x <= TO_FLOAT32_INT(1));
+
+ if (x != TO_FLOAT32_INT(0)) {
+ y := x * x;
+ assert(y != TO_FLOAT32_INT(0));
+ z := TO_FLOAT32_INT(1) / y;
+ }
+} \ No newline at end of file