diff options
author | Checkmate50 <dgeisler50@gmail.com> | 2016-06-06 21:09:06 -0600 |
---|---|---|
committer | Checkmate50 <dgeisler50@gmail.com> | 2016-06-06 21:09:06 -0600 |
commit | 5cff8cd77c629ec8e48a2498b1e704173306586a (patch) | |
tree | 8ab0b6fbda08b12e9b2635efdb5806371197c58c /Test/floats/float13.bpl | |
parent | c19c2495497d0dfa7aaf871cf833cd5e5f986d33 (diff) |
finished testing, fixed several minor compiler bugs
Diffstat (limited to 'Test/floats/float13.bpl')
-rw-r--r-- | Test/floats/float13.bpl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Test/floats/float13.bpl b/Test/floats/float13.bpl new file mode 100644 index 00000000..4fe25140 --- /dev/null +++ b/Test/floats/float13.bpl @@ -0,0 +1,23 @@ +// RUN: %boogie -proverWarnings:1 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" + +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 : float64; + + havoc x; + assume(x >= TO_FLOAT64_INT(0) && x <= TO_FLOAT64_INT(10)); + + y := x*x - x; + if (y >= TO_FLOAT64_INT(0)) { + y := x / TO_FLOAT64_INT(10); + } + else { + y := x*x + TO_FLOAT64_INT(2); + } + + assert(y >= TO_FLOAT64_INT(0) && y <= TO_FLOAT64_INT(105)); +}
\ No newline at end of file |