Presentation is loading. Please wait.

Presentation is loading. Please wait.

A generic library for floating-point numbers and its application to exact computing Marc Daumas, Laurence Rideau, Laurent Théry TPHOLs’2001.

Similar presentations


Presentation on theme: "A generic library for floating-point numbers and its application to exact computing Marc Daumas, Laurence Rideau, Laurent Théry TPHOLs’2001."— Presentation transcript:

1 A generic library for floating-point numbers and its application to exact computing Marc Daumas, Laurence Rideau, Laurent Théry TPHOLs’2001

2 Motivations n Applying theorem proving (AOC) n Scientific computing n Standard (IEEE 754) n New results n Checking proofs

3 Related Works n PVS: Miner (IEEE 784) n ACL2: Russinoff (IEEE 754) n HOL: Harrison (IEEE 754)

4 Outline n Floating-point numbers n Formalization n Simple program verification n Expansion

5 -0.002300 E- 99 ExponentMantissaPrecision 8.676600 E+ 20 Floating-point numbers Normal: Subnormal: 8.676600 E+ 20 Canonic

6 Rounding 0

7 Formalization: float Arbitrary base:  nat n New type: float n Abstract representation:  n,p  n  p FtoR

8 Formalization: float n Bias: n Non-Unicity:  867660,15  Projectors:  n[p], e[p] n Equality: p = q Order: p  q 8.676600 E+20  86766,16 

9 Formalization: float n Zero:  0,0  n One:  1,0  Addition:  n[p]  +n[q] ,u  where u=min(e[p],e[q]) Multiplication:  n[p]  n[q],e[p]+e[q]  e[p]-ue[q]-u

10 Bounded n Arbitrary bound: b (N[b],E[b]) n Bounded float: n Restricted quantification bounded float

11 Rounding n Predicate: R(r,p) n Total: n Compatible: n Monotone: n Min or Max:

12 Proof Sterbenz:

13 Theorem n n n 1.00 E+9 and 1.11 E+10 Dekker

14 Example X := 1.0; Y := 1.0 while (X+1.0)-X=1.0 do X:=X*2.0 while (X+Y)-X<>Y do Y:=Y+1.0 Y=2 Y=10

15 First Loop while (X+1.0)-X=1.0 do X:=X*2.0 ,0  5121248163264128256  102,1  0

16 Second Loop while (X+Y)-X<>Y do Y:=Y+1.0 

17 Formal Proof n Direct n General Statement n Arbitrary base n Arbitrary format n Arbitrary rounding

18 Exact computing n Rounding errors n Basic operations n Applications a b abab 

19 Expansion n List: n Non-overlapping: n Sorted 11001111101 10011010000

20 Building an expansion 10111100011100000000000000001111 101111 111000 111100

21 Adding a float to an expansion... f

22 Adding two expansions...

23 Library n 20000 Lines n 90 Definitions n 780 Theorems

24 Conclusions n Generic Library n Precise Statements n Checking Proofs


Download ppt "A generic library for floating-point numbers and its application to exact computing Marc Daumas, Laurence Rideau, Laurent Théry TPHOLs’2001."

Similar presentations


Ads by Google