------- Comment #1 from dougkwan at google dot com 2008-01-25 04:03 ------- Another test case: extern __inline double atan (double __x) { register double __result; __asm __volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; }
f(double *p) { double theta; double cos_theta, sin_theta; theta = atan(*p); sin_theta = sin(theta); cos_theta = cos(theta); *p = atan(sin_theta * cos_theta); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34968