Advertisement

Extending the Precision

  • Jean-Michel Muller
  • Nicolas Brunie
  • Florent de Dinechin
  • Claude-Pierre Jeannerod
  • Mioara Joldes
  • Vincent Lefèvre
  • Guillaume Melquiond
  • Nathalie Revol
  • Serge Torres
Chapter

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.

References

  1. [25]
    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.
  2. [26]
    D. H. Bailey, R. Barrio, and J. M. Borwein. High precision computation: Mathematical physics and dynamics. Applied Mathematics and Computation, 218:10106–10121, 2012.MathSciNetCrossRefGoogle Scholar
  3. [27]
    D. H. Bailey and J. M. Borwein. Experimental mathematics: examples, methods and implications. Notices of the AMS, 52(5):502–514, 2005.MathSciNetzbMATHGoogle Scholar
  4. [28]
    D. H. Bailey, J. M. Borwein, P. B. Borwein, and S. Plouffe. The quest for pi. Mathematical Intelligencer, 19(1):50–57, 1997.MathSciNetCrossRefGoogle Scholar
  5. [29]
    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.
  6. [38]
    D. J. Bernstein. Multidigit multiplication for mathematicians. Available at https://cr.yp.to/papers/m3.pdf, 2001.
  7. [50]
    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.CrossRefGoogle Scholar
  8. [58]
    J. Borwein and D. H. Bailey. Mathematics by Experiment: Plausible Reasoning in the 21st Century. A. K. Peters, Natick, MA, 2004.Google Scholar
  9. [60]
    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.MathSciNetCrossRefGoogle Scholar
  10. [64]
    R. P. Brent. A FORTRAN multiple-precision arithmetic package. ACM Transactions on Mathematical Software, 4(1):57–70, 1978.CrossRefGoogle Scholar
  11. [66]
    R. P. Brent and P. Zimmermann. Modern Computer Arithmetic. Cambridge University Press, 2011.Google Scholar
  12. [67]
    K. Briggs. The doubledouble library, 1998. Available at http://www.boutell.com/fracster-src/doubledouble/doubledouble.html.
  13. [129]
    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.
  14. [133]
    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.zbMATHGoogle Scholar
  15. [142]
    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.Google Scholar
  16. [148]
    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.MathSciNetCrossRefGoogle Scholar
  17. [158]
    T. J. Dekker. A floating-point technique for extending the available precision. Numerische Mathematik, 18(3):224–242, 1971.MathSciNetCrossRefGoogle Scholar
  18. [186]
    M. D. Ercegovac and T. Lang. Division and Square Root: Digit-Recurrence Algorithms and Implementations. Kluwer Academic Publishers, Boston, MA, 1994.zbMATHGoogle Scholar
  19. [204]
    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/.CrossRefGoogle Scholar
  20. [209]
    M. Fürer. Faster integer multiplication. In 39th Annual ACM Symposium on Theory of Computing (STOC), pages 57–66, June 2007.Google Scholar
  21. [210]
    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.Google Scholar
  22. [224]
    T. Granlund. The GNU multiple precision arithmetic library, release 6.1.2. Accessible electronically at https://gmplib.org/, September 2016.
  23. [232]
    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/.
  24. [234]
    G. Hanrot and P. Zimmermann. A long note on Mulders’ short product. Journal of Symbolic Computation, 37(3):391–401, 2004.MathSciNetCrossRefGoogle Scholar
  25. [247]
    D. Harvey, J. van der Hoeven, and G. Lecerf. Even faster integer multiplication. Journal of Complexity, 36:1–30, 2016.MathSciNetCrossRefGoogle Scholar
  26. [254]
    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.Google Scholar
  27. [255]
    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/.
  28. [267]
    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.
  29. [304]
    F. Johansson. Arb: a C library for ball arithmetic. ACM Communications in Computer Algebra, 47(4):166–169, 2013.Google Scholar
  30. [308]
    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.MathSciNetCrossRefGoogle Scholar
  31. [309]
    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.Google Scholar
  32. [310]
    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.MathSciNetCrossRefGoogle Scholar
  33. [328]
    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.Google Scholar
  34. [346]
    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.MathSciNetCrossRefGoogle Scholar
  35. [351]
    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.Google Scholar
  36. [362]
    M. Lange and S. M. Rump. Faithfully rounded floating-point computations. Manuscript available at http://www.ti3.tu-harburg.de/rump/, 2017.
  37. [370]
    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.Google Scholar
  38. [371]
    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.
  39. [379]
    V. Lefèvre. Correctly rounded arbitrary-precision floating-point summation. IEEE Transactions on Computers, 66(12):2111–2124, 2017.MathSciNetCrossRefGoogle Scholar
  40. [381]
    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.Google Scholar
  41. [384]
    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.
  42. [385]
    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.MathSciNetCrossRefGoogle Scholar
  43. [387]
    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.Google Scholar
  44. [435]
    T. Mulders. On short multiplications and divisions. Applicable Algebra in Engineering, Communication and Computing, 11(1):69–88, 2000.MathSciNetCrossRefGoogle Scholar
  45. [443]
    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.Google Scholar
  46. [489]
    P. Pélissier and P. Zimmermann. The DPE library. Available at http://www.loria.fr/~zimmerma/free/dpe-1.4.tar.gz.
  47. [493]
    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.Google Scholar
  48. [494]
    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.
  49. [495]
    D. M. Priest. Algorithms for arbitrary precision floating point arithmetic. In 10th IEEE Symposium on Computer Arithmetic (ARITH-10), pages 132–143, June 1991.Google Scholar
  50. [496]
    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.Google Scholar
  51. [521]
    S. M. Rump. Ultimately fast accurate summation. SIAM Journal on Scientific Computing, 31(5):3466–3502, 2009.MathSciNetCrossRefGoogle Scholar
  52. [531]
    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.MathSciNetCrossRefGoogle Scholar
  53. [537]
    E. Salamin. Computation of π using arithmetic-geometric mean. Mathematics of Computation, 30:565–570, 1976.MathSciNetzbMATHGoogle Scholar
  54. [545]
    A. Schönhage. Schnelle Berechnung von Kettenbruchentwicklungen. Acta Informatica, 1:139–144, 1971. In German.CrossRefGoogle Scholar
  55. [546]
    A. Schönhage, A. F. W. Grotefeld, and E. Vetter. Fast algorithms: a Multitape Turing Machine Implementation. Bibliographisches Institut, Mannheim, 1994.Google Scholar
  56. [547]
    A. Schönhage and V. Strassen. Schnelle Multiplikation grosser Zahlen. Computing, 7:281–292, 1971. In German.MathSciNetCrossRefGoogle Scholar
  57. [555]
    J. R. Shewchuk. Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete Computational Geometry, 18:305–363, 1997.MathSciNetCrossRefGoogle Scholar
  58. [557]
    V. Shoup. NTL, a library for doing number theory, version 10.5.0. http://shoup.net/ntl/, 2017.
  59. [603]
    A. L. Toom. The complexity of a scheme of functional elements realizing the multiplication of integers. Soviet Mathematics Doklady, 3:714–716, 1963.zbMATHGoogle Scholar
  60. [648]
    D. Zuras. More on squaring and multiplying large integers. IEEE Transactions on Computers, 43(8):899–908, 1994.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Jean-Michel Muller
    • 1
  • Nicolas Brunie
    • 2
  • Florent de Dinechin
    • 3
  • Claude-Pierre Jeannerod
    • 4
  • Mioara Joldes
    • 5
  • Vincent Lefèvre
    • 4
  • Guillaume Melquiond
    • 6
  • Nathalie Revol
    • 4
  • Serge Torres
    • 7
  1. 1.CNRS - LIPLyonFrance
  2. 2.KalrayGrenobleFrance
  3. 3.INSA-Lyon - CITIVilleurbanneFrance
  4. 4.Inria - LIPLyonFrance
  5. 5.CNRS - LAASToulouseFrance
  6. 6.Inria - LRIOrsayFrance
  7. 7.ENS-Lyon - LIPLyonFrance

Personalised recommendations