>>93
double sin(double x){
  float s;
  _asm{
    fld x
    lea ecx, [c]
    lea eax, [s]
    fsincos
    fstp dword ptr[ecx]
    fstp dword ptr[eax]
  }
  return s;
}
こんな感じかな?
あとこういうのが気になりだしたら、
http://sources.redhat.com/glibc/
あたりからソースを持ってきて見てみるといいかも。