summaryrefslogtreecommitdiff
path: root/Test/floats/float12.bpl
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@mit.edu>2016-10-29 17:40:45 -0400
committerGravatar Benjamin Barenblat <bbaren@mit.edu>2016-10-29 17:40:45 -0400
commit77123528a64dd438a31a29f8f589904d71e668e9 (patch)
treec4c49a3a17e170f69f0785996987770f4cf1ad3b /Test/floats/float12.bpl
parent54b058e054efe8348f8fa3d99ed5992807e28d81 (diff)
parent1f2d6c15cc587e9e1b91be70186ee9a26d5e1928 (diff)
Merge branch 'dfsg_free'
Diffstat (limited to 'Test/floats/float12.bpl')
-rw-r--r--Test/floats/float12.bpl16
1 files changed, 16 insertions, 0 deletions
diff --git a/Test/floats/float12.bpl b/Test/floats/float12.bpl
new file mode 100644
index 00000000..914286bb
--- /dev/null
+++ b/Test/floats/float12.bpl
@@ -0,0 +1,16 @@
+// RUN: %boogie -proverWarnings:1 "%s" > "%t"
+// RUN: %diff "%s.expect" "%t"
+
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_FLOAT32(float24e8) returns (float53e11);
+function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_FLOAT64(float53e11) returns (float24e8);
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_INT(int) returns (float53e11);
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_REAL(real) returns (float53e11);
+
+procedure main() returns () {
+ var x : float53e11;
+ var y : float24e8;
+
+ 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