Skip to main content
Log in

Intrinsic Compiler Support for Interval Arithmetic

  • Published:
Numerical Algorithms Aims and scope Submit manuscript

Abstract

Interval arithmetic provides an efficient method for monitoring errors in numerical computations and for solving problems that cannot be efficiently solved with floating-point arithmetic. To support interval arithmetic, several software tools have been developed including interval arithmetic libraries, extended scientific programming languages, and interval-enhanced compilers. The main disadvantage of these software tools is their speed, since interval operations are implemented using function calls. In this paper, compiler support for interval arithmetic is investigated. In particular, the performance benefits of having the compiler inline interval operations to eliminate function call overhead is researched. Interval operations are inlined with the GNU gcc compiler and the performance of interval arithmetic is evaluated on a superscalar architecture. To implement interval operations with compiler support, the compiler produces sequences of instructions that use existing floating point hardware. Simulation results show that the compiler implementation of interval arithmetic is approximately 4 to 5 times faster than a functionally equivalent interval arithmetic software implementation with function call overhead and approximately 1.2 to 1.5 times slower than a dedicated interval arithmetic hardware implementation.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. Akkas, A combined interval and floating-point comparator/selector, in: IEEE 13th Internat. Conf. on Application-specific Systems, Architectures, and Processors, 2002, pp. 208–217.

  2. A. Bhandarkar, The Alpha Architecture Manual (DEC, Menlo Park, CA, 1992).

    Google Scholar 

  3. D. Burger and T.M. Austin, The simplescalar tool set, version 2.0, University of Wisconsin at Madison, Technical Report TR1342 (1997); available at http://www.cs.wisc.edu/~ mscalar/simplescalar.html.

    Google Scholar 

  4. D. Chiriaev and G.W. Walster, Interval arithmetic specification, Sun Microsystems, available at http://www.mscs.mu.edu/~globsol/walster-papers.html.

  5. G.F. Corliss, Industrial applications of interval techniques, Computer Arithmetic and Self-Validating Numerical Methods, ed. C. Ullrich (Academic Press, New York, 1993) pp. 91–113.

    Google Scholar 

  6. E. Hyvonen and S. De Pascale, InC++ library family for interval computations, in: Supplement to the Internat. Workshop on Applications of Interval Computations, ed. V. Kreinovich, Internat. J. Reliable Comput. (1995) 85–90.

  7. Interval arithmetic in the forte[tm] Fortran 95 compiler, Sun Microsystems, available at http:// www.sun.com/forte/fortran/interval.

  8. R.B. Kearfott, M. Dawande, K. Du and C. Hu, Algorithm 737: INTLIB: A portable FORTRAN 77 interval standard function library, ACM Trans. Math. Software 20 (1994) 447–459.

    Google Scholar 

  9. O. Knuppel, PROFIL/BIAS–A fast interval library, Computing 53 (1994) 277–288.

    Google Scholar 

  10. M.J. Schulte and E.E. Swartzlander, A hardware design and arithmetic algorithms for a variable-precision, interval arithmetic coprocessor, in: Proc. of the 12th Symposium on Computer Arithmetic, July 1995, pp. 163–171.

  11. M.J. Schulte, V. Zelov, A. Akkas and J.C. Burley, The interval-enhanced GNU Fortran compiler, Reliable Comput. 53 (1999) 311–322.

    Google Scholar 

  12. J.E. Stine and M.J. Schulte, A combined interval and floating-point multiplier, in: 8th Great Lakes Symposium on VLSI, February 1998, pp. 208–213.

  13. J.E. Stine and M.J. Schulte, A combined interval and floating-point divider, in: Thirty-Second Asilomar Conf. on Signals, Systems and Computers, November 1998, pp. 218–222.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Akkaş, A., Schulte, M.J. & Stine, J.E. Intrinsic Compiler Support for Interval Arithmetic. Numerical Algorithms 37, 13–20 (2004). https://doi.org/10.1023/B:NUMA.0000049454.47893.3c

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:NUMA.0000049454.47893.3c

Navigation