1#include <math.h> 2 3long double fmodl(long double x, long double y) 4{ 5 unsigned short fpsr; 6 do __asm__ ("fprem; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y)); 7 while (fpsr & 0x400); 8 return x; 9} 10