When double rounding is odd
نویسندگان
چکیده
Many general purpose processors (including Intel’s) may not always produce the correctly rounded result of a floating-point operation due to double rounding. Instead of rounding the value to the working precision, the value is first rounded in an intermediate extended precision and then rounded in the working precision; this often means a loss of accuracy. We suggest the use of rounding to odd as the first rounding in order to regain this accuracy: we prove that the double rounding then gives the correct rounding to the nearest value. To increase the trust on this result, as this rounding is unusual and this property is surprising, we formally proved this property using the Coq automatic proof checker. Keywords—Floating-point, double rounding, formal proof, Coq.
منابع مشابه
Some issues related to double rounding
Double rounding is a phenomenon that may occur when different floatingpoint precisions are available on the same system. Although double rounding is, in general, innocuous, it may change the behavior of some useful small floating-point algorithms. We analyze the potential influence of double rounding on the Fast2Sum and 2Sum algorithms, on some summation algorithms, and Veltkamp’s splitting.
متن کاملSome issues related to double roundings
Double rounding is a phenomenon that may occur when different floatingpoint precisions are available on the same system. Although double rounding is, in general, innocuous, it may change the behavior of some useful small floating-point algorithms. We analyze the potential influence of double rounding on the Fast2Sum and 2Sum algorithms, on some summation algorithms, and Veltkamp’s splitting.
متن کاملEmulation of FMA and correctly-rounded sums: proved algorithms using rounding to odd
Rounding to odd is a non-standard rounding on floating-point numbers. By using it for some intermediate values instead of rounding to nearest, correctly rounded results can be obtained at the end of computations. We present an algorithm for emulating the fused multiply-and-add operator. We also present an iterative algorithm for computing the correctly rounded sum of a set floating-point number...
متن کاملAn efficient rounding boundary test for pow(x,y) in double precision
The correct rounding of the function pow : (x, y) 7→ x is currently based on Ziv’s iterative approximation process. In order to ensure its termination, cases when x falls on a rounding boundary must be filtered out. Such rounding boundaries are floating-point numbers and midpoints between two consecutive floating-point numbers. Detecting rounding boundaries for pow is a difficult problem. Previ...
متن کاملRandomized Rounding Algorithms for Symmetric TSP 12 - 3 12 . 2 Good Edges , Random Spanning Trees and T - join Polytope
We defined the symmetric TSP in lecture 6. The best known approximation algorithm for STSP is the 3/2 approximation algorithm of Christofides. The algorithm is very easy to describe, first choose a minimum cost spanning tree and then add that minimum cost Eulerian augmentation to the tree, that is the minimum cost set of edges to make the tree Eulerian. An undirected graph is Eulerian when ever...
متن کامل