// File: /workspace/github_c_makefile_star2_O3/halcy[P]quasi_crystals_bot/Vector/Matrix.h
// Function: mat4x3affineinverse
static inline float mat4x3affinedet(mat4x3_t m)
{
	return mat4x3_11(m)*mat4x3_22(m)*mat4x3_33(m)
	      -mat4x3_11(m)*mat4x3_32(m)*mat4x3_23(m)
	      +mat4x3_21(m)*mat4x3_32(m)*mat4x3_13(m)
	      -mat4x3_21(m)*mat4x3_12(m)*mat4x3_33(m)
	      +mat4x3_31(m)*mat4x3_12(m)*mat4x3_23(m)
	      -mat4x3_31(m)*mat4x3_22(m)*mat4x3_13(m);
}

// Assembly:
movss 0x14(%rsp), %xmm8
movss 0xc(%rsp), %xmm2
movss 0x10(%rsp), %xmm4
movss 0x18(%rsp), %xmm0
movss 0x8(%rsp), %xmm5
movsd 0x20(%rsp), %xmm15
movss 0x28(%rsp), %xmm13
movss 0x24(%rsp), %xmm10
movq %rdi, %rax
movaps %xmm8, %xmm3
movaps %xmm0, %xmm7
movaps %xmm4, %xmm1
movaps %xmm8, %xmm12
movaps %xmm4, %xmm9
mulss %xmm2, %xmm3
mulss %xmm0, %xmm1
mulss %xmm5, %xmm7
insertps $0x10, %xmm5, %xmm0     # xmm0 = xmm0[0],xmm5[0],xmm0[2,3]
insertps $0x10, %xmm2, %xmm12    # xmm12 = xmm12[0],xmm2[0],xmm12[2,3]
mulps %xmm0, %xmm15
movaps %xmm3, -0x28(%rsp)
movsd 0x1c(%rsp), %xmm3
movaps %xmm7, -0x18(%rsp)
mulss %xmm13, %xmm7
movsldup %xmm13, %xmm13          # xmm13 = xmm13[0,0,2,2]
movaps %xmm1, -0x38(%rsp)
movaps %xmm3, %xmm6
mulss %xmm3, %xmm2
movshdup %xmm3, %xmm14           # xmm14 = xmm3[1,1,3,3]
mulps %xmm13, %xmm0
mulss %xmm5, %xmm6
movaps %xmm3, %xmm5
mulss %xmm15, %xmm9
movss %xmm10, %xmm5           # xmm5 = xmm10[0],xmm5[1,2,3]
mulps %xmm12, %xmm5
mulps %xmm13, %xmm12
movaps %xmm2, %xmm1
subss -0x38(%rsp), %xmm2
movaps %xmm6, %xmm11
mulss %xmm14, %xmm1
insertps $0x10, %xmm4, %xmm14    # xmm14 = xmm14[0],xmm4[0],xmm14[2,3]
mulss %xmm10, %xmm11
addss %xmm7, %xmm1
movshdup %xmm12, %xmm7           # xmm7 = xmm12[1,1,3,3]
addss %xmm11, %xmm9
movaps %xmm5, %xmm11
mulss %xmm8, %xmm7
subps %xmm15, %xmm5
mulss %xmm4, %xmm11
addss %xmm1, %xmm11
addss %xmm7, %xmm9
movss 0x2d42(%rip), %xmm7     # 0xe008
movaps %xmm10, %xmm1
insertps $0x10, %xmm4, %xmm1     # xmm1 = xmm1[0],xmm4[0],xmm1[2,3]
mulps %xmm3, %xmm1
insertps $0x10, %xmm10, %xmm3    # xmm3 = xmm3[0],xmm10[0],xmm3[2,3]
mulps %xmm14, %xmm3
subss %xmm9, %xmm11
movaps %xmm4, %xmm9
mulss %xmm8, %xmm9
movaps -0x18(%rsp), %xmm8
subps %xmm1, %xmm0
subss -0x28(%rsp), %xmm8
subps %xmm12, %xmm3
divss %xmm11, %xmm7
subss %xmm6, %xmm9
movsd 0x2c(%rsp), %xmm6
movaps %xmm6, %xmm4
shufps $0xe1, %xmm6, %xmm4     # xmm4 = xmm4[1,0],xmm6[2,3]
movsldup %xmm7, %xmm1            # xmm1 = xmm7[0,0,2,2]
mulss %xmm7, %xmm2
mulss %xmm7, %xmm9
mulss %xmm8, %xmm7
mulps %xmm1, %xmm0
mulps %xmm1, %xmm3
mulps %xmm1, %xmm5
movaps %xmm0, %xmm1
mulps %xmm3, %xmm4
blendps $0x2, %xmm3, %xmm1      # xmm1 = xmm1[0],xmm3[1],xmm1[2,3]
blendps $0x2, %xmm0, %xmm3      # xmm3 = xmm3[0],xmm0[1],xmm3[2,3]
mulps %xmm6, %xmm0
movlps %xmm1, (%rdi)
movshdup %xmm6, %xmm1            # xmm1 = xmm6[1,1,3,3]
movlps %xmm3, 0xc(%rdi)
movlps %xmm5, 0x18(%rdi)
movss %xmm2, 0x8(%rdi)
mulss %xmm6, %xmm2
movss 0x34(%rsp), %xmm3
movss %xmm9, 0x14(%rdi)
movss %xmm7, 0x20(%rdi)
mulss %xmm9, %xmm1
movsldup %xmm3, %xmm6            # xmm6 = xmm3[0,0,2,2]
mulss %xmm3, %xmm7
mulps %xmm5, %xmm6
addps %xmm4, %xmm0
addss %xmm2, %xmm1
addps %xmm0, %xmm6
movaps 0x2c8f(%rip), %xmm0     # 0xe020
addss %xmm1, %xmm7
xorps %xmm0, %xmm6
xorps %xmm0, %xmm7
movlps %xmm6, 0x24(%rdi)
movss %xmm7, 0x2c(%rdi)
retq