	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function gl_rotation_matrix
LCPI0_0:
	.quad	0x3ff0000000000000              ## double 1
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.quad	0x8000000000000000              ## double -0
	.quad	0x8000000000000000              ## double -0
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_gl_rotation_matrix
	.p2align	4, 0x90
_gl_rotation_matrix:                    ## @gl_rotation_matrix
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	subq	$88, %rsp
	.cfi_offset %rbx, -24
	movq	%rdi, %rbx
	movsd	%xmm0, -32(%rbp)                ## 8-byte Spill
	movq	_DEG2RAD@GOTPCREL(%rip), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	movsd	%xmm0, -40(%rbp)                ## 8-byte Spill
	movapd	%xmm2, -64(%rbp)                ## 16-byte Spill
	movapd	%xmm2, %xmm0
	mulsd	%xmm2, %xmm0
	movapd	%xmm1, -96(%rbp)                ## 16-byte Spill
	mulsd	%xmm1, %xmm1
	addsd	%xmm0, %xmm1
	movapd	%xmm3, -80(%rbp)                ## 16-byte Spill
	movapd	%xmm3, %xmm0
	mulsd	%xmm3, %xmm0
	addsd	%xmm1, %xmm0
	callq	_GL_SQRT
	movapd	%xmm0, %xmm1
	xorpd	%xmm0, %xmm0
	ucomisd	%xmm0, %xmm1
	jne	LBB0_1
	jp	LBB0_1
## %bb.2:
	movq	_Identity@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	movl	$128, %edx
	addq	$88, %rsp
	popq	%rbx
	popq	%rbp
	jmp	_MEMCPY                         ## TAILCALL
LBB0_1:
	movsd	-40(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	mulsd	-32(%rbp), %xmm0                ## 8-byte Folded Reload
	movapd	%xmm1, -32(%rbp)                ## 16-byte Spill
	callq	___sincos_stret
	movapd	-96(%rbp), %xmm5                ## 16-byte Reload
	unpcklpd	-64(%rbp), %xmm5                ## 16-byte Folded Reload
                                        ## xmm5 = xmm5[0],mem[0]
	movapd	-32(%rbp), %xmm3                ## 16-byte Reload
	movddup	%xmm3, %xmm2                    ## xmm2 = xmm3[0,0]
	divpd	%xmm2, %xmm5
	movapd	-80(%rbp), %xmm13               ## 16-byte Reload
	divsd	%xmm3, %xmm13
	movapd	%xmm5, %xmm12
	unpckhpd	%xmm5, %xmm12                   ## xmm12 = xmm12[1],xmm5[1]
	movapd	%xmm12, %xmm10
	mulsd	%xmm12, %xmm10
	movapd	%xmm13, %xmm8
	mulsd	%xmm13, %xmm8
	movapd	%xmm5, %xmm9
	mulsd	%xmm0, %xmm9
	mulsd	%xmm0, %xmm12
	mulsd	%xmm13, %xmm0
	movsd	LCPI0_0(%rip), %xmm4            ## xmm4 = mem[0],zero
	subsd	%xmm1, %xmm4
	movapd	LCPI0_1(%rip), %xmm11           ## xmm11 = [-0.0E+0,-0.0E+0]
	movddup	%xmm5, %xmm3                    ## xmm3 = xmm5[0,0]
	mulpd	%xmm5, %xmm3
	movddup	%xmm4, %xmm6                    ## xmm6 = xmm4[0,0]
	movapd	%xmm1, %xmm2
	unpcklpd	%xmm0, %xmm2                    ## xmm2 = xmm2[0],xmm0[0]
	xorpd	%xmm11, %xmm0
	movapd	%xmm6, %xmm7
	mulpd	%xmm3, %xmm7
	addpd	%xmm2, %xmm7
	movupd	%xmm7, (%rbx)
	shufpd	$1, %xmm10, %xmm3               ## xmm3 = xmm3[1],xmm10[0]
	unpcklpd	%xmm1, %xmm0                    ## xmm0 = xmm0[0],xmm1[0]
	mulpd	%xmm6, %xmm3
	addpd	%xmm0, %xmm3
	movupd	%xmm3, 32(%rbx)
	xorpd	%xmm9, %xmm11
	movddup	%xmm13, %xmm0                   ## xmm0 = xmm13[0,0]
	mulpd	%xmm5, %xmm0
	movapd	%xmm4, %xmm2
	mulsd	%xmm0, %xmm2
	subsd	%xmm12, %xmm2
	movapd	%xmm12, %xmm5
	unpcklpd	%xmm11, %xmm5                   ## xmm5 = xmm5[0],xmm11[0]
	mulpd	%xmm0, %xmm6
	addpd	%xmm5, %xmm6
	movupd	%xmm6, 64(%rbx)
	movsd	%xmm2, 16(%rbx)
	unpckhpd	%xmm0, %xmm0                    ## xmm0 = xmm0[1,1]
	mulsd	%xmm4, %xmm0
	addsd	%xmm9, %xmm0
	movsd	%xmm0, 48(%rbx)
	mulsd	%xmm8, %xmm4
	addsd	%xmm1, %xmm4
	movsd	%xmm4, 80(%rbx)
	xorpd	%xmm0, %xmm0
	movupd	%xmm0, 104(%rbx)
	movq	$0, 24(%rbx)
	movq	$0, 56(%rbx)
	movupd	%xmm0, 88(%rbx)
	movabsq	$4607182418800017408, %rax      ## imm = 0x3FF0000000000000
	movq	%rax, 120(%rbx)
	addq	$88, %rsp
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_DEG2RAD,8,3                    ## @DEG2RAD
	.comm	_Identity,4,2                   ## @Identity
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_gl_rotation_matrix             ; -- Begin function gl_rotation_matrix
	.p2align	2
_gl_rotation_matrix:                    ; @gl_rotation_matrix
	.cfi_startproc
; %bb.0:
	stp	d13, d12, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	d11, d10, [sp, #16]             ; 16-byte Folded Spill
	stp	d9, d8, [sp, #32]               ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	.cfi_offset b10, -56
	.cfi_offset b11, -64
	.cfi_offset b12, -72
	.cfi_offset b13, -80
	mov	x19, x0
	fmov	d8, d3
	fmov	d9, d2
	fmov	d10, d1
	fmov	d11, d0
	fmul	d0, d2, d2
Lloh0:
	adrp	x8, _DEG2RAD@GOTPAGE
Lloh1:
	ldr	x8, [x8, _DEG2RAD@GOTPAGEOFF]
Lloh2:
	ldr	d13, [x8]
	fmadd	d0, d1, d1, d0
	fmadd	d0, d3, d3, d0
	bl	_GL_SQRT
	fcmp	d0, #0.0
	b.ne	LBB0_2
; %bb.1:
Lloh3:
	adrp	x8, _Identity@GOTPAGE
Lloh4:
	ldr	x8, [x8, _Identity@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #128
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #32]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #16]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp], #80             ; 16-byte Folded Reload
	b	_MEMCPY
LBB0_2:
	fmov	d12, d0
	fmul	d0, d13, d11
	bl	___sincos_stret
	fdiv	d2, d10, d12
	fdiv	d3, d9, d12
	fdiv	d4, d8, d12
	fmul	d5, d2, d2
	fmul	d6, d3, d3
	fmul	d7, d4, d4
	fmul	d16, d2, d3
	fmul	d17, d3, d4
	fmul	d18, d4, d2
	fmul	d2, d2, d0
	fmul	d3, d3, d0
	fmul	d0, d4, d0
	fmov	d4, #1.00000000
	fsub	d4, d4, d1
	fmadd	d5, d4, d5, d1
	fnmsub	d19, d4, d16, d0
	fmadd	d0, d4, d16, d0
	fmadd	d16, d4, d18, d3
	stp	d5, d0, [x19]
	fmadd	d0, d4, d6, d1
	stp	d19, d0, [x19, #32]
	fnmsub	d0, d4, d17, d2
	stp	d16, d0, [x19, #64]
	fnmsub	d0, d4, d18, d3
	str	d0, [x19, #16]
	fmadd	d0, d4, d17, d2
	str	d0, [x19, #48]
	fmadd	d0, d4, d7, d1
	str	d0, [x19, #80]
	movi.2d	v0, #0000000000000000
	stur	q0, [x19, #104]
	str	xzr, [x19, #24]
	str	xzr, [x19, #56]
	stur	q0, [x19, #88]
	mov	x8, #4607182418800017408
	str	x8, [x19, #120]
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #32]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #16]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp], #80             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.comm	_DEG2RAD,8,3                    ; @DEG2RAD
	.comm	_Identity,4,2                   ; @Identity
.subsections_via_symbols
