1 /* Copyright (C) 2003 Free Software Foundation.
3 Verify that built-in math function constant folding doesn't break
4 anything and produces the expected results.
6 Written by Roger Sayle, 8th June 2003. */
9 /* { dg-options "-O2 -ffast-math" } */
11 #include "builtins-config.h"
13 extern void link_error(void);
17 if (cos(x
) != cos(-x
))
20 if (sin(x
)/cos(x
) != tan(x
))
23 if (cos(x
)/sin(x
) != 1.0/tan(x
))
26 if (tan(x
)*cos(x
) != sin(x
))
29 if (cos(x
)*tan(x
) != sin(x
))
33 void test2(double x
, double y
)
35 if (-tan(x
-y
) != tan(y
-x
))
38 if (-sin(x
-y
) != sin(y
-x
))
44 if (cosf(x
) != cosf(-x
))
47 #ifdef HAVE_C99_RUNTIME
48 if (sinf(x
)/cosf(x
) != tanf(x
))
51 if (cosf(x
)/sinf(x
) != 1.0f
/tanf(x
))
54 if (tanf(x
)*cosf(x
) != sinf(x
))
57 if (cosf(x
)*tanf(x
) != sinf(x
))
62 void test2f(float x
, float y
)
64 if (-tanf(x
-y
) != tanf(y
-x
))
67 if (-sinf(x
-y
) != sinf(y
-x
))
72 void test1l(long double x
)
74 if (cosl(x
) != cosl(-x
))
77 #ifdef HAVE_C99_RUNTIME
78 if (sinl(x
)/cosl(x
) != tanl(x
))
81 if (cosl(x
)/sinl(x
) != 1.0l/tanl(x
))
84 if (tanl(x
)*cosl(x
) != sinl(x
))
87 if (cosl(x
)*tanl(x
) != sinl(x
))
92 void test2l(long double x
, long double y
)
94 if (-tanl(x
-y
) != tanl(y
-x
))
97 if (-sinl(x
-y
) != sinl(y
-x
))