	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function mat_rotate
LCPI0_0:
	.long	0x3f800000                      ## float 1
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_mat_rotate
	.p2align	4, 0x90
_mat_rotate:                            ## @mat_rotate
	.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	$24, %rsp
	.cfi_offset %rbx, -24
	movss	%xmm3, -24(%rbp)                ## 4-byte Spill
	movq	%rdi, %rbx
	movss	%xmm0, -20(%rbp)
	movss	%xmm1, -16(%rbp)
	movss	%xmm2, -12(%rbp)
	leaq	-20(%rbp), %rdi
	leaq	-16(%rbp), %rsi
	leaq	-12(%rbp), %rdx
	callq	_normalize
	movss	-24(%rbp), %xmm0                ## 4-byte Reload
                                        ## xmm0 = mem[0],zero,zero,zero
	callq	___sincosf_stret
	movshdup	%xmm0, %xmm8                    ## xmm8 = xmm0[1,1,3,3]
	movss	LCPI0_0(%rip), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	subss	%xmm8, %xmm2
	movss	-20(%rbp), %xmm10               ## xmm10 = mem[0],zero,zero,zero
	movaps	%xmm2, %xmm6
	mulss	%xmm10, %xmm6
	movaps	%xmm6, %xmm3
	mulss	%xmm10, %xmm3
	addss	%xmm8, %xmm3
	movss	%xmm3, (%rbx)
	movss	-16(%rbp), %xmm7                ## xmm7 = mem[0],zero,zero,zero
	movss	-12(%rbp), %xmm9                ## xmm9 = mem[0],zero,zero,zero
	mulss	%xmm7, %xmm6
	movaps	%xmm0, %xmm1
	mulss	%xmm9, %xmm1
	movaps	%xmm6, %xmm5
	subss	%xmm1, %xmm5
	movss	%xmm5, 4(%rbx)
	movaps	%xmm2, %xmm5
	mulss	%xmm9, %xmm5
	movaps	%xmm0, %xmm11
	mulss	%xmm7, %xmm11
	movaps	%xmm5, %xmm3
	mulss	%xmm10, %xmm3
	movaps	%xmm3, %xmm4
	addss	%xmm11, %xmm4
	movss	%xmm4, 8(%rbx)
	movl	$0, 12(%rbx)
	addss	%xmm6, %xmm1
	movss	%xmm1, 16(%rbx)
	mulss	%xmm7, %xmm2
	mulss	%xmm2, %xmm7
	addss	%xmm8, %xmm7
	movss	%xmm7, 20(%rbx)
	mulss	%xmm9, %xmm2
	mulss	%xmm10, %xmm0
	movaps	%xmm2, %xmm1
	subss	%xmm0, %xmm1
	movss	%xmm1, 24(%rbx)
	movl	$0, 28(%rbx)
	subss	%xmm11, %xmm3
	movss	%xmm3, 32(%rbx)
	addss	%xmm2, %xmm0
	movss	%xmm0, 36(%rbx)
	mulss	%xmm9, %xmm5
	addss	%xmm8, %xmm5
	movss	%xmm5, 40(%rbx)
	xorps	%xmm0, %xmm0
	movups	%xmm0, 44(%rbx)
	movl	$1065353216, 60(%rbx)           ## imm = 0x3F800000
	addq	$24, %rsp
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_mat_rotate                     ; -- Begin function mat_rotate
	.p2align	2
_mat_rotate:                            ; @mat_rotate
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	d9, d8, [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 b8, -40
	.cfi_offset b9, -48
	fmov	s8, s3
	mov	x19, x0
	stp	s1, s0, [sp, #8]
	str	s2, [sp, #4]
	add	x0, sp, #12
	add	x1, sp, #8
	add	x2, sp, #4
	bl	_normalize
	fmov	s0, s8
	bl	___sincosf_stret
	fmov	s2, #1.00000000
	fsub	s2, s2, s1
	ldr	s3, [sp, #12]
	fmul	s4, s2, s3
	fmadd	s5, s4, s3, s1
	str	s5, [x19]
	ldp	s6, s5, [sp, #4]
	fneg	s7, s6
	fmul	s7, s0, s7
	fmadd	s7, s4, s5, s7
	str	s7, [x19, #4]
	fmul	s7, s2, s6
	fmul	s16, s0, s5
	fmadd	s16, s7, s3, s16
	str	s16, [x19, #8]
	str	wzr, [x19, #12]
	fmul	s16, s0, s6
	fmadd	s4, s4, s5, s16
	str	s4, [x19, #16]
	fmul	s2, s2, s5
	fmadd	s4, s2, s5, s1
	str	s4, [x19, #20]
	fneg	s4, s3
	fmul	s4, s0, s4
	fmadd	s4, s2, s6, s4
	str	s4, [x19, #24]
	str	wzr, [x19, #28]
	fneg	s4, s5
	fmul	s4, s0, s4
	fmadd	s4, s7, s3, s4
	str	s4, [x19, #32]
	fmul	s0, s0, s3
	fmadd	s0, s2, s6, s0
	str	s0, [x19, #36]
	fmadd	s0, s7, s6, s1
	str	s0, [x19, #40]
	stur	xzr, [x19, #52]
	stur	xzr, [x19, #44]
	mov	w8, #1065353216
	str	w8, [x19, #60]
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #16]               ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
