31 lines
395 B
C
31 lines
395 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O2" } */
|
|
|
|
typedef float fp_t __attribute__((mode(SD)));
|
|
|
|
extern fp_t g(fp_t);
|
|
|
|
fp_t
|
|
bug(fp_t x)
|
|
{
|
|
fp_t result;
|
|
int n;
|
|
fp_t f, f3, y, z;
|
|
|
|
n = 0;
|
|
y = 1.DF;
|
|
f = g(x);
|
|
|
|
if (f < 0.DF)
|
|
f = -f;
|
|
|
|
f3 = 2.DF;
|
|
|
|
z = (y + y + f / (y * y));
|
|
y = (z + z) / (9.DF) + f3 / (z * z);
|
|
|
|
result = y;
|
|
|
|
return (result);
|
|
}
|