1 /* { dg-do compile } */ 2 /* { dg-options "-O2" } */ 3 4 typedef float fp_t __attribute__((mode(SD))); 5 6 extern fp_t g(fp_t); 7 8 fp_t bug(fp_t x)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