glibc/sysdeps/ieee754
Patrick McGehearty a14d8acd32 Improves __ieee754_exp(x) performance by 18-37% when |x| < 1.0397
Adds a fast path to e_exp.c when |x| < 1.03972053527832.
When values are tested in isolation, reduction in execution
time is: aarch 30%, sparc 18%, x86 37%.
When comparing benchtests/bench.out which includes values
outside that range, the gains are:
aarch 8%, sparc 5%, x86 9%.

make check is clean (no increase in ulp for any math test).
Testing 20M values for each rounding mode in that range shows
approximately one in 200 values is off by 1 ulp. No value tested
for exp(x) changed by 2 or more ulp.

No observed change in performance or accuracy for x outside
fast path range.

These changes will be active for all platforms that don't provide
their own exp() routines. They will also be active for ieee754
versions of ccos, ccosh, cosh, csin, csinh, sinh, exp10, gamma, and
erf.
2018-04-15 18:46:37 -04:00
..
dbl-64 Improves __ieee754_exp(x) performance by 18-37% when |x| < 1.0397 2018-04-15 18:46:37 -04:00
float128 Add narrowing subtract functions. 2018-03-20 00:34:52 +00:00
flt-32 Rename all __ieee754_sqrt(f/l) calls to sqrt(f/l) 2018-03-15 19:21:36 +00:00
ldbl-64-128 Don't include math.h/math_private.h in math_ldbl_opt.h. 2018-03-10 15:18:08 -05:00
ldbl-96 Add narrowing subtract functions. 2018-03-20 00:34:52 +00:00
ldbl-128 Add narrowing subtract functions. 2018-03-20 00:34:52 +00:00
ldbl-128ibm Add narrowing subtract functions. 2018-03-20 00:34:52 +00:00
ldbl-opt Add narrowing subtract functions. 2018-03-20 00:34:52 +00:00
soft-fp Add narrowing subtract functions. 2018-03-20 00:34:52 +00:00
Makefile Avoid -Wno-write-strings for k_standard.c. 2015-02-26 22:50:54 +00:00
ieee754.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
k_standard.c Prefer new libm function wrappers for !LIBM_SVID_COMPAT. 2017-09-05 23:35:55 +00:00
k_standardf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
k_standardl.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
s_lib_version.c Simplify math-svid-compat code. 2017-08-28 15:19:52 +00:00
s_matherr.c Obsolete matherr, _LIB_VERSION, libieee.a. 2017-08-21 17:45:10 +00:00
s_signgam.c Fix lgamma setting signgam for ISO C (bug 15421). 2015-11-20 22:49:59 +00:00