	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function vg_mat3x3_affine_invert
LCPI0_0:
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_vg_mat3x3_affine_invert
	.p2align	4, 0x90
_vg_mat3x3_affine_invert:               ## @vg_mat3x3_affine_invert
	.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
	pushq	%rax
	.cfi_offset %rbx, -24
	movq	%rdi, %rbx
	callq	_vg_mat3x3_affine_is_invertible
	movl	%eax, %edi
	callq	_vcos_assert
	movq	%rbx, %rdi
	callq	_vg_mat3x3_affine_det
	movl	%eax, %edi
	callq	_recip_
	movq	(%rbx), %rax
	movq	(%rax), %rdx
	movq	8(%rax), %rcx
	movss	(%rdx), %xmm1                   ## xmm1 = mem[0],zero,zero,zero
	movss	4(%rdx), %xmm4                  ## xmm4 = mem[0],zero,zero,zero
	movss	8(%rdx), %xmm3                  ## xmm3 = mem[0],zero,zero,zero
	movss	(%rcx), %xmm2                   ## xmm2 = mem[0],zero,zero,zero
	movss	4(%rcx), %xmm5                  ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm0, %xmm5
	movss	%xmm5, (%rdx)
	movaps	LCPI0_0(%rip), %xmm5            ## xmm5 = [-0.0E+0,-0.0E+0,-0.0E+0,-0.0E+0]
	movaps	%xmm4, %xmm6
	xorps	%xmm5, %xmm6
	mulss	%xmm0, %xmm6
	movss	%xmm6, 4(%rdx)
	movss	4(%rcx), %xmm6                  ## xmm6 = mem[0],zero,zero,zero
	mulss	%xmm3, %xmm6
	mulss	8(%rcx), %xmm4
	subss	%xmm6, %xmm4
	mulss	%xmm0, %xmm4
	movss	%xmm4, 8(%rdx)
	xorps	%xmm2, %xmm5
	mulss	%xmm0, %xmm5
	movss	%xmm5, (%rcx)
	movaps	%xmm0, %xmm4
	mulss	%xmm1, %xmm4
	movss	%xmm4, 4(%rcx)
	mulss	8(%rcx), %xmm1
	mulss	%xmm3, %xmm2
	subss	%xmm1, %xmm2
	mulss	%xmm0, %xmm2
	movss	%xmm2, 8(%rcx)
	movq	16(%rax), %rax
	movq	$0, (%rax)
	movl	$1065353216, 8(%rax)            ## imm = 0x3F800000
	addq	$8, %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	_vg_mat3x3_affine_invert        ; -- Begin function vg_mat3x3_affine_invert
	.p2align	2
_vg_mat3x3_affine_invert:               ; @vg_mat3x3_affine_invert
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	bl	_vg_mat3x3_affine_is_invertible
	bl	_vcos_assert
	mov	x0, x19
	bl	_vg_mat3x3_affine_det
	bl	_recip_
	ldr	x8, [x19]
	ldp	x9, x10, [x8]
	ldp	s1, s2, [x9]
	ldr	s3, [x9, #8]
	ldp	s4, s5, [x10]
	fmul	s5, s0, s5
	fneg	s6, s2
	fmul	s6, s0, s6
	stp	s5, s6, [x9]
	ldp	s6, s5, [x10, #4]
	fneg	s6, s6
	fmul	s6, s3, s6
	fmadd	s2, s5, s2, s6
	fmul	s2, s0, s2
	str	s2, [x9, #8]
	fneg	s2, s4
	fmul	s2, s0, s2
	fmul	s5, s0, s1
	stp	s2, s5, [x10]
	ldr	s2, [x10, #8]
	fneg	s2, s2
	fmul	s1, s1, s2
	fmadd	s1, s4, s3, s1
	fmul	s0, s0, s1
	str	s0, [x10, #8]
	ldr	x8, [x8, #16]
	str	xzr, [x8]
	mov	w9, #1065353216
	str	w9, [x8, #8]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
