Interval arithmetic is a simple way to compute a mathematical expression to an arbitrary accuracy, widely used for verifying floating-point computations. Yet this simplicity belies challenges. Some inputs violate preconditions or cause domain errors. Others cause the algorithm to enter an infinite loop and fail to compute a ground truth. Plus, finding valid inputs is itself a challenge when invalid and unsamplable points make up the vast majority of the input space. These issues can make interval arithmetic brittle and temperamental. This paper introduces three extensions to interval arithmetic to address these challenges. Error intervals express rich notions of input validity and indicate whether all or some points in an interval violate implicit or explicit preconditions. Movability flags detect futile recomputations and prevent timeouts by indicating whether a higher-precision recomputation will yield a more accurate result. Andinput search restricts sampling to valid, samplable points, so they are easier to find. We compare these extensions to the state-of-the-art technical computing software Mathematica, and demonstrate that our extensions are able to resolve 60.3% more challenging inputs, return 10.2x fewer completely indeterminate results, and avoid 64 cases of fatal error.
翻译:Interval 算术是计算任意精确的数学表达方式的简单方法,它被广泛用于核实浮点计算。然而,这种简单的方法却是挑战。一些输入违反了先决条件,或导致域错误。其他一些输入导致算法进入无限循环,而没有计算地面真理。此外,当无效和不可抽样的点构成输入空间的绝大多数时,找到有效的输入本身就是一个挑战。这些问题可以使间距算术变弱和变质。本文件为应对这些挑战引入了间距算术的三个扩展。错误间隔显示了丰富的输入有效性概念,并表明一个间隔中的所有或某些点是否违反了隐含或明确的先决条件。可移动标志识别了无效的重截结果,并通过显示更高精准重算结果是否会产生更准确的结果来防止了超时退出。并且将抽样限制在有效、可抽样的点上,因此它们更容易找到。我们将这些扩展与最先进的技术计算软件Mathematica相比较,并表明我们的扩展能够解决60.3%更具有挑战性的投入,返回10.2x 完全的致命错误,并避免64个案例。