Synchronizing clocks in the presence of faults
Journal of the ACM (JACM)
Formal verification of algorithms for critical systems
SIGSOFT '91 Proceedings of the conference on Software for citical systems
Software for Doubled-Precision Floating-Point Computations
ACM Transactions on Mathematical Software (TOMS)
A Mechanically Checked Proof of Correctness of the AMD K5 Floating Point Square Root Microcode
Formal Methods in System Design
Formal Verification of Floating Point Trigonometric Functions
FMCAD '00 Proceedings of the Third International Conference on Formal Methods in Computer-Aided Design
Verifying the Accuracy of Polynomial Approximations in HOL
TPHOLs '97 Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics
A Machine-Checked Theory of Floating Point Arithmetic
TPHOLs '99 Proceedings of the 12th International Conference on Theorem Proving in Higher Order Logics
A Generic Library for Floating-Point Numbers and Its Application to Exact Computing
TPHOLs '01 Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
Representable Correcting Terms for Possibly Underflowing Floating Point Operations
ARITH '03 Proceedings of the 16th IEEE Symposium on Computer Arithmetic (ARITH-16'03)
SIAM Journal on Scientific Computing
Combining Coq and Gappa for Certifying Floating-Point Programs
Calculemus '09/MKM '09 Proceedings of the 16th Symposium, 8th International Conference. Held as Part of CICM '09 on Intelligent Computer Mathematics
Hi-index | 0.00 |
Some floating-point algorithms have been used for decades and proved decades ago in radix-2, providing neither Underflow, nor Overflow occurs. This includes the Veltkamp algorithm, used to split a float into an upper part and a lower part and the Dekker algorithm, used to compute the exact error of a floating-point multiplication. The aim of this article is to show the difficulties of a strong justification of the validity of these algorithms for a generic radix and even when Underflow or Overflow occurs. These cases are usually dismissed even if they should not: the main argument in radix 2 of the first algorithm fails in other radices. Nevertheless all results still hold here under mild assumptions. The proof path is interesting as these cases are hardly looked into and new methods and results had to be developed.