// File: /workspace/github_c_makefile_star2_O0/halcy[P]quasi_crystals_bot/Vector/Matrix.c
// Function: mat4x3affinemul
mat4x3_t mat4x3affinemul(mat4x3_t a,mat4x3_t b)
{
	return mat4x3(a.m[0]*b.m[0]+a.m[3]*b.m[1]+a.m[6]*b.m[2],
	              a.m[0]*b.m[3]+a.m[3]*b.m[4]+a.m[6]*b.m[5],
	              a.m[0]*b.m[6]+a.m[3]*b.m[7]+a.m[6]*b.m[8],
	              a.m[0]*b.m[9]+a.m[3]*b.m[10]+a.m[6]*b.m[11]+a.m[9],

	              a.m[1]*b.m[0]+a.m[4]*b.m[1]+a.m[7]*b.m[2],
	              a.m[1]*b.m[3]+a.m[4]*b.m[4]+a.m[7]*b.m[5],
	              a.m[1]*b.m[6]+a.m[4]*b.m[7]+a.m[7]*b.m[8],
	              a.m[1]*b.m[9]+a.m[4]*b.m[10]+a.m[7]*b.m[11]+a.m[10],

	              a.m[2]*b.m[0]+a.m[5]*b.m[1]+a.m[8]*b.m[2],
	              a.m[2]*b.m[3]+a.m[5]*b.m[4]+a.m[8]*b.m[5],
	              a.m[2]*b.m[6]+a.m[5]*b.m[7]+a.m[8]*b.m[8],
	              a.m[2]*b.m[9]+a.m[5]*b.m[10]+a.m[8]*b.m[11]+a.m[11]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq -0x30(%rsp), %rsp
movq %rdi, %rax
movq %rax, -0x8(%rbp)
leaq 0x40(%rbp), %rcx
leaq 0x10(%rbp), %rax
movss (%rax), %xmm0
mulss (%rcx), %xmm0
movss 0xc(%rax), %xmm1
mulss 0x4(%rcx), %xmm1
addss %xmm1, %xmm0
movss 0x18(%rax), %xmm1
mulss 0x8(%rcx), %xmm1
addss %xmm1, %xmm0
movss (%rax), %xmm1
mulss 0xc(%rcx), %xmm1
movss 0xc(%rax), %xmm2
mulss 0x10(%rcx), %xmm2
addss %xmm2, %xmm1
movss 0x18(%rax), %xmm2
mulss 0x14(%rcx), %xmm2
addss %xmm2, %xmm1
movss (%rax), %xmm2
mulss 0x18(%rcx), %xmm2
movss 0xc(%rax), %xmm3
mulss 0x1c(%rcx), %xmm3
addss %xmm3, %xmm2
movss 0x18(%rax), %xmm3
mulss 0x20(%rcx), %xmm3
addss %xmm3, %xmm2
movss (%rax), %xmm3
mulss 0x24(%rcx), %xmm3
movss 0xc(%rax), %xmm4
mulss 0x28(%rcx), %xmm4
addss %xmm4, %xmm3
movss 0x18(%rax), %xmm4
mulss 0x2c(%rcx), %xmm4
addss %xmm4, %xmm3
addss 0x24(%rax), %xmm3
movss 0x4(%rax), %xmm4
mulss (%rcx), %xmm4
movss 0x10(%rax), %xmm5
mulss 0x4(%rcx), %xmm5
addss %xmm5, %xmm4
movss 0x1c(%rax), %xmm5
mulss 0x8(%rcx), %xmm5
addss %xmm5, %xmm4
movss 0x4(%rax), %xmm5
mulss 0xc(%rcx), %xmm5
movss 0x10(%rax), %xmm6
mulss 0x10(%rcx), %xmm6
addss %xmm6, %xmm5
movss 0x1c(%rax), %xmm6
mulss 0x14(%rcx), %xmm6
addss %xmm6, %xmm5
movss 0x4(%rax), %xmm6
mulss 0x18(%rcx), %xmm6
movss 0x10(%rax), %xmm7
mulss 0x1c(%rcx), %xmm7
addss %xmm7, %xmm6
movss 0x1c(%rax), %xmm7
mulss 0x20(%rcx), %xmm7
addss %xmm7, %xmm6
movss 0x4(%rax), %xmm7
mulss 0x24(%rcx), %xmm7
movss 0x10(%rax), %xmm8
mulss 0x28(%rcx), %xmm8
addss %xmm8, %xmm7
movss 0x1c(%rax), %xmm8
mulss 0x2c(%rcx), %xmm8
addss %xmm8, %xmm7
addss 0x28(%rax), %xmm7
movss 0x8(%rax), %xmm11
mulss (%rcx), %xmm11
movss 0x14(%rax), %xmm8
mulss 0x4(%rcx), %xmm8
addss %xmm8, %xmm11
movss 0x20(%rax), %xmm8
mulss 0x8(%rcx), %xmm8
addss %xmm8, %xmm11
movss 0x8(%rax), %xmm10
mulss 0xc(%rcx), %xmm10
movss 0x14(%rax), %xmm8
mulss 0x10(%rcx), %xmm8
addss %xmm8, %xmm10
movss 0x20(%rax), %xmm8
mulss 0x14(%rcx), %xmm8
addss %xmm8, %xmm10
movss 0x8(%rax), %xmm9
mulss 0x18(%rcx), %xmm9
movss 0x14(%rax), %xmm8
mulss 0x1c(%rcx), %xmm8
addss %xmm8, %xmm9
movss 0x20(%rax), %xmm8
mulss 0x20(%rcx), %xmm8
addss %xmm8, %xmm9
movss 0x8(%rax), %xmm8
mulss 0x24(%rcx), %xmm8
movss 0x14(%rax), %xmm12
mulss 0x28(%rcx), %xmm12
addss %xmm12, %xmm8
movss 0x20(%rax), %xmm12
mulss 0x2c(%rcx), %xmm12
addss %xmm12, %xmm8
addss 0x2c(%rax), %xmm8
movss %xmm11, (%rsp)
movss %xmm10, 0x8(%rsp)
movss %xmm9, 0x10(%rsp)
movss %xmm8, 0x18(%rsp)
callq 0xe310
movq -0x8(%rbp), %rax
leaq 0x30(%rsp), %rsp
popq %rbp
retq
nopw (%rax,%rax)