summaryrefslogtreecommitdiff
path: root/Test/floats/float6.bpl
diff options
context:
space:
mode:
Diffstat (limited to 'Test/floats/float6.bpl')
-rw-r--r--Test/floats/float6.bpl78
1 files changed, 29 insertions, 49 deletions
diff --git a/Test/floats/float6.bpl b/Test/floats/float6.bpl
index fe0eab0e..fecf0385 100644
--- a/Test/floats/float6.bpl
+++ b/Test/floats/float6.bpl
@@ -1,50 +1,30 @@
-// RUN: %boogie -proverWarnings:1 "%s" > "%t"
-// RUN: %diff "%s.expect" "%t"
-
-function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT824_INT(int) returns (float<8, 24>);
-function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT824_REAL(real) returns (float<8, 24>);
-function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT824_BV32(bv32) returns (float<8, 24>);
-function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT1153_BV64(bv64) returns (float<11, 53>);
-function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT824_FLOAT32(float32) returns (float<8, 24>); //Should just be an identity function
-function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_FLOAT824(float<8, 24>) returns (float32); //Should just be an identity function
-function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_FLOAT64(float64) returns (float32);
-function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_FLOAT32(float32) returns (float64);
-
-procedure main() returns () {
- var i : int;
- var r : real;
- var f824 : float<8, 24>;
- var f32 : float32;
- var f1153 : float<11, 53>;
- var f64 : float64;
-
- f824 := TO_FLOAT824_INT(5);
- f32 := TO_FLOAT824_INT(5);
- f824 := TO_FLOAT824_REAL(5.0);
- f32 := TO_FLOAT824_REAL(5.0);
-
- f824 := TO_FLOAT824_BV32(0bv32);
- f32 := TO_FLOAT824_BV32(0bv32);
- f1153 := TO_FLOAT1153_BV64(0bv64);
- f64 := TO_FLOAT1153_BV64(0bv64);
-
- f824 := TO_FLOAT824_FLOAT32(fp<8, 24>(0bv32));
- f32 := TO_FLOAT32_FLOAT824(fp<8, 24>(0bv32));
- f824 := TO_FLOAT32_FLOAT64(fp<11, 53>(0bv32));
- f32 := TO_FLOAT32_FLOAT64(fp<11, 53>(0bv32));
- f1153 := TO_FLOAT64_FLOAT32(fp<8, 24>(0bv32));
- f64 := TO_FLOAT64_FLOAT32(fp<8, 24>(0bv32));
-
- f824 := TO_FLOAT824_INT(5);
- f32 := TO_FLOAT32_FLOAT824(f824);
- assert(f32 == f824);
-
- f32 := TO_FLOAT824_INT(5);
- f824 := TO_FLOAT824_FLOAT32(f32);
- assert(f32 == f824);
-
- f32 := TO_FLOAT32_FLOAT64(f64);
- f64 := TO_FLOAT64_FLOAT32(f32);
-
- return;
+// RUN: %boogie -proverWarnings:1 "%s" > "%t"
+// RUN: %diff "%s.expect" "%t"
+
+function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_INT(int) returns (float24e8);
+function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_REAL(real) returns (float24e8);
+function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_BV32(bv32) returns (float24e8);
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_BV64(bv64) returns (float53e11);
+function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT32_FLOAT64(float53e11) returns (float24e8);
+function {:builtin "(_ to_fp 11 53) RNE"} TO_FLOAT64_FLOAT32(float24e8) returns (float53e11);
+
+procedure main() returns () {
+ var i : int;
+ var r : real;
+ var f32 : float24e8;
+ var f64 : float53e11;
+
+ f32 := TO_FLOAT32_INT(5);
+ f32 := TO_FLOAT32_REAL(5.0);
+
+ f32 := TO_FLOAT32_BV32(0bv32);
+ f64 := TO_FLOAT64_BV64(0bv64);
+
+ f32 := TO_FLOAT32_FLOAT64(0e0f53e11);
+ f64 := TO_FLOAT64_FLOAT32(0e0f24e8);
+
+ f32 := TO_FLOAT32_FLOAT64(f64);
+ f64 := TO_FLOAT64_FLOAT32(f32);
+
+ return;
} \ No newline at end of file