@@ -660,6 +660,51 @@ clog -0xa.7ac41a0b417cb8fp-4 -0x6.c5a32eaeedd4p-4
clog 0x3.c16p-136 0x8p-152
clog -0x1.0a69de710590dp+0 -0x7.bc7e121e2b0d1088p-4
+clog -0x2.7bdep-4 0x5.ab7a4p-4
+clog -0xb.e1d3d0ff44358p-4 -0x7.54785e1b143f8p-4
+clog 0x3.ba473p+0 0x7.eea9ap-4
+clog 0x9.d02220baee4ep+36 0x2.b9a29cp+0
+clog -0x5.1a5cf8p-4 -0xb.73012p-4
+clog -0xa.ff292a609dbb8p-4 0x6.f73d4cp-4
+clog -0x5.1a5cfc2301114p-4 -0xb.730118p-4
+clog 0xb.ffffcp-4 0x7.ffff1p-4
+clog 0xb.ffffp-4 0x7.ffffap-4
+clog 0xb.ffffp-4 0x7.fffff8p-4
+clog 0xb.ffffp-4 0x7.ffffp-4
+clog 0xb.fffffp-4 0x7.ffff68p-4
+clog 0xb.fffffp-4 0x7.ffffp-4
+clog 0xb.ffff8p-4 0x7.ffffcp-4
+clog 0xb.ffffp-4 0x7.ffffcp-4
+clog 0xb.ffffp-4 0x7.ffffb8p-4
+clog 0xb.ffffp-4 0x7.ffff7p-4
+clog 0xb.ffffp-4 0x7.ffff5p-4
+clog 0xb.fffffffffff7p-4 0x7.fffff8p-4
+clog 0xb.fffffffffff08p-4 0x7.fffffffffffdp-4
+clog 0xb.fffffffffff08p-4 0x7.fffffffffff9p-4
+clog 0xb.fffffffffffp-4 0x7.fffffffffffdcp-4
+clog 0xb.fffffp-4 0x7.ffffffffffff4p-4
+clog 0xb.fffffffffffp-4 0x7.fffffffffffecp-4
+clog 0xb.fffffffffff8p-4 0x7.fffff8p-4
+clog 0x8p-152 -0x1.10233ap+0
+clog 0xa.03634p-4 -0x4.7bb918p-20
+clog -0x5.e23d2p-4 0x8.525df889c21ap-4
+clog 0x9.8ce58p-4 -0x8p-152
+clog 0x8p-152 0x9.2af75p-4
+clog 0x9.97a15de8e59d8p-4 -0
+clog -0x4.74556ec92eb4746p-4 0x1.1e7aa1d936f6efe6p+0
+clog 0x9.97a15de8e59d8p-4 -0
+clog -0x9.7f1d7p-64 0x9.db37dp-4
+clog -0x8.5efc4p-4 -0x5.40310cp-4
+clog -0x9.0b459p-4 0
+clog -0x6.a9419e9b30e68p-4 -0x6.262c7p-4
+clog 0x5.2767cdfdfbf2p-4 0x7.69ee98p-4
+clog -0x9.f5563cb3227d8p-4 0
+clog -0x9.5a284p-4 0x6.899578p-8
+clog 0xa.3e62bp-4 0x1.18c03p-100
+clog 0 -0x9.22a99p-4
+clog 0 0x9.7915bp-4
+clog 0x3.00d1ap-12 0x1.23ff6ap+0
+
clog 0x1.fffffep+127 0x1.fffffep+127
clog 0x1.fffffep+127 1.0
clog 0x1p-149 0x1p-149
@@ -808,6 +853,51 @@ clog10 -0xa.7ac41a0b417cb8fp-4 -0x6.c5a32eaeedd4p-4
clog10 0x3.c16p-136 0x8p-152
clog10 -0x1.0a69de710590dp+0 -0x7.bc7e121e2b0d1088p-4
+clog10 -0x2.7bdep-4 0x5.ab7a4p-4
+clog10 -0xb.e1d3d0ff44358p-4 -0x7.54785e1b143f8p-4
+clog10 0x3.ba473p+0 0x7.eea9ap-4
+clog10 0x9.d02220baee4ep+36 0x2.b9a29cp+0
+clog10 -0x5.1a5cf8p-4 -0xb.73012p-4
+clog10 -0xa.ff292a609dbb8p-4 0x6.f73d4cp-4
+clog10 -0x5.1a5cfc2301114p-4 -0xb.730118p-4
+clog10 0xb.ffffcp-4 0x7.ffff1p-4
+clog10 0xb.ffffp-4 0x7.ffffap-4
+clog10 0xb.ffffp-4 0x7.fffff8p-4
+clog10 0xb.ffffp-4 0x7.ffffp-4
+clog10 0xb.fffffp-4 0x7.ffff68p-4
+clog10 0xb.fffffp-4 0x7.ffffp-4
+clog10 0xb.ffff8p-4 0x7.ffffcp-4
+clog10 0xb.ffffp-4 0x7.ffffcp-4
+clog10 0xb.ffffp-4 0x7.ffffb8p-4
+clog10 0xb.ffffp-4 0x7.ffff7p-4
+clog10 0xb.ffffp-4 0x7.ffff5p-4
+clog10 0xb.fffffffffff7p-4 0x7.fffff8p-4
+clog10 0xb.fffffffffff08p-4 0x7.fffffffffffdp-4
+clog10 0xb.fffffffffff08p-4 0x7.fffffffffff9p-4
+clog10 0xb.fffffffffffp-4 0x7.fffffffffffdcp-4
+clog10 0xb.fffffp-4 0x7.ffffffffffff4p-4
+clog10 0xb.fffffffffffp-4 0x7.fffffffffffecp-4
+clog10 0xb.fffffffffff8p-4 0x7.fffff8p-4
+clog10 0x8p-152 -0x1.10233ap+0
+clog10 0xa.03634p-4 -0x4.7bb918p-20
+clog10 -0x5.e23d2p-4 0x8.525df889c21ap-4
+clog10 0x9.8ce58p-4 -0x8p-152
+clog10 0x8p-152 0x9.2af75p-4
+clog10 0x9.97a15de8e59d8p-4 -0
+clog10 -0x4.74556ec92eb4746p-4 0x1.1e7aa1d936f6efe6p+0
+clog10 0x9.97a15de8e59d8p-4 -0
+clog10 -0x9.7f1d7p-64 0x9.db37dp-4
+clog10 -0x8.5efc4p-4 -0x5.40310cp-4
+clog10 -0x9.0b459p-4 0
+clog10 -0x6.a9419e9b30e68p-4 -0x6.262c7p-4
+clog10 0x5.2767cdfdfbf2p-4 0x7.69ee98p-4
+clog10 -0x9.f5563cb3227d8p-4 0
+clog10 -0x9.5a284p-4 0x6.899578p-8
+clog10 0xa.3e62bp-4 0x1.18c03p-100
+clog10 0 -0x9.22a99p-4
+clog10 0 0x9.7915bp-4
+clog10 0x3.00d1ap-12 0x1.23ff6ap+0
+
clog10 0x1.fffffep+127 0x1.fffffep+127
clog10 0x1.fffffep+127 1.0
clog10 0x1p-149 0x1p-149
@@ -76,14 +76,17 @@ __clog (__complex__ double x)
__real__ result = __log1p (d2m1) / 2.0;
}
else if (absx < 1.0
- && absx >= 0.75
+ && absx >= 0.5
&& absy < DBL_EPSILON / 2.0
&& scale == 0)
{
double d2m1 = (absx - 1.0) * (absx + 1.0);
__real__ result = __log1p (d2m1) / 2.0;
}
- else if (absx < 1.0 && (absx >= 0.75 || absy >= 0.5) && scale == 0)
+ else if (absx < 1.0
+ && absx >= 0.5
+ && scale == 0
+ && absx * absx + absy * absy >= 0.5)
{
double d2m1 = __x2y2m1 (absx, absy);
__real__ result = __log1p (d2m1) / 2.0;
@@ -82,14 +82,17 @@ __clog10 (__complex__ double x)
__real__ result = __log1p (d2m1) * (M_LOG10E / 2.0);
}
else if (absx < 1.0
- && absx >= 0.75
+ && absx >= 0.5
&& absy < DBL_EPSILON / 2.0
&& scale == 0)
{
double d2m1 = (absx - 1.0) * (absx + 1.0);
__real__ result = __log1p (d2m1) * (M_LOG10E / 2.0);
}
- else if (absx < 1.0 && (absx >= 0.75 || absy >= 0.5) && scale == 0)
+ else if (absx < 1.0
+ && absx >= 0.5
+ && scale == 0
+ && absx * absx + absy * absy >= 0.5)
{
double d2m1 = __x2y2m1 (absx, absy);
__real__ result = __log1p (d2m1) * (M_LOG10E / 2.0);
@@ -82,14 +82,17 @@ __clog10f (__complex__ float x)
__real__ result = __log1pf (d2m1) * ((float) M_LOG10E / 2.0f);
}
else if (absx < 1.0f
- && absx >= 0.75f
+ && absx >= 0.5f
&& absy < FLT_EPSILON / 2.0f
&& scale == 0)
{
float d2m1 = (absx - 1.0f) * (absx + 1.0f);
__real__ result = __log1pf (d2m1) * ((float) M_LOG10E / 2.0f);
}
- else if (absx < 1.0f && (absx >= 0.75f || absy >= 0.5f) && scale == 0)
+ else if (absx < 1.0f
+ && absx >= 0.5f
+ && scale == 0
+ && absx * absx + absy * absy >= 0.5f)
{
float d2m1 = __x2y2m1f (absx, absy);
__real__ result = __log1pf (d2m1) * ((float) M_LOG10E / 2.0f);
@@ -89,14 +89,17 @@ __clog10l (__complex__ long double x)
__real__ result = __log1pl (d2m1) * (M_LOG10El / 2.0L);
}
else if (absx < 1.0L
- && absx >= 0.75L
+ && absx >= 0.5L
&& absy < LDBL_EPSILON / 2.0L
&& scale == 0)
{
long double d2m1 = (absx - 1.0L) * (absx + 1.0L);
__real__ result = __log1pl (d2m1) * (M_LOG10El / 2.0L);
}
- else if (absx < 1.0L && (absx >= 0.75L || absy >= 0.5L) && scale == 0)
+ else if (absx < 1.0L
+ && absx >= 0.5L
+ && scale == 0
+ && absx * absx + absy * absy >= 0.5L)
{
long double d2m1 = __x2y2m1l (absx, absy);
__real__ result = __log1pl (d2m1) * (M_LOG10El / 2.0L);
@@ -76,14 +76,17 @@ __clogf (__complex__ float x)
__real__ result = __log1pf (d2m1) / 2.0f;
}
else if (absx < 1.0f
- && absx >= 0.75f
+ && absx >= 0.5f
&& absy < FLT_EPSILON / 2.0f
&& scale == 0)
{
float d2m1 = (absx - 1.0f) * (absx + 1.0f);
__real__ result = __log1pf (d2m1) / 2.0f;
}
- else if (absx < 1.0f && (absx >= 0.75f || absy >= 0.5f) && scale == 0)
+ else if (absx < 1.0f
+ && absx >= 0.5f
+ && scale == 0
+ && absx * absx + absy * absy >= 0.5f)
{
float d2m1 = __x2y2m1f (absx, absy);
__real__ result = __log1pf (d2m1) / 2.0f;
@@ -83,14 +83,17 @@ __clogl (__complex__ long double x)
__real__ result = __log1pl (d2m1) / 2.0L;
}
else if (absx < 1.0L
- && absx >= 0.75L
+ && absx >= 0.5L
&& absy < LDBL_EPSILON / 2.0L
&& scale == 0)
{
long double d2m1 = (absx - 1.0L) * (absx + 1.0L);
__real__ result = __log1pl (d2m1) / 2.0L;
}
- else if (absx < 1.0L && (absx >= 0.75L || absy >= 0.5L) && scale == 0)
+ else if (absx < 1.0L
+ && absx >= 0.5L
+ && scale == 0
+ && absx * absx + absy * absy >= 0.5L)
{
long double d2m1 = __x2y2m1l (absx, absy);
__real__ result = __log1pl (d2m1) / 2.0L;
@@ -365,8 +365,8 @@ extern double __slowpow (double __x, double __y, double __z);
extern void __docos (double __x, double __dx, double __v[]);
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
- It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
- 0.75 or Y >= 0.5. */
+ It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
+ 0.5. */
extern float __x2y2m1f (float x, float y);
extern double __x2y2m1 (double x, double y);
extern long double __x2y2m1l (long double x, long double y);
@@ -836,12 +836,12 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 4
-ldouble: 4
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 3
+ldouble: 3
Function: Imaginary part of "clog":
double: 1
@@ -864,10 +864,10 @@ ildouble: 2
ldouble: 2
Function: Real part of "clog10_downward":
-double: 5
-float: 4
-idouble: 5
-ifloat: 4
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
ildouble: 8
ldouble: 8
@@ -876,14 +876,14 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: Real part of "clog10_towardzero":
-double: 5
-float: 4
-idouble: 5
-ifloat: 4
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
ildouble: 8
ldouble: 8
@@ -896,12 +896,12 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog10_upward":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-ildouble: 6
-ldouble: 6
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 7
+ldouble: 7
Function: Imaginary part of "clog10_upward":
double: 1
@@ -912,12 +912,12 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog_downward":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-ildouble: 7
-ldouble: 7
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 5
+ldouble: 5
Function: Imaginary part of "clog_downward":
double: 1
@@ -928,12 +928,12 @@ ildouble: 1
ldouble: 1
Function: Real part of "clog_towardzero":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-ildouble: 8
-ldouble: 8
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 5
+ldouble: 5
Function: Imaginary part of "clog_towardzero":
double: 1
@@ -944,12 +944,12 @@ ildouble: 1
ldouble: 1
Function: Real part of "clog_upward":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-ildouble: 6
-ldouble: 6
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 4
+ldouble: 4
Function: Imaginary part of "clog_upward":
double: 1
@@ -80,32 +80,26 @@ compare (const void *p, const void *q)
}
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
- It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
- 0.75 or Y >= 0.5. */
+ It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
+ 0.5. */
double
__x2y2m1 (double x, double y)
{
- double vals[4];
+ double vals[5];
SET_RESTORE_ROUND (FE_TONEAREST);
mul_split (&vals[1], &vals[0], x, x);
mul_split (&vals[3], &vals[2], y, y);
- if (x >= 0.75)
- vals[1] -= 1.0;
- else
- {
- vals[1] -= 0.5;
- vals[3] -= 0.5;
- }
- qsort (vals, 4, sizeof (double), compare);
+ vals[4] = -1.0;
+ qsort (vals, 5, sizeof (double), compare);
/* Add up the values so that each element of VALS has absolute value
at most equal to the last set bit of the next nonzero
element. */
- for (size_t i = 0; i <= 2; i++)
+ for (size_t i = 0; i <= 3; i++)
{
add_split (&vals[i + 1], &vals[i], vals[i + 1], vals[i]);
- qsort (vals + i + 1, 3 - i, sizeof (double), compare);
+ qsort (vals + i + 1, 4 - i, sizeof (double), compare);
}
/* Now any error from this addition will be small. */
- return vals[3] + vals[2] + vals[1] + vals[0];
+ return vals[4] + vals[3] + vals[2] + vals[1] + vals[0];
}
@@ -21,8 +21,8 @@
#include <float.h>
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
- It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
- 0.75 or Y >= 0.5. */
+ It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
+ 0.5. */
float
__x2y2m1f (float x, float y)
@@ -80,32 +80,26 @@ compare (const void *p, const void *q)
}
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
- It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
- 0.75 or Y >= 0.5. */
+ It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
+ 0.5. */
long double
__x2y2m1l (long double x, long double y)
{
- long double vals[4];
+ long double vals[5];
SET_RESTORE_ROUNDL (FE_TONEAREST);
mul_split (&vals[1], &vals[0], x, x);
mul_split (&vals[3], &vals[2], y, y);
- if (x >= 0.75L)
- vals[1] -= 1.0L;
- else
- {
- vals[1] -= 0.5L;
- vals[3] -= 0.5L;
- }
- qsort (vals, 4, sizeof (long double), compare);
+ vals[4] = -1.0L;
+ qsort (vals, 5, sizeof (long double), compare);
/* Add up the values so that each element of VALS has absolute value
at most equal to the last set bit of the next nonzero
element. */
- for (size_t i = 0; i <= 2; i++)
+ for (size_t i = 0; i <= 3; i++)
{
add_split (&vals[i + 1], &vals[i], vals[i + 1], vals[i]);
- qsort (vals + i + 1, 3 - i, sizeof (long double), compare);
+ qsort (vals + i + 1, 4 - i, sizeof (long double), compare);
}
/* Now any error from this addition will be small. */
- return vals[3] + vals[2] + vals[1] + vals[0];
+ return vals[4] + vals[3] + vals[2] + vals[1] + vals[0];
}
@@ -80,13 +80,13 @@ compare (const void *p, const void *q)
}
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
- It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
- 0.75 or Y >= 0.5. */
+ It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
+ 0.5. */
long double
__x2y2m1l (long double x, long double y)
{
- double vals[12];
+ double vals[13];
SET_RESTORE_ROUND (FE_TONEAREST);
union ibm_extended_long_double xu, yu;
xu.ld = x;
@@ -105,25 +105,19 @@ __x2y2m1l (long double x, long double y)
vals[8] *= 2.0;
vals[9] *= 2.0;
mul_split (&vals[11], &vals[10], yu.d[1].d, yu.d[1].d);
- if (xu.d[0].d >= 0.75)
- vals[1] -= 1.0;
- else
- {
- vals[1] -= 0.5;
- vals[7] -= 0.5;
- }
- qsort (vals, 12, sizeof (double), compare);
+ vals[12] = -1.0;
+ qsort (vals, 13, sizeof (double), compare);
/* Add up the values so that each element of VALS has absolute value
at most equal to the last set bit of the next nonzero
element. */
- for (size_t i = 0; i <= 10; i++)
+ for (size_t i = 0; i <= 11; i++)
{
add_split (&vals[i + 1], &vals[i], vals[i + 1], vals[i]);
- qsort (vals + i + 1, 11 - i, sizeof (double), compare);
+ qsort (vals + i + 1, 12 - i, sizeof (double), compare);
}
/* Now any error from this addition will be small. */
- long double retval = (long double) vals[11];
- for (size_t i = 10; i != (size_t) -1; i--)
+ long double retval = (long double) vals[12];
+ for (size_t i = 11; i != (size_t) -1; i--)
retval += (long double) vals[i];
return retval;
}
@@ -27,8 +27,8 @@
#else
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
- It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
- 0.75 or Y >= 0.5. */
+ It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
+ 0.5. */
double
__x2y2m1 (double x, double y)
@@ -80,32 +80,26 @@ compare (const void *p, const void *q)
}
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
- It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
- 0.75 or Y >= 0.5. */
+ It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
+ 0.5. */
long double
__x2y2m1l (long double x, long double y)
{
- long double vals[4];
+ long double vals[5];
SET_RESTORE_ROUNDL (FE_TONEAREST);
mul_split (&vals[1], &vals[0], x, x);
mul_split (&vals[3], &vals[2], y, y);
- if (x >= 0.75L)
- vals[1] -= 1.0L;
- else
- {
- vals[1] -= 0.5L;
- vals[3] -= 0.5L;
- }
- qsort (vals, 4, sizeof (long double), compare);
+ vals[4] = -1.0L;
+ qsort (vals, 5, sizeof (long double), compare);
/* Add up the values so that each element of VALS has absolute value
at most equal to the last set bit of the next nonzero
element. */
- for (size_t i = 0; i <= 2; i++)
+ for (size_t i = 0; i <= 3; i++)
{
add_split (&vals[i + 1], &vals[i], vals[i + 1], vals[i]);
- qsort (vals + i + 1, 3 - i, sizeof (long double), compare);
+ qsort (vals + i + 1, 4 - i, sizeof (long double), compare);
}
/* Now any error from this addition will be small. */
- return vals[3] + vals[2] + vals[1] + vals[0];
+ return vals[4] + vals[3] + vals[2] + vals[1] + vals[0];
}
@@ -869,11 +869,11 @@ ldouble: 3
Function: Real part of "clog":
double: 3
-float: 2
+float: 3
idouble: 3
-ifloat: 2
-ildouble: 4
-ldouble: 4
+ifloat: 3
+ildouble: 3
+ldouble: 3
Function: Imaginary part of "clog":
float: 1
@@ -883,9 +883,9 @@ ldouble: 1
Function: Real part of "clog10":
double: 3
-float: 3
+float: 4
idouble: 3
-ifloat: 3
+ifloat: 4
ildouble: 4
ldouble: 4
@@ -898,10 +898,10 @@ ildouble: 2
ldouble: 2
Function: Real part of "clog10_downward":
-double: 6
-float: 6
-idouble: 6
-ifloat: 6
+double: 5
+float: 4
+idouble: 5
+ifloat: 4
ildouble: 8
ldouble: 8
@@ -910,14 +910,14 @@ double: 2
float: 4
idouble: 2
ifloat: 4
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: Real part of "clog10_towardzero":
double: 5
-float: 4
+float: 5
idouble: 5
-ifloat: 4
+ifloat: 5
ildouble: 8
ldouble: 8
@@ -930,28 +930,28 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog10_upward":
-double: 8
+double: 6
float: 5
-idouble: 8
+idouble: 6
ifloat: 5
-ildouble: 6
-ldouble: 6
+ildouble: 7
+ldouble: 7
Function: Imaginary part of "clog10_upward":
double: 2
-float: 3
+float: 4
idouble: 2
-ifloat: 3
+ifloat: 4
ildouble: 3
ldouble: 3
Function: Real part of "clog_downward":
-double: 7
-float: 5
-idouble: 7
-ifloat: 5
-ildouble: 7
-ldouble: 7
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
Function: Imaginary part of "clog_downward":
double: 1
@@ -962,28 +962,28 @@ ildouble: 1
ldouble: 1
Function: Real part of "clog_towardzero":
-double: 7
-float: 5
-idouble: 7
-ifloat: 5
-ildouble: 8
-ldouble: 8
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 5
+ldouble: 5
Function: Imaginary part of "clog_towardzero":
double: 1
-float: 2
+float: 3
idouble: 1
-ifloat: 2
+ifloat: 3
ildouble: 1
ldouble: 1
Function: Real part of "clog_upward":
-double: 8
-float: 5
-idouble: 8
-ifloat: 5
-ildouble: 6
-ldouble: 6
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 4
+ldouble: 4
Function: Imaginary part of "clog_upward":
double: 1