CORE-MATH worst cases
The worst cases used by CORE-MATH are mostly computed with the
BaCSeL software tool.
They can be found along with the source code, in files xxx.wc,
where xxx is the name of the corresponding function.
For example the worst cases for the binary64 exponential function
can be found here.
Each file indicates in comment the number of identical bits of the worst cases
(they may differ from one function to another), and if some symmetries are used
to reduce the number of stored worst cases.
Trivial worst cases are not included, for example cos(x) for tiny x.
For binary64, all worst cases cover the full range of the function (worst cases
that would give an output beyond the underflow/overflow thresholds are not included),
with the following exceptions:
- for cos(x), worst cases are computed only for 0 < x < 2048
(with at least 43 identical bits after the round bit);
- for sin(x), worst cases are computed only for 0 < x < 2048
and for 21023 < x < 21024
(with at least 43 identical bits after the round bit);
- for tan(x), worst cases are computed only for 0 < x < 10.5*pi
(with at least 43 identical bits after the round bit);
- for pow(x,y), worst cases are mainly computed for exponents y
such that xy might be exact or midpoint;
- for atan2(y,x), only a restricted set of worst cases has been computed;
- for hypot(x,y), only a restricted set of worst cases has been computed;
- for atan2pi(y,x), only a restricted set of worst cases has been computed,
with at least 75 identical bits after the round bit.