A Cross-Platform Benchmark for Interval Computation Libraries

Interval computation is widely used to certify computations that use floating point operations to avoid pitfalls related to rounding error introduced by inaccurate operations. Despite its popularity and practical benefits, support for interval arithmetic is not standardized nor available in mainstream programming languages. We propose the first benchmark for interval computations, coupled with reference solutions computed with exact arithmetic, and compare popular C and C++ libraries over different architectures, operating systems, and compilers. The benchmark allows identifying limitations in existing implementations, and provides a reliable guide on which library to use on each system. We believe that our benchmark will be useful for developers of future interval libraries, as a way to test the correctness and performance of their algorithms.

[1]  O. Knüppel,et al.  PROFIL/BIAS—A fast interval library , 1994, Computing.

[2]  R. B. Kearfott,et al.  Interval Computations: Introduction, Uses, and Resources , 2000 .

[3]  Abderrahmane Kheddar,et al.  Fast Continuous Collision Detection between Rigid Bodies , 2002, Comput. Graph. Forum.

[4]  Denis Zorin,et al.  A Method for Analysis of C1 -Continuity of Subdivision Surfaces , 2000, SIAM J. Numer. Anal..

[5]  John M. Snyder,et al.  Interval methods for multi-point collisions between time-dependent curved surfaces , 1993, SIGGRAPH.

[6]  Marco Attene,et al.  A Large-scale Benchmark and an Inclusion-based Algorithm for Continuous Collision Detection , 2020, ACM Trans. Graph..

[7]  M. H. van Emden,et al.  Interval arithmetic: From principles to implementation , 2001, JACM.

[8]  Frédéric Benhamou,et al.  Applying Interval Arithmetic to Real, Integer, and Boolean Constraints , 1997, J. Log. Program..

[9]  Walter Krämer,et al.  C-XSC 2.0: A C++ Library for Extended Scientific Computing , 2003, Numerical Software with Result Verification.

[10]  Guido D. Salvucci,et al.  Ieee standard for binary floating-point arithmetic , 1985 .

[11]  Torbjrn Granlund,et al.  GNU MP 6.0 Multiple Precision Arithmetic Library , 2015 .

[12]  Walter Krämer,et al.  FILIB++, a fast interval library supporting containment computations , 2006, TOMS.

[13]  Guillaume Melquiond,et al.  The design of the Boost interval arithmetic library , 2006, Theor. Comput. Sci..

[14]  John Harrison,et al.  Formal Verification of Floating Point Trigonometric Functions , 2000, FMCAD.

[15]  Bernd Tibken,et al.  Quality control of valve push rods using interval arithmetic , 1999 .

[16]  Nicholas M. Patrikalakis,et al.  Efficient and reliable methods for rounded-interval arithmetic , 1998, Comput. Aided Des..

[17]  John M. Snyder,et al.  Interval analysis for computer graphics , 1992, SIGGRAPH.

[18]  Jean-Michel Muller,et al.  Worst cases for correct rounding of the elementary functions in double precision , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.