void imgprojac_mot(int j, int i, double *rt, double *xyz, double *jrt,
                   double **adata) {
  double *qr0, *r0 = adata[0], *a = adata[1];
  double t1, t2, t3, t5, t6, t7, t9, t11, t13, t15, t17, t19, t24, t31, t37,
      t39, t41, t43, t48, t52, t57, t62, t67, t72, t77, t89, t99, t106, t107,
      t119, t123, t124, t125, t129, t132, t135, t137, t141, t146, t151, t157,
      t170, t180, t187, t190, t193, t195, t199, t204, t209, t215, t228, t238,
      t255;
  qr0 = r0 + j * 4;
  t1 = pow(rt[0], 0.2e1);
  t2 = pow(rt[1], 0.2e1);
  t3 = pow(rt[2], 0.2e1);
  t5 = sqrt(0.1e1 - t1 - t2 - t3);
  t6 = 0.1e1 / t5;
  t7 = t6 * qr0[1];
  t9 = -t7 * rt[0] + qr0[0];
  t11 = t6 * qr0[2];
  t13 = -t11 * rt[0] - qr0[3];
  t15 = t6 * qr0[3];
  t17 = -t15 * rt[0] + qr0[2];
  t19 = -t9 * xyz[0] - t13 * xyz[1] - t17 * xyz[2];
  t24 = -t5 * qr0[1] - qr0[0] * rt[0] - rt[1] * qr0[3] + rt[2] * qr0[2];
  t31 = t5 * qr0[2] + qr0[0] * rt[1] + rt[2] * qr0[1] - rt[0] * qr0[3];
  t37 = t5 * qr0[3] + qr0[0] * rt[2] + rt[0] * qr0[2] - rt[1] * qr0[1];
  t39 = t24 * xyz[0] - t31 * xyz[1] - t37 * xyz[2];
  t41 = t6 * qr0[0];
  t43 = -t41 * rt[0] - qr0[1];
  t48 = t5 * qr0[0] - rt[0] * qr0[1] - rt[1] * qr0[2] - rt[2] * qr0[3];
  t52 = t48 * xyz[0] + t31 * xyz[2] - t37 * xyz[1];
  t57 = t43 * xyz[0] + t13 * xyz[2] - t17 * xyz[1];
  t62 = t43 * xyz[1] + t17 * xyz[0] - t9 * xyz[2];
  t67 = t48 * xyz[1] + t37 * xyz[0] + t24 * xyz[2];
  t72 = t43 * xyz[2] + t9 * xyz[1] - t13 * xyz[0];
  t77 = t48 * xyz[2] - t24 * xyz[1] - t31 * xyz[0];
  t89 = -t19 * t31 - t39 * t13 + t43 * t67 + t48 * t62 + t72 * t24 - t77 * t9 +
        t57 * t37 + t52 * t17;
  t99 = -t19 * t37 - t39 * t17 + t43 * t77 + t48 * t72 - t57 * t31 - t52 * t13 -
        t62 * t24 + t67 * t9;
  t106 = -t39 * t37 + t48 * t77 - t52 * t31 - t67 * t24 + rt[5];
  t107 = 0.1e1 / t106;
  t119 = -t39 * t31 + t48 * t67 + t77 * t24 + t52 * t37 + rt[4];
  t123 = t106 * t106;
  t124 = 0.1e1 / t123;
  t125 = (a[0] * (t39 * t24 + t48 * t52 - t67 * t37 + t77 * t31 + rt[3]) +
          a[1] * t119 + a[2] * t106) *
         t124;
  t129 = -t7 * rt[1] + qr0[3];
  t132 = -t11 * rt[1] + qr0[0];
  t135 = -t15 * rt[1] - qr0[1];
  t137 = -t129 * xyz[0] - t132 * xyz[1] - t135 * xyz[2];
  t141 = -t41 * rt[1] - qr0[2];
  t146 = t141 * xyz[0] + t132 * xyz[2] - t135 * xyz[1];
  t151 = t141 * xyz[1] + t135 * xyz[0] - t129 * xyz[2];
  t157 = t141 * xyz[2] + t129 * xyz[1] - t132 * xyz[0];
  t170 = -t137 * t31 - t39 * t132 + t141 * t67 + t48 * t151 + t157 * t24 -
         t77 * t129 + t146 * t37 + t52 * t135;
  t180 = -t137 * t37 - t39 * t135 + t141 * t77 + t48 * t157 - t146 * t31 -
         t52 * t132 - t151 * t24 + t67 * t129;
  t187 = -t7 * rt[2] - qr0[2];
  t190 = -t11 * rt[2] + qr0[1];
  t193 = -t15 * rt[2] + qr0[0];
  t195 = -t187 * xyz[0] - t190 * xyz[1] - t193 * xyz[2];
  t199 = -t41 * rt[2] - qr0[3];
  t204 = t199 * xyz[0] + t190 * xyz[2] - t193 * xyz[1];
  t209 = t199 * xyz[1] + t193 * xyz[0] - t187 * xyz[2];
  t215 = t199 * xyz[2] + t187 * xyz[1] - t190 * xyz[0];
  t228 = -t195 * t31 - t39 * t190 + t199 * t67 + t48 * t209 + t215 * t24 -
         t77 * t187 + t204 * t37 + t52 * t193;
  t238 = -t195 * t37 - t39 * t193 + t199 * t77 + t48 * t215 - t204 * t31 -
         t52 * t190 - t209 * t24 + t67 * t187;
  t255 = (a[3] * t119 + a[4] * t106) * t124;
  jrt[0] = (a[0] * (t19 * t24 - t39 * t9 + t43 * t52 + t48 * t57 - t62 * t37 -
                    t67 * t17 + t72 * t31 + t77 * t13) +
            a[1] * t89 + a[2] * t99) *
               t107 -
           t125 * t99;
  jrt[1] = (a[0] * (t137 * t24 - t39 * t129 + t141 * t52 + t48 * t146 -
                    t151 * t37 - t67 * t135 + t157 * t31 + t77 * t132) +
            a[1] * t170 + a[2] * t180) *
               t107 -
           t125 * t180;
  jrt[2] = (a[0] * (t195 * t24 - t39 * t187 + t199 * t52 + t48 * t204 -
                    t209 * t37 - t67 * t193 + t215 * t31 + t77 * t190) +
            a[1] * t228 + a[2] * t238) *
               t107 -
           t125 * t238;
  jrt[3] = a[0] * t107;
  jrt[4] = a[1] * t107;
  jrt[5] = a[2] * t107 - t125;
  jrt[6] = (a[3] * t89 + a[4] * t99) * t107 - t255 * t99;
  jrt[7] = (a[3] * t170 + a[4] * t180) * t107 - t255 * t180;
  jrt[8] = (a[3] * t228 + a[4] * t238) * t107 - t255 * t238;
  jrt[9] = 0.0e0;
  jrt[10] = a[3] * t107;
  jrt[11] = a[4] * t107 - t255;
}


x86 assembly (clang, -O0):
<imgprojac_mot>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1f0,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %rdx,-0x10(%rbp)
mov    %rcx,-0x18(%rbp)
mov    %r8,-0x20(%rbp)
mov    %r9,-0x28(%rbp)
mov    -0x28(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
mov    0x8(%rax),%rax
mov    %rax,-0x40(%rbp)
mov    -0x38(%rbp),%rax
mov    -0x4(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x1e88(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x48(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  0x1e6d(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x50(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  0x1e52(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x58(%rbp)
movsd  0x1e38(%rip),%xmm0
subsd  -0x48(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
call   1040 <sqrt@plt>
movsd  %xmm0,-0x60(%rbp)
movsd  0x1e17(%rip),%xmm0
divsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x68(%rbp),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x70(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x68(%rbp),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x80(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0x88(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
mulsd  (%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
mov    -0x30(%rbp),%rax
mulsd  (%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xd0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0x88(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xd0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x78(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xa8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xd0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movsd  -0x78(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x88(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movsd  -0xa8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x88(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xd0(%rbp),%xmm1
ff
movsd  -0xf8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x100(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xe8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x98(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xd0(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xe8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xf0(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
mulsd  -0x108(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
addsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  0x142c(%rip),%xmm0
divsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
mulsd  -0xf8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x108(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
addsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x120(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movsd  0x137c(%rip),%xmm0
divsd  -0x138(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
mov    -0x40(%rbp),%rax
movsd  (%rax),%xmm1
movsd  -0xc0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm3
ff
movsd  -0xd8(%rbp),%xmm0
ff
mulsd  -0xe0(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm3
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
mov    -0x10(%rbp),%rax
addsd  0x18(%rax),%xmm2
mov    -0x40(%rbp),%rax
movsd  0x8(%rax),%xmm0
mulsd  -0x130(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x40(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x120(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0x140(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x150(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0x158(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x160(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x170(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0x158(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x160(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x170(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movsd  -0x160(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x150(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x170(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movsd  -0x150(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x158(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x168(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x158(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x170(%rbp),%xmm1
ff
movsd  -0xf8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x180(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x188(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x178(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0x160(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x168(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x160(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x170(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x188(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x178(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x180(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x1a0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0x1a8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movsd  -0x1a8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
movsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1a0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
movsd  -0x1a0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1a8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x1a8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
movsd  -0xf8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x1d0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1d8(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x1a0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0x1b0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x1b0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x1d8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0x1a8(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1d0(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x1a0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
mov    -0x40(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x130(%rbp),%xmm2
ff
mov    -0x40(%rbp),%rax
movsd  0x20(%rax),%xmm1
mulsd  -0x120(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0x140(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f0(%rbp)
ff
mov    -0x40(%rbp),%rax
movsd  (%rax),%xmm1
movsd  -0xa0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm3
ff
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  -0x78(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0xe0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0xd8(%rbp),%xmm2
ff
movsd  -0xe8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm3
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0xf8(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm3
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0x88(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
mov    -0x40(%rbp),%rax
movsd  0x8(%rax),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x40(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x118(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x148(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x40(%rbp),%rax
movsd  (%rax),%xmm1
movsd  -0x168(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm3
ff
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0x170(%rbp),%xmm0
ff
movsd  -0xe0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0xd8(%rbp),%xmm2
ff
movsd  -0x178(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0x180(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm3
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0xf8(%rbp),%xmm2
ff
movsd  -0x160(%rbp),%xmm3
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0x188(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0x158(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
mov    -0x40(%rbp),%rax
movsd  0x8(%rax),%xmm0
mulsd  -0x190(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x40(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x198(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x148(%rbp),%xmm1
ff
mulsd  -0x198(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x40(%rbp),%rax
movsd  (%rax),%xmm1
movsd  -0x1b8(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm3
ff
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  -0x1a0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0x1c0(%rbp),%xmm0
ff
movsd  -0xe0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0xd8(%rbp),%xmm2
ff
movsd  -0x1c8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0x1d0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm3
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0xf8(%rbp),%xmm2
ff
movsd  -0x1b0(%rbp),%xmm3
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movsd  -0x1d8(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0x1a8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
mov    -0x40(%rbp),%rax
movsd  0x8(%rax),%xmm0
mulsd  -0x1e0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x40(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x1e8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x148(%rbp),%xmm1
ff
mulsd  -0x1e8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x40(%rbp),%rax
movsd  (%rax),%xmm0
mulsd  -0x128(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x40(%rbp),%rax
movsd  0x8(%rax),%xmm0
mulsd  -0x128(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x40(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x148(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x40(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x110(%rbp),%xmm2
ff
mov    -0x40(%rbp),%rax
movsd  0x20(%rax),%xmm1
mulsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x40(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x190(%rbp),%xmm2
ff
mov    -0x40(%rbp),%rax
movsd  0x20(%rax),%xmm1
mulsd  -0x198(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x198(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x40(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x1e0(%rbp),%xmm2
ff
mov    -0x40(%rbp),%rax
movsd  0x20(%rax),%xmm1
mulsd  -0x1e8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1e8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x48(%rax)
mov    -0x40(%rbp),%rax
movsd  0x18(%rax),%xmm0
mulsd  -0x128(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x50(%rax)
mov    -0x40(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x58(%rax)
add    $0x1f0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<imgprojac_mot>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x278,%rsp
mov    %r8,%r15
mov    %rcx,%r13
mov    %rdx,%r14
mov    (%r9),%rbx
mov    0x8(%r9),%r12
shl    $0x2,%edi
movslq %edi,%rbp
movsd  (%rdx),%xmm1
movsd  0x8(%rdx),%xmm2
mulsd  %xmm1,%xmm1
mulsd  %xmm2,%xmm2
movsd  0x10(%rdx),%xmm3
mulsd  %xmm3,%xmm3
movsd  0x1ea7(%rip),%xmm0
subsd  %xmm1,%xmm0
subsd  %xmm2,%xmm0
subsd  %xmm3,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1175 <imgprojac_mot+0x65>
sqrtsd %xmm0,%xmm0
jmp    117a <imgprojac_mot+0x6a>
call   1030 <sqrt@plt>
movsd  (%rbx,%rbp,8),%xmm8
movsd  0x8(%rbx,%rbp,8),%xmm11
movsd  0x1e79(%rip),%xmm1
divsd  %xmm0,%xmm1
movapd %xmm11,%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm2,0xd0(%rsp)
movsd  (%r14),%xmm10
mulsd  %xmm10,%xmm2
addsd  %xmm8,%xmm2
movapd %xmm2,%xmm6
movapd %xmm2,0xf0(%rsp)
movsd  0x10(%rbx,%rbp,8),%xmm4
movapd %xmm1,%xmm13
movapd %xmm1,%xmm2
mulsd  %xmm4,%xmm13
movsd  0x18(%rbx,%rbp,8),%xmm5
movapd %xmm13,%xmm1
mulsd  %xmm10,%xmm1
subsd  %xmm5,%xmm1
movapd %xmm5,%xmm14
movapd %xmm1,%xmm7
movsd  %xmm1,0x58(%rsp)
movapd 0x1e10(%rip),%xmm3
movapd %xmm6,%xmm1
xorpd  %xmm3,%xmm1
movapd %xmm3,%xmm15
movsd  0x8(%r13),%xmm3
movsd  %xmm3,0x50(%rsp)
movapd %xmm0,%xmm12
movapd %xmm3,%xmm0
mulsd  %xmm7,%xmm0
movsd  0x0(%r13),%xmm3
movsd  %xmm3,0x48(%rsp)
mulsd  %xmm3,%xmm1
subsd  %xmm0,%xmm1
movapd %xmm2,%xmm0
movapd %xmm2,%xmm5
mulsd  %xmm14,%xmm0
movapd %xmm0,%xmm3
movapd %xmm0,%xmm9
mulsd  %xmm10,%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0x38(%rsp)
movsd  0x10(%r13),%xmm6
movsd  %xmm6,0x10(%rsp)
movapd %xmm3,%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm1
movapd %xmm1,0x220(%rsp)
movapd %xmm12,%xmm0
xorpd  %xmm15,%xmm0
movapd %xmm10,%xmm1
movapd %xmm10,%xmm15
mulsd  %xmm8,%xmm1
mulsd  %xmm11,%xmm0
subsd  %xmm1,%xmm0
movsd  0x8(%r14),%xmm7
movapd %xmm7,%xmm1
mulsd  %xmm14,%xmm1
movapd %xmm14,%xmm2
subsd  %xmm1,%xmm0
movsd  0x10(%r14),%xmm14
movapd %xmm14,%xmm1
mulsd  %xmm4,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm1,%xmm3
movsd  %xmm1,0x88(%rsp)
movapd %xmm8,%xmm0
mulsd  %xmm7,%xmm0
movapd %xmm12,%xmm1
mulsd  %xmm4,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm14,%xmm6
mulsd  %xmm11,%xmm6
addsd  %xmm1,%xmm6
movapd %xmm10,%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm6
mulsd  %xmm8,%xmm5
movsd  %xmm5,0x30(%rsp)
movapd %xmm12,%xmm10
mulsd  %xmm8,%xmm12
movapd %xmm12,0x170(%rsp)
movapd %xmm13,%xmm5
movapd %xmm13,%xmm1
mulsd  %xmm7,%xmm1
addsd  %xmm8,%xmm1
movsd  %xmm1,0x40(%rsp)
movsd  %xmm9,0x28(%rsp)
mulsd  %xmm14,%xmm9
addsd  %xmm8,%xmm9
movsd  %xmm9,0xa8(%rsp)
mulsd  %xmm14,%xmm8
movapd %xmm2,%xmm1
movsd  %xmm2,0x18(%rsp)
mulsd  %xmm2,%xmm10
addsd  %xmm8,%xmm10
movapd %xmm15,%xmm8
movapd %xmm4,%xmm9
movsd  %xmm4,(%rsp)
mulsd  %xmm4,%xmm8
addsd  %xmm10,%xmm8
movapd %xmm7,%xmm0
mulsd  %xmm11,%xmm0
subsd  %xmm0,%xmm8
movsd  %xmm8,0x20(%rsp)
movsd  0x50(%rsp),%xmm12
movapd %xmm12,%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm3,%xmm13
movsd  0x48(%rsp),%xmm10
mulsd  %xmm10,%xmm13
subsd  %xmm0,%xmm13
movapd %xmm8,%xmm0
movsd  0x10(%rsp),%xmm4
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm13
movsd  0x30(%rsp),%xmm2
movapd %xmm2,%xmm3
movapd %xmm15,%xmm0
mulsd  %xmm15,%xmm3
mulsd  %xmm11,%xmm0
movapd %xmm11,%xmm15
movsd  %xmm11,0x60(%rsp)
movapd 0x170(%rsp),%xmm8
subsd  %xmm0,%xmm8
movapd %xmm7,%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm0,%xmm8
movapd 0xd0(%rsp),%xmm0
movapd %xmm0,%xmm11
mulsd  %xmm14,%xmm0
movapd %xmm0,0xd0(%rsp)
mulsd  %xmm14,%xmm5
movsd  %xmm5,0x8(%rsp)
mulsd  %xmm7,%xmm11
movapd %xmm11,0x160(%rsp)
movsd  0x28(%rsp),%xmm5
mulsd  %xmm7,%xmm5
movsd  %xmm5,0x28(%rsp)
mulsd  %xmm2,%xmm7
movsd  %xmm7,0x90(%rsp)
mulsd  %xmm14,%xmm2
movsd  %xmm2,0x30(%rsp)
mulsd  %xmm1,%xmm14
subsd  %xmm14,%xmm8
movapd %xmm4,%xmm1
movapd %xmm4,%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm6,%xmm14
movapd %xmm8,%xmm2
movapd %xmm10,%xmm4
mulsd  %xmm10,%xmm2
addsd  %xmm0,%xmm2
movsd  0x20(%rsp),%xmm6
movapd %xmm6,%xmm0
movapd %xmm12,%xmm5
mulsd  %xmm12,%xmm0
subsd  %xmm0,%xmm2
movapd %xmm2,0x100(%rsp)
movapd %xmm3,%xmm2
subsd  %xmm15,%xmm2
movsd  0x58(%rsp),%xmm11
movapd %xmm11,%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm1,%xmm3
movapd %xmm2,%xmm1
mulsd  %xmm10,%xmm1
addsd  %xmm0,%xmm1
movsd  0x38(%rsp),%xmm7
movapd %xmm7,%xmm0
mulsd  %xmm12,%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0xe8(%rsp)
movapd %xmm10,%xmm0
mulsd  %xmm7,%xmm0
movapd %xmm2,%xmm10
movapd %xmm2,%xmm15
mulsd  %xmm12,%xmm10
addsd  %xmm0,%xmm10
movapd 0xf0(%rsp),%xmm2
movapd %xmm2,%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm10
movapd %xmm4,%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm6,%xmm7
movapd %xmm8,%xmm1
mulsd  %xmm12,%xmm1
addsd  %xmm0,%xmm1
movsd  0x88(%rsp),%xmm6
movapd %xmm6,%xmm9
mulsd  %xmm3,%xmm9
addsd  %xmm1,%xmm9
movsd  %xmm9,0x78(%rsp)
movapd %xmm2,%xmm0
mulsd  %xmm12,%xmm0
movapd %xmm15,%xmm12
mulsd  %xmm3,%xmm12
addsd  %xmm0,%xmm12
movapd %xmm11,%xmm2
movapd %xmm11,%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm12
movapd %xmm5,%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm8,%xmm11
mulsd  %xmm3,%xmm11
subsd  %xmm0,%xmm11
movapd %xmm14,%xmm3
movapd %xmm14,%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm11
movapd 0x220(%rsp),%xmm0
xorpd  0x1a2a(%rip),%xmm0
movapd %xmm2,%xmm1
movapd %xmm2,%xmm14
mulsd  %xmm13,%xmm1
movapd %xmm0,%xmm2
mulsd  %xmm3,%xmm2
movapd %xmm3,%xmm5
subsd  %xmm1,%xmm2
movapd %xmm15,%xmm4
movsd  %xmm15,0xb8(%rsp)
movapd %xmm15,%xmm1
mulsd  %xmm9,%xmm1
addsd  %xmm2,%xmm1
movapd %xmm8,%xmm2
movapd %xmm10,%xmm9
movsd  %xmm10,0x200(%rsp)
mulsd  %xmm10,%xmm2
addsd  %xmm1,%xmm2
movapd %xmm12,%xmm3
movsd  %xmm12,0x208(%rsp)
movapd %xmm12,%xmm1
mulsd  %xmm6,%xmm1
addsd  %xmm2,%xmm1
movapd %xmm11,%xmm2
movapd 0xf0(%rsp),%xmm12
mulsd  %xmm12,%xmm2
subsd  %xmm2,%xmm1
movsd  0xe8(%rsp),%xmm6
movapd %xmm6,%xmm2
movapd %xmm7,%xmm15
mulsd  %xmm7,%xmm2
addsd  %xmm1,%xmm2
movapd 0x100(%rsp),%xmm10
movapd %xmm10,%xmm1
movsd  0x38(%rsp),%xmm7
mulsd  %xmm7,%xmm1
addsd  %xmm2,%xmm1
movapd %xmm1,0x210(%rsp)
movapd %xmm7,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm15,%xmm0
subsd  %xmm1,%xmm0
mulsd  %xmm11,%xmm4
addsd  %xmm0,%xmm4
movapd %xmm8,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm4,%xmm0
movapd %xmm6,%xmm1
movsd  %xmm5,0xb0(%rsp)
mulsd  %xmm5,%xmm1
subsd  %xmm1,%xmm0
movapd %xmm10,%xmm2
movapd %xmm10,%xmm1
mulsd  %xmm14,%xmm1
subsd  %xmm1,%xmm0
movapd %xmm9,%xmm1
movsd  0x88(%rsp),%xmm14
mulsd  %xmm14,%xmm1
subsd  %xmm1,%xmm0
movsd  0x78(%rsp),%xmm10
movapd %xmm10,%xmm1
mulsd  %xmm12,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x1f8(%rsp)
movapd %xmm8,%xmm1
mulsd  %xmm11,%xmm1
movapd %xmm13,%xmm0
mulsd  %xmm15,%xmm0
subsd  %xmm0,%xmm1
movapd %xmm2,%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm1
movapd %xmm10,%xmm0
mulsd  %xmm14,%xmm0
subsd  %xmm0,%xmm1
movapd %xmm1,0x150(%rsp)
movapd %xmm8,%xmm0
movapd %xmm8,0x170(%rsp)
mulsd  %xmm10,%xmm0
movapd %xmm13,%xmm1
mulsd  %xmm5,%xmm1
subsd  %xmm1,%xmm0
movapd %xmm11,%xmm1
mulsd  %xmm14,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm2,%xmm0
mulsd  %xmm15,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm0,0xc0(%rsp)
movsd  (%rsp),%xmm0
movsd  0x90(%rsp),%xmm6
subsd  %xmm0,%xmm6
movapd 0xd0(%rsp),%xmm15
subsd  %xmm0,%xmm15
movsd  0x28(%rsp),%xmm3
movsd  0x60(%rsp),%xmm1
subsd  %xmm1,%xmm3
movsd  0x8(%rsp),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x18(%rsp),%xmm1
movapd 0x160(%rsp),%xmm5
addsd  %xmm1,%xmm5
movsd  0x30(%rsp),%xmm7
subsd  %xmm1,%xmm7
movapd %xmm8,%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm2,%xmm9
movsd  0x40(%rsp),%xmm2
movapd %xmm2,%xmm4
mulsd  %xmm13,%xmm4
movsd  %xmm4,0x1e0(%rsp)
movapd %xmm3,%xmm4
mulsd  %xmm13,%xmm4
movsd  %xmm4,0x1f0(%rsp)
movapd %xmm0,%xmm4
mulsd  %xmm13,%xmm4
movsd  %xmm4,0x1e8(%rsp)
movsd  0xa8(%rsp),%xmm4
movapd %xmm4,%xmm0
mulsd  %xmm13,%xmm0
movsd  %xmm0,0x1d8(%rsp)
mulsd  %xmm13,%xmm12
movapd %xmm12,0xf0(%rsp)
movsd  0x50(%rsp),%xmm8
movapd %xmm8,%xmm12
movapd %xmm5,%xmm0
mulsd  %xmm5,%xmm12
movsd  %xmm12,0x1c8(%rsp)
movapd %xmm11,%xmm5
mulsd  %xmm0,%xmm5
movapd %xmm5,0x260(%rsp)
movapd %xmm10,%xmm5
mulsd  %xmm0,%xmm5
movsd  %xmm5,0x18(%rsp)
movapd %xmm0,0x60(%rsp)
movapd %xmm0,0x130(%rsp)
mulsd  %xmm13,%xmm0
movapd %xmm0,0x160(%rsp)
movapd %xmm3,%xmm0
movapd %xmm8,%xmm5
mulsd  %xmm8,%xmm0
movsd  %xmm0,0x1b8(%rsp)
movapd %xmm6,%xmm0
mulsd  %xmm8,%xmm0
movsd  %xmm0,(%rsp)
movapd %xmm4,%xmm0
mulsd  %xmm8,%xmm0
movsd  %xmm0,0x1c0(%rsp)
movapd %xmm7,%xmm0
mulsd  %xmm8,%xmm0
movsd  %xmm0,0x1d0(%rsp)
movsd  %xmm8,0x110(%rsp)
movsd  %xmm8,0x98(%rsp)
movapd %xmm15,%xmm0
mulsd  %xmm15,%xmm5
movsd  %xmm5,0x50(%rsp)
movapd %xmm11,%xmm5
mulsd  %xmm15,%xmm5
movapd %xmm5,0x250(%rsp)
movapd %xmm10,%xmm5
mulsd  %xmm15,%xmm5
movsd  %xmm5,0xa0(%rsp)
movapd %xmm15,%xmm8
movapd %xmm15,0x120(%rsp)
mulsd  %xmm13,%xmm0
movapd %xmm0,0xd0(%rsp)
movapd %xmm13,%xmm5
mulsd  %xmm14,%xmm5
addsd  %xmm1,%xmm5
movapd %xmm6,%xmm1
movapd %xmm6,%xmm12
movapd %xmm10,%xmm13
mulsd  %xmm10,%xmm12
movapd %xmm7,%xmm14
movapd %xmm7,%xmm0
mulsd  %xmm10,%xmm0
movsd  %xmm0,0x1b0(%rsp)
movsd  0x38(%rsp),%xmm0
mulsd  %xmm10,%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x48(%rsp),%xmm6
movapd %xmm6,%xmm7
movapd %xmm3,%xmm0
mulsd  %xmm3,%xmm7
movsd  %xmm7,0x198(%rsp)
movapd %xmm9,%xmm3
mulsd  %xmm0,%xmm3
movapd %xmm3,0x140(%rsp)
movsd  %xmm0,0x80(%rsp)
mulsd  %xmm10,%xmm0
movsd  %xmm0,0x28(%rsp)
movapd 0x15e7(%rip),%xmm3
movapd 0x60(%rsp),%xmm0
xorpd  %xmm3,%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm0,0x60(%rsp)
movapd %xmm1,%xmm0
movapd %xmm1,%xmm10
mulsd  %xmm6,%xmm0
movapd %xmm2,%xmm1
mulsd  %xmm6,%xmm1
movsd  %xmm1,0x188(%rsp)
xorpd  %xmm3,%xmm8
mulsd  %xmm6,%xmm8
movapd %xmm8,0x240(%rsp)
movapd %xmm14,%xmm3
movapd %xmm14,%xmm2
mulsd  %xmm6,%xmm2
movsd  0x8(%rsp),%xmm1
mulsd  %xmm6,%xmm1
movsd  %xmm1,0x1a8(%rsp)
mulsd  %xmm4,%xmm6
movsd  %xmm6,0x48(%rsp)
movapd %xmm9,%xmm14
mulsd  %xmm4,%xmm14
movapd %xmm4,%xmm6
mulsd  %xmm13,%xmm4
movsd  %xmm4,0xa8(%rsp)
mulsd  0x20(%rsp),%xmm13
subsd  %xmm13,%xmm5
movapd %xmm10,%xmm1
mulsd  %xmm11,%xmm10
movapd %xmm3,%xmm4
mulsd  %xmm11,%xmm4
movsd  %xmm4,0x78(%rsp)
movsd  0xb8(%rsp),%xmm7
mulsd  %xmm9,%xmm7
movsd  %xmm7,0xb8(%rsp)
movapd %xmm1,%xmm13
movapd %xmm9,%xmm7
mulsd  %xmm9,%xmm1
movsd  %xmm1,0x90(%rsp)
movsd  0x10(%rsp),%xmm9
movsd  0x80(%rsp),%xmm1
mulsd  %xmm9,%xmm1
movsd  %xmm1,0x80(%rsp)
movapd 0x130(%rsp),%xmm1
mulsd  %xmm9,%xmm1
movapd %xmm1,0x130(%rsp)
mulsd  %xmm9,%xmm13
mulsd  %xmm9,%xmm6
movsd  %xmm6,0x1a0(%rsp)
movapd 0x120(%rsp),%xmm1
mulsd  %xmm9,%xmm1
movapd %xmm1,0x120(%rsp)
movapd %xmm9,%xmm8
movapd %xmm9,%xmm6
mulsd  %xmm3,%xmm9
mulsd  %xmm7,%xmm3
movsd  %xmm3,0x30(%rsp)
movapd %xmm7,%xmm4
movapd 0x150(%rsp),%xmm1
addsd  0x28(%r14),%xmm1
movsd  0x58(%rsp),%xmm3
mulsd  %xmm11,%xmm3
movsd  %xmm3,0x58(%rsp)
movsd  0x40(%rsp),%xmm3
movsd  0x110(%rsp),%xmm15
mulsd  %xmm3,%xmm15
mulsd  %xmm3,%xmm8
mulsd  %xmm3,%xmm4
movapd %xmm4,0x230(%rsp)
mulsd  %xmm11,%xmm3
movsd  %xmm3,0x40(%rsp)
movsd  0x8(%rsp),%xmm4
movsd  0x98(%rsp),%xmm3
mulsd  %xmm4,%xmm3
movsd  %xmm3,0x98(%rsp)
mulsd  %xmm4,%xmm6
movsd  %xmm6,0x180(%rsp)
mulsd  %xmm4,%xmm7
movapd %xmm7,0x110(%rsp)
mulsd  %xmm11,%xmm4
movsd  %xmm4,0x8(%rsp)
movapd %xmm11,%xmm7
movapd 0xc0(%rsp),%xmm3
addsd  0x20(%r14),%xmm3
movapd %xmm3,0xc0(%rsp)
movsd  0xb0(%rsp),%xmm6
mulsd  %xmm6,%xmm7
addsd  %xmm5,%xmm7
movapd %xmm1,%xmm11
movapd %xmm1,%xmm4
movapd %xmm1,0x150(%rsp)
mulsd  %xmm1,%xmm11
addsd  0x18(%r14),%xmm7
movsd  0x1394(%rip),%xmm1
movapd %xmm1,%xmm5
divsd  %xmm11,%xmm1
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%r12),%xmm1
movsd  %xmm1,0x100(%rsp)
mulsd  %xmm3,%xmm1
movsd  (%r12),%xmm3
movsd  %xmm3,0x190(%rsp)
mulsd  %xmm3,%xmm7
addsd  %xmm1,%xmm7
movsd  0x10(%r12),%xmm11
movapd %xmm11,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm7,%xmm3
movapd 0x60(%rsp),%xmm1
subsd  %xmm15,%xmm1
subsd  0x80(%rsp),%xmm1
movapd %xmm1,0x60(%rsp)
addsd  %xmm8,%xmm0
subsd  0x1b8(%rsp),%xmm0
movsd  (%rsp),%xmm4
addsd  0x198(%rsp),%xmm4
subsd  0x130(%rsp),%xmm4
movsd  %xmm4,(%rsp)
addsd  0x1c8(%rsp),%xmm13
subsd  0x188(%rsp),%xmm13
movapd %xmm1,%xmm8
xorpd  0x12f0(%rip),%xmm8
movapd %xmm8,%xmm7
mulsd  %xmm6,%xmm7
subsd  0x1e0(%rsp),%xmm7
addsd  %xmm7,%xmm12
movapd 0x170(%rsp),%xmm15
movapd %xmm15,%xmm7
mulsd  %xmm4,%xmm7
addsd  %xmm12,%xmm7
movapd %xmm13,%xmm12
movsd  0x88(%rsp),%xmm6
mulsd  %xmm6,%xmm12
addsd  %xmm7,%xmm12
subsd  0x260(%rsp),%xmm12
movapd %xmm0,%xmm7
movsd  0x20(%rsp),%xmm1
mulsd  %xmm1,%xmm7
addsd  %xmm12,%xmm7
movapd 0x140(%rsp),%xmm4
addsd  %xmm7,%xmm4
movapd %xmm4,0x140(%rsp)
mulsd  %xmm1,%xmm8
subsd  0x1f0(%rsp),%xmm8
addsd  %xmm8,%xmm10
movapd %xmm15,%xmm8
movapd %xmm15,%xmm7
mulsd  %xmm13,%xmm7
addsd  %xmm10,%xmm7
movapd %xmm0,%xmm4
movsd  0xb0(%rsp),%xmm1
mulsd  %xmm1,%xmm4
subsd  %xmm4,%xmm7
subsd  0x230(%rsp),%xmm7
movsd  (%rsp),%xmm4
mulsd  %xmm6,%xmm4
movapd %xmm6,%xmm10
subsd  %xmm4,%xmm7
movsd  0x18(%rsp),%xmm4
addsd  %xmm7,%xmm4
movsd  %xmm4,0x18(%rsp)
movapd 0x240(%rsp),%xmm12
subsd  0x98(%rsp),%xmm12
subsd  0x1a0(%rsp),%xmm12
addsd  0x180(%rsp),%xmm2
subsd  0x1c0(%rsp),%xmm2
movsd  0x1d0(%rsp),%xmm15
addsd  0x48(%rsp),%xmm15
subsd  0x120(%rsp),%xmm15
addsd  0x50(%rsp),%xmm9
subsd  0x1a8(%rsp),%xmm9
movapd %xmm12,%xmm4
xorpd  0x11a5(%rip),%xmm4
movapd %xmm4,%xmm7
mulsd  %xmm1,%xmm7
subsd  0x1e8(%rsp),%xmm7
movsd  0x1b0(%rsp),%xmm1
addsd  %xmm7,%xmm1
movapd %xmm8,%xmm6
mulsd  %xmm15,%xmm8
addsd  %xmm1,%xmm8
movapd %xmm9,%xmm7
mulsd  %xmm10,%xmm7
addsd  %xmm8,%xmm7
subsd  0x250(%rsp),%xmm7
movapd %xmm2,%xmm1
movsd  0x20(%rsp),%xmm8
mulsd  %xmm8,%xmm1
addsd  %xmm7,%xmm1
addsd  %xmm1,%xmm14
mulsd  %xmm8,%xmm4
subsd  0x1d8(%rsp),%xmm4
movsd  0x78(%rsp),%xmm7
addsd  %xmm4,%xmm7
movapd %xmm6,%xmm8
movapd %xmm6,%xmm1
mulsd  %xmm9,%xmm1
addsd  %xmm7,%xmm1
movapd %xmm2,%xmm4
movsd  0xb0(%rsp),%xmm6
mulsd  %xmm6,%xmm4
subsd  %xmm4,%xmm1
subsd  0x110(%rsp),%xmm1
movapd %xmm15,%xmm4
mulsd  %xmm10,%xmm4
subsd  %xmm4,%xmm1
movsd  0xa0(%rsp),%xmm4
addsd  %xmm1,%xmm4
movsd  %xmm4,0xa0(%rsp)
movapd 0x150(%rsp),%xmm4
divsd  %xmm4,%xmm5
mulsd  0x20(%r12),%xmm4
movapd 0xc0(%rsp),%xmm1
mulsd  0x18(%r12),%xmm1
addsd  %xmm4,%xmm1
movapd %xmm1,0xc0(%rsp)
movapd 0x220(%rsp),%xmm1
mulsd  %xmm10,%xmm1
movapd %xmm10,%xmm7
subsd  0xf0(%rsp),%xmm1
movsd  0xb8(%rsp),%xmm4
addsd  %xmm1,%xmm4
movsd  0xe8(%rsp),%xmm1
mulsd  %xmm8,%xmm1
addsd  %xmm4,%xmm1
movsd  0x200(%rsp),%xmm4
movsd  0x20(%rsp),%xmm10
mulsd  %xmm10,%xmm4
subsd  %xmm4,%xmm1
subsd  0x38(%rsp),%xmm1
movsd  0x208(%rsp),%xmm4
mulsd  %xmm6,%xmm4
addsd  %xmm1,%xmm4
movsd  0x58(%rsp),%xmm1
addsd  %xmm4,%xmm1
mulsd  0x190(%rsp),%xmm1
movsd  0x100(%rsp),%xmm4
mulsd  0x210(%rsp),%xmm4
addsd  %xmm4,%xmm1
movsd  0x1f8(%rsp),%xmm4
mulsd  %xmm4,%xmm11
addsd  %xmm1,%xmm11
xorpd  0xffb(%rip),%xmm3
mulsd  0x10(%rsp),%xmm3
movapd %xmm4,%xmm1
mulsd  %xmm3,%xmm1
mulsd  %xmm5,%xmm11
addsd  %xmm1,%xmm11
movsd  %xmm11,(%r15)
movapd 0x60(%rsp),%xmm1
mulsd  %xmm7,%xmm1
subsd  0x160(%rsp),%xmm1
movsd  0x90(%rsp),%xmm11
addsd  %xmm1,%xmm11
mulsd  %xmm8,%xmm0
addsd  %xmm11,%xmm0
movsd  (%rsp),%xmm1
mulsd  %xmm10,%xmm1
subsd  %xmm1,%xmm0
subsd  0x28(%rsp),%xmm0
mulsd  %xmm6,%xmm13
addsd  %xmm0,%xmm13
movsd  0x40(%rsp),%xmm1
addsd  %xmm13,%xmm1
movsd  0x8(%r12),%xmm0
movapd 0x140(%rsp),%xmm13
mulsd  %xmm13,%xmm0
mulsd  (%r12),%xmm1
addsd  %xmm0,%xmm1
movsd  0x10(%r12),%xmm0
movsd  0x18(%rsp),%xmm11
mulsd  %xmm11,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm11,%xmm1
mulsd  %xmm3,%xmm1
mulsd  %xmm5,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x8(%r15)
mulsd  %xmm7,%xmm12
subsd  0xd0(%rsp),%xmm12
movsd  0x30(%rsp),%xmm0
addsd  %xmm12,%xmm0
mulsd  %xmm8,%xmm2
addsd  %xmm0,%xmm2
mulsd  %xmm10,%xmm15
subsd  %xmm15,%xmm2
subsd  0xa8(%rsp),%xmm2
mulsd  %xmm6,%xmm9
addsd  %xmm2,%xmm9
movsd  0x8(%rsp),%xmm1
addsd  %xmm9,%xmm1
movsd  0x8(%r12),%xmm0
mulsd  (%r12),%xmm1
mulsd  %xmm14,%xmm0
addsd  %xmm0,%xmm1
movsd  0x10(%r12),%xmm0
movsd  0xa0(%rsp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm2,%xmm1
movapd %xmm2,%xmm6
mulsd  %xmm3,%xmm1
mulsd  %xmm5,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x10(%r15)
movsd  (%r12),%xmm0
mulsd  %xmm5,%xmm0
movsd  %xmm0,0x18(%r15)
movsd  0x8(%r12),%xmm0
mulsd  %xmm5,%xmm0
movsd  %xmm0,0x20(%r15)
movsd  0x10(%r12),%xmm0
mulsd  %xmm5,%xmm0
addsd  %xmm3,%xmm0
movsd  %xmm0,0x28(%r15)
movsd  0x20(%r12),%xmm0
mulsd  %xmm4,%xmm0
movapd 0x210(%rsp),%xmm1
mulsd  0x18(%r12),%xmm1
addsd  %xmm0,%xmm1
movapd 0xc0(%rsp),%xmm0
xorpd  0xe42(%rip),%xmm0
mulsd  0x10(%rsp),%xmm0
mulsd  %xmm0,%xmm4
movapd %xmm0,%xmm2
mulsd  %xmm5,%xmm1
addsd  %xmm4,%xmm1
movsd  %xmm1,0x30(%r15)
movsd  0x20(%r12),%xmm0
mulsd  %xmm11,%xmm0
movapd %xmm13,%xmm1
mulsd  0x18(%r12),%xmm1
addsd  %xmm0,%xmm1
mulsd  %xmm2,%xmm11
mulsd  %xmm5,%xmm1
addsd  %xmm11,%xmm1
movsd  %xmm1,0x38(%r15)
movsd  0x20(%r12),%xmm0
mulsd  %xmm6,%xmm0
mulsd  0x18(%r12),%xmm14
addsd  %xmm0,%xmm14
mulsd  %xmm2,%xmm6
mulsd  %xmm5,%xmm14
addsd  %xmm6,%xmm14
movsd  %xmm14,0x40(%r15)
movq   $0x0,0x48(%r15)
movsd  0x18(%r12),%xmm0
mulsd  %xmm5,%xmm0
movsd  %xmm0,0x50(%r15)
mulsd  0x20(%r12),%xmm5
addsd  %xmm2,%xmm5
movsd  %xmm5,0x58(%r15)
add    $0x278,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @imgprojac_mot(i32 %0, i32 %1, double* %2, double* %3, double* %4, double** %5) {
%7 = alloca i32
%8 = alloca i32
%9 = alloca double*
%10 = alloca double*
%11 = alloca double*
%12 = alloca double**
%13 = alloca double*
%14 = alloca double*
%15 = alloca double*
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = alloca double
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
%46 = alloca double
%47 = alloca double
%48 = alloca double
%49 = alloca double
%50 = alloca double
%51 = alloca double
%52 = alloca double
%53 = alloca double
%54 = alloca double
%55 = alloca double
%56 = alloca double
%57 = alloca double
%58 = alloca double
%59 = alloca double
%60 = alloca double
%61 = alloca double
%62 = alloca double
%63 = alloca double
%64 = alloca double
%65 = alloca double
%66 = alloca double
%67 = alloca double
%68 = alloca double
%69 = alloca double
store i32 %0, i32* %7
store i32 %1, i32* %8
store double* %2, double** %9
store double* %3, double** %10
store double* %4, double** %11
store double** %5, double*** %12
%70 = load double**, double*** %12
%71 = getelementptr inbounds double*, double** %70, i64 0
%72 = load double*, double** %71
store double* %72, double** %14
%73 = load double**, double*** %12
%74 = getelementptr inbounds double*, double** %73, i64 1
%75 = load double*, double** %74
store double* %75, double** %15
%76 = load double*, double** %14
%77 = load i32, i32* %7
%78 = mul nsw i32 %77, 4
%79 = sext i32 %78 to i64
%80 = getelementptr inbounds double, double* %76, i64 %79
store double* %80, double** %13
%81 = load double*, double** %9
%82 = getelementptr inbounds double, double* %81, i64 0
%83 = load double, double* %82
%84 = call double @pow(double %83, double 2.000000e+00)
store double %84, double* %16
%85 = load double*, double** %9
%86 = getelementptr inbounds double, double* %85, i64 1
%87 = load double, double* %86
%88 = call double @pow(double %87, double 2.000000e+00)
store double %88, double* %17
%89 = load double*, double** %9
%90 = getelementptr inbounds double, double* %89, i64 2
%91 = load double, double* %90
%92 = call double @pow(double %91, double 2.000000e+00)
store double %92, double* %18
%93 = load double, double* %16
%94 = fsub double 1.000000e+00, %93
%95 = load double, double* %17
%96 = fsub double %94, %95
%97 = load double, double* %18
%98 = fsub double %96, %97
%99 = call double @sqrt(double %98)
store double %99, double* %19
%100 = load double, double* %19
%101 = fdiv double 1.000000e+00, %100
store double %101, double* %20
%102 = load double, double* %20
%103 = load double*, double** %13
%104 = getelementptr inbounds double, double* %103, i64 1
%105 = load double, double* %104
%106 = fmul double %102, %105
store double %106, double* %21
%107 = load double, double* %21
%108 = fneg double %107
%109 = load double*, double** %9
%110 = getelementptr inbounds double, double* %109, i64 0
%111 = load double, double* %110
%112 = load double*, double** %13
%113 = getelementptr inbounds double, double* %112, i64 0
%114 = load double, double* %113
%115 = call double @llvm.fmuladd.f64(double %108, double %111, double %114)
store double %115, double* %22
%116 = load double, double* %20
%117 = load double*, double** %13
%118 = getelementptr inbounds double, double* %117, i64 2
%119 = load double, double* %118
%120 = fmul double %116, %119
store double %120, double* %23
%121 = load double, double* %23
%122 = fneg double %121
%123 = load double*, double** %9
%124 = getelementptr inbounds double, double* %123, i64 0
%125 = load double, double* %124
%126 = load double*, double** %13
%127 = getelementptr inbounds double, double* %126, i64 3
%128 = load double, double* %127
%129 = fneg double %128
%130 = call double @llvm.fmuladd.f64(double %122, double %125, double %129)
store double %130, double* %24
%131 = load double, double* %20
%132 = load double*, double** %13
%133 = getelementptr inbounds double, double* %132, i64 3
%134 = load double, double* %133
%135 = fmul double %131, %134
store double %135, double* %25
%136 = load double, double* %25
%137 = fneg double %136
%138 = load double*, double** %9
%139 = getelementptr inbounds double, double* %138, i64 0
%140 = load double, double* %139
%141 = load double*, double** %13
%142 = getelementptr inbounds double, double* %141, i64 2
%143 = load double, double* %142
%144 = call double @llvm.fmuladd.f64(double %137, double %140, double %143)
store double %144, double* %26
%145 = load double, double* %22
%146 = fneg double %145
%147 = load double*, double** %10
%148 = getelementptr inbounds double, double* %147, i64 0
%149 = load double, double* %148
%150 = load double, double* %24
%151 = load double*, double** %10
%152 = getelementptr inbounds double, double* %151, i64 1
%153 = load double, double* %152
%154 = fmul double %150, %153
%155 = fneg double %154
%156 = call double @llvm.fmuladd.f64(double %146, double %149, double %155)
%157 = load double, double* %26
%158 = load double*, double** %10
%159 = getelementptr inbounds double, double* %158, i64 2
%160 = load double, double* %159
%161 = fneg double %157
%162 = call double @llvm.fmuladd.f64(double %161, double %160, double %156)
store double %162, double* %27
%163 = load double, double* %19
%164 = fneg double %163
%165 = load double*, double** %13
%166 = getelementptr inbounds double, double* %165, i64 1
%167 = load double, double* %166
%168 = load double*, double** %13
%169 = getelementptr inbounds double, double* %168, i64 0
%170 = load double, double* %169
%171 = load double*, double** %9
%172 = getelementptr inbounds double, double* %171, i64 0
%173 = load double, double* %172
%174 = fmul double %170, %173
%175 = fneg double %174
%176 = call double @llvm.fmuladd.f64(double %164, double %167, double %175)
%177 = load double*, double** %9
%178 = getelementptr inbounds double, double* %177, i64 1
%179 = load double, double* %178
%180 = load double*, double** %13
%181 = getelementptr inbounds double, double* %180, i64 3
%182 = load double, double* %181
%183 = fneg double %179
%184 = call double @llvm.fmuladd.f64(double %183, double %182, double %176)
%185 = load double*, double** %9
%186 = getelementptr inbounds double, double* %185, i64 2
%187 = load double, double* %186
%188 = load double*, double** %13
%189 = getelementptr inbounds double, double* %188, i64 2
%190 = load double, double* %189
%191 = call double @llvm.fmuladd.f64(double %187, double %190, double %184)
store double %191, double* %28
%192 = load double, double* %19
%193 = load double*, double** %13
%194 = getelementptr inbounds double, double* %193, i64 2
%195 = load double, double* %194
%196 = load double*, double** %13
%197 = getelementptr inbounds double, double* %196, i64 0
%198 = load double, double* %197
%199 = load double*, double** %9
%200 = getelementptr inbounds double, double* %199, i64 1
%201 = load double, double* %200
%202 = fmul double %198, %201
%203 = call double @llvm.fmuladd.f64(double %192, double %195, double %202)
%204 = load double*, double** %9
%205 = getelementptr inbounds double, double* %204, i64 2
%206 = load double, double* %205
%207 = load double*, double** %13
%208 = getelementptr inbounds double, double* %207, i64 1
%209 = load double, double* %208
%210 = call double @llvm.fmuladd.f64(double %206, double %209, double %203)
%211 = load double*, double** %9
%212 = getelementptr inbounds double, double* %211, i64 0
%213 = load double, double* %212
%214 = load double*, double** %13
%215 = getelementptr inbounds double, double* %214, i64 3
%216 = load double, double* %215
%217 = fneg double %213
%218 = call double @llvm.fmuladd.f64(double %217, double %216, double %210)
store double %218, double* %29
%219 = load double, double* %19
%220 = load double*, double** %13
%221 = getelementptr inbounds double, double* %220, i64 3
%222 = load double, double* %221
%223 = load double*, double** %13
%224 = getelementptr inbounds double, double* %223, i64 0
%225 = load double, double* %224
%226 = load double*, double** %9
%227 = getelementptr inbounds double, double* %226, i64 2
%228 = load double, double* %227
%229 = fmul double %225, %228
%230 = call double @llvm.fmuladd.f64(double %219, double %222, double %229)
%231 = load double*, double** %9
%232 = getelementptr inbounds double, double* %231, i64 0
%233 = load double, double* %232
%234 = load double*, double** %13
%235 = getelementptr inbounds double, double* %234, i64 2
%236 = load double, double* %235
%237 = call double @llvm.fmuladd.f64(double %233, double %236, double %230)
%238 = load double*, double** %9
%239 = getelementptr inbounds double, double* %238, i64 1
%240 = load double, double* %239
%241 = load double*, double** %13
%242 = getelementptr inbounds double, double* %241, i64 1
%243 = load double, double* %242
%244 = fneg double %240
%245 = call double @llvm.fmuladd.f64(double %244, double %243, double %237)
store double %245, double* %30
%246 = load double, double* %28
%247 = load double*, double** %10
%248 = getelementptr inbounds double, double* %247, i64 0
%249 = load double, double* %248
%250 = load double, double* %29
%251 = load double*, double** %10
%252 = getelementptr inbounds double, double* %251, i64 1
%253 = load double, double* %252
%254 = fmul double %250, %253
%255 = fneg double %254
%256 = call double @llvm.fmuladd.f64(double %246, double %249, double %255)
%257 = load double, double* %30
%258 = load double*, double** %10
%259 = getelementptr inbounds double, double* %258, i64 2
%260 = load double, double* %259
%261 = fneg double %257
%262 = call double @llvm.fmuladd.f64(double %261, double %260, double %256)
store double %262, double* %31
%263 = load double, double* %20
%264 = load double*, double** %13
%265 = getelementptr inbounds double, double* %264, i64 0
%266 = load double, double* %265
%267 = fmul double %263, %266
store double %267, double* %32
%268 = load double, double* %32
%269 = fneg double %268
%270 = load double*, double** %9
%271 = getelementptr inbounds double, double* %270, i64 0
%272 = load double, double* %271
%273 = load double*, double** %13
%274 = getelementptr inbounds double, double* %273, i64 1
%275 = load double, double* %274
%276 = fneg double %275
%277 = call double @llvm.fmuladd.f64(double %269, double %272, double %276)
store double %277, double* %33
%278 = load double, double* %19
%279 = load double*, double** %13
%280 = getelementptr inbounds double, double* %279, i64 0
%281 = load double, double* %280
%282 = load double*, double** %9
%283 = getelementptr inbounds double, double* %282, i64 0
%284 = load double, double* %283
%285 = load double*, double** %13
%286 = getelementptr inbounds double, double* %285, i64 1
%287 = load double, double* %286
%288 = fmul double %284, %287
%289 = fneg double %288
%290 = call double @llvm.fmuladd.f64(double %278, double %281, double %289)
%291 = load double*, double** %9
%292 = getelementptr inbounds double, double* %291, i64 1
%293 = load double, double* %292
%294 = load double*, double** %13
%295 = getelementptr inbounds double, double* %294, i64 2
%296 = load double, double* %295
%297 = fneg double %293
%298 = call double @llvm.fmuladd.f64(double %297, double %296, double %290)
%299 = load double*, double** %9
%300 = getelementptr inbounds double, double* %299, i64 2
%301 = load double, double* %300
%302 = load double*, double** %13
%303 = getelementptr inbounds double, double* %302, i64 3
%304 = load double, double* %303
%305 = fneg double %301
%306 = call double @llvm.fmuladd.f64(double %305, double %304, double %298)
store double %306, double* %34
%307 = load double, double* %34
%308 = load double*, double** %10
%309 = getelementptr inbounds double, double* %308, i64 0
%310 = load double, double* %309
%311 = load double, double* %29
%312 = load double*, double** %10
%313 = getelementptr inbounds double, double* %312, i64 2
%314 = load double, double* %313
%315 = fmul double %311, %314
%316 = call double @llvm.fmuladd.f64(double %307, double %310, double %315)
%317 = load double, double* %30
%318 = load double*, double** %10
%319 = getelementptr inbounds double, double* %318, i64 1
%320 = load double, double* %319
%321 = fneg double %317
%322 = call double @llvm.fmuladd.f64(double %321, double %320, double %316)
store double %322, double* %35
%323 = load double, double* %33
%324 = load double*, double** %10
%325 = getelementptr inbounds double, double* %324, i64 0
%326 = load double, double* %325
%327 = load double, double* %24
%328 = load double*, double** %10
%329 = getelementptr inbounds double, double* %328, i64 2
%330 = load double, double* %329
%331 = fmul double %327, %330
%332 = call double @llvm.fmuladd.f64(double %323, double %326, double %331)
%333 = load double, double* %26
%334 = load double*, double** %10
%335 = getelementptr inbounds double, double* %334, i64 1
%336 = load double, double* %335
%337 = fneg double %333
%338 = call double @llvm.fmuladd.f64(double %337, double %336, double %332)
store double %338, double* %36
%339 = load double, double* %33
%340 = load double*, double** %10
%341 = getelementptr inbounds double, double* %340, i64 1
%342 = load double, double* %341
%343 = load double, double* %26
%344 = load double*, double** %10
%345 = getelementptr inbounds double, double* %344, i64 0
%346 = load double, double* %345
%347 = fmul double %343, %346
%348 = call double @llvm.fmuladd.f64(double %339, double %342, double %347)
%349 = load double, double* %22
%350 = load double*, double** %10
%351 = getelementptr inbounds double, double* %350, i64 2
%352 = load double, double* %351
%353 = fneg double %349
%354 = call double @llvm.fmuladd.f64(double %353, double %352, double %348)
store double %354, double* %37
%355 = load double, double* %34
%356 = load double*, double** %10
%357 = getelementptr inbounds double, double* %356, i64 1
%358 = load double, double* %357
%359 = load double, double* %30
%360 = load double*, double** %10
%361 = getelementptr inbounds double, double* %360, i64 0
%362 = load double, double* %361
%363 = fmul double %359, %362
%364 = call double @llvm.fmuladd.f64(double %355, double %358, double %363)
%365 = load double, double* %28
%366 = load double*, double** %10
%367 = getelementptr inbounds double, double* %366, i64 2
%368 = load double, double* %367
%369 = call double @llvm.fmuladd.f64(double %365, double %368, double %364)
store double %369, double* %38
%370 = load double, double* %33
%371 = load double*, double** %10
%372 = getelementptr inbounds double, double* %371, i64 2
%373 = load double, double* %372
%374 = load double, double* %22
%375 = load double*, double** %10
%376 = getelementptr inbounds double, double* %375, i64 1
%377 = load double, double* %376
%378 = fmul double %374, %377
%379 = call double @llvm.fmuladd.f64(double %370, double %373, double %378)
%380 = load double, double* %24
%381 = load double*, double** %10
%382 = getelementptr inbounds double, double* %381, i64 0
%383 = load double, double* %382
%384 = fneg double %380
%385 = call double @llvm.fmuladd.f64(double %384, double %383, double %379)
store double %385, double* %39
%386 = load double, double* %34
%387 = load double*, double** %10
%388 = getelementptr inbounds double, double* %387, i64 2
%389 = load double, double* %388
%390 = load double, double* %28
%391 = load double*, double** %10
%392 = getelementptr inbounds double, double* %391, i64 1
%393 = load double, double* %392
%394 = fmul double %390, %393
%395 = fneg double %394
%396 = call double @llvm.fmuladd.f64(double %386, double %389, double %395)
%397 = load double, double* %29
%398 = load double*, double** %10
%399 = getelementptr inbounds double, double* %398, i64 0
%400 = load double, double* %399
%401 = fneg double %397
%402 = call double @llvm.fmuladd.f64(double %401, double %400, double %396)
store double %402, double* %40
%403 = load double, double* %27
%404 = fneg double %403
%405 = load double, double* %29
%406 = load double, double* %31
%407 = load double, double* %24
%408 = fmul double %406, %407
%409 = fneg double %408
%410 = call double @llvm.fmuladd.f64(double %404, double %405, double %409)
%411 = load double, double* %33
%412 = load double, double* %38
%413 = call double @llvm.fmuladd.f64(double %411, double %412, double %410)
%414 = load double, double* %34
%415 = load double, double* %37
%416 = call double @llvm.fmuladd.f64(double %414, double %415, double %413)
%417 = load double, double* %39
%418 = load double, double* %28
%419 = call double @llvm.fmuladd.f64(double %417, double %418, double %416)
%420 = load double, double* %40
%421 = load double, double* %22
%422 = fneg double %420
%423 = call double @llvm.fmuladd.f64(double %422, double %421, double %419)
%424 = load double, double* %36
%425 = load double, double* %30
%426 = call double @llvm.fmuladd.f64(double %424, double %425, double %423)
%427 = load double, double* %35
%428 = load double, double* %26
%429 = call double @llvm.fmuladd.f64(double %427, double %428, double %426)
store double %429, double* %41
%430 = load double, double* %27
%431 = fneg double %430
%432 = load double, double* %30
%433 = load double, double* %31
%434 = load double, double* %26
%435 = fmul double %433, %434
%436 = fneg double %435
%437 = call double @llvm.fmuladd.f64(double %431, double %432, double %436)
%438 = load double, double* %33
%439 = load double, double* %40
%440 = call double @llvm.fmuladd.f64(double %438, double %439, double %437)
%441 = load double, double* %34
%442 = load double, double* %39
%443 = call double @llvm.fmuladd.f64(double %441, double %442, double %440)
%444 = load double, double* %36
%445 = load double, double* %29
%446 = fneg double %444
%447 = call double @llvm.fmuladd.f64(double %446, double %445, double %443)
%448 = load double, double* %35
%449 = load double, double* %24
%450 = fneg double %448
%451 = call double @llvm.fmuladd.f64(double %450, double %449, double %447)
%452 = load double, double* %37
%453 = load double, double* %28
%454 = fneg double %452
%455 = call double @llvm.fmuladd.f64(double %454, double %453, double %451)
%456 = load double, double* %38
%457 = load double, double* %22
%458 = call double @llvm.fmuladd.f64(double %456, double %457, double %455)
store double %458, double* %42
%459 = load double, double* %31
%460 = fneg double %459
%461 = load double, double* %30
%462 = load double, double* %34
%463 = load double, double* %40
%464 = fmul double %462, %463
%465 = call double @llvm.fmuladd.f64(double %460, double %461, double %464)
%466 = load double, double* %35
%467 = load double, double* %29
%468 = fneg double %466
%469 = call double @llvm.fmuladd.f64(double %468, double %467, double %465)
%470 = load double, double* %38
%471 = load double, double* %28
%472 = fneg double %470
%473 = call double @llvm.fmuladd.f64(double %472, double %471, double %469)
%474 = load double*, double** %9
%475 = getelementptr inbounds double, double* %474, i64 5
%476 = load double, double* %475
%477 = fadd double %473, %476
store double %477, double* %43
%478 = load double, double* %43
%479 = fdiv double 1.000000e+00, %478
store double %479, double* %44
%480 = load double, double* %31
%481 = fneg double %480
%482 = load double, double* %29
%483 = load double, double* %34
%484 = load double, double* %38
%485 = fmul double %483, %484
%486 = call double @llvm.fmuladd.f64(double %481, double %482, double %485)
%487 = load double, double* %40
%488 = load double, double* %28
%489 = call double @llvm.fmuladd.f64(double %487, double %488, double %486)
%490 = load double, double* %35
%491 = load double, double* %30
%492 = call double @llvm.fmuladd.f64(double %490, double %491, double %489)
%493 = load double*, double** %9
%494 = getelementptr inbounds double, double* %493, i64 4
%495 = load double, double* %494
%496 = fadd double %492, %495
store double %496, double* %45
%497 = load double, double* %43
%498 = load double, double* %43
%499 = fmul double %497, %498
store double %499, double* %46
%500 = load double, double* %46
%501 = fdiv double 1.000000e+00, %500
store double %501, double* %47
%502 = load double*, double** %15
%503 = getelementptr inbounds double, double* %502, i64 0
%504 = load double, double* %503
%505 = load double, double* %31
%506 = load double, double* %28
%507 = load double, double* %34
%508 = load double, double* %35
%509 = fmul double %507, %508
%510 = call double @llvm.fmuladd.f64(double %505, double %506, double %509)
%511 = load double, double* %38
%512 = load double, double* %30
%513 = fneg double %511
%514 = call double @llvm.fmuladd.f64(double %513, double %512, double %510)
%515 = load double, double* %40
%516 = load double, double* %29
%517 = call double @llvm.fmuladd.f64(double %515, double %516, double %514)
%518 = load double*, double** %9
%519 = getelementptr inbounds double, double* %518, i64 3
%520 = load double, double* %519
%521 = fadd double %517, %520
%522 = load double*, double** %15
%523 = getelementptr inbounds double, double* %522, i64 1
%524 = load double, double* %523
%525 = load double, double* %45
%526 = fmul double %524, %525
%527 = call double @llvm.fmuladd.f64(double %504, double %521, double %526)
%528 = load double*, double** %15
%529 = getelementptr inbounds double, double* %528, i64 2
%530 = load double, double* %529
%531 = load double, double* %43
%532 = call double @llvm.fmuladd.f64(double %530, double %531, double %527)
%533 = load double, double* %47
%534 = fmul double %532, %533
store double %534, double* %48
%535 = load double, double* %21
%536 = fneg double %535
%537 = load double*, double** %9
%538 = getelementptr inbounds double, double* %537, i64 1
%539 = load double, double* %538
%540 = load double*, double** %13
%541 = getelementptr inbounds double, double* %540, i64 3
%542 = load double, double* %541
%543 = call double @llvm.fmuladd.f64(double %536, double %539, double %542)
store double %543, double* %49
%544 = load double, double* %23
%545 = fneg double %544
%546 = load double*, double** %9
%547 = getelementptr inbounds double, double* %546, i64 1
%548 = load double, double* %547
%549 = load double*, double** %13
%550 = getelementptr inbounds double, double* %549, i64 0
%551 = load double, double* %550
%552 = call double @llvm.fmuladd.f64(double %545, double %548, double %551)
store double %552, double* %50
%553 = load double, double* %25
%554 = fneg double %553
%555 = load double*, double** %9
%556 = getelementptr inbounds double, double* %555, i64 1
%557 = load double, double* %556
%558 = load double*, double** %13
%559 = getelementptr inbounds double, double* %558, i64 1
%560 = load double, double* %559
%561 = fneg double %560
%562 = call double @llvm.fmuladd.f64(double %554, double %557, double %561)
store double %562, double* %51
%563 = load double, double* %49
%564 = fneg double %563
%565 = load double*, double** %10
%566 = getelementptr inbounds double, double* %565, i64 0
%567 = load double, double* %566
%568 = load double, double* %50
%569 = load double*, double** %10
%570 = getelementptr inbounds double, double* %569, i64 1
%571 = load double, double* %570
%572 = fmul double %568, %571
%573 = fneg double %572
%574 = call double @llvm.fmuladd.f64(double %564, double %567, double %573)
%575 = load double, double* %51
%576 = load double*, double** %10
%577 = getelementptr inbounds double, double* %576, i64 2
%578 = load double, double* %577
%579 = fneg double %575
%580 = call double @llvm.fmuladd.f64(double %579, double %578, double %574)
store double %580, double* %52
%581 = load double, double* %32
%582 = fneg double %581
%583 = load double*, double** %9
%584 = getelementptr inbounds double, double* %583, i64 1
%585 = load double, double* %584
%586 = load double*, double** %13
%587 = getelementptr inbounds double, double* %586, i64 2
%588 = load double, double* %587
%589 = fneg double %588
%590 = call double @llvm.fmuladd.f64(double %582, double %585, double %589)
store double %590, double* %53
%591 = load double, double* %53
%592 = load double*, double** %10
%593 = getelementptr inbounds double, double* %592, i64 0
%594 = load double, double* %593
%595 = load double, double* %50
%596 = load double*, double** %10
%597 = getelementptr inbounds double, double* %596, i64 2
%598 = load double, double* %597
%599 = fmul double %595, %598
%600 = call double @llvm.fmuladd.f64(double %591, double %594, double %599)
%601 = load double, double* %51
%602 = load double*, double** %10
%603 = getelementptr inbounds double, double* %602, i64 1
%604 = load double, double* %603
%605 = fneg double %601
%606 = call double @llvm.fmuladd.f64(double %605, double %604, double %600)
store double %606, double* %54
%607 = load double, double* %53
%608 = load double*, double** %10
%609 = getelementptr inbounds double, double* %608, i64 1
%610 = load double, double* %609
%611 = load double, double* %51
%612 = load double*, double** %10
%613 = getelementptr inbounds double, double* %612, i64 0
%614 = load double, double* %613
%615 = fmul double %611, %614
%616 = call double @llvm.fmuladd.f64(double %607, double %610, double %615)
%617 = load double, double* %49
%618 = load double*, double** %10
%619 = getelementptr inbounds double, double* %618, i64 2
%620 = load double, double* %619
%621 = fneg double %617
%622 = call double @llvm.fmuladd.f64(double %621, double %620, double %616)
store double %622, double* %55
%623 = load double, double* %53
%624 = load double*, double** %10
%625 = getelementptr inbounds double, double* %624, i64 2
%626 = load double, double* %625
%627 = load double, double* %49
%628 = load double*, double** %10
%629 = getelementptr inbounds double, double* %628, i64 1
%630 = load double, double* %629
%631 = fmul double %627, %630
%632 = call double @llvm.fmuladd.f64(double %623, double %626, double %631)
%633 = load double, double* %50
%634 = load double*, double** %10
%635 = getelementptr inbounds double, double* %634, i64 0
%636 = load double, double* %635
%637 = fneg double %633
%638 = call double @llvm.fmuladd.f64(double %637, double %636, double %632)
store double %638, double* %56
%639 = load double, double* %52
%640 = fneg double %639
%641 = load double, double* %29
%642 = load double, double* %31
%643 = load double, double* %50
%644 = fmul double %642, %643
%645 = fneg double %644
%646 = call double @llvm.fmuladd.f64(double %640, double %641, double %645)
%647 = load double, double* %53
%648 = load double, double* %38
%649 = call double @llvm.fmuladd.f64(double %647, double %648, double %646)
%650 = load double, double* %34
%651 = load double, double* %55
%652 = call double @llvm.fmuladd.f64(double %650, double %651, double %649)
%653 = load double, double* %56
%654 = load double, double* %28
%655 = call double @llvm.fmuladd.f64(double %653, double %654, double %652)
%656 = load double, double* %40
%657 = load double, double* %49
%658 = fneg double %656
%659 = call double @llvm.fmuladd.f64(double %658, double %657, double %655)
%660 = load double, double* %54
%661 = load double, double* %30
%662 = call double @llvm.fmuladd.f64(double %660, double %661, double %659)
%663 = load double, double* %35
%664 = load double, double* %51
%665 = call double @llvm.fmuladd.f64(double %663, double %664, double %662)
store double %665, double* %57
%666 = load double, double* %52
%667 = fneg double %666
%668 = load double, double* %30
%669 = load double, double* %31
%670 = load double, double* %51
%671 = fmul double %669, %670
%672 = fneg double %671
%673 = call double @llvm.fmuladd.f64(double %667, double %668, double %672)
%674 = load double, double* %53
%675 = load double, double* %40
%676 = call double @llvm.fmuladd.f64(double %674, double %675, double %673)
%677 = load double, double* %34
%678 = load double, double* %56
%679 = call double @llvm.fmuladd.f64(double %677, double %678, double %676)
%680 = load double, double* %54
%681 = load double, double* %29
%682 = fneg double %680
%683 = call double @llvm.fmuladd.f64(double %682, double %681, double %679)
%684 = load double, double* %35
%685 = load double, double* %50
%686 = fneg double %684
%687 = call double @llvm.fmuladd.f64(double %686, double %685, double %683)
%688 = load double, double* %55
%689 = load double, double* %28
%690 = fneg double %688
%691 = call double @llvm.fmuladd.f64(double %690, double %689, double %687)
%692 = load double, double* %38
%693 = load double, double* %49
%694 = call double @llvm.fmuladd.f64(double %692, double %693, double %691)
store double %694, double* %58
%695 = load double, double* %21
%696 = fneg double %695
%697 = load double*, double** %9
%698 = getelementptr inbounds double, double* %697, i64 2
%699 = load double, double* %698
%700 = load double*, double** %13
%701 = getelementptr inbounds double, double* %700, i64 2
%702 = load double, double* %701
%703 = fneg double %702
%704 = call double @llvm.fmuladd.f64(double %696, double %699, double %703)
store double %704, double* %59
%705 = load double, double* %23
%706 = fneg double %705
%707 = load double*, double** %9
%708 = getelementptr inbounds double, double* %707, i64 2
%709 = load double, double* %708
%710 = load double*, double** %13
%711 = getelementptr inbounds double, double* %710, i64 1
%712 = load double, double* %711
%713 = call double @llvm.fmuladd.f64(double %706, double %709, double %712)
store double %713, double* %60
%714 = load double, double* %25
%715 = fneg double %714
%716 = load double*, double** %9
%717 = getelementptr inbounds double, double* %716, i64 2
%718 = load double, double* %717
%719 = load double*, double** %13
%720 = getelementptr inbounds double, double* %719, i64 0
%721 = load double, double* %720
%722 = call double @llvm.fmuladd.f64(double %715, double %718, double %721)
store double %722, double* %61
%723 = load double, double* %59
%724 = fneg double %723
%725 = load double*, double** %10
%726 = getelementptr inbounds double, double* %725, i64 0
%727 = load double, double* %726
%728 = load double, double* %60
%729 = load double*, double** %10
%730 = getelementptr inbounds double, double* %729, i64 1
%731 = load double, double* %730
%732 = fmul double %728, %731
%733 = fneg double %732
%734 = call double @llvm.fmuladd.f64(double %724, double %727, double %733)
%735 = load double, double* %61
%736 = load double*, double** %10
%737 = getelementptr inbounds double, double* %736, i64 2
%738 = load double, double* %737
%739 = fneg double %735
%740 = call double @llvm.fmuladd.f64(double %739, double %738, double %734)
store double %740, double* %62
%741 = load double, double* %32
%742 = fneg double %741
%743 = load double*, double** %9
%744 = getelementptr inbounds double, double* %743, i64 2
%745 = load double, double* %744
%746 = load double*, double** %13
%747 = getelementptr inbounds double, double* %746, i64 3
%748 = load double, double* %747
%749 = fneg double %748
%750 = call double @llvm.fmuladd.f64(double %742, double %745, double %749)
store double %750, double* %63
%751 = load double, double* %63
%752 = load double*, double** %10
%753 = getelementptr inbounds double, double* %752, i64 0
%754 = load double, double* %753
%755 = load double, double* %60
%756 = load double*, double** %10
%757 = getelementptr inbounds double, double* %756, i64 2
%758 = load double, double* %757
%759 = fmul double %755, %758
%760 = call double @llvm.fmuladd.f64(double %751, double %754, double %759)
%761 = load double, double* %61
%762 = load double*, double** %10
%763 = getelementptr inbounds double, double* %762, i64 1
%764 = load double, double* %763
%765 = fneg double %761
%766 = call double @llvm.fmuladd.f64(double %765, double %764, double %760)
store double %766, double* %64
%767 = load double, double* %63
%768 = load double*, double** %10
%769 = getelementptr inbounds double, double* %768, i64 1
%770 = load double, double* %769
%771 = load double, double* %61
%772 = load double*, double** %10
%773 = getelementptr inbounds double, double* %772, i64 0
%774 = load double, double* %773
%775 = fmul double %771, %774
%776 = call double @llvm.fmuladd.f64(double %767, double %770, double %775)
%777 = load double, double* %59
%778 = load double*, double** %10
%779 = getelementptr inbounds double, double* %778, i64 2
%780 = load double, double* %779
%781 = fneg double %777
%782 = call double @llvm.fmuladd.f64(double %781, double %780, double %776)
store double %782, double* %65
%783 = load double, double* %63
%784 = load double*, double** %10
%785 = getelementptr inbounds double, double* %784, i64 2
%786 = load double, double* %785
%787 = load double, double* %59
%788 = load double*, double** %10
%789 = getelementptr inbounds double, double* %788, i64 1
%790 = load double, double* %789
%791 = fmul double %787, %790
%792 = call double @llvm.fmuladd.f64(double %783, double %786, double %791)
%793 = load double, double* %60
%794 = load double*, double** %10
%795 = getelementptr inbounds double, double* %794, i64 0
%796 = load double, double* %795
%797 = fneg double %793
%798 = call double @llvm.fmuladd.f64(double %797, double %796, double %792)
store double %798, double* %66
%799 = load double, double* %62
%800 = fneg double %799
%801 = load double, double* %29
%802 = load double, double* %31
%803 = load double, double* %60
%804 = fmul double %802, %803
%805 = fneg double %804
%806 = call double @llvm.fmuladd.f64(double %800, double %801, double %805)
%807 = load double, double* %63
%808 = load double, double* %38
%809 = call double @llvm.fmuladd.f64(double %807, double %808, double %806)
%810 = load double, double* %34
%811 = load double, double* %65
%812 = call double @llvm.fmuladd.f64(double %810, double %811, double %809)
%813 = load double, double* %66
%814 = load double, double* %28
%815 = call double @llvm.fmuladd.f64(double %813, double %814, double %812)
%816 = load double, double* %40
%817 = load double, double* %59
%818 = fneg double %816
%819 = call double @llvm.fmuladd.f64(double %818, double %817, double %815)
%820 = load double, double* %64
%821 = load double, double* %30
%822 = call double @llvm.fmuladd.f64(double %820, double %821, double %819)
%823 = load double, double* %35
%824 = load double, double* %61
%825 = call double @llvm.fmuladd.f64(double %823, double %824, double %822)
store double %825, double* %67
%826 = load double, double* %62
%827 = fneg double %826
%828 = load double, double* %30
%829 = load double, double* %31
%830 = load double, double* %61
%831 = fmul double %829, %830
%832 = fneg double %831
%833 = call double @llvm.fmuladd.f64(double %827, double %828, double %832)
%834 = load double, double* %63
%835 = load double, double* %40
%836 = call double @llvm.fmuladd.f64(double %834, double %835, double %833)
%837 = load double, double* %34
%838 = load double, double* %66
%839 = call double @llvm.fmuladd.f64(double %837, double %838, double %836)
%840 = load double, double* %64
%841 = load double, double* %29
%842 = fneg double %840
%843 = call double @llvm.fmuladd.f64(double %842, double %841, double %839)
%844 = load double, double* %35
%845 = load double, double* %60
%846 = fneg double %844
%847 = call double @llvm.fmuladd.f64(double %846, double %845, double %843)
%848 = load double, double* %65
%849 = load double, double* %28
%850 = fneg double %848
%851 = call double @llvm.fmuladd.f64(double %850, double %849, double %847)
%852 = load double, double* %38
%853 = load double, double* %59
%854 = call double @llvm.fmuladd.f64(double %852, double %853, double %851)
store double %854, double* %68
%855 = load double*, double** %15
%856 = getelementptr inbounds double, double* %855, i64 3
%857 = load double, double* %856
%858 = load double, double* %45
%859 = load double*, double** %15
%860 = getelementptr inbounds double, double* %859, i64 4
%861 = load double, double* %860
%862 = load double, double* %43
%863 = fmul double %861, %862
%864 = call double @llvm.fmuladd.f64(double %857, double %858, double %863)
%865 = load double, double* %47
%866 = fmul double %864, %865
store double %866, double* %69
%867 = load double*, double** %15
%868 = getelementptr inbounds double, double* %867, i64 0
%869 = load double, double* %868
%870 = load double, double* %27
%871 = load double, double* %28
%872 = load double, double* %31
%873 = load double, double* %22
%874 = fmul double %872, %873
%875 = fneg double %874
%876 = call double @llvm.fmuladd.f64(double %870, double %871, double %875)
%877 = load double, double* %33
%878 = load double, double* %35
%879 = call double @llvm.fmuladd.f64(double %877, double %878, double %876)
%880 = load double, double* %34
%881 = load double, double* %36
%882 = call double @llvm.fmuladd.f64(double %880, double %881, double %879)
%883 = load double, double* %37
%884 = load double, double* %30
%885 = fneg double %883
%886 = call double @llvm.fmuladd.f64(double %885, double %884, double %882)
%887 = load double, double* %38
%888 = load double, double* %26
%889 = fneg double %887
%890 = call double @llvm.fmuladd.f64(double %889, double %888, double %886)
%891 = load double, double* %39
%892 = load double, double* %29
%893 = call double @llvm.fmuladd.f64(double %891, double %892, double %890)
%894 = load double, double* %40
%895 = load double, double* %24
%896 = call double @llvm.fmuladd.f64(double %894, double %895, double %893)
%897 = load double*, double** %15
%898 = getelementptr inbounds double, double* %897, i64 1
%899 = load double, double* %898
%900 = load double, double* %41
%901 = fmul double %899, %900
%902 = call double @llvm.fmuladd.f64(double %869, double %896, double %901)
%903 = load double*, double** %15
%904 = getelementptr inbounds double, double* %903, i64 2
%905 = load double, double* %904
%906 = load double, double* %42
%907 = call double @llvm.fmuladd.f64(double %905, double %906, double %902)
%908 = load double, double* %44
%909 = load double, double* %48
%910 = load double, double* %42
%911 = fmul double %909, %910
%912 = fneg double %911
%913 = call double @llvm.fmuladd.f64(double %907, double %908, double %912)
%914 = load double*, double** %11
%915 = getelementptr inbounds double, double* %914, i64 0
store double %913, double* %915
%916 = load double*, double** %15
%917 = getelementptr inbounds double, double* %916, i64 0
%918 = load double, double* %917
%919 = load double, double* %52
%920 = load double, double* %28
%921 = load double, double* %31
%922 = load double, double* %49
%923 = fmul double %921, %922
%924 = fneg double %923
%925 = call double @llvm.fmuladd.f64(double %919, double %920, double %924)
%926 = load double, double* %53
%927 = load double, double* %35
%928 = call double @llvm.fmuladd.f64(double %926, double %927, double %925)
%929 = load double, double* %34
%930 = load double, double* %54
%931 = call double @llvm.fmuladd.f64(double %929, double %930, double %928)
%932 = load double, double* %55
%933 = load double, double* %30
%934 = fneg double %932
%935 = call double @llvm.fmuladd.f64(double %934, double %933, double %931)
%936 = load double, double* %38
%937 = load double, double* %51
%938 = fneg double %936
%939 = call double @llvm.fmuladd.f64(double %938, double %937, double %935)
%940 = load double, double* %56
%941 = load double, double* %29
%942 = call double @llvm.fmuladd.f64(double %940, double %941, double %939)
%943 = load double, double* %40
%944 = load double, double* %50
%945 = call double @llvm.fmuladd.f64(double %943, double %944, double %942)
%946 = load double*, double** %15
%947 = getelementptr inbounds double, double* %946, i64 1
%948 = load double, double* %947
%949 = load double, double* %57
%950 = fmul double %948, %949
%951 = call double @llvm.fmuladd.f64(double %918, double %945, double %950)
%952 = load double*, double** %15
%953 = getelementptr inbounds double, double* %952, i64 2
%954 = load double, double* %953
%955 = load double, double* %58
%956 = call double @llvm.fmuladd.f64(double %954, double %955, double %951)
%957 = load double, double* %44
%958 = load double, double* %48
%959 = load double, double* %58
%960 = fmul double %958, %959
%961 = fneg double %960
%962 = call double @llvm.fmuladd.f64(double %956, double %957, double %961)
%963 = load double*, double** %11
%964 = getelementptr inbounds double, double* %963, i64 1
store double %962, double* %964
%965 = load double*, double** %15
%966 = getelementptr inbounds double, double* %965, i64 0
%967 = load double, double* %966
%968 = load double, double* %62
%969 = load double, double* %28
%970 = load double, double* %31
%971 = load double, double* %59
%972 = fmul double %970, %971
%973 = fneg double %972
%974 = call double @llvm.fmuladd.f64(double %968, double %969, double %973)
%975 = load double, double* %63
%976 = load double, double* %35
%977 = call double @llvm.fmuladd.f64(double %975, double %976, double %974)
%978 = load double, double* %34
%979 = load double, double* %64
%980 = call double @llvm.fmuladd.f64(double %978, double %979, double %977)
%981 = load double, double* %65
%982 = load double, double* %30
%983 = fneg double %981
%984 = call double @llvm.fmuladd.f64(double %983, double %982, double %980)
%985 = load double, double* %38
%986 = load double, double* %61
%987 = fneg double %985
%988 = call double @llvm.fmuladd.f64(double %987, double %986, double %984)
%989 = load double, double* %66
%990 = load double, double* %29
%991 = call double @llvm.fmuladd.f64(double %989, double %990, double %988)
%992 = load double, double* %40
%993 = load double, double* %60
%994 = call double @llvm.fmuladd.f64(double %992, double %993, double %991)
%995 = load double*, double** %15
%996 = getelementptr inbounds double, double* %995, i64 1
%997 = load double, double* %996
%998 = load double, double* %67
%999 = fmul double %997, %998
%1000 = call double @llvm.fmuladd.f64(double %967, double %994, double %999)
%1001 = load double*, double** %15
%1002 = getelementptr inbounds double, double* %1001, i64 2
%1003 = load double, double* %1002
%1004 = load double, double* %68
%1005 = call double @llvm.fmuladd.f64(double %1003, double %1004, double %1000)
%1006 = load double, double* %44
%1007 = load double, double* %48
%1008 = load double, double* %68
%1009 = fmul double %1007, %1008
%1010 = fneg double %1009
%1011 = call double @llvm.fmuladd.f64(double %1005, double %1006, double %1010)
%1012 = load double*, double** %11
%1013 = getelementptr inbounds double, double* %1012, i64 2
store double %1011, double* %1013
%1014 = load double*, double** %15
%1015 = getelementptr inbounds double, double* %1014, i64 0
%1016 = load double, double* %1015
%1017 = load double, double* %44
%1018 = fmul double %1016, %1017
%1019 = load double*, double** %11
%1020 = getelementptr inbounds double, double* %1019, i64 3
store double %1018, double* %1020
%1021 = load double*, double** %15
%1022 = getelementptr inbounds double, double* %1021, i64 1
%1023 = load double, double* %1022
%1024 = load double, double* %44
%1025 = fmul double %1023, %1024
%1026 = load double*, double** %11
%1027 = getelementptr inbounds double, double* %1026, i64 4
store double %1025, double* %1027
%1028 = load double*, double** %15
%1029 = getelementptr inbounds double, double* %1028, i64 2
%1030 = load double, double* %1029
%1031 = load double, double* %44
%1032 = load double, double* %48
%1033 = fneg double %1032
%1034 = call double @llvm.fmuladd.f64(double %1030, double %1031, double %1033)
%1035 = load double*, double** %11
%1036 = getelementptr inbounds double, double* %1035, i64 5
store double %1034, double* %1036
%1037 = load double*, double** %15
%1038 = getelementptr inbounds double, double* %1037, i64 3
%1039 = load double, double* %1038
%1040 = load double, double* %41
%1041 = load double*, double** %15
%1042 = getelementptr inbounds double, double* %1041, i64 4
%1043 = load double, double* %1042
%1044 = load double, double* %42
%1045 = fmul double %1043, %1044
%1046 = call double @llvm.fmuladd.f64(double %1039, double %1040, double %1045)
%1047 = load double, double* %44
%1048 = load double, double* %69
%1049 = load double, double* %42
%1050 = fmul double %1048, %1049
%1051 = fneg double %1050
%1052 = call double @llvm.fmuladd.f64(double %1046, double %1047, double %1051)
%1053 = load double*, double** %11
%1054 = getelementptr inbounds double, double* %1053, i64 6
store double %1052, double* %1054
%1055 = load double*, double** %15
%1056 = getelementptr inbounds double, double* %1055, i64 3
%1057 = load double, double* %1056
%1058 = load double, double* %57
%1059 = load double*, double** %15
%1060 = getelementptr inbounds double, double* %1059, i64 4
%1061 = load double, double* %1060
%1062 = load double, double* %58
%1063 = fmul double %1061, %1062
%1064 = call double @llvm.fmuladd.f64(double %1057, double %1058, double %1063)
%1065 = load double, double* %44
%1066 = load double, double* %69
%1067 = load double, double* %58
%1068 = fmul double %1066, %1067
%1069 = fneg double %1068
%1070 = call double @llvm.fmuladd.f64(double %1064, double %1065, double %1069)
%1071 = load double*, double** %11
%1072 = getelementptr inbounds double, double* %1071, i64 7
store double %1070, double* %1072
%1073 = load double*, double** %15
%1074 = getelementptr inbounds double, double* %1073, i64 3
%1075 = load double, double* %1074
%1076 = load double, double* %67
%1077 = load double*, double** %15
%1078 = getelementptr inbounds double, double* %1077, i64 4
%1079 = load double, double* %1078
%1080 = load double, double* %68
%1081 = fmul double %1079, %1080
%1082 = call double @llvm.fmuladd.f64(double %1075, double %1076, double %1081)
%1083 = load double, double* %44
%1084 = load double, double* %69
%1085 = load double, double* %68
%1086 = fmul double %1084, %1085
%1087 = fneg double %1086
%1088 = call double @llvm.fmuladd.f64(double %1082, double %1083, double %1087)
%1089 = load double*, double** %11
%1090 = getelementptr inbounds double, double* %1089, i64 8
store double %1088, double* %1090
%1091 = load double*, double** %11
%1092 = getelementptr inbounds double, double* %1091, i64 9
store double 0.000000e+00, double* %1092
%1093 = load double*, double** %15
%1094 = getelementptr inbounds double, double* %1093, i64 3
%1095 = load double, double* %1094
%1096 = load double, double* %44
%1097 = fmul double %1095, %1096
%1098 = load double*, double** %11
%1099 = getelementptr inbounds double, double* %1098, i64 10
store double %1097, double* %1099
%1100 = load double*, double** %15
%1101 = getelementptr inbounds double, double* %1100, i64 4
%1102 = load double, double* %1101
%1103 = load double, double* %44
%1104 = load double, double* %69
%1105 = fneg double %1104
%1106 = call double @llvm.fmuladd.f64(double %1102, double %1103, double %1105)
%1107 = load double*, double** %11
%1108 = getelementptr inbounds double, double* %1107, i64 11
store double %1106, double* %1108
ret void
}

LLVM IR (-O2):
define void @imgprojac_mot(i32 %0, i32 %1, double* nocapture %2, double* nocapture %3, double* nocapture writeonly %4, double** nocapture %5) {
%7 = load double*, double** %5
%8 = getelementptr inbounds double*, double** %5, i64 1
%9 = load double*, double** %8
%10 = shl nsw i32 %0, 2
%11 = sext i32 %10 to i64
%12 = getelementptr inbounds double, double* %7, i64 %11
%13 = load double, double* %2
%14 = fmul double %13, %13
%15 = getelementptr inbounds double, double* %2, i64 1
%16 = load double, double* %15
%17 = fmul double %16, %16
%18 = getelementptr inbounds double, double* %2, i64 2
%19 = load double, double* %18
%20 = fmul double %19, %19
%21 = fsub double 1.000000e+00, %14
%22 = fsub double %21, %17
%23 = fsub double %22, %20
%24 = tail call double @sqrt(double %23)
%25 = getelementptr inbounds double, double* %12, i64 1
%26 = load double, double* %25
%27 = fdiv double -1.000000e+00, %24
%28 = fmul double %26, %27
%29 = load double, double* %2
%30 = load double, double* %12
%31 = tail call double @llvm.fmuladd.f64(double %28, double %29, double %30)
%32 = getelementptr inbounds double, double* %12, i64 2
%33 = load double, double* %32
%34 = fmul double %27, %33
%35 = getelementptr inbounds double, double* %12, i64 3
%36 = load double, double* %35
%37 = fneg double %36
%38 = tail call double @llvm.fmuladd.f64(double %34, double %29, double %37)
%39 = fmul double %27, %36
%40 = tail call double @llvm.fmuladd.f64(double %39, double %29, double %33)
%41 = fneg double %31
%42 = load double, double* %3
%43 = getelementptr inbounds double, double* %3, i64 1
%44 = load double, double* %43
%45 = fneg double %38
%46 = fmul double %44, %45
%47 = tail call double @llvm.fmuladd.f64(double %41, double %42, double %46)
%48 = getelementptr inbounds double, double* %3, i64 2
%49 = load double, double* %48
%50 = fneg double %40
%51 = tail call double @llvm.fmuladd.f64(double %50, double %49, double %47)
%52 = fneg double %24
%53 = fneg double %30
%54 = fmul double %29, %53
%55 = tail call double @llvm.fmuladd.f64(double %52, double %26, double %54)
%56 = load double, double* %15
%57 = fneg double %56
%58 = tail call double @llvm.fmuladd.f64(double %57, double %36, double %55)
%59 = load double, double* %18
%60 = tail call double @llvm.fmuladd.f64(double %59, double %33, double %58)
%61 = fmul double %30, %56
%62 = tail call double @llvm.fmuladd.f64(double %24, double %33, double %61)
%63 = tail call double @llvm.fmuladd.f64(double %59, double %26, double %62)
%64 = fneg double %29
%65 = tail call double @llvm.fmuladd.f64(double %64, double %36, double %63)
%66 = fmul double %30, %59
%67 = tail call double @llvm.fmuladd.f64(double %24, double %36, double %66)
%68 = tail call double @llvm.fmuladd.f64(double %29, double %33, double %67)
%69 = tail call double @llvm.fmuladd.f64(double %57, double %26, double %68)
%70 = fneg double %65
%71 = fmul double %44, %70
%72 = tail call double @llvm.fmuladd.f64(double %60, double %42, double %71)
%73 = fneg double %69
%74 = tail call double @llvm.fmuladd.f64(double %73, double %49, double %72)
%75 = fmul double %27, %30
%76 = fneg double %26
%77 = tail call double @llvm.fmuladd.f64(double %75, double %29, double %76)
%78 = fmul double %26, %64
%79 = tail call double @llvm.fmuladd.f64(double %24, double %30, double %78)
%80 = tail call double @llvm.fmuladd.f64(double %57, double %33, double %79)
%81 = fneg double %59
%82 = tail call double @llvm.fmuladd.f64(double %81, double %36, double %80)
%83 = fmul double %49, %65
%84 = tail call double @llvm.fmuladd.f64(double %82, double %42, double %83)
%85 = tail call double @llvm.fmuladd.f64(double %73, double %44, double %84)
%86 = fmul double %38, %49
%87 = tail call double @llvm.fmuladd.f64(double %77, double %42, double %86)
%88 = tail call double @llvm.fmuladd.f64(double %50, double %44, double %87)
%89 = fmul double %42, %40
%90 = tail call double @llvm.fmuladd.f64(double %77, double %44, double %89)
%91 = tail call double @llvm.fmuladd.f64(double %41, double %49, double %90)
%92 = fmul double %42, %69
%93 = tail call double @llvm.fmuladd.f64(double %82, double %44, double %92)
%94 = tail call double @llvm.fmuladd.f64(double %60, double %49, double %93)
%95 = fmul double %31, %44
%96 = tail call double @llvm.fmuladd.f64(double %77, double %49, double %95)
%97 = tail call double @llvm.fmuladd.f64(double %45, double %42, double %96)
%98 = fneg double %60
%99 = fmul double %44, %98
%100 = tail call double @llvm.fmuladd.f64(double %82, double %49, double %99)
%101 = tail call double @llvm.fmuladd.f64(double %70, double %42, double %100)
%102 = fneg double %51
%103 = fneg double %74
%104 = fmul double %38, %103
%105 = tail call double @llvm.fmuladd.f64(double %102, double %65, double %104)
%106 = tail call double @llvm.fmuladd.f64(double %77, double %94, double %105)
%107 = tail call double @llvm.fmuladd.f64(double %82, double %91, double %106)
%108 = tail call double @llvm.fmuladd.f64(double %97, double %60, double %107)
%109 = fneg double %101
%110 = tail call double @llvm.fmuladd.f64(double %109, double %31, double %108)
%111 = tail call double @llvm.fmuladd.f64(double %88, double %69, double %110)
%112 = tail call double @llvm.fmuladd.f64(double %85, double %40, double %111)
%113 = fmul double %40, %103
%114 = tail call double @llvm.fmuladd.f64(double %102, double %69, double %113)
%115 = tail call double @llvm.fmuladd.f64(double %77, double %101, double %114)
%116 = tail call double @llvm.fmuladd.f64(double %82, double %97, double %115)
%117 = fneg double %88
%118 = tail call double @llvm.fmuladd.f64(double %117, double %65, double %116)
%119 = fneg double %85
%120 = tail call double @llvm.fmuladd.f64(double %119, double %38, double %118)
%121 = fneg double %91
%122 = tail call double @llvm.fmuladd.f64(double %121, double %60, double %120)
%123 = tail call double @llvm.fmuladd.f64(double %94, double %31, double %122)
%124 = fmul double %82, %101
%125 = tail call double @llvm.fmuladd.f64(double %103, double %69, double %124)
%126 = tail call double @llvm.fmuladd.f64(double %119, double %65, double %125)
%127 = fneg double %94
%128 = tail call double @llvm.fmuladd.f64(double %127, double %60, double %126)
%129 = getelementptr inbounds double, double* %2, i64 5
%130 = load double, double* %129
%131 = fadd double %130, %128
%132 = fdiv double 1.000000e+00, %131
%133 = fmul double %82, %94
%134 = tail call double @llvm.fmuladd.f64(double %103, double %65, double %133)
%135 = tail call double @llvm.fmuladd.f64(double %101, double %60, double %134)
%136 = tail call double @llvm.fmuladd.f64(double %85, double %69, double %135)
%137 = getelementptr inbounds double, double* %2, i64 4
%138 = load double, double* %137
%139 = fadd double %138, %136
%140 = fmul double %131, %131
%141 = fdiv double 1.000000e+00, %140
%142 = load double, double* %9
%143 = fmul double %82, %85
%144 = tail call double @llvm.fmuladd.f64(double %74, double %60, double %143)
%145 = tail call double @llvm.fmuladd.f64(double %127, double %69, double %144)
%146 = tail call double @llvm.fmuladd.f64(double %101, double %65, double %145)
%147 = getelementptr inbounds double, double* %2, i64 3
%148 = load double, double* %147
%149 = fadd double %148, %146
%150 = getelementptr inbounds double, double* %9, i64 1
%151 = load double, double* %150
%152 = fmul double %151, %139
%153 = tail call double @llvm.fmuladd.f64(double %142, double %149, double %152)
%154 = getelementptr inbounds double, double* %9, i64 2
%155 = load double, double* %154
%156 = tail call double @llvm.fmuladd.f64(double %155, double %131, double %153)
%157 = tail call double @llvm.fmuladd.f64(double %28, double %56, double %36)
%158 = tail call double @llvm.fmuladd.f64(double %34, double %56, double %30)
%159 = tail call double @llvm.fmuladd.f64(double %39, double %56, double %76)
%160 = fneg double %157
%161 = fneg double %158
%162 = fmul double %44, %161
%163 = tail call double @llvm.fmuladd.f64(double %160, double %42, double %162)
%164 = fneg double %159
%165 = tail call double @llvm.fmuladd.f64(double %164, double %49, double %163)
%166 = fneg double %33
%167 = tail call double @llvm.fmuladd.f64(double %75, double %56, double %166)
%168 = fmul double %49, %158
%169 = tail call double @llvm.fmuladd.f64(double %167, double %42, double %168)
%170 = tail call double @llvm.fmuladd.f64(double %164, double %44, double %169)
%171 = fmul double %42, %159
%172 = tail call double @llvm.fmuladd.f64(double %167, double %44, double %171)
%173 = tail call double @llvm.fmuladd.f64(double %160, double %49, double %172)
%174 = fmul double %44, %157
%175 = tail call double @llvm.fmuladd.f64(double %167, double %49, double %174)
%176 = tail call double @llvm.fmuladd.f64(double %161, double %42, double %175)
%177 = fneg double %165
%178 = fmul double %158, %103
%179 = tail call double @llvm.fmuladd.f64(double %177, double %65, double %178)
%180 = tail call double @llvm.fmuladd.f64(double %167, double %94, double %179)
%181 = tail call double @llvm.fmuladd.f64(double %82, double %173, double %180)
%182 = tail call double @llvm.fmuladd.f64(double %176, double %60, double %181)
%183 = tail call double @llvm.fmuladd.f64(double %109, double %157, double %182)
%184 = tail call double @llvm.fmuladd.f64(double %170, double %69, double %183)
%185 = tail call double @llvm.fmuladd.f64(double %85, double %159, double %184)
%186 = fmul double %159, %103
%187 = tail call double @llvm.fmuladd.f64(double %177, double %69, double %186)
%188 = tail call double @llvm.fmuladd.f64(double %167, double %101, double %187)
%189 = tail call double @llvm.fmuladd.f64(double %82, double %176, double %188)
%190 = fneg double %170
%191 = tail call double @llvm.fmuladd.f64(double %190, double %65, double %189)
%192 = tail call double @llvm.fmuladd.f64(double %119, double %158, double %191)
%193 = fneg double %173
%194 = tail call double @llvm.fmuladd.f64(double %193, double %60, double %192)
%195 = tail call double @llvm.fmuladd.f64(double %94, double %157, double %194)
%196 = tail call double @llvm.fmuladd.f64(double %28, double %59, double %166)
%197 = tail call double @llvm.fmuladd.f64(double %34, double %59, double %26)
%198 = tail call double @llvm.fmuladd.f64(double %39, double %59, double %30)
%199 = fneg double %196
%200 = fneg double %197
%201 = fmul double %44, %200
%202 = tail call double @llvm.fmuladd.f64(double %199, double %42, double %201)
%203 = fneg double %198
%204 = tail call double @llvm.fmuladd.f64(double %203, double %49, double %202)
%205 = tail call double @llvm.fmuladd.f64(double %75, double %59, double %37)
%206 = fmul double %49, %197
%207 = tail call double @llvm.fmuladd.f64(double %205, double %42, double %206)
%208 = tail call double @llvm.fmuladd.f64(double %203, double %44, double %207)
%209 = fmul double %42, %198
%210 = tail call double @llvm.fmuladd.f64(double %205, double %44, double %209)
%211 = tail call double @llvm.fmuladd.f64(double %199, double %49, double %210)
%212 = fmul double %44, %196
%213 = tail call double @llvm.fmuladd.f64(double %205, double %49, double %212)
%214 = tail call double @llvm.fmuladd.f64(double %200, double %42, double %213)
%215 = fneg double %204
%216 = fmul double %197, %103
%217 = tail call double @llvm.fmuladd.f64(double %215, double %65, double %216)
%218 = tail call double @llvm.fmuladd.f64(double %205, double %94, double %217)
%219 = tail call double @llvm.fmuladd.f64(double %82, double %211, double %218)
%220 = tail call double @llvm.fmuladd.f64(double %214, double %60, double %219)
%221 = tail call double @llvm.fmuladd.f64(double %109, double %196, double %220)
%222 = tail call double @llvm.fmuladd.f64(double %208, double %69, double %221)
%223 = tail call double @llvm.fmuladd.f64(double %85, double %198, double %222)
%224 = fmul double %198, %103
%225 = tail call double @llvm.fmuladd.f64(double %215, double %69, double %224)
%226 = tail call double @llvm.fmuladd.f64(double %205, double %101, double %225)
%227 = tail call double @llvm.fmuladd.f64(double %82, double %214, double %226)
%228 = fneg double %208
%229 = tail call double @llvm.fmuladd.f64(double %228, double %65, double %227)
%230 = tail call double @llvm.fmuladd.f64(double %119, double %197, double %229)
%231 = fneg double %211
%232 = tail call double @llvm.fmuladd.f64(double %231, double %60, double %230)
%233 = tail call double @llvm.fmuladd.f64(double %94, double %196, double %232)
%234 = getelementptr inbounds double, double* %9, i64 3
%235 = load double, double* %234
%236 = getelementptr inbounds double, double* %9, i64 4
%237 = load double, double* %236
%238 = fmul double %237, %131
%239 = tail call double @llvm.fmuladd.f64(double %235, double %139, double %238)
%240 = fmul double %31, %103
%241 = tail call double @llvm.fmuladd.f64(double %51, double %60, double %240)
%242 = tail call double @llvm.fmuladd.f64(double %77, double %85, double %241)
%243 = tail call double @llvm.fmuladd.f64(double %82, double %88, double %242)
%244 = tail call double @llvm.fmuladd.f64(double %121, double %69, double %243)
%245 = tail call double @llvm.fmuladd.f64(double %127, double %40, double %244)
%246 = tail call double @llvm.fmuladd.f64(double %97, double %65, double %245)
%247 = tail call double @llvm.fmuladd.f64(double %101, double %38, double %246)
%248 = fmul double %151, %112
%249 = tail call double @llvm.fmuladd.f64(double %142, double %247, double %248)
%250 = tail call double @llvm.fmuladd.f64(double %155, double %123, double %249)
%251 = fneg double %156
%252 = fmul double %141, %251
%253 = fmul double %123, %252
%254 = tail call double @llvm.fmuladd.f64(double %250, double %132, double %253)
store double %254, double* %4
%255 = load double, double* %9
%256 = fmul double %157, %103
%257 = tail call double @llvm.fmuladd.f64(double %165, double %60, double %256)
%258 = tail call double @llvm.fmuladd.f64(double %167, double %85, double %257)
%259 = tail call double @llvm.fmuladd.f64(double %82, double %170, double %258)
%260 = tail call double @llvm.fmuladd.f64(double %193, double %69, double %259)
%261 = tail call double @llvm.fmuladd.f64(double %127, double %159, double %260)
%262 = tail call double @llvm.fmuladd.f64(double %176, double %65, double %261)
%263 = tail call double @llvm.fmuladd.f64(double %101, double %158, double %262)
%264 = load double, double* %150
%265 = fmul double %264, %185
%266 = tail call double @llvm.fmuladd.f64(double %255, double %263, double %265)
%267 = load double, double* %154
%268 = tail call double @llvm.fmuladd.f64(double %267, double %195, double %266)
%269 = fmul double %195, %252
%270 = tail call double @llvm.fmuladd.f64(double %268, double %132, double %269)
%271 = getelementptr inbounds double, double* %4, i64 1
store double %270, double* %271
%272 = load double, double* %9
%273 = fmul double %196, %103
%274 = tail call double @llvm.fmuladd.f64(double %204, double %60, double %273)
%275 = tail call double @llvm.fmuladd.f64(double %205, double %85, double %274)
%276 = tail call double @llvm.fmuladd.f64(double %82, double %208, double %275)
%277 = tail call double @llvm.fmuladd.f64(double %231, double %69, double %276)
%278 = tail call double @llvm.fmuladd.f64(double %127, double %198, double %277)
%279 = tail call double @llvm.fmuladd.f64(double %214, double %65, double %278)
%280 = tail call double @llvm.fmuladd.f64(double %101, double %197, double %279)
%281 = load double, double* %150
%282 = fmul double %223, %281
%283 = tail call double @llvm.fmuladd.f64(double %272, double %280, double %282)
%284 = load double, double* %154
%285 = tail call double @llvm.fmuladd.f64(double %284, double %233, double %283)
%286 = fmul double %233, %252
%287 = tail call double @llvm.fmuladd.f64(double %285, double %132, double %286)
%288 = getelementptr inbounds double, double* %4, i64 2
store double %287, double* %288
%289 = load double, double* %9
%290 = fmul double %132, %289
%291 = getelementptr inbounds double, double* %4, i64 3
store double %290, double* %291
%292 = load double, double* %150
%293 = fmul double %132, %292
%294 = getelementptr inbounds double, double* %4, i64 4
store double %293, double* %294
%295 = load double, double* %154
%296 = tail call double @llvm.fmuladd.f64(double %295, double %132, double %252)
%297 = getelementptr inbounds double, double* %4, i64 5
store double %296, double* %297
%298 = load double, double* %234
%299 = load double, double* %236
%300 = fmul double %123, %299
%301 = tail call double @llvm.fmuladd.f64(double %298, double %112, double %300)
%302 = fneg double %239
%303 = fmul double %141, %302
%304 = fmul double %123, %303
%305 = tail call double @llvm.fmuladd.f64(double %301, double %132, double %304)
%306 = getelementptr inbounds double, double* %4, i64 6
store double %305, double* %306
%307 = load double, double* %234
%308 = load double, double* %236
%309 = fmul double %195, %308
%310 = tail call double @llvm.fmuladd.f64(double %307, double %185, double %309)
%311 = fmul double %195, %303
%312 = tail call double @llvm.fmuladd.f64(double %310, double %132, double %311)
%313 = getelementptr inbounds double, double* %4, i64 7
store double %312, double* %313
%314 = load double, double* %234
%315 = load double, double* %236
%316 = fmul double %233, %315
%317 = tail call double @llvm.fmuladd.f64(double %314, double %223, double %316)
%318 = fmul double %233, %303
%319 = tail call double @llvm.fmuladd.f64(double %317, double %132, double %318)
%320 = getelementptr inbounds double, double* %4, i64 8
store double %319, double* %320
%321 = getelementptr inbounds double, double* %4, i64 9
store double 0.000000e+00, double* %321
%322 = load double, double* %234
%323 = fmul double %132, %322
%324 = getelementptr inbounds double, double* %4, i64 10
store double %323, double* %324
%325 = load double, double* %236
%326 = tail call double @llvm.fmuladd.f64(double %325, double %132, double %303)
%327 = getelementptr inbounds double, double* %4, i64 11
store double %326, double* %327
ret void
}