.global hypot .type hypot,@function hypot: mov 8(%esp),%eax mov 16(%esp),%ecx add %eax,%eax add %ecx,%ecx and %eax,%ecx cmp $0xffe00000,%ecx jae 2f or 4(%esp),%eax jnz 1f fldl 12(%esp) fabs ret 1: mov 16(%esp),%eax add %eax,%eax or 12(%esp),%eax jnz 1f fldl 4(%esp) fabs ret 1: fldl 4(%esp) fld %st(0) fmulp fldl 12(%esp) fld %st(0) fmulp faddp fsqrt ret 2: sub $0xffe00000,%eax or 4(%esp),%eax jnz 1f fldl 4(%esp) fabs ret 1: mov 16(%esp),%eax add %eax,%eax sub $0xffe00000,%eax or 12(%esp),%eax fldl 12(%esp) jnz 1f fabs 1: ret