## Section: New Results

### Correct Rounding of Elementary Functions

#### Computing a certified bound of the supremum norm of an error

When implementing functions in libms, the function f to be implemented is often replaced by an approximation polynomial p on a closed bounded interval [a, b] . In order to guarantee the correctness of the implementation, one has to compute a tight upper bound of the supremum norm of the approximation error, being it absolute p-f or relative p/f-1 , on the interval.

S. Chevillard, M. Joldes and C. Lauter proposed an algorithm for computing efficiently such a bound [22] . The algorithm uses automatic differentiation and interval arithmetic for overcoming the drawbacks of previous approaches. However, due mainly to the combination of several techniques that are not currently available in formal proof checkers (like automatic differentiation), this algorithm did not provide any formal proof. Also, there is no "a priori" control of the accuracy obtained for the supremum norm.

In consequence, in [41] , S. Chevillard, J. Harrison, M. Joldes and Ch. Lauter proposed a novel algorithm for efficient and accurate computation of upper bounds of approximation errors. Key elements of this algorithm are the use of intermediate approximation polynomials with bounded truncation remainder and a non-negativity test based on a Sum-of-squares expression of polynomials. This algorithm is fully automated and the accuracy obtained for the result is controlled “a priori” by the user. It can handle not only the cases when f is a simple function (such as exp , arcsin , tan , etc.) but also more complicated cases when f is obtained as a composition of functions such as exp(1 + cos(x)2) or sin(x)/log(1 + x) for instance. It can deal uniformly with both absolute and relative errors. The algorithm focuses also on formally proving the numerical result and paves the way for formally certified supremum norms. It was implemented as a prototype using the scripting language of Sollya and is going to be integrated as a part of Sollya.

Both articles include experimental results on real-life examples.

#### Computation of function erf with correct rounding in arbitrary precision

Implementations of functions in arbitrary precision are useful in any context when the precision of the computations has to be modified on-the-fly, or when a high accuracy is required. In particular, when designing a libm (such as CRlibm), many crucial steps involve arbitrary precision computations.

S. Chevillard proposed an implementation of the special functions erf and erfc in arbitrary precision [13] . In fact, three algorithms are proposed: a heuristic can be used to choose the best algorithm depending on the desired accuracy. The implementation is proved in the very details (with explicit error bounds) and can serve as a reference for the implementation of other functions. Finally, this implementation has been compared to the reference library MPFR and proved to be more efficient, in particular when the precision becomes high.

Logo Inria