__asm volatile ("fnstcw %0" : "=m" (__cw));
__asm __volatile ("fnstcw %0" : "=m" (__cw));
floor (double __x){  register double __value;  volatile short __cw, __cwtmp;  __asm volatile ("fnstcw %0" : "=m" (__cw));  __cwtmp = (__cw & 0xf3ff) | 0x0400; /* rounding down */  __asm volatile ("fldcw %0" : : "m" (__cwtmp));  __asm volatile ("frndint" : "=t" (__value) : "0" (__x));  __asm volatile ("fldcw %0" : : "m" (__cw));  return __value;}