diff mbox

[PATCHv2,06/14] Replace M_PI2l with pi_2_d in libm-test.inc

Message ID 82462d6a31a07e67c8142a7b5b506c8e0c508a62.1463779745.git.murphyp@linux.vnet.ibm.com
State New
Headers show

Commit Message

Paul E. Murphy May 20, 2016, 9:37 p.m. UTC
This is useful in situations where the long double type is
less precise than the type under test.

	* libm-test.inc: Replace usage of M_PI2l with
	[pi_2_d]: New macro.
---
 math/libm-test.inc | 316 +++++++++++++++++++++++++++--------------------------
 1 file changed, 159 insertions(+), 157 deletions(-)

Comments

Joseph Myers May 23, 2016, 4:56 p.m. UTC | #1
On Fri, 20 May 2016, Paul E. Murphy wrote:

> This is useful in situations where the long double type is
> less precise than the type under test.
> 
> 	* libm-test.inc: Replace usage of M_PI2l with
> 	[pi_2_d]: New macro.

I'm not convinced that adding several extra local constants is the right 
approach here.

For the API for float128 to be feature-complete compared to long double, 
it should include constants such as M_PI_2f128 for all the long double 
constants in <math.h>.  Which means that there is always a constant from 
<math.h> that can be used in these cases; you don't need yet another copy 
of the digits of this constant.  You might, for example, have a macro MCST 
defined for each type and use MCST (PI_2) here (which would expand to 
M_PI_2 for float and double - there aren't float versions of these 
<math.h> constants - M_PI_2l for long double, M_PI_2f128 for float128).
Paul E. Murphy May 23, 2016, 7:41 p.m. UTC | #2
On 05/23/2016 11:56 AM, Joseph Myers wrote:
> On Fri, 20 May 2016, Paul E. Murphy wrote:
> 
>> This is useful in situations where the long double type is
>> less precise than the type under test.
>>
>> 	* libm-test.inc: Replace usage of M_PI2l with
>> 	[pi_2_d]: New macro.
> 
> I'm not convinced that adding several extra local constants is the right 
> approach here.
> 
> For the API for float128 to be feature-complete compared to long double, 
> it should include constants such as M_PI_2f128 for all the long double 
> constants in <math.h>.  Which means that there is always a constant from 
> <math.h> that can be used in these cases; you don't need yet another copy 
> of the digits of this constant.  You might, for example, have a macro MCST 
> defined for each type and use MCST (PI_2) here (which would expand to 
> M_PI_2 for float and double - there aren't float versions of these 
> <math.h> constants - M_PI_2l for long double, M_PI_2f128 for float128).

Are you suggesting removing the new constants entirely, or just redefining
these macros in terms of existing macros?

I'd prefer to keep the M prefixed constants out of the individual test cases,
and maintain consistency with the other lower case constants.  It's too easy
to overlook them otherwise.
Joseph Myers May 23, 2016, 8:16 p.m. UTC | #3
On Mon, 23 May 2016, Paul E. Murphy wrote:

> > For the API for float128 to be feature-complete compared to long double, 
> > it should include constants such as M_PI_2f128 for all the long double 
> > constants in <math.h>.  Which means that there is always a constant from 
> > <math.h> that can be used in these cases; you don't need yet another copy 
> > of the digits of this constant.  You might, for example, have a macro MCST 
> > defined for each type and use MCST (PI_2) here (which would expand to 
> > M_PI_2 for float and double - there aren't float versions of these 
> > <math.h> constants - M_PI_2l for long double, M_PI_2f128 for float128).
> 
> Are you suggesting removing the new constants entirely, or just redefining
> these macros in terms of existing macros?

My suggestion was removing them entirely (and using MCST (PI_2) etc. in 
individual tests), but I suppose you could define them in terms of 
existing macros.

> I'd prefer to keep the M prefixed constants out of the individual test cases,
> and maintain consistency with the other lower case constants.  It's too easy
> to overlook them otherwise.

Actually, I think there is a case for the following: the individual tests 
all use names that are not M_*, for both the constants that are in 
<math.h> and the local ones - but those names all have some common prefix 
in place of M_, rather than being like the other lower-case constants 
without any fixed prefix.

Rationale: these constants are logically different from those such as 
min_value, in that, when used as expected results, the ideal result would 
depend on the rounding mode.  So having a unique prefix would facilitate 
hypothetical future gen-libm-test.pl enhancements to detect such constants 
in expected results and replace them by references to per-rounding-mode 
macros, where the values of those macros are automatically generated for 
each format and rounding modes by gen-auto-libm-tests.c or similar.
Paul E. Murphy May 23, 2016, 9:16 p.m. UTC | #4
On 05/23/2016 03:16 PM, Joseph Myers wrote:
> On Mon, 23 May 2016, Paul E. Murphy wrote:
> 
>>> For the API for float128 to be feature-complete compared to long double, 
>>> it should include constants such as M_PI_2f128 for all the long double 
>>> constants in <math.h>.  Which means that there is always a constant from 
>>> <math.h> that can be used in these cases; you don't need yet another copy 
>>> of the digits of this constant.  You might, for example, have a macro MCST 
>>> defined for each type and use MCST (PI_2) here (which would expand to 
>>> M_PI_2 for float and double - there aren't float versions of these 
>>> <math.h> constants - M_PI_2l for long double, M_PI_2f128 for float128).
>>
>> Are you suggesting removing the new constants entirely, or just redefining
>> these macros in terms of existing macros?
> 
> My suggestion was removing them entirely (and using MCST (PI_2) etc. in 
> individual tests), but I suppose you could define them in terms of 
> existing macros.
> 
>> I'd prefer to keep the M prefixed constants out of the individual test cases,
>> and maintain consistency with the other lower case constants.  It's too easy
>> to overlook them otherwise.
> 
> Actually, I think there is a case for the following: the individual tests 
> all use names that are not M_*, for both the constants that are in 
> <math.h> and the local ones - but those names all have some common prefix 
> in place of M_, rather than being like the other lower-case constants 
> without any fixed prefix.
> 
> Rationale: these constants are logically different from those such as 
> min_value, in that, when used as expected results, the ideal result would 
> depend on the rounding mode.  So having a unique prefix would facilitate 
> hypothetical future gen-libm-test.pl enhancements to detect such constants 
> in expected results and replace them by references to per-rounding-mode 
> macros, where the values of those macros are automatically generated for 
> each format and rounding modes by gen-auto-libm-tests.c or similar.

That seems reasonable.  Though, wouldn't it be much simpler to punt
these tests to auto-libm-test-in/gen-auto-libm-tests.c and have it more
accurately compute correctly rounded constants for each format and
rounding mode?  That also seems to imply the inputs may also be
sensitive to rounding mode.

Anyhow, the next patchset will append the "lit_" prefix to new macro
constants to support such changes.
Joseph Myers May 23, 2016, 10:57 p.m. UTC | #5
On Mon, 23 May 2016, Paul E. Murphy wrote:

> That seems reasonable.  Though, wouldn't it be much simpler to punt
> these tests to auto-libm-test-in/gen-auto-libm-tests.c and have it more
> accurately compute correctly rounded constants for each format and
> rounding mode?  That also seems to imply the inputs may also be
> sensitive to rounding mode.

These are[*] tests with infinities and NaNs as inputs, or as at least one 
exact part of a complex result.  gen-auto-libm-tests doesn't currently 
handle infinities or NaNs as inputs or exact results (as opposed to 
overflowing results), and I'm not particularly confident that MPC handles 
all such cases the way we want (taking due account of changes in C11 and 
in DRs).

[*] Except for tests of complex inverse trig and hyperbolic functions with 
finite inputs and results, not moved to auto-libm-test-in because the MPC 
functions are very slow in some cases and so moving them would make 
gen-auto-libm-tests take probably hours to run.
diff mbox

Patch

diff --git a/math/libm-test.inc b/math/libm-test.inc
index e41a2d4..8f0a2af 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -324,6 +324,8 @@  struct ulp_data
 #define pi_4_ln10_m_d		LIT (0.341094088460460336871445906357838943)
 /* pi / ln(10) */
 #define pi_ln10_d		LIT (1.364376353841841347485783625431355770)
+/* pi / 2 */
+#define pi_2_d			LIT (1.570796326794896619231321691639751442)
 
 #define ulps_file_name "ULPs"	/* Name of the ULPs file.  */
 static FILE *ulps_file;		/* File to document difference.  */
@@ -1897,8 +1899,8 @@  asinh_test (void)
 
 static const struct test_f_f_data atan_test_data[] =
   {
-    TEST_f_f (atan, plus_infty, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_f_f (atan, minus_infty, -M_PI_2l, ERRNO_UNCHANGED),
+    TEST_f_f (atan, plus_infty, pi_2_d, ERRNO_UNCHANGED),
+    TEST_f_f (atan, minus_infty, -pi_2_d, ERRNO_UNCHANGED),
     TEST_f_f (atan, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
     TEST_f_f (atan, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
 
@@ -1954,28 +1956,28 @@  static const struct test_ff_f_data atan2_test_data[] =
     TEST_ff_f (atan2, -max_value, plus_infty, minus_zero, ERRNO_UNCHANGED),
 
     /* atan2(+inf, x) == pi/2 for finite x.  */
-    TEST_ff_f (atan2, plus_infty, 1, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, plus_zero, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, min_value, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, min_subnorm_value, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, max_value, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, -1, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, minus_zero, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, -min_value, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, -min_subnorm_value, M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, plus_infty, -max_value, M_PI_2l, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, 1, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, plus_zero, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, min_value, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, min_subnorm_value, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, max_value, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, -1, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, minus_zero, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, -min_value, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, -min_subnorm_value, pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, plus_infty, -max_value, pi_2_d, ERRNO_UNCHANGED),
 
     /* atan2(-inf, x) == -pi/2 for finite x.  */
-    TEST_ff_f (atan2, minus_infty, 1, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, plus_zero, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, min_value, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, min_subnorm_value, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, max_value, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, -1, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, minus_zero, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, -min_value, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, -min_subnorm_value, -M_PI_2l, ERRNO_UNCHANGED),
-    TEST_ff_f (atan2, minus_infty, -max_value, -M_PI_2l, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, 1, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, plus_zero, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, min_value, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, min_subnorm_value, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, max_value, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, -1, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, minus_zero, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, -min_value, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, -min_subnorm_value, -pi_2_d, ERRNO_UNCHANGED),
+    TEST_ff_f (atan2, minus_infty, -max_value, -pi_2_d, ERRNO_UNCHANGED),
 
     /* atan2 (y,-inf) == +pi for finite y > 0 or +0.  */
     TEST_ff_f (atan2, 1, minus_infty, M_PIl, ERRNO_UNCHANGED),
@@ -2081,10 +2083,10 @@  cabs_test (void)
 
 static const struct test_c_c_data cacos_test_data[] =
   {
-    TEST_c_c (cacos, 0, 0, M_PI_2l, minus_zero),
-    TEST_c_c (cacos, minus_zero, 0, M_PI_2l, minus_zero),
-    TEST_c_c (cacos, minus_zero, minus_zero, M_PI_2l, 0.0),
-    TEST_c_c (cacos, 0, minus_zero, M_PI_2l, 0.0),
+    TEST_c_c (cacos, 0, 0, pi_2_d, minus_zero),
+    TEST_c_c (cacos, minus_zero, 0, pi_2_d, minus_zero),
+    TEST_c_c (cacos, minus_zero, minus_zero, pi_2_d, 0.0),
+    TEST_c_c (cacos, 0, minus_zero, pi_2_d, 0.0),
 
     TEST_c_c (cacos, minus_infty, plus_infty, pi_3_m_4_d, minus_infty),
     TEST_c_c (cacos, minus_infty, minus_infty, pi_3_m_4_d, plus_infty),
@@ -2092,12 +2094,12 @@  static const struct test_c_c_data cacos_test_data[] =
     TEST_c_c (cacos, plus_infty, plus_infty, M_PI_4l, minus_infty),
     TEST_c_c (cacos, plus_infty, minus_infty, M_PI_4l, plus_infty),
 
-    TEST_c_c (cacos, -10.0, plus_infty, M_PI_2l, minus_infty),
-    TEST_c_c (cacos, -10.0, minus_infty, M_PI_2l, plus_infty),
-    TEST_c_c (cacos, 0, plus_infty, M_PI_2l, minus_infty),
-    TEST_c_c (cacos, 0, minus_infty, M_PI_2l, plus_infty),
-    TEST_c_c (cacos, 0.1L, plus_infty, M_PI_2l, minus_infty),
-    TEST_c_c (cacos, 0.1L, minus_infty, M_PI_2l, plus_infty),
+    TEST_c_c (cacos, -10.0, plus_infty, pi_2_d, minus_infty),
+    TEST_c_c (cacos, -10.0, minus_infty, pi_2_d, plus_infty),
+    TEST_c_c (cacos, 0, plus_infty, pi_2_d, minus_infty),
+    TEST_c_c (cacos, 0, minus_infty, pi_2_d, plus_infty),
+    TEST_c_c (cacos, 0.1L, plus_infty, pi_2_d, minus_infty),
+    TEST_c_c (cacos, 0.1L, minus_infty, pi_2_d, plus_infty),
 
     TEST_c_c (cacos, minus_infty, 0, M_PIl, minus_infty),
     TEST_c_c (cacos, minus_infty, minus_zero, M_PIl, plus_infty),
@@ -2112,8 +2114,8 @@  static const struct test_c_c_data cacos_test_data[] =
     TEST_c_c (cacos, plus_infty, qnan_value, qnan_value, plus_infty, IGNORE_ZERO_INF_SIGN),
     TEST_c_c (cacos, minus_infty, qnan_value, qnan_value, plus_infty, IGNORE_ZERO_INF_SIGN),
 
-    TEST_c_c (cacos, 0, qnan_value, M_PI_2l, qnan_value),
-    TEST_c_c (cacos, minus_zero, qnan_value, M_PI_2l, qnan_value),
+    TEST_c_c (cacos, 0, qnan_value, pi_2_d, qnan_value),
+    TEST_c_c (cacos, minus_zero, qnan_value, pi_2_d, qnan_value),
 
     TEST_c_c (cacos, qnan_value, plus_infty, qnan_value, minus_infty),
     TEST_c_c (cacos, qnan_value, minus_infty, qnan_value, plus_infty),
@@ -2126,18 +2128,18 @@  static const struct test_c_c_data cacos_test_data[] =
 
     TEST_c_c (cacos, qnan_value, qnan_value, qnan_value, qnan_value),
 
-    TEST_c_c (cacos, plus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L),
-    TEST_c_c (cacos, minus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L),
-    TEST_c_c (cacos, plus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L),
-    TEST_c_c (cacos, minus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L),
-    TEST_c_c (cacos, plus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L),
-    TEST_c_c (cacos, minus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L),
-    TEST_c_c (cacos, plus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L),
-    TEST_c_c (cacos, minus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L),
-    TEST_c_c (cacos, plus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L),
-    TEST_c_c (cacos, minus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L),
-    TEST_c_c (cacos, plus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L),
-    TEST_c_c (cacos, minus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L),
+    TEST_c_c (cacos, plus_zero, -1.5L, pi_2_d, 1.194763217287109304111930828519090523536L),
+    TEST_c_c (cacos, minus_zero, -1.5L, pi_2_d, 1.194763217287109304111930828519090523536L),
+    TEST_c_c (cacos, plus_zero, -1.0L, pi_2_d, 0.8813735870195430252326093249797923090282L),
+    TEST_c_c (cacos, minus_zero, -1.0L, pi_2_d, 0.8813735870195430252326093249797923090282L),
+    TEST_c_c (cacos, plus_zero, -0.5L, pi_2_d, 0.4812118250596034474977589134243684231352L),
+    TEST_c_c (cacos, minus_zero, -0.5L, pi_2_d, 0.4812118250596034474977589134243684231352L),
+    TEST_c_c (cacos, plus_zero, 0.5L, pi_2_d, -0.4812118250596034474977589134243684231352L),
+    TEST_c_c (cacos, minus_zero, 0.5L, pi_2_d, -0.4812118250596034474977589134243684231352L),
+    TEST_c_c (cacos, plus_zero, 1.0L, pi_2_d, -0.8813735870195430252326093249797923090282L),
+    TEST_c_c (cacos, minus_zero, 1.0L, pi_2_d, -0.8813735870195430252326093249797923090282L),
+    TEST_c_c (cacos, plus_zero, 1.5L, pi_2_d, -1.194763217287109304111930828519090523536L),
+    TEST_c_c (cacos, minus_zero, 1.5L, pi_2_d, -1.194763217287109304111930828519090523536L),
 
     TEST_c_c (cacos, -1.5L, plus_zero, M_PIl, -0.9624236501192068949955178268487368462704L),
     TEST_c_c (cacos, -1.5L, minus_zero, M_PIl, 0.9624236501192068949955178268487368462704L),
@@ -2769,22 +2771,22 @@  cacos_test (void)
 
 static const struct test_c_c_data cacosh_test_data[] =
   {
-    TEST_c_c (cacosh, 0, 0, 0.0, M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, 0, 0.0, M_PI_2l),
-    TEST_c_c (cacosh, 0, minus_zero, 0.0, -M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, minus_zero, 0.0, -M_PI_2l),
+    TEST_c_c (cacosh, 0, 0, 0.0, pi_2_d),
+    TEST_c_c (cacosh, minus_zero, 0, 0.0, pi_2_d),
+    TEST_c_c (cacosh, 0, minus_zero, 0.0, -pi_2_d),
+    TEST_c_c (cacosh, minus_zero, minus_zero, 0.0, -pi_2_d),
     TEST_c_c (cacosh, minus_infty, plus_infty, plus_infty, pi_3_m_4_d),
     TEST_c_c (cacosh, minus_infty, minus_infty, plus_infty, -pi_3_m_4_d),
 
     TEST_c_c (cacosh, plus_infty, plus_infty, plus_infty, M_PI_4l),
     TEST_c_c (cacosh, plus_infty, minus_infty, plus_infty, -M_PI_4l),
 
-    TEST_c_c (cacosh, -10.0, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (cacosh, -10.0, minus_infty, plus_infty, -M_PI_2l),
-    TEST_c_c (cacosh, 0, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (cacosh, 0, minus_infty, plus_infty, -M_PI_2l),
-    TEST_c_c (cacosh, 0.1L, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (cacosh, 0.1L, minus_infty, plus_infty, -M_PI_2l),
+    TEST_c_c (cacosh, -10.0, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (cacosh, -10.0, minus_infty, plus_infty, -pi_2_d),
+    TEST_c_c (cacosh, 0, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (cacosh, 0, minus_infty, plus_infty, -pi_2_d),
+    TEST_c_c (cacosh, 0.1L, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (cacosh, 0.1L, minus_infty, plus_infty, -pi_2_d),
 
     TEST_c_c (cacosh, minus_infty, 0, plus_infty, M_PIl),
     TEST_c_c (cacosh, minus_infty, minus_zero, plus_infty, -M_PIl),
@@ -2813,18 +2815,18 @@  static const struct test_c_c_data cacosh_test_data[] =
 
     TEST_c_c (cacosh, qnan_value, qnan_value, qnan_value, qnan_value),
 
-    TEST_c_c (cacosh, plus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l),
-    TEST_c_c (cacosh, plus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l),
-    TEST_c_c (cacosh, plus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l),
-    TEST_c_c (cacosh, plus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l),
-    TEST_c_c (cacosh, plus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l),
-    TEST_c_c (cacosh, plus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l),
-    TEST_c_c (cacosh, minus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l),
+    TEST_c_c (cacosh, plus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -pi_2_d),
+    TEST_c_c (cacosh, minus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -pi_2_d),
+    TEST_c_c (cacosh, plus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -pi_2_d),
+    TEST_c_c (cacosh, minus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -pi_2_d),
+    TEST_c_c (cacosh, plus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -pi_2_d),
+    TEST_c_c (cacosh, minus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -pi_2_d),
+    TEST_c_c (cacosh, plus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, pi_2_d),
+    TEST_c_c (cacosh, minus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, pi_2_d),
+    TEST_c_c (cacosh, plus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, pi_2_d),
+    TEST_c_c (cacosh, minus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, pi_2_d),
+    TEST_c_c (cacosh, plus_zero, 1.5L, 1.194763217287109304111930828519090523536L, pi_2_d),
+    TEST_c_c (cacosh, minus_zero, 1.5L, 1.194763217287109304111930828519090523536L, pi_2_d),
 
     TEST_c_c (cacosh, -1.5L, plus_zero, 0.9624236501192068949955178268487368462704L, M_PIl),
     TEST_c_c (cacosh, -1.5L, minus_zero, 0.9624236501192068949955178268487368462704L, -M_PIl),
@@ -3461,10 +3463,10 @@  static const struct test_c_f_data carg_test_data[] =
     TEST_c_f (carg, plus_infty, -2.0, minus_zero),
 
     /* carg(x + i inf) == pi/2 for finite x.  */
-    TEST_c_f (carg, 10.0, plus_infty, M_PI_2l),
+    TEST_c_f (carg, 10.0, plus_infty, pi_2_d),
 
     /* carg(x - i inf) == -pi/2 for finite x.  */
-    TEST_c_f (carg, 10.0, minus_infty, -M_PI_2l),
+    TEST_c_f (carg, 10.0, minus_infty, -pi_2_d),
 
     /* carg (-inf + i y) == +pi for finite y > 0.  */
     TEST_c_f (carg, minus_infty, 10.0, M_PIl),
@@ -3512,15 +3514,15 @@  static const struct test_c_c_data casin_test_data[] =
     TEST_c_c (casin, 0.1L, plus_infty, 0.0, plus_infty),
     TEST_c_c (casin, 0.1L, minus_infty, 0.0, minus_infty),
 
-    TEST_c_c (casin, minus_infty, 0, -M_PI_2l, plus_infty),
-    TEST_c_c (casin, minus_infty, minus_zero, -M_PI_2l, minus_infty),
-    TEST_c_c (casin, minus_infty, 100, -M_PI_2l, plus_infty),
-    TEST_c_c (casin, minus_infty, -100, -M_PI_2l, minus_infty),
+    TEST_c_c (casin, minus_infty, 0, -pi_2_d, plus_infty),
+    TEST_c_c (casin, minus_infty, minus_zero, -pi_2_d, minus_infty),
+    TEST_c_c (casin, minus_infty, 100, -pi_2_d, plus_infty),
+    TEST_c_c (casin, minus_infty, -100, -pi_2_d, minus_infty),
 
-    TEST_c_c (casin, plus_infty, 0, M_PI_2l, plus_infty),
-    TEST_c_c (casin, plus_infty, minus_zero, M_PI_2l, minus_infty),
-    TEST_c_c (casin, plus_infty, 0.5, M_PI_2l, plus_infty),
-    TEST_c_c (casin, plus_infty, -0.5, M_PI_2l, minus_infty),
+    TEST_c_c (casin, plus_infty, 0, pi_2_d, plus_infty),
+    TEST_c_c (casin, plus_infty, minus_zero, pi_2_d, minus_infty),
+    TEST_c_c (casin, plus_infty, 0.5, pi_2_d, plus_infty),
+    TEST_c_c (casin, plus_infty, -0.5, pi_2_d, minus_infty),
 
     TEST_c_c (casin, qnan_value, plus_infty, qnan_value, plus_infty),
     TEST_c_c (casin, qnan_value, minus_infty, qnan_value, minus_infty),
@@ -3552,18 +3554,18 @@  static const struct test_c_c_data casin_test_data[] =
     TEST_c_c (casin, plus_zero, 1.5L, plus_zero, 1.194763217287109304111930828519090523536L),
     TEST_c_c (casin, minus_zero, 1.5L, minus_zero, 1.194763217287109304111930828519090523536L),
 
-    TEST_c_c (casin, -1.5L, plus_zero, -M_PI_2l, 0.9624236501192068949955178268487368462704L),
-    TEST_c_c (casin, -1.5L, minus_zero, -M_PI_2l, -0.9624236501192068949955178268487368462704L),
-    TEST_c_c (casin, -1.0L, plus_zero, -M_PI_2l, plus_zero),
-    TEST_c_c (casin, -1.0L, minus_zero, -M_PI_2l, minus_zero),
+    TEST_c_c (casin, -1.5L, plus_zero, -pi_2_d, 0.9624236501192068949955178268487368462704L),
+    TEST_c_c (casin, -1.5L, minus_zero, -pi_2_d, -0.9624236501192068949955178268487368462704L),
+    TEST_c_c (casin, -1.0L, plus_zero, -pi_2_d, plus_zero),
+    TEST_c_c (casin, -1.0L, minus_zero, -pi_2_d, minus_zero),
     TEST_c_c (casin, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L, plus_zero),
     TEST_c_c (casin, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L, minus_zero),
     TEST_c_c (casin, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L, plus_zero),
     TEST_c_c (casin, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L, minus_zero),
-    TEST_c_c (casin, 1.0L, plus_zero, M_PI_2l, plus_zero),
-    TEST_c_c (casin, 1.0L, minus_zero, M_PI_2l, minus_zero),
-    TEST_c_c (casin, 1.5L, plus_zero, M_PI_2l, 0.9624236501192068949955178268487368462704L),
-    TEST_c_c (casin, 1.5L, minus_zero, M_PI_2l, -0.9624236501192068949955178268487368462704L),
+    TEST_c_c (casin, 1.0L, plus_zero, pi_2_d, plus_zero),
+    TEST_c_c (casin, 1.0L, minus_zero, pi_2_d, minus_zero),
+    TEST_c_c (casin, 1.5L, plus_zero, pi_2_d, 0.9624236501192068949955178268487368462704L),
+    TEST_c_c (casin, 1.5L, minus_zero, pi_2_d, -0.9624236501192068949955178268487368462704L),
 
     TEST_c_c (casin, 0x1p50L, 1.0L, 1.570796326794895731052901991514519103193L, 3.535050620855721078027883819436720218708e1L),
     TEST_c_c (casin, 0x1p50L, -1.0L, 1.570796326794895731052901991514519103193L, -3.535050620855721078027883819436720218708e1L),
@@ -4193,14 +4195,14 @@  static const struct test_c_c_data casinh_test_data[] =
     TEST_c_c (casinh, minus_infty, plus_infty, minus_infty, M_PI_4l),
     TEST_c_c (casinh, minus_infty, minus_infty, minus_infty, -M_PI_4l),
 
-    TEST_c_c (casinh, -10.0, plus_infty, minus_infty, M_PI_2l),
-    TEST_c_c (casinh, -10.0, minus_infty, minus_infty, -M_PI_2l),
-    TEST_c_c (casinh, 0, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (casinh, 0, minus_infty, plus_infty, -M_PI_2l),
-    TEST_c_c (casinh, minus_zero, plus_infty, minus_infty, M_PI_2l),
-    TEST_c_c (casinh, minus_zero, minus_infty, minus_infty, -M_PI_2l),
-    TEST_c_c (casinh, 0.1L, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (casinh, 0.1L, minus_infty, plus_infty, -M_PI_2l),
+    TEST_c_c (casinh, -10.0, plus_infty, minus_infty, pi_2_d),
+    TEST_c_c (casinh, -10.0, minus_infty, minus_infty, -pi_2_d),
+    TEST_c_c (casinh, 0, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (casinh, 0, minus_infty, plus_infty, -pi_2_d),
+    TEST_c_c (casinh, minus_zero, plus_infty, minus_infty, pi_2_d),
+    TEST_c_c (casinh, minus_zero, minus_infty, minus_infty, -pi_2_d),
+    TEST_c_c (casinh, 0.1L, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (casinh, 0.1L, minus_infty, plus_infty, -pi_2_d),
 
     TEST_c_c (casinh, minus_infty, 0, minus_infty, 0.0),
     TEST_c_c (casinh, minus_infty, minus_zero, minus_infty, minus_zero),
@@ -4229,18 +4231,18 @@  static const struct test_c_c_data casinh_test_data[] =
 
     TEST_c_c (casinh, qnan_value, qnan_value, qnan_value, qnan_value),
 
-    TEST_c_c (casinh, plus_zero, -1.5L, 0.9624236501192068949955178268487368462704L, -M_PI_2l),
-    TEST_c_c (casinh, minus_zero, -1.5L, -0.9624236501192068949955178268487368462704L, -M_PI_2l),
-    TEST_c_c (casinh, plus_zero, -1.0L, plus_zero, -M_PI_2l),
-    TEST_c_c (casinh, minus_zero, -1.0L, minus_zero, -M_PI_2l),
+    TEST_c_c (casinh, plus_zero, -1.5L, 0.9624236501192068949955178268487368462704L, -pi_2_d),
+    TEST_c_c (casinh, minus_zero, -1.5L, -0.9624236501192068949955178268487368462704L, -pi_2_d),
+    TEST_c_c (casinh, plus_zero, -1.0L, plus_zero, -pi_2_d),
+    TEST_c_c (casinh, minus_zero, -1.0L, minus_zero, -pi_2_d),
     TEST_c_c (casinh, plus_zero, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L),
     TEST_c_c (casinh, minus_zero, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L),
     TEST_c_c (casinh, plus_zero, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L),
     TEST_c_c (casinh, minus_zero, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L),
-    TEST_c_c (casinh, plus_zero, 1.0L, plus_zero, M_PI_2l),
-    TEST_c_c (casinh, minus_zero, 1.0L, minus_zero, M_PI_2l),
-    TEST_c_c (casinh, plus_zero, 1.5L, 0.9624236501192068949955178268487368462704L, M_PI_2l),
-    TEST_c_c (casinh, minus_zero, 1.5L, -0.9624236501192068949955178268487368462704L, M_PI_2l),
+    TEST_c_c (casinh, plus_zero, 1.0L, plus_zero, pi_2_d),
+    TEST_c_c (casinh, minus_zero, 1.0L, minus_zero, pi_2_d),
+    TEST_c_c (casinh, plus_zero, 1.5L, 0.9624236501192068949955178268487368462704L, pi_2_d),
+    TEST_c_c (casinh, minus_zero, 1.5L, -0.9624236501192068949955178268487368462704L, pi_2_d),
 
     TEST_c_c (casinh, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L, plus_zero),
     TEST_c_c (casinh, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L, minus_zero),
@@ -4887,30 +4889,30 @@  static const struct test_c_c_data catan_test_data[] =
     TEST_c_c (catan, plus_zero, -1.0L, plus_zero, minus_infty, DIVIDE_BY_ZERO_EXCEPTION),
     TEST_c_c (catan, minus_zero, -1.0L, minus_zero, minus_infty, DIVIDE_BY_ZERO_EXCEPTION),
 
-    TEST_c_c (catan, plus_infty, plus_infty, M_PI_2l, 0),
-    TEST_c_c (catan, plus_infty, minus_infty, M_PI_2l, minus_zero),
-    TEST_c_c (catan, minus_infty, plus_infty, -M_PI_2l, 0),
-    TEST_c_c (catan, minus_infty, minus_infty, -M_PI_2l, minus_zero),
+    TEST_c_c (catan, plus_infty, plus_infty, pi_2_d, 0),
+    TEST_c_c (catan, plus_infty, minus_infty, pi_2_d, minus_zero),
+    TEST_c_c (catan, minus_infty, plus_infty, -pi_2_d, 0),
+    TEST_c_c (catan, minus_infty, minus_infty, -pi_2_d, minus_zero),
 
 
-    TEST_c_c (catan, plus_infty, -10.0, M_PI_2l, minus_zero),
-    TEST_c_c (catan, minus_infty, -10.0, -M_PI_2l, minus_zero),
-    TEST_c_c (catan, plus_infty, minus_zero, M_PI_2l, minus_zero),
-    TEST_c_c (catan, minus_infty, minus_zero, -M_PI_2l, minus_zero),
-    TEST_c_c (catan, plus_infty, 0.0, M_PI_2l, 0),
-    TEST_c_c (catan, minus_infty, 0.0, -M_PI_2l, 0),
-    TEST_c_c (catan, plus_infty, 0.1L, M_PI_2l, 0),
-    TEST_c_c (catan, minus_infty, 0.1L, -M_PI_2l, 0),
+    TEST_c_c (catan, plus_infty, -10.0, pi_2_d, minus_zero),
+    TEST_c_c (catan, minus_infty, -10.0, -pi_2_d, minus_zero),
+    TEST_c_c (catan, plus_infty, minus_zero, pi_2_d, minus_zero),
+    TEST_c_c (catan, minus_infty, minus_zero, -pi_2_d, minus_zero),
+    TEST_c_c (catan, plus_infty, 0.0, pi_2_d, 0),
+    TEST_c_c (catan, minus_infty, 0.0, -pi_2_d, 0),
+    TEST_c_c (catan, plus_infty, 0.1L, pi_2_d, 0),
+    TEST_c_c (catan, minus_infty, 0.1L, -pi_2_d, 0),
 
-    TEST_c_c (catan, 0.0, minus_infty, M_PI_2l, minus_zero),
-    TEST_c_c (catan, minus_zero, minus_infty, -M_PI_2l, minus_zero),
-    TEST_c_c (catan, 100.0, minus_infty, M_PI_2l, minus_zero),
-    TEST_c_c (catan, -100.0, minus_infty, -M_PI_2l, minus_zero),
+    TEST_c_c (catan, 0.0, minus_infty, pi_2_d, minus_zero),
+    TEST_c_c (catan, minus_zero, minus_infty, -pi_2_d, minus_zero),
+    TEST_c_c (catan, 100.0, minus_infty, pi_2_d, minus_zero),
+    TEST_c_c (catan, -100.0, minus_infty, -pi_2_d, minus_zero),
 
-    TEST_c_c (catan, 0.0, plus_infty, M_PI_2l, 0),
-    TEST_c_c (catan, minus_zero, plus_infty, -M_PI_2l, 0),
-    TEST_c_c (catan, 0.5, plus_infty, M_PI_2l, 0),
-    TEST_c_c (catan, -0.5, plus_infty, -M_PI_2l, 0),
+    TEST_c_c (catan, 0.0, plus_infty, pi_2_d, 0),
+    TEST_c_c (catan, minus_zero, plus_infty, -pi_2_d, 0),
+    TEST_c_c (catan, 0.5, plus_infty, pi_2_d, 0),
+    TEST_c_c (catan, -0.5, plus_infty, -pi_2_d, 0),
 
     TEST_c_c (catan, qnan_value, 0.0, qnan_value, 0),
     TEST_c_c (catan, qnan_value, minus_zero, qnan_value, minus_zero),
@@ -4921,8 +4923,8 @@  static const struct test_c_c_data catan_test_data[] =
     TEST_c_c (catan, 0.0, qnan_value, qnan_value, qnan_value),
     TEST_c_c (catan, minus_zero, qnan_value, qnan_value, qnan_value),
 
-    TEST_c_c (catan, plus_infty, qnan_value, M_PI_2l, 0, IGNORE_ZERO_INF_SIGN),
-    TEST_c_c (catan, minus_infty, qnan_value, -M_PI_2l, 0, IGNORE_ZERO_INF_SIGN),
+    TEST_c_c (catan, plus_infty, qnan_value, pi_2_d, 0, IGNORE_ZERO_INF_SIGN),
+    TEST_c_c (catan, minus_infty, qnan_value, -pi_2_d, 0, IGNORE_ZERO_INF_SIGN),
 
     TEST_c_c (catan, qnan_value, 10.5, qnan_value, qnan_value, INVALID_EXCEPTION_OK),
     TEST_c_c (catan, qnan_value, -10.5, qnan_value, qnan_value, INVALID_EXCEPTION_OK),
@@ -5393,29 +5395,29 @@  static const struct test_c_c_data catanh_test_data[] =
     TEST_c_c (catanh, plus_zero, -1.0L, plus_zero, -M_PI_4l),
     TEST_c_c (catanh, minus_zero, -1.0L, minus_zero, -M_PI_4l),
 
-    TEST_c_c (catanh, plus_infty, plus_infty, 0.0, M_PI_2l),
-    TEST_c_c (catanh, plus_infty, minus_infty, 0.0, -M_PI_2l),
-    TEST_c_c (catanh, minus_infty, plus_infty, minus_zero, M_PI_2l),
-    TEST_c_c (catanh, minus_infty, minus_infty, minus_zero, -M_PI_2l),
-
-    TEST_c_c (catanh, -10.0, plus_infty, minus_zero, M_PI_2l),
-    TEST_c_c (catanh, -10.0, minus_infty, minus_zero, -M_PI_2l),
-    TEST_c_c (catanh, minus_zero, plus_infty, minus_zero, M_PI_2l),
-    TEST_c_c (catanh, minus_zero, minus_infty, minus_zero, -M_PI_2l),
-    TEST_c_c (catanh, 0, plus_infty, 0.0, M_PI_2l),
-    TEST_c_c (catanh, 0, minus_infty, 0.0, -M_PI_2l),
-    TEST_c_c (catanh, 0.1L, plus_infty, 0.0, M_PI_2l),
-    TEST_c_c (catanh, 0.1L, minus_infty, 0.0, -M_PI_2l),
-
-    TEST_c_c (catanh, minus_infty, 0, minus_zero, M_PI_2l),
-    TEST_c_c (catanh, minus_infty, minus_zero, minus_zero, -M_PI_2l),
-    TEST_c_c (catanh, minus_infty, 100, minus_zero, M_PI_2l),
-    TEST_c_c (catanh, minus_infty, -100, minus_zero, -M_PI_2l),
-
-    TEST_c_c (catanh, plus_infty, 0, 0.0, M_PI_2l),
-    TEST_c_c (catanh, plus_infty, minus_zero, 0.0, -M_PI_2l),
-    TEST_c_c (catanh, plus_infty, 0.5, 0.0, M_PI_2l),
-    TEST_c_c (catanh, plus_infty, -0.5, 0.0, -M_PI_2l),
+    TEST_c_c (catanh, plus_infty, plus_infty, 0.0, pi_2_d),
+    TEST_c_c (catanh, plus_infty, minus_infty, 0.0, -pi_2_d),
+    TEST_c_c (catanh, minus_infty, plus_infty, minus_zero, pi_2_d),
+    TEST_c_c (catanh, minus_infty, minus_infty, minus_zero, -pi_2_d),
+
+    TEST_c_c (catanh, -10.0, plus_infty, minus_zero, pi_2_d),
+    TEST_c_c (catanh, -10.0, minus_infty, minus_zero, -pi_2_d),
+    TEST_c_c (catanh, minus_zero, plus_infty, minus_zero, pi_2_d),
+    TEST_c_c (catanh, minus_zero, minus_infty, minus_zero, -pi_2_d),
+    TEST_c_c (catanh, 0, plus_infty, 0.0, pi_2_d),
+    TEST_c_c (catanh, 0, minus_infty, 0.0, -pi_2_d),
+    TEST_c_c (catanh, 0.1L, plus_infty, 0.0, pi_2_d),
+    TEST_c_c (catanh, 0.1L, minus_infty, 0.0, -pi_2_d),
+
+    TEST_c_c (catanh, minus_infty, 0, minus_zero, pi_2_d),
+    TEST_c_c (catanh, minus_infty, minus_zero, minus_zero, -pi_2_d),
+    TEST_c_c (catanh, minus_infty, 100, minus_zero, pi_2_d),
+    TEST_c_c (catanh, minus_infty, -100, minus_zero, -pi_2_d),
+
+    TEST_c_c (catanh, plus_infty, 0, 0.0, pi_2_d),
+    TEST_c_c (catanh, plus_infty, minus_zero, 0.0, -pi_2_d),
+    TEST_c_c (catanh, plus_infty, 0.5, 0.0, pi_2_d),
+    TEST_c_c (catanh, plus_infty, -0.5, 0.0, -pi_2_d),
 
     TEST_c_c (catanh, 0, qnan_value, 0.0, qnan_value),
     TEST_c_c (catanh, minus_zero, qnan_value, minus_zero, qnan_value),
@@ -5426,8 +5428,8 @@  static const struct test_c_c_data catanh_test_data[] =
     TEST_c_c (catanh, qnan_value, 0, qnan_value, qnan_value),
     TEST_c_c (catanh, qnan_value, minus_zero, qnan_value, qnan_value),
 
-    TEST_c_c (catanh, qnan_value, plus_infty, 0.0, M_PI_2l, IGNORE_ZERO_INF_SIGN),
-    TEST_c_c (catanh, qnan_value, minus_infty, 0.0, -M_PI_2l, IGNORE_ZERO_INF_SIGN),
+    TEST_c_c (catanh, qnan_value, plus_infty, 0.0, pi_2_d, IGNORE_ZERO_INF_SIGN),
+    TEST_c_c (catanh, qnan_value, minus_infty, 0.0, -pi_2_d, IGNORE_ZERO_INF_SIGN),
 
     TEST_c_c (catanh, 10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK),
     TEST_c_c (catanh, -10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK),
@@ -6244,14 +6246,14 @@  static const struct test_c_c_data clog_test_data[] =
     TEST_c_c (clog, plus_infty, plus_infty, plus_infty, M_PI_4l),
     TEST_c_c (clog, plus_infty, minus_infty, plus_infty, -M_PI_4l),
 
-    TEST_c_c (clog, 0, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (clog, 3, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (clog, minus_zero, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (clog, -3, plus_infty, plus_infty, M_PI_2l),
-    TEST_c_c (clog, 0, minus_infty, plus_infty, -M_PI_2l),
-    TEST_c_c (clog, 3, minus_infty, plus_infty, -M_PI_2l),
-    TEST_c_c (clog, minus_zero, minus_infty, plus_infty, -M_PI_2l),
-    TEST_c_c (clog, -3, minus_infty, plus_infty, -M_PI_2l),
+    TEST_c_c (clog, 0, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (clog, 3, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (clog, minus_zero, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (clog, -3, plus_infty, plus_infty, pi_2_d),
+    TEST_c_c (clog, 0, minus_infty, plus_infty, -pi_2_d),
+    TEST_c_c (clog, 3, minus_infty, plus_infty, -pi_2_d),
+    TEST_c_c (clog, minus_zero, minus_infty, plus_infty, -pi_2_d),
+    TEST_c_c (clog, -3, minus_infty, plus_infty, -pi_2_d),
 
     TEST_c_c (clog, minus_infty, 0, plus_infty, M_PIl),
     TEST_c_c (clog, minus_infty, 1, plus_infty, M_PIl),