github.com/afumu/libc@v0.0.6/musl/src/math/i386/hypot.s (about)

     1  .global hypot
     2  .type hypot,@function
     3  hypot:
     4  	mov 8(%esp),%eax
     5  	mov 16(%esp),%ecx
     6  	add %eax,%eax
     7  	add %ecx,%ecx
     8  	and %eax,%ecx
     9  	cmp $0xffe00000,%ecx
    10  	jae 2f
    11  	or 4(%esp),%eax
    12  	jnz 1f
    13  	fldl 12(%esp)
    14  	fabs
    15  	ret
    16  1:	mov 16(%esp),%eax
    17  	add %eax,%eax
    18  	or 12(%esp),%eax
    19  	jnz 1f
    20  	fldl 4(%esp)
    21  	fabs
    22  	ret
    23  1:	fldl 4(%esp)
    24  	fld %st(0)
    25  	fmulp
    26  	fldl 12(%esp)
    27  	fld %st(0)
    28  	fmulp
    29  	faddp
    30  	fsqrt
    31  	ret
    32  2:	sub $0xffe00000,%eax
    33  	or 4(%esp),%eax
    34  	jnz 1f
    35  	fldl 4(%esp)
    36  	fabs
    37  	ret
    38  1:	mov 16(%esp),%eax
    39  	add %eax,%eax
    40  	sub $0xffe00000,%eax
    41  	or 12(%esp),%eax
    42  	fldl 12(%esp)
    43  	jnz 1f
    44  	fabs
    45  1:	ret