glibc/sysdeps/powerpc/fpu
Paul Zimmermann 9acda61d94 Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.

The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average.  Two different algorithms are used:

* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
  degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)

* for large inputs, an asymptotic formula from [1] is used

[1] Fast and Accurate Bessel Function Computation,
    John Harrison, Proceedings of Arith 19, 2009.

Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).

Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2021-04-02 06:15:48 +02:00
..
e_hypot.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
e_hypotf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
e_sqrt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
e_sqrtf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fclrexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fe_mask.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fe_nomask.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetmode.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetround.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fenv_const.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fenv_libc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fenv_private.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetmode.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetround.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feupdateenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fix-fp-int-compare-invalid.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ftestexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libm-test-ulps Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472] 2021-04-02 06:15:48 +02:00
libm-test-ulps-name
Makefile
math_ldbl.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math_private.h powerpc: Add optimized ilogb* for POWER9 2021-03-16 12:19:09 -03:00
math-barriers.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math-tests-trap-force.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math-use-builtins-fma.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-sqrt.h powerpc: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
round_to_integer.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_ceil.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_ceilf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_copysign.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_copysignf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_floor.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_floorf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_logb.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_logbf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_logbl.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_lrintf.c
s_modf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_modff.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_nearbyint.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_nearbyintf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_rint.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_rintf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_round.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_roundf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_trunc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_truncf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
t_sqrt.c
tst-setcontext-fpscr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00