	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function __kernel_tan
LCPI0_0:
	.quad	0x8000000000000000              ## double -0
	.quad	0x8000000000000000              ## double -0
LCPI0_3:
	.quad	0x7fffffffffffffff              ## double NaN
	.quad	0x7fffffffffffffff              ## double NaN
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_1:
	.quad	0xbff0000000000000              ## double -1
LCPI0_2:
	.quad	0x3ff0000000000000              ## double 1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
___kernel_tan:                          ## @__kernel_tan
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	subq	$32, %rsp
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movl	%edi, %r14d
	movapd	%xmm1, -32(%rbp)                ## 16-byte Spill
	movapd	%xmm0, -48(%rbp)                ## 16-byte Spill
	callq	___HI
	movapd	-48(%rbp), %xmm5                ## 16-byte Reload
	movl	%eax, %ebx
	andl	$2147483647, %ebx               ## imm = 0x7FFFFFFF
	cmpl	$1043333119, %ebx               ## imm = 0x3E2FFFFF
	ja	LBB0_6
## %bb.1:
	cvttsd2si	%xmm5, %ecx
	testl	%ecx, %ecx
	jne	LBB0_6
## %bb.2:
	movapd	%xmm5, %xmm0
	callq	___LO
	leal	1(%r14), %ecx
	orl	%ecx, %ebx
	orl	%eax, %ebx
	je	LBB0_3
## %bb.4:
	movapd	-48(%rbp), %xmm1                ## 16-byte Reload
	cmpl	$1, %r14d
	je	LBB0_13
## %bb.5:
	movapd	%xmm1, %xmm2
	movapd	%xmm1, %xmm3
	movapd	-32(%rbp), %xmm0                ## 16-byte Reload
	addsd	%xmm0, %xmm3
	movapd	%xmm3, %xmm1
	subsd	%xmm2, %xmm1
	subsd	%xmm1, %xmm0
	movq	_one@GOTPCREL(%rip), %rax
	movsd	(%rax), %xmm1                   ## xmm1 = mem[0],zero
	movapd	LCPI0_0(%rip), %xmm2            ## xmm2 = [-0.0E+0,-0.0E+0]
	xorpd	%xmm1, %xmm2
	divsd	%xmm3, %xmm2
	mulsd	%xmm2, %xmm3
	addsd	%xmm1, %xmm3
	mulsd	%xmm2, %xmm0
	addsd	%xmm3, %xmm0
	jmp	LBB0_16
LBB0_6:
	cmpl	$1072010280, %ebx               ## imm = 0x3FE59428
	jb	LBB0_7
## %bb.8:
	testl	%eax, %eax
	movapd	-32(%rbp), %xmm1                ## 16-byte Reload
	jns	LBB0_10
## %bb.9:
	movapd	LCPI0_0(%rip), %xmm0            ## xmm0 = [-0.0E+0,-0.0E+0]
	xorpd	%xmm0, %xmm5
	xorpd	%xmm0, %xmm1
LBB0_10:
	movq	_pio4@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm0                   ## xmm0 = mem[0],zero
	subsd	%xmm5, %xmm0
	movq	_pio4lo@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm5                   ## xmm5 = mem[0],zero
	subsd	%xmm1, %xmm5
	addsd	%xmm0, %xmm5
	xorpd	%xmm4, %xmm4
	jmp	LBB0_11
LBB0_7:
	movapd	-32(%rbp), %xmm4                ## 16-byte Reload
LBB0_11:
	movapd	%xmm5, %xmm1
	mulsd	%xmm5, %xmm1
	movapd	%xmm1, %xmm0
	mulsd	%xmm1, %xmm0
	movq	_T9@GOTPCREL(%rip), %rcx
	movq	_T11@GOTPCREL(%rip), %rdx
	movsd	(%rdx), %xmm2                   ## xmm2 = mem[0],zero
	mulsd	%xmm0, %xmm2
	addsd	(%rcx), %xmm2
	movq	_T7@GOTPCREL(%rip), %rcx
	mulsd	%xmm0, %xmm2
	addsd	(%rcx), %xmm2
	movq	_T5@GOTPCREL(%rip), %rcx
	mulsd	%xmm0, %xmm2
	addsd	(%rcx), %xmm2
	movq	_T3@GOTPCREL(%rip), %rcx
	mulsd	%xmm0, %xmm2
	addsd	(%rcx), %xmm2
	movq	_T1@GOTPCREL(%rip), %rcx
	mulsd	%xmm0, %xmm2
	addsd	(%rcx), %xmm2
	movq	_T2@GOTPCREL(%rip), %rcx
	movq	_T10@GOTPCREL(%rip), %rdx
	movq	_T12@GOTPCREL(%rip), %rsi
	movsd	(%rsi), %xmm3                   ## xmm3 = mem[0],zero
	mulsd	%xmm0, %xmm3
	addsd	(%rdx), %xmm3
	movq	_T8@GOTPCREL(%rip), %rdx
	mulsd	%xmm0, %xmm3
	addsd	(%rdx), %xmm3
	movq	_T6@GOTPCREL(%rip), %rdx
	mulsd	%xmm0, %xmm3
	addsd	(%rdx), %xmm3
	movq	_T4@GOTPCREL(%rip), %rdx
	mulsd	%xmm0, %xmm3
	addsd	(%rdx), %xmm3
	mulsd	%xmm0, %xmm3
	addsd	(%rcx), %xmm3
	mulsd	%xmm1, %xmm3
	addsd	%xmm2, %xmm3
	movapd	%xmm5, %xmm0
	mulsd	%xmm1, %xmm0
	mulsd	%xmm0, %xmm3
	addsd	%xmm4, %xmm3
	mulsd	%xmm1, %xmm3
	movq	_T0@GOTPCREL(%rip), %rcx
	mulsd	(%rcx), %xmm0
	addsd	%xmm4, %xmm3
	addsd	%xmm3, %xmm0
	movapd	%xmm5, %xmm1
	addsd	%xmm0, %xmm1
	cmpl	$1072010280, %ebx               ## imm = 0x3FE59428
	jb	LBB0_14
## %bb.12:
	xorps	%xmm2, %xmm2
	cvtsi2sd	%r14d, %xmm2
	shrl	$30, %eax
	andl	$-2, %eax
	movl	$1, %ecx
	subl	%eax, %ecx
	xorps	%xmm3, %xmm3
	cvtsi2sd	%ecx, %xmm3
	movapd	%xmm1, %xmm4
	mulsd	%xmm1, %xmm4
	addsd	%xmm2, %xmm1
	divsd	%xmm1, %xmm4
	subsd	%xmm0, %xmm4
	subsd	%xmm4, %xmm5
	addsd	%xmm5, %xmm5
	subsd	%xmm5, %xmm2
	mulsd	%xmm3, %xmm2
	movapd	%xmm2, %xmm1
	jmp	LBB0_13
LBB0_14:
	cmpl	$1, %r14d
	jne	LBB0_15
LBB0_13:
	movapd	%xmm1, %xmm0
	jmp	LBB0_17
LBB0_3:
	movq	_one@GOTPCREL(%rip), %rax
	movsd	(%rax), %xmm1                   ## xmm1 = mem[0],zero
	movapd	-48(%rbp), %xmm0                ## 16-byte Reload
	andpd	LCPI0_3(%rip), %xmm0
	divsd	%xmm0, %xmm1
	movapd	%xmm1, %xmm0
	jmp	LBB0_17
LBB0_15:
	movapd	%xmm1, %xmm2
	subsd	%xmm5, %xmm2
	subsd	%xmm2, %xmm0
	movsd	LCPI0_1(%rip), %xmm2            ## xmm2 = mem[0],zero
	divsd	%xmm1, %xmm2
	mulsd	%xmm2, %xmm1
	addsd	LCPI0_2(%rip), %xmm1
	mulsd	%xmm2, %xmm0
	addsd	%xmm1, %xmm0
LBB0_16:
	mulsd	%xmm2, %xmm0
	addsd	%xmm2, %xmm0
LBB0_17:
	addq	$32, %rsp
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_one,8,3                        ## @one
	.comm	_pio4,8,3                       ## @pio4
	.comm	_pio4lo,8,3                     ## @pio4lo
	.comm	_T1,8,3                         ## @T1
	.comm	_T3,8,3                         ## @T3
	.comm	_T5,8,3                         ## @T5
	.comm	_T7,8,3                         ## @T7
	.comm	_T9,8,3                         ## @T9
	.comm	_T11,8,3                        ## @T11
	.comm	_T2,8,3                         ## @T2
	.comm	_T4,8,3                         ## @T4
	.comm	_T6,8,3                         ## @T6
	.comm	_T8,8,3                         ## @T8
	.comm	_T10,8,3                        ## @T10
	.comm	_T12,8,3                        ## @T12
	.comm	_T0,8,3                         ## @T0
	.no_dead_strip	___kernel_tan
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function __kernel_tan
___kernel_tan:                          ; @__kernel_tan
	.cfi_startproc
; %bb.0:
	stp	d9, d8, [sp, #-48]!             ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset b8, -40
	.cfi_offset b9, -48
	mov	x19, x0
	fmov	d9, d1
	fmov	d8, d0
	bl	___HI
	and	w20, w0, #0x7fffffff
	fcvtzs	w8, d8
	ubfx	w9, w0, #20, #11
	cmp	w9, #994
	ccmp	w8, #0, #0, ls
	b.eq	LBB0_5
; %bb.1:
	mov	w8, #37928
	movk	w8, #16357, lsl #16
	cmp	w20, w8
	b.lo	LBB0_3
; %bb.2:
	fneg	d0, d8
	fneg	d1, d9
	cmp	w0, #0
	fcsel	d1, d1, d9, lt
	fcsel	d0, d0, d8, lt
Lloh0:
	adrp	x9, _pio4@GOTPAGE
Lloh1:
	ldr	x9, [x9, _pio4@GOTPAGEOFF]
Lloh2:
	ldr	d2, [x9]
	fsub	d0, d2, d0
Lloh3:
	adrp	x9, _pio4lo@GOTPAGE
Lloh4:
	ldr	x9, [x9, _pio4lo@GOTPAGEOFF]
Lloh5:
	ldr	d2, [x9]
	fsub	d1, d2, d1
	fadd	d8, d0, d1
	movi	d9, #0000000000000000
LBB0_3:
	fmul	d0, d8, d8
	fmul	d1, d0, d0
Lloh6:
	adrp	x9, _T1@GOTPAGE
Lloh7:
	ldr	x9, [x9, _T1@GOTPAGEOFF]
Lloh8:
	ldr	d2, [x9]
Lloh9:
	adrp	x9, _T3@GOTPAGE
Lloh10:
	ldr	x9, [x9, _T3@GOTPAGEOFF]
Lloh11:
	ldr	d3, [x9]
Lloh12:
	adrp	x9, _T5@GOTPAGE
Lloh13:
	ldr	x9, [x9, _T5@GOTPAGEOFF]
Lloh14:
	ldr	d4, [x9]
Lloh15:
	adrp	x9, _T7@GOTPAGE
Lloh16:
	ldr	x9, [x9, _T7@GOTPAGEOFF]
Lloh17:
	ldr	d5, [x9]
Lloh18:
	adrp	x9, _T9@GOTPAGE
Lloh19:
	ldr	x9, [x9, _T9@GOTPAGEOFF]
Lloh20:
	ldr	d6, [x9]
Lloh21:
	adrp	x9, _T11@GOTPAGE
Lloh22:
	ldr	x9, [x9, _T11@GOTPAGEOFF]
Lloh23:
	ldr	d7, [x9]
	fmadd	d6, d1, d7, d6
	fmadd	d5, d1, d6, d5
	fmadd	d4, d1, d5, d4
	fmadd	d3, d1, d4, d3
Lloh24:
	adrp	x9, _T2@GOTPAGE
Lloh25:
	ldr	x9, [x9, _T2@GOTPAGEOFF]
Lloh26:
	ldr	d4, [x9]
Lloh27:
	adrp	x9, _T4@GOTPAGE
Lloh28:
	ldr	x9, [x9, _T4@GOTPAGEOFF]
Lloh29:
	ldr	d5, [x9]
Lloh30:
	adrp	x9, _T6@GOTPAGE
Lloh31:
	ldr	x9, [x9, _T6@GOTPAGEOFF]
Lloh32:
	ldr	d6, [x9]
Lloh33:
	adrp	x9, _T8@GOTPAGE
Lloh34:
	ldr	x9, [x9, _T8@GOTPAGEOFF]
Lloh35:
	ldr	d7, [x9]
Lloh36:
	adrp	x9, _T10@GOTPAGE
Lloh37:
	ldr	x9, [x9, _T10@GOTPAGEOFF]
Lloh38:
	ldr	d16, [x9]
Lloh39:
	adrp	x9, _T12@GOTPAGE
Lloh40:
	ldr	x9, [x9, _T12@GOTPAGEOFF]
	fmadd	d2, d1, d3, d2
Lloh41:
	ldr	d3, [x9]
	fmadd	d3, d1, d3, d16
	fmadd	d3, d1, d3, d7
	fmadd	d3, d1, d3, d6
	fmadd	d3, d1, d3, d5
	fmadd	d1, d1, d3, d4
	fmul	d1, d0, d1
	fmul	d3, d8, d0
	fadd	d1, d2, d1
	fmadd	d1, d3, d1, d9
	fmadd	d0, d0, d1, d9
Lloh42:
	adrp	x9, _T0@GOTPAGE
Lloh43:
	ldr	x9, [x9, _T0@GOTPAGEOFF]
Lloh44:
	ldr	d1, [x9]
	fmadd	d1, d1, d3, d0
	fadd	d0, d8, d1
	cmp	w20, w8
	b.lo	LBB0_8
; %bb.4:
	scvtf	d2, w19
	lsr	w8, w0, #30
	and	w8, w8, #0x2
	mov	w9, #1
	sub	w8, w9, w8
	scvtf	d3, w8
	fmul	d4, d0, d0
	fadd	d0, d0, d2
	fdiv	d0, d4, d0
	fsub	d0, d0, d1
	fsub	d0, d8, d0
	fmov	d1, #-2.00000000
	fmadd	d0, d0, d1, d2
	fmul	d0, d0, d3
	b	LBB0_12
LBB0_5:
	fmov	d0, d8
	bl	___LO
	add	w8, w19, #1
	orr	w8, w20, w8
	orr	w8, w8, w0
	cbz	w8, LBB0_10
; %bb.6:
	cmp	w19, #1
	b.ne	LBB0_11
; %bb.7:
	fmov	d0, d8
	b	LBB0_12
LBB0_8:
	cmp	w19, #1
	b.eq	LBB0_12
; %bb.9:
	fsub	d2, d0, d8
	fsub	d1, d1, d2
	fmov	d2, #-1.00000000
	fdiv	d2, d2, d0
	fmov	d3, #1.00000000
	fmadd	d0, d2, d0, d3
	fmadd	d0, d2, d1, d0
	fmadd	d0, d2, d0, d2
	b	LBB0_12
LBB0_10:
Lloh45:
	adrp	x8, _one@GOTPAGE
Lloh46:
	ldr	x8, [x8, _one@GOTPAGEOFF]
Lloh47:
	ldr	d0, [x8]
	fabs	d1, d8
	fdiv	d0, d0, d1
	b	LBB0_12
LBB0_11:
	fadd	d0, d8, d9
	fsub	d1, d0, d8
	fsub	d1, d9, d1
Lloh48:
	adrp	x8, _one@GOTPAGE
Lloh49:
	ldr	x8, [x8, _one@GOTPAGEOFF]
Lloh50:
	ldr	d2, [x8]
	fneg	d3, d2
	fdiv	d3, d3, d0
	fmadd	d0, d3, d0, d2
	fmadd	d0, d3, d1, d0
	fmadd	d0, d3, d0, d3
LBB0_12:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp], #48               ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.cfi_endproc
                                        ; -- End function
	.comm	_one,8,3                        ; @one
	.comm	_pio4,8,3                       ; @pio4
	.comm	_pio4lo,8,3                     ; @pio4lo
	.comm	_T1,8,3                         ; @T1
	.comm	_T3,8,3                         ; @T3
	.comm	_T5,8,3                         ; @T5
	.comm	_T7,8,3                         ; @T7
	.comm	_T9,8,3                         ; @T9
	.comm	_T11,8,3                        ; @T11
	.comm	_T2,8,3                         ; @T2
	.comm	_T4,8,3                         ; @T4
	.comm	_T6,8,3                         ; @T6
	.comm	_T8,8,3                         ; @T8
	.comm	_T10,8,3                        ; @T10
	.comm	_T12,8,3                        ; @T12
	.comm	_T0,8,3                         ; @T0
	.no_dead_strip	___kernel_tan
.subsections_via_symbols
