summaryrefslogtreecommitdiff
path: root/lib/libm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libm')
-rw-r--r--lib/libm/__cos.c10
-rw-r--r--lib/libm/__cosdf.c6
-rw-r--r--lib/libm/__cosl.c40
-rw-r--r--lib/libm/__invtrigl.c42
-rw-r--r--lib/libm/__rem_pio2.c10
-rw-r--r--lib/libm/__rem_pio2_large.c163
-rw-r--r--lib/libm/__rem_pio2f.c5
-rw-r--r--lib/libm/__rem_pio2l.c66
-rw-r--r--lib/libm/__sin.c10
-rw-r--r--lib/libm/__sindf.c6
-rw-r--r--lib/libm/__sinl.c64
-rw-r--r--lib/libm/__tan.c7
-rw-r--r--lib/libm/__tanl.c148
-rw-r--r--lib/libm/acos.c22
-rw-r--r--lib/libm/acosf.c3
-rw-r--r--lib/libm/asin.c5
-rw-r--r--lib/libm/asinf.c3
-rw-r--r--lib/libm/asinl.c3
-rw-r--r--lib/libm/atan.c4
-rw-r--r--lib/libm/atanf.c3
-rw-r--r--lib/libm/atanl.c67
-rw-r--r--lib/libm/atomic.h19
-rw-r--r--lib/libm/cbrt.c2
-rw-r--r--lib/libm/cbrtf.c2
-rw-r--r--lib/libm/csinhl.c3
-rw-r--r--lib/libm/csinl.c3
-rw-r--r--lib/libm/ctan.c3
-rw-r--r--lib/libm/ctanhl.c3
-rw-r--r--lib/libm/ctanl.c3
-rw-r--r--lib/libm/erf.c40
-rw-r--r--lib/libm/erff.c37
-rw-r--r--lib/libm/erfl.c66
-rw-r--r--lib/libm/exp.c3
-rw-r--r--lib/libm/exp10.c9
-rw-r--r--lib/libm/exp10f.c5
-rw-r--r--lib/libm/exp10l.c10
-rw-r--r--lib/libm/exp2.c3
-rw-r--r--lib/libm/exp2l.c277
-rw-r--r--lib/libm/expl.c3
-rw-r--r--lib/libm/expm1.c6
-rw-r--r--lib/libm/expm1l.c3
-rw-r--r--lib/libm/fma.c9
-rw-r--r--lib/libm/fmaf.c3
-rw-r--r--lib/libm/fmal.c3
-rw-r--r--lib/libm/j0.c45
-rw-r--r--lib/libm/j0f.c9
-rw-r--r--lib/libm/j1.c25
-rw-r--r--lib/libm/j1f.c7
-rw-r--r--lib/libm/lgamma_r.c66
-rw-r--r--lib/libm/lgammaf_r.c38
-rw-r--r--lib/libm/lgammal.c115
-rw-r--r--lib/libm/libm.h18
-rw-r--r--lib/libm/log.c9
-rw-r--r--lib/libm/log10.c20
-rw-r--r--lib/libm/log10f.c3
-rw-r--r--lib/libm/log10l.c10
-rw-r--r--lib/libm/log1pl.c10
-rw-r--r--lib/libm/log2.c3
-rw-r--r--lib/libm/log2l.c10
-rw-r--r--lib/libm/logl.c10
-rw-r--r--lib/libm/pow.c19
-rw-r--r--lib/libm/powf.c9
-rw-r--r--lib/libm/powl.c48
-rw-r--r--lib/libm/remquo.c3
-rw-r--r--lib/libm/remquof.c3
-rw-r--r--lib/libm/remquol.c6
-rw-r--r--lib/libm/sin.c3
-rw-r--r--lib/libm/sincos.c3
-rw-r--r--lib/libm/sincosf.c3
-rw-r--r--lib/libm/sinf.c3
-rw-r--r--lib/libm/sinhl.c3
-rw-r--r--lib/libm/sqrt_data.c25
-rw-r--r--lib/libm/sqrtl.c6
-rw-r--r--lib/libm/tan.c3
-rw-r--r--lib/libm/tanf.c3
-rw-r--r--lib/libm/tgamma.c21
-rw-r--r--lib/libm/tgammal.c42
77 files changed, 627 insertions, 1176 deletions
diff --git a/lib/libm/__cos.c b/lib/libm/__cos.c
index a55d0eba..1ead64ed 100644
--- a/lib/libm/__cos.c
+++ b/lib/libm/__cos.c
@@ -54,11 +54,11 @@
static const double C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C
*/
- C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */
- C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */
- C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */
- C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */
- C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
+ C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */
+ C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */
+ C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */
+ C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */
+ C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
double __cos(double x, double y)
{
diff --git a/lib/libm/__cosdf.c b/lib/libm/__cosdf.c
index d5469271..0b158223 100644
--- a/lib/libm/__cosdf.c
+++ b/lib/libm/__cosdf.c
@@ -20,9 +20,9 @@
/* |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). */
static const double C0 = -0x1ffffffd0c5e81.0p-54, /* -0.499999997251031003120 */
- C1 = 0x155553e1053a42.0p-57, /* 0.0416666233237390631894 */
- C2 = -0x16c087e80f1e27.0p-62, /* -0.00138867637746099294692 */
- C3 = 0x199342e0ee5069.0p-68; /* 0.0000243904487962774090654 */
+ C1 = 0x155553e1053a42.0p-57, /* 0.0416666233237390631894 */
+ C2 = -0x16c087e80f1e27.0p-62, /* -0.00138867637746099294692 */
+ C3 = 0x199342e0ee5069.0p-68; /* 0.0000243904487962774090654 */
float __cosdf(double x)
{
diff --git a/lib/libm/__cosl.c b/lib/libm/__cosl.c
index 18858e6b..89978d9a 100644
--- a/lib/libm/__cosl.c
+++ b/lib/libm/__cosl.c
@@ -44,21 +44,15 @@
* almost for free from the complications needed to search for the best
* higher coefficients.
*/
-static const long double C1 =
- 0.0416666666666666666136L; /* 0xaaaaaaaaaaaaaa9b.0p-68
- */
-static const double C2 = -0.0013888888888888874, /* -0x16c16c16c16c10.0p-62 */
- C3 = 0.000024801587301571716, /* 0x1a01a01a018e22.0p-68 */
- C4 = -0.00000027557319215507120, /* -0x127e4fb7602f22.0p-74 */
- C5 = 0.0000000020876754400407278, /* 0x11eed8caaeccf1.0p-81 */
- C6 = -1.1470297442401303e-11, /* -0x19393412bd1529.0p-89 */
- C7 = 4.7383039476436467e-14; /* 0x1aac9d9af5c43e.0p-97 */
-#define POLY(z) \
- ((z) * \
- (C1 + \
- (z) * (C2 + \
- (z) * (C3 + \
- (z) * (C4 + (z) * (C5 + (z) * (C6 + (z) * C7)))))))
+static const long double C1 = 0.0416666666666666666136L; /* 0xaaaaaaaaaaaaaa9b.0p-68
+ */
+static const double C2 = -0.0013888888888888874, /* -0x16c16c16c16c10.0p-62 */
+ C3 = 0.000024801587301571716, /* 0x1a01a01a018e22.0p-68 */
+ C4 = -0.00000027557319215507120, /* -0x127e4fb7602f22.0p-74 */
+ C5 = 0.0000000020876754400407278, /* 0x11eed8caaeccf1.0p-81 */
+ C6 = -1.1470297442401303e-11, /* -0x19393412bd1529.0p-89 */
+ C7 = 4.7383039476436467e-14; /* 0x1aac9d9af5c43e.0p-97 */
+#define POLY(z) ((z) * (C1 + (z) * (C2 + (z) * (C3 + (z) * (C4 + (z) * (C5 + (z) * (C6 + (z) * C7)))))))
#elif LDBL_MANT_DIG == 113
/*
* ld128 version of __cos.c. See __cos.c for most comments.
@@ -83,18 +77,10 @@ static const double C8 = -0.1561920696721507929516718307820958119868e-15,
C9 = 0.4110317413744594971475941557607804508039e-18,
C10 = -0.8896592467191938803288521958313920156409e-21,
C11 = 0.1601061435794535138244346256065192782581e-23;
-#define POLY(z) \
- (z * \
- (C1 + \
- z * (C2 + \
- z * (C3 + \
- z * (C4 + \
- z * (C5 + \
- z * (C6 + \
- z * (C7 + \
- z * (C8 + \
- z * (C9 + z * (C10 + \
- z * C11)))))))))))
+#define POLY(z) \
+ (z * (C1 + \
+ z * (C2 + \
+ z * (C3 + z * (C4 + z * (C5 + z * (C6 + z * (C7 + z * (C8 + z * (C9 + z * (C10 + z * C11)))))))))))
#endif
long double __cosl(long double x, long double y)
diff --git a/lib/libm/__invtrigl.c b/lib/libm/__invtrigl.c
index 8e8273ae..eed13971 100644
--- a/lib/libm/__invtrigl.c
+++ b/lib/libm/__invtrigl.c
@@ -3,18 +3,12 @@
#include <float.h> // for LDBL_MANT_DIG, LDBL_MAX_EXP
#if LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
-static const long double pS0 = 1.66666666666666666631e-01L,
- pS1 = -4.16313987993683104320e-01L,
- pS2 = 3.69068046323246813704e-01L,
- pS3 = -1.36213932016738603108e-01L,
- pS4 = 1.78324189708471965733e-02L,
- pS5 = -2.19216428382605211588e-04L,
- pS6 = -7.10526623669075243183e-06L,
- qS1 = -2.94788392796209867269e+00L,
- qS2 = 3.27309890266528636716e+00L,
- qS3 = -1.68285799854822427013e+00L,
- qS4 = 3.90699412641738801874e-01L,
- qS5 = -3.14365703596053263322e-02L;
+static const long double pS0 = 1.66666666666666666631e-01L, pS1 = -4.16313987993683104320e-01L,
+ pS2 = 3.69068046323246813704e-01L, pS3 = -1.36213932016738603108e-01L,
+ pS4 = 1.78324189708471965733e-02L, pS5 = -2.19216428382605211588e-04L,
+ pS6 = -7.10526623669075243183e-06L, qS1 = -2.94788392796209867269e+00L,
+ qS2 = 3.27309890266528636716e+00L, qS3 = -1.68285799854822427013e+00L,
+ qS4 = 3.90699412641738801874e-01L, qS5 = -3.14365703596053263322e-02L;
const long double pio2_hi = 1.57079632679489661926L;
const long double pio2_lo = -2.50827880633416601173e-20L;
@@ -24,9 +18,7 @@ const long double pio2_lo = -2.50827880633416601173e-20L;
long double __invtrigl_R(long double z)
{
long double p, q;
- p = z * (pS0 +
- z * (pS1 +
- z * (pS2 + z * (pS3 + z * (pS4 + z * (pS5 + z * pS6))))));
+ p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * (pS5 + z * pS6))))));
q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * (qS4 + z * qS5))));
return p / q;
}
@@ -57,23 +49,11 @@ const long double pio2_lo = 4.33590506506189051239852201302167613e-35L;
long double __invtrigl_R(long double z)
{
long double p, q;
- p = z * (pS0 +
- z * (pS1 +
- z * (pS2 +
- z * (pS3 +
- z * (pS4 +
- z * (pS5 +
- z * (pS6 +
- z * (pS7 +
- z * (pS8 + z * pS9)))))))));
+ p = z *
+ (pS0 +
+ z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * (pS5 + z * (pS6 + z * (pS7 + z * (pS8 + z * pS9)))))))));
q = 1.0 +
- z * (qS1 +
- z * (qS2 +
- z * (qS3 +
- z * (qS4 +
- z * (qS5 +
- z * (qS6 +
- z * (qS7 + z * (qS8 + z * qS9))))))));
+ z * (qS1 + z * (qS2 + z * (qS3 + z * (qS4 + z * (qS5 + z * (qS6 + z * (qS7 + z * (qS8 + z * qS9))))))));
return p / q;
}
#endif
diff --git a/lib/libm/__rem_pio2.c b/lib/libm/__rem_pio2.c
index 1d81061f..822b729f 100644
--- a/lib/libm/__rem_pio2.c
+++ b/lib/libm/__rem_pio2.c
@@ -38,9 +38,9 @@
* pio2_3: third 33 bit of pi/2
* pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3)
*/
-static const double toint = 1.5 / EPS, pio4 = 0x1.921fb54442d18p-1,
- invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30,
- 0x6DC9C883 */
+static const double toint = 1.5 / EPS, pio4 = 0x1.921fb54442d18p-1, invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30,
+ 0x6DC9C883
+ */
pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */
pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */
pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */
@@ -64,8 +64,8 @@ int __rem_pio2(double x, double *y)
ix = u.i >> 32 & 0x7fffffff;
if (ix <= 0x400f6a7a) { /* |x| ~<= 5pi/4 */
if ((ix & 0xfffff) == 0x921fb) /* |x| ~= pi/2 or 2pi/2 */
- goto medium; /* cancellation -- use medium case */
- if (ix <= 0x4002d97c) { /* |x| ~<= 3pi/4 */
+ goto medium; /* cancellation -- use medium case */
+ if (ix <= 0x4002d97c) { /* |x| ~<= 3pi/4 */
if (!sign) {
z = x - pio2_1; /* one round good to 85 bits */
y[0] = z - pio2_1t;
diff --git a/lib/libm/__rem_pio2_large.c b/lib/libm/__rem_pio2_large.c
index 8b97a6f6..f7df00d4 100644
--- a/lib/libm/__rem_pio2_large.c
+++ b/lib/libm/__rem_pio2_large.c
@@ -143,108 +143,71 @@ static const int init_jk[] = { 3, 4, 4, 6 }; /* initial value for jk */
* For quad precision (e0 <= 16360, jk = 6), this is 686.
*/
static const int32_t ipio2[] = {
- 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C,
- 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A, 0x424DD2, 0xE00649,
- 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44,
- 0x84E99C, 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B,
- 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D,
- 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5,
- 0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330,
- 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E, 0xE61B08,
- 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA,
- 0x73A8C9, 0x60E27B, 0xC08C6B,
+ 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7,
+ 0x246E3A, 0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C,
+ 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11,
+ 0x8B5A0A, 0x6D1F6D, 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, 0xF17B3D, 0x0739F7,
+ 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E,
+ 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B,
#if LDBL_MAX_EXP > 1024
- 0x47C419, 0xC367CD, 0xDCE809, 0x2A8359, 0xC4768B, 0x961CA6, 0xDDAF44,
- 0xD15719, 0x053EA5, 0xFF0705, 0x3F7E33, 0xE832C2, 0xDE4F98, 0x327DBB,
- 0xC33D26, 0xEF6B1E, 0x5EF89F, 0x3A1F35, 0xCAF27F, 0x1D87F1, 0x21907C,
- 0x7C246A, 0xFA6ED5, 0x772D30, 0x433B15, 0xC614B5, 0x9D19C3, 0xC2C4AD,
- 0x414D2C, 0x5D000C, 0x467D86, 0x2D71E3, 0x9AC69B, 0x006233, 0x7CD2B4,
- 0x97A7B4, 0xD55537, 0xF63ED7, 0x1810A3, 0xFC764D, 0x2A9D64, 0xABD770,
- 0xF87C63, 0x57B07A, 0xE71517, 0x5649C0, 0xD9D63B, 0x3884A7, 0xCB2324,
- 0x778AD6, 0x23545A, 0xB91F00, 0x1B0AF1, 0xDFCE19, 0xFF319F, 0x6A1E66,
- 0x615799, 0x47FBAC, 0xD87F7E, 0xB76522, 0x89E832, 0x60BFE6, 0xCDC4EF,
- 0x09366C, 0xD43F5D, 0xD7DE16, 0xDE3B58, 0x929BDE, 0x2822D2, 0xE88628,
- 0x4D58E2, 0x32CAC6, 0x16E308, 0xCB7DE0, 0x50C017, 0xA71DF3, 0x5BE018,
- 0x34132E, 0x621283, 0x014883, 0x5B8EF5, 0x7FB0AD, 0xF2E91E, 0x434A48,
- 0xD36710, 0xD8DDAA, 0x425FAE, 0xCE616A, 0xA4280A, 0xB499D3, 0xF2A606,
- 0x7F775C, 0x83C2A3, 0x883C61, 0x78738A, 0x5A8CAF, 0xBDD76F, 0x63A62D,
- 0xCBBFF4, 0xEF818D, 0x67C126, 0x45CA55, 0x36D9CA, 0xD2A828, 0x8D61C2,
- 0x77C912, 0x142604, 0x9B4612, 0xC459C4, 0x44C5C8, 0x91B24D, 0xF31700,
- 0xAD43D4, 0xE54929, 0x10D5FD, 0xFCBE00, 0xCC941E, 0xEECE70, 0xF53E13,
- 0x80F1EC, 0xC3E7B3, 0x28F8C7, 0x940593, 0x3E71C1, 0xB3092E, 0xF3450B,
- 0x9C1288, 0x7B20AB, 0x9FB52E, 0xC29247, 0x2F327B, 0x6D550C, 0x90A772,
- 0x1FE76B, 0x96CB31, 0x4A1679, 0xE27941, 0x89DFF4, 0x9794E8, 0x84E6E2,
- 0x973199, 0x6BED88, 0x365F5F, 0x0EFDBB, 0xB49A48, 0x6CA467, 0x427271,
- 0x325D8D, 0xB8159F, 0x09E5BC, 0x25318D, 0x3974F7, 0x1C0530, 0x010C0D,
- 0x68084B, 0x58EE2C, 0x90AA47, 0x02E774, 0x24D6BD, 0xA67DF7, 0x72486E,
- 0xEF169F, 0xA6948E, 0xF691B4, 0x5153D1, 0xF20ACF, 0x339820, 0x7E4BF5,
- 0x6863B2, 0x5F3EDD, 0x035D40, 0x7F8985, 0x295255, 0xC06437, 0x10D86D,
- 0x324832, 0x754C5B, 0xD4714E, 0x6E5445, 0xC1090B, 0x69F52A, 0xD56614,
- 0x9D0727, 0x50045D, 0xDB3BB4, 0xC576EA, 0x17F987, 0x7D6B49, 0xBA271D,
- 0x296996, 0xACCCC6, 0x5414AD, 0x6AE290, 0x89D988, 0x50722C, 0xBEA404,
- 0x940777, 0x7030F3, 0x27FC00, 0xA871EA, 0x49C266, 0x3DE064, 0x83DD97,
- 0x973FA3, 0xFD9443, 0x8C860D, 0xDE4131, 0x9D3992, 0x8C70DD, 0xE7B717,
- 0x3BDF08, 0x2B3715, 0xA0805C, 0x93805A, 0x921110, 0xD8E80F, 0xAF806C,
- 0x4BFFDB, 0x0F9038, 0x761859, 0x15A562, 0xBBCB61, 0xB989C7, 0xBD4010,
- 0x04F2D2, 0x277549, 0xF6B6EB, 0xBB22DB, 0xAA140A, 0x2F2689, 0x768364,
- 0x333B09, 0x1A940E, 0xAA3A51, 0xC2A31D, 0xAEEDAF, 0x12265C, 0x4DC26D,
- 0x9C7A2D, 0x9756C0, 0x833F03, 0xF6F009, 0x8C402B, 0x99316D, 0x07B439,
- 0x15200C, 0x5BC3D8, 0xC492F5, 0x4BADC6, 0xA5CA4E, 0xCD37A7, 0x36A9E6,
- 0x9492AB, 0x6842DD, 0xDE6319, 0xEF8C76, 0x528B68, 0x37DBFC, 0xABA1AE,
- 0x3115DF, 0xA1AE00, 0xDAFB0C, 0x664D64, 0xB705ED, 0x306529, 0xBF5657,
- 0x3AFF47, 0xB9F96A, 0xF3BE75, 0xDF9328, 0x3080AB, 0xF68C66, 0x15CB04,
- 0x0622FA, 0x1DE4D9, 0xA4B33D, 0x8F1B57, 0x09CD36, 0xE9424E, 0xA4BE13,
- 0xB52333, 0x1AAAF0, 0xA8654F, 0xA5C1D2, 0x0F3F0B, 0xCD785B, 0x76F923,
- 0x048B7B, 0x721789, 0x53A6C6, 0xE26E6F, 0x00EBEF, 0x584A9B, 0xB7DAC4,
- 0xBA66AA, 0xCFCF76, 0x1D02D1, 0x2DF1B1, 0xC1998C, 0x77ADC3, 0xDA4886,
- 0xA05DF7, 0xF480C6, 0x2FF0AC, 0x9AECDD, 0xBC5C3F, 0x6DDED0, 0x1FC790,
- 0xB6DB2A, 0x3A25A3, 0x9AAF00, 0x9353AD, 0x0457B6, 0xB42D29, 0x7E804B,
- 0xA707DA, 0x0EAA76, 0xA1597B, 0x2A1216, 0x2DB7DC, 0xFDE5FA, 0xFEDB89,
- 0xFDBE89, 0x6C76E4, 0xFCA906, 0x70803E, 0x156E85, 0xFF87FD, 0x073E28,
- 0x336761, 0x86182A, 0xEABD4D, 0xAFE7B3, 0x6E6D8F, 0x396795, 0x5BBF31,
- 0x48D784, 0x16DF30, 0x432DC7, 0x356125, 0xCE70C9, 0xB8CB30, 0xFD6CBF,
- 0xA200A4, 0xE46C05, 0xA0DD5A, 0x476F21, 0xD21262, 0x845CB9, 0x496170,
- 0xE0566B, 0x015299, 0x375550, 0xB7D51E, 0xC4F133, 0x5F6E13, 0xE4305D,
- 0xA92E85, 0xC3B21D, 0x3632A1, 0xA4B708, 0xD4B1EA, 0x21F716, 0xE4698F,
- 0x77FF27, 0x80030C, 0x2D408D, 0xA0CD4F, 0x99A520, 0xD3A2B3, 0x0A5D2F,
- 0x42F9B4, 0xCBDA11, 0xD0BE7D, 0xC1DB9B, 0xBD17AB, 0x81A2CA, 0x5C6A08,
- 0x17552E, 0x550027, 0xF0147F, 0x8607E1, 0x640B14, 0x8D4196, 0xDEBE87,
- 0x2AFDDA, 0xB6256B, 0x34897B, 0xFEF305, 0x9EBFB9, 0x4F6A68, 0xA82A4A,
- 0x5AC44F, 0xBCF82D, 0x985AD7, 0x95C7F4, 0x8D4D0D, 0xA63A20, 0x5F57A4,
- 0xB13F14, 0x953880, 0x0120CC, 0x86DD71, 0xB6DEC9, 0xF560BF, 0x11654D,
- 0x6B0701, 0xACB08C, 0xD0C0B2, 0x485551, 0x0EFB1E, 0xC37295, 0x3B06A3,
- 0x3540C0, 0x7BDC06, 0xCC45E0, 0xFA294E, 0xC8CAD6, 0x41F3E8, 0xDE647C,
- 0xD8649B, 0x31BED9, 0xC397A4, 0xD45877, 0xC5E369, 0x13DAF0, 0x3C3ABA,
- 0x461846, 0x5F7555, 0xF5BDD2, 0xC6926E, 0x5D2EAC, 0xED440E, 0x423E1C,
- 0x87C461, 0xE9FD29, 0xF3D6E7, 0xCA7C22, 0x35916F, 0xC5E008, 0x8DD7FF,
- 0xE26A6E, 0xC6FDB0, 0xC10893, 0x745D7C, 0xB2AD6B, 0x9D6ECD, 0x7B723E,
- 0x6A11C6, 0xA9CFF7, 0xDF7329, 0xBAC9B5, 0x5100B7, 0x0DB2E2, 0x24BA74,
- 0x607DE5, 0x8AD874, 0x2C150D, 0x0C1881, 0x94667E, 0x162901, 0x767A9F,
- 0xBEFDFD, 0xEF4556, 0x367ED9, 0x13D9EC, 0xB9BA8B, 0xFC97C4, 0x27A831,
- 0xC36EF1, 0x36C594, 0x56A8D8, 0xB5A8B4, 0x0ECCCF, 0x2D8912, 0x34576F,
- 0x89562C, 0xE3CE99, 0xB920D6, 0xAA5E6B, 0x9C2A3E, 0xCC5F11, 0x4A0BFD,
- 0xFBF4E1, 0x6D3B8E, 0x2C86E2, 0x84D4E9, 0xA9B4FC, 0xD1EEEF, 0xC9352E,
- 0x61392F, 0x442138, 0xC8D91B, 0x0AFC81, 0x6A4AFB, 0xD81C2F, 0x84B453,
- 0x8C994E, 0xCC2254, 0xDC552A, 0xD6C6C0, 0x96190B, 0xB8701A, 0x649569,
- 0x605A26, 0xEE523F, 0x0F117F, 0x11B5F4, 0xF5CBFC, 0x2DBC34, 0xEEBC34,
- 0xCC5DE8, 0x605EDD, 0x9B8E67, 0xEF3392, 0xB817C9, 0x9B5861, 0xBC57E1,
- 0xC68351, 0x103ED8, 0x4871DD, 0xDD1C2D, 0xA118AF, 0x462C21, 0xD7F359,
- 0x987AD9, 0xC0549E, 0xFA864F, 0xFC0656, 0xAE79E5, 0x362289, 0x22AD38,
- 0xDC9367, 0xAAE855, 0x382682, 0x9BE7CA, 0xA40D51, 0xB13399, 0x0ED7A9,
- 0x480569, 0xF0B265, 0xA7887F, 0x974C88, 0x36D1F9, 0xB39221, 0x4A827B,
- 0x21CF98, 0xDC9F40, 0x5547DC, 0x3A74E1, 0x42EB67, 0xDF9DFE, 0x5FD45E,
- 0xA4677B, 0x7AACBA, 0xA2F655, 0x23882B, 0x55BA41, 0x086E59, 0x862A21,
- 0x834739, 0xE6E389, 0xD49EE5, 0x40FB49, 0xE956FF, 0xCA0F1C, 0x8A59C5,
- 0x2BFA94, 0xC5C1D3, 0xCFC50F, 0xAE5ADB, 0x86C547, 0x624385, 0x3B8621,
- 0x94792C, 0x876110, 0x7B4C2A, 0x1A2C80, 0x12BF43, 0x902688, 0x893C78,
- 0xE4C4A8, 0x7BDBE5, 0xC23AC4, 0xEAF426, 0x8A67F7, 0xBF920D, 0x2BA365,
- 0xB1933D, 0x0B7CBD, 0xDC51A4, 0x63DD27, 0xDDE169, 0x19949A, 0x9529A8,
- 0x28CE68, 0xB4ED09, 0x209F44, 0xCA984E, 0x638270, 0x237C7E, 0x32B90F,
- 0x8EF5A7, 0xE75614, 0x08F121, 0x2A9DB5, 0x4D7E6F, 0x5119A5, 0xABF9B5,
- 0xD6DF82, 0x61DD96, 0x023616, 0x9F3AC4, 0xA1A283, 0x6DED72, 0x7A8D39,
- 0xA9B882, 0x5C326B, 0x5B2746, 0xED3400, 0x7700D2, 0x55F4FC, 0x4D5901,
- 0x8071E0,
+ 0x47C419, 0xC367CD, 0xDCE809, 0x2A8359, 0xC4768B, 0x961CA6, 0xDDAF44, 0xD15719, 0x053EA5, 0xFF0705, 0x3F7E33,
+ 0xE832C2, 0xDE4F98, 0x327DBB, 0xC33D26, 0xEF6B1E, 0x5EF89F, 0x3A1F35, 0xCAF27F, 0x1D87F1, 0x21907C, 0x7C246A,
+ 0xFA6ED5, 0x772D30, 0x433B15, 0xC614B5, 0x9D19C3, 0xC2C4AD, 0x414D2C, 0x5D000C, 0x467D86, 0x2D71E3, 0x9AC69B,
+ 0x006233, 0x7CD2B4, 0x97A7B4, 0xD55537, 0xF63ED7, 0x1810A3, 0xFC764D, 0x2A9D64, 0xABD770, 0xF87C63, 0x57B07A,
+ 0xE71517, 0x5649C0, 0xD9D63B, 0x3884A7, 0xCB2324, 0x778AD6, 0x23545A, 0xB91F00, 0x1B0AF1, 0xDFCE19, 0xFF319F,
+ 0x6A1E66, 0x615799, 0x47FBAC, 0xD87F7E, 0xB76522, 0x89E832, 0x60BFE6, 0xCDC4EF, 0x09366C, 0xD43F5D, 0xD7DE16,
+ 0xDE3B58, 0x929BDE, 0x2822D2, 0xE88628, 0x4D58E2, 0x32CAC6, 0x16E308, 0xCB7DE0, 0x50C017, 0xA71DF3, 0x5BE018,
+ 0x34132E, 0x621283, 0x014883, 0x5B8EF5, 0x7FB0AD, 0xF2E91E, 0x434A48, 0xD36710, 0xD8DDAA, 0x425FAE, 0xCE616A,
+ 0xA4280A, 0xB499D3, 0xF2A606, 0x7F775C, 0x83C2A3, 0x883C61, 0x78738A, 0x5A8CAF, 0xBDD76F, 0x63A62D, 0xCBBFF4,
+ 0xEF818D, 0x67C126, 0x45CA55, 0x36D9CA, 0xD2A828, 0x8D61C2, 0x77C912, 0x142604, 0x9B4612, 0xC459C4, 0x44C5C8,
+ 0x91B24D, 0xF31700, 0xAD43D4, 0xE54929, 0x10D5FD, 0xFCBE00, 0xCC941E, 0xEECE70, 0xF53E13, 0x80F1EC, 0xC3E7B3,
+ 0x28F8C7, 0x940593, 0x3E71C1, 0xB3092E, 0xF3450B, 0x9C1288, 0x7B20AB, 0x9FB52E, 0xC29247, 0x2F327B, 0x6D550C,
+ 0x90A772, 0x1FE76B, 0x96CB31, 0x4A1679, 0xE27941, 0x89DFF4, 0x9794E8, 0x84E6E2, 0x973199, 0x6BED88, 0x365F5F,
+ 0x0EFDBB, 0xB49A48, 0x6CA467, 0x427271, 0x325D8D, 0xB8159F, 0x09E5BC, 0x25318D, 0x3974F7, 0x1C0530, 0x010C0D,
+ 0x68084B, 0x58EE2C, 0x90AA47, 0x02E774, 0x24D6BD, 0xA67DF7, 0x72486E, 0xEF169F, 0xA6948E, 0xF691B4, 0x5153D1,
+ 0xF20ACF, 0x339820, 0x7E4BF5, 0x6863B2, 0x5F3EDD, 0x035D40, 0x7F8985, 0x295255, 0xC06437, 0x10D86D, 0x324832,
+ 0x754C5B, 0xD4714E, 0x6E5445, 0xC1090B, 0x69F52A, 0xD56614, 0x9D0727, 0x50045D, 0xDB3BB4, 0xC576EA, 0x17F987,
+ 0x7D6B49, 0xBA271D, 0x296996, 0xACCCC6, 0x5414AD, 0x6AE290, 0x89D988, 0x50722C, 0xBEA404, 0x940777, 0x7030F3,
+ 0x27FC00, 0xA871EA, 0x49C266, 0x3DE064, 0x83DD97, 0x973FA3, 0xFD9443, 0x8C860D, 0xDE4131, 0x9D3992, 0x8C70DD,
+ 0xE7B717, 0x3BDF08, 0x2B3715, 0xA0805C, 0x93805A, 0x921110, 0xD8E80F, 0xAF806C, 0x4BFFDB, 0x0F9038, 0x761859,
+ 0x15A562, 0xBBCB61, 0xB989C7, 0xBD4010, 0x04F2D2, 0x277549, 0xF6B6EB, 0xBB22DB, 0xAA140A, 0x2F2689, 0x768364,
+ 0x333B09, 0x1A940E, 0xAA3A51, 0xC2A31D, 0xAEEDAF, 0x12265C, 0x4DC26D, 0x9C7A2D, 0x9756C0, 0x833F03, 0xF6F009,
+ 0x8C402B, 0x99316D, 0x07B439, 0x15200C, 0x5BC3D8, 0xC492F5, 0x4BADC6, 0xA5CA4E, 0xCD37A7, 0x36A9E6, 0x9492AB,
+ 0x6842DD, 0xDE6319, 0xEF8C76, 0x528B68, 0x37DBFC, 0xABA1AE, 0x3115DF, 0xA1AE00, 0xDAFB0C, 0x664D64, 0xB705ED,
+ 0x306529, 0xBF5657, 0x3AFF47, 0xB9F96A, 0xF3BE75, 0xDF9328, 0x3080AB, 0xF68C66, 0x15CB04, 0x0622FA, 0x1DE4D9,
+ 0xA4B33D, 0x8F1B57, 0x09CD36, 0xE9424E, 0xA4BE13, 0xB52333, 0x1AAAF0, 0xA8654F, 0xA5C1D2, 0x0F3F0B, 0xCD785B,
+ 0x76F923, 0x048B7B, 0x721789, 0x53A6C6, 0xE26E6F, 0x00EBEF, 0x584A9B, 0xB7DAC4, 0xBA66AA, 0xCFCF76, 0x1D02D1,
+ 0x2DF1B1, 0xC1998C, 0x77ADC3, 0xDA4886, 0xA05DF7, 0xF480C6, 0x2FF0AC, 0x9AECDD, 0xBC5C3F, 0x6DDED0, 0x1FC790,
+ 0xB6DB2A, 0x3A25A3, 0x9AAF00, 0x9353AD, 0x0457B6, 0xB42D29, 0x7E804B, 0xA707DA, 0x0EAA76, 0xA1597B, 0x2A1216,
+ 0x2DB7DC, 0xFDE5FA, 0xFEDB89, 0xFDBE89, 0x6C76E4, 0xFCA906, 0x70803E, 0x156E85, 0xFF87FD, 0x073E28, 0x336761,
+ 0x86182A, 0xEABD4D, 0xAFE7B3, 0x6E6D8F, 0x396795, 0x5BBF31, 0x48D784, 0x16DF30, 0x432DC7, 0x356125, 0xCE70C9,
+ 0xB8CB30, 0xFD6CBF, 0xA200A4, 0xE46C05, 0xA0DD5A, 0x476F21, 0xD21262, 0x845CB9, 0x496170, 0xE0566B, 0x015299,
+ 0x375550, 0xB7D51E, 0xC4F133, 0x5F6E13, 0xE4305D, 0xA92E85, 0xC3B21D, 0x3632A1, 0xA4B708, 0xD4B1EA, 0x21F716,
+ 0xE4698F, 0x77FF27, 0x80030C, 0x2D408D, 0xA0CD4F, 0x99A520, 0xD3A2B3, 0x0A5D2F, 0x42F9B4, 0xCBDA11, 0xD0BE7D,
+ 0xC1DB9B, 0xBD17AB, 0x81A2CA, 0x5C6A08, 0x17552E, 0x550027, 0xF0147F, 0x8607E1, 0x640B14, 0x8D4196, 0xDEBE87,
+ 0x2AFDDA, 0xB6256B, 0x34897B, 0xFEF305, 0x9EBFB9, 0x4F6A68, 0xA82A4A, 0x5AC44F, 0xBCF82D, 0x985AD7, 0x95C7F4,
+ 0x8D4D0D, 0xA63A20, 0x5F57A4, 0xB13F14, 0x953880, 0x0120CC, 0x86DD71, 0xB6DEC9, 0xF560BF, 0x11654D, 0x6B0701,
+ 0xACB08C, 0xD0C0B2, 0x485551, 0x0EFB1E, 0xC37295, 0x3B06A3, 0x3540C0, 0x7BDC06, 0xCC45E0, 0xFA294E, 0xC8CAD6,
+ 0x41F3E8, 0xDE647C, 0xD8649B, 0x31BED9, 0xC397A4, 0xD45877, 0xC5E369, 0x13DAF0, 0x3C3ABA, 0x461846, 0x5F7555,
+ 0xF5BDD2, 0xC6926E, 0x5D2EAC, 0xED440E, 0x423E1C, 0x87C461, 0xE9FD29, 0xF3D6E7, 0xCA7C22, 0x35916F, 0xC5E008,
+ 0x8DD7FF, 0xE26A6E, 0xC6FDB0, 0xC10893, 0x745D7C, 0xB2AD6B, 0x9D6ECD, 0x7B723E, 0x6A11C6, 0xA9CFF7, 0xDF7329,
+ 0xBAC9B5, 0x5100B7, 0x0DB2E2, 0x24BA74, 0x607DE5, 0x8AD874, 0x2C150D, 0x0C1881, 0x94667E, 0x162901, 0x767A9F,
+ 0xBEFDFD, 0xEF4556, 0x367ED9, 0x13D9EC, 0xB9BA8B, 0xFC97C4, 0x27A831, 0xC36EF1, 0x36C594, 0x56A8D8, 0xB5A8B4,
+ 0x0ECCCF, 0x2D8912, 0x34576F, 0x89562C, 0xE3CE99, 0xB920D6, 0xAA5E6B, 0x9C2A3E, 0xCC5F11, 0x4A0BFD, 0xFBF4E1,
+ 0x6D3B8E, 0x2C86E2, 0x84D4E9, 0xA9B4FC, 0xD1EEEF, 0xC9352E, 0x61392F, 0x442138, 0xC8D91B, 0x0AFC81, 0x6A4AFB,
+ 0xD81C2F, 0x84B453, 0x8C994E, 0xCC2254, 0xDC552A, 0xD6C6C0, 0x96190B, 0xB8701A, 0x649569, 0x605A26, 0xEE523F,
+ 0x0F117F, 0x11B5F4, 0xF5CBFC, 0x2DBC34, 0xEEBC34, 0xCC5DE8, 0x605EDD, 0x9B8E67, 0xEF3392, 0xB817C9, 0x9B5861,
+ 0xBC57E1, 0xC68351, 0x103ED8, 0x4871DD, 0xDD1C2D, 0xA118AF, 0x462C21, 0xD7F359, 0x987AD9, 0xC0549E, 0xFA864F,
+ 0xFC0656, 0xAE79E5, 0x362289, 0x22AD38, 0xDC9367, 0xAAE855, 0x382682, 0x9BE7CA, 0xA40D51, 0xB13399, 0x0ED7A9,
+ 0x480569, 0xF0B265, 0xA7887F, 0x974C88, 0x36D1F9, 0xB39221, 0x4A827B, 0x21CF98, 0xDC9F40, 0x5547DC, 0x3A74E1,
+ 0x42EB67, 0xDF9DFE, 0x5FD45E, 0xA4677B, 0x7AACBA, 0xA2F655, 0x23882B, 0x55BA41, 0x086E59, 0x862A21, 0x834739,
+ 0xE6E389, 0xD49EE5, 0x40FB49, 0xE956FF, 0xCA0F1C, 0x8A59C5, 0x2BFA94, 0xC5C1D3, 0xCFC50F, 0xAE5ADB, 0x86C547,
+ 0x624385, 0x3B8621, 0x94792C, 0x876110, 0x7B4C2A, 0x1A2C80, 0x12BF43, 0x902688, 0x893C78, 0xE4C4A8, 0x7BDBE5,
+ 0xC23AC4, 0xEAF426, 0x8A67F7, 0xBF920D, 0x2BA365, 0xB1933D, 0x0B7CBD, 0xDC51A4, 0x63DD27, 0xDDE169, 0x19949A,
+ 0x9529A8, 0x28CE68, 0xB4ED09, 0x209F44, 0xCA984E, 0x638270, 0x237C7E, 0x32B90F, 0x8EF5A7, 0xE75614, 0x08F121,
+ 0x2A9DB5, 0x4D7E6F, 0x5119A5, 0xABF9B5, 0xD6DF82, 0x61DD96, 0x023616, 0x9F3AC4, 0xA1A283, 0x6DED72, 0x7A8D39,
+ 0xA9B882, 0x5C326B, 0x5B2746, 0xED3400, 0x7700D2, 0x55F4FC, 0x4D5901, 0x8071E0,
#endif
};
diff --git a/lib/libm/__rem_pio2f.c b/lib/libm/__rem_pio2f.c
index 6316b60a..04326777 100644
--- a/lib/libm/__rem_pio2f.c
+++ b/lib/libm/__rem_pio2f.c
@@ -37,9 +37,8 @@
* pio2_1: first 25 bits of pi/2
* pio2_1t: pi/2 - pio2_1
*/
-static const double toint = 1.5 / EPS, pio4 = 0x1.921fb6p-1,
- invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30,
- 0x6DC9C883 */
+static const double toint = 1.5 / EPS, pio4 = 0x1.921fb6p-1, invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30,
+ 0x6DC9C883 */
pio2_1 = 1.57079631090164184570e+00, /* 0x3FF921FB, 0x50000000 */
pio2_1t = 1.58932547735281966916e-08; /* 0x3E5110b4, 0x611A6263 */
diff --git a/lib/libm/__rem_pio2l.c b/lib/libm/__rem_pio2l.c
index f5d28dde..7c980ba4 100644
--- a/lib/libm/__rem_pio2l.c
+++ b/lib/libm/__rem_pio2l.c
@@ -27,9 +27,7 @@ static const long double toint = 1.5 / LDBL_EPSILON;
#if LDBL_MANT_DIG == 64
/* u ~< 0x1p25*pi/2 */
-#define SMALL(u) \
- ((((u).i.se & 0x7fffU) << 16 | (u).i.m >> 48) < \
- ((0x3fff + 25) << 16 | 0x921f >> 1 | 0x8000))
+#define SMALL(u) ((((u).i.se & 0x7fffU) << 16 | (u).i.m >> 48) < ((0x3fff + 25) << 16 | 0x921f >> 1 | 0x8000))
#define QUOBITS(x) ((uint32_t)(int32_t)(x) & 0x7fffffff)
#define ROUND1 22
#define ROUND2 61
@@ -46,47 +44,37 @@ static const long double toint = 1.5 / LDBL_EPSILON;
*/
static const double pio2_1 = 1.57079632679597125389e+00, /* 0x3FF921FB,
0x54444000 */
- pio2_2 = -1.07463465549783099519e-12, /* -0x12e7b967674000.0p-92 */
- pio2_3 = 6.36831716351370313614e-25; /* 0x18a2e037074000.0p-133 */
-static const long double
- pio4 = 0x1.921fb54442d1846ap-1L,
- invpio2 = 6.36619772367581343076e-01L, /* 0xa2f9836e4e44152a.0p-64
- */
- pio2_1t = -1.07463465549719416346e-12L, /* -0x973dcb3b399d747f.0p-103 */
- pio2_2t = 6.36831716351095013979e-25L, /* 0xc51701b839a25205.0p-144 */
- pio2_3t = -2.75299651904407171810e-37L; /* -0xbb5bf6c7ddd660ce.0p-185 */
+ pio2_2 = -1.07463465549783099519e-12, /* -0x12e7b967674000.0p-92 */
+ pio2_3 = 6.36831716351370313614e-25; /* 0x18a2e037074000.0p-133 */
+static const long double pio4 = 0x1.921fb54442d1846ap-1L,
+ invpio2 = 6.36619772367581343076e-01L, /* 0xa2f9836e4e44152a.0p-64
+ */
+ pio2_1t = -1.07463465549719416346e-12L, /* -0x973dcb3b399d747f.0p-103 */
+ pio2_2t = 6.36831716351095013979e-25L, /* 0xc51701b839a25205.0p-144 */
+ pio2_3t = -2.75299651904407171810e-37L; /* -0xbb5bf6c7ddd660ce.0p-185 */
#elif LDBL_MANT_DIG == 113
/* u ~< 0x1p45*pi/2 */
-#define SMALL(u) \
- (((u.i.se & 0x7fffU) << 16 | u.i.top) < ((0x3fff + 45) << 16 | 0x921f))
+#define SMALL(u) (((u.i.se & 0x7fffU) << 16 | u.i.top) < ((0x3fff + 45) << 16 | 0x921f))
#define QUOBITS(x) ((uint32_t)(int64_t)x & 0x7fffffff)
#define ROUND1 51
#define ROUND2 119
#define NX 5
#define NY 3
-static const long double
- pio4 = 0x1.921fb54442d18469898cc51701b8p-1L,
- invpio2 =
- 6.3661977236758134307553505349005747e-01L, /* 0x145f306dc9c882a53f84eafa3ea6a.0p-113
- */
- pio2_1 =
- 1.5707963267948966192292994253909555e+00L, /* 0x1921fb54442d18469800000000000.0p-112
- */
- pio2_1t =
- 2.0222662487959507323996846200947577e-21L, /* 0x13198a2e03707344a4093822299f3.0p-181
- */
- pio2_2 =
- 2.0222662487959507323994779168837751e-21L, /* 0x13198a2e03707344a400000000000.0p-181
- */
- pio2_2t =
- 2.0670321098263988236496903051604844e-43L, /* 0x127044533e63a0105df531d89cd91.0p-254
- */
- pio2_3 =
- 2.0670321098263988236499468110329591e-43L, /* 0x127044533e63a0105e00000000000.0p-254
- */
- pio2_3t =
- -2.5650587247459238361625433492959285e-65L; /* -0x159c4ec64ddaeb5f78671cbfb2210.0p-327
- */
+static const long double pio4 = 0x1.921fb54442d18469898cc51701b8p-1L,
+ invpio2 = 6.3661977236758134307553505349005747e-01L, /* 0x145f306dc9c882a53f84eafa3ea6a.0p-113
+ */
+ pio2_1 = 1.5707963267948966192292994253909555e+00L, /* 0x1921fb54442d18469800000000000.0p-112
+ */
+ pio2_1t = 2.0222662487959507323996846200947577e-21L, /* 0x13198a2e03707344a4093822299f3.0p-181
+ */
+ pio2_2 = 2.0222662487959507323994779168837751e-21L, /* 0x13198a2e03707344a400000000000.0p-181
+ */
+ pio2_2t = 2.0670321098263988236496903051604844e-43L, /* 0x127044533e63a0105df531d89cd91.0p-254
+ */
+ pio2_3 = 2.0670321098263988236499468110329591e-43L, /* 0x127044533e63a0105e00000000000.0p-254
+ */
+ pio2_3t = -2.5650587247459238361625433492959285e-65L; /* -0x159c4ec64ddaeb5f78671cbfb2210.0p-327
+ */
#endif
int __rem_pio2l(long double x, long double *y)
@@ -131,8 +119,8 @@ int __rem_pio2l(long double x, long double *y)
ey = u.i.se & 0x7fff;
if (ex - ey > ROUND2) { /* 3rd iteration, good to
180/316 bits */
- t = r; /* will cover all possible cases (not
- verified for ld128) */
+ t = r; /* will cover all possible cases (not
+ verified for ld128) */
w = fn * pio2_3;
r = t - w;
w = fn * pio2_3t - ((t - r) - w);
diff --git a/lib/libm/__sin.c b/lib/libm/__sin.c
index e44c66e7..53b71c59 100644
--- a/lib/libm/__sin.c
+++ b/lib/libm/__sin.c
@@ -45,11 +45,11 @@
static const double S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549
*/
- S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
- S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */
- S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */
- S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */
- S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */
+ S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
+ S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */
+ S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */
+ S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */
+ S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */
double __sin(double x, double y, int iy)
{
diff --git a/lib/libm/__sindf.c b/lib/libm/__sindf.c
index b6b9cf42..ad67f804 100644
--- a/lib/libm/__sindf.c
+++ b/lib/libm/__sindf.c
@@ -20,9 +20,9 @@
/* |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). */
static const double S1 = -0x15555554cbac77.0p-55, /* -0.166666666416265235595 */
- S2 = 0x111110896efbb2.0p-59, /* 0.0083333293858894631756 */
- S3 = -0x1a00f9e2cae774.0p-65, /* -0.000198393348360966317347 */
- S4 = 0x16cd878c3b46a7.0p-71; /* 0.0000027183114939898219064 */
+ S2 = 0x111110896efbb2.0p-59, /* 0.0083333293858894631756 */
+ S3 = -0x1a00f9e2cae774.0p-65, /* -0.000198393348360966317347 */
+ S4 = 0x16cd878c3b46a7.0p-71; /* 0.0000027183114939898219064 */
float __sindf(double x)
{
diff --git a/lib/libm/__sinl.c b/lib/libm/__sinl.c
index ecc23a1a..465b7500 100644
--- a/lib/libm/__sinl.c
+++ b/lib/libm/__sinl.c
@@ -27,20 +27,16 @@
*
* See __cosl.c for more details about the polynomial.
*/
-static const long double S1 =
- -0.166666666666666666671L; /* -0xaaaaaaaaaaaaaaab.0p-66
- */
-static const double S2 = 0.0083333333333333332, /* 0x11111111111111.0p-59 */
- S3 = -0.00019841269841269427, /* -0x1a01a01a019f81.0p-65 */
- S4 = 0.0000027557319223597490, /* 0x171de3a55560f7.0p-71 */
- S5 = -0.000000025052108218074604, /* -0x1ae64564f16cad.0p-78 */
- S6 = 1.6059006598854211e-10, /* 0x161242b90243b5.0p-85 */
- S7 = -7.6429779983024564e-13, /* -0x1ae42ebd1b2e00.0p-93 */
- S8 = 2.6174587166648325e-15; /* 0x179372ea0b3f64.0p-101 */
-#define POLY(z) \
- (S2 + \
- (z) * (S3 + \
- (z) * (S4 + (z) * (S5 + (z) * (S6 + (z) * (S7 + (z) * S8))))))
+static const long double S1 = -0.166666666666666666671L; /* -0xaaaaaaaaaaaaaaab.0p-66
+ */
+static const double S2 = 0.0083333333333333332, /* 0x11111111111111.0p-59 */
+ S3 = -0.00019841269841269427, /* -0x1a01a01a019f81.0p-65 */
+ S4 = 0.0000027557319223597490, /* 0x171de3a55560f7.0p-71 */
+ S5 = -0.000000025052108218074604, /* -0x1ae64564f16cad.0p-78 */
+ S6 = 1.6059006598854211e-10, /* 0x161242b90243b5.0p-85 */
+ S7 = -7.6429779983024564e-13, /* -0x1ae42ebd1b2e00.0p-93 */
+ S8 = 2.6174587166648325e-15; /* 0x179372ea0b3f64.0p-101 */
+#define POLY(z) (S2 + (z) * (S3 + (z) * (S4 + (z) * (S5 + (z) * (S6 + (z) * (S7 + (z) * S8))))))
#elif LDBL_MANT_DIG == 113
/*
* ld128 version of __sin.c. See __sin.c for most comments.
@@ -51,31 +47,21 @@ static const double S2 = 0.0083333333333333332, /* 0x11111111111111.0p-59 */
*
* See __cosl.c for more details about the polynomial.
*/
-static const long double
- S1 = -0.16666666666666666666666666666666666606732416116558L,
- S2 = 0.0083333333333333333333333333333331135404851288270047L,
- S3 = -0.00019841269841269841269841269839935785325638310428717L,
- S4 = 0.27557319223985890652557316053039946268333231205686e-5L,
- S5 = -0.25052108385441718775048214826384312253862930064745e-7L,
- S6 = 0.16059043836821614596571832194524392581082444805729e-9L,
- S7 = -0.76471637318198151807063387954939213287488216303768e-12L,
- S8 = 0.28114572543451292625024967174638477283187397621303e-14L;
-static const double
- S9 = -0.82206352458348947812512122163446202498005154296863e-17,
- S10 = 0.19572940011906109418080609928334380560135358385256e-19,
- S11 = -0.38680813379701966970673724299207480965452616911420e-22,
- S12 = 0.64038150078671872796678569586315881020659912139412e-25;
-#define POLY(z) \
- (S2 + \
- z * (S3 + \
- z * (S4 + \
- z * (S5 + \
- z * (S6 + \
- z * (S7 + \
- z * (S8 + \
- z * (S9 + \
- z * (S10 + \
- z * (S11 + z * S12))))))))))
+static const long double S1 = -0.16666666666666666666666666666666666606732416116558L,
+ S2 = 0.0083333333333333333333333333333331135404851288270047L,
+ S3 = -0.00019841269841269841269841269839935785325638310428717L,
+ S4 = 0.27557319223985890652557316053039946268333231205686e-5L,
+ S5 = -0.25052108385441718775048214826384312253862930064745e-7L,
+ S6 = 0.16059043836821614596571832194524392581082444805729e-9L,
+ S7 = -0.76471637318198151807063387954939213287488216303768e-12L,
+ S8 = 0.28114572543451292625024967174638477283187397621303e-14L;
+static const double S9 = -0.82206352458348947812512122163446202498005154296863e-17,
+ S10 = 0.19572940011906109418080609928334380560135358385256e-19,
+ S11 = -0.38680813379701966970673724299207480965452616911420e-22,
+ S12 = 0.64038150078671872796678569586315881020659912139412e-25;
+#define POLY(z) \
+ (S2 + \
+ z * (S3 + z * (S4 + z * (S5 + z * (S6 + z * (S7 + z * (S8 + z * (S9 + z * (S10 + z * (S11 + z * S12))))))))))
#endif
long double __sinl(long double x, long double y, int iy)
diff --git a/lib/libm/__tan.c b/lib/libm/__tan.c
index 9abfff35..4f0e6279 100644
--- a/lib/libm/__tan.c
+++ b/lib/libm/__tan.c
@@ -92,11 +92,8 @@ double __tan(double x, double y, int odd)
* x^5(T[1]+x^4*T[3]+...+x^20*T[11]) +
* x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12]))
*/
- r = T[1] +
- w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11]))));
- v = z *
- (T[2] +
- w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12])))));
+ r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11]))));
+ v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12])))));
s = z * x;
r = y + z * (s * (r + v) + y) + s * T[0];
w = x + r;
diff --git a/lib/libm/__tanl.c b/lib/libm/__tanl.c
index 28167d02..a7d0dce0 100644
--- a/lib/libm/__tanl.c
+++ b/lib/libm/__tanl.c
@@ -27,38 +27,27 @@
*
* See __cosl.c for more details about the polynomial.
*/
-static const long double
- T3 = 0.333333333333333333180L, /* 0xaaaaaaaaaaaaaaa5.0p-65
- */
- T5 = 0.133333333333333372290L, /* 0x88888888888893c3.0p-66 */
- T7 = 0.0539682539682504975744L, /* 0xdd0dd0dd0dc13ba2.0p-68 */
- pio4 = 0.785398163397448309628L, /* 0xc90fdaa22168c235.0p-64 */
- pio4lo = -1.25413940316708300586e-20L; /* -0xece675d1fc8f8cbb.0p-130 */
-static const double T9 = 0.021869488536312216, /* 0x1664f4882cc1c2.0p-58 */
- T11 = 0.0088632355256619590, /* 0x1226e355c17612.0p-59 */
- T13 = 0.0035921281113786528, /* 0x1d6d3d185d7ff8.0p-61 */
- T15 = 0.0014558334756312418, /* 0x17da354aa3f96b.0p-62 */
- T17 = 0.00059003538700862256, /* 0x13559358685b83.0p-63 */
- T19 = 0.00023907843576635544, /* 0x1f56242026b5be.0p-65 */
- T21 = 0.000097154625656538905, /* 0x1977efc26806f4.0p-66 */
- T23 = 0.000038440165747303162, /* 0x14275a09b3ceac.0p-67 */
- T25 = 0.000018082171885432524, /* 0x12f5e563e5487e.0p-68 */
- T27 = 0.0000024196006108814377, /* 0x144c0d80cc6896.0p-71 */
- T29 = 0.0000078293456938132840, /* 0x106b59141a6cb3.0p-69 */
- T31 = -0.0000032609076735050182, /* -0x1b5abef3ba4b59.0p-71 */
- T33 = 0.0000023261313142559411; /* 0x13835436c0c87f.0p-71 */
-#define RPOLY(w) \
- (T5 + \
- (w) * (T9 + (w) * (T13 + \
- (w) * (T17 + \
- (w) * (T21 + \
- (w) * (T25 + \
- (w) * (T29 + (w) * T33)))))))
-#define VPOLY(w) \
- (T7 + \
- (w) * (T11 + \
- (w) * (T15 + \
- (w) * (T19 + (w) * (T23 + (w) * (T27 + (w) * T31))))))
+static const long double T3 = 0.333333333333333333180L, /* 0xaaaaaaaaaaaaaaa5.0p-65
+ */
+ T5 = 0.133333333333333372290L, /* 0x88888888888893c3.0p-66 */
+ T7 = 0.0539682539682504975744L, /* 0xdd0dd0dd0dc13ba2.0p-68 */
+ pio4 = 0.785398163397448309628L, /* 0xc90fdaa22168c235.0p-64 */
+ pio4lo = -1.25413940316708300586e-20L; /* -0xece675d1fc8f8cbb.0p-130 */
+static const double T9 = 0.021869488536312216, /* 0x1664f4882cc1c2.0p-58 */
+ T11 = 0.0088632355256619590, /* 0x1226e355c17612.0p-59 */
+ T13 = 0.0035921281113786528, /* 0x1d6d3d185d7ff8.0p-61 */
+ T15 = 0.0014558334756312418, /* 0x17da354aa3f96b.0p-62 */
+ T17 = 0.00059003538700862256, /* 0x13559358685b83.0p-63 */
+ T19 = 0.00023907843576635544, /* 0x1f56242026b5be.0p-65 */
+ T21 = 0.000097154625656538905, /* 0x1977efc26806f4.0p-66 */
+ T23 = 0.000038440165747303162, /* 0x14275a09b3ceac.0p-67 */
+ T25 = 0.000018082171885432524, /* 0x12f5e563e5487e.0p-68 */
+ T27 = 0.0000024196006108814377, /* 0x144c0d80cc6896.0p-71 */
+ T29 = 0.0000078293456938132840, /* 0x106b59141a6cb3.0p-69 */
+ T31 = -0.0000032609076735050182, /* -0x1b5abef3ba4b59.0p-71 */
+ T33 = 0.0000023261313142559411; /* 0x13835436c0c87f.0p-71 */
+#define RPOLY(w) (T5 + (w) * (T9 + (w) * (T13 + (w) * (T17 + (w) * (T21 + (w) * (T25 + (w) * (T29 + (w) * T33)))))))
+#define VPOLY(w) (T7 + (w) * (T11 + (w) * (T15 + (w) * (T19 + (w) * (T23 + (w) * (T27 + (w) * T31))))))
#elif LDBL_MANT_DIG == 113
/*
* ld128 version of __tan.c. See __tan.c for most comments.
@@ -69,66 +58,45 @@ static const double T9 = 0.021869488536312216, /* 0x1664f4882cc1c2.0p-58 */
*
* See __cosl.c for more details about the polynomial.
*/
-static const long double T3 = 0x1.5555555555555555555555555553p-2L,
- T5 = 0x1.1111111111111111111111111eb5p-3L,
- T7 = 0x1.ba1ba1ba1ba1ba1ba1ba1b694cd6p-5L,
- T9 = 0x1.664f4882c10f9f32d6bbe09d8bcdp-6L,
- T11 = 0x1.226e355e6c23c8f5b4f5762322eep-7L,
- T13 = 0x1.d6d3d0e157ddfb5fed8e84e27b37p-9L,
- T15 = 0x1.7da36452b75e2b5fce9ee7c2c92ep-10L,
- T17 = 0x1.355824803674477dfcf726649efep-11L,
- T19 = 0x1.f57d7734d1656e0aceb716f614c2p-13L,
- T21 = 0x1.967e18afcb180ed942dfdc518d6cp-14L,
- T23 = 0x1.497d8eea21e95bc7e2aa79b9f2cdp-15L,
- T25 = 0x1.0b132d39f055c81be49eff7afd50p-16L,
- T27 = 0x1.b0f72d33eff7bfa2fbc1059d90b6p-18L,
- T29 = 0x1.5ef2daf21d1113df38d0fbc00267p-19L,
- T31 = 0x1.1c77d6eac0234988cdaa04c96626p-20L,
- T33 = 0x1.cd2a5a292b180e0bdd701057dfe3p-22L,
- T35 = 0x1.75c7357d0298c01a31d0a6f7d518p-23L,
- T37 = 0x1.2f3190f4718a9a520f98f50081fcp-24L,
- pio4 = 0x1.921fb54442d18469898cc51701b8p-1L,
- pio4lo = 0x1.cd129024e088a67cc74020bbea60p-116L;
+static const long double T3 = 0x1.5555555555555555555555555553p-2L, T5 = 0x1.1111111111111111111111111eb5p-3L,
+ T7 = 0x1.ba1ba1ba1ba1ba1ba1ba1b694cd6p-5L, T9 = 0x1.664f4882c10f9f32d6bbe09d8bcdp-6L,
+ T11 = 0x1.226e355e6c23c8f5b4f5762322eep-7L, T13 = 0x1.d6d3d0e157ddfb5fed8e84e27b37p-9L,
+ T15 = 0x1.7da36452b75e2b5fce9ee7c2c92ep-10L, T17 = 0x1.355824803674477dfcf726649efep-11L,
+ T19 = 0x1.f57d7734d1656e0aceb716f614c2p-13L, T21 = 0x1.967e18afcb180ed942dfdc518d6cp-14L,
+ T23 = 0x1.497d8eea21e95bc7e2aa79b9f2cdp-15L, T25 = 0x1.0b132d39f055c81be49eff7afd50p-16L,
+ T27 = 0x1.b0f72d33eff7bfa2fbc1059d90b6p-18L, T29 = 0x1.5ef2daf21d1113df38d0fbc00267p-19L,
+ T31 = 0x1.1c77d6eac0234988cdaa04c96626p-20L, T33 = 0x1.cd2a5a292b180e0bdd701057dfe3p-22L,
+ T35 = 0x1.75c7357d0298c01a31d0a6f7d518p-23L, T37 = 0x1.2f3190f4718a9a520f98f50081fcp-24L,
+ pio4 = 0x1.921fb54442d18469898cc51701b8p-1L, pio4lo = 0x1.cd129024e088a67cc74020bbea60p-116L;
static const double T39 = 0.000000028443389121318352, /* 0x1e8a7592977938.0p-78
*/
- T41 = 0.000000011981013102001973, /* 0x19baa1b1223219.0p-79 */
- T43 = 0.0000000038303578044958070, /* 0x107385dfb24529.0p-80 */
- T45 = 0.0000000034664378216909893, /* 0x1dc6c702a05262.0p-81 */
- T47 = -0.0000000015090641701997785, /* -0x19ecef3569ebb6.0p-82 */
- T49 = 0.0000000029449552300483952, /* 0x194c0668da786a.0p-81 */
- T51 = -0.0000000022006995706097711, /* -0x12e763b8845268.0p-81 */
- T53 = 0.0000000015468200913196612, /* 0x1a92fc98c29554.0p-82 */
- T55 = -0.00000000061311613386849674, /* -0x151106cbc779a9.0p-83 */
- T57 = 1.4912469681508012e-10; /* 0x147edbdba6f43a.0p-85 */
-#define RPOLY(w) \
- (T5 + \
- w * (T9 + \
- w * (T13 + \
- w * (T17 + \
- w * (T21 + \
- w * (T25 + \
- w * (T29 + \
- w * (T33 + \
- w * (T37 + \
- w * (T41 + \
- w * (T45 + \
- w * (T49 + \
- w * (T53 + \
- w * T57)))))))))))))
-#define VPOLY(w) \
- (T7 + \
- w * (T11 + \
- w * (T15 + \
- w * (T19 + \
- w * (T23 + \
- w * (T27 + \
- w * (T31 + \
- w * (T35 + \
- w * (T39 + \
- w * (T43 + \
- w * (T47 + \
- w * (T51 + \
- w * T55))))))))))))
+ T41 = 0.000000011981013102001973, /* 0x19baa1b1223219.0p-79 */
+ T43 = 0.0000000038303578044958070, /* 0x107385dfb24529.0p-80 */
+ T45 = 0.0000000034664378216909893, /* 0x1dc6c702a05262.0p-81 */
+ T47 = -0.0000000015090641701997785, /* -0x19ecef3569ebb6.0p-82 */
+ T49 = 0.0000000029449552300483952, /* 0x194c0668da786a.0p-81 */
+ T51 = -0.0000000022006995706097711, /* -0x12e763b8845268.0p-81 */
+ T53 = 0.0000000015468200913196612, /* 0x1a92fc98c29554.0p-82 */
+ T55 = -0.00000000061311613386849674, /* -0x151106cbc779a9.0p-83 */
+ T57 = 1.4912469681508012e-10; /* 0x147edbdba6f43a.0p-85 */
+#define RPOLY(w) \
+ (T5 + \
+ w * (T9 + \
+ w * (T13 + \
+ w * (T17 + \
+ w * (T21 + \
+ w * (T25 + \
+ w * (T29 + \
+ w * (T33 + \
+ w * (T37 + w * (T41 + w * (T45 + w * (T49 + w * (T53 + w * T57)))))))))))))
+#define VPOLY(w) \
+ (T7 + \
+ w * (T11 + \
+ w * (T15 + \
+ w * (T19 + \
+ w * (T23 + \
+ w * (T27 + \
+ w * (T31 + w * (T35 + w * (T39 + w * (T43 + w * (T47 + w * (T51 + w * T55))))))))))))
#endif
long double __tanl(long double x, long double y, int odd)
diff --git a/lib/libm/acos.c b/lib/libm/acos.c
index 67c059af..ade05239 100644
--- a/lib/libm/acos.c
+++ b/lib/libm/acos.c
@@ -40,17 +40,17 @@
static const double pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB,
0x54442D18 */
- pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
- pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
- pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
- pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
- pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
- pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
- pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
- qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
- qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
- qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
- qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
+ pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
+ pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
+ pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
+ pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
+ pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
+ pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
+ pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
+ qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
+ qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
+ qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
+ qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
static double R(double z)
{
diff --git a/lib/libm/acosf.c b/lib/libm/acosf.c
index 51e5c5ea..31b987e0 100644
--- a/lib/libm/acosf.c
+++ b/lib/libm/acosf.c
@@ -20,8 +20,7 @@
static const float pio2_hi = 1.5707962513e+00, /* 0x3fc90fda */
pio2_lo = 7.5497894159e-08, /* 0x33a22168 */
- pS0 = 1.6666586697e-01, pS1 = -4.2743422091e-02,
- pS2 = -8.6563630030e-03, qS1 = -7.0662963390e-01;
+ pS0 = 1.6666586697e-01, pS1 = -4.2743422091e-02, pS2 = -8.6563630030e-03, qS1 = -7.0662963390e-01;
static float R(float z)
{
diff --git a/lib/libm/asin.c b/lib/libm/asin.c
index eb669b87..8fdc1b19 100644
--- a/lib/libm/asin.c
+++ b/lib/libm/asin.c
@@ -46,7 +46,7 @@
static const double pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB,
0x54442D18 */
- pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
+ pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
/* coefficients for R(x^2) */
pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
@@ -102,8 +102,7 @@ double asin(double x)
f = s;
SET_LOW_WORD(f, 0);
c = (z - f * f) / (s + f);
- x = 0.5 * pio2_hi -
- (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));
+ x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));
}
if (hx >> 31)
return -x;
diff --git a/lib/libm/asinf.c b/lib/libm/asinf.c
index 0175f4d5..6e26e646 100644
--- a/lib/libm/asinf.c
+++ b/lib/libm/asinf.c
@@ -22,8 +22,7 @@ static const double pio2 = 1.570796326794896558e+00;
static const float
/* coefficients for R(x^2) */
pS0 = 1.6666586697e-01,
- pS1 = -4.2743422091e-02, pS2 = -8.6563630030e-03,
- qS1 = -7.0662963390e-01;
+ pS1 = -4.2743422091e-02, pS2 = -8.6563630030e-03, qS1 = -7.0662963390e-01;
static float R(float z)
{
diff --git a/lib/libm/asinl.c b/lib/libm/asinl.c
index 7a5f6710..da0120b9 100644
--- a/lib/libm/asinl.c
+++ b/lib/libm/asinl.c
@@ -68,8 +68,7 @@ long double asinl(long double x)
CLEARBOTTOM(u);
f = u.f;
c = (z - f * f) / (s + f);
- x = 0.5 * pio2_hi -
- (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));
+ x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));
}
return sign ? -x : x;
}
diff --git a/lib/libm/atan.c b/lib/libm/atan.c
index 36d10d73..2346d21c 100644
--- a/lib/libm/atan.c
+++ b/lib/libm/atan.c
@@ -109,9 +109,7 @@ double atan(double x)
z = x * x;
w = z * z;
/* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */
- s1 = z * (aT[0] +
- w * (aT[2] +
- w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10])))));
+ s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10])))));
s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9]))));
if (id < 0)
return x - x * (s1 + s2);
diff --git a/lib/libm/atanf.c b/lib/libm/atanf.c
index 74881a92..c46b970f 100644
--- a/lib/libm/atanf.c
+++ b/lib/libm/atanf.c
@@ -33,8 +33,7 @@ static const float atanlo[] = {
};
static const float aT[] = {
- 3.3333328366e-01, -1.9999158382e-01, 1.4253635705e-01,
- -1.0648017377e-01, 6.1687607318e-02,
+ 3.3333328366e-01, -1.9999158382e-01, 1.4253635705e-01, -1.0648017377e-01, 6.1687607318e-02,
};
float atanf(float x)
diff --git a/lib/libm/atanl.c b/lib/libm/atanl.c
index 1f1bff44..4a59fb40 100644
--- a/lib/libm/atanl.c
+++ b/lib/libm/atanl.c
@@ -44,28 +44,21 @@ static const long double atanlo[] = {
};
static const long double aT[] = {
- 3.33333333333333333017e-01L, -1.99999999999999632011e-01L,
- 1.42857142857046531280e-01L, -1.11111111100562372733e-01L,
- 9.09090902935647302252e-02L, -7.69230552476207730353e-02L,
- 6.66661718042406260546e-02L, -5.88158892835030888692e-02L,
- 5.25499891539726639379e-02L, -4.70119845393155721494e-02L,
- 4.03539201366454414072e-02L, -2.91303858419364158725e-02L,
+ 3.33333333333333333017e-01L, -1.99999999999999632011e-01L, 1.42857142857046531280e-01L,
+ -1.11111111100562372733e-01L, 9.09090902935647302252e-02L, -7.69230552476207730353e-02L,
+ 6.66661718042406260546e-02L, -5.88158892835030888692e-02L, 5.25499891539726639379e-02L,
+ -4.70119845393155721494e-02L, 4.03539201366454414072e-02L, -2.91303858419364158725e-02L,
1.24822046299269234080e-02L,
};
static long double T_even(long double x)
{
- return aT[0] +
- x * (aT[2] +
- x * (aT[4] + x * (aT[6] + x * (aT[8] + x * (aT[10] +
- x * aT[12])))));
+ return aT[0] + x * (aT[2] + x * (aT[4] + x * (aT[6] + x * (aT[8] + x * (aT[10] + x * aT[12])))));
}
static long double T_odd(long double x)
{
- return aT[1] +
- x * (aT[3] +
- x * (aT[5] + x * (aT[7] + x * (aT[9] + x * aT[11]))));
+ return aT[1] + x * (aT[3] + x * (aT[5] + x * (aT[7] + x * (aT[9] + x * aT[11]))));
}
#elif LDBL_MANT_DIG == 113
#define EXPMAN(u) ((u.i.se & 0x7fff) << 8 | u.i.top >> 8)
@@ -85,30 +78,18 @@ static const long double atanlo[] = {
};
static const long double aT[] = {
- 3.33333333333333333333333333333333125e-01L,
- -1.99999999999999999999999999999180430e-01L,
- 1.42857142857142857142857142125269827e-01L,
- -1.11111111111111111111110834490810169e-01L,
- 9.09090909090909090908522355708623681e-02L,
- -7.69230769230769230696553844935357021e-02L,
- 6.66666666666666660390096773046256096e-02L,
- -5.88235294117646671706582985209643694e-02L,
- 5.26315789473666478515847092020327506e-02L,
- -4.76190476189855517021024424991436144e-02L,
- 4.34782608678695085948531993458097026e-02L,
- -3.99999999632663469330634215991142368e-02L,
- 3.70370363987423702891250829918659723e-02L,
- -3.44827496515048090726669907612335954e-02L,
- 3.22579620681420149871973710852268528e-02L,
- -3.03020767654269261041647570626778067e-02L,
- 2.85641979882534783223403715930946138e-02L,
- -2.69824879726738568189929461383741323e-02L,
- 2.54194698498808542954187110873675769e-02L,
- -2.35083879708189059926183138130183215e-02L,
- 2.04832358998165364349957325067131428e-02L,
- -1.54489555488544397858507248612362957e-02L,
- 8.64492360989278761493037861575248038e-03L,
- -2.58521121597609872727919154569765469e-03L,
+ 3.33333333333333333333333333333333125e-01L, -1.99999999999999999999999999999180430e-01L,
+ 1.42857142857142857142857142125269827e-01L, -1.11111111111111111111110834490810169e-01L,
+ 9.09090909090909090908522355708623681e-02L, -7.69230769230769230696553844935357021e-02L,
+ 6.66666666666666660390096773046256096e-02L, -5.88235294117646671706582985209643694e-02L,
+ 5.26315789473666478515847092020327506e-02L, -4.76190476189855517021024424991436144e-02L,
+ 4.34782608678695085948531993458097026e-02L, -3.99999999632663469330634215991142368e-02L,
+ 3.70370363987423702891250829918659723e-02L, -3.44827496515048090726669907612335954e-02L,
+ 3.22579620681420149871973710852268528e-02L, -3.03020767654269261041647570626778067e-02L,
+ 2.85641979882534783223403715930946138e-02L, -2.69824879726738568189929461383741323e-02L,
+ 2.54194698498808542954187110873675769e-02L, -2.35083879708189059926183138130183215e-02L,
+ 2.04832358998165364349957325067131428e-02L, -1.54489555488544397858507248612362957e-02L,
+ 8.64492360989278761493037861575248038e-03L, -2.58521121597609872727919154569765469e-03L,
};
static long double T_even(long double x)
@@ -121,10 +102,7 @@ static long double T_even(long double x)
x * (aT[10] +
x * (aT[12] +
x * (aT[14] +
- x * (aT[16] +
- x * (aT[18] +
- x * (aT[20] +
- x * aT[22])))))))))));
+ x * (aT[16] + x * (aT[18] + x * (aT[20] + x * aT[22])))))))))));
}
static long double T_odd(long double x)
@@ -137,10 +115,7 @@ static long double T_odd(long double x)
x * (aT[11] +
x * (aT[13] +
x * (aT[15] +
- x * (aT[17] +
- x * (aT[19] +
- x * (aT[21] +
- x * aT[23])))))))))));
+ x * (aT[17] + x * (aT[19] + x * (aT[21] + x * aT[23])))))))))));
}
#endif
@@ -172,7 +147,7 @@ long double atanl(long double x)
id = -1;
} else {
x = fabsl(x);
- if (expman < (0x3fff << 8) + 0x30) { /* |x| < 1.1875 */
+ if (expman < (0x3fff << 8) + 0x30) { /* |x| < 1.1875 */
if (expman < ((0x3fff - 1) << 8) + 0x60) { /* 7/16 <=
|x| <
11/16 */
diff --git a/lib/libm/atomic.h b/lib/libm/atomic.h
index 44d659b7..b0a406ea 100644
--- a/lib/libm/atomic.h
+++ b/lib/libm/atomic.h
@@ -246,8 +246,7 @@ static inline void a_or_64(volatile uint64_t *p, uint64_t v)
#endif
#ifndef a_cas_p
-typedef char a_cas_p_undefined_but_pointer_not_32bit
- [-sizeof(char) == 0xffffffff ? 1 : -1];
+typedef char a_cas_p_undefined_but_pointer_not_32bit[-sizeof(char) == 0xffffffff ? 1 : -1];
#define a_cas_p a_cas_p
static inline void *a_cas_p(volatile void *p, void *t, void *s)
{
@@ -281,10 +280,8 @@ static inline int a_ctz_32(uint32_t x)
#ifdef a_clz_32
return 31 - a_clz_32(x & -x);
#else
- static const char debruijn32[32] = { 0, 1, 23, 2, 29, 24, 19, 3,
- 30, 27, 25, 11, 20, 8, 4, 13,
- 31, 22, 28, 18, 26, 10, 7, 12,
- 21, 17, 9, 6, 16, 5, 15, 14 };
+ static const char debruijn32[32] = { 0, 1, 23, 2, 29, 24, 19, 3, 30, 27, 25, 11, 20, 8, 4, 13,
+ 31, 22, 28, 18, 26, 10, 7, 12, 21, 17, 9, 6, 16, 5, 15, 14 };
return debruijn32[(x & -x) * 0x076be629 >> 27];
#endif
}
@@ -294,12 +291,10 @@ static inline int a_ctz_32(uint32_t x)
#define a_ctz_64 a_ctz_64
static inline int a_ctz_64(uint64_t x)
{
- static const char debruijn64[64] = {
- 0, 1, 2, 53, 3, 7, 54, 27, 4, 38, 41, 8, 34, 55, 48, 28,
- 62, 5, 39, 46, 44, 42, 22, 9, 24, 35, 59, 56, 49, 18, 29, 11,
- 63, 52, 6, 26, 37, 40, 33, 47, 61, 45, 43, 21, 23, 58, 17, 10,
- 51, 25, 36, 32, 60, 20, 57, 16, 50, 31, 19, 15, 30, 14, 13, 12
- };
+ static const char debruijn64[64] = { 0, 1, 2, 53, 3, 7, 54, 27, 4, 38, 41, 8, 34, 55, 48, 28,
+ 62, 5, 39, 46, 44, 42, 22, 9, 24, 35, 59, 56, 49, 18, 29, 11,
+ 63, 52, 6, 26, 37, 40, 33, 47, 61, 45, 43, 21, 23, 58, 17, 10,
+ 51, 25, 36, 32, 60, 20, 57, 16, 50, 31, 19, 15, 30, 14, 13, 12 };
if (sizeof(long) < 8) {
uint32_t y = x;
if (!y) {
diff --git a/lib/libm/cbrt.c b/lib/libm/cbrt.c
index d583b062..2ef082fb 100644
--- a/lib/libm/cbrt.c
+++ b/lib/libm/cbrt.c
@@ -20,7 +20,7 @@
static const uint32_t B1 = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20
*/
- B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */
+ B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */
/* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */
static const double P0 = 1.87595182427177009643, /* 0x3ffe03e6, 0x0f61e692 */
diff --git a/lib/libm/cbrtf.c b/lib/libm/cbrtf.c
index f35aae33..ec32a5b1 100644
--- a/lib/libm/cbrtf.c
+++ b/lib/libm/cbrtf.c
@@ -22,7 +22,7 @@
static const unsigned B1 = 709958130, /* B1 = (127-127.0/3-0.03306235651)*2**23
*/
- B2 = 642849266; /* B2 = (127-127.0/3-24/3-0.03306235651)*2**23 */
+ B2 = 642849266; /* B2 = (127-127.0/3-24/3-0.03306235651)*2**23 */
float cbrtf(float x)
{
diff --git a/lib/libm/csinhl.c b/lib/libm/csinhl.c
index a8a2e4f3..3bede995 100644
--- a/lib/libm/csinhl.c
+++ b/lib/libm/csinhl.c
@@ -8,6 +8,5 @@ long double complex csinhl(long double complex z)
x = creall(z);
y = cimagl(z);
- return sinhl(x) * cosl(y) +
- (coshl(x) * sinl(y)) * (long double complex)I;
+ return sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * (long double complex)I;
}
diff --git a/lib/libm/csinl.c b/lib/libm/csinl.c
index 9793d4ad..245d609f 100644
--- a/lib/libm/csinl.c
+++ b/lib/libm/csinl.c
@@ -7,6 +7,5 @@ long double complex csinl(long double complex z)
{
long double ch, sh;
cchshl(cimagl(z), &ch, &sh);
- return sinl(creall(z)) * ch +
- (cosl(creall(z)) * sh) * (long double complex)I;
+ return sinl(creall(z)) * ch + (cosl(creall(z)) * sh) * (long double complex)I;
}
diff --git a/lib/libm/ctan.c b/lib/libm/ctan.c
index b06e60a6..8be23bb7 100644
--- a/lib/libm/ctan.c
+++ b/lib/libm/ctan.c
@@ -51,6 +51,5 @@ double complex ctan(double complex z)
return HUGE_VAL + HUGE_VAL * (double complex)I;
}
- return sin(2.0 * creal(z)) / d +
- (sinh(2.0 * cimag(z)) / d) * (double complex)I;
+ return sin(2.0 * creal(z)) / d + (sinh(2.0 * cimag(z)) / d) * (double complex)I;
}
diff --git a/lib/libm/ctanhl.c b/lib/libm/ctanhl.c
index 1c9b9b81..2aa2323d 100644
--- a/lib/libm/ctanhl.c
+++ b/lib/libm/ctanhl.c
@@ -9,6 +9,5 @@ long double complex ctanhl(long double complex z)
y = cimagl(z);
d = coshl(2.0L * x) + cosl(2.0L * y);
- return sinhl(2.0L * x) / d +
- (sinl(2.0L * y) / d) * (long double complex)I;
+ return sinhl(2.0L * x) / d + (sinl(2.0L * y) / d) * (long double complex)I;
}
diff --git a/lib/libm/ctanl.c b/lib/libm/ctanl.c
index 65a9c2a5..1402d52e 100644
--- a/lib/libm/ctanl.c
+++ b/lib/libm/ctanl.c
@@ -15,6 +15,5 @@ long double complex ctanl(long double complex z)
return HUGE_VALL + HUGE_VALL * (long double complex)I;
}
- return sinl(2.0L * creall(z)) / d +
- (sinhl(2.0L * cimagl(z)) / d) * (long double complex)I;
+ return sinl(2.0L * creall(z)) / d + (sinhl(2.0L * cimagl(z)) / d) * (long double complex)I;
}
diff --git a/lib/libm/erf.c b/lib/libm/erf.c
index e95fb98c..25980189 100644
--- a/lib/libm/erf.c
+++ b/lib/libm/erf.c
@@ -182,10 +182,8 @@ static double erfc1(double x)
double_t s, P, Q;
s = fabs(x) - 1;
- P = pa0 +
- s * (pa1 + s * (pa2 + s * (pa3 + s * (pa4 + s * (pa5 + s * pa6)))));
- Q = 1 +
- s * (qa1 + s * (qa2 + s * (qa3 + s * (qa4 + s * (qa5 + s * qa6)))));
+ P = pa0 + s * (pa1 + s * (pa2 + s * (pa3 + s * (pa4 + s * (pa5 + s * pa6)))));
+ Q = 1 + s * (qa1 + s * (qa2 + s * (qa3 + s * (qa4 + s * (qa5 + s * qa6)))));
return 1 - erx - P / Q;
}
@@ -200,31 +198,11 @@ static double erfc2(uint32_t ix, double x)
x = fabs(x);
s = 1 / (x * x);
if (ix < 0x4006db6d) { /* |x| < 1/.35 ~ 2.85714 */
- R = ra0 +
- s * (ra1 +
- s * (ra2 +
- s * (ra3 +
- s * (ra4 +
- s * (ra5 + s * (ra6 + s * ra7))))));
- S = 1.0 +
- s * (sa1 +
- s * (sa2 +
- s * (sa3 +
- s * (sa4 +
- s * (sa5 +
- s * (sa6 +
- s * (sa7 + s * sa8)))))));
+ R = ra0 + s * (ra1 + s * (ra2 + s * (ra3 + s * (ra4 + s * (ra5 + s * (ra6 + s * ra7))))));
+ S = 1.0 + s * (sa1 + s * (sa2 + s * (sa3 + s * (sa4 + s * (sa5 + s * (sa6 + s * (sa7 + s * sa8)))))));
} else { /* |x| > 1/.35 */
- R = rb0 +
- s * (rb1 +
- s * (rb2 +
- s * (rb3 + s * (rb4 + s * (rb5 + s * rb6)))));
- S = 1.0 +
- s * (sb1 +
- s * (sb2 +
- s * (sb3 +
- s * (sb4 +
- s * (sb5 + s * (sb6 + s * sb7))))));
+ R = rb0 + s * (rb1 + s * (rb2 + s * (rb3 + s * (rb4 + s * (rb5 + s * rb6)))));
+ S = 1.0 + s * (sb1 + s * (sb2 + s * (sb3 + s * (sb4 + s * (sb5 + s * (sb6 + s * sb7))))));
}
z = x;
SET_LOW_WORD(z, 0);
@@ -251,8 +229,7 @@ double erf(double x)
}
z = x * x;
r = pp0 + z * (pp1 + z * (pp2 + z * (pp3 + z * pp4)));
- s = 1.0 +
- z * (qq1 + z * (qq2 + z * (qq3 + z * (qq4 + z * qq5))));
+ s = 1.0 + z * (qq1 + z * (qq2 + z * (qq3 + z * (qq4 + z * qq5))));
y = r / s;
return x + x * y;
}
@@ -281,8 +258,7 @@ double erfc(double x)
return 1.0 - x;
z = x * x;
r = pp0 + z * (pp1 + z * (pp2 + z * (pp3 + z * pp4)));
- s = 1.0 +
- z * (qq1 + z * (qq2 + z * (qq3 + z * (qq4 + z * qq5))));
+ s = 1.0 + z * (qq1 + z * (qq2 + z * (qq3 + z * (qq4 + z * qq5))));
y = r / s;
if (sign || ix < 0x3fd00000) { /* x < 1/4 */
return 1.0 - (x + x * y);
diff --git a/lib/libm/erff.c b/lib/libm/erff.c
index 2bf5d39e..dde5dc64 100644
--- a/lib/libm/erff.c
+++ b/lib/libm/erff.c
@@ -91,10 +91,8 @@ static float erfc1(float x)
float_t s, P, Q;
s = fabsf(x) - 1;
- P = pa0 +
- s * (pa1 + s * (pa2 + s * (pa3 + s * (pa4 + s * (pa5 + s * pa6)))));
- Q = 1 +
- s * (qa1 + s * (qa2 + s * (qa3 + s * (qa4 + s * (qa5 + s * qa6)))));
+ P = pa0 + s * (pa1 + s * (pa2 + s * (pa3 + s * (pa4 + s * (pa5 + s * pa6)))));
+ Q = 1 + s * (qa1 + s * (qa2 + s * (qa3 + s * (qa4 + s * (qa5 + s * qa6)))));
return 1 - erx - P / Q;
}
@@ -109,31 +107,11 @@ static float erfc2(uint32_t ix, float x)
x = fabsf(x);
s = 1 / (x * x);
if (ix < 0x4036db6d) { /* |x| < 1/0.35 */
- R = ra0 +
- s * (ra1 +
- s * (ra2 +
- s * (ra3 +
- s * (ra4 +
- s * (ra5 + s * (ra6 + s * ra7))))));
- S = 1.0f +
- s * (sa1 +
- s * (sa2 +
- s * (sa3 +
- s * (sa4 +
- s * (sa5 +
- s * (sa6 +
- s * (sa7 + s * sa8)))))));
+ R = ra0 + s * (ra1 + s * (ra2 + s * (ra3 + s * (ra4 + s * (ra5 + s * (ra6 + s * ra7))))));
+ S = 1.0f + s * (sa1 + s * (sa2 + s * (sa3 + s * (sa4 + s * (sa5 + s * (sa6 + s * (sa7 + s * sa8)))))));
} else { /* |x| >= 1/0.35 */
- R = rb0 +
- s * (rb1 +
- s * (rb2 +
- s * (rb3 + s * (rb4 + s * (rb5 + s * rb6)))));
- S = 1.0f +
- s * (sb1 +
- s * (sb2 +
- s * (sb3 +
- s * (sb4 +
- s * (sb5 + s * (sb6 + s * sb7))))));
+ R = rb0 + s * (rb1 + s * (rb2 + s * (rb3 + s * (rb4 + s * (rb5 + s * rb6)))));
+ S = 1.0f + s * (sb1 + s * (sb2 + s * (sb3 + s * (sb4 + s * (sb5 + s * (sb6 + s * sb7))))));
}
GET_FLOAT_WORD(ix, x);
SET_FLOAT_WORD(z, ix & 0xffffe000);
@@ -190,8 +168,7 @@ float erfcf(float x)
return 1.0f - x;
z = x * x;
r = pp0 + z * (pp1 + z * (pp2 + z * (pp3 + z * pp4)));
- s = 1.0f +
- z * (qq1 + z * (qq2 + z * (qq3 + z * (qq4 + z * qq5))));
+ s = 1.0f + z * (qq1 + z * (qq2 + z * (qq3 + z * (qq4 + z * qq5))));
y = r / s;
if (sign || ix < 0x3e800000) /* x < 1/4 */
return 1.0f - (x + x * y);
diff --git a/lib/libm/erfl.c b/lib/libm/erfl.c
index bb571734..143f6035 100644
--- a/lib/libm/erfl.c
+++ b/lib/libm/erfl.c
@@ -247,17 +247,8 @@ static long double erfc1(long double x)
long double s, P, Q;
s = fabsl(x) - 1;
- P = pa[0] +
- s * (pa[1] +
- s * (pa[2] +
- s * (pa[3] +
- s * (pa[4] +
- s * (pa[5] + s * (pa[6] + s * pa[7]))))));
- Q = qa[0] +
- s * (qa[1] +
- s * (qa[2] +
- s * (qa[3] +
- s * (qa[4] + s * (qa[5] + s * (qa[6] + s))))));
+ P = pa[0] + s * (pa[1] + s * (pa[2] + s * (pa[3] + s * (pa[4] + s * (pa[5] + s * (pa[6] + s * pa[7]))))));
+ Q = qa[0] + s * (qa[1] + s * (qa[2] + s * (qa[3] + s * (qa[4] + s * (qa[5] + s * (qa[6] + s))))));
return 1 - erx - P / Q;
}
@@ -274,41 +265,18 @@ static long double erfc2(uint32_t ix, long double x)
if (ix < 0x4000b6db) { /* 1.25 <= |x| < 2.857 ~ 1/.35 */
R = ra[0] +
s * (ra[1] +
- s * (ra[2] +
- s * (ra[3] +
- s * (ra[4] +
- s * (ra[5] +
- s * (ra[6] +
- s * (ra[7] + s * ra[8])))))));
+ s * (ra[2] + s * (ra[3] + s * (ra[4] + s * (ra[5] + s * (ra[6] + s * (ra[7] + s * ra[8])))))));
S = sa[0] +
s * (sa[1] +
s * (sa[2] +
- s * (sa[3] +
- s * (sa[4] +
- s * (sa[5] +
- s * (sa[6] +
- s * (sa[7] +
- s * (sa[8] + s))))))));
+ s * (sa[3] + s * (sa[4] + s * (sa[5] + s * (sa[6] + s * (sa[7] + s * (sa[8] + s))))))));
} else if (ix < 0x4001d555) { /* 2.857 <= |x| < 6.6666259765625 */
R = rb[0] +
- s * (rb[1] +
- s * (rb[2] +
- s * (rb[3] +
- s * (rb[4] +
- s * (rb[5] +
- s * (rb[6] + s * rb[7]))))));
- S = sb[0] +
- s * (sb[1] +
- s * (sb[2] +
- s * (sb[3] +
- s * (sb[4] +
- s * (sb[5] + s * (sb[6] + s))))));
+ s * (rb[1] + s * (rb[2] + s * (rb[3] + s * (rb[4] + s * (rb[5] + s * (rb[6] + s * rb[7]))))));
+ S = sb[0] + s * (sb[1] + s * (sb[2] + s * (sb[3] + s * (sb[4] + s * (sb[5] + s * (sb[6] + s))))));
} else { /* 6.666 <= |x| < 107 (erfc only) */
- R = rc[0] +
- s * (rc[1] +
- s * (rc[2] + s * (rc[3] + s * (rc[4] + s * rc[5]))));
- S = sc[0] +
- s * (sc[1] + s * (sc[2] + s * (sc[3] + s * (sc[4] + s))));
+ R = rc[0] + s * (rc[1] + s * (rc[2] + s * (rc[3] + s * (rc[4] + s * rc[5]))));
+ S = sc[0] + s * (sc[1] + s * (sc[2] + s * (sc[3] + s * (sc[4] + s))));
}
u.f = x;
u.i.m &= -1ULL << 40;
@@ -331,13 +299,8 @@ long double erfl(long double x)
return 0.125 * (8 * x + efx8 * x); /* avoid underflow */
}
z = x * x;
- r = pp[0] +
- z * (pp[1] +
- z * (pp[2] + z * (pp[3] + z * (pp[4] + z * pp[5]))));
- s = qq[0] +
- z * (qq[1] +
- z * (qq[2] +
- z * (qq[3] + z * (qq[4] + z * (qq[5] + z)))));
+ r = pp[0] + z * (pp[1] + z * (pp[2] + z * (pp[3] + z * (pp[4] + z * pp[5]))));
+ s = qq[0] + z * (qq[1] + z * (qq[2] + z * (qq[3] + z * (qq[4] + z * (qq[5] + z)))));
y = r / s;
return x + x * y;
}
@@ -362,13 +325,8 @@ long double erfcl(long double x)
if (ix < 0x3fbe0000) /* |x| < 2**-65 */
return 1.0 - x;
z = x * x;
- r = pp[0] +
- z * (pp[1] +
- z * (pp[2] + z * (pp[3] + z * (pp[4] + z * pp[5]))));
- s = qq[0] +
- z * (qq[1] +
- z * (qq[2] +
- z * (qq[3] + z * (qq[4] + z * (qq[5] + z)))));
+ r = pp[0] + z * (pp[1] + z * (pp[2] + z * (pp[3] + z * (pp[4] + z * pp[5]))));
+ s = qq[0] + z * (qq[1] + z * (qq[2] + z * (qq[3] + z * (qq[4] + z * (qq[5] + z)))));
y = r / s;
if (ix < 0x3ffd8000) /* x < 1/4 */
return 1.0 - (x + x * y);
diff --git a/lib/libm/exp.c b/lib/libm/exp.c
index 088a0cbb..21619f6d 100644
--- a/lib/libm/exp.c
+++ b/lib/libm/exp.c
@@ -79,8 +79,7 @@ double exp(double x)
double_t kd, z, r, r2, scale, tail, tmp;
abstop = top12(x) & 0x7ff;
- if (predict_false(abstop - top12(0x1p-54) >=
- top12(512.0) - top12(0x1p-54))) {
+ if (predict_false(abstop - top12(0x1p-54) >= top12(512.0) - top12(0x1p-54))) {
if (abstop - top12(0x1p-54) >= 0x80000000)
/* Avoid spurious underflow for tiny x. */
/* Note: 0 is common input. */
diff --git a/lib/libm/exp10.c b/lib/libm/exp10.c
index deed9dcb..06130c80 100644
--- a/lib/libm/exp10.c
+++ b/lib/libm/exp10.c
@@ -6,12 +6,9 @@
double exp10(double x)
{
- static const double p10[] = { 1e-15, 1e-14, 1e-13, 1e-12, 1e-11, 1e-10,
- 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4,
- 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2,
- 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
- 1e9, 1e10, 1e11, 1e12, 1e13, 1e14,
- 1e15 };
+ static const double p10[] = { 1e-15, 1e-14, 1e-13, 1e-12, 1e-11, 1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5,
+ 1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6,
+ 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15 };
double n, y = modf(x, &n);
union {
double f;
diff --git a/lib/libm/exp10f.c b/lib/libm/exp10f.c
index a9cde41d..d4e322b4 100644
--- a/lib/libm/exp10f.c
+++ b/lib/libm/exp10f.c
@@ -6,9 +6,8 @@
float exp10f(float x)
{
- static const float p10[] = { 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f,
- 1e-2f, 1e-1f, 1, 1e1, 1e2,
- 1e3, 1e4, 1e5, 1e6, 1e7 };
+ static const float p10[] = { 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f, 1e-1f, 1,
+ 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7 };
float n, y = modff(x, &n);
union {
float f;
diff --git a/lib/libm/exp10l.c b/lib/libm/exp10l.c
index f0bf23d9..ba522faf 100644
--- a/lib/libm/exp10l.c
+++ b/lib/libm/exp10l.c
@@ -12,12 +12,10 @@ long double exp10l(long double x)
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
long double exp10l(long double x)
{
- static const long double p10[] = {
- 1e-15L, 1e-14L, 1e-13L, 1e-12L, 1e-11L, 1e-10L, 1e-9L, 1e-8L,
- 1e-7L, 1e-6L, 1e-5L, 1e-4L, 1e-3L, 1e-2L, 1e-1L, 1,
- 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
- 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15
- };
+ static const long double p10[] = { 1e-15L, 1e-14L, 1e-13L, 1e-12L, 1e-11L, 1e-10L, 1e-9L, 1e-8L,
+ 1e-7L, 1e-6L, 1e-5L, 1e-4L, 1e-3L, 1e-2L, 1e-1L, 1,
+ 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
+ 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15 };
long double n, y = modfl(x, &n);
union ldshape u = { n };
/* fabsl(n) < 16 without raising invalid on nan */
diff --git a/lib/libm/exp2.c b/lib/libm/exp2.c
index b94232fa..57acec22 100644
--- a/lib/libm/exp2.c
+++ b/lib/libm/exp2.c
@@ -76,8 +76,7 @@ double exp2(double x)
double_t kd, r, r2, scale, tail, tmp;
abstop = top12(x) & 0x7ff;
- if (predict_false(abstop - top12(0x1p-54) >=
- top12(512.0) - top12(0x1p-54))) {
+ if (predict_false(abstop - top12(0x1p-54) >= top12(512.0) - top12(0x1p-54))) {
if (abstop - top12(0x1p-54) >= 0x80000000)
/* Avoid spurious underflow for tiny x. */
/* Note: 0 is common input. */
diff --git a/lib/libm/exp2l.c b/lib/libm/exp2l.c
index d5899e2d..6c7fa21f 100644
--- a/lib/libm/exp2l.c
+++ b/lib/libm/exp2l.c
@@ -41,9 +41,8 @@ long double exp2l(long double x)
#define TBLBITS 7
#define TBLSIZE (1 << TBLBITS)
-static const double redux = 0x1.8p63 / TBLSIZE, P1 = 0x1.62e42fefa39efp-1,
- P2 = 0x1.ebfbdff82c58fp-3, P3 = 0x1.c6b08d7049fap-5,
- P4 = 0x1.3b2ab6fba4da5p-7, P5 = 0x1.5d8804780a736p-10,
+static const double redux = 0x1.8p63 / TBLSIZE, P1 = 0x1.62e42fefa39efp-1, P2 = 0x1.ebfbdff82c58fp-3,
+ P3 = 0x1.c6b08d7049fap-5, P4 = 0x1.3b2ab6fba4da5p-7, P5 = 0x1.5d8804780a736p-10,
P6 = 0x1.430918835e33dp-13;
static const double tbl[TBLSIZE * 2] = {
@@ -378,10 +377,7 @@ long double exp2l(long double x)
long double t_hi = tbl[2 * i0];
long double t_lo = tbl[2 * i0 + 1];
/* XXX This gives > 1 ulp errors outside of FE_TONEAREST mode */
- r = t_lo +
- (t_hi + t_lo) * z *
- (P1 + z * (P2 + z * (P3 + z * (P4 + z * (P5 + z * P6))))) +
- t_hi;
+ r = t_lo + (t_hi + t_lo) * z * (P1 + z * (P2 + z * (P3 + z * (P4 + z * (P5 + z * P6))))) + t_hi;
return scalbnl(r, k.i);
}
@@ -389,181 +385,100 @@ long double exp2l(long double x)
#define TBLBITS 7
#define TBLSIZE (1 << TBLBITS)
-static const long double P1 = 0x1.62e42fefa39ef35793c7673007e6p-1L,
- P2 = 0x1.ebfbdff82c58ea86f16b06ec9736p-3L,
- P3 = 0x1.c6b08d704a0bf8b33a762bad3459p-5L,
- P4 = 0x1.3b2ab6fba4e7729ccbbe0b4f3fc2p-7L,
- P5 = 0x1.5d87fe78a67311071dee13fd11d9p-10L,
- P6 = 0x1.430912f86c7876f4b663b23c5fe5p-13L;
+static const long double P1 = 0x1.62e42fefa39ef35793c7673007e6p-1L, P2 = 0x1.ebfbdff82c58ea86f16b06ec9736p-3L,
+ P3 = 0x1.c6b08d704a0bf8b33a762bad3459p-5L, P4 = 0x1.3b2ab6fba4e7729ccbbe0b4f3fc2p-7L,
+ P5 = 0x1.5d87fe78a67311071dee13fd11d9p-10L, P6 = 0x1.430912f86c7876f4b663b23c5fe5p-13L;
-static const double P7 = 0x1.ffcbfc588b041p-17, P8 = 0x1.62c0223a5c7c7p-20,
- P9 = 0x1.b52541ff59713p-24, P10 = 0x1.e4cf56a391e22p-28,
- redux = 0x1.8p112 / TBLSIZE;
+static const double P7 = 0x1.ffcbfc588b041p-17, P8 = 0x1.62c0223a5c7c7p-20, P9 = 0x1.b52541ff59713p-24,
+ P10 = 0x1.e4cf56a391e22p-28, redux = 0x1.8p112 / TBLSIZE;
static const long double tbl[TBLSIZE] = {
- 0x1.6a09e667f3bcc908b2fb1366dfeap-1L,
- 0x1.6c012750bdabeed76a99800f4edep-1L,
- 0x1.6dfb23c651a2ef220e2cbe1bc0d4p-1L,
- 0x1.6ff7df9519483cf87e1b4f3e1e98p-1L,
- 0x1.71f75e8ec5f73dd2370f2ef0b148p-1L,
- 0x1.73f9a48a58173bd5c9a4e68ab074p-1L,
- 0x1.75feb564267c8bf6e9aa33a489a8p-1L,
- 0x1.780694fde5d3f619ae02808592a4p-1L,
- 0x1.7a11473eb0186d7d51023f6ccb1ap-1L,
- 0x1.7c1ed0130c1327c49334459378dep-1L,
- 0x1.7e2f336cf4e62105d02ba1579756p-1L,
- 0x1.80427543e1a11b60de67649a3842p-1L,
- 0x1.82589994cce128acf88afab34928p-1L,
- 0x1.8471a4623c7acce52f6b97c6444cp-1L,
- 0x1.868d99b4492ec80e41d90ac2556ap-1L,
- 0x1.88ac7d98a669966530bcdf2d4cc0p-1L,
- 0x1.8ace5422aa0db5ba7c55a192c648p-1L,
- 0x1.8cf3216b5448bef2aa1cd161c57ap-1L,
- 0x1.8f1ae991577362b982745c72eddap-1L,
- 0x1.9145b0b91ffc588a61b469f6b6a0p-1L,
- 0x1.93737b0cdc5e4f4501c3f2540ae8p-1L,
- 0x1.95a44cbc8520ee9b483695a0e7fep-1L,
- 0x1.97d829fde4e4f8b9e920f91e8eb6p-1L,
- 0x1.9a0f170ca07b9ba3109b8c467844p-1L,
- 0x1.9c49182a3f0901c7c46b071f28dep-1L,
- 0x1.9e86319e323231824ca78e64c462p-1L,
- 0x1.a0c667b5de564b29ada8b8cabbacp-1L,
- 0x1.a309bec4a2d3358c171f770db1f4p-1L,
- 0x1.a5503b23e255c8b424491caf88ccp-1L,
- 0x1.a799e1330b3586f2dfb2b158f31ep-1L,
- 0x1.a9e6b5579fdbf43eb243bdff53a2p-1L,
- 0x1.ac36bbfd3f379c0db966a3126988p-1L,
- 0x1.ae89f995ad3ad5e8734d17731c80p-1L,
- 0x1.b0e07298db66590842acdfc6fb4ep-1L,
- 0x1.b33a2b84f15faf6bfd0e7bd941b0p-1L,
- 0x1.b59728de559398e3881111648738p-1L,
- 0x1.b7f76f2fb5e46eaa7b081ab53ff6p-1L,
- 0x1.ba5b030a10649840cb3c6af5b74cp-1L,
- 0x1.bcc1e904bc1d2247ba0f45b3d06cp-1L,
- 0x1.bf2c25bd71e088408d7025190cd0p-1L,
- 0x1.c199bdd85529c2220cb12a0916bap-1L,
- 0x1.c40ab5fffd07a6d14df820f17deap-1L,
- 0x1.c67f12e57d14b4a2137fd20f2a26p-1L,
- 0x1.c8f6d9406e7b511acbc48805c3f6p-1L,
- 0x1.cb720dcef90691503cbd1e949d0ap-1L,
- 0x1.cdf0b555dc3f9c44f8958fac4f12p-1L,
- 0x1.d072d4a07897b8d0f22f21a13792p-1L,
- 0x1.d2f87080d89f18ade123989ea50ep-1L,
- 0x1.d5818dcfba48725da05aeb66dff8p-1L,
- 0x1.d80e316c98397bb84f9d048807a0p-1L,
- 0x1.da9e603db3285708c01a5b6d480cp-1L,
- 0x1.dd321f301b4604b695de3c0630c0p-1L,
- 0x1.dfc97337b9b5eb968cac39ed284cp-1L,
- 0x1.e264614f5a128a12761fa17adc74p-1L,
- 0x1.e502ee78b3ff6273d130153992d0p-1L,
- 0x1.e7a51fbc74c834b548b2832378a4p-1L,
- 0x1.ea4afa2a490d9858f73a18f5dab4p-1L,
- 0x1.ecf482d8e67f08db0312fb949d50p-1L,
- 0x1.efa1bee615a27771fd21a92dabb6p-1L,
- 0x1.f252b376bba974e8696fc3638f24p-1L,
- 0x1.f50765b6e4540674f84b762861a6p-1L,
- 0x1.f7bfdad9cbe138913b4bfe72bd78p-1L,
- 0x1.fa7c1819e90d82e90a7e74b26360p-1L,
- 0x1.fd3c22b8f71f10975ba4b32bd006p-1L,
- 0x1.0000000000000000000000000000p+0L,
- 0x1.0163da9fb33356d84a66ae336e98p+0L,
- 0x1.02c9a3e778060ee6f7caca4f7a18p+0L,
- 0x1.04315e86e7f84bd738f9a20da442p+0L,
- 0x1.059b0d31585743ae7c548eb68c6ap+0L,
- 0x1.0706b29ddf6ddc6dc403a9d87b1ep+0L,
- 0x1.0874518759bc808c35f25d942856p+0L,
- 0x1.09e3ecac6f3834521e060c584d5cp+0L,
- 0x1.0b5586cf9890f6298b92b7184200p+0L,
- 0x1.0cc922b7247f7407b705b893dbdep+0L,
- 0x1.0e3ec32d3d1a2020742e4f8af794p+0L,
- 0x1.0fb66affed31af232091dd8a169ep+0L,
- 0x1.11301d0125b50a4ebbf1aed9321cp+0L,
- 0x1.12abdc06c31cbfb92bad324d6f84p+0L,
- 0x1.1429aaea92ddfb34101943b2588ep+0L,
- 0x1.15a98c8a58e512480d573dd562aep+0L,
- 0x1.172b83c7d517adcdf7c8c50eb162p+0L,
- 0x1.18af9388c8de9bbbf70b9a3c269cp+0L,
- 0x1.1a35beb6fcb753cb698f692d2038p+0L,
- 0x1.1bbe084045cd39ab1e72b442810ep+0L,
- 0x1.1d4873168b9aa7805b8028990be8p+0L,
- 0x1.1ed5022fcd91cb8819ff61121fbep+0L,
- 0x1.2063b88628cd63b8eeb0295093f6p+0L,
- 0x1.21f49917ddc962552fd29294bc20p+0L,
- 0x1.2387a6e75623866c1fadb1c159c0p+0L,
- 0x1.251ce4fb2a63f3582ab7de9e9562p+0L,
- 0x1.26b4565e27cdd257a673281d3068p+0L,
- 0x1.284dfe1f5638096cf15cf03c9fa0p+0L,
- 0x1.29e9df51fdee12c25d15f5a25022p+0L,
- 0x1.2b87fd0dad98ffddea46538fca24p+0L,
- 0x1.2d285a6e4030b40091d536d0733ep+0L,
- 0x1.2ecafa93e2f5611ca0f45d5239a4p+0L,
- 0x1.306fe0a31b7152de8d5a463063bep+0L,
- 0x1.32170fc4cd8313539cf1c3009330p+0L,
- 0x1.33c08b26416ff4c9c8610d96680ep+0L,
- 0x1.356c55f929ff0c94623476373be4p+0L,
- 0x1.371a7373aa9caa7145502f45452ap+0L,
- 0x1.38cae6d05d86585a9cb0d9bed530p+0L,
- 0x1.3a7db34e59ff6ea1bc9299e0a1fep+0L,
- 0x1.3c32dc313a8e484001f228b58cf0p+0L,
- 0x1.3dea64c12342235b41223e13d7eep+0L,
- 0x1.3fa4504ac801ba0bf701aa417b9cp+0L,
- 0x1.4160a21f72e29f84325b8f3dbacap+0L,
- 0x1.431f5d950a896dc704439410b628p+0L,
- 0x1.44e086061892d03136f409df0724p+0L,
- 0x1.46a41ed1d005772512f459229f0ap+0L,
- 0x1.486a2b5c13cd013c1a3b69062f26p+0L,
- 0x1.4a32af0d7d3de672d8bcf46f99b4p+0L,
- 0x1.4bfdad5362a271d4397afec42e36p+0L,
- 0x1.4dcb299fddd0d63b36ef1a9e19dep+0L,
- 0x1.4f9b2769d2ca6ad33d8b69aa0b8cp+0L,
- 0x1.516daa2cf6641c112f52c84d6066p+0L,
- 0x1.5342b569d4f81df0a83c49d86bf4p+0L,
- 0x1.551a4ca5d920ec52ec620243540cp+0L,
- 0x1.56f4736b527da66ecb004764e61ep+0L,
- 0x1.58d12d497c7fd252bc2b7343d554p+0L,
- 0x1.5ab07dd48542958c93015191e9a8p+0L,
- 0x1.5c9268a5946b701c4b1b81697ed4p+0L,
- 0x1.5e76f15ad21486e9be4c20399d12p+0L,
- 0x1.605e1b976dc08b076f592a487066p+0L,
- 0x1.6247eb03a5584b1f0fa06fd2d9eap+0L,
- 0x1.6434634ccc31fc76f8714c4ee122p+0L,
- 0x1.66238825522249127d9e29b92ea2p+0L,
- 0x1.68155d44ca973081c57227b9f69ep+0L,
+ 0x1.6a09e667f3bcc908b2fb1366dfeap-1L, 0x1.6c012750bdabeed76a99800f4edep-1L,
+ 0x1.6dfb23c651a2ef220e2cbe1bc0d4p-1L, 0x1.6ff7df9519483cf87e1b4f3e1e98p-1L,
+ 0x1.71f75e8ec5f73dd2370f2ef0b148p-1L, 0x1.73f9a48a58173bd5c9a4e68ab074p-1L,
+ 0x1.75feb564267c8bf6e9aa33a489a8p-1L, 0x1.780694fde5d3f619ae02808592a4p-1L,
+ 0x1.7a11473eb0186d7d51023f6ccb1ap-1L, 0x1.7c1ed0130c1327c49334459378dep-1L,
+ 0x1.7e2f336cf4e62105d02ba1579756p-1L, 0x1.80427543e1a11b60de67649a3842p-1L,
+ 0x1.82589994cce128acf88afab34928p-1L, 0x1.8471a4623c7acce52f6b97c6444cp-1L,
+ 0x1.868d99b4492ec80e41d90ac2556ap-1L, 0x1.88ac7d98a669966530bcdf2d4cc0p-1L,
+ 0x1.8ace5422aa0db5ba7c55a192c648p-1L, 0x1.8cf3216b5448bef2aa1cd161c57ap-1L,
+ 0x1.8f1ae991577362b982745c72eddap-1L, 0x1.9145b0b91ffc588a61b469f6b6a0p-1L,
+ 0x1.93737b0cdc5e4f4501c3f2540ae8p-1L, 0x1.95a44cbc8520ee9b483695a0e7fep-1L,
+ 0x1.97d829fde4e4f8b9e920f91e8eb6p-1L, 0x1.9a0f170ca07b9ba3109b8c467844p-1L,
+ 0x1.9c49182a3f0901c7c46b071f28dep-1L, 0x1.9e86319e323231824ca78e64c462p-1L,
+ 0x1.a0c667b5de564b29ada8b8cabbacp-1L, 0x1.a309bec4a2d3358c171f770db1f4p-1L,
+ 0x1.a5503b23e255c8b424491caf88ccp-1L, 0x1.a799e1330b3586f2dfb2b158f31ep-1L,
+ 0x1.a9e6b5579fdbf43eb243bdff53a2p-1L, 0x1.ac36bbfd3f379c0db966a3126988p-1L,
+ 0x1.ae89f995ad3ad5e8734d17731c80p-1L, 0x1.b0e07298db66590842acdfc6fb4ep-1L,
+ 0x1.b33a2b84f15faf6bfd0e7bd941b0p-1L, 0x1.b59728de559398e3881111648738p-1L,
+ 0x1.b7f76f2fb5e46eaa7b081ab53ff6p-1L, 0x1.ba5b030a10649840cb3c6af5b74cp-1L,
+ 0x1.bcc1e904bc1d2247ba0f45b3d06cp-1L, 0x1.bf2c25bd71e088408d7025190cd0p-1L,
+ 0x1.c199bdd85529c2220cb12a0916bap-1L, 0x1.c40ab5fffd07a6d14df820f17deap-1L,
+ 0x1.c67f12e57d14b4a2137fd20f2a26p-1L, 0x1.c8f6d9406e7b511acbc48805c3f6p-1L,
+ 0x1.cb720dcef90691503cbd1e949d0ap-1L, 0x1.cdf0b555dc3f9c44f8958fac4f12p-1L,
+ 0x1.d072d4a07897b8d0f22f21a13792p-1L, 0x1.d2f87080d89f18ade123989ea50ep-1L,
+ 0x1.d5818dcfba48725da05aeb66dff8p-1L, 0x1.d80e316c98397bb84f9d048807a0p-1L,
+ 0x1.da9e603db3285708c01a5b6d480cp-1L, 0x1.dd321f301b4604b695de3c0630c0p-1L,
+ 0x1.dfc97337b9b5eb968cac39ed284cp-1L, 0x1.e264614f5a128a12761fa17adc74p-1L,
+ 0x1.e502ee78b3ff6273d130153992d0p-1L, 0x1.e7a51fbc74c834b548b2832378a4p-1L,
+ 0x1.ea4afa2a490d9858f73a18f5dab4p-1L, 0x1.ecf482d8e67f08db0312fb949d50p-1L,
+ 0x1.efa1bee615a27771fd21a92dabb6p-1L, 0x1.f252b376bba974e8696fc3638f24p-1L,
+ 0x1.f50765b6e4540674f84b762861a6p-1L, 0x1.f7bfdad9cbe138913b4bfe72bd78p-1L,
+ 0x1.fa7c1819e90d82e90a7e74b26360p-1L, 0x1.fd3c22b8f71f10975ba4b32bd006p-1L,
+ 0x1.0000000000000000000000000000p+0L, 0x1.0163da9fb33356d84a66ae336e98p+0L,
+ 0x1.02c9a3e778060ee6f7caca4f7a18p+0L, 0x1.04315e86e7f84bd738f9a20da442p+0L,
+ 0x1.059b0d31585743ae7c548eb68c6ap+0L, 0x1.0706b29ddf6ddc6dc403a9d87b1ep+0L,
+ 0x1.0874518759bc808c35f25d942856p+0L, 0x1.09e3ecac6f3834521e060c584d5cp+0L,
+ 0x1.0b5586cf9890f6298b92b7184200p+0L, 0x1.0cc922b7247f7407b705b893dbdep+0L,
+ 0x1.0e3ec32d3d1a2020742e4f8af794p+0L, 0x1.0fb66affed31af232091dd8a169ep+0L,
+ 0x1.11301d0125b50a4ebbf1aed9321cp+0L, 0x1.12abdc06c31cbfb92bad324d6f84p+0L,
+ 0x1.1429aaea92ddfb34101943b2588ep+0L, 0x1.15a98c8a58e512480d573dd562aep+0L,
+ 0x1.172b83c7d517adcdf7c8c50eb162p+0L, 0x1.18af9388c8de9bbbf70b9a3c269cp+0L,
+ 0x1.1a35beb6fcb753cb698f692d2038p+0L, 0x1.1bbe084045cd39ab1e72b442810ep+0L,
+ 0x1.1d4873168b9aa7805b8028990be8p+0L, 0x1.1ed5022fcd91cb8819ff61121fbep+0L,
+ 0x1.2063b88628cd63b8eeb0295093f6p+0L, 0x1.21f49917ddc962552fd29294bc20p+0L,
+ 0x1.2387a6e75623866c1fadb1c159c0p+0L, 0x1.251ce4fb2a63f3582ab7de9e9562p+0L,
+ 0x1.26b4565e27cdd257a673281d3068p+0L, 0x1.284dfe1f5638096cf15cf03c9fa0p+0L,
+ 0x1.29e9df51fdee12c25d15f5a25022p+0L, 0x1.2b87fd0dad98ffddea46538fca24p+0L,
+ 0x1.2d285a6e4030b40091d536d0733ep+0L, 0x1.2ecafa93e2f5611ca0f45d5239a4p+0L,
+ 0x1.306fe0a31b7152de8d5a463063bep+0L, 0x1.32170fc4cd8313539cf1c3009330p+0L,
+ 0x1.33c08b26416ff4c9c8610d96680ep+0L, 0x1.356c55f929ff0c94623476373be4p+0L,
+ 0x1.371a7373aa9caa7145502f45452ap+0L, 0x1.38cae6d05d86585a9cb0d9bed530p+0L,
+ 0x1.3a7db34e59ff6ea1bc9299e0a1fep+0L, 0x1.3c32dc313a8e484001f228b58cf0p+0L,
+ 0x1.3dea64c12342235b41223e13d7eep+0L, 0x1.3fa4504ac801ba0bf701aa417b9cp+0L,
+ 0x1.4160a21f72e29f84325b8f3dbacap+0L, 0x1.431f5d950a896dc704439410b628p+0L,
+ 0x1.44e086061892d03136f409df0724p+0L, 0x1.46a41ed1d005772512f459229f0ap+0L,
+ 0x1.486a2b5c13cd013c1a3b69062f26p+0L, 0x1.4a32af0d7d3de672d8bcf46f99b4p+0L,
+ 0x1.4bfdad5362a271d4397afec42e36p+0L, 0x1.4dcb299fddd0d63b36ef1a9e19dep+0L,
+ 0x1.4f9b2769d2ca6ad33d8b69aa0b8cp+0L, 0x1.516daa2cf6641c112f52c84d6066p+0L,
+ 0x1.5342b569d4f81df0a83c49d86bf4p+0L, 0x1.551a4ca5d920ec52ec620243540cp+0L,
+ 0x1.56f4736b527da66ecb004764e61ep+0L, 0x1.58d12d497c7fd252bc2b7343d554p+0L,
+ 0x1.5ab07dd48542958c93015191e9a8p+0L, 0x1.5c9268a5946b701c4b1b81697ed4p+0L,
+ 0x1.5e76f15ad21486e9be4c20399d12p+0L, 0x1.605e1b976dc08b076f592a487066p+0L,
+ 0x1.6247eb03a5584b1f0fa06fd2d9eap+0L, 0x1.6434634ccc31fc76f8714c4ee122p+0L,
+ 0x1.66238825522249127d9e29b92ea2p+0L, 0x1.68155d44ca973081c57227b9f69ep+0L,
};
static const float eps[TBLSIZE] = {
- -0x1.5c50p-101, -0x1.5d00p-106, 0x1.8e90p-102, -0x1.5340p-103,
- 0x1.1bd0p-102, -0x1.4600p-105, -0x1.7a40p-104, 0x1.d590p-102,
- -0x1.d590p-101, 0x1.b100p-103, -0x1.0d80p-105, 0x1.6b00p-103,
- -0x1.9f00p-105, 0x1.c400p-103, 0x1.e120p-103, -0x1.c100p-104,
- -0x1.9d20p-103, 0x1.a800p-108, 0x1.4c00p-106, -0x1.9500p-106,
- 0x1.6900p-105, -0x1.29d0p-100, 0x1.4c60p-103, 0x1.13a0p-102,
- -0x1.5b60p-103, -0x1.1c40p-103, 0x1.db80p-102, 0x1.91a0p-102,
- 0x1.dc00p-105, 0x1.44c0p-104, 0x1.9710p-102, 0x1.8760p-103,
- -0x1.a720p-103, 0x1.ed20p-103, -0x1.49c0p-102, -0x1.e000p-111,
- 0x1.86a0p-103, 0x1.2b40p-103, -0x1.b400p-108, 0x1.1280p-99,
- -0x1.02d8p-102, -0x1.e3d0p-103, -0x1.b080p-105, -0x1.f100p-107,
- -0x1.16c0p-105, -0x1.1190p-103, -0x1.a7d2p-100, 0x1.3450p-103,
- -0x1.67c0p-105, 0x1.4b80p-104, -0x1.c4e0p-103, 0x1.6000p-108,
- -0x1.3f60p-105, 0x1.93f0p-104, 0x1.5fe0p-105, 0x1.6f80p-107,
- -0x1.7600p-106, 0x1.21e0p-106, -0x1.3a40p-106, -0x1.40c0p-104,
- -0x1.9860p-105, -0x1.5d40p-108, -0x1.1d70p-106, 0x1.2760p-105,
- 0x0.0000p+0, 0x1.21e2p-104, -0x1.9520p-108, -0x1.5720p-106,
- -0x1.4810p-106, -0x1.be00p-109, 0x1.0080p-105, -0x1.5780p-108,
- -0x1.d460p-105, -0x1.6140p-105, 0x1.4630p-104, 0x1.ad50p-103,
- 0x1.82e0p-105, 0x1.1d3cp-101, 0x1.6100p-107, 0x1.ec30p-104,
- 0x1.f200p-108, 0x1.0b40p-103, 0x1.3660p-102, 0x1.d9d0p-103,
- -0x1.02d0p-102, 0x1.b070p-103, 0x1.b9c0p-104, -0x1.01c0p-103,
- -0x1.dfe0p-103, 0x1.1b60p-104, -0x1.ae94p-101, -0x1.3340p-104,
- 0x1.b3d8p-102, -0x1.6e40p-105, -0x1.3670p-103, 0x1.c140p-104,
- 0x1.1840p-101, 0x1.1ab0p-102, -0x1.a400p-104, 0x1.1f00p-104,
- -0x1.7180p-103, 0x1.4ce0p-102, 0x1.9200p-107, -0x1.54c0p-103,
- 0x1.1b80p-105, -0x1.1828p-101, 0x1.5720p-102, -0x1.a060p-100,
- 0x1.9160p-102, 0x1.a280p-104, 0x1.3400p-107, 0x1.2b20p-102,
- 0x1.7800p-108, 0x1.cfd0p-101, 0x1.2ef0p-102, -0x1.2760p-99,
- 0x1.b380p-104, 0x1.0048p-101, -0x1.60b0p-102, 0x1.a1ccp-100,
- -0x1.a640p-104, -0x1.08a0p-101, 0x1.7e60p-102, 0x1.22c0p-103,
- -0x1.7200p-106, 0x1.f0f0p-102, 0x1.eb4ep-99, 0x1.c6e0p-103,
+ -0x1.5c50p-101, -0x1.5d00p-106, 0x1.8e90p-102, -0x1.5340p-103, 0x1.1bd0p-102, -0x1.4600p-105, -0x1.7a40p-104,
+ 0x1.d590p-102, -0x1.d590p-101, 0x1.b100p-103, -0x1.0d80p-105, 0x1.6b00p-103, -0x1.9f00p-105, 0x1.c400p-103,
+ 0x1.e120p-103, -0x1.c100p-104, -0x1.9d20p-103, 0x1.a800p-108, 0x1.4c00p-106, -0x1.9500p-106, 0x1.6900p-105,
+ -0x1.29d0p-100, 0x1.4c60p-103, 0x1.13a0p-102, -0x1.5b60p-103, -0x1.1c40p-103, 0x1.db80p-102, 0x1.91a0p-102,
+ 0x1.dc00p-105, 0x1.44c0p-104, 0x1.9710p-102, 0x1.8760p-103, -0x1.a720p-103, 0x1.ed20p-103, -0x1.49c0p-102,
+ -0x1.e000p-111, 0x1.86a0p-103, 0x1.2b40p-103, -0x1.b400p-108, 0x1.1280p-99, -0x1.02d8p-102, -0x1.e3d0p-103,
+ -0x1.b080p-105, -0x1.f100p-107, -0x1.16c0p-105, -0x1.1190p-103, -0x1.a7d2p-100, 0x1.3450p-103, -0x1.67c0p-105,
+ 0x1.4b80p-104, -0x1.c4e0p-103, 0x1.6000p-108, -0x1.3f60p-105, 0x1.93f0p-104, 0x1.5fe0p-105, 0x1.6f80p-107,
+ -0x1.7600p-106, 0x1.21e0p-106, -0x1.3a40p-106, -0x1.40c0p-104, -0x1.9860p-105, -0x1.5d40p-108, -0x1.1d70p-106,
+ 0x1.2760p-105, 0x0.0000p+0, 0x1.21e2p-104, -0x1.9520p-108, -0x1.5720p-106, -0x1.4810p-106, -0x1.be00p-109,
+ 0x1.0080p-105, -0x1.5780p-108, -0x1.d460p-105, -0x1.6140p-105, 0x1.4630p-104, 0x1.ad50p-103, 0x1.82e0p-105,
+ 0x1.1d3cp-101, 0x1.6100p-107, 0x1.ec30p-104, 0x1.f200p-108, 0x1.0b40p-103, 0x1.3660p-102, 0x1.d9d0p-103,
+ -0x1.02d0p-102, 0x1.b070p-103, 0x1.b9c0p-104, -0x1.01c0p-103, -0x1.dfe0p-103, 0x1.1b60p-104, -0x1.ae94p-101,
+ -0x1.3340p-104, 0x1.b3d8p-102, -0x1.6e40p-105, -0x1.3670p-103, 0x1.c140p-104, 0x1.1840p-101, 0x1.1ab0p-102,
+ -0x1.a400p-104, 0x1.1f00p-104, -0x1.7180p-103, 0x1.4ce0p-102, 0x1.9200p-107, -0x1.54c0p-103, 0x1.1b80p-105,
+ -0x1.1828p-101, 0x1.5720p-102, -0x1.a060p-100, 0x1.9160p-102, 0x1.a280p-104, 0x1.3400p-107, 0x1.2b20p-102,
+ 0x1.7800p-108, 0x1.cfd0p-101, 0x1.2ef0p-102, -0x1.2760p-99, 0x1.b380p-104, 0x1.0048p-101, -0x1.60b0p-102,
+ 0x1.a1ccp-100, -0x1.a640p-104, -0x1.08a0p-101, 0x1.7e60p-102, 0x1.22c0p-103, -0x1.7200p-106, 0x1.f0f0p-102,
+ 0x1.eb4ep-99, 0x1.c6e0p-103,
};
/*
@@ -650,15 +565,7 @@ long double exp2l(long double x)
r = t +
t * z *
(P1 +
- z * (P2 +
- z * (P3 +
- z * (P4 +
- z * (P5 +
- z * (P6 +
- z * (P7 +
- z * (P8 +
- z * (P9 +
- z * P10)))))))));
+ z * (P2 + z * (P3 + z * (P4 + z * (P5 + z * (P6 + z * (P7 + z * (P8 + z * (P9 + z * P10)))))))));
return scalbnl(r, k.i);
}
diff --git a/lib/libm/expl.c b/lib/libm/expl.c
index 5499a3f3..222b43ef 100644
--- a/lib/libm/expl.c
+++ b/lib/libm/expl.c
@@ -88,8 +88,7 @@ static const long double Q[4] = {
2.2726554820815502876593E-1L,
2.0000000000000000000897E0L,
};
-static const long double LN2HI = 6.9314575195312500000000E-1L,
- LN2LO = 1.4286068203094172321215E-6L,
+static const long double LN2HI = 6.9314575195312500000000E-1L, LN2LO = 1.4286068203094172321215E-6L,
LOG2E = 1.4426950408889634073599E0L;
long double expl(long double x)
diff --git a/lib/libm/expm1.c b/lib/libm/expm1.c
index c4022188..6411cb2d 100644
--- a/lib/libm/expm1.c
+++ b/lib/libm/expm1.c
@@ -111,9 +111,9 @@
static const double o_threshold = 7.09782712893383973096e+02, /* 0x40862E42,
0xFEFA39EF */
- ln2_hi = 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
- ln2_lo = 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
- invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
+ ln2_hi = 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
+ ln2_lo = 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
+ invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
/* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs =
x*x/2: */
Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */
diff --git a/lib/libm/expm1l.c b/lib/libm/expm1l.c
index e26e19c5..f779aecf 100644
--- a/lib/libm/expm1l.c
+++ b/lib/libm/expm1l.c
@@ -72,8 +72,7 @@ static const long double P0 = -1.586135578666346600772998894928250240826E4L,
Q4 = -4.002027679107076077238836622982900945173E1L,
/* Q5 = 1.000000000000000000000000000000000000000E0 */
/* C1 + C2 = ln 2 */
- C1 = 6.93145751953125E-1L,
- C2 = 1.428606820309417232121458176568075500134E-6L,
+ C1 = 6.93145751953125E-1L, C2 = 1.428606820309417232121458176568075500134E-6L,
/* ln 2^-65 */
minarg = -4.5054566736396445112120088E1L,
/* ln 2^16384 */
diff --git a/lib/libm/fma.c b/lib/libm/fma.c
index 77bc7b3c..4d354020 100644
--- a/lib/libm/fma.c
+++ b/lib/libm/fma.c
@@ -86,8 +86,7 @@ double fma(double x, double y, double z)
d -= 64;
if (d == 0) {
} else if (d < 64) {
- rlo = rhi << (64 - d) | rlo >> d |
- !!(rlo << (64 - d));
+ rlo = rhi << (64 - d) | rlo >> d | !!(rlo << (64 - d));
rhi = rhi >> d;
} else {
rlo = 1;
@@ -162,16 +161,14 @@ double fma(double x, double y, double z)
on arch behaviour which
can be imitated by a double to float
conversion */
- float fltmin = (float)(0x0.ffffff8p-63) *
- FLT_MIN * (float)r;
+ float fltmin = (float)(0x0.ffffff8p-63) * FLT_MIN * (float)r;
return DBL_MIN / FLT_MIN * fltmin;
}
/* one bit is lost when scaled, add another top bit to
only round once at conversion if
it is inexact */
if (rhi << 53) {
- i = (int64_t)(rhi >> 1 | (rhi & 1) |
- 1ull << 62);
+ i = (int64_t)(rhi >> 1 | (rhi & 1) | 1ull << 62);
if (sign)
i = -i;
r = (double)i;
diff --git a/lib/libm/fmaf.c b/lib/libm/fmaf.c
index fb7508a3..48b6caa5 100644
--- a/lib/libm/fmaf.c
+++ b/lib/libm/fmaf.c
@@ -63,8 +63,7 @@ float fmaf(float x, float y, float z)
fmaf(0x1p-120f, 0x1p-120f, 0x1p-149f)
*/
#if defined(FE_INEXACT) && defined(FE_UNDERFLOW)
- if (e < 0x3ff - 126 && e >= 0x3ff - 149 &&
- fetestexcept(FE_INEXACT)) {
+ if (e < 0x3ff - 126 && e >= 0x3ff - 149 && fetestexcept(FE_INEXACT)) {
feclearexcept(FE_INEXACT);
/* TODO: gcc and clang bug workaround */
volatile float vz = z;
diff --git a/lib/libm/fmal.c b/lib/libm/fmal.c
index 11097f0e..0bf3221a 100644
--- a/lib/libm/fmal.c
+++ b/lib/libm/fmal.c
@@ -101,8 +101,7 @@ static inline long double add_adjusted(long double a, long double b)
* that the result will be subnormal, and care is taken to ensure that
* double rounding does not occur.
*/
-static inline long double add_and_denormalize(long double a, long double b,
- int scale)
+static inline long double add_and_denormalize(long double a, long double b, int scale)
{
struct dd sum;
int bits_lost;
diff --git a/lib/libm/j0.c b/lib/libm/j0.c
index 52d3f483..b466c1ad 100644
--- a/lib/libm/j0.c
+++ b/lib/libm/j0.c
@@ -63,7 +63,7 @@ static double pzero(double), qzero(double);
static const double invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7,
0x50429B6D */
- tpi = 6.36619772367581382433e-01; /* 0x3FE45F30, 0x6DC9C883 */
+ tpi = 6.36619772367581382433e-01; /* 0x3FE45F30, 0x6DC9C883 */
/* common method when |x|>=2 */
static double common(uint32_t ix, double x, int y0)
@@ -103,13 +103,13 @@ static double common(uint32_t ix, double x, int y0)
/* R0/S0 on [0, 2.00] */
static const double R02 = 1.56249999999999947958e-02, /* 0x3F8FFFFF, 0xFFFFFFFD
*/
- R03 = -1.89979294238854721751e-04, /* 0xBF28E6A5, 0xB61AC6E9 */
- R04 = 1.82954049532700665670e-06, /* 0x3EBEB1D1, 0x0C503919 */
- R05 = -4.61832688532103189199e-09, /* 0xBE33D5E7, 0x73D63FCE */
- S01 = 1.56191029464890010492e-02, /* 0x3F8FFCE8, 0x82C8C2A4 */
- S02 = 1.16926784663337450260e-04, /* 0x3F1EA6D2, 0xDD57DBF4 */
- S03 = 5.13546550207318111446e-07, /* 0x3EA13B54, 0xCE84D5A9 */
- S04 = 1.16614003333790000205e-09; /* 0x3E1408BC, 0xF4745D8F */
+ R03 = -1.89979294238854721751e-04, /* 0xBF28E6A5, 0xB61AC6E9 */
+ R04 = 1.82954049532700665670e-06, /* 0x3EBEB1D1, 0x0C503919 */
+ R05 = -4.61832688532103189199e-09, /* 0xBE33D5E7, 0x73D63FCE */
+ S01 = 1.56191029464890010492e-02, /* 0x3F8FFCE8, 0x82C8C2A4 */
+ S02 = 1.16926784663337450260e-04, /* 0x3F1EA6D2, 0xDD57DBF4 */
+ S03 = 5.13546550207318111446e-07, /* 0x3EA13B54, 0xCE84D5A9 */
+ S04 = 1.16614003333790000205e-09; /* 0x3E1408BC, 0xF4745D8F */
double j0(double x)
{
@@ -148,16 +148,16 @@ double j0(double x)
static const double u00 = -7.38042951086872317523e-02, /* 0xBFB2E4D6, 0x99CBD01F
*/
- u01 = 1.76666452509181115538e-01, /* 0x3FC69D01, 0x9DE9E3FC */
- u02 = -1.38185671945596898896e-02, /* 0xBF8C4CE8, 0xB16CFA97 */
- u03 = 3.47453432093683650238e-04, /* 0x3F36C54D, 0x20B29B6B */
- u04 = -3.81407053724364161125e-06, /* 0xBECFFEA7, 0x73D25CAD */
- u05 = 1.95590137035022920206e-08, /* 0x3E550057, 0x3B4EABD4 */
- u06 = -3.98205194132103398453e-11, /* 0xBDC5E43D, 0x693FB3C8 */
- v01 = 1.27304834834123699328e-02, /* 0x3F8A1270, 0x91C9C71A */
- v02 = 7.60068627350353253702e-05, /* 0x3F13ECBB, 0xF578C6C1 */
- v03 = 2.59150851840457805467e-07, /* 0x3E91642D, 0x7FF202FD */
- v04 = 4.41110311332675467403e-10; /* 0x3DFE5018, 0x3BD6D9EF */
+ u01 = 1.76666452509181115538e-01, /* 0x3FC69D01, 0x9DE9E3FC */
+ u02 = -1.38185671945596898896e-02, /* 0xBF8C4CE8, 0xB16CFA97 */
+ u03 = 3.47453432093683650238e-04, /* 0x3F36C54D, 0x20B29B6B */
+ u04 = -3.81407053724364161125e-06, /* 0xBECFFEA7, 0x73D25CAD */
+ u05 = 1.95590137035022920206e-08, /* 0x3E550057, 0x3B4EABD4 */
+ u06 = -3.98205194132103398453e-11, /* 0xBDC5E43D, 0x693FB3C8 */
+ v01 = 1.27304834834123699328e-02, /* 0x3F8A1270, 0x91C9C71A */
+ v02 = 7.60068627350353253702e-05, /* 0x3F13ECBB, 0xF578C6C1 */
+ v03 = 2.59150851840457805467e-07, /* 0x3E91642D, 0x7FF202FD */
+ v04 = 4.41110311332675467403e-10; /* 0x3DFE5018, 0x3BD6D9EF */
double y0(double x)
{
@@ -183,10 +183,7 @@ double y0(double x)
if (ix >= 0x3e400000) { /* x >= 2**-27 */
/* large ulp error near the first zero, x ~= 0.89 */
z = x * x;
- u = u00 +
- z * (u01 +
- z * (u02 +
- z * (u03 + z * (u04 + z * (u05 + z * u06)))));
+ u = u00 + z * (u01 + z * (u02 + z * (u03 + z * (u04 + z * (u05 + z * u06)))));
v = 1.0 + z * (v01 + z * (v02 + z * (v03 + z * v04)));
return u / v + tpi * (j0(x) * log(x));
}
@@ -401,8 +398,6 @@ static double qzero(double x)
}
z = 1.0 / (x * x);
r = p[0] + z * (p[1] + z * (p[2] + z * (p[3] + z * (p[4] + z * p[5]))));
- s = 1.0 +
- z * (q[0] +
- z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
+ s = 1.0 + z * (q[0] + z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
return (-.125 + r / s) / x;
}
diff --git a/lib/libm/j0f.c b/lib/libm/j0f.c
index 46ffc758..476281a7 100644
--- a/lib/libm/j0f.c
+++ b/lib/libm/j0f.c
@@ -120,10 +120,7 @@ float y0f(float x)
if (ix >= 0x39000000) { /* x >= 2**-13 */
/* large ulp error at x ~= 0.89 */
z = x * x;
- u = u00 +
- z * (u01 +
- z * (u02 +
- z * (u03 + z * (u04 + z * (u05 + z * u06)))));
+ u = u00 + z * (u01 + z * (u02 + z * (u03 + z * (u04 + z * (u05 + z * u06)))));
v = 1 + z * (v01 + z * (v02 + z * (v03 + z * v04)));
return u / v + tpi * (j0f(x) * logf(x));
}
@@ -337,8 +334,6 @@ static float qzerof(float x)
}
z = 1.0f / (x * x);
r = p[0] + z * (p[1] + z * (p[2] + z * (p[3] + z * (p[4] + z * p[5]))));
- s = 1.0f +
- z * (q[0] +
- z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
+ s = 1.0f + z * (q[0] + z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
return (-.125f + r / s) / x;
}
diff --git a/lib/libm/j1.c b/lib/libm/j1.c
index 839160c4..211c78bf 100644
--- a/lib/libm/j1.c
+++ b/lib/libm/j1.c
@@ -63,7 +63,7 @@ static double pone(double), qone(double);
static const double invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7,
0x50429B6D */
- tpi = 6.36619772367581382433e-01; /* 0x3FE45F30, 0x6DC9C883 */
+ tpi = 6.36619772367581382433e-01; /* 0x3FE45F30, 0x6DC9C883 */
static double common(uint32_t ix, double x, int y1, int sign)
{
@@ -104,14 +104,14 @@ static double common(uint32_t ix, double x, int y1, int sign)
/* R0/S0 on [0,2] */
static const double r00 = -6.25000000000000000000e-02, /* 0xBFB00000, 0x00000000
*/
- r01 = 1.40705666955189706048e-03, /* 0x3F570D9F, 0x98472C61 */
- r02 = -1.59955631084035597520e-05, /* 0xBEF0C5C6, 0xBA169668 */
- r03 = 4.96727999609584448412e-08, /* 0x3E6AAAFA, 0x46CA0BD9 */
- s01 = 1.91537599538363460805e-02, /* 0x3F939D0B, 0x12637E53 */
- s02 = 1.85946785588630915560e-04, /* 0x3F285F56, 0xB9CDF664 */
- s03 = 1.17718464042623683263e-06, /* 0x3EB3BFF8, 0x333F8498 */
- s04 = 5.04636257076217042715e-09, /* 0x3E35AC88, 0xC97DFF2C */
- s05 = 1.23542274426137913908e-11; /* 0x3DAB2ACF, 0xCFB97ED8 */
+ r01 = 1.40705666955189706048e-03, /* 0x3F570D9F, 0x98472C61 */
+ r02 = -1.59955631084035597520e-05, /* 0xBEF0C5C6, 0xBA169668 */
+ r03 = 4.96727999609584448412e-08, /* 0x3E6AAAFA, 0x46CA0BD9 */
+ s01 = 1.91537599538363460805e-02, /* 0x3F939D0B, 0x12637E53 */
+ s02 = 1.85946785588630915560e-04, /* 0x3F285F56, 0xB9CDF664 */
+ s03 = 1.17718464042623683263e-06, /* 0x3EB3BFF8, 0x333F8498 */
+ s04 = 5.04636257076217042715e-09, /* 0x3E35AC88, 0xC97DFF2C */
+ s05 = 1.23542274426137913908e-11; /* 0x3DAB2ACF, 0xCFB97ED8 */
double j1(double x)
{
@@ -172,8 +172,7 @@ double y1(double x)
return -tpi / x;
z = x * x;
u = U0[0] + z * (U0[1] + z * (U0[2] + z * (U0[3] + z * U0[4])));
- v = 1 +
- z * (V0[0] + z * (V0[1] + z * (V0[2] + z * (V0[3] + z * V0[4]))));
+ v = 1 + z * (V0[0] + z * (V0[1] + z * (V0[2] + z * (V0[3] + z * V0[4]))));
return x * (u / v) + tpi * (j1(x) * log(x) - 1 / x);
}
@@ -385,8 +384,6 @@ static double qone(double x)
}
z = 1.0 / (x * x);
r = p[0] + z * (p[1] + z * (p[2] + z * (p[3] + z * (p[4] + z * p[5]))));
- s = 1.0 +
- z * (q[0] +
- z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
+ s = 1.0 + z * (q[0] + z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
return (.375 + r / s) / x;
}
diff --git a/lib/libm/j1f.c b/lib/libm/j1f.c
index 6415ae14..b1bb6226 100644
--- a/lib/libm/j1f.c
+++ b/lib/libm/j1f.c
@@ -118,8 +118,7 @@ float y1f(float x)
return -tpi / x;
z = x * x;
u = U0[0] + z * (U0[1] + z * (U0[2] + z * (U0[3] + z * U0[4])));
- v = 1.0f +
- z * (V0[0] + z * (V0[1] + z * (V0[2] + z * (V0[3] + z * V0[4]))));
+ v = 1.0f + z * (V0[0] + z * (V0[1] + z * (V0[2] + z * (V0[3] + z * V0[4]))));
return x * (u / v) + tpi * (j1f(x) * logf(x) - 1.0f / x);
}
@@ -331,8 +330,6 @@ static float qonef(float x)
}
z = 1.0f / (x * x);
r = p[0] + z * (p[1] + z * (p[2] + z * (p[3] + z * (p[4] + z * p[5]))));
- s = 1.0f +
- z * (q[0] +
- z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
+ s = 1.0f + z * (q[0] + z * (q[1] + z * (q[2] + z * (q[3] + z * (q[4] + z * q[5])))));
return (.375f + r / s) / x;
}
diff --git a/lib/libm/lgamma_r.c b/lib/libm/lgamma_r.c
index d3f901ae..a6345f11 100644
--- a/lib/libm/lgamma_r.c
+++ b/lib/libm/lgamma_r.c
@@ -85,20 +85,20 @@
static const double pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18
*/
- a0 = 7.72156649015328655494e-02, /* 0x3FB3C467, 0xE37DB0C8 */
- a1 = 3.22467033424113591611e-01, /* 0x3FD4A34C, 0xC4A60FAD */
- a2 = 6.73523010531292681824e-02, /* 0x3FB13E00, 0x1A5562A7 */
- a3 = 2.05808084325167332806e-02, /* 0x3F951322, 0xAC92547B */
- a4 = 7.38555086081402883957e-03, /* 0x3F7E404F, 0xB68FEFE8 */
- a5 = 2.89051383673415629091e-03, /* 0x3F67ADD8, 0xCCB7926B */
- a6 = 1.19270763183362067845e-03, /* 0x3F538A94, 0x116F3F5D */
- a7 = 5.10069792153511336608e-04, /* 0x3F40B6C6, 0x89B99C00 */
- a8 = 2.20862790713908385557e-04, /* 0x3F2CF2EC, 0xED10E54D */
- a9 = 1.08011567247583939954e-04, /* 0x3F1C5088, 0x987DFB07 */
- a10 = 2.52144565451257326939e-05, /* 0x3EFA7074, 0x428CFA52 */
- a11 = 4.48640949618915160150e-05, /* 0x3F07858E, 0x90A45837 */
- tc = 1.46163214496836224576e+00, /* 0x3FF762D8, 0x6356BE3F */
- tf = -1.21486290535849611461e-01, /* 0xBFBF19B9, 0xBCC38A42 */
+ a0 = 7.72156649015328655494e-02, /* 0x3FB3C467, 0xE37DB0C8 */
+ a1 = 3.22467033424113591611e-01, /* 0x3FD4A34C, 0xC4A60FAD */
+ a2 = 6.73523010531292681824e-02, /* 0x3FB13E00, 0x1A5562A7 */
+ a3 = 2.05808084325167332806e-02, /* 0x3F951322, 0xAC92547B */
+ a4 = 7.38555086081402883957e-03, /* 0x3F7E404F, 0xB68FEFE8 */
+ a5 = 2.89051383673415629091e-03, /* 0x3F67ADD8, 0xCCB7926B */
+ a6 = 1.19270763183362067845e-03, /* 0x3F538A94, 0x116F3F5D */
+ a7 = 5.10069792153511336608e-04, /* 0x3F40B6C6, 0x89B99C00 */
+ a8 = 2.20862790713908385557e-04, /* 0x3F2CF2EC, 0xED10E54D */
+ a9 = 1.08011567247583939954e-04, /* 0x3F1C5088, 0x987DFB07 */
+ a10 = 2.52144565451257326939e-05, /* 0x3EFA7074, 0x428CFA52 */
+ a11 = 4.48640949618915160150e-05, /* 0x3F07858E, 0x90A45837 */
+ tc = 1.46163214496836224576e+00, /* 0x3FF762D8, 0x6356BE3F */
+ tf = -1.21486290535849611461e-01, /* 0xBFBF19B9, 0xBCC38A42 */
/* tt = -(tail of tf) */
tt = -3.63867699703950536541e-18, /* 0xBC50C7CA, 0xA48A971F */
t0 = 4.83836122723810047042e-01, /* 0x3FDEF72B, 0xC8EE38A2 */
@@ -242,48 +242,32 @@ double __lgamma_r(double x, int *signgamp)
switch (i) {
case 0:
z = y * y;
- p1 = a0 +
- z * (a2 +
- z * (a4 + z * (a6 + z * (a8 + z * a10))));
- p2 = z *
- (a1 +
- z * (a3 +
- z * (a5 + z * (a7 + z * (a9 + z * a11)))));
+ p1 = a0 + z * (a2 + z * (a4 + z * (a6 + z * (a8 + z * a10))));
+ p2 = z * (a1 + z * (a3 + z * (a5 + z * (a7 + z * (a9 + z * a11)))));
p = y * p1 + p2;
r += (p - 0.5 * y);
break;
case 1:
z = y * y;
w = z * y;
- p1 = t0 +
- w * (t3 +
- w * (t6 + w * (t9 + w * t12))); /* parallel
- comp
- */
+ p1 = t0 + w * (t3 + w * (t6 + w * (t9 + w * t12))); /* parallel
+ comp
+ */
p2 = t1 + w * (t4 + w * (t7 + w * (t10 + w * t13)));
p3 = t2 + w * (t5 + w * (t8 + w * (t11 + w * t14)));
p = z * p1 - (tt - w * (p2 + y * p3));
r += tf + p;
break;
case 2:
- p1 = y *
- (u0 +
- y * (u1 +
- y * (u2 + y * (u3 + y * (u4 + y * u5)))));
- p2 = 1.0 +
- y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * v5))));
+ p1 = y * (u0 + y * (u1 + y * (u2 + y * (u3 + y * (u4 + y * u5)))));
+ p2 = 1.0 + y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * v5))));
r += -0.5 * y + p1 / p2;
}
} else if (ix < 0x40200000) { /* x < 8.0 */
i = (int)x;
y = x - (double)i;
- p = y *
- (s0 +
- y * (s1 +
- y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6))))));
- q = 1.0 +
- y * (r1 +
- y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * r6)))));
+ p = y * (s0 + y * (s1 + y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6))))));
+ q = 1.0 + y * (r1 + y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * r6)))));
r = 0.5 * y + p / q;
z = 1.0; /* lgamma(1+s) = log(s) + lgamma(s) */
switch (i) {
@@ -304,9 +288,7 @@ double __lgamma_r(double x, int *signgamp)
t = log(x);
z = 1.0 / x;
y = z * z;
- w = w0 +
- z * (w1 +
- y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * w6)))));
+ w = w0 + z * (w1 + y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * w6)))));
r = (x - 0.5) * (t - 1.0) + w;
} else /* 2**58 <= x <= inf */
r = x * (log(x) - 1.0);
diff --git a/lib/libm/lgammaf_r.c b/lib/libm/lgammaf_r.c
index 7cb25578..4db28bf4 100644
--- a/lib/libm/lgammaf_r.c
+++ b/lib/libm/lgammaf_r.c
@@ -176,48 +176,32 @@ float __lgammaf_r(float x, int *signgamp)
switch (i) {
case 0:
z = y * y;
- p1 = a0 +
- z * (a2 +
- z * (a4 + z * (a6 + z * (a8 + z * a10))));
- p2 = z *
- (a1 +
- z * (a3 +
- z * (a5 + z * (a7 + z * (a9 + z * a11)))));
+ p1 = a0 + z * (a2 + z * (a4 + z * (a6 + z * (a8 + z * a10))));
+ p2 = z * (a1 + z * (a3 + z * (a5 + z * (a7 + z * (a9 + z * a11)))));
p = y * p1 + p2;
r += p - 0.5f * y;
break;
case 1:
z = y * y;
w = z * y;
- p1 = t0 +
- w * (t3 +
- w * (t6 + w * (t9 + w * t12))); /* parallel
- comp
- */
+ p1 = t0 + w * (t3 + w * (t6 + w * (t9 + w * t12))); /* parallel
+ comp
+ */
p2 = t1 + w * (t4 + w * (t7 + w * (t10 + w * t13)));
p3 = t2 + w * (t5 + w * (t8 + w * (t11 + w * t14)));
p = z * p1 - (tt - w * (p2 + y * p3));
r += (tf + p);
break;
case 2:
- p1 = y *
- (u0 +
- y * (u1 +
- y * (u2 + y * (u3 + y * (u4 + y * u5)))));
- p2 = 1.0f +
- y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * v5))));
+ p1 = y * (u0 + y * (u1 + y * (u2 + y * (u3 + y * (u4 + y * u5)))));
+ p2 = 1.0f + y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * v5))));
r += -0.5f * y + p1 / p2;
}
} else if (ix < 0x41000000) { /* x < 8.0 */
i = (int)x;
y = x - (float)i;
- p = y *
- (s0 +
- y * (s1 +
- y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6))))));
- q = 1.0f +
- y * (r1 +
- y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * r6)))));
+ p = y * (s0 + y * (s1 + y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6))))));
+ q = 1.0f + y * (r1 + y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * r6)))));
r = 0.5f * y + p / q;
z = 1.0f; /* lgamma(1+s) = log(s) + lgamma(s) */
switch (i) {
@@ -238,9 +222,7 @@ float __lgammaf_r(float x, int *signgamp)
t = logf(x);
z = 1.0f / x;
y = z * z;
- w = w0 +
- z * (w1 +
- y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * w6)))));
+ w = w0 + z * (w1 + y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * w6)))));
r = (x - 0.5f) * (t - 1.0f) + w;
} else /* 2**58 <= x <= inf */
r = x * (logf(x) - 1.0f);
diff --git a/lib/libm/lgammal.c b/lib/libm/lgammal.c
index 6c137e20..4bb58d09 100644
--- a/lib/libm/lgammal.c
+++ b/lib/libm/lgammal.c
@@ -104,17 +104,12 @@ static const long double
/* lgam(1+x) = 0.5 x + x a(x)/b(x)
-0.268402099609375 <= x <= 0
peak relative error 6.6e-22 */
- a0 = -6.343246574721079391729402781192128239938E2L,
- a1 = 1.856560238672465796768677717168371401378E3L,
- a2 = 2.404733102163746263689288466865843408429E3L,
- a3 = 8.804188795790383497379532868917517596322E2L,
- a4 = 1.135361354097447729740103745999661157426E2L,
- a5 = 3.766956539107615557608581581190400021285E0L,
+ a0 = -6.343246574721079391729402781192128239938E2L, a1 = 1.856560238672465796768677717168371401378E3L,
+ a2 = 2.404733102163746263689288466865843408429E3L, a3 = 8.804188795790383497379532868917517596322E2L,
+ a4 = 1.135361354097447729740103745999661157426E2L, a5 = 3.766956539107615557608581581190400021285E0L,
- b0 = 8.214973713960928795704317259806842490498E3L,
- b1 = 1.026343508841367384879065363925870888012E4L,
- b2 = 4.553337477045763320522762343132210919277E3L,
- b3 = 8.506975785032585797446253359230031874803E2L,
+ b0 = 8.214973713960928795704317259806842490498E3L, b1 = 1.026343508841367384879065363925870888012E4L,
+ b2 = 4.553337477045763320522762343132210919277E3L, b3 = 8.506975785032585797446253359230031874803E2L,
b4 = 6.042447899703295436820744186992189445813E1L,
/* b5 = 1.000000000000000000000000000000000000000E0 */
@@ -130,58 +125,40 @@ static const long double
-0.230003726999612341262659542325721328468 <= x
<= 0.2699962730003876587373404576742786715318
peak relative error 2.1e-21 */
- g0 = 3.645529916721223331888305293534095553827E-18L,
- g1 = 5.126654642791082497002594216163574795690E3L,
- g2 = 8.828603575854624811911631336122070070327E3L,
- g3 = 5.464186426932117031234820886525701595203E3L,
- g4 = 1.455427403530884193180776558102868592293E3L,
- g5 = 1.541735456969245924860307497029155838446E2L,
+ g0 = 3.645529916721223331888305293534095553827E-18L, g1 = 5.126654642791082497002594216163574795690E3L,
+ g2 = 8.828603575854624811911631336122070070327E3L, g3 = 5.464186426932117031234820886525701595203E3L,
+ g4 = 1.455427403530884193180776558102868592293E3L, g5 = 1.541735456969245924860307497029155838446E2L,
g6 = 4.335498275274822298341872707453445815118E0L,
- h0 = 1.059584930106085509696730443974495979641E4L,
- h1 = 2.147921653490043010629481226937850618860E4L,
- h2 = 1.643014770044524804175197151958100656728E4L,
- h3 = 5.869021995186925517228323497501767586078E3L,
- h4 = 9.764244777714344488787381271643502742293E2L,
- h5 = 6.442485441570592541741092969581997002349E1L,
+ h0 = 1.059584930106085509696730443974495979641E4L, h1 = 2.147921653490043010629481226937850618860E4L,
+ h2 = 1.643014770044524804175197151958100656728E4L, h3 = 5.869021995186925517228323497501767586078E3L,
+ h4 = 9.764244777714344488787381271643502742293E2L, h5 = 6.442485441570592541741092969581997002349E1L,
/* h6 = 1.000000000000000000000000000000000000000E0 */
/* lgam (x+1) = -0.5 x + x u(x)/v(x)
-0.100006103515625 <= x <= 0.231639862060546875
peak relative error 1.3e-21 */
- u0 = -8.886217500092090678492242071879342025627E1L,
- u1 = 6.840109978129177639438792958320783599310E2L,
- u2 = 2.042626104514127267855588786511809932433E3L,
- u3 = 1.911723903442667422201651063009856064275E3L,
- u4 = 7.447065275665887457628865263491667767695E2L,
- u5 = 1.132256494121790736268471016493103952637E2L,
+ u0 = -8.886217500092090678492242071879342025627E1L, u1 = 6.840109978129177639438792958320783599310E2L,
+ u2 = 2.042626104514127267855588786511809932433E3L, u3 = 1.911723903442667422201651063009856064275E3L,
+ u4 = 7.447065275665887457628865263491667767695E2L, u5 = 1.132256494121790736268471016493103952637E2L,
u6 = 4.484398885516614191003094714505960972894E0L,
- v0 = 1.150830924194461522996462401210374632929E3L,
- v1 = 3.399692260848747447377972081399737098610E3L,
- v2 = 3.786631705644460255229513563657226008015E3L,
- v3 = 1.966450123004478374557778781564114347876E3L,
- v4 = 4.741359068914069299837355438370682773122E2L,
- v5 = 4.508989649747184050907206782117647852364E1L,
+ v0 = 1.150830924194461522996462401210374632929E3L, v1 = 3.399692260848747447377972081399737098610E3L,
+ v2 = 3.786631705644460255229513563657226008015E3L, v3 = 1.966450123004478374557778781564114347876E3L,
+ v4 = 4.741359068914069299837355438370682773122E2L, v5 = 4.508989649747184050907206782117647852364E1L,
/* v6 = 1.000000000000000000000000000000000000000E0 */
/* lgam (x+2) = .5 x + x s(x)/r(x)
0 <= x <= 1
peak relative error 7.2e-22 */
- s0 = 1.454726263410661942989109455292824853344E6L,
- s1 = -3.901428390086348447890408306153378922752E6L,
- s2 = -6.573568698209374121847873064292963089438E6L,
- s3 = -3.319055881485044417245964508099095984643E6L,
- s4 = -7.094891568758439227560184618114707107977E5L,
- s5 = -6.263426646464505837422314539808112478303E4L,
+ s0 = 1.454726263410661942989109455292824853344E6L, s1 = -3.901428390086348447890408306153378922752E6L,
+ s2 = -6.573568698209374121847873064292963089438E6L, s3 = -3.319055881485044417245964508099095984643E6L,
+ s4 = -7.094891568758439227560184618114707107977E5L, s5 = -6.263426646464505837422314539808112478303E4L,
s6 = -1.684926520999477529949915657519454051529E3L,
- r0 = -1.883978160734303518163008696712983134698E7L,
- r1 = -2.815206082812062064902202753264922306830E7L,
- r2 = -1.600245495251915899081846093343626358398E7L,
- r3 = -4.310526301881305003489257052083370058799E6L,
- r4 = -5.563807682263923279438235987186184968542E5L,
- r5 = -3.027734654434169996032905158145259713083E4L,
+ r0 = -1.883978160734303518163008696712983134698E7L, r1 = -2.815206082812062064902202753264922306830E7L,
+ r2 = -1.600245495251915899081846093343626358398E7L, r3 = -4.310526301881305003489257052083370058799E6L,
+ r4 = -5.563807682263923279438235987186184968542E5L, r5 = -3.027734654434169996032905158145259713083E4L,
r6 = -4.501995652861105629217250715790764371267E2L,
/* r6 = 1.000000000000000000000000000000000000000E0 */
@@ -189,9 +166,8 @@ static const long double
x >= 8
Peak relative error 1.51e-21
w0 = LS2PI - 0.5 */
- w0 = 4.189385332046727417803e-1L, w1 = 8.333333333333331447505E-2L,
- w2 = -2.777777777750349603440E-3L, w3 = 7.936507795855070755671E-4L,
- w4 = -5.952345851765688514613E-4L, w5 = 8.412723297322498080632E-4L,
+ w0 = 4.189385332046727417803e-1L, w1 = 8.333333333333331447505E-2L, w2 = -2.777777777750349603440E-3L,
+ w3 = 7.936507795855070755671E-4L, w4 = -5.952345851765688514613E-4L, w5 = 8.412723297322498080632E-4L,
w6 = -1.880801938119376907179E-3L, w7 = 4.885026142432270781165E-3L;
/* sin(pi*x) assuming x > 2^-1000, if sin(pi*x)==0 the sign is arbitrary */
@@ -289,48 +265,27 @@ long double __lgammal_r(long double x, int *sg)
}
switch (i) {
case 0:
- p1 = a0 +
- y * (a1 + y * (a2 + y * (a3 + y * (a4 + y * a5))));
+ p1 = a0 + y * (a1 + y * (a2 + y * (a3 + y * (a4 + y * a5))));
p2 = b0 + y * (b1 + y * (b2 + y * (b3 + y * (b4 + y))));
r += 0.5 * y + y * p1 / p2;
break;
case 1:
- p1 = g0 +
- y * (g1 +
- y * (g2 +
- y * (g3 + y * (g4 + y * (g5 + y * g6)))));
- p2 = h0 +
- y * (h1 +
- y * (h2 +
- y * (h3 + y * (h4 + y * (h5 + y)))));
+ p1 = g0 + y * (g1 + y * (g2 + y * (g3 + y * (g4 + y * (g5 + y * g6)))));
+ p2 = h0 + y * (h1 + y * (h2 + y * (h3 + y * (h4 + y * (h5 + y)))));
p = tt + y * p1 / p2;
r += (tf + p);
break;
case 2:
- p1 = y *
- (u0 +
- y * (u1 +
- y * (u2 +
- y * (u3 +
- y * (u4 + y * (u5 + y * u6))))));
- p2 = v0 +
- y * (v1 +
- y * (v2 +
- y * (v3 + y * (v4 + y * (v5 + y)))));
+ p1 = y * (u0 + y * (u1 + y * (u2 + y * (u3 + y * (u4 + y * (u5 + y * u6))))));
+ p2 = v0 + y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * (v5 + y)))));
r += (-0.5 * y + p1 / p2);
}
} else if (ix < 0x40028000) { /* 8.0 */
/* x < 8.0 */
i = (int)x;
y = x - (double)i;
- p = y *
- (s0 +
- y * (s1 +
- y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6))))));
- q = r0 +
- y * (r1 +
- y * (r2 +
- y * (r3 + y * (r4 + y * (r5 + y * (r6 + y))))));
+ p = y * (s0 + y * (s1 + y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6))))));
+ q = r0 + y * (r1 + y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * (r6 + y))))));
r = 0.5 * y + p / q;
z = 1.0;
/* lgamma(1+s) = log(s) + lgamma(s) */
@@ -353,11 +308,7 @@ long double __lgammal_r(long double x, int *sg)
t = logl(x);
z = 1.0 / x;
y = z * z;
- w = w0 +
- z * (w1 +
- y * (w2 +
- y * (w3 +
- y * (w4 + y * (w5 + y * (w6 + y * w7))))));
+ w = w0 + z * (w1 + y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * (w6 + y * w7))))));
r = (x - 0.5) * (t - 1.0) + w;
} else /* 2**66 <= x <= inf */
r = x * (logl(x) - 1.0);
diff --git a/lib/libm/libm.h b/lib/libm/libm.h
index 5d37249e..a1a876af 100644
--- a/lib/libm/libm.h
+++ b/lib/libm/libm.h
@@ -22,8 +22,7 @@ static __inline uint16_t __bswap16(uint16_t __x)
static __inline uint32_t __bswap32(uint32_t __x)
{
- return __x >> 24 | (__x >> 8 & 0xff00) | (__x << 8 & 0xff0000) |
- __x << 24;
+ return __x >> 24 | (__x >> 8 & 0xff00) | (__x << 8 & 0xff0000) | __x << 24;
}
static __inline uint64_t __bswap64(uint64_t __x)
@@ -60,8 +59,7 @@ static __inline uint64_t __bswap64(uint64_t __x)
#endif
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
-#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && \
- __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
union ldshape {
long double f;
struct {
@@ -69,8 +67,7 @@ union ldshape {
uint16_t se;
} i;
};
-#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && \
- __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
/* This is the m68k variant of 80-bit long double, and this definition only
* works on archs where the alignment requirement of uint64_t is <= 4. */
union ldshape {
@@ -81,8 +78,7 @@ union ldshape {
uint64_t m;
} i;
};
-#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && \
- __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
union ldshape {
long double f;
struct {
@@ -96,8 +92,7 @@ union ldshape {
uint64_t hi;
} i2;
};
-#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && \
- __BYTE_ORDER == __BIG_ENDIAN
+#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __BIG_ENDIAN
union ldshape {
long double f;
struct {
@@ -343,7 +338,6 @@ hidden double __math_invalid(double);
hidden long double __math_invalidl(long double);
#endif
-#define weak_alias(old, new) \
- extern __typeof(old)(new) __attribute__((__weak__, __alias__(#old)))
+#define weak_alias(old, new) extern __typeof(old)(new) __attribute__((__weak__, __alias__(#old)))
#endif
diff --git a/lib/libm/log.c b/lib/libm/log.c
index 39d23cdd..96d6158e 100644
--- a/lib/libm/log.c
+++ b/lib/libm/log.c
@@ -45,10 +45,8 @@ double log(double x)
r = x - 1.0;
r2 = r * r;
r3 = r * r2;
- y = r3 *
- (B[1] + r * B[2] + r2 * B[3] +
- r3 * (B[4] + r * B[5] + r2 * B[6] +
- r3 * (B[7] + r * B[8] + r2 * B[9] + r3 * B[10])));
+ y = r3 * (B[1] + r * B[2] + r2 * B[3] +
+ r3 * (B[4] + r * B[5] + r2 * B[6] + r3 * (B[7] + r * B[8] + r2 * B[9] + r3 * B[10])));
/* Worst-case error is around 0.507 ULP. */
w = r * 0x1p27;
double_t rhi = r + w - w;
@@ -107,7 +105,6 @@ double log(double x)
0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)
Worst case error if |y| > 0x1p-4:
0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma). */
- y = lo + r2 * A[0] +
- r * r2 * (A[1] + r * A[2] + r2 * (A[3] + r * A[4])) + hi;
+ y = lo + r2 * A[0] + r * r2 * (A[1] + r * A[2] + r2 * (A[3] + r * A[4])) + hi;
return eval_as_double(y);
}
diff --git a/lib/libm/log10.c b/lib/libm/log10.c
index 729ca4d6..05168293 100644
--- a/lib/libm/log10.c
+++ b/lib/libm/log10.c
@@ -22,16 +22,16 @@
static const double ivln10hi = 4.34294481878168880939e-01, /* 0x3fdbcb7b,
0x15200000 */
- ivln10lo = 2.50829467116452752298e-11, /* 0x3dbb9438, 0xca9aadd5 */
- log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */
- log10_2lo = 3.69423907715893078616e-13, /* 0x3D59FEF3, 0x11F12B36 */
- Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
- Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
- Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
- Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
- Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
- Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
- Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
+ ivln10lo = 2.50829467116452752298e-11, /* 0x3dbb9438, 0xca9aadd5 */
+ log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */
+ log10_2lo = 3.69423907715893078616e-13, /* 0x3D59FEF3, 0x11F12B36 */
+ Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
+ Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
+ Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
+ Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
+ Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
+ Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
+ Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
double log10(double x)
{
diff --git a/lib/libm/log10f.c b/lib/libm/log10f.c
index 4bf26544..b1f8de94 100644
--- a/lib/libm/log10f.c
+++ b/lib/libm/log10f.c
@@ -76,6 +76,5 @@ float log10f(float x)
hi = u.f;
lo = f - hi - hfsq + s * (hfsq + R);
dk = k;
- return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi +
- hi * ivln10hi + dk * log10_2hi;
+ return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi;
}
diff --git a/lib/libm/log10l.c b/lib/libm/log10l.c
index d462308f..6a5025fb 100644
--- a/lib/libm/log10l.c
+++ b/lib/libm/log10l.c
@@ -73,16 +73,14 @@ long double log10l(long double x)
* Theoretical peak relative error = 6.2e-22
*/
static const long double P[] = {
- 4.9962495940332550844739E-1L, 1.0767376367209449010438E1L,
- 7.7671073698359539859595E1L, 2.5620629828144409632571E2L,
- 4.2401812743503691187826E2L, 3.4258224542413922935104E2L,
+ 4.9962495940332550844739E-1L, 1.0767376367209449010438E1L, 7.7671073698359539859595E1L,
+ 2.5620629828144409632571E2L, 4.2401812743503691187826E2L, 3.4258224542413922935104E2L,
1.0747524399916215149070E2L,
};
static const long double Q[] = {
/* 1.0000000000000000000000E0,*/
- 2.3479774160285863271658E1L, 1.9444210022760132894510E2L,
- 7.7952888181207260646090E2L, 1.6911722418503949084863E3L,
- 2.0307734695595183428202E3L, 1.2695660352705325274404E3L,
+ 2.3479774160285863271658E1L, 1.9444210022760132894510E2L, 7.7952888181207260646090E2L,
+ 1.6911722418503949084863E3L, 2.0307734695595183428202E3L, 1.2695660352705325274404E3L,
3.2242573199748645407652E2L,
};
diff --git a/lib/libm/log1pl.c b/lib/libm/log1pl.c
index 972e9467..a64355e3 100644
--- a/lib/libm/log1pl.c
+++ b/lib/libm/log1pl.c
@@ -64,16 +64,14 @@ long double log1pl(long double x)
* Theoretical peak relative error = 2.32e-20
*/
static const long double P[] = {
- 4.5270000862445199635215E-5L, 4.9854102823193375972212E-1L,
- 6.5787325942061044846969E0L, 2.9911919328553073277375E1L,
- 6.0949667980987787057556E1L, 5.7112963590585538103336E1L,
+ 4.5270000862445199635215E-5L, 4.9854102823193375972212E-1L, 6.5787325942061044846969E0L,
+ 2.9911919328553073277375E1L, 6.0949667980987787057556E1L, 5.7112963590585538103336E1L,
2.0039553499201281259648E1L,
};
static const long double Q[] = {
/* 1.0000000000000000000000E0,*/
- 1.5062909083469192043167E1L, 8.3047565967967209469434E1L,
- 2.2176239823732856465394E2L, 3.0909872225312059774938E2L,
- 2.1642788614495947685003E2L, 6.0118660497603843919306E1L,
+ 1.5062909083469192043167E1L, 8.3047565967967209469434E1L, 2.2176239823732856465394E2L,
+ 3.0909872225312059774938E2L, 2.1642788614495947685003E2L, 6.0118660497603843919306E1L,
};
/* Coefficients for log(x) = z + z^3 P(z^2)/Q(z^2),
diff --git a/lib/libm/log2.c b/lib/libm/log2.c
index e240ac07..e3b9a9c7 100644
--- a/lib/libm/log2.c
+++ b/lib/libm/log2.c
@@ -60,8 +60,7 @@ double log2(double x)
p = r2 * (B[0] + r * B[1]);
y = hi + p;
lo += hi - y + p;
- lo += r4 * (B[2] + r * B[3] + r2 * (B[4] + r * B[5]) +
- r4 * (B[6] + r * B[7] + r2 * (B[8] + r * B[9])));
+ lo += r4 * (B[2] + r * B[3] + r2 * (B[4] + r * B[5]) + r4 * (B[6] + r * B[7] + r2 * (B[8] + r * B[9])));
y += lo;
return eval_as_double(y);
}
diff --git a/lib/libm/log2l.c b/lib/libm/log2l.c
index bec1d02d..c5f39e16 100644
--- a/lib/libm/log2l.c
+++ b/lib/libm/log2l.c
@@ -68,16 +68,14 @@ long double log2l(long double x)
* Theoretical peak relative error = 6.2e-22
*/
static const long double P[] = {
- 4.9962495940332550844739E-1L, 1.0767376367209449010438E1L,
- 7.7671073698359539859595E1L, 2.5620629828144409632571E2L,
- 4.2401812743503691187826E2L, 3.4258224542413922935104E2L,
+ 4.9962495940332550844739E-1L, 1.0767376367209449010438E1L, 7.7671073698359539859595E1L,
+ 2.5620629828144409632571E2L, 4.2401812743503691187826E2L, 3.4258224542413922935104E2L,
1.0747524399916215149070E2L,
};
static const long double Q[] = {
/* 1.0000000000000000000000E0,*/
- 2.3479774160285863271658E1L, 1.9444210022760132894510E2L,
- 7.7952888181207260646090E2L, 1.6911722418503949084863E3L,
- 2.0307734695595183428202E3L, 1.2695660352705325274404E3L,
+ 2.3479774160285863271658E1L, 1.9444210022760132894510E2L, 7.7952888181207260646090E2L,
+ 1.6911722418503949084863E3L, 2.0307734695595183428202E3L, 1.2695660352705325274404E3L,
3.2242573199748645407652E2L,
};
diff --git a/lib/libm/logl.c b/lib/libm/logl.c
index 419f98b6..7a541be2 100644
--- a/lib/libm/logl.c
+++ b/lib/libm/logl.c
@@ -68,16 +68,14 @@ long double logl(long double x)
* Theoretical peak relative error = 2.32e-20
*/
static const long double P[] = {
- 4.5270000862445199635215E-5L, 4.9854102823193375972212E-1L,
- 6.5787325942061044846969E0L, 2.9911919328553073277375E1L,
- 6.0949667980987787057556E1L, 5.7112963590585538103336E1L,
+ 4.5270000862445199635215E-5L, 4.9854102823193375972212E-1L, 6.5787325942061044846969E0L,
+ 2.9911919328553073277375E1L, 6.0949667980987787057556E1L, 5.7112963590585538103336E1L,
2.0039553499201281259648E1L,
};
static const long double Q[] = {
/* 1.0000000000000000000000E0,*/
- 1.5062909083469192043167E1L, 8.3047565967967209469434E1L,
- 2.2176239823732856465394E2L, 3.0909872225312059774938E2L,
- 2.1642788614495947685003E2L, 6.0118660497603843919306E1L,
+ 1.5062909083469192043167E1L, 8.3047565967967209469434E1L, 2.2176239823732856465394E2L,
+ 3.0909872225312059774938E2L, 2.1642788614495947685003E2L, 6.0118660497603843919306E1L,
};
/* Coefficients for log(x) = z + z^3 P(z^2)/Q(z^2),
diff --git a/lib/libm/pow.c b/lib/libm/pow.c
index f4f84703..f91da903 100644
--- a/lib/libm/pow.c
+++ b/lib/libm/pow.c
@@ -94,8 +94,7 @@ static inline double_t log_inline(uint64_t ix, double_t *tail)
lo4 = t2 - hi + arhi2;
#endif
/* p = log1p(r) - r - A[0]*r*r. */
- p = (ar3 * (A[1] + r * A[2] +
- ar2 * (A[3] + r * A[4] + ar2 * (A[5] + r * A[6]))));
+ p = (ar3 * (A[1] + r * A[2] + ar2 * (A[3] + r * A[4] + ar2 * (A[5] + r * A[6]))));
lo = lo1 + lo2 + lo3 + lo4 + p;
y = hi + lo;
*tail = hi - y + lo;
@@ -176,8 +175,7 @@ static inline double exp_inline(double_t x, double_t xtail, uint32_t sign_bias)
double_t kd, z, r, r2, scale, tail, tmp;
abstop = top12(x) & 0x7ff;
- if (predict_false(abstop - top12(0x1p-54) >=
- top12(512.0) - top12(0x1p-54))) {
+ if (predict_false(abstop - top12(0x1p-54) >= top12(512.0) - top12(0x1p-54))) {
if (abstop - top12(0x1p-54) >= 0x80000000) {
/* Avoid spurious underflow for tiny x. */
/* Note: 0 is common input. */
@@ -267,8 +265,7 @@ double pow(double x, double y)
iy = asuint64(y);
topx = top12(x);
topy = top12(y);
- if (predict_false(topx - 0x001 >= 0x7ff - 0x001 ||
- (topy & 0x7ff) - 0x3be >= 0x43e - 0x3be)) {
+ if (predict_false(topx - 0x001 >= 0x7ff - 0x001 || (topy & 0x7ff) - 0x3be >= 0x43e - 0x3be)) {
/* Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y)
= inf/0 and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then
pow(x,y) = +-1. */
@@ -279,8 +276,7 @@ double pow(double x, double y)
return issignaling_inline(x) ? x + y : 1.0;
if (ix == asuint64(1.0))
return issignaling_inline(y) ? x + y : 1.0;
- if (2 * ix > 2 * asuint64(INFINITY) ||
- 2 * iy > 2 * asuint64(INFINITY))
+ if (2 * ix > 2 * asuint64(INFINITY) || 2 * iy > 2 * asuint64(INFINITY))
return x + y;
if (2 * ix == 2 * asuint64(1.0))
return 1.0;
@@ -316,13 +312,10 @@ double pow(double x, double y)
if ((topy & 0x7ff) < 0x3be) {
/* |y| < 2^-65, x^y ~= 1 + y*log(x). */
if (WANT_ROUNDING)
- return ix > asuint64(1.0) ? 1.0 + y :
- 1.0 - y;
+ return ix > asuint64(1.0) ? 1.0 + y : 1.0 - y;
return 1.0;
}
- return (ix > asuint64(1.0)) == (topy < 0x800) ?
- __math_oflow(0) :
- __math_uflow(0);
+ return (ix > asuint64(1.0)) == (topy < 0x800) ? __math_oflow(0) : __math_uflow(0);
}
if (topx == 0) {
/* Normalize subnormal x so exponent becomes negative.
diff --git a/lib/libm/powf.c b/lib/libm/powf.c
index f93a5877..424cbd51 100644
--- a/lib/libm/powf.c
+++ b/lib/libm/powf.c
@@ -130,8 +130,7 @@ float powf(float x, float y)
ix = asuint(x);
iy = asuint(y);
- if (predict_false(ix - 0x00800000 >= 0x7f800000 - 0x00800000 ||
- zeroinfnan(iy))) {
+ if (predict_false(ix - 0x00800000 >= 0x7f800000 - 0x00800000 || zeroinfnan(iy))) {
/* Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or
* nan). */
if (predict_false(zeroinfnan(iy))) {
@@ -139,8 +138,7 @@ float powf(float x, float y)
return issignalingf_inline(x) ? x + y : 1.0f;
if (ix == 0x3f800000)
return issignalingf_inline(y) ? x + y : 1.0f;
- if (2 * ix > 2u * 0x7f800000 ||
- 2 * iy > 2u * 0x7f800000)
+ if (2 * ix > 2u * 0x7f800000 || 2 * iy > 2u * 0x7f800000)
return x + y;
if (2 * ix == 2 * 0x3f800000)
return 1.0f;
@@ -178,8 +176,7 @@ float powf(float x, float y)
}
double_t logx = log2_inline(ix);
double_t ylogx = y * logx; /* cannot overflow, y is single prec. */
- if (predict_false((asuint64(ylogx) >> 47 & 0xffff) >=
- asuint64(126.0 * POWF_SCALE) >> 47)) {
+ if (predict_false((asuint64(ylogx) >> 47 & 0xffff) >= asuint64(126.0 * POWF_SCALE) >> 47)) {
/* |y*log(x)| >= 126. */
if (ylogx > 0x1.fffffffd1d571p+6 * POWF_SCALE)
return __math_oflowf(sign_bias);
diff --git a/lib/libm/powl.c b/lib/libm/powl.c
index 26a9b5ae..d47e6307 100644
--- a/lib/libm/powl.c
+++ b/lib/libm/powl.c
@@ -93,43 +93,33 @@ static const long double Q[] = {
* If i is even, A[i] + B[i/2] gives additional accuracy.
*/
static const long double A[33] = {
- 1.0000000000000000000000E0L, 9.7857206208770013448287E-1L,
- 9.5760328069857364691013E-1L, 9.3708381705514995065011E-1L,
- 9.1700404320467123175367E-1L, 8.9735453750155359320742E-1L,
- 8.7812608018664974155474E-1L, 8.5930964906123895780165E-1L,
- 8.4089641525371454301892E-1L, 8.2287773907698242225554E-1L,
- 8.0524516597462715409607E-1L, 7.8799042255394324325455E-1L,
- 7.7110541270397041179298E-1L, 7.5458221379671136985669E-1L,
- 7.3841307296974965571198E-1L, 7.2259040348852331001267E-1L,
- 7.0710678118654752438189E-1L, 6.9195494098191597746178E-1L,
- 6.7712777346844636413344E-1L, 6.6261832157987064729696E-1L,
- 6.4841977732550483296079E-1L, 6.3452547859586661129850E-1L,
- 6.2092890603674202431705E-1L, 6.0762367999023443907803E-1L,
- 5.9460355750136053334378E-1L, 5.8186242938878875689693E-1L,
- 5.6939431737834582684856E-1L, 5.5719337129794626814472E-1L,
- 5.4525386633262882960438E-1L, 5.3357020033841180906486E-1L,
- 5.2213689121370692017331E-1L, 5.1094857432705833910408E-1L,
- 5.0000000000000000000000E-1L,
+ 1.0000000000000000000000E0L, 9.7857206208770013448287E-1L, 9.5760328069857364691013E-1L,
+ 9.3708381705514995065011E-1L, 9.1700404320467123175367E-1L, 8.9735453750155359320742E-1L,
+ 8.7812608018664974155474E-1L, 8.5930964906123895780165E-1L, 8.4089641525371454301892E-1L,
+ 8.2287773907698242225554E-1L, 8.0524516597462715409607E-1L, 7.8799042255394324325455E-1L,
+ 7.7110541270397041179298E-1L, 7.5458221379671136985669E-1L, 7.3841307296974965571198E-1L,
+ 7.2259040348852331001267E-1L, 7.0710678118654752438189E-1L, 6.9195494098191597746178E-1L,
+ 6.7712777346844636413344E-1L, 6.6261832157987064729696E-1L, 6.4841977732550483296079E-1L,
+ 6.3452547859586661129850E-1L, 6.2092890603674202431705E-1L, 6.0762367999023443907803E-1L,
+ 5.9460355750136053334378E-1L, 5.8186242938878875689693E-1L, 5.6939431737834582684856E-1L,
+ 5.5719337129794626814472E-1L, 5.4525386633262882960438E-1L, 5.3357020033841180906486E-1L,
+ 5.2213689121370692017331E-1L, 5.1094857432705833910408E-1L, 5.0000000000000000000000E-1L,
};
static const long double B[17] = {
- 0.0000000000000000000000E0L, 2.6176170809902549338711E-20L,
- -1.0126791927256478897086E-20L, 1.3438228172316276937655E-21L,
- 1.2207982955417546912101E-20L, -6.3084814358060867200133E-21L,
- 1.3164426894366316434230E-20L, -1.8527916071632873716786E-20L,
- 1.8950325588932570796551E-20L, 1.5564775779538780478155E-20L,
- 6.0859793637556860974380E-21L, -2.0208749253662532228949E-20L,
- 1.4966292219224761844552E-20L, 3.3540909728056476875639E-21L,
- -8.6987564101742849540743E-22L, -1.2327176863327626135542E-20L,
- 0.0000000000000000000000E0L,
+ 0.0000000000000000000000E0L, 2.6176170809902549338711E-20L, -1.0126791927256478897086E-20L,
+ 1.3438228172316276937655E-21L, 1.2207982955417546912101E-20L, -6.3084814358060867200133E-21L,
+ 1.3164426894366316434230E-20L, -1.8527916071632873716786E-20L, 1.8950325588932570796551E-20L,
+ 1.5564775779538780478155E-20L, 6.0859793637556860974380E-21L, -2.0208749253662532228949E-20L,
+ 1.4966292219224761844552E-20L, 3.3540909728056476875639E-21L, -8.6987564101742849540743E-22L,
+ -1.2327176863327626135542E-20L, 0.0000000000000000000000E0L,
};
/* 2^x = 1 + x P(x),
* on the interval -1/32 <= x <= 0
*/
static const long double R[] = {
- 1.5089970579127659901157E-5L, 1.5402715328927013076125E-4L,
- 1.3333556028915671091390E-3L, 9.6181291046036762031786E-3L,
- 5.5504108664798463044015E-2L, 2.4022650695910062854352E-1L,
+ 1.5089970579127659901157E-5L, 1.5402715328927013076125E-4L, 1.3333556028915671091390E-3L,
+ 9.6181291046036762031786E-3L, 5.5504108664798463044015E-2L, 2.4022650695910062854352E-1L,
6.9314718055994530931447E-1L,
};
diff --git a/lib/libm/remquo.c b/lib/libm/remquo.c
index 8e27914f..adddd850 100644
--- a/lib/libm/remquo.c
+++ b/lib/libm/remquo.c
@@ -78,8 +78,7 @@ end:
x = ux.f;
if (sy)
y = -y;
- if (ex == ey ||
- (ex + 1 == ey && (2 * x > y || (2 * x == y && q % 2)))) {
+ if (ex == ey || (ex + 1 == ey && (2 * x > y || (2 * x == y && q % 2)))) {
x -= y;
q++;
}
diff --git a/lib/libm/remquof.c b/lib/libm/remquof.c
index c50b1615..7963b349 100644
--- a/lib/libm/remquof.c
+++ b/lib/libm/remquof.c
@@ -78,8 +78,7 @@ end:
x = ux.f;
if (sy)
y = -y;
- if (ex == ey ||
- (ex + 1 == ey && (2 * x > y || (2 * x == y && q % 2)))) {
+ if (ex == ey || (ex + 1 == ey && (2 * x > y || (2 * x == y && q % 2)))) {
x -= y;
q++;
}
diff --git a/lib/libm/remquol.c b/lib/libm/remquol.c
index 1a58f2d3..906bb58d 100644
--- a/lib/libm/remquol.c
+++ b/lib/libm/remquol.c
@@ -103,8 +103,7 @@ long double remquol(long double x, long double y, int *quo)
if ((xhi | xlo) == 0)
ex = -120;
else
- for (; xhi >> 48 == 0;
- xhi = 2 * xhi + (xlo >> 63), xlo = 2 * xlo, ex--)
+ for (; xhi >> 48 == 0; xhi = 2 * xhi + (xlo >> 63), xlo = 2 * xlo, ex--)
;
ux.i2.hi = xhi;
ux.i2.lo = xlo;
@@ -120,8 +119,7 @@ long double remquol(long double x, long double y, int *quo)
x = ux.f;
if (sy)
y = -y;
- if (ex == ey ||
- (ex + 1 == ey && (2 * x > y || (2 * x == y && q % 2)))) {
+ if (ex == ey || (ex + 1 == ey && (2 * x > y || (2 * x == y && q % 2)))) {
x -= y;
q++;
}
diff --git a/lib/libm/sin.c b/lib/libm/sin.c
index 4eff1001..24be2599 100644
--- a/lib/libm/sin.c
+++ b/lib/libm/sin.c
@@ -59,8 +59,7 @@ double sin(double x)
if (ix <= 0x3fe921fb) {
if (ix < 0x3e500000) { /* |x| < 2**-26 */
/* raise inexact if x != 0 and underflow if subnormal*/
- FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f :
- x + 0x1p120f);
+ FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f : x + 0x1p120f);
return x;
}
return __sin(x, 0.0, 0);
diff --git a/lib/libm/sincos.c b/lib/libm/sincos.c
index c7300d7b..6ffbe06e 100644
--- a/lib/libm/sincos.c
+++ b/lib/libm/sincos.c
@@ -29,8 +29,7 @@ void sincos(double x, double *sin, double *cos)
/* if |x| < 2**-27 * sqrt(2) */
if (ix < 0x3e46a09e) {
/* raise inexact if x!=0 and underflow if subnormal */
- FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f :
- x + 0x1p120f);
+ FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f : x + 0x1p120f);
*sin = x;
*cos = 1.0;
return;
diff --git a/lib/libm/sincosf.c b/lib/libm/sincosf.c
index ea4bc567..089c4aa8 100644
--- a/lib/libm/sincosf.c
+++ b/lib/libm/sincosf.c
@@ -42,8 +42,7 @@ void sincosf(float x, float *sin, float *cos)
/* |x| < 2**-12 */
if (ix < 0x39800000) {
/* raise inexact if x!=0 and underflow if subnormal */
- FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f :
- x + 0x1p120f);
+ FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f : x + 0x1p120f);
*sin = x;
*cos = 1.0f;
return;
diff --git a/lib/libm/sinf.c b/lib/libm/sinf.c
index 28513976..e1a3209d 100644
--- a/lib/libm/sinf.c
+++ b/lib/libm/sinf.c
@@ -38,8 +38,7 @@ float sinf(float x)
if (ix <= 0x3f490fda) { /* |x| ~<= pi/4 */
if (ix < 0x39800000) { /* |x| < 2**-12 */
/* raise inexact if x!=0 and underflow if subnormal */
- FORCE_EVAL(ix < 0x00800000 ? x / 0x1p120f :
- x + 0x1p120f);
+ FORCE_EVAL(ix < 0x00800000 ? x / 0x1p120f : x + 0x1p120f);
return x;
}
return __sindf(x);
diff --git a/lib/libm/sinhl.c b/lib/libm/sinhl.c
index fa35e870..0cfdeecc 100644
--- a/lib/libm/sinhl.c
+++ b/lib/libm/sinhl.c
@@ -23,8 +23,7 @@ long double sinhl(long double x)
absx = u.f;
/* |x| < log(LDBL_MAX) */
- if (ex < 0x3fff + 13 ||
- (ex == 0x3fff + 13 && u.i.m >> 32 < 0xb17217f7)) {
+ if (ex < 0x3fff + 13 || (ex == 0x3fff + 13 && u.i.m >> 32 < 0xb17217f7)) {
t = expm1l(absx);
if (ex < 0x3fff) {
if (ex < 0x3fff - 32)
diff --git a/lib/libm/sqrt_data.c b/lib/libm/sqrt_data.c
index 4dc20a17..10a091af 100644
--- a/lib/libm/sqrt_data.c
+++ b/lib/libm/sqrt_data.c
@@ -3,19 +3,14 @@
#include <stdint.h> // for uint16_t
const uint16_t __rsqrt_tab[128] = {
- 0xb451, 0xb2f0, 0xb196, 0xb044, 0xaef9, 0xadb6, 0xac79, 0xab43, 0xaa14,
- 0xa8eb, 0xa7c8, 0xa6aa, 0xa592, 0xa480, 0xa373, 0xa26b, 0xa168, 0xa06a,
- 0x9f70, 0x9e7b, 0x9d8a, 0x9c9d, 0x9bb5, 0x9ad1, 0x99f0, 0x9913, 0x983a,
- 0x9765, 0x9693, 0x95c4, 0x94f8, 0x9430, 0x936b, 0x92a9, 0x91ea, 0x912e,
- 0x9075, 0x8fbe, 0x8f0a, 0x8e59, 0x8daa, 0x8cfe, 0x8c54, 0x8bac, 0x8b07,
- 0x8a64, 0x89c4, 0x8925, 0x8889, 0x87ee, 0x8756, 0x86c0, 0x862b, 0x8599,
- 0x8508, 0x8479, 0x83ec, 0x8361, 0x82d8, 0x8250, 0x81c9, 0x8145, 0x80c2,
- 0x8040, 0xff02, 0xfd0e, 0xfb25, 0xf947, 0xf773, 0xf5aa, 0xf3ea, 0xf234,
- 0xf087, 0xeee3, 0xed47, 0xebb3, 0xea27, 0xe8a3, 0xe727, 0xe5b2, 0xe443,
- 0xe2dc, 0xe17a, 0xe020, 0xdecb, 0xdd7d, 0xdc34, 0xdaf1, 0xd9b3, 0xd87b,
- 0xd748, 0xd61a, 0xd4f1, 0xd3cd, 0xd2ad, 0xd192, 0xd07b, 0xcf69, 0xce5b,
- 0xcd51, 0xcc4a, 0xcb48, 0xca4a, 0xc94f, 0xc858, 0xc764, 0xc674, 0xc587,
- 0xc49d, 0xc3b7, 0xc2d4, 0xc1f4, 0xc116, 0xc03c, 0xbf65, 0xbe90, 0xbdbe,
- 0xbcef, 0xbc23, 0xbb59, 0xba91, 0xb9cc, 0xb90a, 0xb84a, 0xb78c, 0xb6d0,
- 0xb617, 0xb560,
+ 0xb451, 0xb2f0, 0xb196, 0xb044, 0xaef9, 0xadb6, 0xac79, 0xab43, 0xaa14, 0xa8eb, 0xa7c8, 0xa6aa, 0xa592,
+ 0xa480, 0xa373, 0xa26b, 0xa168, 0xa06a, 0x9f70, 0x9e7b, 0x9d8a, 0x9c9d, 0x9bb5, 0x9ad1, 0x99f0, 0x9913,
+ 0x983a, 0x9765, 0x9693, 0x95c4, 0x94f8, 0x9430, 0x936b, 0x92a9, 0x91ea, 0x912e, 0x9075, 0x8fbe, 0x8f0a,
+ 0x8e59, 0x8daa, 0x8cfe, 0x8c54, 0x8bac, 0x8b07, 0x8a64, 0x89c4, 0x8925, 0x8889, 0x87ee, 0x8756, 0x86c0,
+ 0x862b, 0x8599, 0x8508, 0x8479, 0x83ec, 0x8361, 0x82d8, 0x8250, 0x81c9, 0x8145, 0x80c2, 0x8040, 0xff02,
+ 0xfd0e, 0xfb25, 0xf947, 0xf773, 0xf5aa, 0xf3ea, 0xf234, 0xf087, 0xeee3, 0xed47, 0xebb3, 0xea27, 0xe8a3,
+ 0xe727, 0xe5b2, 0xe443, 0xe2dc, 0xe17a, 0xe020, 0xdecb, 0xdd7d, 0xdc34, 0xdaf1, 0xd9b3, 0xd87b, 0xd748,
+ 0xd61a, 0xd4f1, 0xd3cd, 0xd2ad, 0xd192, 0xd07b, 0xcf69, 0xce5b, 0xcd51, 0xcc4a, 0xcb48, 0xca4a, 0xc94f,
+ 0xc858, 0xc764, 0xc674, 0xc587, 0xc49d, 0xc3b7, 0xc2d4, 0xc1f4, 0xc116, 0xc03c, 0xbf65, 0xbe90, 0xbdbe,
+ 0xbcef, 0xbc23, 0xbb59, 0xba91, 0xb9cc, 0xb90a, 0xb84a, 0xb78c, 0xb6d0, 0xb617, 0xb560,
};
diff --git a/lib/libm/sqrtl.c b/lib/libm/sqrtl.c
index d71d455e..7afc601c 100644
--- a/lib/libm/sqrtl.c
+++ b/lib/libm/sqrtl.c
@@ -150,8 +150,7 @@ static inline u128 mul64_128(uint64_t a, uint64_t b)
uint64_t alo = a & 0xffffffff;
uint64_t bhi = b >> 32;
uint64_t blo = b & 0xffffffff;
- uint64_t lo1 = ((ahi * blo) & 0xffffffff) + ((alo * bhi) & 0xffffffff) +
- (alo * blo >> 32);
+ uint64_t lo1 = ((ahi * blo) & 0xffffffff) + ((alo * bhi) & 0xffffffff) + (alo * blo >> 32);
uint64_t lo2 = (alo * blo) & 0xffffffff;
r.hi = ahi * bhi + (ahi * blo >> 32) + (alo * bhi >> 32) + (lo1 >> 32);
r.lo = (lo1 << 32) + lo2;
@@ -243,8 +242,7 @@ long double sqrtl(long double x)
long double y;
u128 d2, d1, d0;
- d0 = sub128(lsh(ml, 2 * (LDBL_MANT_DIG - 1) - 126),
- mul128_tail(sl, sl));
+ d0 = sub128(lsh(ml, 2 * (LDBL_MANT_DIG - 1) - 126), mul128_tail(sl, sl));
d1 = sub128(sl, d0);
d2 = add128(add64(sl, 1), d1);
sl = add64(sl, d1.hi >> 63);
diff --git a/lib/libm/tan.c b/lib/libm/tan.c
index 5f37becc..aa3015b5 100644
--- a/lib/libm/tan.c
+++ b/lib/libm/tan.c
@@ -57,8 +57,7 @@ double tan(double x)
if (ix <= 0x3fe921fb) {
if (ix < 0x3e400000) { /* |x| < 2**-27 */
/* raise inexact if x!=0 and underflow if subnormal */
- FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f :
- x + 0x1p120f);
+ FORCE_EVAL(ix < 0x00100000 ? x / 0x1p120f : x + 0x1p120f);
return x;
}
return __tan(x, 0.0, 0);
diff --git a/lib/libm/tanf.c b/lib/libm/tanf.c
index f005908f..9de9ee57 100644
--- a/lib/libm/tanf.c
+++ b/lib/libm/tanf.c
@@ -39,8 +39,7 @@ float tanf(float x)
if (ix <= 0x3f490fda) { /* |x| ~<= pi/4 */
if (ix < 0x39800000) { /* |x| < 2**-12 */
/* raise inexact if x!=0 and underflow if subnormal */
- FORCE_EVAL(ix < 0x00800000 ? x / 0x1p120f :
- x + 0x1p120f);
+ FORCE_EVAL(ix < 0x00800000 ? x / 0x1p120f : x + 0x1p120f);
return x;
}
return __tandf(x, 0);
diff --git a/lib/libm/tgamma.c b/lib/libm/tgamma.c
index 69759fd8..b72ede42 100644
--- a/lib/libm/tgamma.c
+++ b/lib/libm/tgamma.c
@@ -62,23 +62,16 @@ static double sinpi(double x)
// static const double g = 6.024680040776729583740234375;
static const double gmhalf = 5.524680040776729583740234375;
static const double Snum[N + 1] = {
- 23531376880.410759688572007674451636754734846804940,
- 42919803642.649098768957899047001988850926355848959,
- 35711959237.355668049440185451547166705960488635843,
- 17921034426.037209699919755754458931112671403265390,
- 6039542586.3520280050642916443072979210699388420708,
- 1439720407.3117216736632230727949123939715485786772,
- 248874557.86205415651146038641322942321632125127801,
- 31426415.585400194380614231628318205362874684987640,
- 2876370.6289353724412254090516208496135991145378768,
- 186056.26539522349504029498971604569928220784236328,
- 8071.6720023658162106380029022722506138218516325024,
- 210.82427775157934587250973392071336271166969580291,
+ 23531376880.410759688572007674451636754734846804940, 42919803642.649098768957899047001988850926355848959,
+ 35711959237.355668049440185451547166705960488635843, 17921034426.037209699919755754458931112671403265390,
+ 6039542586.3520280050642916443072979210699388420708, 1439720407.3117216736632230727949123939715485786772,
+ 248874557.86205415651146038641322942321632125127801, 31426415.585400194380614231628318205362874684987640,
+ 2876370.6289353724412254090516208496135991145378768, 186056.26539522349504029498971604569928220784236328,
+ 8071.6720023658162106380029022722506138218516325024, 210.82427775157934587250973392071336271166969580291,
2.5066282746310002701649081771338373386264310793408,
};
static const double Sden[N + 1] = {
- 0, 39916800, 120543840, 150917976, 105258076, 45995730, 13339535,
- 2637558, 357423, 32670, 1925, 66, 1,
+ 0, 39916800, 120543840, 150917976, 105258076, 45995730, 13339535, 2637558, 357423, 32670, 1925, 66, 1,
};
/* n! for small integer n */
static const double fact[] = {
diff --git a/lib/libm/tgammal.c b/lib/libm/tgammal.c
index 54270091..ead0f69d 100644
--- a/lib/libm/tgammal.c
+++ b/lib/libm/tgammal.c
@@ -68,17 +68,14 @@ Peak error = 1.83e-20
Relative error spread = 8.4e-23
*/
static const long double P[8] = {
- 4.212760487471622013093E-5L, 4.542931960608009155600E-4L,
- 4.092666828394035500949E-3L, 2.385363243461108252554E-2L,
- 1.113062816019361559013E-1L, 3.629515436640239168939E-1L,
+ 4.212760487471622013093E-5L, 4.542931960608009155600E-4L, 4.092666828394035500949E-3L,
+ 2.385363243461108252554E-2L, 1.113062816019361559013E-1L, 3.629515436640239168939E-1L,
8.378004301573126728826E-1L, 1.000000000000000000009E0L,
};
static const long double Q[9] = {
- -1.397148517476170440917E-5L, 2.346584059160635244282E-4L,
- -1.237799246653152231188E-3L, -7.955933682494738320586E-4L,
- 2.773706565840072979165E-2L, -4.633887671244534213831E-2L,
- -2.243510905670329164562E-1L, 4.150160950588455434583E-1L,
- 9.999999999999999999908E-1L,
+ -1.397148517476170440917E-5L, 2.346584059160635244282E-4L, -1.237799246653152231188E-3L,
+ -7.955933682494738320586E-4L, 2.773706565840072979165E-2L, -4.633887671244534213831E-2L,
+ -2.243510905670329164562E-1L, 4.150160950588455434583E-1L, 9.999999999999999999908E-1L,
};
/*
@@ -117,11 +114,9 @@ Peak error = 9.44e-21
Relative error spread = 8.8e-4
*/
static const long double STIR[9] = {
- 7.147391378143610789273E-4L, -2.363848809501759061727E-5L,
- -5.950237554056330156018E-4L, 6.989332260623193171870E-5L,
- 7.840334842744753003862E-4L, -2.294719747873185405699E-4L,
- -2.681327161876304418288E-3L, 3.472222222230075327854E-3L,
- 8.333333333333331800504E-2L,
+ 7.147391378143610789273E-4L, -2.363848809501759061727E-5L, -5.950237554056330156018E-4L,
+ 6.989332260623193171870E-5L, 7.840334842744753003862E-4L, -2.294719747873185405699E-4L,
+ -2.681327161876304418288E-3L, 3.472222222230075327854E-3L, 8.333333333333331800504E-2L,
};
#define MAXSTIR 1024.0L
@@ -133,11 +128,9 @@ static const long double SQTPI = 2.50662827463100050242E0L;
* Peak relative error 4.2e-23
*/
static const long double S[9] = {
- -1.193945051381510095614E-3L, 7.220599478036909672331E-3L,
- -9.622023360406271645744E-3L, -4.219773360705915470089E-2L,
- 1.665386113720805206758E-1L, -4.200263503403344054473E-2L,
- -6.558780715202540684668E-1L, 5.772156649015328608253E-1L,
- 1.000000000000000000000E0L,
+ -1.193945051381510095614E-3L, 7.220599478036909672331E-3L, -9.622023360406271645744E-3L,
+ -4.219773360705915470089E-2L, 1.665386113720805206758E-1L, -4.200263503403344054473E-2L,
+ -6.558780715202540684668E-1L, 5.772156649015328608253E-1L, 1.000000000000000000000E0L,
};
/* 1/tgamma(-x) = z P(z)
@@ -147,11 +140,9 @@ static const long double S[9] = {
* Relative error spread = 2.5e-24
*/
static const long double SN[9] = {
- 1.133374167243894382010E-3L, 7.220837261893170325704E-3L,
- 9.621911155035976733706E-3L, -4.219773343731191721664E-2L,
- -1.665386113944413519335E-1L, -4.200263503402112910504E-2L,
- 6.558780715202536547116E-1L, 5.772156649015328608727E-1L,
- -1.000000000000000000000E0L,
+ 1.133374167243894382010E-3L, 7.220837261893170325704E-3L, 9.621911155035976733706E-3L,
+ -4.219773343731191721664E-2L, -1.665386113944413519335E-1L, -4.200263503402112910504E-2L,
+ 6.558780715202536547116E-1L, 5.772156649015328608727E-1L, -1.000000000000000000000E0L,
};
static const long double PIL = 3.1415926535897932384626L;
@@ -166,10 +157,7 @@ static long double stirf(long double x)
/* For large x, use rational coefficients from the analytical expansion.
*/
if (x > 1024.0)
- w = (((((6.97281375836585777429E-5L * w +
- 7.84039221720066627474E-4L) *
- w -
- 2.29472093621399176955E-4L) *
+ w = (((((6.97281375836585777429E-5L * w + 7.84039221720066627474E-4L) * w - 2.29472093621399176955E-4L) *
w -
2.68132716049382716049E-3L) *
w +