Greg Steuck <gne...@openbsd.org> writes: > This failure can be reduced to a trivial program which does change > its behavior for the worse if s_cos.S is taken out: > > #include <math.h> > #include <stdio.h> > > int main(int a, char**b) { > double y = -0.34061437849088045332; > printf("cos(%lf)=%le delta=%e\n", y, cos(y), 0.94254960031831729956 - > cos(y)); > } > > In HEAD: > > cos(-0.340614)=9.425496e-01 delta=-1.110223e-16 > > while with the patch below: > > cos(-0.340614)=9.425496e-01 delta=0.000000e+00
As Daniel noted, I swapped the cases. The HEAD is at 0.0 delta whereas the patch used to make it worse. 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. With the two patches things look almost universally better in regress/libm. I attached both logs from amd64. Anybody has ideas for other tests that make sense to do? Maybe people can help me run regress on less common platforms? Thanks Greg >From a0b065bd3f5d48786f77f654dfb53cbf2617b0b3 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/2] 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 7461948f0e7ff41e5b3b9288d98edf13cb296742 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/2] 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 1d6e9530c24..6f8bddf1831 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
===> 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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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 ctrig_test.c:325: 'equal_tol' evaluated to false 0x1.921fb54442d18p-1 0x0p+0 0x1.4fc442p-1 0x0p+0 0x1.4fc446p-1 *** Error 1 in msun (Makefile:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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 -O2 -pipe -MD -MP -c exp.c cc -o exp exp.o -lm ./exp ===> fenv ==== run-regress-fenv ==== cc -O2 -pipe -MD -MP -c fenv.c 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 -O2 -pipe -MD -MP -c floor.c cc -o floor floor.o -lm ./floor ===> fpaccuracy ==== run-regress-fpaccuracy ==== cc -O2 -pipe -MD -MP -c Gamma.c cc -O2 -pipe -MD -MP -c INV.c cc -O2 -pipe -MD -MP -c Pix.c cc -O2 -pipe -MD -MP -c acos.c cc -O2 -pipe -MD -MP -c acosh.c cc -O2 -pipe -MD -MP -c asin.c cc -O2 -pipe -MD -MP -c asinh.c cc -O2 -pipe -MD -MP -c atan.c cc -O2 -pipe -MD -MP -c atanh.c cc -O2 -pipe -MD -MP -c cos.c cc -O2 -pipe -MD -MP -c cosh.c cc -O2 -pipe -MD -MP -c erf.c cc -O2 -pipe -MD -MP -c erfc.c cc -O2 -pipe -MD -MP -c exp.c cc -O2 -pipe -MD -MP -c fpaccuracy.c cc -O2 -pipe -MD -MP -c j0.c cc -O2 -pipe -MD -MP -c j1.c cc -O2 -pipe -MD -MP -c lgamma.c cc -O2 -pipe -MD -MP -c log.c cc -O2 -pipe -MD -MP -c log10.c cc -O2 -pipe -MD -MP -c pow2_x.c cc -O2 -pipe -MD -MP -c powx_275.c cc -O2 -pipe -MD -MP -c sin.c cc -O2 -pipe -MD -MP -c sincos.c cc -O2 -pipe -MD -MP -c sincos2.c cc -O2 -pipe -MD -MP -c sinh.c cc -O2 -pipe -MD -MP -c sqrt.c cc -O2 -pipe -MD -MP -c tan.c cc -O2 -pipe -MD -MP -c tanh.c cc -O2 -pipe -MD -MP -c y0.c cc -O2 -pipe -MD -MP -c y1.c 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 -O2 -pipe -MD -MP -c lgamma.c cc -o lgamma lgamma.o -lm ./lgamma ===> nextafter ==== run-regress-nextafter ==== cc -O2 -pipe -MD -MP -c nextafter.c 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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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 ctrig_test.c:346: 'equal_tol' evaluated to false 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 *** Error 1 in msun (Makefile:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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:144 '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 -O2 -pipe -MD -MP -c rint.c cc -o rint rint.o -lm ./rint ===> round ==== run-regress-round ==== cc -O2 -pipe -MD -MP -c round.c cc -o round round.o -lm ./round ===> tgamma ==== run-regress-tgamma ==== cc -O2 -pipe -MD -MP -c tgamma.c cc -o tgamma tgamma.o -lm ./tgamma ===> toint ==== run-regress-toint ==== cc -O2 -pipe -MD -MP -c toint.c cc -o toint toint.o ./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