// File: /workspace/github_c_makefile_star2_O0/halcy[P]quasi_crystals_bot/Vector/MatrixDouble.h
// Function: dmat4x4affinedet
static inline double dmat4x4affinedet(dmat4x4_t m)
{
	return dmat4x4_11(m)*dmat4x4_22(m)*dmat4x4_33(m)
	      -dmat4x4_11(m)*dmat4x4_32(m)*dmat4x4_23(m)
	      +dmat4x4_21(m)*dmat4x4_32(m)*dmat4x4_13(m)
	      -dmat4x4_21(m)*dmat4x4_12(m)*dmat4x4_33(m)
	      +dmat4x4_31(m)*dmat4x4_12(m)*dmat4x4_23(m)
	      -dmat4x4_31(m)*dmat4x4_22(m)*dmat4x4_13(m);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq -0x110(%rsp), %rsp
leaq 0x10(%rbp), %rcx
movq %rcx, -0x20(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149a0
movq -0x20(%rbp), %rcx
movsd %xmm0, -0x90(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149b0
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm1
movsd -0x90(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149c0
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm1
movsd -0x88(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149a0
movq -0x20(%rbp), %rcx
movsd %xmm0, -0x80(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149d0
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm1
movsd -0x80(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149e0
movsd -0x78(%rbp), %xmm1
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm2
movsd -0x70(%rbp), %xmm0
mulsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149f0
movq -0x20(%rbp), %rcx
movsd %xmm0, -0x68(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149d0
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm1
movsd -0x68(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x14a00
movsd -0x60(%rbp), %xmm1
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm2
movsd -0x58(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149f0
movq -0x20(%rbp), %rcx
movsd %xmm0, -0x50(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x14a10
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm1
movsd -0x50(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149c0
movsd -0x48(%rbp), %xmm1
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm2
movsd -0x40(%rbp), %xmm0
mulsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x14a20
movq -0x20(%rbp), %rcx
movsd %xmm0, -0x38(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x14a10
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm1
movsd -0x38(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149e0
movsd -0x30(%rbp), %xmm1
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm2
movsd -0x28(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x8(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x14a20
movq -0x20(%rbp), %rcx
movsd %xmm0, -0x18(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x149b0
movq -0x20(%rbp), %rcx
movaps %xmm0, %xmm1
movsd -0x18(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
movups 0x70(%rcx), %xmm0
movq %rsp, %rax
movups %xmm0, 0x70(%rax)
movups 0x60(%rcx), %xmm0
movups %xmm0, 0x60(%rax)
movups 0x50(%rcx), %xmm0
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x14a00
movsd -0x10(%rbp), %xmm1
movaps %xmm0, %xmm2
movsd -0x8(%rbp), %xmm0
mulsd %xmm2, %xmm1
subsd %xmm1, %xmm0
leaq 0x110(%rsp), %rsp
popq %rbp
retq
nopl (%rax)