/programs/develop/libraries/menuetlibc/src/libm/s_tan.s |
---|
0,0 → 1,20 |
#include<libc/asm.h> |
MK_C_SYM(tan) |
fldl 4(%esp) |
fptan |
fnstsw %ax |
andw $0x400,%ax |
jnz 1f |
fstp %st(0) |
ret |
1: fldpi |
fadd %st(0) |
fxch %st(1) |
2: fprem1 |
fstsw %ax |
andw $0x400,%ax |
jnz 2b |
fstp %st(1) |
fptan |
fstp %st(0) |
ret |