	.file	"extr_fmpyfadd.c_dbl_fmpyfadd.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	dbl_fmpyfadd
	.type	dbl_fmpyfadd, @function
dbl_fmpyfadd:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15, rsi
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	xor	r14d, r14d
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	xor	r13d, r13d
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	esi, r13d
	mov	r12, r8
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rdx
	mov	edx, r14d
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 24
	.cfi_def_cfa_offset 80
	mov	rax, QWORD PTR FALSE[rip]
	mov	QWORD PTR [rsp], rax
	call	Dbl_copyfromptr@PLT
	xor	esi, esi
	mov	rdi, r15
	mov	edx, esi
	call	Dbl_copyfromptr@PLT
	xor	r10d, r10d
	xor	edi, edi
	mov	esi, edi
	mov	edx, r10d
	mov	rdi, rbp
	call	Dbl_copyfromptr@PLT
	mov	edi, r13d
	call	Dbl_sign@PLT
	mov	edi, r14d
	mov	ebx, eax
	call	Dbl_sign@PLT
	cmp	ebx, eax
	je	.L2
	mov	edi, r14d
	call	Dbl_setnegativezerop1@PLT
.L3:
	xor	r13d, r13d
	xor	r14d, r14d
	mov	edi, r13d
	call	Dbl_exponent@PLT
	mov	edi, r14d
	mov	ebx, eax
	call	Dbl_exponent@PLT
	mov	edi, r13d
	mov	r15d, DWORD PTR DBL_BIAS[rip]
	mov	ebp, eax
	call	Dbl_isinfinity_exponent@PLT
	test	rax, rax
	je	.L4
	mov	esi, r14d
	mov	edi, r13d
	call	Dbl_iszero_mantissa@PLT
	test	rax, rax
	je	.L5
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_isnotnan@PLT
	test	rax, rax
	jne	.L208
.L4:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_isinfinity_exponent@PLT
	test	rax, rax
	jne	.L209
.L17:
	xor	edi, edi
	call	Dbl_isinfinity_exponent@PLT
	test	rax, rax
	je	.L27
	xor	r10d, r10d
	xor	edi, edi
	mov	esi, r10d
	call	Dbl_iszero_mantissa@PLT
	test	rax, rax
	jne	.L43
	xor	edi, edi
	call	Dbl_isone_signaling@PLT
	test	rax, rax
	je	.L43
	xor	eax, eax
	call	Is_invalidtrap_enabled@PLT
	test	rax, rax
	jne	.L190
	xor	eax, eax
	call	Set_invalidflag@PLT
	xor	edi, edi
	call	Dbl_set_quiet@PLT
	.p2align 4,,10
	.p2align 3
.L43:
	xor	r10d, r10d
	mov	rdx, r12
	xor	edi, edi
	mov	esi, r10d
	call	Dbl_copytoptr@PLT
	mov	eax, DWORD PTR NOEXCEPTION[rip]
.L1:
	add	rsp, 24
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L209:
	.cfi_restore_state
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_iszero_mantissa@PLT
	test	rax, rax
	jne	.L210
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_isone_signaling@PLT
	test	rax, rax
	je	.L23
	xor	eax, eax
	call	Is_invalidtrap_enabled@PLT
	test	rax, rax
	je	.L24
.L190:
	mov	eax, DWORD PTR OPC_2E_INVALIDEXCEPTION[rip]
	add	rsp, 24
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	.cfi_restore_state
	xor	r13d, r13d
	mov	edi, r13d
	call	Dbl_isone_signaling@PLT
	test	rax, rax
	jne	.L211
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_is_signalingnan@PLT
	test	rax, rax
	je	.L14
	xor	eax, eax
	call	Is_invalidtrap_enabled@PLT
	test	rax, rax
	jne	.L190
	xor	eax, eax
	xor	r14d, r14d
	call	Set_invalidflag@PLT
	mov	edi, r14d
	call	Dbl_set_quiet@PLT
	jmp	.L186
	.p2align 4,,10
	.p2align 3
.L2:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_setzerop1@PLT
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L27:
	xor	r13d, r13d
	add	ebp, ebx
	mov	edi, r13d
	sub	ebp, r15d
	call	Dbl_isnotzero_exponent@PLT
	test	rax, rax
	jne	.L212
	xor	r14d, r14d
	xor	r13d, r13d
	mov	esi, r14d
	mov	edi, r13d
	call	Dbl_iszero_mantissa@PLT
	test	rax, rax
	jne	.L205
	xor	r13d, r13d
	xor	r14d, r14d
	mov	edi, r13d
	call	Dbl_clear_signexponent@PLT
	mov	esi, r14d
	mov	edi, r13d
	call	Dbl_leftshiftby1@PLT
	mov	edx, ebp
	mov	esi, r14d
	mov	edi, r13d
	call	Dbl_normalize@PLT
.L32:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_isnotzero_exponent@PLT
	test	rax, rax
	je	.L38
	mov	edi, r14d
	call	Dbl_clear_signexponent_set_hidden@PLT
.L39:
	xor	r10d, r10d
	xor	edi, edi
	mov	ecx, r10d
	mov	edx, r10d
	mov	esi, r10d
	call	Dblext_setzero@PLT
	mov	ebx, DWORD PTR DBL_P[rip]
	sub	ebx, 1
	js	.L45
	xor	esi, esi
	mov	DWORD PTR 8[rsp], ebp
	xor	r14d, r14d
	lea	eax, 0[0+rsi*4]
	lea	r15d, 0[0+rsi*8]
	lea	r13d, [rsi+rsi]
	mov	ebp, eax
	jmp	.L50
	.p2align 4,,10
	.p2align 3
.L46:
	xor	edi, edi
	call	Dbit29p2@PLT
	test	rax, rax
	jne	.L213
.L47:
	xor	edi, edi
	call	Dbit30p2@PLT
	test	rax, rax
	jne	.L214
.L48:
	xor	edi, edi
	call	Dbit31p2@PLT
	test	rax, rax
	jne	.L215
.L49:
	xor	edi, edi
	mov	esi, edi
	call	Dbl_rightshiftby4@PLT
	sub	ebx, 4
	js	.L216
.L50:
	xor	edi, edi
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	call	Dblext_rightshiftby4@PLT
	xor	edi, edi
	call	Dbit28p2@PLT
	test	rax, rax
	je	.L46
	push	0
	.cfi_def_cfa_offset 88
	xor	edi, edi
	xor	ecx, ecx
	xor	edx, edx
	push	0
	.cfi_def_cfa_offset 96
	xor	esi, esi
	mov	r9d, r15d
	mov	r8d, r14d
	call	Fourword_add@PLT
	pop	r11
	.cfi_def_cfa_offset 88
	xor	edi, edi
	pop	rax
	.cfi_def_cfa_offset 80
	call	Dbit29p2@PLT
	test	rax, rax
	je	.L47
.L213:
	push	0
	.cfi_def_cfa_offset 88
	xor	edi, edi
	mov	r9d, ebp
	xor	r8d, r8d
	push	0
	.cfi_def_cfa_offset 96
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	call	Fourword_add@PLT
	pop	r9
	.cfi_def_cfa_offset 88
	xor	edi, edi
	pop	r10
	.cfi_def_cfa_offset 80
	call	Dbit30p2@PLT
	test	rax, rax
	je	.L48
.L214:
	push	0
	.cfi_def_cfa_offset 88
	xor	r8d, r8d
	xor	edi, edi
	xor	ecx, ecx
	push	0
	.cfi_def_cfa_offset 96
	xor	edx, edx
	xor	esi, esi
	mov	r9d, r13d
	call	Fourword_add@PLT
	pop	rdi
	.cfi_def_cfa_offset 88
	xor	edi, edi
	pop	r8
	.cfi_def_cfa_offset 80
	call	Dbit31p2@PLT
	test	rax, rax
	je	.L49
.L215:
	push	0
	.cfi_def_cfa_offset 88
	xor	ecx, ecx
	xor	esi, esi
	xor	edi, edi
	push	0
	.cfi_def_cfa_offset 96
	xor	r9d, r9d
	xor	r8d, r8d
	xor	edx, edx
	call	Fourword_add@PLT
	xor	edi, edi
	pop	rcx
	.cfi_def_cfa_offset 88
	pop	rsi
	.cfi_def_cfa_offset 80
	mov	esi, edi
	call	Dbl_rightshiftby4@PLT
	sub	ebx, 4
	jns	.L50
.L216:
	mov	ebp, DWORD PTR 8[rsp]
.L45:
	xor	edi, edi
	call	Is_dexthiddenoverflow@PLT
	test	rax, rax
	jne	.L217
.L51:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_sign@PLT
	xor	edi, edi
	mov	esi, eax
	call	Dblext_set_sign@PLT
	xor	edi, edi
	call	Dbl_exponent@PLT
	mov	ebx, eax
	test	eax, eax
	jne	.L52
	xor	r10d, r10d
	xor	edi, edi
	mov	esi, r10d
	call	Dbl_iszero_mantissa@PLT
	test	rax, rax
	jne	.L218
	xor	edi, edi
	mov	DWORD PTR 8[rsp], edi
	call	Dbl_signextendedsign@PLT
	mov	edi, DWORD PTR 8[rsp]
	mov	r14d, eax
	call	Dbl_clear_signexponent@PLT
	xor	r10d, r10d
	mov	edi, DWORD PTR 8[rsp]
	mov	esi, r10d
	mov	DWORD PTR 12[rsp], r10d
	call	Dbl_leftshiftby1@PLT
	mov	r10d, DWORD PTR 12[rsp]
	mov	edi, DWORD PTR 8[rsp]
	xor	edx, edx
	mov	esi, r10d
	call	Dbl_normalize@PLT
	mov	edi, DWORD PTR 8[rsp]
	mov	esi, r14d
	call	Dbl_set_sign@PLT
	jmp	.L55
	.p2align 4,,10
	.p2align 3
.L210:
	xor	r10d, r10d
	xor	edi, edi
	mov	esi, r10d
	call	Dbl_isnotnan@PLT
	test	rax, rax
	je	.L17
	xor	r13d, r13d
	mov	esi, r14d
	mov	edi, r13d
	call	Dbl_iszero_exponentmantissa@PLT
	test	rax, rax
	jne	.L219
.L19:
	xor	r10d, r10d
	xor	edi, edi
	mov	esi, r10d
	call	Dbl_isinfinity@PLT
	test	rax, rax
	je	.L9
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_sign@PLT
	xor	edi, edi
	mov	ebx, eax
	call	Dbl_sign@PLT
	cmp	ebx, eax
	je	.L9
.L197:
	xor	eax, eax
	call	Is_invalidtrap_enabled@PLT
	test	rax, rax
	jne	.L190
	xor	eax, eax
	xor	r14d, r14d
	call	Set_invalidflag@PLT
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_makequietnan@PLT
	.p2align 4,,10
	.p2align 3
.L186:
	mov	rdx, r12
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_copytoptr@PLT
	mov	eax, DWORD PTR NOEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L211:
	xor	eax, eax
	call	Is_invalidtrap_enabled@PLT
	test	rax, rax
	jne	.L190
	xor	eax, eax
	xor	r13d, r13d
	call	Set_invalidflag@PLT
	mov	edi, r13d
	call	Dbl_set_quiet@PLT
.L13:
	xor	r14d, r14d
	xor	r13d, r13d
	mov	rdx, r12
	mov	esi, r14d
	mov	edi, r13d
	call	Dbl_copytoptr@PLT
	mov	eax, DWORD PTR NOEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L212:
	mov	edi, r13d
	call	Dbl_clear_signexponent_set_hidden@PLT
	jmp	.L32
	.p2align 4,,10
	.p2align 3
.L208:
	xor	r10d, r10d
	xor	edi, edi
	mov	esi, r10d
	call	Dbl_isnotnan@PLT
	test	rax, rax
	je	.L4
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_iszero_exponentmantissa@PLT
	test	rax, rax
	je	.L19
	jmp	.L197
	.p2align 4,,10
	.p2align 3
.L38:
	xor	r14d, r14d
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_iszero_mantissa@PLT
	test	rax, rax
	je	.L40
.L205:
	xor	r10d, r10d
	xor	edi, edi
	mov	esi, r10d
	call	Dbl_iszero_exponentmantissa@PLT
	test	rax, rax
	jne	.L220
	xor	edi, edi
	call	Dbl_iszero_exponent@PLT
	test	rax, rax
	je	.L43
	xor	eax, eax
	call	Is_underflowtrap_enabled@PLT
	test	rax, rax
	je	.L43
	xor	edi, edi
	mov	DWORD PTR [rsp], edi
	call	Dbl_signextendedsign@PLT
	xor	r10d, r10d
	mov	edi, DWORD PTR [rsp]
	mov	esi, r10d
	mov	DWORD PTR 8[rsp], r10d
	mov	ebp, eax
	call	Dbl_leftshiftby1@PLT
	mov	r10d, DWORD PTR 8[rsp]
	mov	edi, DWORD PTR [rsp]
	xor	edx, edx
	mov	esi, r10d
	call	Dbl_normalize@PLT
	mov	edi, DWORD PTR [rsp]
	mov	esi, ebp
	call	Dbl_set_sign@PLT
	mov	edx, DWORD PTR unfl[rip]
	mov	edi, DWORD PTR [rsp]
	xor	esi, esi
	call	Dbl_setwrapped_exponent@PLT
	mov	r10d, DWORD PTR 8[rsp]
	mov	edi, DWORD PTR [rsp]
	mov	rdx, r12
	mov	esi, r10d
	call	Dbl_copytoptr@PLT
	mov	eax, DWORD PTR OPC_2E_UNDERFLOWEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L23:
	xor	edi, edi
	call	Dbl_is_signalingnan@PLT
	test	rax, rax
	jne	.L192
.L25:
	xor	r14d, r14d
	mov	rdx, r12
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_copytoptr@PLT
	mov	eax, DWORD PTR NOEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L14:
	xor	edi, edi
	call	Dbl_is_signalingnan@PLT
	test	rax, rax
	je	.L13
.L192:
	xor	eax, eax
	call	Is_invalidtrap_enabled@PLT
	test	rax, rax
	jne	.L190
	xor	eax, eax
	call	Set_invalidflag@PLT
	xor	edi, edi
	mov	DWORD PTR [rsp], edi
	call	Dbl_set_quiet@PLT
	xor	r10d, r10d
	mov	edi, DWORD PTR [rsp]
	mov	rdx, r12
	mov	esi, r10d
	call	Dbl_copytoptr@PLT
	mov	eax, DWORD PTR NOEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L52:
	xor	edi, edi
	call	Dbl_clear_exponent_set_hidden@PLT
.L55:
	xor	esi, esi
	xor	r14d, r14d
	xor	r9d, r9d
	xor	r8d, r8d
	mov	ecx, esi
	xor	edi, edi
	mov	edx, r14d
	xor	r15d, r15d
	call	Dbl_copyto_dblext@PLT
	xor	edi, edi
	mov	edx, r15d
	mov	esi, r14d
	mov	DWORD PTR 8[rsp], edi
	call	Dblext_xortointp1@PLT
	mov	edi, DWORD PTR 8[rsp]
	xor	esi, esi
	call	Dblext_copytoint_exponentmantissap1@PLT
	xor	esi, esi
	mov	edi, r14d
	call	Dblext_copytoint_exponentmantissap1@PLT
	cmp	ebp, ebx
	jl	.L59
	je	.L221
.L58:
	mov	r8d, ebp
	sub	r8d, ebx
.L57:
	cmp	DWORD PTR DBLEXT_THRESHOLD[rip], r8d
	mov	ebx, r8d
	cmovle	ebx, DWORD PTR DBLEXT_THRESHOLD[rip]
	xor	r14d, r14d
	mov	edi, r14d
	call	Dblext_clear_sign@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	r8d, ebx
	mov	edi, r14d
	call	Dblext_right_align@PLT
	push	0
	.cfi_def_cfa_offset 88
	xor	r10d, r10d
	xor	r9d, r9d
	push	0
	.cfi_def_cfa_offset 96
	xor	r8d, r8d
	xor	edi, edi
	mov	ecx, r10d
	push	0
	.cfi_def_cfa_offset 104
	mov	edx, r10d
	mov	esi, r10d
	push	r14
	.cfi_def_cfa_offset 112
	push	0
	.cfi_def_cfa_offset 120
	push	0
	.cfi_def_cfa_offset 128
	call	Dblext_addition@PLT
	add	rsp, 48
	.cfi_def_cfa_offset 80
	mov	edi, r14d
	call	Dbl_signextendedsign@PLT
	mov	edi, r14d
	mov	r15d, eax
	call	Dbl_isone_hiddenoverflow@PLT
	test	rax, rax
	jne	.L222
.L54:
	test	ebp, ebp
	jle	.L223
.L70:
	xor	r14d, r14d
	mov	esi, r15d
	mov	edi, r14d
	call	Dbl_set_sign@PLT
	xor	edi, edi
	call	Dblext_isnotzero_mantissap3@PLT
	test	rax, rax
	jne	.L77
	xor	edi, edi
	call	Dblext_isnotzero_mantissap4@PLT
	mov	rbx, QWORD PTR [rsp]
	test	rax, rax
	jne	.L77
.L78:
	cmp	DWORD PTR DBL_INFINITY_EXPONENT[rip], ebp
	jle	.L224
	test	ebp, ebp
	jle	.L225
	xor	r14d, r14d
	mov	esi, ebp
	mov	edi, r14d
	call	Dbl_set_exponent@PLT
.L88:
	xor	r14d, r14d
	xor	esi, esi
	mov	rdx, r12
	mov	edi, r14d
	call	Dbl_copytoptr@PLT
	test	rbx, rbx
	jne	.L93
.L94:
	mov	eax, DWORD PTR NOEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L77:
	xor	eax, eax
	mov	rbx, QWORD PTR TRUE[rip]
	call	Rounding_mode@PLT
	cmp	eax, 130
	je	.L73
	cmp	eax, 131
	je	.L74
	cmp	eax, 129
	je	.L226
.L76:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_isone_hiddenoverflow@PLT
	cmp	rax, 1
	sbb	ebp, -1
	jmp	.L78
	.p2align 4,,10
	.p2align 3
.L40:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_clear_signexponent@PLT
	xor	esi, esi
	mov	edi, r14d
	mov	DWORD PTR 8[rsp], esi
	call	Dbl_leftshiftby1@PLT
	mov	esi, DWORD PTR 8[rsp]
	mov	edx, ebp
	mov	edi, r14d
	call	Dbl_normalize@PLT
	jmp	.L39
	.p2align 4,,10
	.p2align 3
.L219:
	xor	eax, eax
	call	Is_invalidtrap_enabled@PLT
	test	rax, rax
	jne	.L190
	xor	r14d, r14d
	xor	eax, eax
	call	Set_invalidflag@PLT
	xor	esi, esi
	mov	edi, r14d
	mov	DWORD PTR [rsp], esi
	call	Dbl_makequietnan@PLT
	mov	esi, DWORD PTR [rsp]
	mov	rdx, r12
	mov	edi, r14d
	call	Dbl_copytoptr@PLT
	mov	eax, DWORD PTR NOEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L218:
	push	0
	.cfi_def_cfa_offset 88
	xor	r10d, r10d
	xor	r9d, r9d
	mov	r8d, r14d
	push	0
	.cfi_def_cfa_offset 96
	mov	edx, r10d
	mov	ecx, r10d
	mov	esi, r10d
	xor	edi, edi
	call	Dblext_copy@PLT
	mov	edi, r14d
	call	Dbl_signextendedsign@PLT
	mov	r15d, eax
	pop	rax
	.cfi_def_cfa_offset 88
	pop	rdx
	.cfi_def_cfa_offset 80
	jmp	.L54
	.p2align 4,,10
	.p2align 3
.L217:
	xor	r10d, r10d
	xor	edi, edi
	add	ebp, 1
	mov	ecx, r10d
	mov	edx, r10d
	mov	esi, r10d
	call	Dblext_rightshiftby1@PLT
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L221:
	xor	esi, esi
	xor	r10d, r10d
	mov	ecx, esi
	mov	edx, esi
	mov	edi, r10d
	call	Dblext_ismagnitudeless@PLT
	test	rax, rax
	je	.L58
	.p2align 4,,10
	.p2align 3
.L59:
	xor	r14d, r14d
	xor	r15d, r15d
	mov	edx, r14d
	mov	esi, r14d
	mov	edi, r15d
	call	Dblext_xorfromintp1@PLT
	xor	edi, edi
	mov	edx, edi
	mov	esi, edi
	call	Dblext_xorfromintp1@PLT
	xor	r10d, r10d
	xor	esi, esi
	xor	r8d, r8d
	xor	r9d, r9d
	mov	ecx, esi
	mov	edx, r10d
	mov	edi, r10d
	call	Dblext_swap_lower@PLT
	mov	r8d, ebx
	sub	r8d, ebp
	mov	ebp, ebx
	jmp	.L57
	.p2align 4,,10
	.p2align 3
.L224:
	xor	eax, eax
	call	Is_overflowtrap_enabled@PLT
	test	rax, rax
	je	.L85
	xor	r14d, r14d
	mov	edx, DWORD PTR ovfl[rip]
	mov	esi, ebp
	mov	edi, r14d
	call	Dbl_setwrapped_exponent@PLT
	xor	esi, esi
	mov	rdx, r12
	mov	edi, r14d
	call	Dbl_copytoptr@PLT
	test	rbx, rbx
	je	.L86
	xor	eax, eax
	call	Is_inexacttrap_enabled@PLT
	test	rax, rax
	je	.L87
	mov	eax, DWORD PTR OPC_2E_OVERFLOWEXCEPTION[rip]
	or	eax, DWORD PTR OPC_2E_INEXACTEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L225:
	xor	eax, eax
	call	Is_underflowtrap_enabled@PLT
	test	rax, rax
	jne	.L227
	test	rbx, rbx
	je	.L88
	cmp	QWORD PTR [rsp], 0
	je	.L88
	xor	eax, eax
	xor	r14d, r14d
	call	Set_underflowflag@PLT
	mov	rdx, r12
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_copytoptr@PLT
.L93:
	xor	eax, eax
	call	Is_inexacttrap_enabled@PLT
	test	rax, rax
	je	.L95
	mov	eax, DWORD PTR OPC_2E_INEXACTEXCEPTION[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L220:
	mov	edi, 131
	call	Is_rounding_mode@PLT
	test	rax, rax
	je	.L42
	mov	esi, r14d
	xor	edi, edi
	call	Dbl_or_signs@PLT
	jmp	.L43
	.p2align 4,,10
	.p2align 3
.L223:
	xor	eax, eax
	call	Is_underflowtrap_enabled@PLT
	test	rax, rax
	jne	.L70
	xor	r14d, r14d
	mov	r9, QWORD PTR [rsp]
	mov	r8d, ebp
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, r14d
	call	Dblext_denormalize@PLT
	jmp	.L70
	.p2align 4,,10
	.p2align 3
.L24:
	xor	eax, eax
	xor	r14d, r14d
	call	Set_invalidflag@PLT
	mov	edi, r14d
	call	Dbl_set_quiet@PLT
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L9:
	xor	r14d, r14d
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_setinfinity_exponentmantissa@PLT
	jmp	.L186
	.p2align 4,,10
	.p2align 3
.L226:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_iszero_sign@PLT
	test	eax, eax
	je	.L76
.L81:
	xor	r14d, r14d
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_increment@PLT
	jmp	.L76
	.p2align 4,,10
	.p2align 3
.L74:
	xor	r14d, r14d
	mov	edi, r14d
	call	Dbl_isone_sign@PLT
	test	eax, eax
	je	.L76
	jmp	.L81
	.p2align 4,,10
	.p2align 3
.L73:
	xor	edi, edi
	call	Dblext_isone_highp3@PLT
	test	eax, eax
	je	.L76
	xor	edi, edi
	call	Dblext_isnotzero_low31p3@PLT
	test	eax, eax
	jne	.L81
	xor	edi, edi
	call	Dblext_isnotzero_mantissap4@PLT
	test	rax, rax
	jne	.L81
	xor	edi, edi
	call	Dblext_isone_lowp2@PLT
	test	eax, eax
	je	.L76
	jmp	.L81
	.p2align 4,,10
	.p2align 3
.L222:
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, r14d
	call	Dblext_arithrightshiftby1@PLT
	add	ebp, 1
	jmp	.L54
	.p2align 4,,10
	.p2align 3
.L85:
	xor	eax, eax
	xor	r14d, r14d
	mov	rbx, QWORD PTR TRUE[rip]
	call	Set_overflowflag@PLT
	xor	esi, esi
	mov	edi, r14d
	call	Dbl_setoverflow@PLT
	jmp	.L88
	.p2align 4,,10
	.p2align 3
.L42:
	xor	r14d, r14d
	xor	edi, edi
	mov	esi, r14d
	call	Dbl_and_signs@PLT
	jmp	.L43
	.p2align 4,,10
	.p2align 3
.L95:
	xor	eax, eax
	call	Set_inexactflag@PLT
	jmp	.L94
.L87:
	xor	eax, eax
	call	Set_inexactflag@PLT
.L86:
	mov	eax, DWORD PTR OPC_2E_OVERFLOWEXCEPTION[rip]
	jmp	.L1
.L227:
	xor	r14d, r14d
	mov	edx, DWORD PTR unfl[rip]
	mov	esi, ebp
	mov	edi, r14d
	call	Dbl_setwrapped_exponent@PLT
	xor	esi, esi
	mov	rdx, r12
	mov	edi, r14d
	call	Dbl_copytoptr@PLT
	test	rbx, rbx
	je	.L91
	xor	eax, eax
	call	Is_inexacttrap_enabled@PLT
	test	rax, rax
	je	.L92
	mov	eax, DWORD PTR OPC_2E_UNDERFLOWEXCEPTION[rip]
	or	eax, DWORD PTR OPC_2E_INEXACTEXCEPTION[rip]
	jmp	.L1
.L92:
	xor	eax, eax
	call	Set_inexactflag@PLT
.L91:
	mov	eax, DWORD PTR OPC_2E_UNDERFLOWEXCEPTION[rip]
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	dbl_fmpyfadd, .-dbl_fmpyfadd
	.comm	unfl,4,4
	.comm	ovfl,4,4
	.comm	TRUE,8,8
	.comm	OPC_2E_UNDERFLOWEXCEPTION,4,4
	.comm	OPC_2E_OVERFLOWEXCEPTION,4,4
	.comm	OPC_2E_INVALIDEXCEPTION,4,4
	.comm	OPC_2E_INEXACTEXCEPTION,4,4
	.comm	NOEXCEPTION,4,4
	.comm	FALSE,8,8
	.comm	DBL_P,4,4
	.comm	DBL_INFINITY_EXPONENT,4,4
	.comm	DBL_BIAS,4,4
	.comm	DBLEXT_THRESHOLD,4,4
	.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_fmpyfadd.c_dbl_fmpyfadd.c"
	.text
	.align	2
	.global	dbl_fmpyfadd
	.syntax unified
	.arm
	.fpu softvfp
	.type	dbl_fmpyfadd, %function
dbl_fmpyfadd:
	@ args = 4, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r5, #0
	mov	r6, r1
	mov	r4, r2
	ldr	r3, .L229
	sub	sp, sp, #44
	mov	r1, r5
	mov	r2, r5
	ldr	r7, [r3]
	bl	Dbl_copyfromptr
	mov	r1, r5
	mov	r2, r5
	mov	r0, r6
	bl	Dbl_copyfromptr
	mov	r2, r5
	mov	r1, r5
	mov	r0, r4
	bl	Dbl_copyfromptr
	mov	r0, r5
	bl	Dbl_sign
	mov	r4, r0
	mov	r0, r5
	bl	Dbl_sign
	cmp	r4, r0
	beq	.L2
	mov	r0, r5
	bl	Dbl_setnegativezerop1
.L3:
	mov	r5, #0
	mov	r0, r5
	bl	Dbl_exponent
	mov	r6, r0
	mov	r0, r5
	bl	Dbl_exponent
	ldr	r3, .L229+4
	mov	r4, r0
	mov	r0, r5
	ldr	r5, [r3]
	bl	Dbl_isinfinity_exponent
	cmp	r0, #0
	beq	.L4
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_mantissa
	cmp	r0, #0
	beq	.L5
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_isnotnan
	cmp	r0, #0
	bne	.L210
.L4:
	mov	r0, #0
	bl	Dbl_isinfinity_exponent
	cmp	r0, #0
	bne	.L211
.L17:
	mov	r0, #0
	bl	Dbl_isinfinity_exponent
	cmp	r0, #0
	beq	.L27
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_mantissa
	cmp	r0, #0
	bne	.L43
	mov	r0, #0
	bl	Dbl_isone_signaling
	cmp	r0, #0
	beq	.L43
.L201:
	bl	Is_invalidtrap_enabled
	cmp	r0, #0
	beq	.L30
.L188:
	ldr	r3, .L229+8
	ldr	r0, [r3]
.L1:
	add	sp, sp, #44
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L211:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_mantissa
	cmp	r0, #0
	bne	.L212
	mov	r0, #0
	bl	Dbl_isone_signaling
	cmp	r0, #0
	bne	.L201
.L23:
	mov	r0, #0
	bl	Dbl_is_signalingnan
	cmp	r0, #0
	beq	.L43
	bl	Is_invalidtrap_enabled
	cmp	r0, #0
	bne	.L188
	mov	r5, #0
	bl	Set_invalidflag
	mov	r0, r5
	bl	Dbl_set_quiet
	mov	r0, r5
	mov	r1, r5
	ldr	r2, [sp, #80]
	bl	Dbl_copytoptr
	ldr	r3, .L229+12
	ldr	r0, [r3]
	b	.L1
.L5:
	mov	r0, #0
	bl	Dbl_isone_signaling
	cmp	r0, #0
	bne	.L201
	mov	r0, #0
	bl	Dbl_is_signalingnan
	cmp	r0, #0
	beq	.L23
	bl	Is_invalidtrap_enabled
	cmp	r0, #0
	bne	.L188
	mov	r8, #0
	bl	Set_invalidflag
	mov	r0, r8
	bl	Dbl_set_quiet
.L184:
	mov	r0, r8
	mov	r1, r8
	ldr	r2, [sp, #80]
	bl	Dbl_copytoptr
	ldr	r3, .L229+12
	ldr	r0, [r3]
	b	.L1
.L221:
	mov	r0, #131
	bl	Is_rounding_mode
	mov	r1, #0
	cmp	r0, #0
	mov	r0, r1
	beq	.L42
	bl	Dbl_or_signs
.L43:
	mov	r1, #0
	ldr	r2, [sp, #80]
	mov	r0, r1
	bl	Dbl_copytoptr
	ldr	r3, .L229+12
	ldr	r0, [r3]
	add	sp, sp, #44
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L2:
	mov	r0, #0
	bl	Dbl_setzerop1
	b	.L3
.L27:
	mov	r0, #0
	bl	Dbl_isnotzero_exponent
	add	r4, r6, r4
	cmp	r0, #0
	sub	r4, r4, r5
	bne	.L213
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_mantissa
	cmp	r0, #0
	bne	.L208
	mov	r5, #0
	mov	r0, r5
	bl	Dbl_clear_signexponent
	mov	r1, r5
	mov	r0, r5
	bl	Dbl_leftshiftby1
	mov	r2, r4
	mov	r1, r5
	mov	r0, r5
	bl	Dbl_normalize
.L32:
	mov	r0, #0
	bl	Dbl_isnotzero_exponent
	cmp	r0, #0
	beq	.L38
	mov	r0, #0
	bl	Dbl_clear_signexponent_set_hidden
.L39:
	mov	r3, #0
	mov	r2, r3
	mov	r1, r3
	mov	r0, r3
	bl	Dblext_setzero
	ldr	r3, .L229+16
	ldr	r5, [r3]
	subs	r5, r5, #1
	bmi	.L45
	mov	r1, #0
	lsl	r3, r1, #2
	lsl	r2, r1, #1
	str	r4, [sp, #32]
	str	r7, [sp, #36]
	mov	fp, r1
	mov	r10, r1
	mov	r9, r1
	mov	r6, r1
	mov	r4, r3
	mov	r7, r2
	lsl	r8, r1, #3
	b	.L50
.L46:
	mov	r0, #0
	bl	Dbit29p2
	cmp	r0, #0
	bne	.L214
.L47:
	mov	r0, #0
	bl	Dbit30p2
	cmp	r0, #0
	bne	.L215
.L48:
	mov	r0, #0
	bl	Dbit31p2
	cmp	r0, #0
	bne	.L216
.L49:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_rightshiftby4
	subs	r5, r5, #4
	bmi	.L217
.L50:
	mov	r3, #0
	mov	r2, r3
	mov	r1, r3
	mov	r0, r3
	bl	Dblext_rightshiftby4
	mov	r0, #0
	bl	Dbit28p2
	cmp	r0, #0
	beq	.L46
	mov	r3, #0
	str	r6, [sp, #12]
	mov	r2, r3
	mov	r1, r3
	mov	r0, r3
	str	r6, [sp, #8]
	str	r8, [sp, #4]
	str	fp, [sp]
	bl	Fourword_add
	mov	r0, #0
	bl	Dbit29p2
	cmp	r0, #0
	beq	.L47
.L214:
	mov	r3, #0
	stmib	sp, {r4, r6}
	mov	r2, r3
	mov	r1, r3
	mov	r0, r3
	str	r6, [sp, #12]
	str	r10, [sp]
	bl	Fourword_add
	mov	r0, #0
	bl	Dbit30p2
	cmp	r0, #0
	beq	.L48
.L215:
	mov	r3, #0
	str	r6, [sp, #12]
	mov	r2, r3
	mov	r1, r3
	mov	r0, r3
	str	r6, [sp, #8]
	str	r7, [sp, #4]
	str	r9, [sp]
	bl	Fourword_add
	mov	r0, #0
	bl	Dbit31p2
	cmp	r0, #0
	beq	.L49
.L216:
	mov	r2, #0
	str	r6, [sp, #12]
	mov	r3, r2
	mov	r1, r2
	mov	r0, r2
	stmib	sp, {r2, r6}
	str	r2, [sp]
	bl	Fourword_add
	b	.L49
.L212:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_isnotnan
	cmp	r0, #0
	beq	.L17
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_exponentmantissa
	cmp	r0, #0
	bne	.L218
.L19:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_isinfinity
	cmp	r0, #0
	beq	.L21
	mov	r0, #0
	bl	Dbl_sign
	mov	r4, r0
	mov	r0, #0
	bl	Dbl_sign
	cmp	r4, r0
	beq	.L21
.L192:
	bl	Is_invalidtrap_enabled
	subs	r4, r0, #0
	bne	.L188
	mov	r8, #0
	bl	Set_invalidflag
	mov	r1, r4
	mov	r0, r8
	bl	Dbl_makequietnan
	mov	r1, r4
	mov	r0, r8
	ldr	r2, [sp, #80]
	bl	Dbl_copytoptr
	ldr	r3, .L229+12
	ldr	r0, [r3]
	b	.L1
.L213:
	mov	r0, #0
	bl	Dbl_clear_signexponent_set_hidden
	b	.L32
.L210:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_isnotnan
	cmp	r0, #0
	beq	.L4
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_exponentmantissa
	cmp	r0, #0
	beq	.L19
	b	.L192
.L217:
	ldr	r4, [sp, #32]
	ldr	r7, [sp, #36]
.L45:
	mov	r0, #0
	bl	Is_dexthiddenoverflow
	cmp	r0, #0
	bne	.L219
.L51:
	mov	r0, #0
	bl	Dbl_sign
	mov	r1, r0
	mov	r0, #0
	bl	Dblext_set_sign
	mov	r0, #0
	bl	Dbl_exponent
	subs	r6, r0, #0
	bne	.L52
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_mantissa
	cmp	r0, #0
	bne	.L220
	mov	r5, #0
	mov	r0, r5
	bl	Dbl_signextendedsign
	mov	r8, r0
	mov	r0, r5
	bl	Dbl_clear_signexponent
	mov	r1, r5
	mov	r0, r5
	bl	Dbl_leftshiftby1
	mov	r1, r5
	mov	r2, r6
	mov	r0, r5
	bl	Dbl_normalize
	mov	r1, r8
	mov	r0, r5
	bl	Dbl_set_sign
	b	.L55
.L30:
	bl	Set_invalidflag
	mov	r0, #0
	bl	Dbl_set_quiet
	b	.L43
.L38:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_mantissa
	cmp	r0, #0
	beq	.L40
.L208:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_iszero_exponentmantissa
	subs	r4, r0, #0
	bne	.L221
	mov	r0, #0
	bl	Dbl_iszero_exponent
	cmp	r0, #0
	beq	.L43
	bl	Is_underflowtrap_enabled
	cmp	r0, #0
	beq	.L43
	mov	r5, #0
	mov	r0, r5
	bl	Dbl_signextendedsign
	mov	r6, r0
	mov	r1, r5
	mov	r0, r5
	bl	Dbl_leftshiftby1
	mov	r2, r4
	mov	r1, r5
	mov	r0, r5
	bl	Dbl_normalize
	mov	r1, r6
	mov	r0, r5
	bl	Dbl_set_sign
	ldr	r3, .L229+20
	mov	r1, r4
	ldr	r2, [r3]
	mov	r0, r5
	bl	Dbl_setwrapped_exponent
	mov	r1, r5
	mov	r0, r5
	ldr	r2, [sp, #80]
	bl	Dbl_copytoptr
	ldr	r3, .L229+24
	ldr	r0, [r3]
	b	.L1
.L52:
	mov	r0, #0
	bl	Dbl_clear_exponent_set_hidden
.L55:
	mov	r2, #0
	mov	r5, r2
	mov	r3, r2
	mov	r1, r2
	mov	r0, r2
	str	r2, [sp, #4]
	str	r2, [sp]
	bl	Dbl_copyto_dblext
	mov	r2, r5
	mov	r1, r5
	mov	r0, r5
	bl	Dblext_xortointp1
	mov	r1, r5
	mov	r0, r5
	bl	Dblext_copytoint_exponentmantissap1
	mov	r0, r5
	mov	r1, r5
	bl	Dblext_copytoint_exponentmantissap1
	cmp	r4, r6
	blt	.L59
	beq	.L222
.L58:
	sub	r3, r4, r6
.L57:
	ldr	r2, .L229+28
	mov	r5, #0
	ldr	r6, [r2]
	mov	r0, r5
	cmp	r3, r6
	movlt	r6, r3
	bl	Dblext_clear_sign
	mov	r3, r5
	mov	r2, r5
	mov	r1, r5
	mov	r0, r5
	str	r6, [sp]
	bl	Dblext_right_align
	mov	r3, r5
	mov	r1, r5
	mov	r2, r5
	stmib	sp, {r1, r3}
	mov	r0, r5
	str	r5, [sp, #28]
	str	r5, [sp, #24]
	str	r5, [sp, #20]
	str	r5, [sp, #16]
	str	r5, [sp, #12]
	str	r5, [sp]
	bl	Dblext_addition
	mov	r0, r5
	bl	Dbl_signextendedsign
	mov	r6, r5
	mov	r5, r0
	mov	r0, r6
	bl	Dbl_isone_hiddenoverflow
	cmp	r0, r6
	bne	.L223
.L54:
	cmp	r4, #0
	ble	.L224
.L70:
	mov	r1, r5
	mov	r0, #0
	bl	Dbl_set_sign
	mov	r0, #0
	bl	Dblext_isnotzero_mantissap3
	cmp	r0, #0
	bne	.L77
	bl	Dblext_isnotzero_mantissap4
	cmp	r0, #0
	moveq	r5, r7
	bne	.L77
.L78:
	ldr	r3, .L229+32
	ldr	r3, [r3]
	cmp	r3, r4
	ble	.L225
	cmp	r4, #0
	ble	.L226
	mov	r1, r4
	mov	r0, #0
	bl	Dbl_set_exponent
.L88:
	mov	r1, #0
	ldr	r2, [sp, #80]
	mov	r0, r1
	bl	Dbl_copytoptr
	cmp	r5, #0
	bne	.L93
.L94:
	ldr	r3, .L229+12
	ldr	r0, [r3]
	b	.L1
.L77:
	ldr	r3, .L229+36
	ldr	r5, [r3]
	bl	Rounding_mode
	cmp	r0, #130
	beq	.L73
	cmp	r0, #131
	beq	.L74
	cmp	r0, #129
	beq	.L227
.L76:
	mov	r0, #0
	bl	Dbl_isone_hiddenoverflow
	cmp	r0, #0
	addne	r4, r4, #1
	b	.L78
.L40:
	mov	r8, #0
	mov	r0, r8
	str	r8, [sp, #32]
	bl	Dbl_clear_signexponent
	ldr	r1, [sp, #32]
	mov	r0, r8
	bl	Dbl_leftshiftby1
	mov	r2, r4
	mov	r0, r8
	ldr	r1, [sp, #32]
	bl	Dbl_normalize
	b	.L39
.L218:
	bl	Is_invalidtrap_enabled
	cmp	r0, #0
	bne	.L188
	mov	r1, #0
	mov	r8, r1
	str	r1, [sp, #32]
	bl	Set_invalidflag
	ldr	r1, [sp, #32]
	mov	r0, r8
	bl	Dbl_makequietnan
	mov	r0, r8
	ldr	r2, [sp, #80]
	ldr	r1, [sp, #32]
	bl	Dbl_copytoptr
	ldr	r3, .L229+12
	ldr	r0, [r3]
	b	.L1
.L220:
	mov	r8, #0
	str	r6, [sp, #12]
	mov	r3, r8
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r6, [sp, #8]
	str	r6, [sp, #4]
	str	r8, [sp]
	bl	Dblext_copy
	mov	r0, r8
	bl	Dbl_signextendedsign
	mov	r5, r0
	b	.L54
.L219:
	mov	r3, #0
	mov	r2, r3
	mov	r1, r3
	mov	r0, r3
	add	r4, r4, #1
	bl	Dblext_rightshiftby1
	b	.L51
.L222:
	mov	r3, #0
	mov	r2, r3
	mov	r1, r3
	mov	r0, r3
	bl	Dblext_ismagnitudeless
	cmp	r0, #0
	beq	.L58
.L59:
	mov	r5, #0
	mov	r2, r5
	mov	r1, r5
	mov	r0, r5
	bl	Dblext_xorfromintp1
	mov	r2, r5
	mov	r1, r5
	mov	r0, r5
	bl	Dblext_xorfromintp1
	mov	r3, r5
	mov	r2, r5
	mov	r1, r5
	mov	r0, r5
	str	r5, [sp, #4]
	str	r5, [sp]
	bl	Dblext_swap_lower
	sub	r3, r6, r4
	mov	r4, r6
	b	.L57
.L225:
	bl	Is_overflowtrap_enabled
	subs	r6, r0, #0
	beq	.L85
	mov	r8, #0
	ldr	r3, .L229+40
	mov	r1, r4
	ldr	r2, [r3]
	mov	r0, r8
	bl	Dbl_setwrapped_exponent
	mov	r0, r8
	mov	r1, r8
	ldr	r2, [sp, #80]
	bl	Dbl_copytoptr
	cmp	r5, r8
	beq	.L86
	bl	Is_inexacttrap_enabled
	cmp	r0, r8
	beq	.L87
	ldr	r2, .L229+44
	ldr	r3, .L229+48
	ldr	r0, [r2]
	ldr	r3, [r3]
	orr	r0, r0, r3
	b	.L1
.L226:
	bl	Is_underflowtrap_enabled
	subs	r6, r0, #0
	bne	.L228
	cmp	r5, #0
	cmpne	r7, #0
	beq	.L88
	bl	Set_underflowflag
	mov	r1, r6
	mov	r0, #0
	ldr	r2, [sp, #80]
	bl	Dbl_copytoptr
.L93:
	bl	Is_inexacttrap_enabled
	cmp	r0, #0
	beq	.L95
	ldr	r3, .L229+48
	ldr	r0, [r3]
	b	.L1
.L224:
	bl	Is_underflowtrap_enabled
	subs	r3, r0, #0
	bne	.L70
	mov	r2, r3
	mov	r1, r3
	stm	sp, {r4, r7}
	bl	Dblext_denormalize
	b	.L70
.L21:
	mov	r8, #0
	mov	r1, r8
	mov	r0, r8
	bl	Dbl_setinfinity_exponentmantissa
	b	.L184
.L227:
	mov	r0, #0
	bl	Dbl_iszero_sign
	cmp	r0, #0
	beq	.L76
.L81:
	mov	r1, #0
	mov	r0, r1
	bl	Dbl_increment
	b	.L76
.L74:
	mov	r0, #0
	bl	Dbl_isone_sign
	cmp	r0, #0
	beq	.L76
	b	.L81
.L73:
	mov	r0, #0
	bl	Dblext_isone_highp3
	cmp	r0, #0
	beq	.L76
	mov	r0, #0
	bl	Dblext_isnotzero_low31p3
	cmp	r0, #0
	bne	.L81
	bl	Dblext_isnotzero_mantissap4
	cmp	r0, #0
	bne	.L81
	bl	Dblext_isone_lowp2
	cmp	r0, #0
	beq	.L76
	b	.L81
.L223:
	mov	r3, r6
	mov	r2, r6
	mov	r1, r6
	mov	r0, r6
	bl	Dblext_arithrightshiftby1
	add	r4, r4, #1
	b	.L54
.L85:
	ldr	r3, .L229+36
	ldr	r5, [r3]
	bl	Set_overflowflag
	mov	r1, r6
	mov	r0, #0
	bl	Dbl_setoverflow
	b	.L88
.L42:
	bl	Dbl_and_signs
	b	.L43
.L95:
	bl	Set_inexactflag
	b	.L94
.L87:
	bl	Set_inexactflag
.L86:
	ldr	r3, .L229+44
	ldr	r0, [r3]
	b	.L1
.L228:
	mov	r8, #0
	ldr	r3, .L229+20
	mov	r1, r4
	ldr	r2, [r3]
	mov	r0, r8
	bl	Dbl_setwrapped_exponent
	mov	r0, r8
	mov	r1, r8
	ldr	r2, [sp, #80]
	bl	Dbl_copytoptr
	cmp	r5, r8
	beq	.L91
	bl	Is_inexacttrap_enabled
	cmp	r0, r8
	beq	.L92
	ldr	r2, .L229+24
	ldr	r3, .L229+48
	ldr	r0, [r2]
	ldr	r3, [r3]
	orr	r0, r0, r3
	b	.L1
.L92:
	bl	Set_inexactflag
.L91:
	ldr	r3, .L229+24
	ldr	r0, [r3]
	b	.L1
.L230:
	.align	2
.L229:
	.word	FALSE
	.word	DBL_BIAS
	.word	OPC_2E_INVALIDEXCEPTION
	.word	NOEXCEPTION
	.word	DBL_P
	.word	unfl
	.word	OPC_2E_UNDERFLOWEXCEPTION
	.word	DBLEXT_THRESHOLD
	.word	DBL_INFINITY_EXPONENT
	.word	TRUE
	.word	ovfl
	.word	OPC_2E_OVERFLOWEXCEPTION
	.word	OPC_2E_INEXACTEXCEPTION
	.size	dbl_fmpyfadd, .-dbl_fmpyfadd
	.comm	unfl,4,4
	.comm	ovfl,4,4
	.comm	TRUE,4,4
	.comm	OPC_2E_UNDERFLOWEXCEPTION,4,4
	.comm	OPC_2E_OVERFLOWEXCEPTION,4,4
	.comm	OPC_2E_INVALIDEXCEPTION,4,4
	.comm	OPC_2E_INEXACTEXCEPTION,4,4
	.comm	NOEXCEPTION,4,4
	.comm	FALSE,4,4
	.comm	DBL_P,4,4
	.comm	DBL_INFINITY_EXPONENT,4,4
	.comm	DBL_BIAS,4,4
	.comm	DBLEXT_THRESHOLD,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
