// File: /workspace/github_c_makefile_star2_O2/FredTheDino[P]Fog/src/engine/math/block_matrix.h
// Function: inverse(Mat4)
Mat4 inverse(Mat4 m) {
    Mat4 inv = {};

    m = transpose(m);

    inv.__[0] = m.__[5] * m.__[10] * m.__[15] - m.__[5] * m.__[11] * m.__[14] -
                m.__[9] * m.__[6] * m.__[15] + m.__[9] * m.__[7] * m.__[14] +
                m.__[13] * m.__[6] * m.__[11] - m.__[13] * m.__[7] * m.__[10];

    inv.__[4] = -m.__[4] * m.__[10] * m.__[15] + m.__[4] * m.__[11] * m.__[14] +
                m.__[8] * m.__[6] * m.__[15] - m.__[8] * m.__[7] * m.__[14] -
                m.__[12] * m.__[6] * m.__[11] + m.__[12] * m.__[7] * m.__[10];

    inv.__[8] = m.__[4] * m.__[9] * m.__[15] - m.__[4] * m.__[11] * m.__[13] -
                m.__[8] * m.__[5] * m.__[15] + m.__[8] * m.__[7] * m.__[13] +
                m.__[12] * m.__[5] * m.__[11] - m.__[12] * m.__[7] * m.__[9];

    inv.__[12] = -m.__[4] * m.__[9] * m.__[14] + m.__[4] * m.__[10] * m.__[13] +
                 m.__[8] * m.__[5] * m.__[14] - m.__[8] * m.__[6] * m.__[13] -
                 m.__[12] * m.__[5] * m.__[10] + m.__[12] * m.__[6] * m.__[9];

    inv.__[1] = -m.__[1] * m.__[10] * m.__[15] + m.__[1] * m.__[11] * m.__[14] +
                m.__[9] * m.__[2] * m.__[15] - m.__[9] * m.__[3] * m.__[14] -
                m.__[13] * m.__[2] * m.__[11] + m.__[13] * m.__[3] * m.__[10];

    inv.__[5] = m.__[0] * m.__[10] * m.__[15] - m.__[0] * m.__[11] * m.__[14] -
                m.__[8] * m.__[2] * m.__[15] + m.__[8] * m.__[3] * m.__[14] +
                m.__[12] * m.__[2] * m.__[11] - m.__[12] * m.__[3] * m.__[10];

    inv.__[9] = -m.__[0] * m.__[9] * m.__[15] + m.__[0] * m.__[11] * m.__[13] +
                m.__[8] * m.__[1] * m.__[15] - m.__[8] * m.__[3] * m.__[13] -
                m.__[12] * m.__[1] * m.__[11] + m.__[12] * m.__[3] * m.__[9];

    inv.__[13] = m.__[0] * m.__[9] * m.__[14] - m.__[0] * m.__[10] * m.__[13] -
                 m.__[8] * m.__[1] * m.__[14] + m.__[8] * m.__[2] * m.__[13] +
                 m.__[12] * m.__[1] * m.__[10] - m.__[12] * m.__[2] * m.__[9];

    inv.__[2] = m.__[1] * m.__[6] * m.__[15] - m.__[1] * m.__[7] * m.__[14] -
                m.__[5] * m.__[2] * m.__[15] + m.__[5] * m.__[3] * m.__[14] +
                m.__[13] * m.__[2] * m.__[7] - m.__[13] * m.__[3] * m.__[6];

    inv.__[6] = -m.__[0] * m.__[6] * m.__[15] + m.__[0] * m.__[7] * m.__[14] +
                m.__[4] * m.__[2] * m.__[15] - m.__[4] * m.__[3] * m.__[14] -
                m.__[12] * m.__[2] * m.__[7] + m.__[12] * m.__[3] * m.__[6];

    inv.__[10] = m.__[0] * m.__[5] * m.__[15] - m.__[0] * m.__[7] * m.__[13] -
                 m.__[4] * m.__[1] * m.__[15] + m.__[4] * m.__[3] * m.__[13] +
                 m.__[12] * m.__[1] * m.__[7] - m.__[12] * m.__[3] * m.__[5];

    inv.__[14] = -m.__[0] * m.__[5] * m.__[14] + m.__[0] * m.__[6] * m.__[13] +
                 m.__[4] * m.__[1] * m.__[14] - m.__[4] * m.__[2] * m.__[13] -
                 m.__[12] * m.__[1] * m.__[6] + m.__[12] * m.__[2] * m.__[5];

    inv.__[3] = -m.__[1] * m.__[6] * m.__[11] + m.__[1] * m.__[7] * m.__[10] +
                m.__[5] * m.__[2] * m.__[11] - m.__[5] * m.__[3] * m.__[10] -
                m.__[9] * m.__[2] * m.__[7] + m.__[9] * m.__[3] * m.__[6];

    inv.__[7] = m.__[0] * m.__[6] * m.__[11] - m.__[0] * m.__[7] * m.__[10] -
                m.__[4] * m.__[2] * m.__[11] + m.__[4] * m.__[3] * m.__[10] +
                m.__[8] * m.__[2] * m.__[7] - m.__[8] * m.__[3] * m.__[6];

    inv.__[11] = -m.__[0] * m.__[5] * m.__[11] + m.__[0] * m.__[7] * m.__[9] +
                 m.__[4] * m.__[1] * m.__[11] - m.__[4] * m.__[3] * m.__[9] -
                 m.__[8] * m.__[1] * m.__[7] + m.__[8] * m.__[3] * m.__[5];

    inv.__[15] = m.__[0] * m.__[5] * m.__[10] - m.__[0] * m.__[6] * m.__[9] -
                 m.__[4] * m.__[1] * m.__[10] + m.__[4] * m.__[2] * m.__[9] +
                 m.__[8] * m.__[1] * m.__[6] - m.__[8] * m.__[2] * m.__[5];

    real det = m.__[0] * inv.__[0] + m.__[1] * inv.__[4] + m.__[2] * inv.__[8] +
               m.__[3] * inv.__[12];

    if (det == 0) return {};

    det = 1.0f / det;

    for (u8 i = 0; i < 16; i++) inv.__[i] *= det;

    return transpose(inv);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, %rax
leaq 0x10(%rbp), %rcx
movaps (%rcx), %xmm0
movaps 0x10(%rcx), %xmm1
movaps 0x20(%rcx), %xmm2
movaps 0x30(%rcx), %xmm3
leaq -0x1d0(%rbp), %rdx
movaps %xmm3, 0x30(%rdx)
movaps %xmm2, 0x20(%rdx)
movaps %xmm1, 0x10(%rdx)
movaps %xmm0, (%rdx)
xorps %xmm0, %xmm0
leaq -0xc0(%rbp), %rsi
movaps %xmm0, (%rsi)
movaps %xmm0, 0x10(%rsi)
movaps %xmm0, 0x20(%rsi)
movaps %xmm0, 0x30(%rsi)
xorl %r8d, %r8d
cmpq $0x4, %r8
je 0x345b
xorl %r9d, %r9d
cmpq $0x10, %r9
je 0x344e
movss (%rdx,%r9,4), %xmm0
movss %xmm0, (%rsi,%r9)
addq $0x4, %r9
jmp 0x3436
incq %r8
addq $0x10, %rsi
addq $0x4, %rdx
jmp 0x342d
movaps -0xc0(%rbp), %xmm0
movaps -0xb0(%rbp), %xmm1
movaps -0xa0(%rbp), %xmm2
movaps -0x90(%rbp), %xmm3
movups %xmm3, 0x30(%rcx)
movups %xmm2, 0x20(%rcx)
movups %xmm1, 0x10(%rcx)
movups %xmm0, (%rcx)
movss 0x28(%rcx), %xmm9
movss 0x14(%rcx), %xmm2
movss %xmm2, -0x38(%rbp)
movss 0x18(%rcx), %xmm5
movss 0x2c(%rcx), %xmm1
movaps %xmm1, %xmm0
movaps %xmm1, %xmm4
mulss %xmm2, %xmm0
movaps %xmm2, %xmm1
mulss %xmm9, %xmm1
movss 0x3c(%rcx), %xmm15
movss 0x38(%rcx), %xmm12
mulss %xmm12, %xmm0
mulss %xmm15, %xmm1
subss %xmm0, %xmm1
movss 0x24(%rcx), %xmm0
movaps %xmm5, %xmm3
movaps %xmm5, %xmm7
movaps %xmm5, %xmm2
movaps %xmm5, %xmm13
movss %xmm5, -0x8(%rbp)
movaps %xmm0, %xmm5
movss %xmm0, -0xd0(%rbp)
mulss %xmm0, %xmm2
mulss %xmm15, %xmm2
subss %xmm2, %xmm1
movss 0x1c(%rcx), %xmm0
movaps %xmm5, %xmm2
mulss %xmm0, %xmm2
mulss %xmm12, %xmm2
addss %xmm1, %xmm2
movss 0x34(%rcx), %xmm11
mulss %xmm11, %xmm3
mulss %xmm4, %xmm3
addss %xmm2, %xmm3
movaps %xmm0, %xmm1
mulss %xmm11, %xmm1
mulss %xmm9, %xmm1
subss %xmm1, %xmm3
movss %xmm3, -0x3c(%rbp)
movss 0x10(%rcx), %xmm10
movaps %xmm4, %xmm2
movaps %xmm4, %xmm14
mulss %xmm10, %xmm2
movaps %xmm12, %xmm3
mulss %xmm2, %xmm3
movaps %xmm9, %xmm1
movss %xmm9, -0xc(%rbp)
mulss %xmm10, %xmm1
movaps %xmm10, -0x150(%rbp)
movaps %xmm1, %xmm4
mulss %xmm15, %xmm4
subss %xmm4, %xmm3
movss 0x20(%rcx), %xmm8
mulss %xmm8, %xmm7
movaps %xmm7, %xmm5
mulss %xmm15, %xmm5
addss %xmm3, %xmm5
movss %xmm0, -0x28(%rbp)
movaps %xmm0, %xmm3
mulss %xmm8, %xmm3
movaps %xmm8, -0x80(%rbp)
movaps %xmm3, %xmm4
mulss %xmm12, %xmm4
subss %xmm4, %xmm5
movaps %xmm13, %xmm4
movss 0x30(%rcx), %xmm13
mulss %xmm13, %xmm4
movss %xmm4, -0x14(%rbp)
mulss %xmm14, %xmm4
subss %xmm4, %xmm5
movaps %xmm0, %xmm4
mulss %xmm13, %xmm4
movaps %xmm13, -0xe0(%rbp)
movaps %xmm4, %xmm0
mulss %xmm9, %xmm0
addss %xmm5, %xmm0
movss %xmm0, -0x4(%rbp)
movss -0xd0(%rbp), %xmm9
movaps %xmm9, %xmm5
mulss %xmm10, %xmm5
mulss %xmm11, %xmm2
movaps %xmm5, %xmm6
mulss %xmm15, %xmm6
subss %xmm2, %xmm6
movss -0x38(%rbp), %xmm0
movaps %xmm0, %xmm2
mulss %xmm8, %xmm2
movaps %xmm2, %xmm8
mulss %xmm15, %xmm8
subss %xmm8, %xmm6
mulss %xmm11, %xmm3
addss %xmm6, %xmm3
movaps %xmm0, %xmm6
mulss %xmm13, %xmm6
movaps %xmm6, %xmm8
mulss %xmm14, %xmm8
addss %xmm3, %xmm8
mulss %xmm9, %xmm4
movaps %xmm9, %xmm0
subss %xmm4, %xmm8
movss %xmm8, -0x70(%rbp)
mulss %xmm11, %xmm1
mulss %xmm12, %xmm5
subss %xmm5, %xmm1
mulss %xmm12, %xmm2
movaps %xmm12, %xmm9
addss %xmm1, %xmm2
mulss %xmm11, %xmm7
movaps %xmm11, %xmm10
subss %xmm7, %xmm2
movss -0xc(%rbp), %xmm7
mulss %xmm7, %xmm6
subss %xmm6, %xmm2
movss -0x14(%rbp), %xmm11
movaps %xmm0, %xmm5
mulss %xmm0, %xmm11
addss %xmm2, %xmm11
movss %xmm11, -0x14(%rbp)
movss 0x4(%rcx), %xmm6
movaps %xmm7, %xmm0
mulss %xmm6, %xmm0
movaps %xmm14, %xmm1
mulss %xmm6, %xmm1
movss %xmm6, -0x24(%rbp)
mulss %xmm12, %xmm1
mulss %xmm15, %xmm0
subss %xmm0, %xmm1
movaps %xmm5, %xmm2
movss 0x8(%rcx), %xmm0
mulss %xmm0, %xmm2
movss %xmm2, -0x18(%rbp)
movaps %xmm0, %xmm3
movaps %xmm2, %xmm0
mulss %xmm15, %xmm0
addss %xmm1, %xmm0
movaps %xmm5, %xmm4
movss 0xc(%rcx), %xmm1
mulss %xmm1, %xmm4
movss %xmm4, -0x6c(%rbp)
movaps %xmm1, %xmm2
movaps %xmm4, %xmm1
mulss %xmm12, %xmm1
subss %xmm1, %xmm0
movss %xmm10, -0x30(%rbp)
movaps %xmm10, %xmm1
mulss %xmm3, %xmm1
movss %xmm1, -0x100(%rbp)
mulss %xmm14, %xmm1
subss %xmm1, %xmm0
movaps %xmm10, %xmm1
mulss %xmm2, %xmm1
movss %xmm1, -0x68(%rbp)
movaps %xmm2, %xmm4
mulss %xmm7, %xmm1
addss %xmm0, %xmm1
movss -0x3c(%rbp), %xmm0
movss %xmm0, -0xc0(%rbp)
movss -0x4(%rbp), %xmm0
movss %xmm0, -0xb0(%rbp)
movss %xmm8, -0xa0(%rbp)
movss %xmm11, -0x90(%rbp)
movss %xmm1, -0xbc(%rbp)
movss (%rcx), %xmm0
movaps %xmm7, %xmm1
mulss %xmm0, %xmm1
movss %xmm1, -0x60(%rbp)
movss %xmm14, -0x34(%rbp)
movaps %xmm14, %xmm2
mulss %xmm0, %xmm2
movaps %xmm0, %xmm13
movaps %xmm12, %xmm0
mulss %xmm2, %xmm0
movss %xmm15, -0x5c(%rbp)
mulss %xmm15, %xmm1
subss %xmm0, %xmm1
movaps 0xf886(%rip), %xmm0     # 0x13040
movaps -0x80(%rbp), %xmm10
movaps %xmm10, %xmm11
xorps %xmm0, %xmm11
movaps %xmm0, %xmm8
movaps %xmm3, %xmm0
mulss %xmm11, %xmm0
movss %xmm0, -0x10(%rbp)
mulss %xmm15, %xmm0
addss %xmm1, %xmm0
movaps %xmm10, %xmm1
mulss %xmm4, %xmm1
movaps %xmm1, -0x120(%rbp)
mulss %xmm12, %xmm1
addss %xmm0, %xmm1
movaps -0xe0(%rbp), %xmm15
movaps %xmm15, %xmm0
mulss %xmm3, %xmm0
movaps %xmm0, -0x110(%rbp)
movaps %xmm3, %xmm10
mulss %xmm14, %xmm0
addss %xmm1, %xmm0
movaps %xmm15, %xmm3
xorps %xmm8, %xmm3
movaps %xmm4, %xmm1
mulss %xmm3, %xmm1
movss %xmm1, -0x64(%rbp)
mulss %xmm7, %xmm1
addss %xmm0, %xmm1
movss %xmm1, -0xac(%rbp)
movaps %xmm15, %xmm7
mulss %xmm4, %xmm7
movaps %xmm7, -0x190(%rbp)
mulss %xmm5, %xmm7
mulss %xmm3, %xmm6
movss %xmm6, -0x2c(%rbp)
mulss %xmm10, %xmm3
movaps %xmm3, -0x180(%rbp)
mulss %xmm5, %xmm3
movaps %xmm3, -0x170(%rbp)
movss -0x28(%rbp), %xmm0
mulss %xmm13, %xmm0
movaps %xmm12, %xmm1
mulss %xmm0, %xmm1
movss %xmm1, -0x58(%rbp)
mulss %xmm5, %xmm0
movss %xmm0, -0x54(%rbp)
movaps -0x150(%rbp), %xmm0
movaps %xmm0, %xmm3
xorps %xmm8, %xmm3
movaps %xmm3, -0x130(%rbp)
movaps %xmm4, %xmm12
movss %xmm4, -0x1c(%rbp)
movaps %xmm4, %xmm1
mulss %xmm3, %xmm1
movss %xmm1, -0x48(%rbp)
mulss %xmm5, %xmm1
movss %xmm1, -0x50(%rbp)
movaps %xmm13, %xmm1
movaps %xmm13, -0x140(%rbp)
xorps %xmm13, %xmm8
movaps %xmm8, -0xf0(%rbp)
movss -0x8(%rbp), %xmm3
mulss %xmm8, %xmm3
movaps %xmm3, %xmm14
mulss %xmm5, %xmm3
movss %xmm3, -0x4c(%rbp)
movaps %xmm0, %xmm3
movaps %xmm10, %xmm6
mulss %xmm10, %xmm3
movaps %xmm3, %xmm13
mulss %xmm5, %xmm3
movaps %xmm3, -0x160(%rbp)
movss -0x30(%rbp), %xmm3
mulss %xmm3, %xmm2
mulss %xmm1, %xmm5
movaps %xmm5, %xmm1
movss -0x5c(%rbp), %xmm10
mulss %xmm10, %xmm1
subss %xmm1, %xmm2
movaps -0x80(%rbp), %xmm4
movaps %xmm4, %xmm1
movss -0x24(%rbp), %xmm8
mulss %xmm8, %xmm1
movaps %xmm1, -0xd0(%rbp)
mulss %xmm10, %xmm1
addss %xmm2, %xmm1
movaps %xmm12, %xmm2
mulss %xmm11, %xmm2
movss %xmm2, -0x44(%rbp)
mulss %xmm3, %xmm2
addss %xmm1, %xmm2
movss -0x2c(%rbp), %xmm1
mulss -0x34(%rbp), %xmm1
addss %xmm2, %xmm1
addss %xmm1, %xmm7
movss %xmm7, -0x9c(%rbp)
movss -0x60(%rbp), %xmm1
mulss %xmm3, %xmm1
mulss %xmm9, %xmm5
subss %xmm1, %xmm5
mulss %xmm8, %xmm11
movaps %xmm8, %xmm15
movaps %xmm11, %xmm1
movaps %xmm11, %xmm8
mulss %xmm9, %xmm1
movaps %xmm9, %xmm12
addss %xmm5, %xmm1
mulss %xmm6, %xmm4
movaps %xmm4, -0x80(%rbp)
movaps %xmm6, %xmm7
movss %xmm6, -0x20(%rbp)
mulss %xmm3, %xmm4
addss %xmm1, %xmm4
movaps -0xe0(%rbp), %xmm9
mulss %xmm15, %xmm9
movaps %xmm9, %xmm1
mulss -0xc(%rbp), %xmm1
addss %xmm4, %xmm1
movaps -0x170(%rbp), %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x8c(%rbp)
movss -0x8(%rbp), %xmm6
movaps %xmm6, %xmm4
mulss %xmm15, %xmm4
movss %xmm4, -0xe0(%rbp)
movss -0x28(%rbp), %xmm5
movaps %xmm5, %xmm11
mulss %xmm15, %xmm11
movaps %xmm12, %xmm15
movss %xmm12, -0x40(%rbp)
movaps %xmm12, %xmm0
mulss %xmm11, %xmm0
mulss %xmm10, %xmm4
subss %xmm0, %xmm4
movss -0x38(%rbp), %xmm1
movaps %xmm1, %xmm3
mulss %xmm7, %xmm3
movaps %xmm3, %xmm2
mulss %xmm10, %xmm2
subss %xmm2, %xmm4
movaps %xmm1, %xmm12
movss -0x1c(%rbp), %xmm0
mulss %xmm0, %xmm12
movaps %xmm12, %xmm2
mulss %xmm15, %xmm2
addss %xmm4, %xmm2
movaps %xmm5, %xmm4
movss -0x100(%rbp), %xmm5
mulss %xmm4, %xmm5
addss %xmm2, %xmm5
movaps %xmm6, %xmm2
movss -0x68(%rbp), %xmm7
mulss %xmm6, %xmm7
subss %xmm7, %xmm5
movss %xmm5, -0xb8(%rbp)
mulss %xmm10, %xmm14
addss -0x58(%rbp), %xmm14
mulss %xmm10, %xmm13
addss %xmm14, %xmm13
movss -0x48(%rbp), %xmm5
mulss %xmm15, %xmm5
addss %xmm13, %xmm5
movaps %xmm5, %xmm6
movaps -0x180(%rbp), %xmm5
mulss %xmm4, %xmm5
addss %xmm6, %xmm5
movaps -0x190(%rbp), %xmm6
mulss %xmm2, %xmm6
addss %xmm5, %xmm6
movss %xmm6, -0xa8(%rbp)
mulss %xmm4, %xmm9
movss -0x18(%rbp), %xmm2
mulss %xmm4, %xmm2
movss %xmm2, -0x18(%rbp)
movaps -0x80(%rbp), %xmm2
mulss %xmm4, %xmm2
movaps %xmm2, -0x80(%rbp)
mulss %xmm4, %xmm8
movaps %xmm8, -0x100(%rbp)
movaps %xmm4, %xmm6
movaps %xmm1, %xmm5
movss -0x64(%rbp), %xmm7
mulss %xmm1, %xmm7
movaps -0xf0(%rbp), %xmm1
mulss %xmm1, %xmm6
mulss %xmm5, %xmm1
movaps %xmm1, -0xf0(%rbp)
movaps -0x110(%rbp), %xmm1
mulss %xmm5, %xmm1
movaps %xmm1, -0x110(%rbp)
movaps -0x120(%rbp), %xmm1
mulss %xmm5, %xmm1
movaps %xmm1, -0x120(%rbp)
movss -0x10(%rbp), %xmm1
mulss %xmm5, %xmm1
movss %xmm1, -0x10(%rbp)
movaps -0x140(%rbp), %xmm15
mulss %xmm15, %xmm5
movss -0x30(%rbp), %xmm8
movaps %xmm8, %xmm2
mulss %xmm6, %xmm2
movaps %xmm5, %xmm4
mulss %xmm10, %xmm4
addss %xmm2, %xmm4
movaps -0x150(%rbp), %xmm1
movaps %xmm1, %xmm14
movss -0x24(%rbp), %xmm13
mulss %xmm13, %xmm1
movss -0x4(%rbp), %xmm2
mulss %xmm13, %xmm2
movss %xmm2, -0x4(%rbp)
mulss -0x130(%rbp), %xmm13
mulss %xmm13, %xmm10
addss %xmm4, %xmm10
mulss %xmm0, %xmm14
movaps %xmm14, %xmm2
mulss %xmm8, %xmm2
addss %xmm10, %xmm2
addss %xmm2, %xmm9
addss %xmm9, %xmm7
movss %xmm7, -0x98(%rbp)
movss -0x8(%rbp), %xmm2
movss -0x2c(%rbp), %xmm7
mulss %xmm2, %xmm7
movss -0x6c(%rbp), %xmm9
mulss %xmm2, %xmm9
movss -0x44(%rbp), %xmm10
mulss %xmm2, %xmm10
movaps -0xd0(%rbp), %xmm4
mulss %xmm2, %xmm4
movaps %xmm4, -0xd0(%rbp)
mulss %xmm15, %xmm2
movaps %xmm8, %xmm4
mulss %xmm2, %xmm4
movaps -0xf0(%rbp), %xmm15
movss -0x40(%rbp), %xmm0
mulss %xmm0, %xmm15
addss %xmm4, %xmm15
mulss %xmm1, %xmm0
addss %xmm15, %xmm0
movaps %xmm0, %xmm4
movaps -0x130(%rbp), %xmm0
mulss -0x20(%rbp), %xmm0
mulss %xmm0, %xmm8
addss %xmm4, %xmm8
addss %xmm8, %xmm7
movaps -0x110(%rbp), %xmm4
addss %xmm7, %xmm4
movss %xmm4, -0x88(%rbp)
movss -0xc(%rbp), %xmm4
mulss %xmm4, %xmm11
movss -0x34(%rbp), %xmm15
movss -0xe0(%rbp), %xmm7
mulss %xmm15, %xmm7
subss %xmm7, %xmm11
mulss %xmm15, %xmm3
addss %xmm11, %xmm3
mulss %xmm4, %xmm12
subss %xmm12, %xmm3
subss -0x18(%rbp), %xmm3
addss %xmm3, %xmm9
movss %xmm9, -0xb4(%rbp)
mulss %xmm4, %xmm6
mulss %xmm15, %xmm2
addss %xmm6, %xmm2
mulss %xmm15, %xmm0
addss %xmm2, %xmm0
mulss %xmm4, %xmm14
addss %xmm0, %xmm14
movaps -0x80(%rbp), %xmm2
addss %xmm14, %xmm2
addss %xmm2, %xmm10
movss %xmm10, -0xa4(%rbp)
movaps -0xf0(%rbp), %xmm0
mulss %xmm15, %xmm0
addss -0x54(%rbp), %xmm0
mulss %xmm15, %xmm1
addss %xmm0, %xmm1
movss -0x50(%rbp), %xmm0
addss %xmm1, %xmm0
movaps -0x100(%rbp), %xmm1
addss %xmm0, %xmm1
movaps -0x120(%rbp), %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x94(%rbp)
mulss %xmm4, %xmm5
addss -0x4c(%rbp), %xmm5
mulss %xmm4, %xmm13
movss -0x14(%rbp), %xmm1
addss %xmm5, %xmm13
movaps -0x160(%rbp), %xmm0
addss %xmm13, %xmm0
movaps -0xd0(%rbp), %xmm2
addss %xmm0, %xmm2
movss -0x10(%rbp), %xmm0
addss %xmm2, %xmm0
movss %xmm0, -0x84(%rbp)
movss -0x3c(%rbp), %xmm0
mulss -0x140(%rbp), %xmm0
addss -0x4(%rbp), %xmm0
movss -0x70(%rbp), %xmm2
mulss -0x20(%rbp), %xmm2
addss %xmm0, %xmm2
mulss -0x1c(%rbp), %xmm1
addss %xmm2, %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm1
jne 0x3dcb
jp 0x3dcb
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rdi)
movups %xmm0, 0x20(%rdi)
movups %xmm0, 0x10(%rdi)
movups %xmm0, (%rdi)
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movss 0xf231(%rip), %xmm0     # 0x13004
divss %xmm1, %xmm0
xorl %ecx, %ecx
cmpq $0x10, %rcx
je 0x3dfa
movss -0xc0(%rbp,%rcx,4), %xmm1
mulss %xmm0, %xmm1
movss %xmm1, -0xc0(%rbp,%rcx,4)
incq %rcx
jmp 0x3dd9
movups -0xc0(%rbp), %xmm0
movups -0xb0(%rbp), %xmm1
movups -0xa0(%rbp), %xmm2
movups -0x90(%rbp), %xmm3
leaq -0x1d0(%rbp), %rcx
movaps %xmm3, 0x30(%rcx)
movaps %xmm2, 0x20(%rcx)
movaps %xmm1, 0x10(%rcx)
movaps %xmm0, (%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rdi)
movups %xmm0, 0x20(%rdi)
movups %xmm0, 0x10(%rdi)
movups %xmm0, (%rdi)
xorl %edx, %edx
cmpq $0x4, %rdx
je 0x3dc2
xorl %esi, %esi
cmpq $0x10, %rsi
je 0x3e62
movss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rdi,%rsi)
addq $0x4, %rsi
jmp 0x3e4c
incq %rdx
addq $0x10, %rdi
addq $0x4, %rcx
jmp 0x3e40