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

Reply via email to