diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 24 | ||||
-rw-r--r-- | math/auto-libm-test-in | 10 | ||||
-rw-r--r-- | math/auto-libm-test-out | 294 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/s_erfl.c | 2 |
5 files changed, 324 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog index 04d7f76ad6..8ddb74fff6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2014-06-24 Joseph Myers <joseph@codesourcery.com> + [BZ #16287] + * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfl): Return 1 without + calling __erfcl for arguments at least 16. + * math/auto-libm-test-in: Add more tests of erf. + * math/auto-libm-test-out: Regenerated. + * sysdeps/unix/sysv/linux/configure.ac: Remove cases for individual architectures. * sysdeps/unix/sysv/linux/configure: Regenerated. diff --git a/NEWS b/NEWS index abec2196e8..e365acd915 100644 --- a/NEWS +++ b/NEWS @@ -10,18 +10,18 @@ Version 2.20 * The following bugs are resolved with this release: 6804, 9894, 12994, 13347, 13651, 14308, 14770, 15119, 15132, 15347, 15514, - 15698, 15804, 15894, 15946, 16002, 16064, 16095, 16198, 16284, 16315, - 16348, 16349, 16354, 16357, 16362, 16447, 16516, 16532, 16545, 16564, - 16574, 16599, 16600, 16609, 16610, 16611, 16613, 16619, 16623, 16629, - 16632, 16634, 16639, 16642, 16648, 16649, 16670, 16674, 16677, 16680, - 16681, 16683, 16689, 16695, 16701, 16706, 16707, 16712, 16713, 16714, - 16724, 16731, 16739, 16740, 16743, 16754, 16758, 16759, 16760, 16770, - 16786, 16789, 16791, 16796, 16799, 16800, 16815, 16823, 16824, 16831, - 16838, 16849, 16854, 16876, 16877, 16878, 16882, 16885, 16888, 16890, - 16912, 16915, 16916, 16917, 16918, 16922, 16927, 16928, 16932, 16943, - 16958, 16965, 16966, 16967, 16977, 16978, 16984, 16990, 16996, 17009, - 17022, 17031, 17042, 17048, 17050, 17058, 17061, 17062, 17069, 17075, - 17079, 17084. + 15698, 15804, 15894, 15946, 16002, 16064, 16095, 16198, 16284, 16287, + 16315, 16348, 16349, 16354, 16357, 16362, 16447, 16516, 16532, 16545, + 16564, 16574, 16599, 16600, 16609, 16610, 16611, 16613, 16619, 16623, + 16629, 16632, 16634, 16639, 16642, 16648, 16649, 16670, 16674, 16677, + 16680, 16681, 16683, 16689, 16695, 16701, 16706, 16707, 16712, 16713, + 16714, 16724, 16731, 16739, 16740, 16743, 16754, 16758, 16759, 16760, + 16770, 16786, 16789, 16791, 16796, 16799, 16800, 16815, 16823, 16824, + 16831, 16838, 16849, 16854, 16876, 16877, 16878, 16882, 16885, 16888, + 16890, 16912, 16915, 16916, 16917, 16918, 16922, 16927, 16928, 16932, + 16943, 16958, 16965, 16966, 16967, 16977, 16978, 16984, 16990, 16996, + 17009, 17022, 17031, 17042, 17048, 17050, 17058, 17061, 17062, 17069, + 17075, 17079, 17084. * Optimized strchr implementation for AArch64. Contributed by ARM Ltd. diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 4eaa0135a4..79d276ce99 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -803,6 +803,16 @@ erf 0x1.c5bf94p-127 erf 0x3.8b7fa8p-128 erf -0x3.8b7f12369ded8p-1024 erf 0x3.8b7f12369ded5518p-16384 +erf 26.0 +erf 28.0 +erf 100 +erf 106 +erf 106.5 +erf 106.625 +erf 107 +erf 108 +erf 1000 +erf max erfc 0.0 erfc -0 diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index e47c3ab622..d1ec2be279 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -88101,6 +88101,300 @@ erf 0x3.8b7f12369ded5518p-16384 = erf tonearest ldbl-128 0x3.8b7f12369ded5518p-16384L : 0x4.0000000000000029274014aceae4p-16384L : inexact-ok = erf towardzero ldbl-128 0x3.8b7f12369ded5518p-16384L : 0x4.0000000000000029274014aceae4p-16384L : inexact-ok = erf upward ldbl-128 0x3.8b7f12369ded5518p-16384L : 0x4.0000000000000029274014aceae8p-16384L : inexact-ok +erf 26.0 += erf downward flt-32 0x1.ap+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x1.ap+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x1.ap+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x1.ap+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x1.ap+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x1.ap+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x1.ap+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x1.ap+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x1.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x1.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x1.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x1.ap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x1.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x1.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x1.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x1.ap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x1.ap+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x1.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x1.ap+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x1.ap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x1.ap+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x1.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x1.ap+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x1.ap+4L : 0x1p+0L : inexact-ok +erf 28.0 += erf downward flt-32 0x1.cp+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x1.cp+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x1.cp+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x1.cp+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x1.cp+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x1.cp+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x1.cp+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x1.cp+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x1.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x1.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x1.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x1.cp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x1.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x1.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x1.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x1.cp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x1.cp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x1.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x1.cp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x1.cp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x1.cp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x1.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x1.cp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x1.cp+4L : 0x1p+0L : inexact-ok +erf 100 += erf downward flt-32 0x6.4p+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x6.4p+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x6.4p+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x6.4p+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x6.4p+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x6.4p+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x6.4p+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x6.4p+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x6.4p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x6.4p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x6.4p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x6.4p+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x6.4p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x6.4p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x6.4p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x6.4p+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x6.4p+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x6.4p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x6.4p+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x6.4p+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x6.4p+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x6.4p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x6.4p+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x6.4p+4L : 0x1p+0L : inexact-ok +erf 106 += erf downward flt-32 0x6.ap+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x6.ap+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x6.ap+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x6.ap+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x6.ap+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x6.ap+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x6.ap+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x6.ap+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x6.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x6.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x6.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x6.ap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x6.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x6.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x6.ap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x6.ap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x6.ap+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x6.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x6.ap+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x6.ap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x6.ap+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x6.ap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x6.ap+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x6.ap+4L : 0x1p+0L : inexact-ok +erf 106.5 += erf downward flt-32 0x6.a8p+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x6.a8p+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x6.a8p+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x6.a8p+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x6.a8p+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x6.a8p+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x6.a8p+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x6.a8p+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x6.a8p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x6.a8p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x6.a8p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x6.a8p+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x6.a8p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x6.a8p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x6.a8p+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x6.a8p+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x6.a8p+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x6.a8p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x6.a8p+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x6.a8p+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x6.a8p+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x6.a8p+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x6.a8p+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x6.a8p+4L : 0x1p+0L : inexact-ok +erf 106.625 += erf downward flt-32 0x6.aap+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x6.aap+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x6.aap+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x6.aap+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x6.aap+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x6.aap+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x6.aap+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x6.aap+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x6.aap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x6.aap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x6.aap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x6.aap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x6.aap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x6.aap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x6.aap+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x6.aap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x6.aap+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x6.aap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x6.aap+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x6.aap+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x6.aap+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x6.aap+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x6.aap+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x6.aap+4L : 0x1p+0L : inexact-ok +erf 107 += erf downward flt-32 0x6.bp+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x6.bp+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x6.bp+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x6.bp+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x6.bp+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x6.bp+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x6.bp+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x6.bp+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x6.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x6.bp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x6.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x6.bp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x6.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x6.bp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x6.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x6.bp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x6.bp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x6.bp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x6.bp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x6.bp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x6.bp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x6.bp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x6.bp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x6.bp+4L : 0x1p+0L : inexact-ok +erf 108 += erf downward flt-32 0x6.cp+4f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x6.cp+4f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x6.cp+4f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x6.cp+4f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x6.cp+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x6.cp+4 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x6.cp+4 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x6.cp+4 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x6.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x6.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x6.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x6.cp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x6.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x6.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x6.cp+4L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x6.cp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x6.cp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x6.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x6.cp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x6.cp+4L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x6.cp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x6.cp+4L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x6.cp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x6.cp+4L : 0x1p+0L : inexact-ok +erf 1000 += erf downward flt-32 0x3.e8p+8f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0x3.e8p+8f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0x3.e8p+8f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0x3.e8p+8f : 0x1p+0f : inexact-ok += erf downward dbl-64 0x3.e8p+8 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0x3.e8p+8 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0x3.e8p+8 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0x3.e8p+8 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0x3.e8p+8L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0x3.e8p+8L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0x3.e8p+8L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0x3.e8p+8L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0x3.e8p+8L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0x3.e8p+8L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0x3.e8p+8L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0x3.e8p+8L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0x3.e8p+8L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0x3.e8p+8L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0x3.e8p+8L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0x3.e8p+8L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0x3.e8p+8L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0x3.e8p+8L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0x3.e8p+8L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0x3.e8p+8L : 0x1p+0L : inexact-ok +erf max += erf downward flt-32 0xf.fffffp+124f : 0xf.fffffp-4f : inexact-ok += erf tonearest flt-32 0xf.fffffp+124f : 0x1p+0f : inexact-ok += erf towardzero flt-32 0xf.fffffp+124f : 0xf.fffffp-4f : inexact-ok += erf upward flt-32 0xf.fffffp+124f : 0x1p+0f : inexact-ok += erf downward dbl-64 0xf.fffffp+124 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0xf.fffffp+124 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0xf.fffffp+124 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0xf.fffffp+124 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0xf.fffffp+124L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0xf.fffffp+124L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0xf.fffffp+124L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0xf.fffffp+124L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0xf.fffffp+124L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0xf.fffffp+124L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0xf.fffffp+124L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0xf.fffffp+124L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0xf.fffffp+124L : 0x1p+0L : inexact-ok += erf downward dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p-4 : inexact-ok += erf tonearest dbl-64 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += erf towardzero dbl-64 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p-4 : inexact-ok += erf upward dbl-64 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += erf downward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0xf.ffffffffffff8p+1020L : 0x1p+0L : inexact-ok += erf downward ldbl-96-intel 0xf.fffffffffffffffp+16380L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-intel 0xf.fffffffffffffffp+16380L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-intel 0xf.fffffffffffffffp+16380L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-intel 0xf.fffffffffffffffp+16380L : 0x1p+0L : inexact-ok += erf downward ldbl-96-m68k 0xf.fffffffffffffffp+16380L : 0xf.fffffffffffffffp-4L : inexact-ok += erf tonearest ldbl-96-m68k 0xf.fffffffffffffffp+16380L : 0x1p+0L : inexact-ok += erf towardzero ldbl-96-m68k 0xf.fffffffffffffffp+16380L : 0xf.fffffffffffffffp-4L : inexact-ok += erf upward ldbl-96-m68k 0xf.fffffffffffffffp+16380L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0xf.fffffffffffffffp+16380L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0xf.fffffffffffffffp+16380L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0xf.fffffffffffffffp+16380L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0xf.fffffffffffffffp+16380L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0xf.fffffffffffffffffffffffffff8p+16380L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0xf.fffffffffffffffffffffffffff8p+16380L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0xf.fffffffffffffffffffffffffff8p+16380L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0xf.fffffffffffffffffffffffffff8p+16380L : 0x1p+0L : inexact-ok += erf downward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf tonearest ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok += erf upward ldbl-128 0xf.ffffffffffffbffffffffffffcp+1020L : 0x1p+0L : inexact-ok += erf downward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0x1p+0L : inexact-ok += erf towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok += erf upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : 0x1p+0L : inexact-ok erfc 0.0 = erfc downward flt-32 0x0p+0f : 0x1p+0f : inexact-ok = erfc tonearest flt-32 0x0p+0f : 0x1p+0f : inexact-ok diff --git a/sysdeps/ieee754/ldbl-128/s_erfl.c b/sysdeps/ieee754/ldbl-128/s_erfl.c index 35ca8c1360..9bfc9c580b 100644 --- a/sysdeps/ieee754/ldbl-128/s_erfl.c +++ b/sysdeps/ieee754/ldbl-128/s_erfl.c @@ -769,6 +769,8 @@ __erfl (long double x) if (ix >= 0x3fff0000) /* |x| >= 1.0 */ { + if (ix >= 0x40030000 && sign > 0) + return one; /* x >= 16, avoid spurious underflow from erfc. */ y = __erfcl (x); return (one - y); /* return (one - __erfcl (x)); */ |