Title :
Kahan´s Algorithm for a Correct Discriminant Computation at Last Formally Proven
Author_Institution :
INRIA Saclay-lle-de-France, Pare Orsay Univ.-ZAC des Vignes, Orsay
Abstract :
This article tackles Kahan´s algorithm to compute accurately the discriminant. This is a known difficult problem, and this algorithm leads to an error bounded by 2 ulps of the floating-point result. The proofs involved are long and tricky and even trickier than expected as the test involved may give a result different from the result of the same test without rounding. We give here the total demonstration of the validity of this algorithm, and we provide sufficient conditions to guarantee that neither overflow nor underflow will jeopardize the result. The IEEE-754 double-precision program is annotated using the Why platform and the proof obligations are done using the Coq automatic proof checker.
Keywords :
floating point arithmetic; Coq automatic proof checker; IEEE-754 double-precision program; Kahan algorithm; Why platform; correct discriminant computation; floating-point result; Drag; Error correction; Floating-point arithmetic; Linear systems; Mechanical systems; Programming profession; Roundoff errors; Springs; Sufficient conditions; Testing; Computer arithmetic; Coq.; Floating point; Formal methods; Verification; Why platform; discriminant; formal proof;
Journal_Title :
Computers, IEEE Transactions on
DOI :
10.1109/TC.2008.200