Abstract
Though satisfactory in most situations, the fixed-precision floating-point formats that are available in hardware or software in our computers may sometimes prove insufficient. There are reasonably rare cases when the binary64/decimal64 or binary128/decimal128 floating-point numbers of the IEEE 754 standard are too crude as approximations of the real numbers. Also, at the time of writing these lines, the binary128 and decimal128 formats are very seldom implemented in hardware.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
To our knowledge, the only commercially significant platform that has supported binary128 in hardware for the last decade has been the IBM z Systems [387].
- 2.
- 3.
Of course, when we write x h + x ℓ , the addition symbol corresponds to the exact, mathematical addition.
- 4.
BLAS is an acronym for Basic Linear Algebra Subroutines.
- 5.
QD is available at http://crd-legacy.lbl.gov/~dhbailey/mpdist/.
- 6.
CAMPARY is available at http://homepages.laas.fr/mmjoldes/campary/.
- 7.
By the way, “correct rounding” is not clearly defined for double-words: Does this mean that we get the double-word closest to the exact value, or that we get the 2p-digit number closest to the exact value (if the underlying arithmetic is of precision p)? This can be quite different. For instance, in radix-2, precision-p arithmetic, the double-word closest to a = 2p + 2−p + 2−p−1 is a itself, whereas the precision-2p number closest to a is 2p + 2−p+1.
- 8.
Note that even if the general idea remains the same, the notion of overlap slightly changes depending on the authors!
- 9.
CRlibm was developed by the Arénaire/AriC team of CNRS, INRIA, UCBL and ENS Lyon, France. It is available at https://gforge.inria.fr/scm/browser.php?group_id=5929&extra=crlibm.
- 10.
INTLAB is the Matlab toolbox for self-validating algorithms; it is available at http://www.ti3.tu-harburg.de/rump/intlab/.
- 11.
Magma is available at http://magma.maths.usyd.edu.au/magma/.
- 12.
NTL is a library for performing number theory, available at http://www.shoup.net/ntl/.
- 13.
ARPREC is available at http://crd-legacy.lbl.gov/~dhbailey/mpdist/.
- 14.
GNU MP is available at https://gmplib.org/.
- 15.
MPFR is available at http://www.mpfr.org/.
- 16.
The minimum precision was initially chosen as 2 because the ties-to-even rule was not defined for precision 1 in IEEE 754. But since this case can occur in conversions to character strings, a complete definition has been proposed for the 2018 revision (see Section 3.1.2.1), and the minimum precision could be changed to 1 in MPFR, even though the context is different (there are no formats with 1-bit precision in IEEE 754).
- 17.
Application Binary Interface, which specifies the sizes of the scalar types, in particular.
- 18.
Fused multiply-subtract.
- 19.
Some linkers will include only unresolved symbols seen so far in the command line, and the requisite GMP symbols are known only after -lmpfr has been taken into account.
- 20.
This is how functions with a variable number of arguments are usually designed in C.
- 21.
This can easily be detected dynamically, and one can choose to stop the iterations when this is no longer true, as the enclosing interval gets too wide to provide any interesting information.
- 22.
The results are actually correctly rounded, so that even more precision may be needed, but the issue mainly comes from the accuracy requirement, and the future support for faithful arithmetic will not avoid it.
- 23.
Arb is available at http://arblib.org/.
- 24.
GNU MPC is available at http://www.multiprecision.org/mpc/.
- 25.
MPFI is available at https://gforge.inria.fr/projects/mpfi/.
- 26.
iRRAM is available at http://irram.uni-trier.de/.
References
D. H. Bailey. Some background on Kanada’s recent pi calculation. Technical report, Lawrence Berkeley National Laboratory, 2003. Available at http://crd.lbl.gov/~dhbailey/dhbpapers/dhb-kanada.pdf.
D. H. Bailey, R. Barrio, and J. M. Borwein. High precision computation: Mathematical physics and dynamics. Applied Mathematics and Computation, 218:10106–10121, 2012.
D. H. Bailey and J. M. Borwein. Experimental mathematics: examples, methods and implications. Notices of the AMS, 52(5):502–514, 2005.
D. H. Bailey, J. M. Borwein, P. B. Borwein, and S. Plouffe. The quest for pi. Mathematical Intelligencer, 19(1):50–57, 1997.
D. H. Bailey, Y. Hida, X. S. Li, and B. Thompson. ARPREC: an arbitrary precision computation package. Technical report, Lawrence Berkeley National Laboratory, 2002. Available at http://crd.lbl.gov/~dhbailey/dhbpapers/arprec.pdf.
D. J. Bernstein. Multidigit multiplication for mathematicians. Available at https://cr.yp.to/papers/m3.pdf, 2001.
S. Boldo, M. Joldeş, J.-M. Muller, and V. Popescu. Formal verification of a floating-point expansion renormalization algorithm. In 8th International Conference on Interactive Theorem Proving (ITP), Brasilia, Brazil, 2017.
J. Borwein and D. H. Bailey. Mathematics by Experiment: Plausible Reasoning in the 21st Century. A. K. Peters, Natick, MA, 2004.
W. Bosma, J. Cannon, and C. Playoust. The Magma algebra system. I. The user language. Journal of Symbolic Computation, 24(3–4):235–265, 1997.
R. P. Brent. A FORTRAN multiple-precision arithmetic package. ACM Transactions on Mathematical Software, 4(1):57–70, 1978.
R. P. Brent and P. Zimmermann. Modern Computer Arithmetic. Cambridge University Press, 2011.
K. Briggs. The doubledouble library, 1998. Available at http://www.boutell.com/fracster-src/doubledouble/doubledouble.html.
C. Daramy-Loirat, D. Defour, F. de Dinechin, M. Gallet, N. Gast, C. Q. Lauter, and J.-M. Muller. CR-LIBM, a library of correctly-rounded elementary functions in double-precision. Technical report, LIP Laboratory, Arenaire team, December 2006. Available at https://hal-ens-lyon.archives-ouvertes.fr/ensl-01529804.
M. Daumas and C. Finot. Division of floating point expansions with an application to the computation of a determinant. Journal of Universal Computer Science, 5(6):323–338, 1999.
F. de Dinechin, A. V. Ershov, and N. Gast. Towards the post-ultimate libm. In 17th IEEE Symposium on Computer Arithmetic (ARITH-17), pages 288–295, 2005.
F. de Dinechin, C. Q. Lauter, and J.-M. Muller. Fast and correctly rounded logarithms in double-precision. Theoretical Informatics and Applications, 41:85–102, 2007.
T. J. Dekker. A floating-point technique for extending the available precision. Numerische Mathematik, 18(3):224–242, 1971.
M. D. Ercegovac and T. Lang. Division and Square Root: Digit-Recurrence Algorithms and Implementations. Kluwer Academic Publishers, Boston, MA, 1994.
L. Fousse, G. Hanrot, V. Lefèvre, P. Pélissier, and P. Zimmermann. MPFR: A multiple-precision binary floating-point library with correct rounding. ACM Transactions on Mathematical Software, 33(2), 2007. 15 pages. Available at http://www.mpfr.org/.
M. Fürer. Faster integer multiplication. In 39th Annual ACM Symposium on Theory of Computing (STOC), pages 57–66, June 2007.
P. Gaudry, A. Kruppa, and P. Zimmermann. A GMP-based implementation of Schönhage-Strassen’s large integer multiplication algorithm. In International Symposium on Symbolic and Algebraic Computation (ISSAC), pages 167–174, Waterloo, ON, Canada, 2007.
T. Granlund. The GNU multiple precision arithmetic library, release 6.1.2. Accessible electronically at https://gmplib.org/, September 2016.
G. Hanrot, V. Lefèvre, P. Pélissier, P. Théveny, and P. Zimmermann. The MPFR library, version 3.1.5, 2016. Available at http://www.mpfr.org/mpfr-3.1.5/.
G. Hanrot and P. Zimmermann. A long note on Mulders’ short product. Journal of Symbolic Computation, 37(3):391–401, 2004.
D. Harvey, J. van der Hoeven, and G. Lecerf. Even faster integer multiplication. Journal of Complexity, 36:1–30, 2016.
Y. Hida, X. S. Li, and D. H. Bailey. Algorithms for quad-double precision floating-point arithmetic. In 15th IEEE Symposium on Computer Arithmetic (ARITH-15), pages 155–162, June 2001.
Y. Hida, X. S. Li, and D. H. Bailey. C++/fortran-90 double-double and quad-double package, release 2.3.17, March 2012. Accessible electronically at http://crd-legacy.lbl.gov/~dhbailey/mpdist/.
IEEE Computer Society. IEEE Standard for Floating-Point Arithmetic. IEEE Standard 754-2008, August 2008. Available at http://ieeexplore.ieee.org/servlet/opac?punumber=4610933.
F. Johansson. Arb: a C library for ball arithmetic. ACM Communications in Computer Algebra, 47(4):166–169, 2013.
M. Joldeş, J.-M. Muller, and V. Popescu. Tight and rigourous error bounds for basic building blocks of double-word arithmetic. ACM Transactions on Mathematical Software, 44(2), 2017.
M. Joldeş, J.-M. Muller, V. Popescu, and W. Tucker. CAMPARY: Cuda multiple precision arithmetic library and applications. In 5th International Congress on Mathematical Software (ICMS), July 2016.
M. Joldeş, O. Marty, J.-M. Muller, and V. Popescu. Arithmetic algorithms for extended precision using floating-point expansions. IEEE Transactions on Computers, 65(4):1197–1210, 2016.
A. Karatsuba and Y. Ofman. Multiplication of many-digital numbers by automatic computers. Doklady Akad. Nauk SSSR, 145:293–294, 1962. Translation in Physics-Doklady 7, 595–596, 1963.
P. Kornerup, C. Lauter, V. Lefèvre, N. Louvet, and J.-M. Muller. Computing correctly rounded integer powers in floating-point arithmetic. ACM Transactions on Mathematical Software, 37(1):4:1–4:23, 2010.
W. Krandick and J. R. Johnson. Efficient multiprecision floating point multiplication with optimal directional rounding. In 11th IEEE Symposium on Computer Arithmetic (ARITH-11), pages 228–233, June 1993.
M. Lange and S. M. Rump. Faithfully rounded floating-point computations. Manuscript available at http://www.ti3.tu-harburg.de/rump/, 2017.
C. Q. Lauter. Basic building blocks for a triple-double intermediate format. Technical Report 2005-38, LIP, École Normale Supérieure de Lyon, September 2005.
C. Q. Lauter. Arrondi Correct de Fonctions Mathématiques. Ph.D. thesis, École Normale Supérieure de Lyon, Lyon, France, October 2008. In French, available at http://www.ens-lyon.fr/LIP/Pub/Rapports/PhD/PhD2008/PhD2008-07.pdf.
V. Lefèvre. Correctly rounded arbitrary-precision floating-point summation. IEEE Transactions on Computers, 66(12):2111–2124, 2017.
V. Lefèvre and P. Zimmermann. Optimized binary64 and binary128 arithmetic with GNU MPFR. In 24th IEEE Symposium on Computer Arithmetic (ARITH-24), July 2017.
X. Li, J. Demmel, D. H. Bailey, G. Henry, Y. Hida, J. Iskandar, W. Kahan, A. Kapur, M. Martin, T. Tung, and D. J. Yoo. Design, implementation and testing of extended and mixed precision BLAS. Technical Report 45991, Lawrence Berkeley National Laboratory, 2000. https://publications.lbl.gov/islandora/object/ir%3A115848.
X. Li, J. Demmel, D. H. Bailey, G. Henry, Y. Hida, J. Iskandar, W. Kahan, A. Kapur, M. Martin, T. Tung, and D. J. Yoo. Design, implementation and testing of extended and mixed precision BLAS. ACM Transactions on Mathematical Software, 28(2):152–205, 2002.
C. Lichtenau, S. Carlough, and S. M. Mueller. Quad precision floating point on the IBM z13TM. 23rd IEEE Symposium on Computer Arithmetic (ARITH-23), pages 87–94, 2016.
T. Mulders. On short multiplications and divisions. Applicable Algebra in Engineering, Communication and Computing, 11(1):69–88, 2000.
J.-M. Muller, V. Popescu, and P. T. P. Tang. A new multiplication algorithm for extended precision using floating-point expansions. In 23nd IEEE Symposium on Computer Arithmetic (ARITH-23), pages 39–46, July 2016.
P. Pélissier and P. Zimmermann. The DPE library. Available at http://www.loria.fr/~zimmerma/free/dpe-1.4.tar.gz.
S. Pion. De la Géométrie Algorithmique au Calcul Géométrique. Ph.D. thesis, Université de Nice Sophia-Antipolis, France, November 1999. In French.
V. Popescu. Towards fast and certified multiple-precision libraries. Ph.D. thesis, Université de Lyon, 2017. Available at https://hal.archives-ouvertes.fr/tel-01534090.
D. M. Priest. Algorithms for arbitrary precision floating point arithmetic. In 10th IEEE Symposium on Computer Arithmetic (ARITH-10), pages 132–143, June 1991.
D. M. Priest. On Properties of Floating-Point Arithmetics: Numerical Stability and the Cost of Accurate Computations. Ph.D. thesis, University of California at Berkeley, 1992.
S. M. Rump. Ultimately fast accurate summation. SIAM Journal on Scientific Computing, 31(5):3466–3502, 2009.
S. M. Rump, T. Ogita, and S. Oishi. Accurate floating-point summation part I: Faithful rounding. SIAM Journal on Scientific Computing, 31(1):189–224, 2008.
E. Salamin. Computation of π using arithmetic-geometric mean. Mathematics of Computation, 30:565–570, 1976.
A. Schönhage. Schnelle Berechnung von Kettenbruchentwicklungen. Acta Informatica, 1:139–144, 1971. In German.
A. Schönhage, A. F. W. Grotefeld, and E. Vetter. Fast algorithms: a Multitape Turing Machine Implementation. Bibliographisches Institut, Mannheim, 1994.
A. Schönhage and V. Strassen. Schnelle Multiplikation grosser Zahlen. Computing, 7:281–292, 1971. In German.
J. R. Shewchuk. Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete Computational Geometry, 18:305–363, 1997.
V. Shoup. NTL, a library for doing number theory, version 10.5.0. http://shoup.net/ntl/, 2017.
A. L. Toom. The complexity of a scheme of functional elements realizing the multiplication of integers. Soviet Mathematics Doklady, 3:714–716, 1963.
D. Zuras. More on squaring and multiplying large integers. IEEE Transactions on Computers, 43(8):899–908, 1994.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
Cite this chapter
Muller, JM. et al. (2018). Extending the Precision. In: Handbook of Floating-Point Arithmetic. Birkhäuser, Cham. https://doi.org/10.1007/978-3-319-76526-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-76526-6_14
Published:
Publisher Name: Birkhäuser, Cham
Print ISBN: 978-3-319-76525-9
Online ISBN: 978-3-319-76526-6
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)