# Efficient Exact Arithmetic over Constructive Reals

• Yong Li
• Jun-Hai Yong
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4484)

## Abstract

We describe a computing method of the computable (or constructive) real numbers based on analysis of expressions. This method take precision estimate into account in order to get a better algorithm than Ménissier-Morain’s method, which is also based on the representation of constructive reals. We solve two problems which appear in exact real arithmetic based on the representation of constructive reals. First, by balancing every item’s precision in the expression, we can avoid unnecessary precision growth. Second, by distributing different weights to different operations, we can make sure that complex operations do not waste much time when to compute the whole expression. In these ways, we finally get a more efficient and proper method than prior implementations.

## Keywords

Real Number Cauchy Sequence Error Range Original Algorithm Linear Fractional Transformation
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. 1.
Edalat, A., Heckmann, R.: Computing with real numbers (i) LFT approach to real computation (ii) Domain-theoretic model of computational geometry. In: Barthe, G., et al. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 193–267. Springer, Heidelberg (2002)
2. 2.
Blanck, J.: Efficient exact computation of iterated maps. The Journal of Logic and Algebraic Programming 64, 41–59 (2005)
3. 3.
Ménissier-Morain, V.: Arbitrary precision real arithmetic: design and algorithms. The Journal of Logic and Algebraic Programming 64, 13–19 (2005)
4. 4.
Gosper, W.: Continued fraction arithmetics. Technical Report HAKMEM Item 101B, Artificial Intelligence Memo 239, MIT (1972)Google Scholar
5. 5.
Vuillemin, J.: Exact real computer arithmetic with continued fractions. IEEE Transactions on Computers 39, 1087–1105 (1990)
6. 6.
Bishop, E., Bridges, D.: Constructive Analysis. Springer, Heidelberg (1985)
7. 7.
Boehm, H.-J., et al.: Exact real arithmetic: A case study in higher order programming. In: Proceedings of the 1986 Lisp and Functional Programming Conference, pp. 162–173 (1986)Google Scholar
8. 8.
Lee, V.: Optimizing Programs over the Constructive Reals. PhD thesis, Rice University (1991)Google Scholar
9. 9.
Boehm, H.-J.: The constructive reals as a Java library. The Journal of Logic and Algebraic Programming 64, 3–11 (2005)
10. 10.
Gowland, P., Lester, D.: The correctness of an implementation of exact arithmetic. In: Proceedings of the Fourth Conference on Real Numbers and Computers (2000)Google Scholar
11. 11.
Lester, D., Gowland, P.: Using PVS to validate the algorithms of an exact arithmetic. Theoretical Computer Science 291, 203–218 (2003)
12. 12.
Briggs, K.: Implementing exact real arithmetic in python, C++ and C. Theoretical Computer Science 351, 74–81 (2006)
13. 13.
Gowland, P., Lester, D.: A Survey of Exact Arithmetic Implementations. In: Blank, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, pp. 30–47. Springer, Heidelberg (2001)
14. 14.
Blanck, J.: Exact real arithmetic systems:Results of competition. In: Blank, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, p. 389. Springer, Heidelberg (2001)
15. 15.
Edalat, A., Potts, P.J.: A new representation for exact real numbers. In: MFPS XIII, Mathematical Foundations of Progamming Semantics, Thirteenth Annual Conference. Electronic Notes in Theoretical Computer Science, vol. 6, pp. 119–132 (1997)Google Scholar
16. 16.
Potts, P.J.: Exact real arithmetic using Möbius transformations. PhD thesis, Imperial College (1999)Google Scholar
17. 17.
Lambov, B.: RealLib:An Efficient Implementation of Exact Real Arithmetic (2006), http://www.bric.dk/~barnie/RealLib/
18. 18.
van der Hoeven, J.: Computations with effective real numbers. Theoretical Computer Science 351, 52–60 (2006)
19. 19.
Müller, N.T.: The iRRAM: Exact Arithmetic in C++. In: Blank, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, pp. 222–252. Springer, Heidelberg (2001)
20. 20.
Weihrauch, K.: An Introduction to Computable Analysis. Springer, Heidelberg (2000)Google Scholar
21. 21.
Briggs, K.: xrc homepage (2005), http://keithbriggs.info/xrc.html