Mark Kettenis <mark.kette...@xs4all.nl> writes: >> I went looking for why things are better on FreeBSD and they have a >> different (simpler) implementation of cos. I copied it over. Given the >> common provenance, I expect the copyright situation to be unambiguous. > > I think you will also need the changes done in FreeBSD commit > 4339c67c485f.
Good call. I don't see any further improvements in test passing, but the change does seem related to the rest. I'm attaching the output from before & after regress/lib runs on amd64. I added two new patches. If I could get another regress run on at least arm64 and powerpc64, I expect this to be ready for OKs. >From cd7274dd42398f5abee9fa8614aed87da2758fe7 Mon Sep 17 00:00:00 2001 From: Greg Steuck <g...@nest.cx> Date: Mon, 10 Jan 2022 20:22:07 -0800 Subject: [PATCH 1/4] Copy cos(3) software implementation from FreeBSD-13 The result passes more tests from msun suite. In particular, testacc(cos, -0.34061437849088045332L, 0.94254960031831729956L, ALL_STD_EXCEPT, FE_INEXACT); matches instead of being 1e-16 off. --- lib/libm/src/k_cos.c | 45 ++++++++++++++++++-------------------------- lib/libm/src/s_cos.c | 6 +++++- 2 files changed, 23 insertions(+), 28 deletions(-) diff --git a/lib/libm/src/k_cos.c b/lib/libm/src/k_cos.c index 8f3882b6a00..0839243e90c 100644 --- a/lib/libm/src/k_cos.c +++ b/lib/libm/src/k_cos.c @@ -36,13 +36,17 @@ * ~ cos(x) - x*y, * a correction term is necessary in cos(x) and hence * cos(x+y) = 1 - (x*x/2 - (r - x*y)) - * For better accuracy when x > 0.3, let qx = |x|/4 with - * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. - * Then - * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). - * Note that 1-qx and (x*x/2-qx) is EXACT here, and the - * magnitude of the latter is at least a quarter of x*x/2, - * thus, reducing the rounding error in the subtraction. + * For better accuracy, rearrange to + * cos(x+y) ~ w + (tmp + (r-x*y)) + * where w = 1 - x*x/2 and tmp is a tiny correction term + * (1 - x*x/2 == w + tmp exactly in infinite precision). + * The exactness of w + tmp in infinite precision depends on w + * and tmp having the same precision as x. If they have extra + * precision due to compiler bugs, then the extra precision is + * only good provided it is retained in all terms of the final + * expression for cos(). Retention happens in all cases tested + * under FreeBSD, so don't pessimize things by forcibly clipping + * any extra precision in w. */ #include "math.h" @@ -60,25 +64,12 @@ C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ double __kernel_cos(double x, double y) { - double a,hz,z,r,qx; - int32_t ix; - GET_HIGH_WORD(ix,x); - ix &= 0x7fffffff; /* ix = |x|'s high word*/ - if(ix<0x3e400000) { /* if x < 2**27 */ - if(((int)x)==0) return one; /* generate inexact */ - } + double hz,z,r,w; + z = x*x; - r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6))))); - if(ix < 0x3FD33333) /* if |x| < 0.3 */ - return one - (0.5*z - (z*r - x*y)); - else { - if(ix > 0x3fe90000) { /* x > 0.78125 */ - qx = 0.28125; - } else { - INSERT_WORDS(qx,ix-0x00200000,0); /* x/4 */ - } - hz = 0.5*z-qx; - a = one-qx; - return a - (hz - (z*r-x*y)); - } + w = z*z; + r = z*(C1+z*(C2+z*C3)) + w*w*(C4+z*(C5+z*C6)); + hz = 0.5*z; + w = one-hz; + return w + (((one-w)-hz) + (z*r-x*y)); } diff --git a/lib/libm/src/s_cos.c b/lib/libm/src/s_cos.c index 8b923d5fe61..1406504e9ab 100644 --- a/lib/libm/src/s_cos.c +++ b/lib/libm/src/s_cos.c @@ -57,7 +57,11 @@ cos(double x) /* |x| ~< pi/4 */ ix &= 0x7fffffff; - if(ix <= 0x3fe921fb) return __kernel_cos(x,z); + if(ix <= 0x3fe921fb) { + if(ix<0x3e46a09e) /* if x < 2**-27 * sqrt(2) */ + if(((int)x)==0) return 1.0; /* generate inexact */ + return __kernel_cos(x,z); + } /* cos(Inf or NaN) is NaN */ else if (ix>=0x7ff00000) return x-x; -- 2.34.1 >From b79ae395b17c4d451e21df16aeb320c794e21290 Mon Sep 17 00:00:00 2001 From: Greg Steuck <g...@nest.cx> Date: Sun, 9 Jan 2022 13:45:51 -0800 Subject: [PATCH 2/4] Unplug assembly implementations of trig functions on x86 platforms The same change was done by NetBSD some time back as: Disable x87 implementations of sin, cos, tan. The x87 hardware uses a bad approximation to pi for argument reduction, and consequently yields bad answers for inputs near pi or pi/2. --- lib/libm/Makefile | 9 ++++----- regress/lib/libm/msun/Makefile | 1 - 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/libm/Makefile b/lib/libm/Makefile index 47cd94cac06..cd39bbe5c48 100644 --- a/lib/libm/Makefile +++ b/lib/libm/Makefile @@ -22,11 +22,10 @@ ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \ e_sqrtl.S \ invtrig.c \ s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \ - s_cos.S s_cosf.S s_floor.S s_floorf.S \ + s_floor.S s_floorf.S \ s_log1p.S s_log1pf.S s_logb.S s_logbf.S \ s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S s_rint.S s_rintf.S\ - s_scalbnf.S s_significand.S s_significandf.S \ - s_sin.S s_sinf.S s_tan.S s_tanf.S + s_scalbnf.S s_significand.S s_significandf.S .elif (${MACHINE_ARCH} == "amd64") .PATH: ${.CURDIR}/arch/amd64 CPPFLAGS+=-I${.CURDIR}/arch/amd64 @@ -35,11 +34,11 @@ ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \ e_sqrtl.S \ invtrig.c \ s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \ - s_cos.S s_cosf.S s_floor.S s_floorf.S \ + s_floor.S s_floorf.S \ s_log1p.S s_log1pf.S s_logb.S s_logbf.S \ s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S \ s_rint.S s_rintf.S s_scalbnf.S s_significand.S \ - s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S + s_significandf.S .elif (${MACHINE_ARCH} == "hppa") .PATH: ${.CURDIR}/arch/hppa ARCH_SRCS = e_sqrt.c e_sqrtf.c e_remainder.c e_remainderf.c \ diff --git a/regress/lib/libm/msun/Makefile b/regress/lib/libm/msun/Makefile index 48ec4c3d95b..21fbe68d736 100644 --- a/regress/lib/libm/msun/Makefile +++ b/regress/lib/libm/msun/Makefile @@ -58,7 +58,6 @@ FAILING+= run-ctrig_test-1 FAILING+= run-exponential_test-1 FAILING+= run-invtrig_test-7 FAILING+= run-next_test-{1,2,4} -FAILING+= run-trig_test-3 . elif ${MACHINE} == arm64 FAILING+= run-cexp_test-{1,7} FAILING+= run-ctrig_test-{1,5} -- 2.34.1 >From 9d7faaededc13161ea4f8475fda487b2b118bfbf Mon Sep 17 00:00:00 2001 From: Greg Steuck <g...@nest.cx> Date: Tue, 18 Jan 2022 19:54:21 -0800 Subject: [PATCH 3/4] Optimization for tiny x in cos and sin Subset of FreeBSD commit 4339c67c485f0b1f7699863fc29f6c06862d1dde: Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to {cos_sin}[f](x) so that x doesn't need to be reclassified in the "kernel" functions to determine if it is tiny (it still needs to be reclassified in the cosine case for other reasons that will go away). ... Parts of the original change were applied separately before. --- lib/libm/src/k_cosf.c | 3 --- lib/libm/src/k_sin.c | 6 +----- lib/libm/src/k_sinf.c | 6 +----- lib/libm/src/s_cosf.c | 7 ++++++- lib/libm/src/s_sin.c | 6 +++++- lib/libm/src/s_sinf.c | 6 +++++- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/lib/libm/src/k_cosf.c b/lib/libm/src/k_cosf.c index 853c08286ba..e6f571296a8 100644 --- a/lib/libm/src/k_cosf.c +++ b/lib/libm/src/k_cosf.c @@ -32,9 +32,6 @@ __kernel_cosf(float x, float y) int32_t ix; GET_FLOAT_WORD(ix,x); ix &= 0x7fffffff; /* ix = |x|'s high word*/ - if(ix<0x32000000) { /* if x < 2**27 */ - if(((int)x)==0) return one; /* generate inexact */ - } z = x*x; r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6))))); if(ix < 0x3e99999a) /* if |x| < 0.3 */ diff --git a/lib/libm/src/k_sin.c b/lib/libm/src/k_sin.c index 8b3d6272372..a560f738071 100644 --- a/lib/libm/src/k_sin.c +++ b/lib/libm/src/k_sin.c @@ -54,11 +54,7 @@ double __kernel_sin(double x, double y, int iy) { double z,r,v; - int32_t ix; - GET_HIGH_WORD(ix,x); - ix &= 0x7fffffff; /* high word of x */ - if(ix<0x3e400000) /* |x| < 2**-27 */ - {if((int)x==0) return x;} /* generate inexact */ + z = x*x; v = z*x; r = S2+z*(S3+z*(S4+z*(S5+z*S6))); diff --git a/lib/libm/src/k_sinf.c b/lib/libm/src/k_sinf.c index ba17317490c..a0cf753557c 100644 --- a/lib/libm/src/k_sinf.c +++ b/lib/libm/src/k_sinf.c @@ -29,11 +29,7 @@ float __kernel_sinf(float x, float y, int iy) { float z,r,v; - int32_t ix; - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; /* high word of x */ - if(ix<0x32000000) /* |x| < 2**-27 */ - {if((int)x==0) return x;} /* generate inexact */ + z = x*x; v = z*x; r = S2+z*(S3+z*(S4+z*(S5+z*S6))); diff --git a/lib/libm/src/s_cosf.c b/lib/libm/src/s_cosf.c index 16cdd648cf5..5c3b5614085 100644 --- a/lib/libm/src/s_cosf.c +++ b/lib/libm/src/s_cosf.c @@ -26,7 +26,12 @@ cosf(float x) /* |x| ~< pi/4 */ ix &= 0x7fffffff; - if(ix <= 0x3f490fd8) return __kernel_cosf(x,z); + if(ix <= 0x3f490fd8) { + if(ix<0x39800000) /* if x < 2**-12 */ + if(((int)x)==0) return 1.0; /* generate inexact */ + return __kernel_cosf(x,z); + } + /* cos(Inf or NaN) is NaN */ else if (ix>=0x7f800000) return x-x; diff --git a/lib/libm/src/s_sin.c b/lib/libm/src/s_sin.c index 058486a696b..c99fd894744 100644 --- a/lib/libm/src/s_sin.c +++ b/lib/libm/src/s_sin.c @@ -57,7 +57,11 @@ sin(double x) /* |x| ~< pi/4 */ ix &= 0x7fffffff; - if(ix <= 0x3fe921fb) return __kernel_sin(x,z,0); + if(ix <= 0x3fe921fb) { + if(ix<0x3e400000) /* |x| < 2**-27 */ + {if((int)x==0) return x;} /* generate inexact */ + return __kernel_sin(x,z,0); + } /* sin(Inf or NaN) is NaN */ else if (ix>=0x7ff00000) return x-x; diff --git a/lib/libm/src/s_sinf.c b/lib/libm/src/s_sinf.c index 1214212ddb3..2e9e416b21d 100644 --- a/lib/libm/src/s_sinf.c +++ b/lib/libm/src/s_sinf.c @@ -26,7 +26,11 @@ sinf(float x) /* |x| ~< pi/4 */ ix &= 0x7fffffff; - if(ix <= 0x3f490fd8) return __kernel_sinf(x,z,0); + if(ix <= 0x3f490fd8) { + if(ix<0x39800000) /* if x < 2**-12 */ + if(((int)x)==0) return x; /* generate inexact */ + return __kernel_sinf(x,z,0); + } /* sin(Inf or NaN) is NaN */ else if (ix>=0x7f800000) return x-x; -- 2.34.1 >From f6cff2283a524944ede0234c80bd35bf8d2cb2a6 Mon Sep 17 00:00:00 2001 From: Greg Steuck <g...@nest.cx> Date: Tue, 18 Jan 2022 20:01:15 -0800 Subject: [PATCH 4/4] Require trig_test-2 to pass on arm64 and powerpc64 Thanks to mbluhm@ for testing on a plethora of platforms. --- regress/lib/libm/msun/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/regress/lib/libm/msun/Makefile b/regress/lib/libm/msun/Makefile index 21fbe68d736..b46f0274ae0 100644 --- a/regress/lib/libm/msun/Makefile +++ b/regress/lib/libm/msun/Makefile @@ -68,7 +68,7 @@ FAILING+= run-logarithm_test-5 FAILING+= run-lrint_test-1 FAILING+= run-next_test-{1,2,4} FAILING+= run-rem_test-{1,2} -FAILING+= run-trig_test-{1,2} +FAILING+= run-trig_test-1 . elif ${MACHINE} == i386 FAILING+= run-cexp_test-{1,7} FAILING+= run-ctrig_test-{1,5} @@ -82,7 +82,6 @@ FAILING+= run-cexp_test-7 FAILING+= run-ctrig_test-{1,5} FAILING+= run-exponential_test-1 FAILING+= run-invtrig_test-7 -FAILING+= run-trig_test-2 . elif ${MACHINE} == macppc FAILING+= run-cexp_test-7 FAILING+= run-ctrig_test-{1,5} -- 2.34.1
===> exp ==== run-regress-exp ==== cc -o exp exp.o -lm ./exp ===> fenv ==== run-regress-fenv ==== cc -o fenv fenv.o -lm ./fenv 1..8 ok 1 - fenv ok 2 - fenv ok 3 - fenv ok 4 - fenv ok 5 - fenv ok 6 - fenv ok 7 - fenv ok 8 - fenv ===> floor ==== run-regress-floor ==== cc -o floor floor.o -lm ./floor ===> fpaccuracy ==== run-regress-fpaccuracy ==== cc -o fpaccuracy Gamma.o INV.o Pix.o acos.o acosh.o asin.o asinh.o atan.o atanh.o cos.o cosh.o erf.o erfc.o exp.o fpaccuracy.o j0.o j1.o lgamma.o log.o log10.o pow2_x.o powx_275.o sin.o sincos.o sincos2.o sinh.o sqrt.o tan.o tanh.o y0.o y1.o -lm ./fpaccuracy result of Gamma is never more precise than double 20 largest ulp errors (stored in a double) 1007.51430 ulp for Gamma(164.040279658791491) = 2.46119858953288017e+291) 803.47099 ulp for Gamma(134.06343791621336) = 2.02876963318290436e+226) 684.49955 ulp for Gamma(149.995246886988213) = 3.71933986887775289e+260) 678.44143 ulp for Gamma(149.995246886988326) = 3.71933986887986686e+260) 654.51322 ulp for Gamma(171.62437695630237) = 1.79769313485920759e+308) 582.50148 ulp for Gamma(164.040279658439317) = 2.46119858511502517e+291) 565.49914 ulp for Gamma(164.040279658439005) = 2.46119858511110787e+291) 536.51997 ulp for Gamma(134.063437915653338) = 2.02876962762183713e+226) 509.53716 ulp for Gamma(171.624376956302683) = 1.79769313486206882e+308) 502.49494 ulp for Gamma(102.931472671813253) = 7.00076498487847901e+161) 492.49996 ulp for Gamma(135.625077550049639) = 4.27308755772562989e+229) 489.49949 ulp for Gamma(149.995246887066457) = 3.71933987033485917e+260) 480.42868 ulp for Gamma(135.625077549163308) = 4.27308753914401685e+229) 466.50069 ulp for Gamma(135.625077550027441) = 4.27308755725975388e+229) 455.53404 ulp for Gamma(134.063437915652969) = 2.02876962761814689e+226) 424.49947 ulp for Gamma(134.063437915655896) = 2.02876962764720809e+226) 406.50060 ulp for Gamma(121.763991321950115) = 2.60795713454926605e+200) 387.50162 ulp for Gamma(87.6707341879955777) = 4.83784950540704632e+131) 371.50017 ulp for Gamma(107.262197047543694) = 3.8993882991775625e+170) 371.49967 ulp for Gamma(85.330825310269617) = 1.43919175139185159e+127) result of INV is never more precise than double 9 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50000 ulp for INV(0.999999999999999889) = 1.00000000000000022) 0.50000 ulp for INV(3.99999999999999956) = 0.250000000000000056) 0.50000 ulp for INV(0.249999999999999972) = 4.00000000000000089) 0.50000 ulp for INV(1.99999999999999978) = 0.500000000000000111) 0.50000 ulp for INV(0.124999999999999986) = 8.00000000000000178) 0.50000 ulp for INV(0.499999999999999944) = 2.00000000000000044) 0.50000 ulp for INV(7.99999999999999911) = 0.125000000000000028) 0.50000 ulp for INV(0.49471405240200178) = 2.02136970871287414) 0.50000 ulp for INV(-0.160345431200486804) = -6.23653566249516) 0.50000 ulp for INV(-0.682838099199875703) = -1.46447598804425638) 0.50000 ulp for INV(0.557128052998967949) = 1.79491948864734785) 0.50000 ulp for INV(-0.500124640393044606) = -1.99950156267866896) 0.50000 ulp for INV(0.29019680059930697) = 3.44593737055276206) 0.50000 ulp for INV(-0.732244161798246807) = -1.36566469515331868) 0.50000 ulp for INV(-0.426553727999878451) = -2.34437055488654611) 0.50000 ulp for INV(0.90431789479066893) = 1.10580582974251485) 0.50000 ulp for INV(-0.584928321798450002) = -1.70961118265798739) 0.50000 ulp for INV(-0.572718525198475659) = -1.7460584143902973) 0.50000 ulp for INV(-0.477825138203482602) = -2.09281580236607034) 0.50000 ulp for INV(-0.779150390998759268) = -1.28344926929721881) result of Pix is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50000 ulp for Pix(-0.402499911601222171) = -1.26449076535694083) 0.50000 ulp for Pix(-0.859377740199323004) = -2.6998147952687912) 0.50000 ulp for Pix(-0.193720938600241782) = -0.608592277553038907) 0.50000 ulp for Pix(-0.587555582993394943) = -1.84586030310771743) 0.50000 ulp for Pix(0.297261439603055344) = 0.933874354852484712) 0.50000 ulp for Pix(0.143596270198912052) = 0.451120987539797069) 0.50000 ulp for Pix(0.878534741800358843) = 2.75999829076341285) 0.50000 ulp for Pix(-0.620286544593580236) = -1.94868765161578916) 0.50000 ulp for Pix(-0.160345431199462873) = -0.503740028692920117) 0.50000 ulp for Pix(0.0788602522004207968) = 0.247746788973080279) 0.50000 ulp for Pix(0.947947697000832701) = 2.9780655208851794) 0.50000 ulp for Pix(-0.0349726054002504408) = -0.109869680202321518) 0.50000 ulp for Pix(0.290196800597294857) = 0.911680136851723666) 0.50000 ulp for Pix(0.294157668399192329) = 0.924123570040005116) 0.50000 ulp for Pix(-0.13784236500043559) = -0.433044561238811243) 0.50000 ulp for Pix(-0.696951496999841602) = -2.18953770288311089) 0.50000 ulp for Pix(-0.477825138200535404) = -1.50113194387132975) 0.50000 ulp for Pix(-0.681058815402102447) = -2.13960937112981187) 0.50000 ulp for Pix(0.810735118402508448) = 2.54699949198057185) 0.50000 ulp for Pix(-0.318250363599450359) = -0.9998130042863137) result of acos is never more precise than double 20 largest ulp errors (stored in a double) 0.50242 ulp for acos(0.99219766722932401) = 0.125000000000040468) 0.50037 ulp for acos(0.91057774319996676) = 0.4261166593349478) 0.50035 ulp for acos(0.992197667223120305) = 0.125000000049799581) 0.50033 ulp for acos(0.910577743200102319) = 0.426116659334619841) 0.50031 ulp for acos(0.782890517800007291) = 0.671498051386918426) 0.50028 ulp for acos(0.71077356760004895) = 0.780199005305909798) 0.50027 ulp for acos(0.213887689999990721) = 1.35524329976689195) 0.50025 ulp for acos(-0.795485219800061261) = 2.49060421440965651) 0.50024 ulp for acos(0.443226369600003778) = 1.11160162948930052) 0.50024 ulp for acos(0.479282989400335424) = 1.07095875354136449) 0.50023 ulp for acos(-0.477825138199994948) = 2.06897358675603105) 0.50022 ulp for acos(-0.174831552799988993) = 1.74653101021325785) 0.50022 ulp for acos(-0.500124640400019027) = 2.09453903071070791) 0.50022 ulp for acos(-0.888571940199981758) = 2.6650190254711239) 0.50021 ulp for acos(-0.193720938600005499) = 1.7657498497942683) 0.50021 ulp for acos(0.36701231999999967) = 1.19500116212440188) 0.50021 ulp for acos(-0.767191877399947875) = 2.44524794743638285) 0.50020 ulp for acos(0.0270132234000022911) = 1.54377981699332922) 0.50019 ulp for acos(-0.837828628199962955) = 2.56408996793459121) 0.50019 ulp for acos(-0.176508975200014601) = 1.74823493039030708) result of acosh is never more precise than double 20 largest ulp errors (stored in a double) 1.58186 ulp for acosh(1.03141309987957297) = 0.24999999999999914) 1.49127 ulp for acosh(1.00754871629998832) = 0.122794447636528359) 1.43389 ulp for acosh(1.00754871629999676) = 0.122794447636596901) 1.00394 ulp for acosh(1.00782267781110768) = 0.124999999883478263) 1.00034 ulp for acosh(1.00782267782562651) = 0.124999999999326983) 0.91277 ulp for acosh(1.03141309987957275) = 0.249999999999998279) 0.66226 ulp for acosh(1.1053530086000023) = 0.455089895933561139) 0.60209 ulp for acosh(1.24959003930000034) = 0.692600317104164365) 0.60042 ulp for acosh(3.15772050439999985) = 1.81692618977516629) 0.59773 ulp for acosh(1.54308063481524393) = 1) 0.56814 ulp for acosh(1.26108743089999931) = 0.707752145215589934) 0.56656 ulp for acosh(3.48224220920001182) = 1.91953826890366108) 0.56356 ulp for acosh(1.99975071920000014) = 1.3168139626273172) 0.55608 ulp for acosh(81.8720922097000567) = 5.09826806028882284) 0.55344 ulp for acosh(2.62014632439999895) = 1.61779429270285369) 0.55323 ulp for acosh(1.00000000000000022) = 2.10734242554470173e-08) 0.55226 ulp for acosh(4.61376402280000075) = 2.2102343711924699) 0.55147 ulp for acosh(3.36504125080000005) = 1.88374017981709696) 0.54740 ulp for acosh(55.2512207115999914) = 4.70495571019320025) 0.54642 ulp for acosh(1.00782267782571466) = 0.125000000000030365) result of asin is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50035 ulp for asin(0.821457679200080504) = 0.963962456376332044) 0.50033 ulp for asin(0.841470984807921041) = 1.0000000000000453) 0.50033 ulp for asin(-0.418126490400015538) = -0.431381885291778455) 0.50030 ulp for asin(-0.572718525199937156) = -0.60981830561152206) 0.50028 ulp for asin(-0.9849025673999805) = -1.3968102639426907) 0.50027 ulp for asin(-0.915123739200011888) = -1.15581472720556988) 0.50027 ulp for asin(-0.456227928600024091) = -0.473751634328762106) 0.50026 ulp for asin(-0.318250363600003527) = -0.323883319178421281) 0.50025 ulp for asin(0.483933816199981937) = 0.505144406543646785) 0.50025 ulp for asin(0.895974109600018442) = 1.11061978822753193) 0.50024 ulp for asin(-0.588554136000015049) = -0.629269251740634861) 0.50024 ulp for asin(0.143596270200005705) = 0.144094396125133917) 0.50022 ulp for asin(0.17253298259998906) = 0.173400639240957333) 0.50021 ulp for asin(0.367012319999992565) = 0.375795164670487014) 0.50021 ulp for asin(-0.456591417799993848) = -0.474160154852177107) 0.50021 ulp for asin(-0.618849086999965547) = -0.667276676569257488) 0.50021 ulp for asin(0.710773567600044065) = 0.790597321488979876) 0.50020 ulp for asin(-0.489661821400026731) = -0.511701852231708054) 0.50020 ulp for asin(-0.859377740199689155) = -1.03405150838911464) 0.50020 ulp for asin(0.0474766862000005202) = 0.047494540006531541) result of asinh is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.25479 ulp for asinh(0.252612316808168258) = 0.249999999999999917) 1.01425 ulp for asinh(0.252612316808167592) = 0.249999999999999334) 1.00733 ulp for asinh(0.125325775241114212) = 0.124999999999998751) 0.99587 ulp for asinh(0.25261231680816576) = 0.249999999999997502) 0.99180 ulp for asinh(0.12532577524111424) = 0.124999999999998779) 0.94823 ulp for asinh(0.521095305493747052) = 0.499999999999999778) 0.67572 ulp for asinh(0.125325775241115434) = 0.124999999999999986) 0.61968 ulp for asinh(0.116007481799999895) = 0.115748845381909396) 0.61692 ulp for asinh(-0.999999999999999778) = -0.881373587019542937) 0.59904 ulp for asinh(0.521095305493747274) = 0.499999999999999889) 0.59151 ulp for asinh(-3.18250363599999986) = -1.87463181766332876) 0.57952 ulp for asinh(-0.875010530200000081) = -0.790176650174829964) 0.57398 ulp for asinh(0.672688602200000041) = 0.63014870588157712) 0.56687 ulp for asinh(8.12578045400001514) = 2.79195389043086006) 0.56055 ulp for asinh(-0.193720938600000281) = -0.192529301190265456) 0.55802 ulp for asinh(-0.732244161800000404) = -0.678881943696868051) 0.55618 ulp for asinh(-9.15453677399999854) = -2.91036659498682226) 0.55094 ulp for asinh(4.44789359999999867) = 2.19798142954430675) 0.54891 ulp for asinh(8.9597410960000019) = 2.88898828247369543) 0.54791 ulp for asinh(575.540968199999952) = 7.04845834805185145) result of atan is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50025 ulp for atan(6.60531107599979794) = 1.4205439944184497) 0.50024 ulp for atan(0.95201987479999628) = 0.760823379753355233) 0.50024 ulp for atan(-0.231511231199999362) = -0.227503216980975198) 0.50023 ulp for atan(-0.584928321800024853) = -0.529263665528821203) 0.50022 ulp for atan(-4.36803014200022588) = -1.34573857399357166) 0.50021 ulp for atan(-0.193720938600108777) = -0.191350775199167156) 0.50020 ulp for atan(6.60531107599111689) = 1.42054399441825518) 0.50020 ulp for atan(-0.273385260600019553) = -0.266864381664067341) 0.50018 ulp for atan(-1.68497234999996448) = -1.03518359165182883) 0.50016 ulp for atan(2.90196800600000637) = 1.23894587233259124) 0.50016 ulp for atan(0.691743795200012945) = 0.605163368553421455) 0.50015 ulp for atan(-0.500819921400074697) = -0.46430333097066423) 0.50014 ulp for atan(-0.620286544600136325) = -0.555202681852450031) 0.50014 ulp for atan(9.26453970399937532) = 1.46327416309335812) 0.50013 ulp for atan(0.118152693199995815) = 0.117607446782601849) 0.50013 ulp for atan(-0.758092139999913206) = -0.64865999416572695) 0.50013 ulp for atan(0.810735118400030319) = 0.681252554619064865) 0.50013 ulp for atan(5.25502219400538628) = 1.38275049106242154) 0.50013 ulp for atan(-1.37842364999983524) = -0.943182511954652414) 0.50012 ulp for atan(-0.273385260599956492) = -0.266864381664008721) result of atanh is never more precise than double 5 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.00156 ulp for atanh(0.244918662403707799) = 0.249999999999998612) 0.67972 ulp for atanh(0.0857021946000001839) = 0.0859129478716055828) 0.59240 ulp for atanh(0.14359627019999946) = 0.144595643536946095) 0.58301 ulp for atanh(-0.789293982800000848) = -1.06955625973546264) 0.57276 ulp for atanh(0.376358749799999948) = 0.395810710177387892) 0.55639 ulp for atanh(-0.13887721580000037) = -0.139780528435945184) 0.54631 ulp for atanh(-0.14877128740000034) = -0.149883677248376895) 0.54588 ulp for atanh(0.833918832000000387) = 1.20086688088398708) 0.54169 ulp for atanh(0.962390530999999716) = 1.97733140696075615) 0.54166 ulp for atanh(-0.429154498599999989) = -0.458859845554233092) 0.54137 ulp for atanh(0.0788602521999999528) = 0.0790243406193430475) 0.53504 ulp for atanh(-0.875010530200000192) = -1.35407003117081537) 0.53350 ulp for atanh(-0.732244161800000293) = -0.933548768222197012) 0.53284 ulp for atanh(-0.620286544599998657) = -0.725470694217028367) 0.53011 ulp for atanh(0.297261439599999955) = 0.306512902618217009) 0.52764 ulp for atanh(-0.426553727999999965) = -0.455676293185343972) 0.52338 ulp for atanh(0.376358749799998282) = 0.395810710177385949) 0.52122 ulp for atanh(0.691743795200000178) = 0.851291918233185729) 0.52071 ulp for atanh(-0.500819921400003643) = -0.550399971204766247) 0.52002 ulp for atanh(0.999999994345954546) = 9.84202085808349558) result of cos is never more precise than double 4 results were exact to double the precision 20 largest ulp errors (stored in a double) 22737807668655673344.00000 ulp for cos(13932548566.6484375) = -1.79424124483688191e-11) 609011988063165.00000 ulp for cos(45.553093477052002) = -6.77626357803440271e-19) 3991520163434.43408 ulp for cos(20035964.2500000037) = 3.21043885649196364e-11) 1353542268728.74780 ulp for cos(51.8362787842315882) = 2.44243644406672011e-16) 1281088520868.31372 ulp for cos(6430593.546875) = 3.96444671524592146e-11) 1025410809642.99072 ulp for cos(39.2699081698724157) = -2.45598897122278892e-16) 758803999135.81311 ulp for cos(58.1194640914111744) = 4.89164915171147463e-16) 430672540050.05609 ulp for cos(32.9867228626928295) = -4.90520167886754344e-16) 389656107664.33649 ulp for cos(29.8451302091030364) = 6.12980803268992069e-16) 389656107664.33649 ulp for cos(-29.8451302091030364) = 6.12980803268992069e-16) 348639675278.61682 ulp for cos(-26.7035375555132433) = -7.35441438651229795e-16) 348639675278.61682 ulp for cos(26.7035375555132433) = -7.35441438651229795e-16) 307623242892.89722 ulp for cos(23.5619449019234501) = 8.57902074033467521e-16) 307623242892.89722 ulp for cos(-23.5619449019234501) = 8.57902074033467521e-16) 287115026700.03741 ulp for cos(-10.9955742875642759) = -4.2861222383783204e-16) 287115026700.03741 ulp for cos(10.9955742875642759) = -4.2861222383783204e-16) 246098594314.31778 ulp for cos(-4.71238898038468967) = -1.83690953073356589e-16) 246098594314.31778 ulp for cos(4.71238898038468967) = -1.83690953073356589e-16) 205082161928.59814 ulp for cos(-7.85398163397448279) = 3.06151588455594315e-16) 205082161928.59814 ulp for cos(7.85398163397448279) = 3.06151588455594315e-16) result of cosh is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.94716 ulp for cosh(-709.782712893384087) = 8.98846567431238985e+307) 0.94716 ulp for cosh(709.782712893384087) = 8.98846567431238985e+307) 0.78779 ulp for cosh(2.00000000000000044) = 3.76219569108363272) 0.77663 ulp for cosh(-4.15908416799999969) = 32.0142462846785705) 0.72231 ulp for cosh(2.76865938331357375) = 8) 0.64084 ulp for cosh(-709.782712882483111) = 8.98846557632933817e+307) 0.64084 ulp for cosh(709.782712882483111) = 8.98846557632933817e+307) 0.59519 ulp for cosh(-7.77861346000000076) = 1194.48027645171828) 0.57360 ulp for cosh(1.96586753199999986) = 3.64056969522960694) 0.56995 ulp for cosh(-4.1590841679989321) = 32.0142462846444076) 0.56235 ulp for cosh(-7.77861346000004072) = 1194.48027645176603) 0.55665 ulp for cosh(-7.37027542199999619) = 794.035871116638646) 0.55278 ulp for cosh(6.72688602200000574) = 417.272830341713473) 0.55138 ulp for cosh(8.9597410960000019) = 3891.67109568961178) 0.55114 ulp for cosh(-475.322357445586931) = 1.34538619847890597e+206) 0.54949 ulp for cosh(-526.447518918487049) = 2.14893105608059935e+228) 0.54939 ulp for cosh(-4.2655372800000011) = 35.6086050271967025) 0.54817 ulp for cosh(0.479282989400001358) = 1.11707165009347387) 0.54733 ulp for cosh(-105.987842953823957) = 5.35679896431098736e+45) 0.54694 ulp for cosh(608.631543841552229) = 1.05752588646374975e+264) result of erf is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.55029 ulp for erf(0.173003437415309991) = 0.19328324616993478) 0.54448 ulp for erf(0.532200885538677615) = 0.54833715828603613) 0.54040 ulp for erf(-0.489341802678973925) = -0.51108390576853624) 0.52689 ulp for erf(-0.237989233146952112) = -0.263557116890746901) 0.52652 ulp for erf(-0.220614686665097565) = -0.244956651014343191) 0.52414 ulp for erf(0.789433081039224605) = 0.735760585524578681) 0.52372 ulp for erf(-0.237989233146952528) = -0.263557116890747345) 0.51817 ulp for erf(1.45550972655508826) = 0.960448401281772002) 0.51604 ulp for erf(-1.29245567966885266) = -0.932421680527195207) 0.51470 ulp for erf(-0.11950033357842324) = -0.134202566094570735) 0.51280 ulp for erf(1.33777652839433969) = 0.9414959220645438) 0.51243 ulp for erf(0.644448162086819432) = 0.637908673562691209) 0.51150 ulp for erf(1.0962664969880267) = 0.878943654476177727) 0.51148 ulp for erf(-1.29245567966885422) = -0.932421680527195651) 0.50985 ulp for erf(1.29335219460623585) = 0.932611808380637064) 0.50972 ulp for erf(1.97479464988596676) = 0.994774300306054737) 0.50840 ulp for erf(1.10546442291395453) = 0.882032710438650058) 0.50762 ulp for erf(0.393287002759313054) = 0.421920264755931529) 0.50750 ulp for erf(1.09626649698801426) = 0.878943654476173508) 0.50749 ulp for erf(-1.2238890926331345) = -0.916519793341092348) result of erfc is never more precise than double 5 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.55074 ulp for erfc(12.1195662651077818) = 7.50949328584440654e-66) 1.54627 ulp for erfc(12.407681680893587) = 6.25827238210652832e-69) 1.52540 ulp for erfc(6.3415708249169338) = 3.010290017264394e-19) 1.51478 ulp for erfc(1.89519053177917973) = 0.00735772712418380007) 1.50971 ulp for erfc(1.55674150125317978) = 0.0276960544716579569) 1.50941 ulp for erfc(1.76289650465688319) = 0.0126628844207123756) 1.50581 ulp for erfc(10.5952364563678607) = 9.35236524157818037e-51) 1.50387 ulp for erfc(1.21790004349117842) = 0.0850023771511491111) 1.50377 ulp for erfc(13.7514437934095568) = 3.06119641471006947e-84) 1.50343 ulp for erfc(6.34157082491695245) = 3.01029001726367322e-19) 1.50331 ulp for erfc(10.1671825617441094) = 7.05395370005023563e-47) 1.50261 ulp for erfc(14.7064886456213166) = 4.50148931866354397e-96) 1.50246 ulp for erfc(13.9712777837570581) = 6.79635392714354128e-87) 1.50196 ulp for erfc(10.2580820608215841) = 1.09212414903953798e-47) 1.50081 ulp for erfc(10.2580820608538001) = 1.09212414831430171e-47) 1.50059 ulp for erfc(4.5064146858337919) = 1.85326270107492819e-10) 1.50056 ulp for erfc(13.2166785083890517) = 5.83783374106980858e-78) 1.50040 ulp for erfc(4.09194005615514733) = 7.17069916342429865e-09) 1.50023 ulp for erfc(4.09194005618304235) = 7.17069916174097949e-09) 1.50017 ulp for erfc(6.2598240838090522) = 8.54055364435861305e-19) result of exp is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.65922 ulp for exp(706.066350976882632) = 4.37240202558957667e+306) 0.63171 ulp for exp(-707.202803456309198) = 7.34048697546507651e-308) 0.60693 ulp for exp(-705.940320071555789) = 2.5942656177251228e-307) 0.59088 ulp for exp(381.00731621999995) = 2.94696514375867702e+165) 0.57893 ulp for exp(383.150276499999904) = 2.51218040420624104e+166) 0.57860 ulp for exp(416.244840379999857) = 5.92703235123047658e+180) 0.57460 ulp for exp(381.007316219997961) = 2.94696514375281397e+165) 0.56649 ulp for exp(-705.220036753764248) = 5.33125566792105009e-307) 0.56386 ulp for exp(709.239939168971432) = 1.04470079809263955e+308) 0.55626 ulp for exp(-707.691345968795076) = 4.5035351325229914e-308) 0.55440 ulp for exp(706.728721583384527) = 8.47976830754043309e+306) 0.54886 ulp for exp(-704.785699728764143) = 8.23113421921572431e-307) 0.54587 ulp for exp(349.987535959999775) = 9.94616368869951691e+151) 0.54165 ulp for exp(709.426437771384485) = 1.25888842500694836e+308) 0.53185 ulp for exp(342.72814747999962) = 6.99750541937962897e+148) 0.53086 ulp for exp(705.865767621886107) = 3.57773230627854927e+306) 0.53040 ulp for exp(-707.770323352763626) = 4.16154038005618274e-308) 0.52792 ulp for exp(-707.765602320195512) = 4.18123359730685418e-308) 0.52494 ulp for exp(-705.977467055763441) = 2.49966442636002169e-307) 0.52458 ulp for exp(405.779366980000759) = 1.68942901862948607e+176) result of j0 is never more precise than double 5 results were exact to double the precision 20 largest ulp errors (stored in a double) 450179410498755.06250 ulp for j0(-2.40482555769577289) = -5.55387629523999699e-17) 450179410498755.06250 ulp for j0(2.40482555769577289) = -5.55387629523999699e-17) 279895209600871.71875 ulp for j0(5.52007811028631057) = -2.66601557278844545e-17) 279895209600871.71875 ulp for j0(-5.52007811028631057) = -2.66601557278844545e-17) 89450214536902.78125 ulp for j0(-2.40482555769577244) = 1.71665267307418125e-16) 89450214536902.78125 ulp for j0(2.40482555769577244) = 1.71665267307418125e-16) 38656385240616.84375 ulp for j0(5.52007811028631146) = 2.76599115676801202e-16) 38656385240616.84375 ulp for j0(-5.52007811028631146) = 2.76599115676801202e-16) 28812044129150.70703 ulp for j0(2.40482555769577022) = 1.32788133240738176e-15) 28812044129150.70703 ulp for j0(-2.40482555769577022) = 1.32788133240738176e-15) 24492349580293.65234 ulp for j0(-8.65372791291101251) = -7.91827641886750548e-17) 24492349580293.65234 ulp for j0(8.65372791291101251) = -7.91827641886750548e-17) 23094638087785.58984 ulp for j0(2.404825557695772) = 3.98869297567236281e-16) 23094638087785.58984 ulp for j0(-2.404825557695772) = 3.98869297567236281e-16) 13294667693825.52930 ulp for j0(11.7915344390142813) = -6.55538183891963364e-17) 13294667693825.52930 ulp for j0(-11.7915344390142813) = -6.55538183891963364e-17) 10582190570101.76367 ulp for j0(8.65372791291101073) = 4.03233236120479744e-16) 10582190570101.76367 ulp for j0(-8.65372791291101073) = 4.03233236120479744e-16) 10202516355074.48438 ulp for j0(5.52007811028631323) = 8.78118879287194124e-16) 10202516355074.48438 ulp for j0(-5.52007811028631323) = 8.78118879287194124e-16) result of j1 is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 1095190423153233.25000 ulp for j1(3.83170597020751247) = -4.79988093731046467e-17) 1095190423153233.25000 ulp for j1(-3.83170597020751247) = 4.79988093731046467e-17) 212106997701470.87500 ulp for j1(7.01558666981561885) = 2.95606043933087733e-17) 212106997701470.87500 ulp for j1(-7.01558666981561885) = -2.95606043933087733e-17) 106847539303006.62500 ulp for j1(-3.83170597020751202) = -1.19997023432761629e-16) 106847539303006.62500 ulp for j1(3.83170597020751202) = 1.19997023432761629e-16) 96831590405825.92188 ulp for j1(7.01558666981561796) = -2.33528774707139377e-16) 96831590405825.92188 ulp for j1(-7.01558666981561796) = 2.33528774707139377e-16) 96730982098834.46875 ulp for j1(-3.83170597020751336) = 4.23989482795757667e-16) 96730982098834.46875 ulp for j1(3.83170597020751336) = -4.23989482795757667e-16) 82072526676975.34375 ulp for j1(13.3236919363142228) = -5.57707343663311291e-17) 82072526676975.34375 ulp for j1(-13.3236919363142228) = 5.57707343663311291e-17) 65041086217637.58594 ulp for j1(29.0468285349168553) = -4.104066583795784e-17) 65041086217637.58594 ulp for j1(-29.0468285349168553) = 4.104066583795784e-17) 45395132229254.75000 ulp for j1(25.9036720876183821) = -7.61499878764966536e-17) 45395132229254.75000 ulp for j1(-25.9036720876183821) = 7.61499878764966536e-17) 42922241471395.82812 ulp for j1(22.7600843805927724) = -8.28800015790289064e-17) 42922241471395.82812 ulp for j1(-22.7600843805927724) = 8.28800015790289064e-17) 32264607539711.86719 ulp for j1(7.01558666981562151) = 8.24740862573314769e-16) 32264607539711.86719 ulp for j1(-7.01558666981562151) = -8.24740862573314769e-16) result of lgamma is never more precise than double 2 results were exact to double the precision 20 largest ulp errors (stored in a double) 4448368812103571.00000 ulp for lgamma(-2.45702473822080059) = 1.11022302462515654e-16) 1062532076054966.87500 ulp for lgamma(-2.45702473822080103) = -7.21644966006351751e-16) 12841511242762.16016 ulp for lgamma(-2.45702473822079481) = 8.8262730457699945e-15) 9549880344016.57617 ulp for lgamma(-2.45702473822079659) = 6.10622663543836097e-15) 1254117546408.74634 ulp for lgamma(-2.45702473822020551) = 9.01834162903014658e-13) 383651654559.80951 ulp for lgamma(-2.45702473822178824) = -1.49691370410209856e-12) 109535879573.52557 ulp for lgamma(-2.45702473821762934) = 4.80648854050969021e-12) 1265.44669 ulp for lgamma(-3.14373174790000176) = -0.00117338411780398832) 574.49429 ulp for lgamma(-3.14373174789999554) = -0.00117338411775580465) 411.71312 ulp for lgamma(-3.14373174794233901) = -0.00117338444693826371) 177.50051 ulp for lgamma(-3.14373174789977083) = -0.00117338411600897974) 145.49284 ulp for lgamma(-2.4618656217999999) = -0.00722316452873889014) 143.50116 ulp for lgamma(-2.46186562179998036) = -0.00722316452871019088) 122.49209 ulp for lgamma(-3.14373174790000309) = -0.00117338411781464647) 117.45415 ulp for lgamma(-2.7527458524999977) = 0.00994086915156705553) 83.50000 ulp for lgamma(-3.14373174789957499) = -0.0011733841144865309) 75.48339 ulp for lgamma(-2.7527458524999) = 0.00994086915137032401) 73.49898 ulp for lgamma(-3.14373174789996668) = -0.00117338411753153959) 64.50018 ulp for lgamma(-2.46186562180564117) = -0.00722316453702392947) 58.49982 ulp for lgamma(-2.46186562180019619) = -0.00722316452902699302) result of log is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50039 ulp for log(0.38424438440000569) = -0.956476511113930616) 0.50034 ulp for log(0.425614356300012264) = -0.854221609615686939) 0.50031 ulp for log(8.81375554849993215) = 2.17631363157863422) 0.50031 ulp for log(1.00000001189851773) = 1.1898517655862155e-08) 0.50031 ulp for log(0.363307369700040628) = -1.01250605452158471) 0.50031 ulp for log(494.794769700016843) = 6.20414306992894993) 0.50030 ulp for log(405.779366979973247) = 6.00580958080573524) 0.50028 ulp for log(6.30543715449980002) = 1.84141230158905422) 0.50027 ulp for log(6.24968839899972561) = 1.83253160634540668) 0.50026 ulp for log(0.647078834200026765) = -0.435287146154171967) 0.50024 ulp for log(0.00754871630001476349) = -4.88637775666545693) 0.50023 ulp for log(5.9492836384998764) = 1.78327081541847399) 0.50022 ulp for log(1.00000006707384692) = 6.70738446716115228e-08) 0.50021 ulp for log(7.69715063049976944) = 2.04085021238794351) 0.50021 ulp for log(0.20622220849999906) = -1.57880100951316571) 0.50019 ulp for log(0.741966908100113232) = -0.298450635057113889) 0.50018 ulp for log(455.712805299969546) = 6.12186279816024026) 0.50017 ulp for log(1.0000060554543142) = 6.0554359800127192e-06) 0.50016 ulp for log(1.6487212707002139) = 0.500000000000051958) 0.50016 ulp for log(8.81375554849720011) = 2.17631363157832425) result of log10 is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50054 ulp for log10(1.00000005954329985) = 2.58593257876641445e-08) 0.50054 ulp for log10(1.00000006707391353) = 2.91298295507387694e-08) 0.50050 ulp for log10(6.49375022099940225) = 0.812495579681436597) 0.50046 ulp for log10(5.32545250349999044) = 0.726356515664524194) 0.50044 ulp for log10(1.00000000353729135) = 1.53622611091652731e-09) 0.50044 ulp for log10(0.976009937399970662) = -0.010545760472651565) 0.50040 ulp for log10(457.554096819951269) = 2.66044244826364462) 0.50039 ulp for log10(1.00000605545456378) = 2.62984254002768479e-06) 0.50038 ulp for log10(0.133877919099995552) = -0.873291046616118116) 0.50037 ulp for log10(0.00999999999999892121) = -2.00000000000004707) 0.50034 ulp for log10(0.586266491299996639) = -0.231904927680093353) 0.50034 ulp for log10(0.206222208500007165) = -0.685664566454834201) 0.50034 ulp for log10(5.32545250349982435) = 0.726356515664510649) 0.50032 ulp for log10(9.15745309749891589) = 0.961774702979544927) 0.50029 ulp for log10(1.00000002015779965) = 8.75442106780916506e-09) 0.50029 ulp for log10(447.928298939961508) = 2.65120850090245419) 0.50029 ulp for log10(1.00000001200265665) = 5.21268751841020956e-09) 0.50028 ulp for log10(1.00000000715134285) = 3.10578872738236112e-09) 0.50027 ulp for log10(1.00000000000004193e-05) = -4.99999999999998224) 0.50025 ulp for log10(999999.999999962165) = 5.99999999999998401) result of pow2_x is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50085 ulp for pow2_x(-1013.07248416912887) = 1.08341409973102955e-305) 0.50082 ulp for pow2_x(-9.05201294520026423) = 0.00188396392451539718) 0.50081 ulp for pow2_x(368.991375760005269) = 1.19528713474710414e+111) 0.50077 ulp for pow2_x(1014.35616669183617) = 2.24715205885516006e+305) 0.50064 ulp for pow2_x(-1014.61548226367995) = 3.71796907878585537e-306) 0.50061 ulp for pow2_x(1016.65741438259317) = 1.10758494357157887e+306) 0.50060 ulp for pow2_x(1020.72748560134607) = 1.86033246326492334e+307) 0.50059 ulp for pow2_x(-1016.68625214840085) = 8.84997256000242497e-307) 0.50059 ulp for pow2_x(1016.95765306060161) = 1.36382262635612105e+306) 0.50053 ulp for pow2_x(492.645397040553746) = 2.00005406236256647e+148) 0.50051 ulp for pow2_x(-1016.49036163723167) = 1.01370326165132962e-306) 0.50051 ulp for pow2_x(8.53027063300003796) = 369.715221873375867) 0.50048 ulp for pow2_x(-1020.72026145251334) = 5.40236745964772593e-308) 0.50047 ulp for pow2_x(-1014.19658471559285) = 4.9705735061316863e-306) 0.50047 ulp for pow2_x(368.991375760029143) = 1.19528713476688419e+111) 0.50045 ulp for pow2_x(308.454632259995378) = 7.14655288323306544e+92) 0.50044 ulp for pow2_x(-1017.4652157099091) = 5.15763407646697827e-307) 0.50044 ulp for pow2_x(0.558003740900016809) = 1.47223067964898879) 0.50041 ulp for pow2_x(-1014.03829600761719) = 5.54697424874340991e-306) 0.50041 ulp for pow2_x(1015.97809608398506) = 6.91642797719219391e+305) result of powx_275 is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.61505 ulp for powx_275(0.158580950400000198) = 0.0063196102507679288) 0.60275 ulp for powx_275(8.53027063299998645) = 363.201578404708584) 0.60186 ulp for powx_275(6.45889553500000257) = 169.018878662948737) 0.58235 ulp for powx_275(6.46123714649998071) = 169.187441662420952) 0.56546 ulp for powx_275(0.298750044200000398) = 0.0360659137765329402) 0.54646 ulp for powx_275(6.45889553500004521) = 169.018878662951806) 0.54456 ulp for powx_275(0.110424804500000043) = 0.00233578710946216132) 0.54362 ulp for powx_275(6.7879528434999985) = 193.76786120511747) 0.54288 ulp for powx_275(0.405036581099999682) = 0.0832931302090510195) 0.54162 ulp for powx_275(6.78704975549999645) = 193.696976075826569) 0.53629 ulp for powx_275(0.340874818200000151) = 0.0518365427126390166) 0.53051 ulp for powx_275(0.0422731612999999729) = 0.000166601151403725006) 0.52990 ulp for powx_275(0.48695826359999983) = 0.138229992792579304) 0.52989 ulp for powx_275(489.597410959999934) = 24949253.716662854) 0.52615 ulp for powx_275(0.581224201900000237) = 0.224877055986263619) 0.52604 ulp for powx_275(306.496561100000122) = 6881298.80838168785) 0.52447 ulp for powx_275(357.344627200000104) = 10495181.559348397) 0.52132 ulp for powx_275(417.253298260000292) = 16073090.5143230967) 0.52035 ulp for powx_275(0.415751382499999766) = 0.089493744688088489) 0.51869 ulp for powx_275(5.21219065200000031) = 93.7142870901810454) result of sin is never more precise than double 37 results were exact to double the precision 20 largest ulp errors (stored in a double) 3991520163434.43408 ulp for sin(80143857.0000000149) = 1.28417554259678546e-10) 389656107664.33649 ulp for sin(59.6902604182060728) = -1.22596160653798414e-15) 348639675278.61682 ulp for sin(53.4070751110264865) = -1.47088287730245959e-15) 307623242892.89722 ulp for sin(47.1238898038469003) = -1.71580414806693504e-15) 287115026700.03741 ulp for sin(21.9911485751285518) = 8.57224447675664081e-16) 287115026700.03741 ulp for sin(43.9822971502571036) = -1.71444889535132816e-15) 287115026700.03741 ulp for sin(-21.9911485751285518) = -8.57224447675664081e-16) 246098594314.31778 ulp for sin(37.6991118430775174) = -1.46952762458685271e-15) 246098594314.31778 ulp for sin(18.8495559215387587) = -7.34763812293426355e-16) 246098594314.31778 ulp for sin(-18.8495559215387587) = 7.34763812293426355e-16) 246098594314.31778 ulp for sin(9.42477796076937935) = 3.67381906146713177e-16) 246098594314.31778 ulp for sin(-9.42477796076937935) = -3.67381906146713177e-16) 205082161928.59814 ulp for sin(-15.7079632679489656) = -6.12303176911188629e-16) 205082161928.59814 ulp for sin(15.7079632679489656) = 6.12303176911188629e-16) 205082161928.59814 ulp for sin(62.8318530717958623) = -2.44921270764475452e-15) 205082161928.59814 ulp for sin(31.4159265358979312) = -1.22460635382237726e-15) 184573945735.73834 ulp for sin(-28.274333882308138) = -1.10214571844013953e-15) 184573945735.73834 ulp for sin(28.274333882308138) = 1.10214571844013953e-15) 184573945735.73834 ulp for sin(56.5486677646162761) = -2.20429143688027906e-15) 164065729542.87851 ulp for sin(6.28318530717958623) = -2.44921270764475452e-16) result of sincos sin is never more precise than double 37 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.54253 ulp for sincos sin(457.554096816759511) = -0.899415577157950508) 0.53336 ulp for sincos sin(405.77936697999985) = -0.491590001647560726) 0.53283 ulp for sincos sin(8.53027063300001132) = 0.779900810743759609) 0.53050 ulp for sincos sin(376.094201957056271) = -0.781406438005402326) 0.53030 ulp for sincos sin(376.094201960000987) = -0.781406436167833229) 0.52989 ulp for sincos sin(466.053110759998503) = 0.890024100458920886) 0.52878 ulp for sincos sin(-0.777861346000000342) = -0.701757413934211982) 0.52751 ulp for sincos sin(6.16009656099999425) = -0.122778165246110529) 0.52414 ulp for sincos sin(0.686114334800000059) = 0.633535580623448391) 0.52330 ulp for sincos sin(-0.587555582999999992) = -0.554328197237298093) 0.52244 ulp for sincos sin(-0.875010530199999748) = -0.767550252018587953) 0.52217 ulp for sincos sin(316.377329522484047) = 0.797734293305426112) 0.52032 ulp for sincos sin(383.150276502135625) = -0.123709500198458291) 0.51532 ulp for sincos sin(9.02334129750000535) = 0.390741194472465136) 0.51514 ulp for sincos sin(6.46123714649999847) = 0.177112549303031552) 0.51469 ulp for sincos sin(-9.09463244079999988) = -0.324180693016267174) 0.51431 ulp for sincos sin(9.77644435799999734) = -0.344462698725309546) 0.51394 ulp for sincos sin(-0.789293982800000626) = -0.709856168518460895) 0.51343 ulp for sincos sin(9.85613612199998279) = -0.418104939610547788) 0.51332 ulp for sincos sin(-0.479878203799999736) = -0.461671139505647254) result of sincos cos is never more precise than double 4 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.59866 ulp for sincos cos(398.253360519998921) = -0.745903188015362373) 0.55166 ulp for sincos cos(383.96545688000009) = 0.770511484594593954) 0.54408 ulp for sincos cos(5.64574408000000094) = 0.803621217893944584) 0.53869 ulp for sincos cos(-0.777861345999999787) = 0.712415982406604642) 0.53861 ulp for sincos cos(7.21858331199999803) = 0.593498145038185543) 0.53675 ulp for sincos cos(-9.84847574850000207) = -0.91157488953323762) 0.53151 ulp for sincos cos(-0.479878203799999681) = 0.887051159148984691) 0.52686 ulp for sincos cos(0.962390531000000271) = 0.571560046369754104) 0.52665 ulp for sincos cos(8.17638177849999792) = -0.316843954560446339) 0.52664 ulp for sincos cos(-9.75006232019999608) = -0.947559889637848207) 0.52605 ulp for sincos cos(8.5809866805000059) = -0.664634884851203145) 0.52451 ulp for sincos cos(8.60806592400000348) = -0.684621495918695588) 0.52335 ulp for sincos cos(-9.04784105259999905) = -0.92979644065027689) 0.52294 ulp for sincos cos(410.63604045999972) = -0.611693214123128604) 0.52241 ulp for sincos cos(0.435898091400000021) = 0.906491211566647692) 0.52088 ulp for sincos cos(-0.250782692399999119) = 0.968718483750336312) 0.51980 ulp for sincos cos(-9.96751719450001872) = -0.856297126610311876) 0.51873 ulp for sincos cos(383.965456880000886) = 0.770511484594086804) 0.51773 ulp for sincos cos(410.636040459999663) = -0.611693214123083751) 0.51715 ulp for sincos cos(-9.09655899430001114) = -0.946617974261398931) result of sinh is never more precise than double 36 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.50794 ulp for sinh(-0.701694440599997415) = -0.760711601176329966) 1.50598 ulp for sinh(0.810735118400001897) = 0.902514954843734563) 1.50072 ulp for sinh(0.810735118400007337) = 0.90251495484374189) 1.12754 ulp for sinh(0.881373587019542937) = 1) 1.00849 ulp for sinh(0.124676746921442427) = 0.124999999999999667) 1.00000 ulp for sinh(0.247466461547259764) = 0.249999999999996225) 0.99994 ulp for sinh(0.481211825059468745) = 0.499999999999849343) 0.99292 ulp for sinh(0.1246767469214424) = 0.124999999999999639) 0.86218 ulp for sinh(1.11010098308324818e-08) = 1.11010098308324834e-08) 0.86218 ulp for sinh(1.11010098308325182e-08) = 1.11010098308325198e-08) 0.86218 ulp for sinh(1.11010098308361743e-08) = 1.1101009830836176e-08) 0.84618 ulp for sinh(0.107421759000000283) = 0.107628475955645425) 0.83587 ulp for sinh(0.124676746921442705) = 0.124999999999999972) 0.80341 ulp for sinh(2.00000000000000044) = 3.6268604078470208) 0.75749 ulp for sinh(2.09471254726110878) = 4.0000000000000302) 0.72096 ulp for sinh(1.40436656594276422e-08) = 1.40436656594276438e-08) 0.72096 ulp for sinh(1.40436656594276786e-08) = 1.40436656594276802e-08) 0.72096 ulp for sinh(1.4043665659431247e-08) = 1.40436656594312487e-08) 0.64481 ulp for sinh(-7.77861345999999987) = -1194.47985785955029) 0.60169 ulp for sinh(1.16007481799999979) = 1.43835461106077411) result of sqrt is never more precise than double 2 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50000 ulp for sqrt(0.999999999999999889) = 0.999999999999999889) 0.50000 ulp for sqrt(15.9999999999999982) = 3.99999999999999956) 0.50000 ulp for sqrt(0.0156249999999999983) = 0.124999999999999986) 0.50000 ulp for sqrt(0.249999999999999972) = 0.499999999999999944) 0.50000 ulp for sqrt(63.9999999999999929) = 7.99999999999999911) 0.50000 ulp for sqrt(0.0624999999999999931) = 0.249999999999999972) 0.50000 ulp for sqrt(3.99999999999999956) = 1.99999999999999978) 0.50000 ulp for sqrt(16.0000000000000036) = 4) 0.50000 ulp for sqrt(0.0156250000000000035) = 0.125) 0.50000 ulp for sqrt(4.00000000000000089) = 2) 0.50000 ulp for sqrt(64.0000000000000142) = 8) 0.50000 ulp for sqrt(1.00000000000000022) = 1) 0.50000 ulp for sqrt(0.250000000000000056) = 0.5) 0.50000 ulp for sqrt(0.0625000000000000139) = 0.25) 0.50000 ulp for sqrt(2.53884156217198101e-308) = 1.59337426933284621e-154) 0.50000 ulp for sqrt(7.05037261855188913) = 2.65525377667594897) 0.50000 ulp for sqrt(9.53144511356327229) = 3.08730385831444742) 0.50000 ulp for sqrt(491.057774316958671) = 22.159823427025735) 0.50000 ulp for sqrt(0.374608653801551006) = 0.6120528194539675) 0.50000 ulp for sqrt(3.25760941642394334e-308) = 1.80488487622450423e-154) result of tan is never more precise than double 4 results were exact to double the precision 20 largest ulp errors (stored in a double) 4995260678252446.00000 ulp for tan(10526671570.5) = -78892343628.3719635) 812420102395551.37500 ulp for tan(1860674085.875) = -47862753368.7851181) 6565818888779.11426 ulp for tan(20035964.2500000037) = -31148389509.9842148) 3991520163434.43408 ulp for tan(80143857.0000000149) = 1.28417554259678546e-10) 389656107664.33649 ulp for tan(59.6902604182060728) = 1.22596160653798414e-15) 348639675278.61682 ulp for tan(53.4070751110264865) = 1.47088287730245959e-15) 307623242892.89722 ulp for tan(47.1238898038469003) = 1.71580414806693504e-15) 287115026700.03741 ulp for tan(-21.9911485751285518) = 8.57224447675664081e-16) 287115026700.03741 ulp for tan(21.9911485751285518) = -8.57224447675664081e-16) 287115026700.03741 ulp for tan(43.9822971502571036) = -1.71444889535132816e-15) 246098594314.31778 ulp for tan(37.6991118430775174) = -1.46952762458685271e-15) 246098594314.31778 ulp for tan(-9.42477796076937935) = 3.67381906146713177e-16) 246098594314.31778 ulp for tan(-18.8495559215387587) = 7.34763812293426355e-16) 246098594314.31778 ulp for tan(18.8495559215387587) = -7.34763812293426355e-16) 246098594314.31778 ulp for tan(9.42477796076937935) = -3.67381906146713177e-16) 205082161928.59814 ulp for tan(-15.7079632679489656) = 6.12303176911188629e-16) 205082161928.59814 ulp for tan(31.4159265358979312) = -1.22460635382237726e-15) 205082161928.59814 ulp for tan(15.7079632679489656) = -6.12303176911188629e-16) 205082161928.59814 ulp for tan(62.8318530717958623) = -2.44921270764475452e-15) 184573945735.73834 ulp for tan(56.5486677646162761) = -2.20429143688027906e-15) result of tanh is never more precise than double 55 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.52273 ulp for tanh(-0.481720016489098624) = -0.447620056232185426) 1.51224 ulp for tanh(0.46952064080734679) = 0.437811920195671556) 1.51146 ulp for tanh(0.962390531000002603) = 0.745341272528029841) 1.50300 ulp for tanh(-0.491538323600000382) = -0.455436527308949457) 1.50195 ulp for tanh(-0.500819921400009083) = -0.462761738210254181) 1.50043 ulp for tanh(-0.477825138199997501) = -0.444500146671642005) 1.50013 ulp for tanh(-0.479878203800091552) = -0.446146062434039203) 1.50005 ulp for tanh(-0.481720016489193659) = -0.447620056232261421) 1.50004 ulp for tanh(-0.481720016490231495) = -0.447620056233091312) 1.50001 ulp for tanh(0.483933816199881739) = 0.449388535461328842) 1.50001 ulp for tanh(-0.250596107799869516) = -0.245478930722700966) 1.50000 ulp for tanh(-0.500819921402840262) = -0.462761738212478901) 1.50000 ulp for tanh(0.469520640807070511) = 0.437811920195448234) 1.50000 ulp for tanh(-0.479878203801267333) = -0.44614606243498095) 1.50000 ulp for tanh(0.196586753201773323) = 0.194092844714392782) 1.50000 ulp for tanh(0.435898091402360521) = 0.410238617555633123) 1.49997 ulp for tanh(-0.50081992140000986) = -0.462761738210254625) 1.49972 ulp for tanh(0.469520640807362721) = 0.437811920195684601) 1.49946 ulp for tanh(0.952019874800003718) = 0.740696125467827482) 1.49942 ulp for tanh(-0.481720016489071479) = -0.447620056232163888) result of y0 is never more precise than double 20 largest ulp errors (stored in a double) 1416944170364155.75000 ulp for y0(0.893576966279167495) = -2.77555756156289135e-17) 957005044970440.50000 ulp for y0(0.893576966279167606) = 6.24500451351650554e-17) 498412046964264.56250 ulp for y0(0.893576966279167717) = 1.59594559789866253e-16) 252436129075417.46875 ulp for y0(7.08605106030177279) = 2.57366028454545643e-17) 145502392036926.96875 ulp for y0(3.95767841931485753) = 1.31846881499878651e-16) 102120554828613.32812 ulp for y0(0.893576966279169493) = 1.71390679426508541e-15) 36648964041474.43750 ulp for y0(35.3464523052143207) = -2.41991292380241248e-17) 25534412787435.53125 ulp for y0(47.9118963315164805) = -2.16687631460015853e-17) 23787329374194.51172 ulp for y0(10.2223450434964178) = -1.98360437439832201e-16) 11842286171911.16602 ulp for y0(0.893576966279168605) = 9.50628464835290288e-16) 9840347435664.23828 ulp for y0(3.95767841931485664) = 4.93933839648799145e-16) 8763010579264.75879 ulp for y0(3.95767841931485309) = 1.92653876102061578e-15) 8673977036907.27148 ulp for y0(7.0860510603017719) = -2.40453403727532621e-16) 8649694640544.91797 ulp for y0(25.9229576531809229) = 3.52735453491345901e-17) 6971793391401.71777 ulp for y0(13.3610974738727624) = -2.42851919436529614e-16) 6804506337957.03613 ulp for y0(13.3610974738727641) = 1.44854342243839592e-16) 6175389682254.33301 ulp for y0(3.95767841931485798) = -4.32930058656317929e-17) 5633809526779.45605 ulp for y0(10.222345043496416) = 2.44889428938064465e-16) 4420103514667.89844 ulp for y0(13.361097473872757) = -1.40597070447763753e-15) 2824879528253.03027 ulp for y0(16.5009224415280897) = 2.002175910375173e-16) result of y1 is never more precise than double 20 largest ulp errors (stored in a double) nan ulp for y1(-2.22507385850720188e-308) = nan) nan ulp for y1(-2.22507385850720138e-308) = nan) 5557275141094985.00000 ulp for y1(2.19714132603101708) = 4.22577429547150317e-17) 2968901295769475.00000 ulp for y1(11.7491548308398812) = 9.13696548375149517e-18) 300261587981486.12500 ulp for y1(5.4296810407941356) = -1.6800729969447571e-16) 219791571341158.75000 ulp for y1(2.19714132603101664) = -2.00724279034896405e-16) 157873329579245.21875 ulp for y1(5.42968104079413472) = 1.37765985749470099e-16) 103969502513396.92188 ulp for y1(30.6182864916411148) = -1.55649435676229031e-17) 77756165491232.76562 ulp for y1(43.1882180973932108) = 5.42093325642464596e-17) 57880301873960.54688 ulp for y1(2.19714132603101486) = -1.119830188299949e-15) 55451412736745.93750 ulp for y1(14.897442128336726) = 1.26785465731639685e-16) 51820020070927.69531 ulp for y1(24.3319425713569117) = 4.72219465345966655e-17) 44283405712302.78906 ulp for y1(8.59600586833117042) = 4.07255350259894696e-16) 40149044256901.60938 ulp for y1(18.043402276727857) = -2.74184604197391083e-16) 24961953077354.48047 ulp for y1(8.59600586833116864) = -7.74452797215537627e-17) 22262910749942.79297 ulp for y1(14.8974421283367242) = -2.40385243027188905e-16) 17384034315647.42969 ulp for y1(5.42968104079413116) = 1.35413883553747496e-15) 16983762551543.88477 ulp for y1(52.6145507671729575) = -2.98191088155093179e-17) 15197192093824.64844 ulp for y1(2.19714132603100687) = -5.28221786933939098e-15) 13289638901809.54492 ulp for y1(5.42968104079414271) = -2.58395226930103462e-15) ===> lgamma ==== run-regress-lgamma ==== cc -o lgamma lgamma.o -lm ./lgamma ===> nextafter ==== run-regress-nextafter ==== cc -o nextafter nextafter.o -lm ./nextafter ===> msun ==== run-cexp_test ==== cc -o cexp_test cexp_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./cexp_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=cexp_test NUMBERS="$tnumbers" regress 1..7 ==== run-cexp_test-1 ==== 1 ./cexp_test -r 1 cexp_test.c:113: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-1') EXPECTED_FAIL ==== cleanup-cexp_test-1 ==== ./cexp_test -c 1 ==== run-cexp_test-2 ==== 2 ./cexp_test -r 2 cexp_test.c:132: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10) & ~0x01))' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-2') EXPECTED_FAIL ==== cleanup-cexp_test-2 ==== ./cexp_test -c 2 ==== run-cexp_test-3 ==== 3 ./cexp_test -r 3 cexp_test.c:168: '((0x01)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-3') EXPECTED_FAIL ==== cleanup-cexp_test-3 ==== ./cexp_test -c 3 ==== run-cexp_test-4 ==== 4 ./cexp_test -r 4 cexp_test.c:210: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-4') EXPECTED_FAIL ==== cleanup-cexp_test-4 ==== ./cexp_test -c 4 ==== run-cexp_test-5 ==== 5 ./cexp_test -r 5 ==== cleanup-cexp_test-5 ==== ./cexp_test -c 5 ==== run-cexp_test-6 ==== 6 ./cexp_test -r 6 ==== cleanup-cexp_test-6 ==== ./cexp_test -c 6 ==== run-cexp_test-7 ==== 7 ./cexp_test -r 7 cexp_test.c:279: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-7') EXPECTED_FAIL ==== cleanup-cexp_test-7 ==== ./cexp_test -c 7 ==== run-conj_test ==== cc -o conj_test conj_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./conj_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=conj_test NUMBERS="$tnumbers" regress 1..1 ==== run-conj_test-1 ==== 1 ./conj_test -r 1 ==== cleanup-conj_test-1 ==== ./conj_test -c 1 ==== run-csqrt_test ==== cc -o csqrt_test csqrt_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./csqrt_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=csqrt_test NUMBERS="$tnumbers" regress 1..3 ==== run-csqrt_test-1 ==== 1 ./csqrt_test -r 1 csqrt_test.c:165: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-csqrt_test-1') EXPECTED_FAIL ==== cleanup-csqrt_test-1 ==== ./csqrt_test -c 1 ==== run-csqrt_test-2 ==== 2 ./csqrt_test -r 2 csqrt_test.c:126: 't_csqrt(CMPLXL(a, b)) == CMPLXL(x, y)' evaluated to false *** Error 1 in msun (Makefile:153 'run-csqrt_test-2') EXPECTED_FAIL ==== cleanup-csqrt_test-2 ==== ./csqrt_test -c 2 ==== run-csqrt_test-3 ==== 3 ./csqrt_test -r 3 csqrt_test.c:165: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-csqrt_test-3') EXPECTED_FAIL ==== cleanup-csqrt_test-3 ==== ./csqrt_test -c 3 ==== run-ctrig_test ==== cc -o ctrig_test ctrig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./ctrig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=ctrig_test NUMBERS="$tnumbers" regress 1..6 ==== run-ctrig_test-1 ==== 1 test 0 input ./ctrig_test -r 1 ctrig_test.c:143: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-1') EXPECTED_FAIL ==== cleanup-ctrig_test-1 ==== ./ctrig_test -c 1 ==== run-ctrig_test-2 ==== 2 test NaN inputs ./ctrig_test -r 2 ctrig_test.c:180: '_e == (0)' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-2') EXPECTED_FAIL ==== cleanup-ctrig_test-2 ==== ./ctrig_test -c 2 ==== run-ctrig_test-3 ==== 3 test infinity inputs ./ctrig_test -r 3 ctrig_test.c:254: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-3') EXPECTED_FAIL ==== cleanup-ctrig_test-3 ==== ./ctrig_test -c 3 ==== run-ctrig_test-4 ==== 4 test along the real/imaginary axes ./ctrig_test -r 4 0x1.921fb54442d18p-1 0x0p+0 0x1.4fc442p-1 0x0p+0 0x1.4fc446p-1 ctrig_test.c:325: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-4') EXPECTED_FAIL ==== cleanup-ctrig_test-4 ==== ./ctrig_test -c 4 ==== run-ctrig_test-5 ==== 5 test underflow inputs ./ctrig_test -r 5 ==== cleanup-ctrig_test-5 ==== ./ctrig_test -c 5 ==== run-ctrig_test-6 ==== 6 Test inputs that might cause overflow in a sloppy implementation ./ctrig_test -r 6 ctrig_test.c:455: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-6') EXPECTED_FAIL ==== cleanup-ctrig_test-6 ==== ./ctrig_test -c 6 ==== run-exponential_test ==== cc -o exponential_test exponential_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./exponential_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=exponential_test NUMBERS="$tnumbers" regress 1..4 ==== run-exponential_test-1 ==== 1 ./exponential_test -r 1 exponential_test.c:116: '((0x08)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10) & ~0x20))' evaluated to false *** Error 1 in msun (Makefile:153 'run-exponential_test-1') EXPECTED_FAIL ==== cleanup-exponential_test-1 ==== ./exponential_test -c 1 ==== run-exponential_test-2 ==== 2 ./exponential_test -r 2 ==== cleanup-exponential_test-2 ==== ./exponential_test -c 2 ==== run-exponential_test-3 ==== 3 ./exponential_test -r 3 ==== cleanup-exponential_test-3 ==== ./exponential_test -c 3 ==== run-exponential_test-4 ==== 4 ./exponential_test -r 4 ==== cleanup-exponential_test-4 ==== ./exponential_test -c 4 ==== run-fenv_test ==== cc -o fenv_test fenv_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./fenv_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=fenv_test NUMBERS="$tnumbers" regress 1..8 ==== run-fenv_test-1 ==== 1 ./fenv_test -r 1 ==== cleanup-fenv_test-1 ==== ./fenv_test -c 1 ==== run-fenv_test-2 ==== 2 ./fenv_test -r 2 ==== cleanup-fenv_test-2 ==== ./fenv_test -c 2 ==== run-fenv_test-3 ==== 3 ./fenv_test -r 3 ==== cleanup-fenv_test-3 ==== ./fenv_test -c 3 ==== run-fenv_test-4 ==== 4 ./fenv_test -r 4 ==== cleanup-fenv_test-4 ==== ./fenv_test -c 4 ==== run-fenv_test-5 ==== 5 ./fenv_test -r 5 ==== cleanup-fenv_test-5 ==== ./fenv_test -c 5 ==== run-fenv_test-6 ==== 6 ./fenv_test -r 6 ==== cleanup-fenv_test-6 ==== ./fenv_test -c 6 ==== run-fenv_test-7 ==== 7 ./fenv_test -r 7 ==== cleanup-fenv_test-7 ==== ./fenv_test -c 7 ==== run-fenv_test-8 ==== 8 ./fenv_test -r 8 ==== cleanup-fenv_test-8 ==== ./fenv_test -c 8 ==== run-fma_test ==== cc -o fma_test fma_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./fma_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=fma_test NUMBERS="$tnumbers" regress 1..7 ==== run-fma_test-1 ==== 1 ./fma_test -r 1 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-1 ==== ./fma_test -c 1 ==== run-fma_test-2 ==== 2 ./fma_test -r 2 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-2 ==== ./fma_test -c 2 ==== run-fma_test-3 ==== 3 ./fma_test -r 3 ==== cleanup-fma_test-3 ==== ./fma_test -c 3 ==== run-fma_test-4 ==== 4 ./fma_test -r 4 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-4 ==== ./fma_test -c 4 ==== run-fma_test-5 ==== 5 ./fma_test -r 5 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-5 ==== ./fma_test -c 5 ==== run-fma_test-6 ==== 6 ./fma_test -r 6 ==== cleanup-fma_test-6 ==== ./fma_test -c 6 ==== run-fma_test-7 ==== 7 ./fma_test -r 7 fma_test.c:437: 'fpequal_cs(_x, _y, 1)' evaluated to false *** Error 1 in msun (Makefile:153 'run-fma_test-7') EXPECTED_FAIL ==== cleanup-fma_test-7 ==== ./fma_test -c 7 ==== run-fmaxmin_test ==== cc -o fmaxmin_test fmaxmin_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./fmaxmin_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=fmaxmin_test NUMBERS="$tnumbers" regress 1..12 ==== run-fmaxmin_test-1 ==== 1 ./fmaxmin_test -r 1 ==== cleanup-fmaxmin_test-1 ==== ./fmaxmin_test -c 1 ==== run-fmaxmin_test-2 ==== 2 ./fmaxmin_test -r 2 ==== cleanup-fmaxmin_test-2 ==== ./fmaxmin_test -c 2 ==== run-fmaxmin_test-3 ==== 3 ./fmaxmin_test -r 3 ==== cleanup-fmaxmin_test-3 ==== ./fmaxmin_test -c 3 ==== run-fmaxmin_test-4 ==== 4 ./fmaxmin_test -r 4 ==== cleanup-fmaxmin_test-4 ==== ./fmaxmin_test -c 4 ==== run-fmaxmin_test-5 ==== 5 ./fmaxmin_test -r 5 ==== cleanup-fmaxmin_test-5 ==== ./fmaxmin_test -c 5 ==== run-fmaxmin_test-6 ==== 6 ./fmaxmin_test -r 6 ==== cleanup-fmaxmin_test-6 ==== ./fmaxmin_test -c 6 ==== run-fmaxmin_test-7 ==== 7 ./fmaxmin_test -r 7 ==== cleanup-fmaxmin_test-7 ==== ./fmaxmin_test -c 7 ==== run-fmaxmin_test-8 ==== 8 ./fmaxmin_test -r 8 ==== cleanup-fmaxmin_test-8 ==== ./fmaxmin_test -c 8 ==== run-fmaxmin_test-9 ==== 9 ./fmaxmin_test -r 9 ==== cleanup-fmaxmin_test-9 ==== ./fmaxmin_test -c 9 ==== run-fmaxmin_test-10 ==== 10 ./fmaxmin_test -r 10 ==== cleanup-fmaxmin_test-10 ==== ./fmaxmin_test -c 10 ==== run-fmaxmin_test-11 ==== 11 ./fmaxmin_test -r 11 ==== cleanup-fmaxmin_test-11 ==== ./fmaxmin_test -c 11 ==== run-fmaxmin_test-12 ==== 12 ./fmaxmin_test -r 12 ==== cleanup-fmaxmin_test-12 ==== ./fmaxmin_test -c 12 ==== run-ilogb_test ==== cc -o ilogb_test ilogb_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./ilogb_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=ilogb_test NUMBERS="$tnumbers" regress 1..3 ==== run-ilogb_test-1 ==== 1 ./ilogb_test -r 1 ==== cleanup-ilogb_test-1 ==== ./ilogb_test -c 1 ==== run-ilogb_test-2 ==== 2 ./ilogb_test -r 2 ==== cleanup-ilogb_test-2 ==== ./ilogb_test -c 2 ==== run-ilogb_test-3 ==== 3 ./ilogb_test -r 3 ==== cleanup-ilogb_test-3 ==== ./ilogb_test -c 3 ==== run-invctrig_test ==== cc -o invctrig_test invctrig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./invctrig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=invctrig_test NUMBERS="$tnumbers" regress 1..6 ==== run-invctrig_test-1 ==== 1 ./invctrig_test -r 1 invctrig_test.c:136: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-1') EXPECTED_FAIL ==== cleanup-invctrig_test-1 ==== ./invctrig_test -c 1 ==== run-invctrig_test-2 ==== 2 ./invctrig_test -r 2 invctrig_test.c:165: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-2') EXPECTED_FAIL ==== cleanup-invctrig_test-2 ==== ./invctrig_test -c 2 ==== run-invctrig_test-3 ==== 3 ./invctrig_test -r 3 invctrig_test.c:239: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-3') EXPECTED_FAIL ==== cleanup-invctrig_test-3 ==== ./invctrig_test -c 3 ==== run-invctrig_test-4 ==== 4 ./invctrig_test -r 4 invctrig_test.c:292: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-4') EXPECTED_FAIL ==== cleanup-invctrig_test-4 ==== ./invctrig_test -c 4 ==== run-invctrig_test-5 ==== 5 ./invctrig_test -r 5 ==== cleanup-invctrig_test-5 ==== ./invctrig_test -c 5 ==== run-invctrig_test-6 ==== 6 ./invctrig_test -r 6 ==== cleanup-invctrig_test-6 ==== ./invctrig_test -c 6 ==== run-invtrig_test ==== cc -o invtrig_test invtrig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./invtrig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=invtrig_test NUMBERS="$tnumbers" regress 1..7 ==== run-invtrig_test-1 ==== 1 ./invtrig_test -r 1 invtrig_test.c:132: '((((0x20)))) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-1') EXPECTED_FAIL ==== cleanup-invtrig_test-1 ==== ./invtrig_test -c 1 ==== run-invtrig_test-2 ==== 2 ./invtrig_test -r 2 invtrig_test.c:160: 'eq' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-2') EXPECTED_FAIL ==== cleanup-invtrig_test-2 ==== ./invtrig_test -c 2 ==== run-invtrig_test-3 ==== 3 ./invtrig_test -r 3 invtrig_test.c:249: '((((0x20)))) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-3') EXPECTED_FAIL ==== cleanup-invtrig_test-3 ==== ./invtrig_test -c 3 ==== run-invtrig_test-4 ==== 4 ./invtrig_test -r 4 ==== cleanup-invtrig_test-4 ==== ./invtrig_test -c 4 ==== run-invtrig_test-5 ==== 5 ./invtrig_test -r 5 invtrig_test.c:307: '((((0x20)))) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-5') EXPECTED_FAIL ==== cleanup-invtrig_test-5 ==== ./invtrig_test -c 5 ==== run-invtrig_test-6 ==== 6 ./invtrig_test -r 6 invtrig_test.c:345: 'eq' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-6') EXPECTED_FAIL ==== cleanup-invtrig_test-6 ==== ./invtrig_test -c 6 ==== run-invtrig_test-7 ==== 7 ./invtrig_test -r 7 invtrig_test.c:438: 'eq' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-7') EXPECTED_FAIL ==== cleanup-invtrig_test-7 ==== ./invtrig_test -c 7 ==== run-logarithm_test ==== cc -o logarithm_test logarithm_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./logarithm_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=logarithm_test NUMBERS="$tnumbers" regress 1..5 ==== run-logarithm_test-1 ==== 1 ./logarithm_test -r 1 logarithm_test.c:106: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-logarithm_test-1') EXPECTED_FAIL ==== cleanup-logarithm_test-1 ==== ./logarithm_test -c 1 ==== run-logarithm_test-2 ==== 2 ./logarithm_test -r 2 ==== cleanup-logarithm_test-2 ==== ./logarithm_test -c 2 ==== run-logarithm_test-3 ==== 3 ./logarithm_test -r 3 ==== cleanup-logarithm_test-3 ==== ./logarithm_test -c 3 ==== run-logarithm_test-4 ==== 4 ./logarithm_test -r 4 ==== cleanup-logarithm_test-4 ==== ./logarithm_test -c 4 ==== run-logarithm_test-5 ==== 5 ./logarithm_test -r 5 ==== cleanup-logarithm_test-5 ==== ./logarithm_test -c 5 ==== run-lrint_test ==== cc -o lrint_test lrint_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./lrint_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=lrint_test NUMBERS="$tnumbers" regress 1..1 ==== run-lrint_test-1 ==== 1 ./lrint_test -r 1 ==== cleanup-lrint_test-1 ==== ./lrint_test -c 1 ==== run-lround_test ==== cc -o lround_test lround_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./lround_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=lround_test NUMBERS="$tnumbers" regress 1..1 ==== run-lround_test-1 ==== 1 ./lround_test -r 1 lround_test.c:71: '((0x20)) == (fetestexcept((0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-lround_test-1') EXPECTED_FAIL ==== cleanup-lround_test-1 ==== ./lround_test -c 1 ==== run-nan_test ==== cc -o nan_test nan_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./nan_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=nan_test NUMBERS="$tnumbers" regress 1..1 ==== run-nan_test-1 ==== 1 ./nan_test -r 1 nan_test.c:72: 'sscanf(nan_str, "%e", &af[2]) == 1' evaluated to false *** Error 1 in msun (Makefile:153 'run-nan_test-1') EXPECTED_FAIL ==== cleanup-nan_test-1 ==== ./nan_test -c 1 ==== run-nearbyint_test ==== cc -o nearbyint_test nearbyint_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./nearbyint_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=nearbyint_test NUMBERS="$tnumbers" regress 1..1 ==== run-nearbyint_test-1 ==== 1 ./nearbyint_test -r 1 nearbyint_test.c:147: 'fpequal_cs(_x, _y, 1)' evaluated to false *** Error 1 in msun (Makefile:153 'run-nearbyint_test-1') EXPECTED_FAIL ==== cleanup-nearbyint_test-1 ==== ./nearbyint_test -c 1 ==== run-next_test ==== cc -o next_test next_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./next_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=next_test NUMBERS="$tnumbers" regress 1..5 ==== run-next_test-1 ==== 1 ./next_test -r 1 next_test: next_test.c:121 nexttoward(0.0, INFINITY) returned inf, expecting 0x8p-1077 *** Error 1 in msun (Makefile:153 'run-next_test-1') EXPECTED_FAIL ==== cleanup-next_test-1 ==== ./next_test -c 1 ==== run-next_test-2 ==== 2 ./next_test -r 2 next_test: next_test.c:149 nexttoward((1.0), (-__builtin_inff())) returned -inf, expecting 0xf.ffffffffffff8p-4 *** Error 1 in msun (Makefile:153 'run-next_test-2') EXPECTED_FAIL ==== cleanup-next_test-2 ==== ./next_test -c 2 ==== run-next_test-3 ==== 3 ./next_test -r 3 ==== cleanup-next_test-3 ==== ./next_test -c 3 ==== run-next_test-4 ==== 4 ./next_test -r 4 next_test: next_test.c:174 nexttoward((0x1.87654ffffffffp+0), (__builtin_inff())) returned inf, expecting 0xc.3b2a8p-3 *** Error 1 in msun (Makefile:153 'run-next_test-4') EXPECTED_FAIL ==== cleanup-next_test-4 ==== ./next_test -c 4 ==== run-next_test-5 ==== 5 ./next_test -r 5 next_test: next_test.c:239 idf(nexttowardf(INFINITY, FLT_MAX * 2.0)) returned inf, expecting 0xf.fffffp+124 *** Error 1 in msun (Makefile:153 'run-next_test-5') EXPECTED_FAIL ==== cleanup-next_test-5 ==== ./next_test -c 5 ==== run-rem_test ==== cc -o rem_test rem_test.o atf-c.o fls.o -lm ulimit -c unlimited && ntests="`./rem_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=rem_test NUMBERS="$tnumbers" regress 1..3 ==== run-rem_test-1 ==== 1 ./rem_test -r 1 ==== cleanup-rem_test-1 ==== ./rem_test -c 1 ==== run-rem_test-2 ==== 2 ./rem_test -r 2 ==== cleanup-rem_test-2 ==== ./rem_test -c 2 ==== run-rem_test-3 ==== 3 ./rem_test -r 3 rem_test.c:154: '(q ^ expected_quo) >= 0' evaluated to false *** Error 1 in msun (Makefile:153 'run-rem_test-3') EXPECTED_FAIL ==== cleanup-rem_test-3 ==== ./rem_test -c 3 ==== run-trig_test ==== cc -o trig_test trig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./trig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=trig_test NUMBERS="$tnumbers" regress 1..3 ==== run-trig_test-1 ==== 1 test special cases in sin(), cos(), and tan() ./trig_test -r 1 ==== cleanup-trig_test-1 ==== ./trig_test -c 1 ==== run-trig_test-2 ==== 2 tests the accuracy of these functions over the primary range ./trig_test -r 2 ==== cleanup-trig_test-2 ==== ./trig_test -c 2 ==== run-trig_test-3 ==== 3 tests to ensure argument reduction for large arguments is accurate ./trig_test -r 3 trig_test.c:167: 'fabs(sinf(f_pi_odd[i])) < 1.19209290E-07F' evaluated to false *** Error 1 in msun (Makefile:153 'run-trig_test-3') EXPECTED_FAIL ==== cleanup-trig_test-3 ==== ./trig_test -c 3 ===> rint ==== run-regress-rint ==== cc -o rint rint.o -lm ./rint ===> round ==== run-regress-round ==== cc -o round round.o -lm ./round ===> tgamma ==== run-regress-tgamma ==== cc -o tgamma tgamma.o -lm ./tgamma ===> toint ==== run-regress-toint ==== ./toint ===> trivial1 ==== test-fp ==== perl /usr/src/regress/lib/libm/trivial1/test-fp.pl | diff -u - /usr/src/regress/lib/libm/trivial1/test-fp.out
===> exp ==== run-regress-exp ==== cc -o exp exp.o -lm ./exp ===> fenv ==== run-regress-fenv ==== cc -o fenv fenv.o -lm ./fenv 1..8 ok 1 - fenv ok 2 - fenv ok 3 - fenv ok 4 - fenv ok 5 - fenv ok 6 - fenv ok 7 - fenv ok 8 - fenv ===> floor ==== run-regress-floor ==== cc -o floor floor.o -lm ./floor ===> fpaccuracy ==== run-regress-fpaccuracy ==== cc -o fpaccuracy Gamma.o INV.o Pix.o acos.o acosh.o asin.o asinh.o atan.o atanh.o cos.o cosh.o erf.o erfc.o exp.o fpaccuracy.o j0.o j1.o lgamma.o log.o log10.o pow2_x.o powx_275.o sin.o sincos.o sincos2.o sinh.o sqrt.o tan.o tanh.o y0.o y1.o -lm ./fpaccuracy result of Gamma is never more precise than double 20 largest ulp errors (stored in a double) 1007.51430 ulp for Gamma(164.040279658791491) = 2.46119858953288017e+291) 803.47099 ulp for Gamma(134.06343791621336) = 2.02876963318290436e+226) 684.49955 ulp for Gamma(149.995246886988213) = 3.71933986887775289e+260) 678.44143 ulp for Gamma(149.995246886988326) = 3.71933986887986686e+260) 654.51322 ulp for Gamma(171.62437695630237) = 1.79769313485920759e+308) 582.50148 ulp for Gamma(164.040279658439317) = 2.46119858511502517e+291) 565.49914 ulp for Gamma(164.040279658439005) = 2.46119858511110787e+291) 536.51997 ulp for Gamma(134.063437915653338) = 2.02876962762183713e+226) 509.53716 ulp for Gamma(171.624376956302683) = 1.79769313486206882e+308) 502.49494 ulp for Gamma(102.931472671813253) = 7.00076498487847901e+161) 492.49996 ulp for Gamma(135.625077550049639) = 4.27308755772562989e+229) 489.49949 ulp for Gamma(149.995246887066457) = 3.71933987033485917e+260) 480.42868 ulp for Gamma(135.625077549163308) = 4.27308753914401685e+229) 466.50069 ulp for Gamma(135.625077550027441) = 4.27308755725975388e+229) 455.53404 ulp for Gamma(134.063437915652969) = 2.02876962761814689e+226) 424.49947 ulp for Gamma(134.063437915655896) = 2.02876962764720809e+226) 406.50060 ulp for Gamma(121.763991321950115) = 2.60795713454926605e+200) 387.50162 ulp for Gamma(87.6707341879955777) = 4.83784950540704632e+131) 371.50017 ulp for Gamma(107.262197047543694) = 3.8993882991775625e+170) 371.49967 ulp for Gamma(85.330825310269617) = 1.43919175139185159e+127) result of INV is never more precise than double 9 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50000 ulp for INV(0.999999999999999889) = 1.00000000000000022) 0.50000 ulp for INV(3.99999999999999956) = 0.250000000000000056) 0.50000 ulp for INV(0.249999999999999972) = 4.00000000000000089) 0.50000 ulp for INV(1.99999999999999978) = 0.500000000000000111) 0.50000 ulp for INV(0.124999999999999986) = 8.00000000000000178) 0.50000 ulp for INV(0.499999999999999944) = 2.00000000000000044) 0.50000 ulp for INV(7.99999999999999911) = 0.125000000000000028) 0.50000 ulp for INV(0.49471405240200178) = 2.02136970871287414) 0.50000 ulp for INV(-0.160345431200486804) = -6.23653566249516) 0.50000 ulp for INV(-0.682838099199875703) = -1.46447598804425638) 0.50000 ulp for INV(0.557128052998967949) = 1.79491948864734785) 0.50000 ulp for INV(-0.500124640393044606) = -1.99950156267866896) 0.50000 ulp for INV(0.29019680059930697) = 3.44593737055276206) 0.50000 ulp for INV(-0.732244161798246807) = -1.36566469515331868) 0.50000 ulp for INV(-0.426553727999878451) = -2.34437055488654611) 0.50000 ulp for INV(0.90431789479066893) = 1.10580582974251485) 0.50000 ulp for INV(-0.584928321798450002) = -1.70961118265798739) 0.50000 ulp for INV(-0.572718525198475659) = -1.7460584143902973) 0.50000 ulp for INV(-0.477825138203482602) = -2.09281580236607034) 0.50000 ulp for INV(-0.779150390998759268) = -1.28344926929721881) result of Pix is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50000 ulp for Pix(-0.402499911601222171) = -1.26449076535694083) 0.50000 ulp for Pix(-0.859377740199323004) = -2.6998147952687912) 0.50000 ulp for Pix(-0.193720938600241782) = -0.608592277553038907) 0.50000 ulp for Pix(-0.587555582993394943) = -1.84586030310771743) 0.50000 ulp for Pix(0.297261439603055344) = 0.933874354852484712) 0.50000 ulp for Pix(0.143596270198912052) = 0.451120987539797069) 0.50000 ulp for Pix(0.878534741800358843) = 2.75999829076341285) 0.50000 ulp for Pix(-0.620286544593580236) = -1.94868765161578916) 0.50000 ulp for Pix(-0.160345431199462873) = -0.503740028692920117) 0.50000 ulp for Pix(0.0788602522004207968) = 0.247746788973080279) 0.50000 ulp for Pix(0.947947697000832701) = 2.9780655208851794) 0.50000 ulp for Pix(-0.0349726054002504408) = -0.109869680202321518) 0.50000 ulp for Pix(0.290196800597294857) = 0.911680136851723666) 0.50000 ulp for Pix(0.294157668399192329) = 0.924123570040005116) 0.50000 ulp for Pix(-0.13784236500043559) = -0.433044561238811243) 0.50000 ulp for Pix(-0.696951496999841602) = -2.18953770288311089) 0.50000 ulp for Pix(-0.477825138200535404) = -1.50113194387132975) 0.50000 ulp for Pix(-0.681058815402102447) = -2.13960937112981187) 0.50000 ulp for Pix(0.810735118402508448) = 2.54699949198057185) 0.50000 ulp for Pix(-0.318250363599450359) = -0.9998130042863137) result of acos is never more precise than double 20 largest ulp errors (stored in a double) 0.50242 ulp for acos(0.99219766722932401) = 0.125000000000040468) 0.50037 ulp for acos(0.91057774319996676) = 0.4261166593349478) 0.50035 ulp for acos(0.992197667223120305) = 0.125000000049799581) 0.50033 ulp for acos(0.910577743200102319) = 0.426116659334619841) 0.50031 ulp for acos(0.782890517800007291) = 0.671498051386918426) 0.50028 ulp for acos(0.71077356760004895) = 0.780199005305909798) 0.50027 ulp for acos(0.213887689999990721) = 1.35524329976689195) 0.50025 ulp for acos(-0.795485219800061261) = 2.49060421440965651) 0.50024 ulp for acos(0.443226369600003778) = 1.11160162948930052) 0.50024 ulp for acos(0.479282989400335424) = 1.07095875354136449) 0.50023 ulp for acos(-0.477825138199994948) = 2.06897358675603105) 0.50022 ulp for acos(-0.174831552799988993) = 1.74653101021325785) 0.50022 ulp for acos(-0.500124640400019027) = 2.09453903071070791) 0.50022 ulp for acos(-0.888571940199981758) = 2.6650190254711239) 0.50021 ulp for acos(-0.193720938600005499) = 1.7657498497942683) 0.50021 ulp for acos(0.36701231999999967) = 1.19500116212440188) 0.50021 ulp for acos(-0.767191877399947875) = 2.44524794743638285) 0.50020 ulp for acos(0.0270132234000022911) = 1.54377981699332922) 0.50019 ulp for acos(-0.837828628199962955) = 2.56408996793459121) 0.50019 ulp for acos(-0.176508975200014601) = 1.74823493039030708) result of acosh is never more precise than double 20 largest ulp errors (stored in a double) 1.58186 ulp for acosh(1.03141309987957297) = 0.24999999999999914) 1.49127 ulp for acosh(1.00754871629998832) = 0.122794447636528359) 1.43389 ulp for acosh(1.00754871629999676) = 0.122794447636596901) 1.00394 ulp for acosh(1.00782267781110768) = 0.124999999883478263) 1.00034 ulp for acosh(1.00782267782562651) = 0.124999999999326983) 0.91277 ulp for acosh(1.03141309987957275) = 0.249999999999998279) 0.66226 ulp for acosh(1.1053530086000023) = 0.455089895933561139) 0.60209 ulp for acosh(1.24959003930000034) = 0.692600317104164365) 0.60042 ulp for acosh(3.15772050439999985) = 1.81692618977516629) 0.59773 ulp for acosh(1.54308063481524393) = 1) 0.56814 ulp for acosh(1.26108743089999931) = 0.707752145215589934) 0.56656 ulp for acosh(3.48224220920001182) = 1.91953826890366108) 0.56356 ulp for acosh(1.99975071920000014) = 1.3168139626273172) 0.55608 ulp for acosh(81.8720922097000567) = 5.09826806028882284) 0.55344 ulp for acosh(2.62014632439999895) = 1.61779429270285369) 0.55323 ulp for acosh(1.00000000000000022) = 2.10734242554470173e-08) 0.55226 ulp for acosh(4.61376402280000075) = 2.2102343711924699) 0.55147 ulp for acosh(3.36504125080000005) = 1.88374017981709696) 0.54740 ulp for acosh(55.2512207115999914) = 4.70495571019320025) 0.54642 ulp for acosh(1.00782267782571466) = 0.125000000000030365) result of asin is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50035 ulp for asin(0.821457679200080504) = 0.963962456376332044) 0.50033 ulp for asin(0.841470984807921041) = 1.0000000000000453) 0.50033 ulp for asin(-0.418126490400015538) = -0.431381885291778455) 0.50030 ulp for asin(-0.572718525199937156) = -0.60981830561152206) 0.50028 ulp for asin(-0.9849025673999805) = -1.3968102639426907) 0.50027 ulp for asin(-0.915123739200011888) = -1.15581472720556988) 0.50027 ulp for asin(-0.456227928600024091) = -0.473751634328762106) 0.50026 ulp for asin(-0.318250363600003527) = -0.323883319178421281) 0.50025 ulp for asin(0.483933816199981937) = 0.505144406543646785) 0.50025 ulp for asin(0.895974109600018442) = 1.11061978822753193) 0.50024 ulp for asin(-0.588554136000015049) = -0.629269251740634861) 0.50024 ulp for asin(0.143596270200005705) = 0.144094396125133917) 0.50022 ulp for asin(0.17253298259998906) = 0.173400639240957333) 0.50021 ulp for asin(0.367012319999992565) = 0.375795164670487014) 0.50021 ulp for asin(-0.456591417799993848) = -0.474160154852177107) 0.50021 ulp for asin(-0.618849086999965547) = -0.667276676569257488) 0.50021 ulp for asin(0.710773567600044065) = 0.790597321488979876) 0.50020 ulp for asin(-0.489661821400026731) = -0.511701852231708054) 0.50020 ulp for asin(-0.859377740199689155) = -1.03405150838911464) 0.50020 ulp for asin(0.0474766862000005202) = 0.047494540006531541) result of asinh is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.25479 ulp for asinh(0.252612316808168258) = 0.249999999999999917) 1.01425 ulp for asinh(0.252612316808167592) = 0.249999999999999334) 1.00733 ulp for asinh(0.125325775241114212) = 0.124999999999998751) 0.99587 ulp for asinh(0.25261231680816576) = 0.249999999999997502) 0.99180 ulp for asinh(0.12532577524111424) = 0.124999999999998779) 0.94823 ulp for asinh(0.521095305493747052) = 0.499999999999999778) 0.67572 ulp for asinh(0.125325775241115434) = 0.124999999999999986) 0.61968 ulp for asinh(0.116007481799999895) = 0.115748845381909396) 0.61692 ulp for asinh(-0.999999999999999778) = -0.881373587019542937) 0.59904 ulp for asinh(0.521095305493747274) = 0.499999999999999889) 0.59151 ulp for asinh(-3.18250363599999986) = -1.87463181766332876) 0.57952 ulp for asinh(-0.875010530200000081) = -0.790176650174829964) 0.57398 ulp for asinh(0.672688602200000041) = 0.63014870588157712) 0.56687 ulp for asinh(8.12578045400001514) = 2.79195389043086006) 0.56055 ulp for asinh(-0.193720938600000281) = -0.192529301190265456) 0.55802 ulp for asinh(-0.732244161800000404) = -0.678881943696868051) 0.55618 ulp for asinh(-9.15453677399999854) = -2.91036659498682226) 0.55094 ulp for asinh(4.44789359999999867) = 2.19798142954430675) 0.54891 ulp for asinh(8.9597410960000019) = 2.88898828247369543) 0.54791 ulp for asinh(575.540968199999952) = 7.04845834805185145) result of atan is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50025 ulp for atan(6.60531107599979794) = 1.4205439944184497) 0.50024 ulp for atan(0.95201987479999628) = 0.760823379753355233) 0.50024 ulp for atan(-0.231511231199999362) = -0.227503216980975198) 0.50023 ulp for atan(-0.584928321800024853) = -0.529263665528821203) 0.50022 ulp for atan(-4.36803014200022588) = -1.34573857399357166) 0.50021 ulp for atan(-0.193720938600108777) = -0.191350775199167156) 0.50020 ulp for atan(6.60531107599111689) = 1.42054399441825518) 0.50020 ulp for atan(-0.273385260600019553) = -0.266864381664067341) 0.50018 ulp for atan(-1.68497234999996448) = -1.03518359165182883) 0.50016 ulp for atan(2.90196800600000637) = 1.23894587233259124) 0.50016 ulp for atan(0.691743795200012945) = 0.605163368553421455) 0.50015 ulp for atan(-0.500819921400074697) = -0.46430333097066423) 0.50014 ulp for atan(-0.620286544600136325) = -0.555202681852450031) 0.50014 ulp for atan(9.26453970399937532) = 1.46327416309335812) 0.50013 ulp for atan(0.118152693199995815) = 0.117607446782601849) 0.50013 ulp for atan(-0.758092139999913206) = -0.64865999416572695) 0.50013 ulp for atan(0.810735118400030319) = 0.681252554619064865) 0.50013 ulp for atan(5.25502219400538628) = 1.38275049106242154) 0.50013 ulp for atan(-1.37842364999983524) = -0.943182511954652414) 0.50012 ulp for atan(-0.273385260599956492) = -0.266864381664008721) result of atanh is never more precise than double 5 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.00156 ulp for atanh(0.244918662403707799) = 0.249999999999998612) 0.67972 ulp for atanh(0.0857021946000001839) = 0.0859129478716055828) 0.59240 ulp for atanh(0.14359627019999946) = 0.144595643536946095) 0.58301 ulp for atanh(-0.789293982800000848) = -1.06955625973546264) 0.57276 ulp for atanh(0.376358749799999948) = 0.395810710177387892) 0.55639 ulp for atanh(-0.13887721580000037) = -0.139780528435945184) 0.54631 ulp for atanh(-0.14877128740000034) = -0.149883677248376895) 0.54588 ulp for atanh(0.833918832000000387) = 1.20086688088398708) 0.54169 ulp for atanh(0.962390530999999716) = 1.97733140696075615) 0.54166 ulp for atanh(-0.429154498599999989) = -0.458859845554233092) 0.54137 ulp for atanh(0.0788602521999999528) = 0.0790243406193430475) 0.53504 ulp for atanh(-0.875010530200000192) = -1.35407003117081537) 0.53350 ulp for atanh(-0.732244161800000293) = -0.933548768222197012) 0.53284 ulp for atanh(-0.620286544599998657) = -0.725470694217028367) 0.53011 ulp for atanh(0.297261439599999955) = 0.306512902618217009) 0.52764 ulp for atanh(-0.426553727999999965) = -0.455676293185343972) 0.52338 ulp for atanh(0.376358749799998282) = 0.395810710177385949) 0.52122 ulp for atanh(0.691743795200000178) = 0.851291918233185729) 0.52071 ulp for atanh(-0.500819921400003643) = -0.550399971204766247) 0.52002 ulp for atanh(0.999999994345954546) = 9.84202085808349558) result of cos is never more precise than double 4 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.59866 ulp for cos(398.253360519998921) = -0.745903188015362373) 0.55166 ulp for cos(383.96545688000009) = 0.770511484594593954) 0.54408 ulp for cos(5.64574408000000094) = 0.803621217893944584) 0.53869 ulp for cos(-0.777861345999999787) = 0.712415982406604642) 0.53861 ulp for cos(7.21858331199999803) = 0.593498145038185543) 0.53675 ulp for cos(-9.84847574850000207) = -0.91157488953323762) 0.53151 ulp for cos(-0.479878203799999681) = 0.887051159148984691) 0.52686 ulp for cos(0.962390531000000271) = 0.571560046369754104) 0.52665 ulp for cos(8.17638177849999792) = -0.316843954560446339) 0.52664 ulp for cos(-9.75006232019999608) = -0.947559889637848207) 0.52605 ulp for cos(8.5809866805000059) = -0.664634884851203145) 0.52451 ulp for cos(8.60806592400000348) = -0.684621495918695588) 0.52335 ulp for cos(-9.04784105259999905) = -0.92979644065027689) 0.52294 ulp for cos(410.63604045999972) = -0.611693214123128604) 0.52241 ulp for cos(0.435898091400000021) = 0.906491211566647692) 0.52088 ulp for cos(-0.250782692399999119) = 0.968718483750336312) 0.51980 ulp for cos(-9.96751719450001872) = -0.856297126610311876) 0.51873 ulp for cos(383.965456880000886) = 0.770511484594086804) 0.51773 ulp for cos(410.636040459999663) = -0.611693214123083751) 0.51715 ulp for cos(-9.09655899430001114) = -0.946617974261398931) result of cosh is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.94716 ulp for cosh(-709.782712893384087) = 8.98846567431238985e+307) 0.94716 ulp for cosh(709.782712893384087) = 8.98846567431238985e+307) 0.78779 ulp for cosh(2.00000000000000044) = 3.76219569108363272) 0.77663 ulp for cosh(-4.15908416799999969) = 32.0142462846785705) 0.72231 ulp for cosh(2.76865938331357375) = 8) 0.64084 ulp for cosh(-709.782712882483111) = 8.98846557632933817e+307) 0.64084 ulp for cosh(709.782712882483111) = 8.98846557632933817e+307) 0.59519 ulp for cosh(-7.77861346000000076) = 1194.48027645171828) 0.57360 ulp for cosh(1.96586753199999986) = 3.64056969522960694) 0.56995 ulp for cosh(-4.1590841679989321) = 32.0142462846444076) 0.56235 ulp for cosh(-7.77861346000004072) = 1194.48027645176603) 0.55665 ulp for cosh(-7.37027542199999619) = 794.035871116638646) 0.55278 ulp for cosh(6.72688602200000574) = 417.272830341713473) 0.55138 ulp for cosh(8.9597410960000019) = 3891.67109568961178) 0.55114 ulp for cosh(-475.322357445586931) = 1.34538619847890597e+206) 0.54949 ulp for cosh(-526.447518918487049) = 2.14893105608059935e+228) 0.54939 ulp for cosh(-4.2655372800000011) = 35.6086050271967025) 0.54817 ulp for cosh(0.479282989400001358) = 1.11707165009347387) 0.54733 ulp for cosh(-105.987842953823957) = 5.35679896431098736e+45) 0.54694 ulp for cosh(608.631543841552229) = 1.05752588646374975e+264) result of erf is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.55029 ulp for erf(0.173003437415309991) = 0.19328324616993478) 0.54448 ulp for erf(0.532200885538677615) = 0.54833715828603613) 0.54040 ulp for erf(-0.489341802678973925) = -0.51108390576853624) 0.52689 ulp for erf(-0.237989233146952112) = -0.263557116890746901) 0.52652 ulp for erf(-0.220614686665097565) = -0.244956651014343191) 0.52414 ulp for erf(0.789433081039224605) = 0.735760585524578681) 0.52372 ulp for erf(-0.237989233146952528) = -0.263557116890747345) 0.51817 ulp for erf(1.45550972655508826) = 0.960448401281772002) 0.51604 ulp for erf(-1.29245567966885266) = -0.932421680527195207) 0.51470 ulp for erf(-0.11950033357842324) = -0.134202566094570735) 0.51280 ulp for erf(1.33777652839433969) = 0.9414959220645438) 0.51243 ulp for erf(0.644448162086819432) = 0.637908673562691209) 0.51150 ulp for erf(1.0962664969880267) = 0.878943654476177727) 0.51148 ulp for erf(-1.29245567966885422) = -0.932421680527195651) 0.50985 ulp for erf(1.29335219460623585) = 0.932611808380637064) 0.50972 ulp for erf(1.97479464988596676) = 0.994774300306054737) 0.50840 ulp for erf(1.10546442291395453) = 0.882032710438650058) 0.50762 ulp for erf(0.393287002759313054) = 0.421920264755931529) 0.50750 ulp for erf(1.09626649698801426) = 0.878943654476173508) 0.50749 ulp for erf(-1.2238890926331345) = -0.916519793341092348) result of erfc is never more precise than double 5 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.55074 ulp for erfc(12.1195662651077818) = 7.50949328584440654e-66) 1.54627 ulp for erfc(12.407681680893587) = 6.25827238210652832e-69) 1.52540 ulp for erfc(6.3415708249169338) = 3.010290017264394e-19) 1.51478 ulp for erfc(1.89519053177917973) = 0.00735772712418380007) 1.50971 ulp for erfc(1.55674150125317978) = 0.0276960544716579569) 1.50941 ulp for erfc(1.76289650465688319) = 0.0126628844207123756) 1.50581 ulp for erfc(10.5952364563678607) = 9.35236524157818037e-51) 1.50387 ulp for erfc(1.21790004349117842) = 0.0850023771511491111) 1.50377 ulp for erfc(13.7514437934095568) = 3.06119641471006947e-84) 1.50343 ulp for erfc(6.34157082491695245) = 3.01029001726367322e-19) 1.50331 ulp for erfc(10.1671825617441094) = 7.05395370005023563e-47) 1.50261 ulp for erfc(14.7064886456213166) = 4.50148931866354397e-96) 1.50246 ulp for erfc(13.9712777837570581) = 6.79635392714354128e-87) 1.50196 ulp for erfc(10.2580820608215841) = 1.09212414903953798e-47) 1.50081 ulp for erfc(10.2580820608538001) = 1.09212414831430171e-47) 1.50059 ulp for erfc(4.5064146858337919) = 1.85326270107492819e-10) 1.50056 ulp for erfc(13.2166785083890517) = 5.83783374106980858e-78) 1.50040 ulp for erfc(4.09194005615514733) = 7.17069916342429865e-09) 1.50023 ulp for erfc(4.09194005618304235) = 7.17069916174097949e-09) 1.50017 ulp for erfc(6.2598240838090522) = 8.54055364435861305e-19) result of exp is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.65922 ulp for exp(706.066350976882632) = 4.37240202558957667e+306) 0.63171 ulp for exp(-707.202803456309198) = 7.34048697546507651e-308) 0.60693 ulp for exp(-705.940320071555789) = 2.5942656177251228e-307) 0.59088 ulp for exp(381.00731621999995) = 2.94696514375867702e+165) 0.57893 ulp for exp(383.150276499999904) = 2.51218040420624104e+166) 0.57860 ulp for exp(416.244840379999857) = 5.92703235123047658e+180) 0.57460 ulp for exp(381.007316219997961) = 2.94696514375281397e+165) 0.56649 ulp for exp(-705.220036753764248) = 5.33125566792105009e-307) 0.56386 ulp for exp(709.239939168971432) = 1.04470079809263955e+308) 0.55626 ulp for exp(-707.691345968795076) = 4.5035351325229914e-308) 0.55440 ulp for exp(706.728721583384527) = 8.47976830754043309e+306) 0.54886 ulp for exp(-704.785699728764143) = 8.23113421921572431e-307) 0.54587 ulp for exp(349.987535959999775) = 9.94616368869951691e+151) 0.54165 ulp for exp(709.426437771384485) = 1.25888842500694836e+308) 0.53185 ulp for exp(342.72814747999962) = 6.99750541937962897e+148) 0.53086 ulp for exp(705.865767621886107) = 3.57773230627854927e+306) 0.53040 ulp for exp(-707.770323352763626) = 4.16154038005618274e-308) 0.52792 ulp for exp(-707.765602320195512) = 4.18123359730685418e-308) 0.52494 ulp for exp(-705.977467055763441) = 2.49966442636002169e-307) 0.52458 ulp for exp(405.779366980000759) = 1.68942901862948607e+176) result of j0 is never more precise than double 5 results were exact to double the precision 20 largest ulp errors (stored in a double) 450179410498755.06250 ulp for j0(-2.40482555769577289) = -5.55387629523999699e-17) 450179410498755.06250 ulp for j0(2.40482555769577289) = -5.55387629523999699e-17) 279895209600871.71875 ulp for j0(5.52007811028631057) = -2.66601557278844545e-17) 279895209600871.71875 ulp for j0(-5.52007811028631057) = -2.66601557278844545e-17) 181716259926885.40625 ulp for j0(2.404825557695772) = 4.08967254467672637e-16) 181716259926885.40625 ulp for j0(-2.404825557695772) = 4.08967254467672637e-16) 89450214536902.78125 ulp for j0(-2.40482555769577244) = 1.71665267307418125e-16) 89450214536902.78125 ulp for j0(2.40482555769577244) = 1.71665267307418125e-16) 38656385240616.84375 ulp for j0(-5.52007811028631146) = 2.76599115676801202e-16) 38656385240616.84375 ulp for j0(5.52007811028631146) = 2.76599115676801202e-16) 28812044129150.70703 ulp for j0(2.40482555769577022) = 1.32788133240738176e-15) 28812044129150.70703 ulp for j0(-2.40482555769577022) = 1.32788133240738176e-15) 24492349580293.65234 ulp for j0(8.65372791291101251) = -7.91827641886750548e-17) 24492349580293.65234 ulp for j0(-8.65372791291101251) = -7.91827641886750548e-17) 13294667693825.52930 ulp for j0(11.7915344390142813) = -6.55538183891963364e-17) 13294667693825.52930 ulp for j0(-11.7915344390142813) = -6.55538183891963364e-17) 10582190570101.76367 ulp for j0(8.65372791291101073) = 4.03233236120479744e-16) 10582190570101.76367 ulp for j0(-8.65372791291101073) = 4.03233236120479744e-16) 10202516355074.48438 ulp for j0(5.52007811028631323) = 8.78118879287194124e-16) 10202516355074.48438 ulp for j0(-5.52007811028631323) = 8.78118879287194124e-16) result of j1 is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 1095190423153233.25000 ulp for j1(3.83170597020751247) = -4.79988093731046467e-17) 1095190423153233.25000 ulp for j1(-3.83170597020751247) = 4.79988093731046467e-17) 212106997701470.87500 ulp for j1(7.01558666981561885) = 2.95606043933087733e-17) 212106997701470.87500 ulp for j1(-7.01558666981561885) = -2.95606043933087733e-17) 106847539303006.62500 ulp for j1(-3.83170597020751202) = -1.19997023432761629e-16) 106847539303006.62500 ulp for j1(3.83170597020751202) = 1.19997023432761629e-16) 96831590405825.92188 ulp for j1(7.01558666981561796) = -2.33528774707139377e-16) 96831590405825.92188 ulp for j1(-7.01558666981561796) = 2.33528774707139377e-16) 96730982098834.46875 ulp for j1(-3.83170597020751336) = 4.23989482795757667e-16) 96730982098834.46875 ulp for j1(3.83170597020751336) = -4.23989482795757667e-16) 82072526676975.34375 ulp for j1(13.3236919363142228) = -5.57707343663311291e-17) 82072526676975.34375 ulp for j1(-13.3236919363142228) = 5.57707343663311291e-17) 65041086217637.58594 ulp for j1(29.0468285349168553) = -4.104066583795784e-17) 65041086217637.58594 ulp for j1(-29.0468285349168553) = 4.104066583795784e-17) 42922241471395.82812 ulp for j1(-22.7600843805927724) = 8.28800015790289064e-17) 42922241471395.82812 ulp for j1(22.7600843805927724) = -8.28800015790289064e-17) 32264607539711.86719 ulp for j1(7.01558666981562151) = 8.24740862573314769e-16) 32264607539711.86719 ulp for j1(-7.01558666981562151) = -8.24740862573314769e-16) 29949711080584.35547 ulp for j1(10.1734681350627234) = -3.30166553453718022e-16) 29949711080584.35547 ulp for j1(-10.1734681350627234) = 3.30166553453718022e-16) result of lgamma is never more precise than double 2 results were exact to double the precision 20 largest ulp errors (stored in a double) 4448368812103571.00000 ulp for lgamma(-2.45702473822080059) = 1.11022302462515654e-16) 1062532076054966.87500 ulp for lgamma(-2.45702473822080103) = -7.21644966006351751e-16) 12841511242762.16016 ulp for lgamma(-2.45702473822079481) = 8.8262730457699945e-15) 9549880344016.57617 ulp for lgamma(-2.45702473822079659) = 6.10622663543836097e-15) 1254117546408.74634 ulp for lgamma(-2.45702473822020551) = 9.01834162903014658e-13) 383651654559.80951 ulp for lgamma(-2.45702473822178824) = -1.49691370410209856e-12) 109535879573.52557 ulp for lgamma(-2.45702473821762934) = 4.80648854050969021e-12) 1265.44669 ulp for lgamma(-3.14373174790000176) = -0.00117338411780398832) 574.49429 ulp for lgamma(-3.14373174789999554) = -0.00117338411775580465) 411.71312 ulp for lgamma(-3.14373174794233901) = -0.00117338444693826371) 177.50051 ulp for lgamma(-3.14373174789977083) = -0.00117338411600897974) 145.49284 ulp for lgamma(-2.4618656217999999) = -0.00722316452873889014) 143.50116 ulp for lgamma(-2.46186562179998036) = -0.00722316452871019088) 122.49209 ulp for lgamma(-3.14373174790000309) = -0.00117338411781464647) 117.45415 ulp for lgamma(-2.7527458524999977) = 0.00994086915156705553) 83.50000 ulp for lgamma(-3.14373174789957499) = -0.0011733841144865309) 75.48339 ulp for lgamma(-2.7527458524999) = 0.00994086915137032401) 73.49898 ulp for lgamma(-3.14373174789996668) = -0.00117338411753153959) 64.50018 ulp for lgamma(-2.46186562180564117) = -0.00722316453702392947) 58.49982 ulp for lgamma(-2.46186562180019619) = -0.00722316452902699302) result of log is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50039 ulp for log(0.38424438440000569) = -0.956476511113930616) 0.50034 ulp for log(0.425614356300012264) = -0.854221609615686939) 0.50031 ulp for log(8.81375554849993215) = 2.17631363157863422) 0.50031 ulp for log(1.00000001189851773) = 1.1898517655862155e-08) 0.50031 ulp for log(0.363307369700040628) = -1.01250605452158471) 0.50031 ulp for log(494.794769700016843) = 6.20414306992894993) 0.50030 ulp for log(405.779366979973247) = 6.00580958080573524) 0.50028 ulp for log(6.30543715449980002) = 1.84141230158905422) 0.50027 ulp for log(6.24968839899972561) = 1.83253160634540668) 0.50026 ulp for log(0.647078834200026765) = -0.435287146154171967) 0.50024 ulp for log(0.00754871630001476349) = -4.88637775666545693) 0.50023 ulp for log(5.9492836384998764) = 1.78327081541847399) 0.50022 ulp for log(1.00000006707384692) = 6.70738446716115228e-08) 0.50021 ulp for log(7.69715063049976944) = 2.04085021238794351) 0.50021 ulp for log(0.20622220849999906) = -1.57880100951316571) 0.50019 ulp for log(0.741966908100113232) = -0.298450635057113889) 0.50018 ulp for log(455.712805299969546) = 6.12186279816024026) 0.50017 ulp for log(1.0000060554543142) = 6.0554359800127192e-06) 0.50016 ulp for log(1.6487212707002139) = 0.500000000000051958) 0.50016 ulp for log(8.81375554849720011) = 2.17631363157832425) result of log10 is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50054 ulp for log10(1.00000005954329985) = 2.58593257876641445e-08) 0.50054 ulp for log10(1.00000006707391353) = 2.91298295507387694e-08) 0.50050 ulp for log10(6.49375022099940225) = 0.812495579681436597) 0.50046 ulp for log10(5.32545250349999044) = 0.726356515664524194) 0.50044 ulp for log10(1.00000000353729135) = 1.53622611091652731e-09) 0.50044 ulp for log10(0.976009937399970662) = -0.010545760472651565) 0.50040 ulp for log10(457.554096819951269) = 2.66044244826364462) 0.50039 ulp for log10(1.00000605545456378) = 2.62984254002768479e-06) 0.50038 ulp for log10(0.133877919099995552) = -0.873291046616118116) 0.50037 ulp for log10(0.00999999999999892121) = -2.00000000000004707) 0.50034 ulp for log10(0.586266491299996639) = -0.231904927680093353) 0.50034 ulp for log10(0.206222208500007165) = -0.685664566454834201) 0.50034 ulp for log10(5.32545250349982435) = 0.726356515664510649) 0.50032 ulp for log10(9.15745309749891589) = 0.961774702979544927) 0.50029 ulp for log10(1.00000002015779965) = 8.75442106780916506e-09) 0.50029 ulp for log10(447.928298939961508) = 2.65120850090245419) 0.50029 ulp for log10(1.00000001200265665) = 5.21268751841020956e-09) 0.50028 ulp for log10(1.00000000715134285) = 3.10578872738236112e-09) 0.50027 ulp for log10(1.00000000000004193e-05) = -4.99999999999998224) 0.50025 ulp for log10(999999.999999962165) = 5.99999999999998401) result of pow2_x is never more precise than double 3 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50085 ulp for pow2_x(-1013.07248416912887) = 1.08341409973102955e-305) 0.50082 ulp for pow2_x(-9.05201294520026423) = 0.00188396392451539718) 0.50081 ulp for pow2_x(368.991375760005269) = 1.19528713474710414e+111) 0.50077 ulp for pow2_x(1014.35616669183617) = 2.24715205885516006e+305) 0.50064 ulp for pow2_x(-1014.61548226367995) = 3.71796907878585537e-306) 0.50061 ulp for pow2_x(1016.65741438259317) = 1.10758494357157887e+306) 0.50060 ulp for pow2_x(1020.72748560134607) = 1.86033246326492334e+307) 0.50059 ulp for pow2_x(-1016.68625214840085) = 8.84997256000242497e-307) 0.50059 ulp for pow2_x(1016.95765306060161) = 1.36382262635612105e+306) 0.50053 ulp for pow2_x(492.645397040553746) = 2.00005406236256647e+148) 0.50051 ulp for pow2_x(-1016.49036163723167) = 1.01370326165132962e-306) 0.50051 ulp for pow2_x(8.53027063300003796) = 369.715221873375867) 0.50048 ulp for pow2_x(-1020.72026145251334) = 5.40236745964772593e-308) 0.50047 ulp for pow2_x(-1014.19658471559285) = 4.9705735061316863e-306) 0.50047 ulp for pow2_x(368.991375760029143) = 1.19528713476688419e+111) 0.50045 ulp for pow2_x(308.454632259995378) = 7.14655288323306544e+92) 0.50044 ulp for pow2_x(-1017.4652157099091) = 5.15763407646697827e-307) 0.50044 ulp for pow2_x(0.558003740900016809) = 1.47223067964898879) 0.50041 ulp for pow2_x(-1014.03829600761719) = 5.54697424874340991e-306) 0.50041 ulp for pow2_x(1015.97809608398506) = 6.91642797719219391e+305) result of powx_275 is never more precise than double 1 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.61505 ulp for powx_275(0.158580950400000198) = 0.0063196102507679288) 0.60275 ulp for powx_275(8.53027063299998645) = 363.201578404708584) 0.60186 ulp for powx_275(6.45889553500000257) = 169.018878662948737) 0.58235 ulp for powx_275(6.46123714649998071) = 169.187441662420952) 0.56546 ulp for powx_275(0.298750044200000398) = 0.0360659137765329402) 0.54646 ulp for powx_275(6.45889553500004521) = 169.018878662951806) 0.54456 ulp for powx_275(0.110424804500000043) = 0.00233578710946216132) 0.54362 ulp for powx_275(6.7879528434999985) = 193.76786120511747) 0.54288 ulp for powx_275(0.405036581099999682) = 0.0832931302090510195) 0.54162 ulp for powx_275(6.78704975549999645) = 193.696976075826569) 0.53629 ulp for powx_275(0.340874818200000151) = 0.0518365427126390166) 0.53051 ulp for powx_275(0.0422731612999999729) = 0.000166601151403725006) 0.52990 ulp for powx_275(0.48695826359999983) = 0.138229992792579304) 0.52989 ulp for powx_275(489.597410959999934) = 24949253.716662854) 0.52615 ulp for powx_275(0.581224201900000237) = 0.224877055986263619) 0.52604 ulp for powx_275(306.496561100000122) = 6881298.80838168785) 0.52447 ulp for powx_275(357.344627200000104) = 10495181.559348397) 0.52132 ulp for powx_275(417.253298260000292) = 16073090.5143230967) 0.52035 ulp for powx_275(0.415751382499999766) = 0.089493744688088489) 0.51869 ulp for powx_275(5.21219065200000031) = 93.7142870901810454) result of sin is never more precise than double 37 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.54253 ulp for sin(457.554096816759511) = -0.899415577157950508) 0.53336 ulp for sin(405.77936697999985) = -0.491590001647560726) 0.53283 ulp for sin(8.53027063300001132) = 0.779900810743759609) 0.53050 ulp for sin(376.094201957056271) = -0.781406438005402326) 0.53030 ulp for sin(376.094201960000987) = -0.781406436167833229) 0.52989 ulp for sin(466.053110759998503) = 0.890024100458920886) 0.52878 ulp for sin(-0.777861346000000342) = -0.701757413934211982) 0.52751 ulp for sin(6.16009656099999425) = -0.122778165246110529) 0.52414 ulp for sin(0.686114334800000059) = 0.633535580623448391) 0.52330 ulp for sin(-0.587555582999999992) = -0.554328197237298093) 0.52244 ulp for sin(-0.875010530199999748) = -0.767550252018587953) 0.52217 ulp for sin(316.377329522484047) = 0.797734293305426112) 0.52046 ulp for sin(368.174963642818909) = -0.571738403803464967) 0.52032 ulp for sin(383.150276502135625) = -0.123709500198458291) 0.51532 ulp for sin(9.02334129750000535) = 0.390741194472465136) 0.51514 ulp for sin(6.46123714649999847) = 0.177112549303031552) 0.51469 ulp for sin(-9.09463244079999988) = -0.324180693016267174) 0.51431 ulp for sin(9.77644435799999734) = -0.344462698725309546) 0.51394 ulp for sin(-0.789293982800000626) = -0.709856168518460895) 0.51343 ulp for sin(9.85613612199998279) = -0.418104939610547788) result of sincos sin is never more precise than double 37 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.54253 ulp for sincos sin(457.554096816759511) = -0.899415577157950508) 0.53336 ulp for sincos sin(405.77936697999985) = -0.491590001647560726) 0.53283 ulp for sincos sin(8.53027063300001132) = 0.779900810743759609) 0.53050 ulp for sincos sin(376.094201957056271) = -0.781406438005402326) 0.53030 ulp for sincos sin(376.094201960000987) = -0.781406436167833229) 0.52989 ulp for sincos sin(466.053110759998503) = 0.890024100458920886) 0.52878 ulp for sincos sin(-0.777861346000000342) = -0.701757413934211982) 0.52751 ulp for sincos sin(6.16009656099999425) = -0.122778165246110529) 0.52414 ulp for sincos sin(0.686114334800000059) = 0.633535580623448391) 0.52330 ulp for sincos sin(-0.587555582999999992) = -0.554328197237298093) 0.52244 ulp for sincos sin(-0.875010530199999748) = -0.767550252018587953) 0.52217 ulp for sincos sin(316.377329522484047) = 0.797734293305426112) 0.52032 ulp for sincos sin(383.150276502135625) = -0.123709500198458291) 0.51532 ulp for sincos sin(9.02334129750000535) = 0.390741194472465136) 0.51514 ulp for sincos sin(6.46123714649999847) = 0.177112549303031552) 0.51469 ulp for sincos sin(-9.09463244079999988) = -0.324180693016267174) 0.51431 ulp for sincos sin(9.77644435799999734) = -0.344462698725309546) 0.51394 ulp for sincos sin(-0.789293982800000626) = -0.709856168518460895) 0.51343 ulp for sincos sin(9.85613612199998279) = -0.418104939610547788) 0.51332 ulp for sincos sin(-0.479878203799999736) = -0.461671139505647254) result of sincos cos is never more precise than double 4 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.59866 ulp for sincos cos(398.253360519998921) = -0.745903188015362373) 0.55166 ulp for sincos cos(383.96545688000009) = 0.770511484594593954) 0.54408 ulp for sincos cos(5.64574408000000094) = 0.803621217893944584) 0.53869 ulp for sincos cos(-0.777861345999999787) = 0.712415982406604642) 0.53861 ulp for sincos cos(7.21858331199999803) = 0.593498145038185543) 0.53675 ulp for sincos cos(-9.84847574850000207) = -0.91157488953323762) 0.53151 ulp for sincos cos(-0.479878203799999681) = 0.887051159148984691) 0.52686 ulp for sincos cos(0.962390531000000271) = 0.571560046369754104) 0.52665 ulp for sincos cos(8.17638177849999792) = -0.316843954560446339) 0.52664 ulp for sincos cos(-9.75006232019999608) = -0.947559889637848207) 0.52605 ulp for sincos cos(8.5809866805000059) = -0.664634884851203145) 0.52451 ulp for sincos cos(8.60806592400000348) = -0.684621495918695588) 0.52335 ulp for sincos cos(-9.04784105259999905) = -0.92979644065027689) 0.52294 ulp for sincos cos(410.63604045999972) = -0.611693214123128604) 0.52241 ulp for sincos cos(0.435898091400000021) = 0.906491211566647692) 0.52088 ulp for sincos cos(-0.250782692399999119) = 0.968718483750336312) 0.51980 ulp for sincos cos(-9.96751719450001872) = -0.856297126610311876) 0.51873 ulp for sincos cos(383.965456880000886) = 0.770511484594086804) 0.51773 ulp for sincos cos(410.636040459999663) = -0.611693214123083751) 0.51715 ulp for sincos cos(-9.09655899430001114) = -0.946617974261398931) result of sinh is never more precise than double 36 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.50794 ulp for sinh(-0.701694440599997415) = -0.760711601176329966) 1.50598 ulp for sinh(0.810735118400001897) = 0.902514954843734563) 1.50072 ulp for sinh(0.810735118400007337) = 0.90251495484374189) 1.12754 ulp for sinh(0.881373587019542937) = 1) 1.00849 ulp for sinh(0.124676746921442427) = 0.124999999999999667) 1.00000 ulp for sinh(0.247466461547259764) = 0.249999999999996225) 0.99994 ulp for sinh(0.481211825059468745) = 0.499999999999849343) 0.99292 ulp for sinh(0.1246767469214424) = 0.124999999999999639) 0.86218 ulp for sinh(1.11010098308324818e-08) = 1.11010098308324834e-08) 0.86218 ulp for sinh(1.11010098308325182e-08) = 1.11010098308325198e-08) 0.86218 ulp for sinh(1.11010098308361743e-08) = 1.1101009830836176e-08) 0.84618 ulp for sinh(0.107421759000000283) = 0.107628475955645425) 0.83587 ulp for sinh(0.124676746921442705) = 0.124999999999999972) 0.80341 ulp for sinh(2.00000000000000044) = 3.6268604078470208) 0.75749 ulp for sinh(2.09471254726110878) = 4.0000000000000302) 0.72096 ulp for sinh(1.40436656594276422e-08) = 1.40436656594276438e-08) 0.72096 ulp for sinh(1.40436656594276786e-08) = 1.40436656594276802e-08) 0.72096 ulp for sinh(1.4043665659431247e-08) = 1.40436656594312487e-08) 0.64481 ulp for sinh(-7.77861345999999987) = -1194.47985785955029) 0.60169 ulp for sinh(1.16007481799999979) = 1.43835461106077411) result of sqrt is never more precise than double 2 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.50000 ulp for sqrt(0.999999999999999889) = 0.999999999999999889) 0.50000 ulp for sqrt(15.9999999999999982) = 3.99999999999999956) 0.50000 ulp for sqrt(0.0156249999999999983) = 0.124999999999999986) 0.50000 ulp for sqrt(0.249999999999999972) = 0.499999999999999944) 0.50000 ulp for sqrt(63.9999999999999929) = 7.99999999999999911) 0.50000 ulp for sqrt(0.0624999999999999931) = 0.249999999999999972) 0.50000 ulp for sqrt(3.99999999999999956) = 1.99999999999999978) 0.50000 ulp for sqrt(16.0000000000000036) = 4) 0.50000 ulp for sqrt(0.0156250000000000035) = 0.125) 0.50000 ulp for sqrt(4.00000000000000089) = 2) 0.50000 ulp for sqrt(64.0000000000000142) = 8) 0.50000 ulp for sqrt(1.00000000000000022) = 1) 0.50000 ulp for sqrt(0.250000000000000056) = 0.5) 0.50000 ulp for sqrt(0.0625000000000000139) = 0.25) 0.50000 ulp for sqrt(2.53884156217198101e-308) = 1.59337426933284621e-154) 0.50000 ulp for sqrt(7.05037261855188913) = 2.65525377667594897) 0.50000 ulp for sqrt(9.53144511356327229) = 3.08730385831444742) 0.50000 ulp for sqrt(491.057774316958671) = 22.159823427025735) 0.50000 ulp for sqrt(0.374608653801551006) = 0.6120528194539675) 0.50000 ulp for sqrt(3.25760941642394334e-308) = 1.80488487622450423e-154) result of tan is never more precise than double 4 results were exact to double the precision 20 largest ulp errors (stored in a double) 0.55884 ulp for tan(1.10714871781005697) = 2.00000000007983258) 0.55504 ulp for tan(0.686114334799999614) = 0.818824453828282062) 0.55471 ulp for tan(-0.875010530200000081) = -1.19744725815368769) 0.54314 ulp for tan(-9.05201294520000133) = 0.391047563392909137) 0.54224 ulp for tan(308.454632259999869) = 0.653101158041519581) 0.54092 ulp for tan(6.74489709800000892) = 0.497582564112996284) 0.53925 ulp for tan(-0.405175646399999867) = -0.428907467148047727) 0.53433 ulp for tan(5.59905335500000234) = -0.815518298519061657) 0.53385 ulp for tan(405.77936697999985) = 0.564509517089027968) 0.53217 ulp for tan(491.057774318746965) = 1.45707645484605908) 0.53019 ulp for tan(-0.415908416800000069) = -0.441673914151107239) 0.52978 ulp for tan(-0.900233182999999881) = -1.26076187225230663) 0.52903 ulp for tan(7.59968094500000113) = 3.84721808289475842) 0.52769 ulp for tan(383.965456881485238) = 0.82727659443203172) 0.52762 ulp for tan(-9.09371097730000066) = 0.343717469315760971) 0.52749 ulp for tan(381.007316220000007) = 1.19646105514280077) 0.52704 ulp for tan(381.007316221436497) = 1.19646105863565344) 0.52655 ulp for tan(8.81771784949999393) = -0.694551834967372272) 0.52653 ulp for tan(383.965456880000147) = 0.827276591930564242) 0.52625 ulp for tan(7.21858331200000247) = 1.35608740095169256) result of tanh is never more precise than double 55 results were exact to double the precision 20 largest ulp errors (stored in a double) 1.52273 ulp for tanh(-0.481720016489098624) = -0.447620056232185426) 1.51224 ulp for tanh(0.46952064080734679) = 0.437811920195671556) 1.51146 ulp for tanh(0.962390531000002603) = 0.745341272528029841) 1.50300 ulp for tanh(-0.491538323600000382) = -0.455436527308949457) 1.50195 ulp for tanh(-0.500819921400009083) = -0.462761738210254181) 1.50043 ulp for tanh(-0.477825138199997501) = -0.444500146671642005) 1.50013 ulp for tanh(-0.479878203800091552) = -0.446146062434039203) 1.50005 ulp for tanh(-0.481720016489193659) = -0.447620056232261421) 1.50004 ulp for tanh(-0.481720016490231495) = -0.447620056233091312) 1.50001 ulp for tanh(0.483933816199881739) = 0.449388535461328842) 1.50001 ulp for tanh(-0.250596107799869516) = -0.245478930722700966) 1.50000 ulp for tanh(-0.500819921402840262) = -0.462761738212478901) 1.50000 ulp for tanh(0.469520640807070511) = 0.437811920195448234) 1.50000 ulp for tanh(-0.479878203801267333) = -0.44614606243498095) 1.50000 ulp for tanh(0.196586753201773323) = 0.194092844714392782) 1.50000 ulp for tanh(0.435898091402360521) = 0.410238617555633123) 1.49997 ulp for tanh(-0.50081992140000986) = -0.462761738210254625) 1.49972 ulp for tanh(0.469520640807362721) = 0.437811920195684601) 1.49946 ulp for tanh(0.952019874800003718) = 0.740696125467827482) 1.49942 ulp for tanh(-0.481720016489071479) = -0.447620056232163888) result of y0 is never more precise than double 20 largest ulp errors (stored in a double) 1416944170364155.75000 ulp for y0(0.893576966279167495) = -2.77555756156289135e-17) 957005044970440.50000 ulp for y0(0.893576966279167606) = 6.24500451351650554e-17) 498412046964264.56250 ulp for y0(0.893576966279167717) = 1.59594559789866253e-16) 252436129075417.46875 ulp for y0(7.08605106030177279) = 2.57366028454545643e-17) 145502392036926.96875 ulp for y0(3.95767841931485753) = 1.31846881499878651e-16) 102120554828613.32812 ulp for y0(0.893576966279169493) = 1.71390679426508541e-15) 38502566792223.27344 ulp for y0(7.0860510603017719) = -2.4192406674727292e-16) 36648964041474.43750 ulp for y0(35.3464523052143207) = -2.41991292380241248e-17) 23787329374194.51172 ulp for y0(10.2223450434964178) = -1.98360437439832201e-16) 20350844476561.46875 ulp for y0(47.9118963315164805) = -2.15273682804485553e-17) 11842286171911.16602 ulp for y0(0.893576966279168605) = 9.50628464835290288e-16) 9840347435664.23828 ulp for y0(3.95767841931485664) = 4.93933839648799145e-16) 8763010579264.75879 ulp for y0(3.95767841931485309) = 1.92653876102061578e-15) 8649694640544.91797 ulp for y0(25.9229576531809229) = 3.52735453491345901e-17) 6971793391401.71777 ulp for y0(13.3610974738727624) = -2.42851919436529614e-16) 6804506337957.03613 ulp for y0(13.3610974738727641) = 1.44854342243839592e-16) 6175389682254.33301 ulp for y0(3.95767841931485798) = -4.32930058656317929e-17) 5633809526779.45605 ulp for y0(10.222345043496416) = 2.44889428938064465e-16) 4420103514667.89844 ulp for y0(13.361097473872757) = -1.40597070447763753e-15) 2824879528253.03027 ulp for y0(16.5009224415280897) = 2.002175910375173e-16) result of y1 is never more precise than double 20 largest ulp errors (stored in a double) nan ulp for y1(-2.22507385850720188e-308) = nan) nan ulp for y1(-2.22507385850720138e-308) = nan) 5557275141094985.00000 ulp for y1(2.19714132603101708) = 4.22577429547150317e-17) 2968901295769475.00000 ulp for y1(11.7491548308398812) = 9.13696548375149517e-18) 300261587981486.12500 ulp for y1(5.4296810407941356) = -1.6800729969447571e-16) 219791571341158.75000 ulp for y1(2.19714132603101664) = -2.00724279034896405e-16) 157873329579245.21875 ulp for y1(5.42968104079413472) = 1.37765985749470099e-16) 103969502513396.92188 ulp for y1(30.6182864916411148) = -1.55649435676229031e-17) 57880301873960.54688 ulp for y1(2.19714132603101486) = -1.119830188299949e-15) 55451412736745.93750 ulp for y1(14.897442128336726) = 1.26785465731639685e-16) 51820020070927.69531 ulp for y1(24.3319425713569117) = 4.72219465345966655e-17) 40149044256901.60938 ulp for y1(18.043402276727857) = -2.74184604197391083e-16) 36963674555727.21094 ulp for y1(8.59600586833117042) = 4.03249559929469549e-16) 29426675934809.77344 ulp for y1(43.1882180973932108) = 5.39114790886187308e-17) 24961953077354.48047 ulp for y1(8.59600586833116864) = -7.74452797215537627e-17) 18881325214199.20703 ulp for y1(14.8974421283367242) = -2.42413810478895153e-16) 16983762551543.88477 ulp for y1(52.6145507671729575) = -2.98191088155093179e-17) 16691894372420.57031 ulp for y1(5.42968104079413116) = 1.34741854354969597e-15) 15197192093824.64844 ulp for y1(2.19714132603100687) = -5.28221786933939098e-15) 13289638901809.54492 ulp for y1(5.42968104079414271) = -2.58395226930103462e-15) ===> lgamma ==== run-regress-lgamma ==== cc -o lgamma lgamma.o -lm ./lgamma ===> nextafter ==== run-regress-nextafter ==== cc -o nextafter nextafter.o -lm ./nextafter ===> msun ==== run-cexp_test ==== cc -o cexp_test cexp_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./cexp_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=cexp_test NUMBERS="$tnumbers" regress 1..7 ==== run-cexp_test-1 ==== 1 ./cexp_test -r 1 cexp_test.c:113: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-1') EXPECTED_FAIL ==== cleanup-cexp_test-1 ==== ./cexp_test -c 1 ==== run-cexp_test-2 ==== 2 ./cexp_test -r 2 cexp_test.c:132: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10) & ~0x01))' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-2') EXPECTED_FAIL ==== cleanup-cexp_test-2 ==== ./cexp_test -c 2 ==== run-cexp_test-3 ==== 3 ./cexp_test -r 3 cexp_test.c:168: '((0x01)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-3') EXPECTED_FAIL ==== cleanup-cexp_test-3 ==== ./cexp_test -c 3 ==== run-cexp_test-4 ==== 4 ./cexp_test -r 4 cexp_test.c:210: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-4') EXPECTED_FAIL ==== cleanup-cexp_test-4 ==== ./cexp_test -c 4 ==== run-cexp_test-5 ==== 5 ./cexp_test -r 5 ==== cleanup-cexp_test-5 ==== ./cexp_test -c 5 ==== run-cexp_test-6 ==== 6 ./cexp_test -r 6 ==== cleanup-cexp_test-6 ==== ./cexp_test -c 6 ==== run-cexp_test-7 ==== 7 ./cexp_test -r 7 cexp_test.c:279: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-cexp_test-7') EXPECTED_FAIL ==== cleanup-cexp_test-7 ==== ./cexp_test -c 7 ==== run-conj_test ==== cc -o conj_test conj_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./conj_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=conj_test NUMBERS="$tnumbers" regress 1..1 ==== run-conj_test-1 ==== 1 ./conj_test -r 1 ==== cleanup-conj_test-1 ==== ./conj_test -c 1 ==== run-csqrt_test ==== cc -o csqrt_test csqrt_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./csqrt_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=csqrt_test NUMBERS="$tnumbers" regress 1..3 ==== run-csqrt_test-1 ==== 1 ./csqrt_test -r 1 csqrt_test.c:165: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-csqrt_test-1') EXPECTED_FAIL ==== cleanup-csqrt_test-1 ==== ./csqrt_test -c 1 ==== run-csqrt_test-2 ==== 2 ./csqrt_test -r 2 csqrt_test.c:126: 't_csqrt(CMPLXL(a, b)) == CMPLXL(x, y)' evaluated to false *** Error 1 in msun (Makefile:153 'run-csqrt_test-2') EXPECTED_FAIL ==== cleanup-csqrt_test-2 ==== ./csqrt_test -c 2 ==== run-csqrt_test-3 ==== 3 ./csqrt_test -r 3 csqrt_test.c:165: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-csqrt_test-3') EXPECTED_FAIL ==== cleanup-csqrt_test-3 ==== ./csqrt_test -c 3 ==== run-ctrig_test ==== cc -o ctrig_test ctrig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./ctrig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=ctrig_test NUMBERS="$tnumbers" regress 1..6 ==== run-ctrig_test-1 ==== 1 test 0 input ./ctrig_test -r 1 ctrig_test.c:143: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-1') EXPECTED_FAIL ==== cleanup-ctrig_test-1 ==== ./ctrig_test -c 1 ==== run-ctrig_test-2 ==== 2 test NaN inputs ./ctrig_test -r 2 ctrig_test.c:180: '_e == (0)' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-2') EXPECTED_FAIL ==== cleanup-ctrig_test-2 ==== ./ctrig_test -c 2 ==== run-ctrig_test-3 ==== 3 test infinity inputs ./ctrig_test -r 3 ctrig_test.c:254: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-3') EXPECTED_FAIL ==== cleanup-ctrig_test-3 ==== ./ctrig_test -c 3 ==== run-ctrig_test-4 ==== 4 test along the real/imaginary axes ./ctrig_test -r 4 0x1.921fb54442d18p-1 0x0p+0 0x1.4fc442p-1 0x0p+0 0x1.4fc446p-1 0x1.921fb54442d18p+0 0x0p+0 0x1.d594fcp-1 0x0p+0 0x1.d595p-1 ctrig_test.c:346: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-4') EXPECTED_FAIL ==== cleanup-ctrig_test-4 ==== ./ctrig_test -c 4 ==== run-ctrig_test-5 ==== 5 test underflow inputs ./ctrig_test -r 5 ==== cleanup-ctrig_test-5 ==== ./ctrig_test -c 5 ==== run-ctrig_test-6 ==== 6 Test inputs that might cause overflow in a sloppy implementation ./ctrig_test -r 6 ctrig_test.c:455: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-ctrig_test-6') EXPECTED_FAIL ==== cleanup-ctrig_test-6 ==== ./ctrig_test -c 6 ==== run-exponential_test ==== cc -o exponential_test exponential_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./exponential_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=exponential_test NUMBERS="$tnumbers" regress 1..4 ==== run-exponential_test-1 ==== 1 ./exponential_test -r 1 exponential_test.c:116: '((0x08)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10) & ~0x20))' evaluated to false *** Error 1 in msun (Makefile:153 'run-exponential_test-1') EXPECTED_FAIL ==== cleanup-exponential_test-1 ==== ./exponential_test -c 1 ==== run-exponential_test-2 ==== 2 ./exponential_test -r 2 ==== cleanup-exponential_test-2 ==== ./exponential_test -c 2 ==== run-exponential_test-3 ==== 3 ./exponential_test -r 3 ==== cleanup-exponential_test-3 ==== ./exponential_test -c 3 ==== run-exponential_test-4 ==== 4 ./exponential_test -r 4 ==== cleanup-exponential_test-4 ==== ./exponential_test -c 4 ==== run-fenv_test ==== cc -o fenv_test fenv_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./fenv_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=fenv_test NUMBERS="$tnumbers" regress 1..8 ==== run-fenv_test-1 ==== 1 ./fenv_test -r 1 ==== cleanup-fenv_test-1 ==== ./fenv_test -c 1 ==== run-fenv_test-2 ==== 2 ./fenv_test -r 2 ==== cleanup-fenv_test-2 ==== ./fenv_test -c 2 ==== run-fenv_test-3 ==== 3 ./fenv_test -r 3 ==== cleanup-fenv_test-3 ==== ./fenv_test -c 3 ==== run-fenv_test-4 ==== 4 ./fenv_test -r 4 ==== cleanup-fenv_test-4 ==== ./fenv_test -c 4 ==== run-fenv_test-5 ==== 5 ./fenv_test -r 5 ==== cleanup-fenv_test-5 ==== ./fenv_test -c 5 ==== run-fenv_test-6 ==== 6 ./fenv_test -r 6 ==== cleanup-fenv_test-6 ==== ./fenv_test -c 6 ==== run-fenv_test-7 ==== 7 ./fenv_test -r 7 ==== cleanup-fenv_test-7 ==== ./fenv_test -c 7 ==== run-fenv_test-8 ==== 8 ./fenv_test -r 8 ==== cleanup-fenv_test-8 ==== ./fenv_test -c 8 ==== run-fma_test ==== cc -o fma_test fma_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./fma_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=fma_test NUMBERS="$tnumbers" regress 1..7 ==== run-fma_test-1 ==== 1 ./fma_test -r 1 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-1 ==== ./fma_test -c 1 ==== run-fma_test-2 ==== 2 ./fma_test -r 2 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-2 ==== ./fma_test -c 2 ==== run-fma_test-3 ==== 3 ./fma_test -r 3 ==== cleanup-fma_test-3 ==== ./fma_test -c 3 ==== run-fma_test-4 ==== 4 ./fma_test -r 4 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-4 ==== ./fma_test -c 4 ==== run-fma_test-5 ==== 5 ./fma_test -r 5 rmode = 0 rmode = 2048 rmode = 1024 rmode = 3072 ==== cleanup-fma_test-5 ==== ./fma_test -c 5 ==== run-fma_test-6 ==== 6 ./fma_test -r 6 ==== cleanup-fma_test-6 ==== ./fma_test -c 6 ==== run-fma_test-7 ==== 7 ./fma_test -r 7 fma_test.c:437: 'fpequal_cs(_x, _y, 1)' evaluated to false *** Error 1 in msun (Makefile:153 'run-fma_test-7') EXPECTED_FAIL ==== cleanup-fma_test-7 ==== ./fma_test -c 7 ==== run-fmaxmin_test ==== cc -o fmaxmin_test fmaxmin_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./fmaxmin_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=fmaxmin_test NUMBERS="$tnumbers" regress 1..12 ==== run-fmaxmin_test-1 ==== 1 ./fmaxmin_test -r 1 ==== cleanup-fmaxmin_test-1 ==== ./fmaxmin_test -c 1 ==== run-fmaxmin_test-2 ==== 2 ./fmaxmin_test -r 2 ==== cleanup-fmaxmin_test-2 ==== ./fmaxmin_test -c 2 ==== run-fmaxmin_test-3 ==== 3 ./fmaxmin_test -r 3 ==== cleanup-fmaxmin_test-3 ==== ./fmaxmin_test -c 3 ==== run-fmaxmin_test-4 ==== 4 ./fmaxmin_test -r 4 ==== cleanup-fmaxmin_test-4 ==== ./fmaxmin_test -c 4 ==== run-fmaxmin_test-5 ==== 5 ./fmaxmin_test -r 5 ==== cleanup-fmaxmin_test-5 ==== ./fmaxmin_test -c 5 ==== run-fmaxmin_test-6 ==== 6 ./fmaxmin_test -r 6 ==== cleanup-fmaxmin_test-6 ==== ./fmaxmin_test -c 6 ==== run-fmaxmin_test-7 ==== 7 ./fmaxmin_test -r 7 ==== cleanup-fmaxmin_test-7 ==== ./fmaxmin_test -c 7 ==== run-fmaxmin_test-8 ==== 8 ./fmaxmin_test -r 8 ==== cleanup-fmaxmin_test-8 ==== ./fmaxmin_test -c 8 ==== run-fmaxmin_test-9 ==== 9 ./fmaxmin_test -r 9 ==== cleanup-fmaxmin_test-9 ==== ./fmaxmin_test -c 9 ==== run-fmaxmin_test-10 ==== 10 ./fmaxmin_test -r 10 ==== cleanup-fmaxmin_test-10 ==== ./fmaxmin_test -c 10 ==== run-fmaxmin_test-11 ==== 11 ./fmaxmin_test -r 11 ==== cleanup-fmaxmin_test-11 ==== ./fmaxmin_test -c 11 ==== run-fmaxmin_test-12 ==== 12 ./fmaxmin_test -r 12 ==== cleanup-fmaxmin_test-12 ==== ./fmaxmin_test -c 12 ==== run-ilogb_test ==== cc -o ilogb_test ilogb_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./ilogb_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=ilogb_test NUMBERS="$tnumbers" regress 1..3 ==== run-ilogb_test-1 ==== 1 ./ilogb_test -r 1 ==== cleanup-ilogb_test-1 ==== ./ilogb_test -c 1 ==== run-ilogb_test-2 ==== 2 ./ilogb_test -r 2 ==== cleanup-ilogb_test-2 ==== ./ilogb_test -c 2 ==== run-ilogb_test-3 ==== 3 ./ilogb_test -r 3 ==== cleanup-ilogb_test-3 ==== ./ilogb_test -c 3 ==== run-invctrig_test ==== cc -o invctrig_test invctrig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./invctrig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=invctrig_test NUMBERS="$tnumbers" regress 1..6 ==== run-invctrig_test-1 ==== 1 ./invctrig_test -r 1 invctrig_test.c:136: 'equal_cs' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-1') EXPECTED_FAIL ==== cleanup-invctrig_test-1 ==== ./invctrig_test -c 1 ==== run-invctrig_test-2 ==== 2 ./invctrig_test -r 2 invctrig_test.c:165: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-2') EXPECTED_FAIL ==== cleanup-invctrig_test-2 ==== ./invctrig_test -c 2 ==== run-invctrig_test-3 ==== 3 ./invctrig_test -r 3 invctrig_test.c:239: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-3') EXPECTED_FAIL ==== cleanup-invctrig_test-3 ==== ./invctrig_test -c 3 ==== run-invctrig_test-4 ==== 4 ./invctrig_test -r 4 invctrig_test.c:292: 'equal_tol' evaluated to false *** Error 1 in msun (Makefile:153 'run-invctrig_test-4') EXPECTED_FAIL ==== cleanup-invctrig_test-4 ==== ./invctrig_test -c 4 ==== run-invctrig_test-5 ==== 5 ./invctrig_test -r 5 ==== cleanup-invctrig_test-5 ==== ./invctrig_test -c 5 ==== run-invctrig_test-6 ==== 6 ./invctrig_test -r 6 ==== cleanup-invctrig_test-6 ==== ./invctrig_test -c 6 ==== run-invtrig_test ==== cc -o invtrig_test invtrig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./invtrig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=invtrig_test NUMBERS="$tnumbers" regress 1..7 ==== run-invtrig_test-1 ==== 1 ./invtrig_test -r 1 invtrig_test.c:132: '((((0x20)))) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-1') EXPECTED_FAIL ==== cleanup-invtrig_test-1 ==== ./invtrig_test -c 1 ==== run-invtrig_test-2 ==== 2 ./invtrig_test -r 2 invtrig_test.c:160: 'eq' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-2') EXPECTED_FAIL ==== cleanup-invtrig_test-2 ==== ./invtrig_test -c 2 ==== run-invtrig_test-3 ==== 3 ./invtrig_test -r 3 invtrig_test.c:249: '((((0x20)))) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-3') EXPECTED_FAIL ==== cleanup-invtrig_test-3 ==== ./invtrig_test -c 3 ==== run-invtrig_test-4 ==== 4 ./invtrig_test -r 4 ==== cleanup-invtrig_test-4 ==== ./invtrig_test -c 4 ==== run-invtrig_test-5 ==== 5 ./invtrig_test -r 5 invtrig_test.c:307: '((((0x20)))) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-5') EXPECTED_FAIL ==== cleanup-invtrig_test-5 ==== ./invtrig_test -c 5 ==== run-invtrig_test-6 ==== 6 ./invtrig_test -r 6 invtrig_test.c:345: 'eq' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-6') EXPECTED_FAIL ==== cleanup-invtrig_test-6 ==== ./invtrig_test -c 6 ==== run-invtrig_test-7 ==== 7 ./invtrig_test -r 7 invtrig_test.c:438: 'eq' evaluated to false *** Error 1 in msun (Makefile:153 'run-invtrig_test-7') EXPECTED_FAIL ==== cleanup-invtrig_test-7 ==== ./invtrig_test -c 7 ==== run-logarithm_test ==== cc -o logarithm_test logarithm_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./logarithm_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=logarithm_test NUMBERS="$tnumbers" regress 1..5 ==== run-logarithm_test-1 ==== 1 ./logarithm_test -r 1 logarithm_test.c:106: '((0)) == (fetestexcept((0x04 | 0x20 | 0x01 | 0x08 | 0x10)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-logarithm_test-1') EXPECTED_FAIL ==== cleanup-logarithm_test-1 ==== ./logarithm_test -c 1 ==== run-logarithm_test-2 ==== 2 ./logarithm_test -r 2 ==== cleanup-logarithm_test-2 ==== ./logarithm_test -c 2 ==== run-logarithm_test-3 ==== 3 ./logarithm_test -r 3 ==== cleanup-logarithm_test-3 ==== ./logarithm_test -c 3 ==== run-logarithm_test-4 ==== 4 ./logarithm_test -r 4 ==== cleanup-logarithm_test-4 ==== ./logarithm_test -c 4 ==== run-logarithm_test-5 ==== 5 ./logarithm_test -r 5 ==== cleanup-logarithm_test-5 ==== ./logarithm_test -c 5 ==== run-lrint_test ==== cc -o lrint_test lrint_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./lrint_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=lrint_test NUMBERS="$tnumbers" regress 1..1 ==== run-lrint_test-1 ==== 1 ./lrint_test -r 1 ==== cleanup-lrint_test-1 ==== ./lrint_test -c 1 ==== run-lround_test ==== cc -o lround_test lround_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./lround_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=lround_test NUMBERS="$tnumbers" regress 1..1 ==== run-lround_test-1 ==== 1 ./lround_test -r 1 lround_test.c:71: '((0x20)) == (fetestexcept((0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20)))' evaluated to false *** Error 1 in msun (Makefile:153 'run-lround_test-1') EXPECTED_FAIL ==== cleanup-lround_test-1 ==== ./lround_test -c 1 ==== run-nan_test ==== cc -o nan_test nan_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./nan_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=nan_test NUMBERS="$tnumbers" regress 1..1 ==== run-nan_test-1 ==== 1 ./nan_test -r 1 nan_test.c:72: 'sscanf(nan_str, "%e", &af[2]) == 1' evaluated to false *** Error 1 in msun (Makefile:153 'run-nan_test-1') EXPECTED_FAIL ==== cleanup-nan_test-1 ==== ./nan_test -c 1 ==== run-nearbyint_test ==== cc -o nearbyint_test nearbyint_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./nearbyint_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=nearbyint_test NUMBERS="$tnumbers" regress 1..1 ==== run-nearbyint_test-1 ==== 1 ./nearbyint_test -r 1 nearbyint_test.c:147: 'fpequal_cs(_x, _y, 1)' evaluated to false *** Error 1 in msun (Makefile:153 'run-nearbyint_test-1') EXPECTED_FAIL ==== cleanup-nearbyint_test-1 ==== ./nearbyint_test -c 1 ==== run-next_test ==== cc -o next_test next_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./next_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=next_test NUMBERS="$tnumbers" regress 1..5 ==== run-next_test-1 ==== 1 ./next_test -r 1 next_test: next_test.c:121 nexttoward(0.0, INFINITY) returned inf, expecting 0x8p-1077 *** Error 1 in msun (Makefile:153 'run-next_test-1') EXPECTED_FAIL ==== cleanup-next_test-1 ==== ./next_test -c 1 ==== run-next_test-2 ==== 2 ./next_test -r 2 next_test: next_test.c:149 nexttoward((1.0), (-__builtin_inff())) returned -inf, expecting 0xf.ffffffffffff8p-4 *** Error 1 in msun (Makefile:153 'run-next_test-2') EXPECTED_FAIL ==== cleanup-next_test-2 ==== ./next_test -c 2 ==== run-next_test-3 ==== 3 ./next_test -r 3 ==== cleanup-next_test-3 ==== ./next_test -c 3 ==== run-next_test-4 ==== 4 ./next_test -r 4 next_test: next_test.c:174 nexttoward((0x1.87654ffffffffp+0), (__builtin_inff())) returned inf, expecting 0xc.3b2a8p-3 *** Error 1 in msun (Makefile:153 'run-next_test-4') EXPECTED_FAIL ==== cleanup-next_test-4 ==== ./next_test -c 4 ==== run-next_test-5 ==== 5 ./next_test -r 5 next_test: next_test.c:239 idf(nexttowardf(INFINITY, FLT_MAX * 2.0)) returned inf, expecting 0xf.fffffp+124 *** Error 1 in msun (Makefile:153 'run-next_test-5') EXPECTED_FAIL ==== cleanup-next_test-5 ==== ./next_test -c 5 ==== run-rem_test ==== cc -o rem_test rem_test.o atf-c.o fls.o -lm ulimit -c unlimited && ntests="`./rem_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=rem_test NUMBERS="$tnumbers" regress 1..3 ==== run-rem_test-1 ==== 1 ./rem_test -r 1 ==== cleanup-rem_test-1 ==== ./rem_test -c 1 ==== run-rem_test-2 ==== 2 ./rem_test -r 2 ==== cleanup-rem_test-2 ==== ./rem_test -c 2 ==== run-rem_test-3 ==== 3 ./rem_test -r 3 rem_test.c:154: '(q ^ expected_quo) >= 0' evaluated to false *** Error 1 in msun (Makefile:153 'run-rem_test-3') EXPECTED_FAIL ==== cleanup-rem_test-3 ==== ./rem_test -c 3 ==== run-trig_test ==== cc -o trig_test trig_test.o atf-c.o -lm ulimit -c unlimited && ntests="`./trig_test -n`" && echo "1..$ntests" && tnumbers="`jot -ns' ' - 1 $ntests`" && make -C /usr/src/regress/lib/libm/msun PROG=trig_test NUMBERS="$tnumbers" regress 1..3 ==== run-trig_test-1 ==== 1 test special cases in sin(), cos(), and tan() ./trig_test -r 1 ==== cleanup-trig_test-1 ==== ./trig_test -c 1 ==== run-trig_test-2 ==== 2 tests the accuracy of these functions over the primary range ./trig_test -r 2 ==== cleanup-trig_test-2 ==== ./trig_test -c 2 ==== run-trig_test-3 ==== 3 tests to ensure argument reduction for large arguments is accurate ./trig_test -r 3 ==== cleanup-trig_test-3 ==== ./trig_test -c 3 ===> rint ==== run-regress-rint ==== cc -o rint rint.o -lm ./rint ===> round ==== run-regress-round ==== cc -o round round.o -lm ./round ===> tgamma ==== run-regress-tgamma ==== cc -o tgamma tgamma.o -lm ./tgamma ===> toint ==== run-regress-toint ==== ./toint ===> trivial1 ==== test-fp ==== perl /usr/src/regress/lib/libm/trivial1/test-fp.pl | diff -u - /usr/src/regress/lib/libm/trivial1/test-fp.out