#include double atan2 (double __y, double __x); /* * @implemented */ double atan2 (double __y, double __x) { register double __val; #ifdef __GNUC__ __asm __volatile__ ("fpatan\n\t" "fld %%st(0)" : "=t" (__val) : "0" (__x), "u" (__y)); #else __asm { fld __y fld __x fpatan fstp __val } #endif /*__GNUC__*/ return __val; }