	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function invert_matrix
LCPI0_0:
	.long	0x3f800000                      ## float 1
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_invert_matrix:                         ## @invert_matrix
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$80, %rsp
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -8(%rbp)
	movss	12(%rdi), %xmm1                 ## xmm1 = mem[0],zero,zero,zero
	xorps	%xmm0, %xmm0
	ucomiss	%xmm0, %xmm1
	jne	LBB0_4
	jp	LBB0_4
## %bb.1:
	movss	28(%rdi), %xmm1                 ## xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm1
	jne	LBB0_4
	jp	LBB0_4
## %bb.2:
	movss	44(%rdi), %xmm0                 ## xmm0 = mem[0],zero,zero,zero
	xorps	%xmm1, %xmm1
	ucomiss	%xmm1, %xmm0
	jne	LBB0_4
	jp	LBB0_4
## %bb.3:
	movss	60(%rdi), %xmm0                 ## xmm0 = mem[0],zero,zero,zero
	ucomiss	LCPI0_0(%rip), %xmm0
	jne	LBB0_4
	jnp	LBB0_6
LBB0_4:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-8(%rbp), %rax
	jne	LBB0_11
## %bb.5:
	addq	$80, %rsp
	popq	%rbp
	jmp	_invert_matrix_general          ## TAILCALL
LBB0_6:
	movss	20(%rdi), %xmm11                ## xmm11 = mem[0],zero,zero,zero
	movss	40(%rdi), %xmm13                ## xmm13 = mem[0],zero,zero,zero
	movss	36(%rdi), %xmm3                 ## xmm3 = mem[0],zero,zero,zero
	movss	24(%rdi), %xmm9                 ## xmm9 = mem[0],zero,zero,zero
	movaps	%xmm9, %xmm1
	mulss	%xmm3, %xmm1
	movaps	%xmm11, %xmm6
	mulss	%xmm13, %xmm6
	subss	%xmm1, %xmm6
	movss	8(%rdi), %xmm10                 ## xmm10 = mem[0],zero,zero,zero
	movss	(%rdi), %xmm15                  ## xmm15 = mem[0],zero,zero,zero
	movss	4(%rdi), %xmm12                 ## xmm12 = mem[0],zero,zero,zero
	movaps	%xmm13, %xmm1
	mulss	%xmm12, %xmm1
	movaps	%xmm3, %xmm4
	mulss	%xmm10, %xmm4
	subss	%xmm1, %xmm4
	movaps	%xmm10, %xmm2
	mulss	%xmm11, %xmm2
	movaps	%xmm12, %xmm1
	mulss	%xmm9, %xmm1
	subss	%xmm2, %xmm1
	movss	16(%rdi), %xmm5                 ## xmm5 = mem[0],zero,zero,zero
	movaps	%xmm4, %xmm2
	mulss	%xmm5, %xmm2
	movaps	%xmm15, %xmm0
	mulss	%xmm6, %xmm0
	addss	%xmm2, %xmm0
	movss	32(%rdi), %xmm8                 ## xmm8 = mem[0],zero,zero,zero
	movaps	%xmm8, %xmm7
	mulss	%xmm1, %xmm7
	addss	%xmm0, %xmm7
	xorps	%xmm0, %xmm0
	ucomiss	%xmm0, %xmm7
	jne	LBB0_9
	jp	LBB0_9
## %bb.7:
	movq	_Identity@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	-8(%rbp), %rcx
	jne	LBB0_11
## %bb.8:
	movq	%rsi, %rdi
	movq	%rax, %rsi
	movl	$64, %edx
	addq	$80, %rsp
	popq	%rbp
	jmp	_MEMCPY                         ## TAILCALL
LBB0_9:
	movss	LCPI0_0(%rip), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm2
	movaps	%xmm3, %xmm0
	mulss	%xmm2, %xmm6
	movss	%xmm6, -80(%rbp)
	movaps	%xmm12, %xmm14
	movaps	LCPI0_1(%rip), %xmm7            ## xmm7 = [-0.0E+0,-0.0E+0,-0.0E+0,-0.0E+0]
	xorps	%xmm7, %xmm14
	mulss	%xmm2, %xmm4
	movss	%xmm4, -76(%rbp)
	mulss	%xmm2, %xmm1
	movss	%xmm1, -72(%rbp)
	movl	$0, -68(%rbp)
	mulss	%xmm2, %xmm15
	mulss	%xmm2, %xmm5
	mulss	%xmm2, %xmm8
	mulss	48(%rdi), %xmm2
	movaps	%xmm13, %xmm1
	mulss	%xmm5, %xmm1
	movaps	%xmm8, %xmm4
	mulss	%xmm9, %xmm4
	subss	%xmm1, %xmm4
	movss	%xmm4, -64(%rbp)
	movaps	%xmm10, %xmm1
	mulss	%xmm8, %xmm1
	movaps	%xmm15, %xmm4
	mulss	%xmm13, %xmm4
	subss	%xmm1, %xmm4
	movss	%xmm4, -60(%rbp)
	movaps	%xmm9, %xmm1
	mulss	%xmm15, %xmm1
	movaps	%xmm5, %xmm4
	mulss	%xmm10, %xmm4
	subss	%xmm1, %xmm4
	movaps	%xmm11, %xmm1
	xorps	%xmm7, %xmm1
	movss	%xmm4, -56(%rbp)
	movl	$0, -52(%rbp)
	movaps	%xmm5, %xmm4
	mulss	%xmm14, %xmm4
	mulss	%xmm15, %xmm11
	addss	%xmm4, %xmm11
	mulss	%xmm8, %xmm14
	movaps	%xmm15, %xmm6
	mulss	%xmm3, %xmm6
	addss	%xmm14, %xmm6
	movaps	%xmm8, %xmm4
	mulss	%xmm1, %xmm4
	mulss	%xmm5, %xmm3
	addss	%xmm4, %xmm3
	movss	52(%rdi), %xmm4                 ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm1
	mulss	%xmm4, %xmm5
	addss	%xmm1, %xmm5
	xorps	%xmm7, %xmm0
	mulss	%xmm2, %xmm0
	mulss	%xmm4, %xmm8
	addss	%xmm0, %xmm8
	mulss	%xmm4, %xmm15
	mulss	%xmm12, %xmm2
	subss	%xmm15, %xmm2
	movss	%xmm3, -48(%rbp)
	movaps	%xmm6, %xmm0
	xorps	%xmm7, %xmm0
	movss	%xmm0, -44(%rbp)
	movss	%xmm11, -40(%rbp)
	movl	$0, -36(%rbp)
	movaps	%xmm5, %xmm0
	mulss	%xmm13, %xmm0
	movaps	%xmm9, %xmm1
	mulss	%xmm8, %xmm1
	subss	%xmm0, %xmm1
	movss	56(%rdi), %xmm0                 ## xmm0 = mem[0],zero,zero,zero
	mulss	%xmm0, %xmm3
	addss	%xmm1, %xmm3
	xorps	%xmm7, %xmm3
	movss	%xmm3, -32(%rbp)
	mulss	%xmm2, %xmm13
	mulss	%xmm10, %xmm8
	addss	%xmm13, %xmm8
	mulss	%xmm0, %xmm6
	addss	%xmm8, %xmm6
	movss	%xmm6, -28(%rbp)
	mulss	%xmm9, %xmm2
	mulss	%xmm10, %xmm5
	addss	%xmm2, %xmm5
	mulss	%xmm0, %xmm11
	addss	%xmm5, %xmm11
	xorps	%xmm7, %xmm11
	movss	%xmm11, -24(%rbp)
	movl	$1065353216, -20(%rbp)          ## imm = 0x3F800000
	leaq	-80(%rbp), %rax
	movq	%rsi, %rdi
	movq	%rax, %rsi
	movl	$64, %edx
	callq	_MEMCPY
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-8(%rbp), %rax
	jne	LBB0_11
## %bb.10:
	addq	$80, %rsp
	popq	%rbp
	retq
LBB0_11:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_Identity,8,3                   ## @Identity
	.comm	_m11,4,2                        ## @m11
	.comm	_m12,4,2                        ## @m12
	.comm	_m13,4,2                        ## @m13
	.comm	_m14,4,2                        ## @m14
	.comm	_m21,4,2                        ## @m21
	.comm	_m22,4,2                        ## @m22
	.comm	_m23,4,2                        ## @m23
	.comm	_m24,4,2                        ## @m24
	.comm	_m31,4,2                        ## @m31
	.comm	_m32,4,2                        ## @m32
	.comm	_m33,4,2                        ## @m33
	.comm	_m34,4,2                        ## @m34
	.comm	_m41,4,2                        ## @m41
	.comm	_m42,4,2                        ## @m42
	.comm	_m43,4,2                        ## @m43
	.comm	_m44,4,2                        ## @m44
	.no_dead_strip	_invert_matrix
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function invert_matrix
_invert_matrix:                         ; @invert_matrix
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.cfi_def_cfa_offset 96
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	mov	x8, x1
Lloh0:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	stur	x9, [x29, #-8]
	ldr	s0, [x0, #12]
	fcmp	s0, #0.0
	b.ne	LBB0_4
; %bb.1:
	ldr	s0, [x0, #28]
	fcmp	s0, #0.0
	b.ne	LBB0_4
; %bb.2:
	ldr	s0, [x0, #44]
	fcmp	s0, #0.0
	b.ne	LBB0_4
; %bb.3:
	ldr	s0, [x0, #60]
	fmov	s1, #1.00000000
	fcmp	s0, s1
	b.eq	LBB0_6
LBB0_4:
	ldur	x9, [x29, #-8]
Lloh3:
	adrp	x10, ___stack_chk_guard@GOTPAGE
Lloh4:
	ldr	x10, [x10, ___stack_chk_guard@GOTPAGEOFF]
Lloh5:
	ldr	x10, [x10]
	cmp	x10, x9
	b.ne	LBB0_11
; %bb.5:
	mov	x1, x8
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_invert_matrix_general
LBB0_6:
	ldp	s2, s1, [x0, #36]
	ldp	s6, s0, [x0, #20]
	ldr	s17, [x0, #32]
	fneg	s4, s2
	fmul	s3, s0, s4
	ldr	s19, [x0, #16]
	fmadd	s20, s6, s1, s3
	ldp	s5, s3, [x0, #4]
	ldr	s18, [x0]
	fneg	s16, s5
	fmul	s7, s1, s16
	fmadd	s22, s2, s3, s7
	fneg	s7, s6
	fmul	s21, s3, s7
	fmadd	s21, s5, s0, s21
	fmul	s23, s22, s19
	fmadd	s23, s18, s20, s23
	fmadd	s23, s17, s21, s23
	fcmp	s23, #0.0
	b.ne	LBB0_9
; %bb.7:
Lloh6:
	adrp	x9, _Identity@GOTPAGE
Lloh7:
	ldr	x9, [x9, _Identity@GOTPAGEOFF]
Lloh8:
	ldr	x1, [x9]
	ldur	x9, [x29, #-8]
Lloh9:
	adrp	x10, ___stack_chk_guard@GOTPAGE
Lloh10:
	ldr	x10, [x10, ___stack_chk_guard@GOTPAGEOFF]
Lloh11:
	ldr	x10, [x10]
	cmp	x10, x9
	b.ne	LBB0_11
; %bb.8:
	mov	x0, x8
	mov	w2, #64
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_MEMCPY
LBB0_9:
	fmov	s24, #1.00000000
	fdiv	s23, s24, s23
	fmul	s20, s20, s23
	fmul	s22, s22, s23
	stp	s20, s22, [sp, #8]
	fmul	s20, s21, s23
	str	s20, [sp, #16]
	str	wzr, [sp, #20]
	fmul	s20, s18, s23
	fmul	s21, s19, s23
	fmul	s22, s17, s23
	ldp	s24, s25, [x0, #48]
	fmul	s24, s23, s24
	fnmul	s19, s19, s23
	fmul	s19, s1, s19
	fmadd	s19, s22, s0, s19
	fnmul	s17, s17, s23
	fmul	s17, s3, s17
	fmadd	s17, s20, s1, s17
	stp	s19, s17, [sp, #24]
	fnmul	s17, s18, s23
	fmul	s17, s0, s17
	fmadd	s17, s21, s3, s17
	str	s17, [sp, #32]
	str	wzr, [sp, #36]
	fmul	s17, s21, s16
	fmadd	s6, s20, s6, s17
	fmul	s16, s22, s16
	fmadd	s17, s20, s2, s16
	fmul	s18, s22, s7
	fmadd	s18, s21, s2, s18
	fmul	s7, s24, s7
	fmadd	s7, s21, s25, s7
	fmul	s4, s24, s4
	fmadd	s4, s22, s25, s4
	fneg	s19, s25
	fmul	s19, s20, s19
	fmadd	s5, s24, s5, s19
	fnmadd	s2, s20, s2, s16
	stp	s18, s2, [sp, #40]
	str	s6, [sp, #48]
	str	wzr, [sp, #52]
	fneg	s2, s1
	fmul	s2, s7, s2
	fmadd	s2, s0, s4, s2
	ldr	s16, [x0, #56]
	fnmadd	s2, s16, s18, s2
	fmul	s1, s1, s5
	fmadd	s1, s3, s4, s1
	fmadd	s1, s16, s17, s1
	stp	s2, s1, [sp, #56]
	fmul	s0, s0, s5
	fmadd	s0, s3, s7, s0
	fnmadd	s0, s16, s6, s0
	str	s0, [sp, #64]
	mov	w9, #1065353216
	str	w9, [sp, #68]
	add	x1, sp, #8
	mov	x0, x8
	mov	w2, #64
	bl	_MEMCPY
	ldur	x8, [x29, #-8]
Lloh12:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh13:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh14:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_11
; %bb.10:
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #96
	ret
LBB0_11:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.cfi_endproc
                                        ; -- End function
	.comm	_Identity,8,3                   ; @Identity
	.comm	_m11,4,2                        ; @m11
	.comm	_m12,4,2                        ; @m12
	.comm	_m13,4,2                        ; @m13
	.comm	_m14,4,2                        ; @m14
	.comm	_m21,4,2                        ; @m21
	.comm	_m22,4,2                        ; @m22
	.comm	_m23,4,2                        ; @m23
	.comm	_m24,4,2                        ; @m24
	.comm	_m31,4,2                        ; @m31
	.comm	_m32,4,2                        ; @m32
	.comm	_m33,4,2                        ; @m33
	.comm	_m34,4,2                        ; @m34
	.comm	_m41,4,2                        ; @m41
	.comm	_m42,4,2                        ; @m42
	.comm	_m43,4,2                        ; @m43
	.comm	_m44,4,2                        ; @m44
	.no_dead_strip	_invert_matrix
.subsections_via_symbols
