github.com/afumu/libc@v0.0.6/musl/src/math/i386/fmod.c (about) 1 #include <math.h> 2 3 double fmod(double x, double y) 4 { 5 unsigned short fpsr; 6 // fprem does not introduce excess precision into x 7 do __asm__ ("fprem; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y)); 8 while (fpsr & 0x400); 9 return x; 10 }