	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function fxtract
_fxtract:                               ## @fxtract
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r12
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_STACK_OVERFLOW@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_1
## %bb.22:
	xorl	%eax, %eax
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_FPU_stack_overflow             ## TAILCALL
LBB0_1:
	movq	%rsi, %rbx
	movq	%rdi, %r14
	xorl	%eax, %eax
	callq	_clear_C1
	movq	_TAG_Valid@GOTPCREL(%rip), %r15
	cmpq	%rbx, (%r15)
	jne	LBB0_5
## %bb.2:
	xorl	%eax, %eax
	callq	_push
	movq	%r14, %rdi
	callq	_getsign
	movq	%rax, %rbx
	movq	%r14, %rdi
	callq	_reg_copy
	callq	_exponent
	movl	%eax, %esi
	callq	_setexponent16
LBB0_3:
	callq	_exponent16
	movq	%rax, -40(%rbp)
	leaq	-40(%rbp), %rdi
	movl	$1, %esi
	callq	_convert_l2reg
	xorl	%esi, %esi
	callq	_setexponentpos
	movq	%rbx, %rsi
	callq	_setsign
	movq	(%r15), %rdi
	callq	_FPU_settag0
LBB0_4:
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_5:
	movq	_TAG_Zero@GOTPCREL(%rip), %r12
	cmpq	%rbx, (%r12)
	jne	LBB0_9
## %bb.6:
	movq	%r14, %rdi
	callq	_getsign
	movq	%rax, %rbx
	movq	_SIGN_NEG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	xorl	%edi, %edi
	callq	_FPU_divide_by_zero
	testq	%rax, %rax
	js	LBB0_4
## %bb.7:
	xorl	%eax, %eax
	callq	_push
	movq	(%r12), %rsi
	movq	_CONST_Z@GOTPCREL(%rip), %rdi
	jmp	LBB0_8
LBB0_9:
	movq	_TAG_Special@GOTPCREL(%rip), %r12
	cmpq	%rbx, (%r12)
	jne	LBB0_11
## %bb.10:
	movq	%r14, %rdi
	callq	_FPU_Special
	movq	%rax, %rbx
LBB0_11:
	movq	_TW_Denormal@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rbx
	jne	LBB0_14
## %bb.12:
	xorl	%eax, %eax
	callq	_denormal_operand
	testq	%rax, %rax
	js	LBB0_4
## %bb.13:
	xorl	%eax, %eax
	callq	_push
	movq	%r14, %rdi
	callq	_getsign
	movq	%rax, %rbx
	movq	%r14, %rdi
	callq	_FPU_to_exp16
	jmp	LBB0_3
LBB0_14:
	movq	_TW_Infinity@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rbx
	jne	LBB0_16
## %bb.15:
	movq	%r14, %rdi
	callq	_getsign
	movq	%rax, %rbx
	movq	%r14, %rdi
	callq	_setpositive
	xorl	%eax, %eax
	callq	_push
	movq	(%r12), %rsi
	movq	_CONST_INF@GOTPCREL(%rip), %rdi
LBB0_8:
	callq	_FPU_copy_to_reg0
	movq	%rbx, %rsi
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_setsign                        ## TAILCALL
LBB0_16:
	movq	_TW_NaN@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rbx
	jne	LBB0_19
## %bb.17:
	movq	%r14, %rdi
	callq	_real_1op_NaN
	testq	%rax, %rax
	js	LBB0_4
## %bb.18:
	xorl	%eax, %eax
	callq	_push
	movq	(%r12), %rsi
	movq	%r14, %rdi
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_FPU_copy_to_reg0               ## TAILCALL
LBB0_19:
	movq	_TAG_Empty@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rbx
	jne	LBB0_4
## %bb.20:
	movq	_control_word@GOTPCREL(%rip), %rax
	movq	_EX_Invalid@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	je	LBB0_21
## %bb.23:
	xorl	%eax, %eax
	callq	_FPU_stack_underflow
	xorl	%eax, %eax
	callq	_push
	xorl	%eax, %eax
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_FPU_stack_underflow            ## TAILCALL
LBB0_21:
	movq	_EX_StackUnder@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_EXCEPTION                      ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_STACK_OVERFLOW,8,3             ## @STACK_OVERFLOW
	.comm	_TAG_Valid,8,3                  ## @TAG_Valid
	.comm	_TAG_Zero,8,3                   ## @TAG_Zero
	.comm	_SIGN_NEG,4,2                   ## @SIGN_NEG
	.comm	_CONST_Z,4,2                    ## @CONST_Z
	.comm	_TAG_Special,8,3                ## @TAG_Special
	.comm	_TW_Denormal,8,3                ## @TW_Denormal
	.comm	_TW_Infinity,8,3                ## @TW_Infinity
	.comm	_CONST_INF,4,2                  ## @CONST_INF
	.comm	_TW_NaN,8,3                     ## @TW_NaN
	.comm	_TAG_Empty,8,3                  ## @TAG_Empty
	.comm	_control_word,4,2               ## @control_word
	.comm	_EX_Invalid,4,2                 ## @EX_Invalid
	.comm	_EX_StackUnder,4,2              ## @EX_StackUnder
	.comm	_EX_INTERNAL,4,2                ## @EX_INTERNAL
	.no_dead_strip	_fxtract
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function fxtract
_fxtract:                               ; @fxtract
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
Lloh0:
	adrp	x8, _STACK_OVERFLOW@GOTPAGE
Lloh1:
	ldr	x8, [x8, _STACK_OVERFLOW@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	cbz	x8, LBB0_2
; %bb.1:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	b	_FPU_stack_overflow
LBB0_2:
	mov	x20, x1
	mov	x19, x0
	bl	_clear_C1
Lloh3:
	adrp	x21, _TAG_Valid@GOTPAGE
Lloh4:
	ldr	x21, [x21, _TAG_Valid@GOTPAGEOFF]
	ldr	x8, [x21]
	cmp	x8, x20
	b.ne	LBB0_6
; %bb.3:
	bl	_push
	mov	x0, x19
	bl	_getsign
	mov	x20, x0
	mov	x0, x19
	bl	_reg_copy
	bl	_exponent
	mov	x1, x0
	bl	_setexponent16
LBB0_4:
	bl	_exponent16
	str	x0, [sp, #8]
	add	x0, sp, #8
	mov	w1, #1
	bl	_convert_l2reg
	mov	w1, #0
	bl	_setexponentpos
	mov	x1, x20
	bl	_setsign
	ldr	x0, [x21]
	bl	_FPU_settag0
LBB0_5:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_6:
Lloh5:
	adrp	x22, _TAG_Zero@GOTPAGE
Lloh6:
	ldr	x22, [x22, _TAG_Zero@GOTPAGEOFF]
	ldr	x8, [x22]
	cmp	x8, x20
	b.ne	LBB0_9
; %bb.7:
	mov	x0, x19
	bl	_getsign
	mov	x19, x0
Lloh7:
	adrp	x8, _SIGN_NEG@GOTPAGE
Lloh8:
	ldr	x8, [x8, _SIGN_NEG@GOTPAGEOFF]
Lloh9:
	ldr	w1, [x8]
	mov	w0, #0
	bl	_FPU_divide_by_zero
	tbnz	x0, #63, LBB0_5
; %bb.8:
	bl	_push
	ldr	x1, [x22]
Lloh10:
	adrp	x0, _CONST_Z@GOTPAGE
Lloh11:
	ldr	x0, [x0, _CONST_Z@GOTPAGEOFF]
	bl	_FPU_copy_to_reg0
	mov	x1, x19
	b	LBB0_16
LBB0_9:
Lloh12:
	adrp	x22, _TAG_Special@GOTPAGE
Lloh13:
	ldr	x22, [x22, _TAG_Special@GOTPAGEOFF]
	ldr	x8, [x22]
	cmp	x8, x20
	b.ne	LBB0_11
; %bb.10:
	mov	x0, x19
	bl	_FPU_Special
	mov	x20, x0
LBB0_11:
Lloh14:
	adrp	x8, _TW_Denormal@GOTPAGE
Lloh15:
	ldr	x8, [x8, _TW_Denormal@GOTPAGEOFF]
Lloh16:
	ldr	x8, [x8]
	cmp	x20, x8
	b.ne	LBB0_14
; %bb.12:
	bl	_denormal_operand
	tbnz	x0, #63, LBB0_5
; %bb.13:
	bl	_push
	mov	x0, x19
	bl	_getsign
	mov	x20, x0
	mov	x0, x19
	bl	_FPU_to_exp16
	b	LBB0_4
LBB0_14:
Lloh17:
	adrp	x8, _TW_Infinity@GOTPAGE
Lloh18:
	ldr	x8, [x8, _TW_Infinity@GOTPAGEOFF]
Lloh19:
	ldr	x8, [x8]
	cmp	x20, x8
	b.ne	LBB0_17
; %bb.15:
	mov	x0, x19
	bl	_getsign
	mov	x20, x0
	mov	x0, x19
	bl	_setpositive
	bl	_push
	ldr	x1, [x22]
Lloh20:
	adrp	x0, _CONST_INF@GOTPAGE
Lloh21:
	ldr	x0, [x0, _CONST_INF@GOTPAGEOFF]
	bl	_FPU_copy_to_reg0
	mov	x1, x20
LBB0_16:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	b	_setsign
LBB0_17:
Lloh22:
	adrp	x8, _TW_NaN@GOTPAGE
Lloh23:
	ldr	x8, [x8, _TW_NaN@GOTPAGEOFF]
Lloh24:
	ldr	x8, [x8]
	cmp	x20, x8
	b.ne	LBB0_20
; %bb.18:
	mov	x0, x19
	bl	_real_1op_NaN
	tbnz	x0, #63, LBB0_5
; %bb.19:
	bl	_push
	ldr	x1, [x22]
	mov	x0, x19
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	b	_FPU_copy_to_reg0
LBB0_20:
Lloh25:
	adrp	x8, _TAG_Empty@GOTPAGE
Lloh26:
	ldr	x8, [x8, _TAG_Empty@GOTPAGEOFF]
Lloh27:
	ldr	x8, [x8]
	cmp	x20, x8
	b.ne	LBB0_5
; %bb.21:
Lloh28:
	adrp	x8, _control_word@GOTPAGE
Lloh29:
	ldr	x8, [x8, _control_word@GOTPAGEOFF]
Lloh30:
	ldr	w8, [x8]
Lloh31:
	adrp	x9, _EX_Invalid@GOTPAGE
Lloh32:
	ldr	x9, [x9, _EX_Invalid@GOTPAGEOFF]
Lloh33:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_23
; %bb.22:
	bl	_FPU_stack_underflow
	bl	_push
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	b	_FPU_stack_underflow
LBB0_23:
Lloh34:
	adrp	x8, _EX_StackUnder@GOTPAGE
Lloh35:
	ldr	x8, [x8, _EX_StackUnder@GOTPAGEOFF]
Lloh36:
	ldr	w0, [x8]
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	b	_EXCEPTION
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.cfi_endproc
                                        ; -- End function
	.comm	_STACK_OVERFLOW,8,3             ; @STACK_OVERFLOW
	.comm	_TAG_Valid,8,3                  ; @TAG_Valid
	.comm	_TAG_Zero,8,3                   ; @TAG_Zero
	.comm	_SIGN_NEG,4,2                   ; @SIGN_NEG
	.comm	_CONST_Z,4,2                    ; @CONST_Z
	.comm	_TAG_Special,8,3                ; @TAG_Special
	.comm	_TW_Denormal,8,3                ; @TW_Denormal
	.comm	_TW_Infinity,8,3                ; @TW_Infinity
	.comm	_CONST_INF,4,2                  ; @CONST_INF
	.comm	_TW_NaN,8,3                     ; @TW_NaN
	.comm	_TAG_Empty,8,3                  ; @TAG_Empty
	.comm	_control_word,4,2               ; @control_word
	.comm	_EX_Invalid,4,2                 ; @EX_Invalid
	.comm	_EX_StackUnder,4,2              ; @EX_StackUnder
	.comm	_EX_INTERNAL,4,2                ; @EX_INTERNAL
	.no_dead_strip	_fxtract
.subsections_via_symbols
