Precision-Driven Computation in the Evaluation of Expression-Dags with Common Subexpressions: Problems and Solutions

  • Marc Mörig
  • Stefan SchirraEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9582)


Precision-driven computation is a recursive scheme for the approximate evaluation of arithmetic expression-dags that allows for specifying the accuracy of evaluation results in advance. We illustrate and explain how current implementations of precision driven arithmetic may negate advantages from sharing common subexpressions by re-evaluating these subexpressions many times. Since the number of re-evaluations depends on seemingly minor details of expression structure and evaluation strategy, significant performance differences may arise between otherwise competitive implementations of precision driven arithmetic for the same user code and then again between otherwise equivalent user codes for the same evaluation strategy as well. We present a new evaluation strategy that separates precision propagation from expression evaluation and thereby avoids multiple evaluations of common subexpressions completely.


Precision-driven computation Exact geometric computation Expression-dag-based number types Verified numerical computing 


  1. 1.
    Burnikel, C., Fleischer, R., Funke, S., Mehlhorn, K., Schirra, S., Schmitt, S.: The LEDA class real number - extended version. Technical report, ECG-TR-363110-01, Max-Planck-Institut für Informatik, Saarbrücken, Germany (2005)Google Scholar
  2. 2.
    Burnikel, C., Fleischer, R., Mehlhorn, K., Schirra, S.: Efficient exact geometric computation made easy. In: Proceedings of the 15th Symposium on Computational Geometry (SoCG 1999), pp. 341–350. ACM (1999)Google Scholar
  3. 3.
    Burnikel, C., Funke, S., Mehlhorn, K., Schirra, S., Schmitt, S.: A separation bound for real algebraic expressions. Algorithmica 55(1), 14–28 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Karamcheti, V., Li, C., Pechtchanski, I., Yap, C.K.: A core library for robust numeric and geometric computation. In: Proceedings of the 15th Symposium on Computational Geometry (SoCG 1999), pp. 351–359. ACM (1999)Google Scholar
  5. 5.
    Kettner, L., Mehlhorn, K., Pion, S., Schirra, S., Yap, C.K.: Classroom examples of robustness problems in geometric computation. Comput. Geom.: Theory Appl. 40(1), 61–78 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Li, C., Yap, C.K.: A new constructive root bound for algebraic expressions. In: Proceedings of the 12th ACM-SIAM Symposium on Discrete Algorithms (SODA 2001), pp. 496–505. SIAM (2001)Google Scholar
  7. 7.
    Mehlhorn, K., Näher, S.: LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, Cambridge (1999)zbMATHGoogle Scholar
  8. 8.
    Mehlhorn, K., Schirra, S.: Exact computation with leda_real - theory and geometric applications. In: Alefeld, G., Rohn, J., Rump, S.M., Yamamoto, T. (eds.) Symbolic Algebraic Methods and Verification Methods. Springer Mathematics, pp. 163–172. Springer, Wien, Austria (2001)CrossRefGoogle Scholar
  9. 9.
    Mignotte, M.: Identification of algebraic numbers. J. Algorithms 3, 197–204 (1982)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Mörig, M.: Algorithm Engineering for Expression Dag Based Number Types. Ph.D. thesis, Otto-von-Guericke-Universität Magdeburg (2015)Google Scholar
  11. 11.
    Mörig, M., Rössling, I., Schirra, S.: On the design and implementation of a generic number type for real algebraic number computations based on expression dags. Math. Comput. Sci. 4(4), 539–556 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Pion, S., Yap, C.K.: Constructive root bound for \(k\)-ary rational input numbers. Theor. Comput. Sci. 369(1–3), 361–376 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Preparata, F.P., Shamos, M.I.: Computational Geometry: An Introduction. Monographs in Computer Science, 1st edn. Springer, New York (1985)CrossRefzbMATHGoogle Scholar
  14. 14.
    Schirra, S.: Robustness and precision issues in geometric computation. In: Sack, J.R., Urrutia, J. (eds.) Handbook of Computational Geometry, chap. 14, pp. 597–632. Elsevier, Amsterdam, The Netherlands (2000)Google Scholar
  15. 15.
    Schirra, S.: Much ado about zero. In: Albers, S., Alt, H., Näher, S. (eds.) Efficient Algorithms. LNCS, vol. 5760, pp. 408–421. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Schirra, S.: On the use of adaptive, exact decisions number types based on expression-dags in geometric computing. In: 26th Canadian Conference on Computational Geometry (CCCG 2014) (2014)Google Scholar
  17. 17.
    Yap, C.K.: Towards exact geometric computation. Comput. Geom.: Theory Appl. 7(1–2), 3–23 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Yap, C.K.: On guaranteed accuracy computation. In: Geometric Computation, pp. 322–373. World Scientific (2004)Google Scholar
  19. 19.
    Yap, C.K.: Robust geometric computation. In: Handbook of Discrete and Computational Geometry, 2nd edn., chap. 41, pp. 927–952. CRC (2004)Google Scholar
  20. 20.
    Yap, C.K., Dubé, T.: The exact computation paradigm. In: Computing in Euclidean Geometry, 2nd edn., pp. 452–486. World Scientific (1995)Google Scholar
  21. 21.
    Yu, J., Yap, C., Du, Z., Pion, S., Brönnimann, H.: The design of Core 2: a library for exact numeric computation in geometry and algebra. In: Fukuda, K., Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 121–141. Springer, Heidelberg (2010)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Department of Simulation and Graphics, Faculty of Computer ScienceOtto-von-Guericke University of MagdeburgMagdeburgGermany

Personalised recommendations