1/* { dg-do compile } */
2/* { dg-options "-O2" } */
3
4typedef float fp_t __attribute__((mode(SD)));
5
6extern fp_t g(fp_t);
7
8fp_t
9bug(fp_t x)
10{
11    fp_t result;
12    int n;
13    fp_t f, f3, y, z;
14
15    n = 0;
16    y = 1.DF;
17    f = g(x);
18
19    if (f < 0.DF)
20        f = -f;
21
22    f3 = 2.DF;
23
24    z = (y + y + f / (y * y));
25    y = (z + z) / (9.DF) + f3 / (z * z);
26
27    result = y;
28
29    return (result);
30}
31