	.file	"extr_e_hypot.c_hypot.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	__ieee754_hypot
	.type	__ieee754_hypot, @function
__ieee754_hypot:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	xor	ebp, ebp
	push	rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	mov	edi, ebp
	xor	ebx, ebx
	and	ebp, 2147483647
	mov	r12d, ebp
	sub	rsp, 56
	.cfi_def_cfa_offset 96
	movsd	QWORD PTR 8[rsp], xmm1
	movsd	QWORD PTR 16[rsp], xmm0
	call	GET_HIGH_WORD@PLT
	movsd	xmm0, QWORD PTR 8[rsp]
	mov	edi, ebx
	call	GET_HIGH_WORD@PLT
	cmp	ebp, ebx
	movsd	xmm3, QWORD PTR 16[rsp]
	jl	.L13
	movsd	xmm2, QWORD PTR 8[rsp]
	movapd	xmm1, xmm3
.L2:
	movq	xmm4, QWORD PTR .LC0[rip]
	mov	eax, r12d
	sub	eax, ebp
	andpd	xmm1, xmm4
	andpd	xmm2, xmm4
	cmp	eax, 62914560
	jg	.L31
	cmp	r12d, 1596981248
	jg	.L32
	xor	ebx, ebx
.L5:
	pxor	xmm4, xmm4
	cmp	ebp, 548405247
	jg	.L8
	cmp	ebp, 1048575
	jg	.L9
	xor	r13d, r13d
	movapd	xmm0, xmm2
	movsd	QWORD PTR 8[rsp], xmm1
	mov	edi, r13d
	movsd	QWORD PTR 16[rsp], xmm2
	call	GET_LOW_WORD@PLT
	or	r13d, ebp
	movsd	xmm1, QWORD PTR 8[rsp]
	je	.L1
	mov	edi, 2144337920
	pxor	xmm0, xmm0
	sub	ebx, 1022
	call	SET_HIGH_WORD@PLT
	movsd	xmm2, QWORD PTR 16[rsp]
	movsd	xmm1, QWORD PTR 8[rsp]
	pxor	xmm4, xmm4
	mulsd	xmm2, xmm4
	mulsd	xmm1, xmm4
	.p2align 4,,10
	.p2align 3
.L8:
	movapd	xmm3, xmm1
	subsd	xmm3, xmm2
	comisd	xmm3, xmm2
	jbe	.L27
	pxor	xmm0, xmm0
	mov	edi, r12d
	movsd	QWORD PTR 24[rsp], xmm4
	movsd	QWORD PTR 16[rsp], xmm1
	movsd	QWORD PTR 8[rsp], xmm2
	call	SET_HIGH_WORD@PLT
	movsd	xmm2, QWORD PTR 8[rsp]
	movsd	xmm1, QWORD PTR 16[rsp]
	movsd	xmm4, QWORD PTR 24[rsp]
	movapd	xmm0, xmm2
	xorpd	xmm0, XMMWORD PTR .LC3[rip]
	mulsd	xmm2, xmm0
	movapd	xmm0, xmm1
	addsd	xmm0, xmm4
	mulsd	xmm1, xmm0
	movapd	xmm0, xmm4
	subsd	xmm2, xmm1
	subsd	xmm0, xmm2
	ucomisd	xmm4, xmm0
	movapd	xmm1, xmm0
	sqrtsd	xmm1, xmm1
	ja	.L29
.L12:
	test	ebx, ebx
	jne	.L33
.L1:
	add	rsp, 56
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	movapd	xmm0, xmm1
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L13:
	.cfi_restore_state
	movsd	xmm1, QWORD PTR 8[rsp]
	movapd	xmm2, xmm3
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L32:
	cmp	r12d, 2146435071
	jg	.L34
	sub	r12d, 629145600
	movapd	xmm0, xmm1
	movsd	QWORD PTR 16[rsp], xmm1
	sub	ebp, 629145600
	mov	edi, r12d
	movsd	QWORD PTR 8[rsp], xmm2
	mov	ebx, 600
	call	SET_HIGH_WORD@PLT
	movsd	xmm2, QWORD PTR 8[rsp]
	mov	edi, ebp
	movapd	xmm0, xmm2
	call	SET_HIGH_WORD@PLT
	movsd	xmm2, QWORD PTR 8[rsp]
	movsd	xmm1, QWORD PTR 16[rsp]
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L31:
	addsd	xmm1, xmm2
	add	rsp, 56
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	movapd	xmm0, xmm1
	ret
	.p2align 4,,10
	.p2align 3
.L27:
	.cfi_restore_state
	mov	edi, ebp
	pxor	xmm0, xmm0
	movsd	QWORD PTR 32[rsp], xmm4
	movsd	QWORD PTR 24[rsp], xmm1
	movsd	QWORD PTR 16[rsp], xmm3
	movsd	QWORD PTR 8[rsp], xmm2
	call	SET_HIGH_WORD@PLT
	pxor	xmm0, xmm0
	lea	edi, 1048576[r12]
	call	SET_HIGH_WORD@PLT
	movsd	xmm1, QWORD PTR 24[rsp]
	movsd	xmm4, QWORD PTR 32[rsp]
	movsd	xmm2, QWORD PTR 8[rsp]
	movsd	xmm3, QWORD PTR 16[rsp]
	addsd	xmm1, xmm1
	movapd	xmm0, xmm3
	xorpd	xmm0, XMMWORD PTR .LC3[rip]
	mulsd	xmm1, xmm2
	mulsd	xmm2, xmm4
	mulsd	xmm3, xmm0
	movapd	xmm0, xmm4
	addsd	xmm2, xmm1
	subsd	xmm3, xmm2
	subsd	xmm0, xmm3
	ucomisd	xmm4, xmm0
	movapd	xmm1, xmm0
	sqrtsd	xmm1, xmm1
	jbe	.L12
.L29:
	movsd	QWORD PTR 8[rsp], xmm1
	call	sqrt@PLT
	movsd	xmm1, QWORD PTR 8[rsp]
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L9:
	movapd	xmm0, xmm1
	add	r12d, 629145600
	movsd	QWORD PTR 16[rsp], xmm1
	add	ebp, 629145600
	mov	edi, r12d
	movsd	QWORD PTR 8[rsp], xmm2
	sub	ebx, 600
	call	SET_HIGH_WORD@PLT
	movsd	xmm2, QWORD PTR 8[rsp]
	mov	edi, ebp
	movapd	xmm0, xmm2
	call	SET_HIGH_WORD@PLT
	movsd	xmm1, QWORD PTR 16[rsp]
	movsd	xmm2, QWORD PTR 8[rsp]
	pxor	xmm4, xmm4
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L33:
	movsd	xmm0, QWORD PTR .LC4[rip]
	xor	edi, edi
	movsd	QWORD PTR 8[rsp], xmm1
	sal	ebx, 20
	call	GET_HIGH_WORD@PLT
	mov	rax, QWORD PTR .LC4[rip]
	mov	edi, ebx
	movq	xmm0, rax
	call	SET_HIGH_WORD@PLT
	movsd	xmm1, QWORD PTR 8[rsp]
	add	rsp, 56
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	movapd	xmm0, xmm1
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L34:
	.cfi_restore_state
	movsd	QWORD PTR 16[rsp], xmm3
	fldz
	fld	QWORD PTR 16[rsp]
	movsd	QWORD PTR 24[rsp], xmm2
	movsd	QWORD PTR 32[rsp], xmm1
	faddp	st(1), st
	fstp	QWORD PTR 16[rsp]
	movsd	xmm0, QWORD PTR 16[rsp]
	call	fabsl@PLT
	movsd	xmm1, QWORD PTR 32[rsp]
	xor	edi, edi
	movsd	QWORD PTR 40[rsp], xmm0
	movapd	xmm0, xmm1
	movsd	QWORD PTR 16[rsp], xmm1
	call	GET_LOW_WORD@PLT
	and	r12d, 1048575
	movsd	xmm1, QWORD PTR 16[rsp]
	movsd	xmm2, QWORD PTR 24[rsp]
	je	.L7
	movsd	xmm5, QWORD PTR 8[rsp]
	addsd	xmm5, QWORD PTR .LC2[rip]
	movq	xmm4, QWORD PTR .LC0[rip]
	movsd	xmm1, QWORD PTR 40[rsp]
	movapd	xmm0, xmm5
	andpd	xmm0, xmm4
	subsd	xmm1, xmm0
.L7:
	xor	edi, edi
	movapd	xmm0, xmm2
	movsd	QWORD PTR 8[rsp], xmm1
	movsd	QWORD PTR 16[rsp], xmm2
	call	GET_LOW_WORD@PLT
	cmp	ebp, 2146435072
	movsd	xmm1, QWORD PTR 8[rsp]
	jne	.L1
	movsd	xmm2, QWORD PTR 16[rsp]
	movapd	xmm1, xmm2
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	__ieee754_hypot, .-__ieee754_hypot
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC0:
	.long	4294967295
	.long	2147483647
	.long	0
	.long	0
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC2:
	.long	0
	.long	0
	.section	.rodata.cst16
	.align 16
.LC3:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.section	.rodata.cst8
	.align 8
.LC4:
	.long	0
	.long	1072693248
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_e_hypot.c_hypot.c"
	.text
	.global	__aeabi_dadd
	.global	__aeabi_dsub
	.global	__aeabi_dmul
	.global	__aeabi_dcmplt
	.align	2
	.global	__ieee754_hypot
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ieee754_hypot, %function
__ieee754_hypot:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r7, r1
	mov	r8, #0
	mov	r1, r0
	mov	r10, r7
	mov	r6, r2
	mov	r7, r3
	sub	sp, sp, #20
	mov	r2, r1
	mov	r3, r10
	str	r0, [sp, #4]
	mov	r0, r8
	bic	r5, r8, #-2147483648
	str	r7, [sp, #12]
	bl	GET_HIGH_WORD
	mov	r2, r6
	mov	r3, r7
	mov	r0, r8
	bl	GET_HIGH_WORD
	cmp	r5, r8
	mov	r9, r6
	movge	r6, r7
	ldr	r1, [sp, #4]
	movge	r3, r6
	movge	r8, r9
	movge	r6, r10
	movlt	r8, r1
	movlt	r3, r10
	ldrlt	r6, [sp, #12]
	sub	r2, r5, r5
	strge	r1, [sp, #8]
	strlt	r9, [sp, #8]
	cmp	r2, #62914560
	mov	r4, r5
	ldr	r7, [sp, #8]
	bic	r6, r6, #-2147483648
	bic	fp, r3, #-2147483648
	str	r8, [sp, #4]
	bgt	.L29
	ldr	r3, .L33
	cmp	r5, r3
	bgt	.L30
	mov	r9, #0
.L5:
	ldr	r3, .L33+4
	cmp	r5, r3
	bgt	.L8
	cmp	r5, #1048576
	bge	.L9
	mov	r10, #0
	mov	r3, fp
	mov	r2, r8
	mov	r0, r10
	bl	GET_LOW_WORD
	orrs	r3, r5, r10
	beq	.L1
	mov	r1, #0
	ldr	r2, .L33+8
	mov	r0, #0
	bl	SET_HIGH_WORD
	mov	r1, fp
	mov	r2, #0
	mov	r3, #0
	mov	r0, r8
	bl	__aeabi_dmul
	mov	lr, r0
	mov	ip, r1
	ldr	r2, [sp, #8]
	mov	r1, r6
	mov	r0, r2
	mov	r3, #0
	mov	r2, #0
	mov	fp, ip
	str	lr, [sp, #4]
	bl	__aeabi_dmul
	mov	r7, r0
	mov	r6, r1
	sub	r9, r9, #1020
	sub	r9, r9, #2
.L8:
	mov	r3, fp
	ldr	r2, [sp, #4]
	mov	r0, r7
	mov	r1, r6
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r0
	mov	r10, r1
	ldr	r0, [sp, #4]
	mov	r1, fp
	bl	__aeabi_dcmplt
	cmp	r0, #0
	beq	.L25
	mov	r2, r4
	mov	r1, #0
	mov	r0, #0
	bl	SET_HIGH_WORD
	ldr	ip, [sp, #4]
	mov	r3, fp
	mov	r2, ip
	mov	r0, ip
	add	r1, fp, #-2147483648
	bl	__aeabi_dmul
	mov	r2, #0
	mov	r3, #0
	mov	r4, r0
	mov	r5, r1
	mov	r0, r7
	mov	r1, r6
	bl	__aeabi_dadd
	mov	r2, r7
	mov	r3, r6
	bl	__aeabi_dmul
.L27:
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #0
	bl	__aeabi_dsub
	bl	sqrt
	cmp	r9, #0
	mov	r7, r0
	mov	r6, r1
	bne	.L31
.L1:
	mov	r0, r7
	mov	r1, r6
	add	sp, sp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L30:
	ldr	r3, .L33+12
	cmp	r5, r3
	bgt	.L32
	sub	r4, r5, #629145600
	mov	r1, r6
	mov	r2, r4
	ldr	r0, [sp, #8]
	sub	r5, r5, #629145600
	bl	SET_HIGH_WORD
	mov	r2, r5
	mov	r0, r8
	mov	r1, fp
	bl	SET_HIGH_WORD
	mov	r9, #600
	b	.L5
.L29:
	mov	r2, r8
	mov	r0, r7
	mov	r3, fp
	mov	r1, r6
	bl	__aeabi_dadd
	mov	r7, r0
	mov	r6, r1
	mov	r0, r7
	mov	r1, r6
	add	sp, sp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L25:
	mov	r2, r5
	mov	r1, #0
	mov	r0, #0
	bl	SET_HIGH_WORD
	add	r2, r4, #1048576
	mov	r1, #0
	mov	r0, #0
	bl	SET_HIGH_WORD
	mov	r2, r8
	mov	r3, r10
	mov	r0, r8
	add	r1, r10, #-2147483648
	bl	__aeabi_dmul
	mov	r2, r7
	mov	r3, r6
	mov	r4, r0
	mov	r5, r1
	mov	r0, r7
	mov	r1, r6
	bl	__aeabi_dadd
	ldr	r6, [sp, #4]
	mov	r3, fp
	mov	r2, r6
	bl	__aeabi_dmul
	mov	r2, r6
	mov	r7, r1
	mov	r6, r0
	mov	r1, fp
	mov	r0, r2
	mov	r3, #0
	mov	r2, #0
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	b	.L27
.L9:
	add	r4, r4, #629145600
	mov	r1, r6
	mov	r2, r4
	ldr	r0, [sp, #8]
	add	r5, r5, #629145600
	bl	SET_HIGH_WORD
	mov	r2, r5
	mov	r0, r8
	mov	r1, fp
	sub	r9, r9, #600
	bl	SET_HIGH_WORD
	b	.L8
.L31:
	ldr	r3, .L33+16
	mov	r2, #0
	mov	r0, #0
	bl	GET_HIGH_WORD
	ldr	r1, .L33+16
	lsl	r2, r9, #20
	mov	r0, #0
	bl	SET_HIGH_WORD
	mov	r0, r7
	mov	r1, r6
	add	sp, sp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L32:
	bic	r4, r5, #-16777216
	mov	r2, r7
	mov	r3, r6
	mov	r0, #0
	bic	r4, r4, #15728640
	str	r1, [sp, #4]
	bl	GET_LOW_WORD
	cmp	r4, #0
	beq	.L7
	ldr	r1, [sp, #4]
	mov	r2, #0
	mov	r3, #0
	mov	r0, r1
	mov	r1, r10
	bl	__aeabi_dadd
	mov	ip, r0
	ldr	r7, [sp, #12]
	mov	r4, r1
	mov	r2, #0
	mov	r3, #0
	mov	r1, r7
	mov	r0, r9
	mov	r6, ip
	bl	__aeabi_dadd
	bic	r4, r4, #-2147483648
	mov	r2, r0
	bic	r3, r1, #-2147483648
	mov	r0, r6
	mov	r1, r4
	bl	__aeabi_dsub
	mov	r7, r0
	mov	r6, r1
.L7:
	eor	r5, r5, #2130706432
	mov	r2, r8
	mov	r3, fp
	eor	r5, r5, #15728640
	mov	r0, #0
	bl	GET_LOW_WORD
	cmp	r5, #0
	moveq	r7, r8
	moveq	r6, fp
	mov	r0, r7
	mov	r1, r6
	add	sp, sp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L34:
	.align	2
.L33:
	.word	1596981248
	.word	548405247
	.word	2144337920
	.word	2146435071
	.word	1072693248
	.size	__ieee754_hypot, .-__ieee754_hypot
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
