summaryrefslogtreecommitdiff
path: root/Test/floats/float18.bpl
diff options
context:
space:
mode:
Diffstat (limited to 'Test/floats/float18.bpl')
-rw-r--r--Test/floats/float18.bpl16
1 files changed, 16 insertions, 0 deletions
diff --git a/Test/floats/float18.bpl b/Test/floats/float18.bpl
new file mode 100644
index 00000000..7e78e206
--- /dev/null
+++ b/Test/floats/float18.bpl
@@ -0,0 +1,16 @@
+//Translation from float_double.c
+//Should Verify
+
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_FLOAT32(float32) returns (float64);
+function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_FLOAT64(float64) returns (float32);
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_INT(int) returns (float64);
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_REAL(real) returns (float64);
+
+procedure main() returns () {
+ var x : float64;
+ var y : float32;
+
+ x := TO_FLOAT64_REAL(1e20)+TO_FLOAT64_INT(1);
+ y := TO_FLOAT32_FLOAT64(x);
+ assert x != TO_FLOAT64_FLOAT32(y);
+} \ No newline at end of file