2015
DOI: 10.1007/978-3-319-25423-4_2
|View full text |Cite
|
Sign up to set email alerts
|

Formal Verification of Programs Computing the Floating-Point Average

Abstract: The most well-known feature of floating-point arithmetic is the limited precision, which creates round-off errors and inaccuracies. Another important issue is the limited range, which creates underflow and overflow, even if this topic is dismissed most of the time. This article shows a very simple example: the average of two floating-point numbers. As we want to take exceptional behaviors into account, we cannot use the naive formula (x+y)/2. Based on hints given by Sterbenz, we first write an accurate program… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2

Citation Types

0
4
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
3
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 10 publications
0
4
0
Order By: Relevance
“…Moreover, our algorithm still works for any even radix. The algorithm provided by Boldo [12] for the radix-2 case exploits the fact that there is a division by 2 in the average computation. We think it is possible to provide a similar correct algorithm to compute x+y 10 in radix-10 arithmetic, or more generally x+y β with an even radix β.…”
Section: Discussionmentioning
confidence: 99%
See 3 more Smart Citations
“…Moreover, our algorithm still works for any even radix. The algorithm provided by Boldo [12] for the radix-2 case exploits the fact that there is a division by 2 in the average computation. We think it is possible to provide a similar correct algorithm to compute x+y 10 in radix-10 arithmetic, or more generally x+y β with an even radix β.…”
Section: Discussionmentioning
confidence: 99%
“…In the case of our decimal average, we could have written a C program, but we could not have formally certified it. There are available tools to formally verify C programs, such as Frama-C and Why3 [20], [21] that were used for the radix-2 average algorithm [12]. However, they do not support decimal arithmetic.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations