// File: /workspace/github_c_makefile_star2_O0/halcy[P]quasi_crystals_bot/Vector/Matrix.h
// Function: mat4x4affinedet
static inline float mat4x4affinedet(mat4x4_t m)
{
	return mat4x4_11(m)*mat4x4_22(m)*mat4x4_33(m)
	      -mat4x4_11(m)*mat4x4_32(m)*mat4x4_23(m)
	      +mat4x4_21(m)*mat4x4_32(m)*mat4x4_13(m)
	      -mat4x4_21(m)*mat4x4_12(m)*mat4x4_33(m)
	      +mat4x4_31(m)*mat4x4_12(m)*mat4x4_23(m)
	      -mat4x4_31(m)*mat4x4_22(m)*mat4x4_13(m);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq -0x90(%rsp), %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d00
movq -0x18(%rbp), %rax
movss %xmm0, -0x50(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d10
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm1
movss -0x50(%rbp), %xmm0
mulss %xmm1, %xmm0
movss %xmm0, -0x4c(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d20
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm1
movss -0x4c(%rbp), %xmm0
mulss %xmm1, %xmm0
movss %xmm0, -0x40(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d00
movq -0x18(%rbp), %rax
movss %xmm0, -0x48(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d30
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm1
movss -0x48(%rbp), %xmm0
mulss %xmm1, %xmm0
movss %xmm0, -0x44(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d40
movss -0x44(%rbp), %xmm1
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm2
movss -0x40(%rbp), %xmm0
mulss %xmm2, %xmm1
subss %xmm1, %xmm0
movss %xmm0, -0x34(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d50
movq -0x18(%rbp), %rax
movss %xmm0, -0x3c(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d30
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm1
movss -0x3c(%rbp), %xmm0
mulss %xmm1, %xmm0
movss %xmm0, -0x38(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d60
movss -0x38(%rbp), %xmm1
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm2
movss -0x34(%rbp), %xmm0
mulss %xmm2, %xmm1
addss %xmm1, %xmm0
movss %xmm0, -0x28(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d50
movq -0x18(%rbp), %rax
movss %xmm0, -0x30(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d70
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm1
movss -0x30(%rbp), %xmm0
mulss %xmm1, %xmm0
movss %xmm0, -0x2c(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d20
movss -0x2c(%rbp), %xmm1
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm2
movss -0x28(%rbp), %xmm0
mulss %xmm2, %xmm1
subss %xmm1, %xmm0
movss %xmm0, -0x1c(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d80
movq -0x18(%rbp), %rax
movss %xmm0, -0x24(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d70
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm1
movss -0x24(%rbp), %xmm0
mulss %xmm1, %xmm0
movss %xmm0, -0x20(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d40
movss -0x20(%rbp), %xmm1
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm2
movss -0x1c(%rbp), %xmm0
mulss %xmm2, %xmm1
addss %xmm1, %xmm0
movss %xmm0, -0x4(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d80
movq -0x18(%rbp), %rax
movss %xmm0, -0xc(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d10
movq -0x18(%rbp), %rax
movaps %xmm0, %xmm1
movss -0xc(%rbp), %xmm0
mulss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x10d60
movss -0x8(%rbp), %xmm1
movaps %xmm0, %xmm2
movss -0x4(%rbp), %xmm0
mulss %xmm2, %xmm1
subss %xmm1, %xmm0
leaq 0x90(%rsp), %rsp
popq %rbp
retq