🤖 AI Summary
High-precision evaluation of real-valued expressions is often inefficient due to globally uniform high-precision arithmetic. This paper proposes the first practically implementable analytical mixed-precision allocation method for such expressions. Our approach combines error propagation analysis with multi-level precision dependency modeling to dynamically infer the minimal required precision for each subexpression, and employs incremental verification to guarantee final result correctness. Unlike conventional stepwise precision-doubling schemes, our method enables adaptive precision assignment within the Reval system. Experimental results demonstrate an average speedup of 1.72×, reaching up to 5.21× on the most challenging benchmarks; the majority of operations execute at reduced precision, thereby unlocking underlying computational optimizations while maintaining strict accuracy guarantees and delivering substantial performance gains.
📝 Abstract
Evaluating real-valued expressions to high precision is a key building block in computational mathematics, physics, and numerics. A typical implementation evaluates the whole expression in a uniform precision, doubling that precision until a sufficiently-accurate result is achieved. This is wasteful: usually only a few operations really need to be performed at high precision, and the bulk of the expression could be computed much faster. However, such non-uniform precision assignments have, to date, been impractical to compute. We propose a fast new algorithm for deriving such precision assignments. The algorithm leverages results computed at lower precisions to analytically determine a mixed-precision assignment that will result in a sufficiently-accurate result. Our implementation, Reval, achieves an average speed-up of 1.72x compared to the state-of-the-art Sollya tool, with the speed-up increasing to 5.21x on the most difficult input points. An examination of the precisions used with and without precision tuning shows that the speed-up results from assigning lower precisions for the majority of operations, though additional optimizations enabled by the non-uniform precision assignments also play a role.