2 /* { dg-options "-O2 -ffast-math" } */
4 extern double pow(double, double);
5 extern double fabs(double);
6 extern void abort(void);
8 double test2_1(double x
)
13 double test2_2(double x
)
18 double test2_3(double x
)
20 return pow(fabs(x
),2.0);
23 double test3_1(double x
)
28 double test3_2(double x
)
33 double test3_3(double x
)
35 return pow(fabs(x
),3.0);
38 double test6_1(double x
)
43 double test6_2(double x
)
48 double test6_3(double x
)
50 return pow(fabs(x
),6.0);
56 if (test2_1(1.0) != 1.0)
58 if (test2_1(2.0) != 4.0)
60 if (test2_1(0.0) != 0.0)
62 if (test2_1(-1.0) != 1.0)
64 if (test2_1(-2.0) != 4.0)
67 if (test2_2(1.0) != 1.0)
69 if (test2_2(2.0) != 4.0)
71 if (test2_2(0.0) != 0.0)
73 if (test2_2(-1.0) != 1.0)
75 if (test2_2(-2.0) != 4.0)
78 if (test2_3(1.0) != 1.0)
80 if (test2_3(2.0) != 4.0)
82 if (test2_3(0.0) != 0.0)
84 if (test2_3(-1.0) != 1.0)
86 if (test2_3(2.0) != 4.0)
89 if (test3_1(1.0) != 1.0)
91 if (test3_1(2.0) != 8.0)
93 if (test3_1(0.0) != 0.0)
95 if (test3_1(-1.0) != -1.0)
97 if (test3_1(-2.0) != -8.0)
100 if (test3_2(1.0) != -1.0)
102 if (test3_2(2.0) != -8.0)
104 if (test3_2(0.0) != -0.0)
106 if (test3_2(-1.0) != 1.0)
108 if (test3_2(-2.0) != 8.0)
111 if (test3_3(1.0) != 1.0)
113 if (test3_3(2.0) != 8.0)
115 if (test3_3(0.0) != 0.0)
117 if (test3_3(-1.0) != 1.0)
119 if (test3_3(-2.0) != 8.0)
122 if (test6_1(1.0) != 1.0)
124 if (test6_1(2.0) != 64.0)
126 if (test6_1(0.0) != 0.0)
128 if (test6_1(-1.0) != 1.0)
130 if (test6_1(-2.0) != 64.0)
133 if (test6_2(1.0) != 1.0)
135 if (test6_2(2.0) != 64.0)
137 if (test6_2(0.0) != 0.0)
139 if (test6_2(-1.0) != 1.0)
141 if (test6_2(-2.0) != 64.0)
144 if (test6_3(1.0) != 1.0)
146 if (test6_3(2.0) != 64.0)
148 if (test6_3(0.0) != 0.0)
150 if (test6_3(-1.0) != 1.0)
152 if (test6_3(-2.0) != 64.0)