| .global sqrt | |
| .type sqrt,@function | |
| sqrt: fldl 4(%esp) | |
| fsqrt | |
| fnstsw %ax | |
| sub $12,%esp | |
| fld %st(0) | |
| fstpt (%esp) | |
| mov (%esp),%ecx | |
| and $0x7ff,%ecx | |
| cmp $0x400,%ecx | |
| jnz 1f | |
| and $0x200,%eax | |
| sub $0x100,%eax | |
| sub %eax,(%esp) | |
| fstp %st(0) | |
| fldt (%esp) | |
| 1: add $12,%esp | |
| fstpl 4(%esp) | |
| fldl 4(%esp) | |
| ret |