// File: /workspace/github_c_makefile_star2_O0/Nealsbo[P]C-Software-Renderer/src/libmath.c
// Function: mat4_inv
void mat4_inv( mat4 m1, mat4 dest ){
    mat4 m;
    float det;
    int i, j;

    dest[0]  =  m1[5] * m1[10] * m1[15] - m1[5] * m1[11] * m1[14] - m1[9]  * m1[6]  * m1[15] + m1[9]  * m1[7]  * m1[14] + m1[13] * m1[6]  * m1[11] - m1[13] * m1[7]  * m1[10];
    dest[4]  = -m1[4] * m1[10] * m1[15] + m1[4] * m1[11] * m1[14] + m1[8]  * m1[6]  * m1[15] - m1[8]  * m1[7]  * m1[14] - m1[12] * m1[6]  * m1[11] + m1[12] * m1[7]  * m1[10];
    dest[8]  =  m1[4] * m1[9]  * m1[15] - m1[4]  * m1[11] * m1[13] - m1[8]  * m1[5] * m1[15] + m1[8]  * m1[7] * m1[13] + m1[12] * m1[5] * m1[11] - m1[12] * m1[7] * m1[9];
    dest[12] = -m1[4] * m1[9]  * m1[14] + m1[4]  * m1[10] * m1[13] + m1[8]  * m1[5] * m1[14] - m1[8]  * m1[6] * m1[13] - m1[12] * m1[5] * m1[10] + m1[12] * m1[6] * m1[9];
    dest[1]  = -m1[1] * m1[10] * m1[15] + m1[1]  * m1[11] * m1[14] + m1[9]  * m1[2] * m1[15] - m1[9]  * m1[3] * m1[14] - m1[13] * m1[2] * m1[11] + m1[13] * m1[3] * m1[10];
    dest[5]  =  m1[0] * m1[10] * m1[15] - m1[0]  * m1[11] * m1[14] - m1[8]  * m1[2] * m1[15] + m1[8]  * m1[3] * m1[14] + m1[12] * m1[2] * m1[11] - m1[12] * m1[3] * m1[10];
    dest[9]  = -m1[0] * m1[9]  * m1[15] + m1[0]  * m1[11] * m1[13] + m1[8]  * m1[1] * m1[15] - m1[8]  * m1[3] * m1[13] - m1[12] * m1[1] * m1[11] + m1[12] * m1[3] * m1[9];
    dest[13] =  m1[0] * m1[9]  * m1[14] - m1[0]  * m1[10] * m1[13] - m1[8]  * m1[1] * m1[14] + m1[8]  * m1[2] * m1[13] + m1[12] * m1[1] * m1[10] - m1[12] * m1[2] * m1[9];
    dest[2]  =  m1[1] * m1[6]  * m1[15] - m1[1]  * m1[7] * m1[14] - m1[5]  * m1[2] * m1[15] + m1[5]  * m1[3] * m1[14] + m1[13] * m1[2] * m1[7] - m1[13] * m1[3] * m1[6];
    dest[6]  = -m1[0] * m1[6]  * m1[15] + m1[0]  * m1[7] * m1[14] + m1[4]  * m1[2] * m1[15] - m1[4]  * m1[3] * m1[14] - m1[12] * m1[2] * m1[7] + m1[12] * m1[3] * m1[6];
    dest[10] =  m1[0] * m1[5]  * m1[15] - m1[0]  * m1[7] * m1[13] - m1[4]  * m1[1] * m1[15] + m1[4]  * m1[3] * m1[13] + m1[12] * m1[1] * m1[7] - m1[12] * m1[3] * m1[5];
    dest[14] = -m1[0] * m1[5]  * m1[14] + m1[0]  * m1[6] * m1[13] + m1[4]  * m1[1] * m1[14] - m1[4]  * m1[2] * m1[13] - m1[12] * m1[1] * m1[6] + m1[12] * m1[2] * m1[5];
    dest[3]  = -m1[1] * m1[6]  * m1[11] + m1[1] * m1[7] * m1[10] + m1[5] * m1[2] * m1[11] - m1[5] * m1[3] * m1[10] - m1[9] * m1[2] * m1[7] + m1[9] * m1[3] * m1[6];
    dest[7]  =  m1[0] * m1[6]  * m1[11] - m1[0] * m1[7] * m1[10] - m1[4] * m1[2] * m1[11] + m1[4] * m1[3] * m1[10] + m1[8] * m1[2] * m1[7] - m1[8] * m1[3] * m1[6];
    dest[11] = -m1[0] * m1[5]  * m1[11] + m1[0] * m1[7] * m1[9] + m1[4] * m1[1] * m1[11] - m1[4] * m1[3] * m1[9] - m1[8] * m1[1] * m1[7] + m1[8] * m1[3] * m1[5];
    dest[15] =  m1[0] * m1[5]  * m1[10] - m1[0] * m1[6] * m1[9] - m1[4] * m1[1] * m1[10] + m1[4] * m1[2] * m1[9] + m1[8] * m1[1] * m1[6] - m1[8] * m1[2] * m1[5];

    det = m1[0] * dest[0] + m1[1] * dest[4] + m1[2] * dest[8] + m1[3] * dest[12];

    det = 1.0 / det;

    for( i = 0; i < 16; i++ ) {
        dest[i] = dest[i] * det;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x2c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x38(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, (%rax)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x2c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x38(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x10(%rax)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x24(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x2c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x34(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x20(%rax)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x24(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x34(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x30(%rax)
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x2c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x38(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x4(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x2c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x38(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x14(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x24(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x2c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x34(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x24(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x24(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x34(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x34(%rax)
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x38(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x38(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x18(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x34(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x3c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x28(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x34(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x38(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x34(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x30(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x38(%rax)
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0xc(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x28(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x1c(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x1c(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x24(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x2c(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x1c(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x2c(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x18(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x24(%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x28(%rax), %xmm2
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x24(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm2
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x3c(%rax)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movq -0x10(%rbp), %rax
movss (%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm1
movq -0x10(%rbp), %rax
mulss 0x10(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss 0x8(%rax), %xmm1
movq -0x10(%rbp), %rax
movss 0x20(%rax), %xmm2
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm2
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x54(%rbp)
movss -0x54(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x79a3(%rip), %xmm0     # 0xe380
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x54(%rbp)
movl $0x0, -0x58(%rbp)
cmpl $0x10, -0x58(%rbp)
jge 0x6a21
movq -0x10(%rbp), %rax
movslq -0x58(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
mulss -0x54(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x58(%rbp), %rcx
movss %xmm0, (%rax,%rcx,4)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x69f1
popq %rbp
retq
nopw %cs:(%rax,%rax)