void coeffs004(double xi, long int i, int r, double *x, double *c) {
  double sum_l, sum_m, prod_n, prod_m;
  sum_l = 0.0;
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 3];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 1] - x[i - r + 0];
  prod_m *= x[i - r + 1] - x[i - r + 2];
  prod_m *= x[i - r + 1] - x[i - r + 3];
  prod_m *= x[i - r + 1] - x[i - r + 4];
  sum_l += sum_m / prod_m * (x[i - r + 0 + 1] - x[i - r + 0]);
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 3];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 2] - x[i - r + 0];
  prod_m *= x[i - r + 2] - x[i - r + 1];
  prod_m *= x[i - r + 2] - x[i - r + 3];
  prod_m *= x[i - r + 2] - x[i - r + 4];
  sum_l += sum_m / prod_m * (x[i - r + 0 + 1] - x[i - r + 0]);
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 3] - x[i - r + 0];
  prod_m *= x[i - r + 3] - x[i - r + 1];
  prod_m *= x[i - r + 3] - x[i - r + 2];
  prod_m *= x[i - r + 3] - x[i - r + 4];
  sum_l += sum_m / prod_m * (x[i - r + 0 + 1] - x[i - r + 0]);
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 4] - x[i - r + 0];
  prod_m *= x[i - r + 4] - x[i - r + 1];
  prod_m *= x[i - r + 4] - x[i - r + 2];
  prod_m *= x[i - r + 4] - x[i - r + 3];
  sum_l += sum_m / prod_m * (x[i - r + 0 + 1] - x[i - r + 0]);
  c[0] = sum_l;
  sum_l = 0.0;
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 3];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 2] - x[i - r + 0];
  prod_m *= x[i - r + 2] - x[i - r + 1];
  prod_m *= x[i - r + 2] - x[i - r + 3];
  prod_m *= x[i - r + 2] - x[i - r + 4];
  sum_l += sum_m / prod_m * (x[i - r + 1 + 1] - x[i - r + 1]);
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 3] - x[i - r + 0];
  prod_m *= x[i - r + 3] - x[i - r + 1];
  prod_m *= x[i - r + 3] - x[i - r + 2];
  prod_m *= x[i - r + 3] - x[i - r + 4];
  sum_l += sum_m / prod_m * (x[i - r + 1 + 1] - x[i - r + 1]);
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 4] - x[i - r + 0];
  prod_m *= x[i - r + 4] - x[i - r + 1];
  prod_m *= x[i - r + 4] - x[i - r + 2];
  prod_m *= x[i - r + 4] - x[i - r + 3];
  sum_l += sum_m / prod_m * (x[i - r + 1 + 1] - x[i - r + 1]);
  c[1] = sum_l;
  sum_l = 0.0;
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 4];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 3] - x[i - r + 0];
  prod_m *= x[i - r + 3] - x[i - r + 1];
  prod_m *= x[i - r + 3] - x[i - r + 2];
  prod_m *= x[i - r + 3] - x[i - r + 4];
  sum_l += sum_m / prod_m * (x[i - r + 2 + 1] - x[i - r + 2]);
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 4] - x[i - r + 0];
  prod_m *= x[i - r + 4] - x[i - r + 1];
  prod_m *= x[i - r + 4] - x[i - r + 2];
  prod_m *= x[i - r + 4] - x[i - r + 3];
  sum_l += sum_m / prod_m * (x[i - r + 2 + 1] - x[i - r + 2]);
  c[2] = sum_l;
  sum_l = 0.0;
  sum_m = 0.0;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 2];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 3];
  sum_m += prod_n;
  prod_n = 1.0;
  prod_n *= xi - x[i - r + 0];
  prod_n *= xi - x[i - r + 1];
  prod_n *= xi - x[i - r + 2];
  sum_m += prod_n;
  prod_m = 1.0;
  prod_m *= x[i - r + 4] - x[i - r + 0];
  prod_m *= x[i - r + 4] - x[i - r + 1];
  prod_m *= x[i - r + 4] - x[i - r + 2];
  prod_m *= x[i - r + 4] - x[i - r + 3];
  sum_l += sum_m / prod_m * (x[i - r + 3 + 1] - x[i - r + 3]);
  c[3] = sum_l;
}


x86 assembly (clang, -O0):
push   %rbp
mov    %rsp,%rbp
movsd  %xmm0,-0x8(%rbp)
mov    %rdi,-0x10(%rbp)
mov    %esi,-0x14(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2ed0(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2e48(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2dc1(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2d3a(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2cb3(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2b8a(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2b02(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2a7b(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x29f4(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x296d(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2844(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x27bc(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2735(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x26ae(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2627(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x24fe(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2476(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x23ef(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2368(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x22e1(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x8(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x21a3(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x211b(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x2094(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x200d(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1f86(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1e5c(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1dd4(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1d4d(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1cc6(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1c3f(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1b15(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1a8d(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1a06(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x197f(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x18f8(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x10(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x8(%rax)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x17b8(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1730(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x16a9(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1622(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x159b(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x20(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1471(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x13e9(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1362(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x12db(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1254(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x18(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1114(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x108c(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1005(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0xf7e(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0xef7(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  (%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x8(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x10(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
movsd  0x20(%rax,%rcx,8),%xmm2
mov    -0x20(%rbp),%rax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
sub    %rdx,%rcx
subsd  0x18(%rax,%rcx,8),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
movslq %esi,%rax
sub    %rax,%rdi
movsd  0x10(%rdx,%rdi,8),%xmm1
movapd %xmm0,%xmm2
subsd  %xmm1,%xmm2
movapd %xmm1,%xmm7
movsd  0x18(%rdx,%rdi,8),%xmm1
movapd %xmm0,%xmm8
subsd  %xmm1,%xmm8
movapd %xmm1,%xmm11
movsd  0x20(%rdx,%rdi,8),%xmm4
movapd %xmm0,%xmm9
subsd  %xmm4,%xmm9
movsd  (%rdx,%rdi,8),%xmm5
movsd  0x8(%rdx,%rdi,8),%xmm1
movapd %xmm1,%xmm13
movapd %xmm1,%xmm14
movapd %xmm0,%xmm6
movapd %xmm0,%xmm3
movsd  %xmm0,-0x40(%rsp)
subsd  %xmm1,%xmm6
movapd %xmm7,%xmm0
movsd  %xmm7,-0x30(%rsp)
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rsp)
movsd  %xmm11,-0x28(%rsp)
movapd %xmm11,%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rsp)
movapd %xmm4,%xmm0
movsd  %xmm4,-0x18(%rsp)
subsd  %xmm1,%xmm4
movsd  %xmm4,-0x10(%rsp)
movapd %xmm1,%xmm4
subsd  %xmm5,%xmm4
subsd  %xmm7,%xmm13
mulsd  %xmm4,%xmm13
subsd  %xmm11,%xmm14
mulsd  %xmm13,%xmm14
movapd %xmm3,%xmm13
subsd  %xmm5,%xmm13
movapd %xmm5,%xmm7
movsd  %xmm5,-0x38(%rsp)
movapd %xmm1,%xmm5
subsd  %xmm0,%xmm5
mulsd  %xmm14,%xmm5
movapd %xmm8,%xmm1
movsd  %xmm8,-0x20(%rsp)
mulsd  %xmm13,%xmm8
movapd %xmm2,%xmm0
movapd %xmm2,%xmm14
mulsd  %xmm13,%xmm14
movapd %xmm1,%xmm11
mulsd  %xmm6,%xmm11
mulsd  %xmm6,%xmm13
movapd %xmm9,%xmm10
mulsd  %xmm13,%xmm10
movapd %xmm1,%xmm12
mulsd  %xmm13,%xmm12
mulsd  %xmm0,%xmm6
mulsd  %xmm0,%xmm13
mulsd  %xmm1,%xmm0
mulsd  %xmm9,%xmm0
xorpd  %xmm15,%xmm15
addsd  %xmm15,%xmm0
mulsd  %xmm9,%xmm8
addsd  %xmm8,%xmm0
movapd %xmm9,%xmm3
mulsd  %xmm14,%xmm3
addsd  %xmm3,%xmm0
mulsd  %xmm1,%xmm14
addsd  %xmm14,%xmm0
divsd  %xmm5,%xmm0
mulsd  %xmm9,%xmm11
addsd  %xmm15,%xmm11
addsd  %xmm8,%xmm11
movsd  -0x30(%rsp),%xmm1
movapd %xmm1,%xmm5
subsd  %xmm7,%xmm5
movsd  -0x48(%rsp),%xmm7
mulsd  %xmm5,%xmm7
movapd %xmm1,%xmm5
movsd  -0x28(%rsp),%xmm15
subsd  %xmm15,%xmm5
mulsd  %xmm7,%xmm5
movapd %xmm15,%xmm8
movapd %xmm15,%xmm7
subsd  %xmm1,%xmm8
movsd  -0x18(%rsp),%xmm15
movapd %xmm15,%xmm2
subsd  %xmm1,%xmm2
subsd  %xmm15,%xmm1
mulsd  %xmm5,%xmm1
addsd  %xmm10,%xmm11
addsd  %xmm12,%xmm11
divsd  %xmm1,%xmm11
mulsd  %xmm4,%xmm0
xorpd  %xmm1,%xmm1
addsd  %xmm1,%xmm0
mulsd  %xmm4,%xmm11
addsd  %xmm0,%xmm11
mulsd  %xmm6,%xmm9
addsd  %xmm1,%xmm9
addsd  %xmm3,%xmm9
addsd  %xmm10,%xmm9
movapd %xmm7,%xmm0
subsd  %xmm15,%xmm0
movapd %xmm15,%xmm1
subsd  %xmm7,%xmm15
movapd %xmm7,%xmm3
movsd  -0x38(%rsp),%xmm10
subsd  %xmm10,%xmm3
movsd  -0x8(%rsp),%xmm7
mulsd  %xmm3,%xmm7
mulsd  %xmm7,%xmm8
mulsd  %xmm8,%xmm0
addsd  %xmm13,%xmm9
divsd  %xmm0,%xmm9
mulsd  %xmm4,%xmm9
addsd  %xmm11,%xmm9
mulsd  -0x20(%rsp),%xmm6
xorpd  %xmm3,%xmm3
addsd  %xmm3,%xmm6
addsd  %xmm14,%xmm6
addsd  %xmm12,%xmm6
addsd  %xmm13,%xmm6
subsd  %xmm10,%xmm1
movsd  -0x10(%rsp),%xmm0
mulsd  %xmm1,%xmm0
mulsd  %xmm0,%xmm2
mulsd  %xmm2,%xmm15
divsd  %xmm15,%xmm6
mulsd  %xmm4,%xmm6
addsd  %xmm9,%xmm6
movsd  %xmm6,(%rcx)
movsd  (%rdx,%rdi,8),%xmm4
movsd  0x8(%rdx,%rdi,8),%xmm10
movsd  -0x40(%rsp),%xmm11
movapd %xmm11,%xmm1
subsd  %xmm10,%xmm1
movsd  0x18(%rdx,%rdi,8),%xmm12
movapd %xmm11,%xmm13
subsd  %xmm12,%xmm13
movapd %xmm1,%xmm0
mulsd  %xmm13,%xmm0
movsd  0x20(%rdx,%rdi,8),%xmm8
movapd %xmm11,%xmm14
subsd  %xmm8,%xmm14
mulsd  %xmm14,%xmm0
addsd  %xmm3,%xmm0
movapd %xmm11,%xmm6
subsd  %xmm4,%xmm6
movapd %xmm4,%xmm5
movapd %xmm13,%xmm3
mulsd  %xmm6,%xmm3
mulsd  %xmm14,%xmm3
addsd  %xmm0,%xmm3
movsd  0x10(%rdx,%rdi,8),%xmm2
movapd %xmm2,%xmm4
movapd %xmm2,%xmm7
subsd  %xmm2,%xmm11
movapd %xmm2,%xmm0
subsd  %xmm5,%xmm0
movapd %xmm5,%xmm9
subsd  %xmm10,%xmm4
movsd  %xmm4,-0x48(%rsp)
mulsd  %xmm4,%xmm0
subsd  %xmm12,%xmm7
mulsd  %xmm0,%xmm7
movapd %xmm12,%xmm15
subsd  %xmm2,%xmm15
movapd %xmm8,%xmm5
subsd  %xmm2,%xmm5
movapd %xmm2,%xmm4
subsd  %xmm8,%xmm4
mulsd  %xmm7,%xmm4
movapd %xmm1,%xmm7
mulsd  %xmm6,%xmm7
movapd %xmm14,%xmm0
mulsd  %xmm7,%xmm0
addsd  %xmm0,%xmm3
mulsd  %xmm11,%xmm1
movapd %xmm14,%xmm2
mulsd  %xmm1,%xmm2
mulsd  %xmm11,%xmm6
mulsd  %xmm6,%xmm14
mulsd  %xmm13,%xmm1
mulsd  %xmm13,%xmm6
mulsd  %xmm7,%xmm13
addsd  %xmm13,%xmm3
divsd  %xmm4,%xmm3
addsd  0xb5a(%rip),%xmm2
addsd  %xmm2,%xmm14
addsd  %xmm0,%xmm14
mulsd  %xmm7,%xmm11
movapd %xmm12,%xmm0
subsd  %xmm8,%xmm0
movapd %xmm8,%xmm2
movapd %xmm8,%xmm4
subsd  %xmm12,%xmm8
movapd %xmm12,%xmm7
subsd  %xmm9,%xmm12
subsd  %xmm10,%xmm7
mulsd  %xmm12,%xmm7
mulsd  %xmm7,%xmm15
mulsd  %xmm15,%xmm0
movsd  -0x48(%rsp),%xmm7
mulsd  %xmm7,%xmm3
xorpd  %xmm12,%xmm12
addsd  %xmm12,%xmm3
addsd  %xmm11,%xmm14
divsd  %xmm0,%xmm14
mulsd  %xmm7,%xmm14
movapd %xmm7,%xmm0
addsd  %xmm3,%xmm14
addsd  %xmm12,%xmm1
xorpd  %xmm7,%xmm7
addsd  %xmm1,%xmm6
addsd  %xmm13,%xmm6
addsd  %xmm11,%xmm6
subsd  %xmm9,%xmm2
subsd  %xmm10,%xmm4
mulsd  %xmm2,%xmm4
mulsd  %xmm4,%xmm5
mulsd  %xmm5,%xmm8
divsd  %xmm8,%xmm6
mulsd  %xmm0,%xmm6
addsd  %xmm14,%xmm6
movsd  %xmm6,0x8(%rcx)
movsd  (%rdx,%rdi,8),%xmm10
movsd  0x8(%rdx,%rdi,8),%xmm11
movsd  -0x40(%rsp),%xmm0
movapd %xmm0,%xmm2
subsd  %xmm11,%xmm2
movsd  0x10(%rdx,%rdi,8),%xmm8
movapd %xmm0,%xmm12
subsd  %xmm8,%xmm12
movapd %xmm0,%xmm13
subsd  %xmm10,%xmm13
movapd %xmm12,%xmm9
mulsd  %xmm13,%xmm9
mulsd  %xmm2,%xmm13
mulsd  %xmm12,%xmm2
movsd  0x20(%rdx,%rdi,8),%xmm3
movapd %xmm0,%xmm5
movapd %xmm0,%xmm4
subsd  %xmm3,%xmm5
movapd %xmm2,%xmm0
mulsd  %xmm5,%xmm0
addsd  %xmm7,%xmm0
movapd %xmm5,%xmm1
mulsd  %xmm9,%xmm1
addsd  %xmm0,%xmm1
mulsd  %xmm13,%xmm5
addsd  %xmm1,%xmm5
movsd  0x18(%rdx,%rdi,8),%xmm15
movapd %xmm15,%xmm1
movapd %xmm15,%xmm14
movapd %xmm4,%xmm7
subsd  %xmm15,%xmm7
movapd %xmm15,%xmm0
subsd  %xmm10,%xmm0
subsd  %xmm11,%xmm1
mulsd  %xmm0,%xmm1
subsd  %xmm3,%xmm14
movapd %xmm3,%xmm0
movapd %xmm3,%xmm6
movapd %xmm3,%xmm4
subsd  %xmm15,%xmm3
subsd  %xmm8,%xmm15
mulsd  %xmm15,%xmm1
mulsd  %xmm1,%xmm14
mulsd  %xmm13,%xmm12
addsd  %xmm12,%xmm5
divsd  %xmm14,%xmm5
mulsd  %xmm7,%xmm2
xorpd  %xmm1,%xmm1
addsd  %xmm1,%xmm2
mulsd  %xmm7,%xmm9
addsd  %xmm2,%xmm9
mulsd  %xmm13,%xmm7
addsd  %xmm9,%xmm7
addsd  %xmm12,%xmm7
subsd  %xmm10,%xmm0
subsd  %xmm11,%xmm6
mulsd  %xmm15,%xmm5
addsd  %xmm1,%xmm5
xorpd  %xmm9,%xmm9
mulsd  %xmm0,%xmm6
subsd  %xmm8,%xmm4
mulsd  %xmm6,%xmm4
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm7
mulsd  %xmm15,%xmm7
addsd  %xmm5,%xmm7
movsd  %xmm7,0x10(%rcx)
movsd  (%rdx,%rdi,8),%xmm0
movsd  0x8(%rdx,%rdi,8),%xmm2
movsd  -0x40(%rsp),%xmm4
movapd %xmm4,%xmm3
subsd  %xmm2,%xmm3
movsd  0x10(%rdx,%rdi,8),%xmm8
movapd %xmm4,%xmm1
subsd  %xmm8,%xmm1
movapd %xmm4,%xmm5
subsd  %xmm0,%xmm4
movapd %xmm1,%xmm6
mulsd  %xmm4,%xmm6
mulsd  %xmm3,%xmm4
mulsd  %xmm1,%xmm3
movsd  0x18(%rdx,%rdi,8),%xmm7
subsd  %xmm7,%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm9,%xmm3
mulsd  %xmm5,%xmm6
addsd  %xmm3,%xmm6
mulsd  %xmm4,%xmm5
addsd  %xmm6,%xmm5
mulsd  %xmm1,%xmm4
addsd  %xmm5,%xmm4
movapd %xmm4,%xmm1
movsd  0x20(%rdx,%rdi,8),%xmm3
movapd %xmm3,%xmm4
subsd  %xmm0,%xmm4
movapd %xmm3,%xmm0
subsd  %xmm2,%xmm0
mulsd  %xmm4,%xmm0
movapd %xmm3,%xmm2
subsd  %xmm8,%xmm2
mulsd  %xmm0,%xmm2
subsd  %xmm7,%xmm3
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm9,%xmm1
movsd  %xmm1,0x18(%rcx)
ret

LLVM IR (-O0):
define void @coeffs004(double %0, i64 %1, i32 %2, double* %3, double* %4) {
%6 = alloca double
%7 = alloca i64
%8 = alloca i32
%9 = alloca double*
%10 = alloca double*
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
store double %0, double* %6
store i64 %1, i64* %7
store i32 %2, i32* %8
store double* %3, double** %9
store double* %4, double** %10
store double 0.000000e+00, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%15 = load double, double* %6
%16 = load double*, double** %9
%17 = load i64, i64* %7
%18 = load i32, i32* %8
%19 = sext i32 %18 to i64
%20 = sub nsw i64 %17, %19
%21 = add nsw i64 %20, 2
%22 = getelementptr inbounds double, double* %16, i64 %21
%23 = load double, double* %22
%24 = fsub double %15, %23
%25 = load double, double* %13
%26 = fmul double %25, %24
store double %26, double* %13
%27 = load double, double* %6
%28 = load double*, double** %9
%29 = load i64, i64* %7
%30 = load i32, i32* %8
%31 = sext i32 %30 to i64
%32 = sub nsw i64 %29, %31
%33 = add nsw i64 %32, 3
%34 = getelementptr inbounds double, double* %28, i64 %33
%35 = load double, double* %34
%36 = fsub double %27, %35
%37 = load double, double* %13
%38 = fmul double %37, %36
store double %38, double* %13
%39 = load double, double* %6
%40 = load double*, double** %9
%41 = load i64, i64* %7
%42 = load i32, i32* %8
%43 = sext i32 %42 to i64
%44 = sub nsw i64 %41, %43
%45 = add nsw i64 %44, 4
%46 = getelementptr inbounds double, double* %40, i64 %45
%47 = load double, double* %46
%48 = fsub double %39, %47
%49 = load double, double* %13
%50 = fmul double %49, %48
store double %50, double* %13
%51 = load double, double* %13
%52 = load double, double* %12
%53 = fadd double %52, %51
store double %53, double* %12
store double 1.000000e+00, double* %13
%54 = load double, double* %6
%55 = load double*, double** %9
%56 = load i64, i64* %7
%57 = load i32, i32* %8
%58 = sext i32 %57 to i64
%59 = sub nsw i64 %56, %58
%60 = add nsw i64 %59, 0
%61 = getelementptr inbounds double, double* %55, i64 %60
%62 = load double, double* %61
%63 = fsub double %54, %62
%64 = load double, double* %13
%65 = fmul double %64, %63
store double %65, double* %13
%66 = load double, double* %6
%67 = load double*, double** %9
%68 = load i64, i64* %7
%69 = load i32, i32* %8
%70 = sext i32 %69 to i64
%71 = sub nsw i64 %68, %70
%72 = add nsw i64 %71, 3
%73 = getelementptr inbounds double, double* %67, i64 %72
%74 = load double, double* %73
%75 = fsub double %66, %74
%76 = load double, double* %13
%77 = fmul double %76, %75
store double %77, double* %13
%78 = load double, double* %6
%79 = load double*, double** %9
%80 = load i64, i64* %7
%81 = load i32, i32* %8
%82 = sext i32 %81 to i64
%83 = sub nsw i64 %80, %82
%84 = add nsw i64 %83, 4
%85 = getelementptr inbounds double, double* %79, i64 %84
%86 = load double, double* %85
%87 = fsub double %78, %86
%88 = load double, double* %13
%89 = fmul double %88, %87
store double %89, double* %13
%90 = load double, double* %13
%91 = load double, double* %12
%92 = fadd double %91, %90
store double %92, double* %12
store double 1.000000e+00, double* %13
%93 = load double, double* %6
%94 = load double*, double** %9
%95 = load i64, i64* %7
%96 = load i32, i32* %8
%97 = sext i32 %96 to i64
%98 = sub nsw i64 %95, %97
%99 = add nsw i64 %98, 0
%100 = getelementptr inbounds double, double* %94, i64 %99
%101 = load double, double* %100
%102 = fsub double %93, %101
%103 = load double, double* %13
%104 = fmul double %103, %102
store double %104, double* %13
%105 = load double, double* %6
%106 = load double*, double** %9
%107 = load i64, i64* %7
%108 = load i32, i32* %8
%109 = sext i32 %108 to i64
%110 = sub nsw i64 %107, %109
%111 = add nsw i64 %110, 2
%112 = getelementptr inbounds double, double* %106, i64 %111
%113 = load double, double* %112
%114 = fsub double %105, %113
%115 = load double, double* %13
%116 = fmul double %115, %114
store double %116, double* %13
%117 = load double, double* %6
%118 = load double*, double** %9
%119 = load i64, i64* %7
%120 = load i32, i32* %8
%121 = sext i32 %120 to i64
%122 = sub nsw i64 %119, %121
%123 = add nsw i64 %122, 4
%124 = getelementptr inbounds double, double* %118, i64 %123
%125 = load double, double* %124
%126 = fsub double %117, %125
%127 = load double, double* %13
%128 = fmul double %127, %126
store double %128, double* %13
%129 = load double, double* %13
%130 = load double, double* %12
%131 = fadd double %130, %129
store double %131, double* %12
store double 1.000000e+00, double* %13
%132 = load double, double* %6
%133 = load double*, double** %9
%134 = load i64, i64* %7
%135 = load i32, i32* %8
%136 = sext i32 %135 to i64
%137 = sub nsw i64 %134, %136
%138 = add nsw i64 %137, 0
%139 = getelementptr inbounds double, double* %133, i64 %138
%140 = load double, double* %139
%141 = fsub double %132, %140
%142 = load double, double* %13
%143 = fmul double %142, %141
store double %143, double* %13
%144 = load double, double* %6
%145 = load double*, double** %9
%146 = load i64, i64* %7
%147 = load i32, i32* %8
%148 = sext i32 %147 to i64
%149 = sub nsw i64 %146, %148
%150 = add nsw i64 %149, 2
%151 = getelementptr inbounds double, double* %145, i64 %150
%152 = load double, double* %151
%153 = fsub double %144, %152
%154 = load double, double* %13
%155 = fmul double %154, %153
store double %155, double* %13
%156 = load double, double* %6
%157 = load double*, double** %9
%158 = load i64, i64* %7
%159 = load i32, i32* %8
%160 = sext i32 %159 to i64
%161 = sub nsw i64 %158, %160
%162 = add nsw i64 %161, 3
%163 = getelementptr inbounds double, double* %157, i64 %162
%164 = load double, double* %163
%165 = fsub double %156, %164
%166 = load double, double* %13
%167 = fmul double %166, %165
store double %167, double* %13
%168 = load double, double* %13
%169 = load double, double* %12
%170 = fadd double %169, %168
store double %170, double* %12
store double 1.000000e+00, double* %14
%171 = load double*, double** %9
%172 = load i64, i64* %7
%173 = load i32, i32* %8
%174 = sext i32 %173 to i64
%175 = sub nsw i64 %172, %174
%176 = add nsw i64 %175, 1
%177 = getelementptr inbounds double, double* %171, i64 %176
%178 = load double, double* %177
%179 = load double*, double** %9
%180 = load i64, i64* %7
%181 = load i32, i32* %8
%182 = sext i32 %181 to i64
%183 = sub nsw i64 %180, %182
%184 = add nsw i64 %183, 0
%185 = getelementptr inbounds double, double* %179, i64 %184
%186 = load double, double* %185
%187 = fsub double %178, %186
%188 = load double, double* %14
%189 = fmul double %188, %187
store double %189, double* %14
%190 = load double*, double** %9
%191 = load i64, i64* %7
%192 = load i32, i32* %8
%193 = sext i32 %192 to i64
%194 = sub nsw i64 %191, %193
%195 = add nsw i64 %194, 1
%196 = getelementptr inbounds double, double* %190, i64 %195
%197 = load double, double* %196
%198 = load double*, double** %9
%199 = load i64, i64* %7
%200 = load i32, i32* %8
%201 = sext i32 %200 to i64
%202 = sub nsw i64 %199, %201
%203 = add nsw i64 %202, 2
%204 = getelementptr inbounds double, double* %198, i64 %203
%205 = load double, double* %204
%206 = fsub double %197, %205
%207 = load double, double* %14
%208 = fmul double %207, %206
store double %208, double* %14
%209 = load double*, double** %9
%210 = load i64, i64* %7
%211 = load i32, i32* %8
%212 = sext i32 %211 to i64
%213 = sub nsw i64 %210, %212
%214 = add nsw i64 %213, 1
%215 = getelementptr inbounds double, double* %209, i64 %214
%216 = load double, double* %215
%217 = load double*, double** %9
%218 = load i64, i64* %7
%219 = load i32, i32* %8
%220 = sext i32 %219 to i64
%221 = sub nsw i64 %218, %220
%222 = add nsw i64 %221, 3
%223 = getelementptr inbounds double, double* %217, i64 %222
%224 = load double, double* %223
%225 = fsub double %216, %224
%226 = load double, double* %14
%227 = fmul double %226, %225
store double %227, double* %14
%228 = load double*, double** %9
%229 = load i64, i64* %7
%230 = load i32, i32* %8
%231 = sext i32 %230 to i64
%232 = sub nsw i64 %229, %231
%233 = add nsw i64 %232, 1
%234 = getelementptr inbounds double, double* %228, i64 %233
%235 = load double, double* %234
%236 = load double*, double** %9
%237 = load i64, i64* %7
%238 = load i32, i32* %8
%239 = sext i32 %238 to i64
%240 = sub nsw i64 %237, %239
%241 = add nsw i64 %240, 4
%242 = getelementptr inbounds double, double* %236, i64 %241
%243 = load double, double* %242
%244 = fsub double %235, %243
%245 = load double, double* %14
%246 = fmul double %245, %244
store double %246, double* %14
%247 = load double, double* %12
%248 = load double, double* %14
%249 = fdiv double %247, %248
%250 = load double*, double** %9
%251 = load i64, i64* %7
%252 = load i32, i32* %8
%253 = sext i32 %252 to i64
%254 = sub nsw i64 %251, %253
%255 = add nsw i64 %254, 0
%256 = add nsw i64 %255, 1
%257 = getelementptr inbounds double, double* %250, i64 %256
%258 = load double, double* %257
%259 = load double*, double** %9
%260 = load i64, i64* %7
%261 = load i32, i32* %8
%262 = sext i32 %261 to i64
%263 = sub nsw i64 %260, %262
%264 = add nsw i64 %263, 0
%265 = getelementptr inbounds double, double* %259, i64 %264
%266 = load double, double* %265
%267 = fsub double %258, %266
%268 = load double, double* %11
%269 = call double @llvm.fmuladd.f64(double %249, double %267, double %268)
store double %269, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%270 = load double, double* %6
%271 = load double*, double** %9
%272 = load i64, i64* %7
%273 = load i32, i32* %8
%274 = sext i32 %273 to i64
%275 = sub nsw i64 %272, %274
%276 = add nsw i64 %275, 1
%277 = getelementptr inbounds double, double* %271, i64 %276
%278 = load double, double* %277
%279 = fsub double %270, %278
%280 = load double, double* %13
%281 = fmul double %280, %279
store double %281, double* %13
%282 = load double, double* %6
%283 = load double*, double** %9
%284 = load i64, i64* %7
%285 = load i32, i32* %8
%286 = sext i32 %285 to i64
%287 = sub nsw i64 %284, %286
%288 = add nsw i64 %287, 3
%289 = getelementptr inbounds double, double* %283, i64 %288
%290 = load double, double* %289
%291 = fsub double %282, %290
%292 = load double, double* %13
%293 = fmul double %292, %291
store double %293, double* %13
%294 = load double, double* %6
%295 = load double*, double** %9
%296 = load i64, i64* %7
%297 = load i32, i32* %8
%298 = sext i32 %297 to i64
%299 = sub nsw i64 %296, %298
%300 = add nsw i64 %299, 4
%301 = getelementptr inbounds double, double* %295, i64 %300
%302 = load double, double* %301
%303 = fsub double %294, %302
%304 = load double, double* %13
%305 = fmul double %304, %303
store double %305, double* %13
%306 = load double, double* %13
%307 = load double, double* %12
%308 = fadd double %307, %306
store double %308, double* %12
store double 1.000000e+00, double* %13
%309 = load double, double* %6
%310 = load double*, double** %9
%311 = load i64, i64* %7
%312 = load i32, i32* %8
%313 = sext i32 %312 to i64
%314 = sub nsw i64 %311, %313
%315 = add nsw i64 %314, 0
%316 = getelementptr inbounds double, double* %310, i64 %315
%317 = load double, double* %316
%318 = fsub double %309, %317
%319 = load double, double* %13
%320 = fmul double %319, %318
store double %320, double* %13
%321 = load double, double* %6
%322 = load double*, double** %9
%323 = load i64, i64* %7
%324 = load i32, i32* %8
%325 = sext i32 %324 to i64
%326 = sub nsw i64 %323, %325
%327 = add nsw i64 %326, 3
%328 = getelementptr inbounds double, double* %322, i64 %327
%329 = load double, double* %328
%330 = fsub double %321, %329
%331 = load double, double* %13
%332 = fmul double %331, %330
store double %332, double* %13
%333 = load double, double* %6
%334 = load double*, double** %9
%335 = load i64, i64* %7
%336 = load i32, i32* %8
%337 = sext i32 %336 to i64
%338 = sub nsw i64 %335, %337
%339 = add nsw i64 %338, 4
%340 = getelementptr inbounds double, double* %334, i64 %339
%341 = load double, double* %340
%342 = fsub double %333, %341
%343 = load double, double* %13
%344 = fmul double %343, %342
store double %344, double* %13
%345 = load double, double* %13
%346 = load double, double* %12
%347 = fadd double %346, %345
store double %347, double* %12
store double 1.000000e+00, double* %13
%348 = load double, double* %6
%349 = load double*, double** %9
%350 = load i64, i64* %7
%351 = load i32, i32* %8
%352 = sext i32 %351 to i64
%353 = sub nsw i64 %350, %352
%354 = add nsw i64 %353, 0
%355 = getelementptr inbounds double, double* %349, i64 %354
%356 = load double, double* %355
%357 = fsub double %348, %356
%358 = load double, double* %13
%359 = fmul double %358, %357
store double %359, double* %13
%360 = load double, double* %6
%361 = load double*, double** %9
%362 = load i64, i64* %7
%363 = load i32, i32* %8
%364 = sext i32 %363 to i64
%365 = sub nsw i64 %362, %364
%366 = add nsw i64 %365, 1
%367 = getelementptr inbounds double, double* %361, i64 %366
%368 = load double, double* %367
%369 = fsub double %360, %368
%370 = load double, double* %13
%371 = fmul double %370, %369
store double %371, double* %13
%372 = load double, double* %6
%373 = load double*, double** %9
%374 = load i64, i64* %7
%375 = load i32, i32* %8
%376 = sext i32 %375 to i64
%377 = sub nsw i64 %374, %376
%378 = add nsw i64 %377, 4
%379 = getelementptr inbounds double, double* %373, i64 %378
%380 = load double, double* %379
%381 = fsub double %372, %380
%382 = load double, double* %13
%383 = fmul double %382, %381
store double %383, double* %13
%384 = load double, double* %13
%385 = load double, double* %12
%386 = fadd double %385, %384
store double %386, double* %12
store double 1.000000e+00, double* %13
%387 = load double, double* %6
%388 = load double*, double** %9
%389 = load i64, i64* %7
%390 = load i32, i32* %8
%391 = sext i32 %390 to i64
%392 = sub nsw i64 %389, %391
%393 = add nsw i64 %392, 0
%394 = getelementptr inbounds double, double* %388, i64 %393
%395 = load double, double* %394
%396 = fsub double %387, %395
%397 = load double, double* %13
%398 = fmul double %397, %396
store double %398, double* %13
%399 = load double, double* %6
%400 = load double*, double** %9
%401 = load i64, i64* %7
%402 = load i32, i32* %8
%403 = sext i32 %402 to i64
%404 = sub nsw i64 %401, %403
%405 = add nsw i64 %404, 1
%406 = getelementptr inbounds double, double* %400, i64 %405
%407 = load double, double* %406
%408 = fsub double %399, %407
%409 = load double, double* %13
%410 = fmul double %409, %408
store double %410, double* %13
%411 = load double, double* %6
%412 = load double*, double** %9
%413 = load i64, i64* %7
%414 = load i32, i32* %8
%415 = sext i32 %414 to i64
%416 = sub nsw i64 %413, %415
%417 = add nsw i64 %416, 3
%418 = getelementptr inbounds double, double* %412, i64 %417
%419 = load double, double* %418
%420 = fsub double %411, %419
%421 = load double, double* %13
%422 = fmul double %421, %420
store double %422, double* %13
%423 = load double, double* %13
%424 = load double, double* %12
%425 = fadd double %424, %423
store double %425, double* %12
store double 1.000000e+00, double* %14
%426 = load double*, double** %9
%427 = load i64, i64* %7
%428 = load i32, i32* %8
%429 = sext i32 %428 to i64
%430 = sub nsw i64 %427, %429
%431 = add nsw i64 %430, 2
%432 = getelementptr inbounds double, double* %426, i64 %431
%433 = load double, double* %432
%434 = load double*, double** %9
%435 = load i64, i64* %7
%436 = load i32, i32* %8
%437 = sext i32 %436 to i64
%438 = sub nsw i64 %435, %437
%439 = add nsw i64 %438, 0
%440 = getelementptr inbounds double, double* %434, i64 %439
%441 = load double, double* %440
%442 = fsub double %433, %441
%443 = load double, double* %14
%444 = fmul double %443, %442
store double %444, double* %14
%445 = load double*, double** %9
%446 = load i64, i64* %7
%447 = load i32, i32* %8
%448 = sext i32 %447 to i64
%449 = sub nsw i64 %446, %448
%450 = add nsw i64 %449, 2
%451 = getelementptr inbounds double, double* %445, i64 %450
%452 = load double, double* %451
%453 = load double*, double** %9
%454 = load i64, i64* %7
%455 = load i32, i32* %8
%456 = sext i32 %455 to i64
%457 = sub nsw i64 %454, %456
%458 = add nsw i64 %457, 1
%459 = getelementptr inbounds double, double* %453, i64 %458
%460 = load double, double* %459
%461 = fsub double %452, %460
%462 = load double, double* %14
%463 = fmul double %462, %461
store double %463, double* %14
%464 = load double*, double** %9
%465 = load i64, i64* %7
%466 = load i32, i32* %8
%467 = sext i32 %466 to i64
%468 = sub nsw i64 %465, %467
%469 = add nsw i64 %468, 2
%470 = getelementptr inbounds double, double* %464, i64 %469
%471 = load double, double* %470
%472 = load double*, double** %9
%473 = load i64, i64* %7
%474 = load i32, i32* %8
%475 = sext i32 %474 to i64
%476 = sub nsw i64 %473, %475
%477 = add nsw i64 %476, 3
%478 = getelementptr inbounds double, double* %472, i64 %477
%479 = load double, double* %478
%480 = fsub double %471, %479
%481 = load double, double* %14
%482 = fmul double %481, %480
store double %482, double* %14
%483 = load double*, double** %9
%484 = load i64, i64* %7
%485 = load i32, i32* %8
%486 = sext i32 %485 to i64
%487 = sub nsw i64 %484, %486
%488 = add nsw i64 %487, 2
%489 = getelementptr inbounds double, double* %483, i64 %488
%490 = load double, double* %489
%491 = load double*, double** %9
%492 = load i64, i64* %7
%493 = load i32, i32* %8
%494 = sext i32 %493 to i64
%495 = sub nsw i64 %492, %494
%496 = add nsw i64 %495, 4
%497 = getelementptr inbounds double, double* %491, i64 %496
%498 = load double, double* %497
%499 = fsub double %490, %498
%500 = load double, double* %14
%501 = fmul double %500, %499
store double %501, double* %14
%502 = load double, double* %12
%503 = load double, double* %14
%504 = fdiv double %502, %503
%505 = load double*, double** %9
%506 = load i64, i64* %7
%507 = load i32, i32* %8
%508 = sext i32 %507 to i64
%509 = sub nsw i64 %506, %508
%510 = add nsw i64 %509, 0
%511 = add nsw i64 %510, 1
%512 = getelementptr inbounds double, double* %505, i64 %511
%513 = load double, double* %512
%514 = load double*, double** %9
%515 = load i64, i64* %7
%516 = load i32, i32* %8
%517 = sext i32 %516 to i64
%518 = sub nsw i64 %515, %517
%519 = add nsw i64 %518, 0
%520 = getelementptr inbounds double, double* %514, i64 %519
%521 = load double, double* %520
%522 = fsub double %513, %521
%523 = load double, double* %11
%524 = call double @llvm.fmuladd.f64(double %504, double %522, double %523)
store double %524, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%525 = load double, double* %6
%526 = load double*, double** %9
%527 = load i64, i64* %7
%528 = load i32, i32* %8
%529 = sext i32 %528 to i64
%530 = sub nsw i64 %527, %529
%531 = add nsw i64 %530, 1
%532 = getelementptr inbounds double, double* %526, i64 %531
%533 = load double, double* %532
%534 = fsub double %525, %533
%535 = load double, double* %13
%536 = fmul double %535, %534
store double %536, double* %13
%537 = load double, double* %6
%538 = load double*, double** %9
%539 = load i64, i64* %7
%540 = load i32, i32* %8
%541 = sext i32 %540 to i64
%542 = sub nsw i64 %539, %541
%543 = add nsw i64 %542, 2
%544 = getelementptr inbounds double, double* %538, i64 %543
%545 = load double, double* %544
%546 = fsub double %537, %545
%547 = load double, double* %13
%548 = fmul double %547, %546
store double %548, double* %13
%549 = load double, double* %6
%550 = load double*, double** %9
%551 = load i64, i64* %7
%552 = load i32, i32* %8
%553 = sext i32 %552 to i64
%554 = sub nsw i64 %551, %553
%555 = add nsw i64 %554, 4
%556 = getelementptr inbounds double, double* %550, i64 %555
%557 = load double, double* %556
%558 = fsub double %549, %557
%559 = load double, double* %13
%560 = fmul double %559, %558
store double %560, double* %13
%561 = load double, double* %13
%562 = load double, double* %12
%563 = fadd double %562, %561
store double %563, double* %12
store double 1.000000e+00, double* %13
%564 = load double, double* %6
%565 = load double*, double** %9
%566 = load i64, i64* %7
%567 = load i32, i32* %8
%568 = sext i32 %567 to i64
%569 = sub nsw i64 %566, %568
%570 = add nsw i64 %569, 0
%571 = getelementptr inbounds double, double* %565, i64 %570
%572 = load double, double* %571
%573 = fsub double %564, %572
%574 = load double, double* %13
%575 = fmul double %574, %573
store double %575, double* %13
%576 = load double, double* %6
%577 = load double*, double** %9
%578 = load i64, i64* %7
%579 = load i32, i32* %8
%580 = sext i32 %579 to i64
%581 = sub nsw i64 %578, %580
%582 = add nsw i64 %581, 2
%583 = getelementptr inbounds double, double* %577, i64 %582
%584 = load double, double* %583
%585 = fsub double %576, %584
%586 = load double, double* %13
%587 = fmul double %586, %585
store double %587, double* %13
%588 = load double, double* %6
%589 = load double*, double** %9
%590 = load i64, i64* %7
%591 = load i32, i32* %8
%592 = sext i32 %591 to i64
%593 = sub nsw i64 %590, %592
%594 = add nsw i64 %593, 4
%595 = getelementptr inbounds double, double* %589, i64 %594
%596 = load double, double* %595
%597 = fsub double %588, %596
%598 = load double, double* %13
%599 = fmul double %598, %597
store double %599, double* %13
%600 = load double, double* %13
%601 = load double, double* %12
%602 = fadd double %601, %600
store double %602, double* %12
store double 1.000000e+00, double* %13
%603 = load double, double* %6
%604 = load double*, double** %9
%605 = load i64, i64* %7
%606 = load i32, i32* %8
%607 = sext i32 %606 to i64
%608 = sub nsw i64 %605, %607
%609 = add nsw i64 %608, 0
%610 = getelementptr inbounds double, double* %604, i64 %609
%611 = load double, double* %610
%612 = fsub double %603, %611
%613 = load double, double* %13
%614 = fmul double %613, %612
store double %614, double* %13
%615 = load double, double* %6
%616 = load double*, double** %9
%617 = load i64, i64* %7
%618 = load i32, i32* %8
%619 = sext i32 %618 to i64
%620 = sub nsw i64 %617, %619
%621 = add nsw i64 %620, 1
%622 = getelementptr inbounds double, double* %616, i64 %621
%623 = load double, double* %622
%624 = fsub double %615, %623
%625 = load double, double* %13
%626 = fmul double %625, %624
store double %626, double* %13
%627 = load double, double* %6
%628 = load double*, double** %9
%629 = load i64, i64* %7
%630 = load i32, i32* %8
%631 = sext i32 %630 to i64
%632 = sub nsw i64 %629, %631
%633 = add nsw i64 %632, 4
%634 = getelementptr inbounds double, double* %628, i64 %633
%635 = load double, double* %634
%636 = fsub double %627, %635
%637 = load double, double* %13
%638 = fmul double %637, %636
store double %638, double* %13
%639 = load double, double* %13
%640 = load double, double* %12
%641 = fadd double %640, %639
store double %641, double* %12
store double 1.000000e+00, double* %13
%642 = load double, double* %6
%643 = load double*, double** %9
%644 = load i64, i64* %7
%645 = load i32, i32* %8
%646 = sext i32 %645 to i64
%647 = sub nsw i64 %644, %646
%648 = add nsw i64 %647, 0
%649 = getelementptr inbounds double, double* %643, i64 %648
%650 = load double, double* %649
%651 = fsub double %642, %650
%652 = load double, double* %13
%653 = fmul double %652, %651
store double %653, double* %13
%654 = load double, double* %6
%655 = load double*, double** %9
%656 = load i64, i64* %7
%657 = load i32, i32* %8
%658 = sext i32 %657 to i64
%659 = sub nsw i64 %656, %658
%660 = add nsw i64 %659, 1
%661 = getelementptr inbounds double, double* %655, i64 %660
%662 = load double, double* %661
%663 = fsub double %654, %662
%664 = load double, double* %13
%665 = fmul double %664, %663
store double %665, double* %13
%666 = load double, double* %6
%667 = load double*, double** %9
%668 = load i64, i64* %7
%669 = load i32, i32* %8
%670 = sext i32 %669 to i64
%671 = sub nsw i64 %668, %670
%672 = add nsw i64 %671, 2
%673 = getelementptr inbounds double, double* %667, i64 %672
%674 = load double, double* %673
%675 = fsub double %666, %674
%676 = load double, double* %13
%677 = fmul double %676, %675
store double %677, double* %13
%678 = load double, double* %13
%679 = load double, double* %12
%680 = fadd double %679, %678
store double %680, double* %12
store double 1.000000e+00, double* %14
%681 = load double*, double** %9
%682 = load i64, i64* %7
%683 = load i32, i32* %8
%684 = sext i32 %683 to i64
%685 = sub nsw i64 %682, %684
%686 = add nsw i64 %685, 3
%687 = getelementptr inbounds double, double* %681, i64 %686
%688 = load double, double* %687
%689 = load double*, double** %9
%690 = load i64, i64* %7
%691 = load i32, i32* %8
%692 = sext i32 %691 to i64
%693 = sub nsw i64 %690, %692
%694 = add nsw i64 %693, 0
%695 = getelementptr inbounds double, double* %689, i64 %694
%696 = load double, double* %695
%697 = fsub double %688, %696
%698 = load double, double* %14
%699 = fmul double %698, %697
store double %699, double* %14
%700 = load double*, double** %9
%701 = load i64, i64* %7
%702 = load i32, i32* %8
%703 = sext i32 %702 to i64
%704 = sub nsw i64 %701, %703
%705 = add nsw i64 %704, 3
%706 = getelementptr inbounds double, double* %700, i64 %705
%707 = load double, double* %706
%708 = load double*, double** %9
%709 = load i64, i64* %7
%710 = load i32, i32* %8
%711 = sext i32 %710 to i64
%712 = sub nsw i64 %709, %711
%713 = add nsw i64 %712, 1
%714 = getelementptr inbounds double, double* %708, i64 %713
%715 = load double, double* %714
%716 = fsub double %707, %715
%717 = load double, double* %14
%718 = fmul double %717, %716
store double %718, double* %14
%719 = load double*, double** %9
%720 = load i64, i64* %7
%721 = load i32, i32* %8
%722 = sext i32 %721 to i64
%723 = sub nsw i64 %720, %722
%724 = add nsw i64 %723, 3
%725 = getelementptr inbounds double, double* %719, i64 %724
%726 = load double, double* %725
%727 = load double*, double** %9
%728 = load i64, i64* %7
%729 = load i32, i32* %8
%730 = sext i32 %729 to i64
%731 = sub nsw i64 %728, %730
%732 = add nsw i64 %731, 2
%733 = getelementptr inbounds double, double* %727, i64 %732
%734 = load double, double* %733
%735 = fsub double %726, %734
%736 = load double, double* %14
%737 = fmul double %736, %735
store double %737, double* %14
%738 = load double*, double** %9
%739 = load i64, i64* %7
%740 = load i32, i32* %8
%741 = sext i32 %740 to i64
%742 = sub nsw i64 %739, %741
%743 = add nsw i64 %742, 3
%744 = getelementptr inbounds double, double* %738, i64 %743
%745 = load double, double* %744
%746 = load double*, double** %9
%747 = load i64, i64* %7
%748 = load i32, i32* %8
%749 = sext i32 %748 to i64
%750 = sub nsw i64 %747, %749
%751 = add nsw i64 %750, 4
%752 = getelementptr inbounds double, double* %746, i64 %751
%753 = load double, double* %752
%754 = fsub double %745, %753
%755 = load double, double* %14
%756 = fmul double %755, %754
store double %756, double* %14
%757 = load double, double* %12
%758 = load double, double* %14
%759 = fdiv double %757, %758
%760 = load double*, double** %9
%761 = load i64, i64* %7
%762 = load i32, i32* %8
%763 = sext i32 %762 to i64
%764 = sub nsw i64 %761, %763
%765 = add nsw i64 %764, 0
%766 = add nsw i64 %765, 1
%767 = getelementptr inbounds double, double* %760, i64 %766
%768 = load double, double* %767
%769 = load double*, double** %9
%770 = load i64, i64* %7
%771 = load i32, i32* %8
%772 = sext i32 %771 to i64
%773 = sub nsw i64 %770, %772
%774 = add nsw i64 %773, 0
%775 = getelementptr inbounds double, double* %769, i64 %774
%776 = load double, double* %775
%777 = fsub double %768, %776
%778 = load double, double* %11
%779 = call double @llvm.fmuladd.f64(double %759, double %777, double %778)
store double %779, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%780 = load double, double* %6
%781 = load double*, double** %9
%782 = load i64, i64* %7
%783 = load i32, i32* %8
%784 = sext i32 %783 to i64
%785 = sub nsw i64 %782, %784
%786 = add nsw i64 %785, 1
%787 = getelementptr inbounds double, double* %781, i64 %786
%788 = load double, double* %787
%789 = fsub double %780, %788
%790 = load double, double* %13
%791 = fmul double %790, %789
store double %791, double* %13
%792 = load double, double* %6
%793 = load double*, double** %9
%794 = load i64, i64* %7
%795 = load i32, i32* %8
%796 = sext i32 %795 to i64
%797 = sub nsw i64 %794, %796
%798 = add nsw i64 %797, 2
%799 = getelementptr inbounds double, double* %793, i64 %798
%800 = load double, double* %799
%801 = fsub double %792, %800
%802 = load double, double* %13
%803 = fmul double %802, %801
store double %803, double* %13
%804 = load double, double* %6
%805 = load double*, double** %9
%806 = load i64, i64* %7
%807 = load i32, i32* %8
%808 = sext i32 %807 to i64
%809 = sub nsw i64 %806, %808
%810 = add nsw i64 %809, 3
%811 = getelementptr inbounds double, double* %805, i64 %810
%812 = load double, double* %811
%813 = fsub double %804, %812
%814 = load double, double* %13
%815 = fmul double %814, %813
store double %815, double* %13
%816 = load double, double* %13
%817 = load double, double* %12
%818 = fadd double %817, %816
store double %818, double* %12
store double 1.000000e+00, double* %13
%819 = load double, double* %6
%820 = load double*, double** %9
%821 = load i64, i64* %7
%822 = load i32, i32* %8
%823 = sext i32 %822 to i64
%824 = sub nsw i64 %821, %823
%825 = add nsw i64 %824, 0
%826 = getelementptr inbounds double, double* %820, i64 %825
%827 = load double, double* %826
%828 = fsub double %819, %827
%829 = load double, double* %13
%830 = fmul double %829, %828
store double %830, double* %13
%831 = load double, double* %6
%832 = load double*, double** %9
%833 = load i64, i64* %7
%834 = load i32, i32* %8
%835 = sext i32 %834 to i64
%836 = sub nsw i64 %833, %835
%837 = add nsw i64 %836, 2
%838 = getelementptr inbounds double, double* %832, i64 %837
%839 = load double, double* %838
%840 = fsub double %831, %839
%841 = load double, double* %13
%842 = fmul double %841, %840
store double %842, double* %13
%843 = load double, double* %6
%844 = load double*, double** %9
%845 = load i64, i64* %7
%846 = load i32, i32* %8
%847 = sext i32 %846 to i64
%848 = sub nsw i64 %845, %847
%849 = add nsw i64 %848, 3
%850 = getelementptr inbounds double, double* %844, i64 %849
%851 = load double, double* %850
%852 = fsub double %843, %851
%853 = load double, double* %13
%854 = fmul double %853, %852
store double %854, double* %13
%855 = load double, double* %13
%856 = load double, double* %12
%857 = fadd double %856, %855
store double %857, double* %12
store double 1.000000e+00, double* %13
%858 = load double, double* %6
%859 = load double*, double** %9
%860 = load i64, i64* %7
%861 = load i32, i32* %8
%862 = sext i32 %861 to i64
%863 = sub nsw i64 %860, %862
%864 = add nsw i64 %863, 0
%865 = getelementptr inbounds double, double* %859, i64 %864
%866 = load double, double* %865
%867 = fsub double %858, %866
%868 = load double, double* %13
%869 = fmul double %868, %867
store double %869, double* %13
%870 = load double, double* %6
%871 = load double*, double** %9
%872 = load i64, i64* %7
%873 = load i32, i32* %8
%874 = sext i32 %873 to i64
%875 = sub nsw i64 %872, %874
%876 = add nsw i64 %875, 1
%877 = getelementptr inbounds double, double* %871, i64 %876
%878 = load double, double* %877
%879 = fsub double %870, %878
%880 = load double, double* %13
%881 = fmul double %880, %879
store double %881, double* %13
%882 = load double, double* %6
%883 = load double*, double** %9
%884 = load i64, i64* %7
%885 = load i32, i32* %8
%886 = sext i32 %885 to i64
%887 = sub nsw i64 %884, %886
%888 = add nsw i64 %887, 3
%889 = getelementptr inbounds double, double* %883, i64 %888
%890 = load double, double* %889
%891 = fsub double %882, %890
%892 = load double, double* %13
%893 = fmul double %892, %891
store double %893, double* %13
%894 = load double, double* %13
%895 = load double, double* %12
%896 = fadd double %895, %894
store double %896, double* %12
store double 1.000000e+00, double* %13
%897 = load double, double* %6
%898 = load double*, double** %9
%899 = load i64, i64* %7
%900 = load i32, i32* %8
%901 = sext i32 %900 to i64
%902 = sub nsw i64 %899, %901
%903 = add nsw i64 %902, 0
%904 = getelementptr inbounds double, double* %898, i64 %903
%905 = load double, double* %904
%906 = fsub double %897, %905
%907 = load double, double* %13
%908 = fmul double %907, %906
store double %908, double* %13
%909 = load double, double* %6
%910 = load double*, double** %9
%911 = load i64, i64* %7
%912 = load i32, i32* %8
%913 = sext i32 %912 to i64
%914 = sub nsw i64 %911, %913
%915 = add nsw i64 %914, 1
%916 = getelementptr inbounds double, double* %910, i64 %915
%917 = load double, double* %916
%918 = fsub double %909, %917
%919 = load double, double* %13
%920 = fmul double %919, %918
store double %920, double* %13
%921 = load double, double* %6
%922 = load double*, double** %9
%923 = load i64, i64* %7
%924 = load i32, i32* %8
%925 = sext i32 %924 to i64
%926 = sub nsw i64 %923, %925
%927 = add nsw i64 %926, 2
%928 = getelementptr inbounds double, double* %922, i64 %927
%929 = load double, double* %928
%930 = fsub double %921, %929
%931 = load double, double* %13
%932 = fmul double %931, %930
store double %932, double* %13
%933 = load double, double* %13
%934 = load double, double* %12
%935 = fadd double %934, %933
store double %935, double* %12
store double 1.000000e+00, double* %14
%936 = load double*, double** %9
%937 = load i64, i64* %7
%938 = load i32, i32* %8
%939 = sext i32 %938 to i64
%940 = sub nsw i64 %937, %939
%941 = add nsw i64 %940, 4
%942 = getelementptr inbounds double, double* %936, i64 %941
%943 = load double, double* %942
%944 = load double*, double** %9
%945 = load i64, i64* %7
%946 = load i32, i32* %8
%947 = sext i32 %946 to i64
%948 = sub nsw i64 %945, %947
%949 = add nsw i64 %948, 0
%950 = getelementptr inbounds double, double* %944, i64 %949
%951 = load double, double* %950
%952 = fsub double %943, %951
%953 = load double, double* %14
%954 = fmul double %953, %952
store double %954, double* %14
%955 = load double*, double** %9
%956 = load i64, i64* %7
%957 = load i32, i32* %8
%958 = sext i32 %957 to i64
%959 = sub nsw i64 %956, %958
%960 = add nsw i64 %959, 4
%961 = getelementptr inbounds double, double* %955, i64 %960
%962 = load double, double* %961
%963 = load double*, double** %9
%964 = load i64, i64* %7
%965 = load i32, i32* %8
%966 = sext i32 %965 to i64
%967 = sub nsw i64 %964, %966
%968 = add nsw i64 %967, 1
%969 = getelementptr inbounds double, double* %963, i64 %968
%970 = load double, double* %969
%971 = fsub double %962, %970
%972 = load double, double* %14
%973 = fmul double %972, %971
store double %973, double* %14
%974 = load double*, double** %9
%975 = load i64, i64* %7
%976 = load i32, i32* %8
%977 = sext i32 %976 to i64
%978 = sub nsw i64 %975, %977
%979 = add nsw i64 %978, 4
%980 = getelementptr inbounds double, double* %974, i64 %979
%981 = load double, double* %980
%982 = load double*, double** %9
%983 = load i64, i64* %7
%984 = load i32, i32* %8
%985 = sext i32 %984 to i64
%986 = sub nsw i64 %983, %985
%987 = add nsw i64 %986, 2
%988 = getelementptr inbounds double, double* %982, i64 %987
%989 = load double, double* %988
%990 = fsub double %981, %989
%991 = load double, double* %14
%992 = fmul double %991, %990
store double %992, double* %14
%993 = load double*, double** %9
%994 = load i64, i64* %7
%995 = load i32, i32* %8
%996 = sext i32 %995 to i64
%997 = sub nsw i64 %994, %996
%998 = add nsw i64 %997, 4
%999 = getelementptr inbounds double, double* %993, i64 %998
%1000 = load double, double* %999
%1001 = load double*, double** %9
%1002 = load i64, i64* %7
%1003 = load i32, i32* %8
%1004 = sext i32 %1003 to i64
%1005 = sub nsw i64 %1002, %1004
%1006 = add nsw i64 %1005, 3
%1007 = getelementptr inbounds double, double* %1001, i64 %1006
%1008 = load double, double* %1007
%1009 = fsub double %1000, %1008
%1010 = load double, double* %14
%1011 = fmul double %1010, %1009
store double %1011, double* %14
%1012 = load double, double* %12
%1013 = load double, double* %14
%1014 = fdiv double %1012, %1013
%1015 = load double*, double** %9
%1016 = load i64, i64* %7
%1017 = load i32, i32* %8
%1018 = sext i32 %1017 to i64
%1019 = sub nsw i64 %1016, %1018
%1020 = add nsw i64 %1019, 0
%1021 = add nsw i64 %1020, 1
%1022 = getelementptr inbounds double, double* %1015, i64 %1021
%1023 = load double, double* %1022
%1024 = load double*, double** %9
%1025 = load i64, i64* %7
%1026 = load i32, i32* %8
%1027 = sext i32 %1026 to i64
%1028 = sub nsw i64 %1025, %1027
%1029 = add nsw i64 %1028, 0
%1030 = getelementptr inbounds double, double* %1024, i64 %1029
%1031 = load double, double* %1030
%1032 = fsub double %1023, %1031
%1033 = load double, double* %11
%1034 = call double @llvm.fmuladd.f64(double %1014, double %1032, double %1033)
store double %1034, double* %11
%1035 = load double, double* %11
%1036 = load double*, double** %10
%1037 = getelementptr inbounds double, double* %1036, i64 0
store double %1035, double* %1037
store double 0.000000e+00, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%1038 = load double, double* %6
%1039 = load double*, double** %9
%1040 = load i64, i64* %7
%1041 = load i32, i32* %8
%1042 = sext i32 %1041 to i64
%1043 = sub nsw i64 %1040, %1042
%1044 = add nsw i64 %1043, 1
%1045 = getelementptr inbounds double, double* %1039, i64 %1044
%1046 = load double, double* %1045
%1047 = fsub double %1038, %1046
%1048 = load double, double* %13
%1049 = fmul double %1048, %1047
store double %1049, double* %13
%1050 = load double, double* %6
%1051 = load double*, double** %9
%1052 = load i64, i64* %7
%1053 = load i32, i32* %8
%1054 = sext i32 %1053 to i64
%1055 = sub nsw i64 %1052, %1054
%1056 = add nsw i64 %1055, 3
%1057 = getelementptr inbounds double, double* %1051, i64 %1056
%1058 = load double, double* %1057
%1059 = fsub double %1050, %1058
%1060 = load double, double* %13
%1061 = fmul double %1060, %1059
store double %1061, double* %13
%1062 = load double, double* %6
%1063 = load double*, double** %9
%1064 = load i64, i64* %7
%1065 = load i32, i32* %8
%1066 = sext i32 %1065 to i64
%1067 = sub nsw i64 %1064, %1066
%1068 = add nsw i64 %1067, 4
%1069 = getelementptr inbounds double, double* %1063, i64 %1068
%1070 = load double, double* %1069
%1071 = fsub double %1062, %1070
%1072 = load double, double* %13
%1073 = fmul double %1072, %1071
store double %1073, double* %13
%1074 = load double, double* %13
%1075 = load double, double* %12
%1076 = fadd double %1075, %1074
store double %1076, double* %12
store double 1.000000e+00, double* %13
%1077 = load double, double* %6
%1078 = load double*, double** %9
%1079 = load i64, i64* %7
%1080 = load i32, i32* %8
%1081 = sext i32 %1080 to i64
%1082 = sub nsw i64 %1079, %1081
%1083 = add nsw i64 %1082, 0
%1084 = getelementptr inbounds double, double* %1078, i64 %1083
%1085 = load double, double* %1084
%1086 = fsub double %1077, %1085
%1087 = load double, double* %13
%1088 = fmul double %1087, %1086
store double %1088, double* %13
%1089 = load double, double* %6
%1090 = load double*, double** %9
%1091 = load i64, i64* %7
%1092 = load i32, i32* %8
%1093 = sext i32 %1092 to i64
%1094 = sub nsw i64 %1091, %1093
%1095 = add nsw i64 %1094, 3
%1096 = getelementptr inbounds double, double* %1090, i64 %1095
%1097 = load double, double* %1096
%1098 = fsub double %1089, %1097
%1099 = load double, double* %13
%1100 = fmul double %1099, %1098
store double %1100, double* %13
%1101 = load double, double* %6
%1102 = load double*, double** %9
%1103 = load i64, i64* %7
%1104 = load i32, i32* %8
%1105 = sext i32 %1104 to i64
%1106 = sub nsw i64 %1103, %1105
%1107 = add nsw i64 %1106, 4
%1108 = getelementptr inbounds double, double* %1102, i64 %1107
%1109 = load double, double* %1108
%1110 = fsub double %1101, %1109
%1111 = load double, double* %13
%1112 = fmul double %1111, %1110
store double %1112, double* %13
%1113 = load double, double* %13
%1114 = load double, double* %12
%1115 = fadd double %1114, %1113
store double %1115, double* %12
store double 1.000000e+00, double* %13
%1116 = load double, double* %6
%1117 = load double*, double** %9
%1118 = load i64, i64* %7
%1119 = load i32, i32* %8
%1120 = sext i32 %1119 to i64
%1121 = sub nsw i64 %1118, %1120
%1122 = add nsw i64 %1121, 0
%1123 = getelementptr inbounds double, double* %1117, i64 %1122
%1124 = load double, double* %1123
%1125 = fsub double %1116, %1124
%1126 = load double, double* %13
%1127 = fmul double %1126, %1125
store double %1127, double* %13
%1128 = load double, double* %6
%1129 = load double*, double** %9
%1130 = load i64, i64* %7
%1131 = load i32, i32* %8
%1132 = sext i32 %1131 to i64
%1133 = sub nsw i64 %1130, %1132
%1134 = add nsw i64 %1133, 1
%1135 = getelementptr inbounds double, double* %1129, i64 %1134
%1136 = load double, double* %1135
%1137 = fsub double %1128, %1136
%1138 = load double, double* %13
%1139 = fmul double %1138, %1137
store double %1139, double* %13
%1140 = load double, double* %6
%1141 = load double*, double** %9
%1142 = load i64, i64* %7
%1143 = load i32, i32* %8
%1144 = sext i32 %1143 to i64
%1145 = sub nsw i64 %1142, %1144
%1146 = add nsw i64 %1145, 4
%1147 = getelementptr inbounds double, double* %1141, i64 %1146
%1148 = load double, double* %1147
%1149 = fsub double %1140, %1148
%1150 = load double, double* %13
%1151 = fmul double %1150, %1149
store double %1151, double* %13
%1152 = load double, double* %13
%1153 = load double, double* %12
%1154 = fadd double %1153, %1152
store double %1154, double* %12
store double 1.000000e+00, double* %13
%1155 = load double, double* %6
%1156 = load double*, double** %9
%1157 = load i64, i64* %7
%1158 = load i32, i32* %8
%1159 = sext i32 %1158 to i64
%1160 = sub nsw i64 %1157, %1159
%1161 = add nsw i64 %1160, 0
%1162 = getelementptr inbounds double, double* %1156, i64 %1161
%1163 = load double, double* %1162
%1164 = fsub double %1155, %1163
%1165 = load double, double* %13
%1166 = fmul double %1165, %1164
store double %1166, double* %13
%1167 = load double, double* %6
%1168 = load double*, double** %9
%1169 = load i64, i64* %7
%1170 = load i32, i32* %8
%1171 = sext i32 %1170 to i64
%1172 = sub nsw i64 %1169, %1171
%1173 = add nsw i64 %1172, 1
%1174 = getelementptr inbounds double, double* %1168, i64 %1173
%1175 = load double, double* %1174
%1176 = fsub double %1167, %1175
%1177 = load double, double* %13
%1178 = fmul double %1177, %1176
store double %1178, double* %13
%1179 = load double, double* %6
%1180 = load double*, double** %9
%1181 = load i64, i64* %7
%1182 = load i32, i32* %8
%1183 = sext i32 %1182 to i64
%1184 = sub nsw i64 %1181, %1183
%1185 = add nsw i64 %1184, 3
%1186 = getelementptr inbounds double, double* %1180, i64 %1185
%1187 = load double, double* %1186
%1188 = fsub double %1179, %1187
%1189 = load double, double* %13
%1190 = fmul double %1189, %1188
store double %1190, double* %13
%1191 = load double, double* %13
%1192 = load double, double* %12
%1193 = fadd double %1192, %1191
store double %1193, double* %12
store double 1.000000e+00, double* %14
%1194 = load double*, double** %9
%1195 = load i64, i64* %7
%1196 = load i32, i32* %8
%1197 = sext i32 %1196 to i64
%1198 = sub nsw i64 %1195, %1197
%1199 = add nsw i64 %1198, 2
%1200 = getelementptr inbounds double, double* %1194, i64 %1199
%1201 = load double, double* %1200
%1202 = load double*, double** %9
%1203 = load i64, i64* %7
%1204 = load i32, i32* %8
%1205 = sext i32 %1204 to i64
%1206 = sub nsw i64 %1203, %1205
%1207 = add nsw i64 %1206, 0
%1208 = getelementptr inbounds double, double* %1202, i64 %1207
%1209 = load double, double* %1208
%1210 = fsub double %1201, %1209
%1211 = load double, double* %14
%1212 = fmul double %1211, %1210
store double %1212, double* %14
%1213 = load double*, double** %9
%1214 = load i64, i64* %7
%1215 = load i32, i32* %8
%1216 = sext i32 %1215 to i64
%1217 = sub nsw i64 %1214, %1216
%1218 = add nsw i64 %1217, 2
%1219 = getelementptr inbounds double, double* %1213, i64 %1218
%1220 = load double, double* %1219
%1221 = load double*, double** %9
%1222 = load i64, i64* %7
%1223 = load i32, i32* %8
%1224 = sext i32 %1223 to i64
%1225 = sub nsw i64 %1222, %1224
%1226 = add nsw i64 %1225, 1
%1227 = getelementptr inbounds double, double* %1221, i64 %1226
%1228 = load double, double* %1227
%1229 = fsub double %1220, %1228
%1230 = load double, double* %14
%1231 = fmul double %1230, %1229
store double %1231, double* %14
%1232 = load double*, double** %9
%1233 = load i64, i64* %7
%1234 = load i32, i32* %8
%1235 = sext i32 %1234 to i64
%1236 = sub nsw i64 %1233, %1235
%1237 = add nsw i64 %1236, 2
%1238 = getelementptr inbounds double, double* %1232, i64 %1237
%1239 = load double, double* %1238
%1240 = load double*, double** %9
%1241 = load i64, i64* %7
%1242 = load i32, i32* %8
%1243 = sext i32 %1242 to i64
%1244 = sub nsw i64 %1241, %1243
%1245 = add nsw i64 %1244, 3
%1246 = getelementptr inbounds double, double* %1240, i64 %1245
%1247 = load double, double* %1246
%1248 = fsub double %1239, %1247
%1249 = load double, double* %14
%1250 = fmul double %1249, %1248
store double %1250, double* %14
%1251 = load double*, double** %9
%1252 = load i64, i64* %7
%1253 = load i32, i32* %8
%1254 = sext i32 %1253 to i64
%1255 = sub nsw i64 %1252, %1254
%1256 = add nsw i64 %1255, 2
%1257 = getelementptr inbounds double, double* %1251, i64 %1256
%1258 = load double, double* %1257
%1259 = load double*, double** %9
%1260 = load i64, i64* %7
%1261 = load i32, i32* %8
%1262 = sext i32 %1261 to i64
%1263 = sub nsw i64 %1260, %1262
%1264 = add nsw i64 %1263, 4
%1265 = getelementptr inbounds double, double* %1259, i64 %1264
%1266 = load double, double* %1265
%1267 = fsub double %1258, %1266
%1268 = load double, double* %14
%1269 = fmul double %1268, %1267
store double %1269, double* %14
%1270 = load double, double* %12
%1271 = load double, double* %14
%1272 = fdiv double %1270, %1271
%1273 = load double*, double** %9
%1274 = load i64, i64* %7
%1275 = load i32, i32* %8
%1276 = sext i32 %1275 to i64
%1277 = sub nsw i64 %1274, %1276
%1278 = add nsw i64 %1277, 1
%1279 = add nsw i64 %1278, 1
%1280 = getelementptr inbounds double, double* %1273, i64 %1279
%1281 = load double, double* %1280
%1282 = load double*, double** %9
%1283 = load i64, i64* %7
%1284 = load i32, i32* %8
%1285 = sext i32 %1284 to i64
%1286 = sub nsw i64 %1283, %1285
%1287 = add nsw i64 %1286, 1
%1288 = getelementptr inbounds double, double* %1282, i64 %1287
%1289 = load double, double* %1288
%1290 = fsub double %1281, %1289
%1291 = load double, double* %11
%1292 = call double @llvm.fmuladd.f64(double %1272, double %1290, double %1291)
store double %1292, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%1293 = load double, double* %6
%1294 = load double*, double** %9
%1295 = load i64, i64* %7
%1296 = load i32, i32* %8
%1297 = sext i32 %1296 to i64
%1298 = sub nsw i64 %1295, %1297
%1299 = add nsw i64 %1298, 1
%1300 = getelementptr inbounds double, double* %1294, i64 %1299
%1301 = load double, double* %1300
%1302 = fsub double %1293, %1301
%1303 = load double, double* %13
%1304 = fmul double %1303, %1302
store double %1304, double* %13
%1305 = load double, double* %6
%1306 = load double*, double** %9
%1307 = load i64, i64* %7
%1308 = load i32, i32* %8
%1309 = sext i32 %1308 to i64
%1310 = sub nsw i64 %1307, %1309
%1311 = add nsw i64 %1310, 2
%1312 = getelementptr inbounds double, double* %1306, i64 %1311
%1313 = load double, double* %1312
%1314 = fsub double %1305, %1313
%1315 = load double, double* %13
%1316 = fmul double %1315, %1314
store double %1316, double* %13
%1317 = load double, double* %6
%1318 = load double*, double** %9
%1319 = load i64, i64* %7
%1320 = load i32, i32* %8
%1321 = sext i32 %1320 to i64
%1322 = sub nsw i64 %1319, %1321
%1323 = add nsw i64 %1322, 4
%1324 = getelementptr inbounds double, double* %1318, i64 %1323
%1325 = load double, double* %1324
%1326 = fsub double %1317, %1325
%1327 = load double, double* %13
%1328 = fmul double %1327, %1326
store double %1328, double* %13
%1329 = load double, double* %13
%1330 = load double, double* %12
%1331 = fadd double %1330, %1329
store double %1331, double* %12
store double 1.000000e+00, double* %13
%1332 = load double, double* %6
%1333 = load double*, double** %9
%1334 = load i64, i64* %7
%1335 = load i32, i32* %8
%1336 = sext i32 %1335 to i64
%1337 = sub nsw i64 %1334, %1336
%1338 = add nsw i64 %1337, 0
%1339 = getelementptr inbounds double, double* %1333, i64 %1338
%1340 = load double, double* %1339
%1341 = fsub double %1332, %1340
%1342 = load double, double* %13
%1343 = fmul double %1342, %1341
store double %1343, double* %13
%1344 = load double, double* %6
%1345 = load double*, double** %9
%1346 = load i64, i64* %7
%1347 = load i32, i32* %8
%1348 = sext i32 %1347 to i64
%1349 = sub nsw i64 %1346, %1348
%1350 = add nsw i64 %1349, 2
%1351 = getelementptr inbounds double, double* %1345, i64 %1350
%1352 = load double, double* %1351
%1353 = fsub double %1344, %1352
%1354 = load double, double* %13
%1355 = fmul double %1354, %1353
store double %1355, double* %13
%1356 = load double, double* %6
%1357 = load double*, double** %9
%1358 = load i64, i64* %7
%1359 = load i32, i32* %8
%1360 = sext i32 %1359 to i64
%1361 = sub nsw i64 %1358, %1360
%1362 = add nsw i64 %1361, 4
%1363 = getelementptr inbounds double, double* %1357, i64 %1362
%1364 = load double, double* %1363
%1365 = fsub double %1356, %1364
%1366 = load double, double* %13
%1367 = fmul double %1366, %1365
store double %1367, double* %13
%1368 = load double, double* %13
%1369 = load double, double* %12
%1370 = fadd double %1369, %1368
store double %1370, double* %12
store double 1.000000e+00, double* %13
%1371 = load double, double* %6
%1372 = load double*, double** %9
%1373 = load i64, i64* %7
%1374 = load i32, i32* %8
%1375 = sext i32 %1374 to i64
%1376 = sub nsw i64 %1373, %1375
%1377 = add nsw i64 %1376, 0
%1378 = getelementptr inbounds double, double* %1372, i64 %1377
%1379 = load double, double* %1378
%1380 = fsub double %1371, %1379
%1381 = load double, double* %13
%1382 = fmul double %1381, %1380
store double %1382, double* %13
%1383 = load double, double* %6
%1384 = load double*, double** %9
%1385 = load i64, i64* %7
%1386 = load i32, i32* %8
%1387 = sext i32 %1386 to i64
%1388 = sub nsw i64 %1385, %1387
%1389 = add nsw i64 %1388, 1
%1390 = getelementptr inbounds double, double* %1384, i64 %1389
%1391 = load double, double* %1390
%1392 = fsub double %1383, %1391
%1393 = load double, double* %13
%1394 = fmul double %1393, %1392
store double %1394, double* %13
%1395 = load double, double* %6
%1396 = load double*, double** %9
%1397 = load i64, i64* %7
%1398 = load i32, i32* %8
%1399 = sext i32 %1398 to i64
%1400 = sub nsw i64 %1397, %1399
%1401 = add nsw i64 %1400, 4
%1402 = getelementptr inbounds double, double* %1396, i64 %1401
%1403 = load double, double* %1402
%1404 = fsub double %1395, %1403
%1405 = load double, double* %13
%1406 = fmul double %1405, %1404
store double %1406, double* %13
%1407 = load double, double* %13
%1408 = load double, double* %12
%1409 = fadd double %1408, %1407
store double %1409, double* %12
store double 1.000000e+00, double* %13
%1410 = load double, double* %6
%1411 = load double*, double** %9
%1412 = load i64, i64* %7
%1413 = load i32, i32* %8
%1414 = sext i32 %1413 to i64
%1415 = sub nsw i64 %1412, %1414
%1416 = add nsw i64 %1415, 0
%1417 = getelementptr inbounds double, double* %1411, i64 %1416
%1418 = load double, double* %1417
%1419 = fsub double %1410, %1418
%1420 = load double, double* %13
%1421 = fmul double %1420, %1419
store double %1421, double* %13
%1422 = load double, double* %6
%1423 = load double*, double** %9
%1424 = load i64, i64* %7
%1425 = load i32, i32* %8
%1426 = sext i32 %1425 to i64
%1427 = sub nsw i64 %1424, %1426
%1428 = add nsw i64 %1427, 1
%1429 = getelementptr inbounds double, double* %1423, i64 %1428
%1430 = load double, double* %1429
%1431 = fsub double %1422, %1430
%1432 = load double, double* %13
%1433 = fmul double %1432, %1431
store double %1433, double* %13
%1434 = load double, double* %6
%1435 = load double*, double** %9
%1436 = load i64, i64* %7
%1437 = load i32, i32* %8
%1438 = sext i32 %1437 to i64
%1439 = sub nsw i64 %1436, %1438
%1440 = add nsw i64 %1439, 2
%1441 = getelementptr inbounds double, double* %1435, i64 %1440
%1442 = load double, double* %1441
%1443 = fsub double %1434, %1442
%1444 = load double, double* %13
%1445 = fmul double %1444, %1443
store double %1445, double* %13
%1446 = load double, double* %13
%1447 = load double, double* %12
%1448 = fadd double %1447, %1446
store double %1448, double* %12
store double 1.000000e+00, double* %14
%1449 = load double*, double** %9
%1450 = load i64, i64* %7
%1451 = load i32, i32* %8
%1452 = sext i32 %1451 to i64
%1453 = sub nsw i64 %1450, %1452
%1454 = add nsw i64 %1453, 3
%1455 = getelementptr inbounds double, double* %1449, i64 %1454
%1456 = load double, double* %1455
%1457 = load double*, double** %9
%1458 = load i64, i64* %7
%1459 = load i32, i32* %8
%1460 = sext i32 %1459 to i64
%1461 = sub nsw i64 %1458, %1460
%1462 = add nsw i64 %1461, 0
%1463 = getelementptr inbounds double, double* %1457, i64 %1462
%1464 = load double, double* %1463
%1465 = fsub double %1456, %1464
%1466 = load double, double* %14
%1467 = fmul double %1466, %1465
store double %1467, double* %14
%1468 = load double*, double** %9
%1469 = load i64, i64* %7
%1470 = load i32, i32* %8
%1471 = sext i32 %1470 to i64
%1472 = sub nsw i64 %1469, %1471
%1473 = add nsw i64 %1472, 3
%1474 = getelementptr inbounds double, double* %1468, i64 %1473
%1475 = load double, double* %1474
%1476 = load double*, double** %9
%1477 = load i64, i64* %7
%1478 = load i32, i32* %8
%1479 = sext i32 %1478 to i64
%1480 = sub nsw i64 %1477, %1479
%1481 = add nsw i64 %1480, 1
%1482 = getelementptr inbounds double, double* %1476, i64 %1481
%1483 = load double, double* %1482
%1484 = fsub double %1475, %1483
%1485 = load double, double* %14
%1486 = fmul double %1485, %1484
store double %1486, double* %14
%1487 = load double*, double** %9
%1488 = load i64, i64* %7
%1489 = load i32, i32* %8
%1490 = sext i32 %1489 to i64
%1491 = sub nsw i64 %1488, %1490
%1492 = add nsw i64 %1491, 3
%1493 = getelementptr inbounds double, double* %1487, i64 %1492
%1494 = load double, double* %1493
%1495 = load double*, double** %9
%1496 = load i64, i64* %7
%1497 = load i32, i32* %8
%1498 = sext i32 %1497 to i64
%1499 = sub nsw i64 %1496, %1498
%1500 = add nsw i64 %1499, 2
%1501 = getelementptr inbounds double, double* %1495, i64 %1500
%1502 = load double, double* %1501
%1503 = fsub double %1494, %1502
%1504 = load double, double* %14
%1505 = fmul double %1504, %1503
store double %1505, double* %14
%1506 = load double*, double** %9
%1507 = load i64, i64* %7
%1508 = load i32, i32* %8
%1509 = sext i32 %1508 to i64
%1510 = sub nsw i64 %1507, %1509
%1511 = add nsw i64 %1510, 3
%1512 = getelementptr inbounds double, double* %1506, i64 %1511
%1513 = load double, double* %1512
%1514 = load double*, double** %9
%1515 = load i64, i64* %7
%1516 = load i32, i32* %8
%1517 = sext i32 %1516 to i64
%1518 = sub nsw i64 %1515, %1517
%1519 = add nsw i64 %1518, 4
%1520 = getelementptr inbounds double, double* %1514, i64 %1519
%1521 = load double, double* %1520
%1522 = fsub double %1513, %1521
%1523 = load double, double* %14
%1524 = fmul double %1523, %1522
store double %1524, double* %14
%1525 = load double, double* %12
%1526 = load double, double* %14
%1527 = fdiv double %1525, %1526
%1528 = load double*, double** %9
%1529 = load i64, i64* %7
%1530 = load i32, i32* %8
%1531 = sext i32 %1530 to i64
%1532 = sub nsw i64 %1529, %1531
%1533 = add nsw i64 %1532, 1
%1534 = add nsw i64 %1533, 1
%1535 = getelementptr inbounds double, double* %1528, i64 %1534
%1536 = load double, double* %1535
%1537 = load double*, double** %9
%1538 = load i64, i64* %7
%1539 = load i32, i32* %8
%1540 = sext i32 %1539 to i64
%1541 = sub nsw i64 %1538, %1540
%1542 = add nsw i64 %1541, 1
%1543 = getelementptr inbounds double, double* %1537, i64 %1542
%1544 = load double, double* %1543
%1545 = fsub double %1536, %1544
%1546 = load double, double* %11
%1547 = call double @llvm.fmuladd.f64(double %1527, double %1545, double %1546)
store double %1547, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%1548 = load double, double* %6
%1549 = load double*, double** %9
%1550 = load i64, i64* %7
%1551 = load i32, i32* %8
%1552 = sext i32 %1551 to i64
%1553 = sub nsw i64 %1550, %1552
%1554 = add nsw i64 %1553, 1
%1555 = getelementptr inbounds double, double* %1549, i64 %1554
%1556 = load double, double* %1555
%1557 = fsub double %1548, %1556
%1558 = load double, double* %13
%1559 = fmul double %1558, %1557
store double %1559, double* %13
%1560 = load double, double* %6
%1561 = load double*, double** %9
%1562 = load i64, i64* %7
%1563 = load i32, i32* %8
%1564 = sext i32 %1563 to i64
%1565 = sub nsw i64 %1562, %1564
%1566 = add nsw i64 %1565, 2
%1567 = getelementptr inbounds double, double* %1561, i64 %1566
%1568 = load double, double* %1567
%1569 = fsub double %1560, %1568
%1570 = load double, double* %13
%1571 = fmul double %1570, %1569
store double %1571, double* %13
%1572 = load double, double* %6
%1573 = load double*, double** %9
%1574 = load i64, i64* %7
%1575 = load i32, i32* %8
%1576 = sext i32 %1575 to i64
%1577 = sub nsw i64 %1574, %1576
%1578 = add nsw i64 %1577, 3
%1579 = getelementptr inbounds double, double* %1573, i64 %1578
%1580 = load double, double* %1579
%1581 = fsub double %1572, %1580
%1582 = load double, double* %13
%1583 = fmul double %1582, %1581
store double %1583, double* %13
%1584 = load double, double* %13
%1585 = load double, double* %12
%1586 = fadd double %1585, %1584
store double %1586, double* %12
store double 1.000000e+00, double* %13
%1587 = load double, double* %6
%1588 = load double*, double** %9
%1589 = load i64, i64* %7
%1590 = load i32, i32* %8
%1591 = sext i32 %1590 to i64
%1592 = sub nsw i64 %1589, %1591
%1593 = add nsw i64 %1592, 0
%1594 = getelementptr inbounds double, double* %1588, i64 %1593
%1595 = load double, double* %1594
%1596 = fsub double %1587, %1595
%1597 = load double, double* %13
%1598 = fmul double %1597, %1596
store double %1598, double* %13
%1599 = load double, double* %6
%1600 = load double*, double** %9
%1601 = load i64, i64* %7
%1602 = load i32, i32* %8
%1603 = sext i32 %1602 to i64
%1604 = sub nsw i64 %1601, %1603
%1605 = add nsw i64 %1604, 2
%1606 = getelementptr inbounds double, double* %1600, i64 %1605
%1607 = load double, double* %1606
%1608 = fsub double %1599, %1607
%1609 = load double, double* %13
%1610 = fmul double %1609, %1608
store double %1610, double* %13
%1611 = load double, double* %6
%1612 = load double*, double** %9
%1613 = load i64, i64* %7
%1614 = load i32, i32* %8
%1615 = sext i32 %1614 to i64
%1616 = sub nsw i64 %1613, %1615
%1617 = add nsw i64 %1616, 3
%1618 = getelementptr inbounds double, double* %1612, i64 %1617
%1619 = load double, double* %1618
%1620 = fsub double %1611, %1619
%1621 = load double, double* %13
%1622 = fmul double %1621, %1620
store double %1622, double* %13
%1623 = load double, double* %13
%1624 = load double, double* %12
%1625 = fadd double %1624, %1623
store double %1625, double* %12
store double 1.000000e+00, double* %13
%1626 = load double, double* %6
%1627 = load double*, double** %9
%1628 = load i64, i64* %7
%1629 = load i32, i32* %8
%1630 = sext i32 %1629 to i64
%1631 = sub nsw i64 %1628, %1630
%1632 = add nsw i64 %1631, 0
%1633 = getelementptr inbounds double, double* %1627, i64 %1632
%1634 = load double, double* %1633
%1635 = fsub double %1626, %1634
%1636 = load double, double* %13
%1637 = fmul double %1636, %1635
store double %1637, double* %13
%1638 = load double, double* %6
%1639 = load double*, double** %9
%1640 = load i64, i64* %7
%1641 = load i32, i32* %8
%1642 = sext i32 %1641 to i64
%1643 = sub nsw i64 %1640, %1642
%1644 = add nsw i64 %1643, 1
%1645 = getelementptr inbounds double, double* %1639, i64 %1644
%1646 = load double, double* %1645
%1647 = fsub double %1638, %1646
%1648 = load double, double* %13
%1649 = fmul double %1648, %1647
store double %1649, double* %13
%1650 = load double, double* %6
%1651 = load double*, double** %9
%1652 = load i64, i64* %7
%1653 = load i32, i32* %8
%1654 = sext i32 %1653 to i64
%1655 = sub nsw i64 %1652, %1654
%1656 = add nsw i64 %1655, 3
%1657 = getelementptr inbounds double, double* %1651, i64 %1656
%1658 = load double, double* %1657
%1659 = fsub double %1650, %1658
%1660 = load double, double* %13
%1661 = fmul double %1660, %1659
store double %1661, double* %13
%1662 = load double, double* %13
%1663 = load double, double* %12
%1664 = fadd double %1663, %1662
store double %1664, double* %12
store double 1.000000e+00, double* %13
%1665 = load double, double* %6
%1666 = load double*, double** %9
%1667 = load i64, i64* %7
%1668 = load i32, i32* %8
%1669 = sext i32 %1668 to i64
%1670 = sub nsw i64 %1667, %1669
%1671 = add nsw i64 %1670, 0
%1672 = getelementptr inbounds double, double* %1666, i64 %1671
%1673 = load double, double* %1672
%1674 = fsub double %1665, %1673
%1675 = load double, double* %13
%1676 = fmul double %1675, %1674
store double %1676, double* %13
%1677 = load double, double* %6
%1678 = load double*, double** %9
%1679 = load i64, i64* %7
%1680 = load i32, i32* %8
%1681 = sext i32 %1680 to i64
%1682 = sub nsw i64 %1679, %1681
%1683 = add nsw i64 %1682, 1
%1684 = getelementptr inbounds double, double* %1678, i64 %1683
%1685 = load double, double* %1684
%1686 = fsub double %1677, %1685
%1687 = load double, double* %13
%1688 = fmul double %1687, %1686
store double %1688, double* %13
%1689 = load double, double* %6
%1690 = load double*, double** %9
%1691 = load i64, i64* %7
%1692 = load i32, i32* %8
%1693 = sext i32 %1692 to i64
%1694 = sub nsw i64 %1691, %1693
%1695 = add nsw i64 %1694, 2
%1696 = getelementptr inbounds double, double* %1690, i64 %1695
%1697 = load double, double* %1696
%1698 = fsub double %1689, %1697
%1699 = load double, double* %13
%1700 = fmul double %1699, %1698
store double %1700, double* %13
%1701 = load double, double* %13
%1702 = load double, double* %12
%1703 = fadd double %1702, %1701
store double %1703, double* %12
store double 1.000000e+00, double* %14
%1704 = load double*, double** %9
%1705 = load i64, i64* %7
%1706 = load i32, i32* %8
%1707 = sext i32 %1706 to i64
%1708 = sub nsw i64 %1705, %1707
%1709 = add nsw i64 %1708, 4
%1710 = getelementptr inbounds double, double* %1704, i64 %1709
%1711 = load double, double* %1710
%1712 = load double*, double** %9
%1713 = load i64, i64* %7
%1714 = load i32, i32* %8
%1715 = sext i32 %1714 to i64
%1716 = sub nsw i64 %1713, %1715
%1717 = add nsw i64 %1716, 0
%1718 = getelementptr inbounds double, double* %1712, i64 %1717
%1719 = load double, double* %1718
%1720 = fsub double %1711, %1719
%1721 = load double, double* %14
%1722 = fmul double %1721, %1720
store double %1722, double* %14
%1723 = load double*, double** %9
%1724 = load i64, i64* %7
%1725 = load i32, i32* %8
%1726 = sext i32 %1725 to i64
%1727 = sub nsw i64 %1724, %1726
%1728 = add nsw i64 %1727, 4
%1729 = getelementptr inbounds double, double* %1723, i64 %1728
%1730 = load double, double* %1729
%1731 = load double*, double** %9
%1732 = load i64, i64* %7
%1733 = load i32, i32* %8
%1734 = sext i32 %1733 to i64
%1735 = sub nsw i64 %1732, %1734
%1736 = add nsw i64 %1735, 1
%1737 = getelementptr inbounds double, double* %1731, i64 %1736
%1738 = load double, double* %1737
%1739 = fsub double %1730, %1738
%1740 = load double, double* %14
%1741 = fmul double %1740, %1739
store double %1741, double* %14
%1742 = load double*, double** %9
%1743 = load i64, i64* %7
%1744 = load i32, i32* %8
%1745 = sext i32 %1744 to i64
%1746 = sub nsw i64 %1743, %1745
%1747 = add nsw i64 %1746, 4
%1748 = getelementptr inbounds double, double* %1742, i64 %1747
%1749 = load double, double* %1748
%1750 = load double*, double** %9
%1751 = load i64, i64* %7
%1752 = load i32, i32* %8
%1753 = sext i32 %1752 to i64
%1754 = sub nsw i64 %1751, %1753
%1755 = add nsw i64 %1754, 2
%1756 = getelementptr inbounds double, double* %1750, i64 %1755
%1757 = load double, double* %1756
%1758 = fsub double %1749, %1757
%1759 = load double, double* %14
%1760 = fmul double %1759, %1758
store double %1760, double* %14
%1761 = load double*, double** %9
%1762 = load i64, i64* %7
%1763 = load i32, i32* %8
%1764 = sext i32 %1763 to i64
%1765 = sub nsw i64 %1762, %1764
%1766 = add nsw i64 %1765, 4
%1767 = getelementptr inbounds double, double* %1761, i64 %1766
%1768 = load double, double* %1767
%1769 = load double*, double** %9
%1770 = load i64, i64* %7
%1771 = load i32, i32* %8
%1772 = sext i32 %1771 to i64
%1773 = sub nsw i64 %1770, %1772
%1774 = add nsw i64 %1773, 3
%1775 = getelementptr inbounds double, double* %1769, i64 %1774
%1776 = load double, double* %1775
%1777 = fsub double %1768, %1776
%1778 = load double, double* %14
%1779 = fmul double %1778, %1777
store double %1779, double* %14
%1780 = load double, double* %12
%1781 = load double, double* %14
%1782 = fdiv double %1780, %1781
%1783 = load double*, double** %9
%1784 = load i64, i64* %7
%1785 = load i32, i32* %8
%1786 = sext i32 %1785 to i64
%1787 = sub nsw i64 %1784, %1786
%1788 = add nsw i64 %1787, 1
%1789 = add nsw i64 %1788, 1
%1790 = getelementptr inbounds double, double* %1783, i64 %1789
%1791 = load double, double* %1790
%1792 = load double*, double** %9
%1793 = load i64, i64* %7
%1794 = load i32, i32* %8
%1795 = sext i32 %1794 to i64
%1796 = sub nsw i64 %1793, %1795
%1797 = add nsw i64 %1796, 1
%1798 = getelementptr inbounds double, double* %1792, i64 %1797
%1799 = load double, double* %1798
%1800 = fsub double %1791, %1799
%1801 = load double, double* %11
%1802 = call double @llvm.fmuladd.f64(double %1782, double %1800, double %1801)
store double %1802, double* %11
%1803 = load double, double* %11
%1804 = load double*, double** %10
%1805 = getelementptr inbounds double, double* %1804, i64 1
store double %1803, double* %1805
store double 0.000000e+00, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%1806 = load double, double* %6
%1807 = load double*, double** %9
%1808 = load i64, i64* %7
%1809 = load i32, i32* %8
%1810 = sext i32 %1809 to i64
%1811 = sub nsw i64 %1808, %1810
%1812 = add nsw i64 %1811, 1
%1813 = getelementptr inbounds double, double* %1807, i64 %1812
%1814 = load double, double* %1813
%1815 = fsub double %1806, %1814
%1816 = load double, double* %13
%1817 = fmul double %1816, %1815
store double %1817, double* %13
%1818 = load double, double* %6
%1819 = load double*, double** %9
%1820 = load i64, i64* %7
%1821 = load i32, i32* %8
%1822 = sext i32 %1821 to i64
%1823 = sub nsw i64 %1820, %1822
%1824 = add nsw i64 %1823, 2
%1825 = getelementptr inbounds double, double* %1819, i64 %1824
%1826 = load double, double* %1825
%1827 = fsub double %1818, %1826
%1828 = load double, double* %13
%1829 = fmul double %1828, %1827
store double %1829, double* %13
%1830 = load double, double* %6
%1831 = load double*, double** %9
%1832 = load i64, i64* %7
%1833 = load i32, i32* %8
%1834 = sext i32 %1833 to i64
%1835 = sub nsw i64 %1832, %1834
%1836 = add nsw i64 %1835, 4
%1837 = getelementptr inbounds double, double* %1831, i64 %1836
%1838 = load double, double* %1837
%1839 = fsub double %1830, %1838
%1840 = load double, double* %13
%1841 = fmul double %1840, %1839
store double %1841, double* %13
%1842 = load double, double* %13
%1843 = load double, double* %12
%1844 = fadd double %1843, %1842
store double %1844, double* %12
store double 1.000000e+00, double* %13
%1845 = load double, double* %6
%1846 = load double*, double** %9
%1847 = load i64, i64* %7
%1848 = load i32, i32* %8
%1849 = sext i32 %1848 to i64
%1850 = sub nsw i64 %1847, %1849
%1851 = add nsw i64 %1850, 0
%1852 = getelementptr inbounds double, double* %1846, i64 %1851
%1853 = load double, double* %1852
%1854 = fsub double %1845, %1853
%1855 = load double, double* %13
%1856 = fmul double %1855, %1854
store double %1856, double* %13
%1857 = load double, double* %6
%1858 = load double*, double** %9
%1859 = load i64, i64* %7
%1860 = load i32, i32* %8
%1861 = sext i32 %1860 to i64
%1862 = sub nsw i64 %1859, %1861
%1863 = add nsw i64 %1862, 2
%1864 = getelementptr inbounds double, double* %1858, i64 %1863
%1865 = load double, double* %1864
%1866 = fsub double %1857, %1865
%1867 = load double, double* %13
%1868 = fmul double %1867, %1866
store double %1868, double* %13
%1869 = load double, double* %6
%1870 = load double*, double** %9
%1871 = load i64, i64* %7
%1872 = load i32, i32* %8
%1873 = sext i32 %1872 to i64
%1874 = sub nsw i64 %1871, %1873
%1875 = add nsw i64 %1874, 4
%1876 = getelementptr inbounds double, double* %1870, i64 %1875
%1877 = load double, double* %1876
%1878 = fsub double %1869, %1877
%1879 = load double, double* %13
%1880 = fmul double %1879, %1878
store double %1880, double* %13
%1881 = load double, double* %13
%1882 = load double, double* %12
%1883 = fadd double %1882, %1881
store double %1883, double* %12
store double 1.000000e+00, double* %13
%1884 = load double, double* %6
%1885 = load double*, double** %9
%1886 = load i64, i64* %7
%1887 = load i32, i32* %8
%1888 = sext i32 %1887 to i64
%1889 = sub nsw i64 %1886, %1888
%1890 = add nsw i64 %1889, 0
%1891 = getelementptr inbounds double, double* %1885, i64 %1890
%1892 = load double, double* %1891
%1893 = fsub double %1884, %1892
%1894 = load double, double* %13
%1895 = fmul double %1894, %1893
store double %1895, double* %13
%1896 = load double, double* %6
%1897 = load double*, double** %9
%1898 = load i64, i64* %7
%1899 = load i32, i32* %8
%1900 = sext i32 %1899 to i64
%1901 = sub nsw i64 %1898, %1900
%1902 = add nsw i64 %1901, 1
%1903 = getelementptr inbounds double, double* %1897, i64 %1902
%1904 = load double, double* %1903
%1905 = fsub double %1896, %1904
%1906 = load double, double* %13
%1907 = fmul double %1906, %1905
store double %1907, double* %13
%1908 = load double, double* %6
%1909 = load double*, double** %9
%1910 = load i64, i64* %7
%1911 = load i32, i32* %8
%1912 = sext i32 %1911 to i64
%1913 = sub nsw i64 %1910, %1912
%1914 = add nsw i64 %1913, 4
%1915 = getelementptr inbounds double, double* %1909, i64 %1914
%1916 = load double, double* %1915
%1917 = fsub double %1908, %1916
%1918 = load double, double* %13
%1919 = fmul double %1918, %1917
store double %1919, double* %13
%1920 = load double, double* %13
%1921 = load double, double* %12
%1922 = fadd double %1921, %1920
store double %1922, double* %12
store double 1.000000e+00, double* %13
%1923 = load double, double* %6
%1924 = load double*, double** %9
%1925 = load i64, i64* %7
%1926 = load i32, i32* %8
%1927 = sext i32 %1926 to i64
%1928 = sub nsw i64 %1925, %1927
%1929 = add nsw i64 %1928, 0
%1930 = getelementptr inbounds double, double* %1924, i64 %1929
%1931 = load double, double* %1930
%1932 = fsub double %1923, %1931
%1933 = load double, double* %13
%1934 = fmul double %1933, %1932
store double %1934, double* %13
%1935 = load double, double* %6
%1936 = load double*, double** %9
%1937 = load i64, i64* %7
%1938 = load i32, i32* %8
%1939 = sext i32 %1938 to i64
%1940 = sub nsw i64 %1937, %1939
%1941 = add nsw i64 %1940, 1
%1942 = getelementptr inbounds double, double* %1936, i64 %1941
%1943 = load double, double* %1942
%1944 = fsub double %1935, %1943
%1945 = load double, double* %13
%1946 = fmul double %1945, %1944
store double %1946, double* %13
%1947 = load double, double* %6
%1948 = load double*, double** %9
%1949 = load i64, i64* %7
%1950 = load i32, i32* %8
%1951 = sext i32 %1950 to i64
%1952 = sub nsw i64 %1949, %1951
%1953 = add nsw i64 %1952, 2
%1954 = getelementptr inbounds double, double* %1948, i64 %1953
%1955 = load double, double* %1954
%1956 = fsub double %1947, %1955
%1957 = load double, double* %13
%1958 = fmul double %1957, %1956
store double %1958, double* %13
%1959 = load double, double* %13
%1960 = load double, double* %12
%1961 = fadd double %1960, %1959
store double %1961, double* %12
store double 1.000000e+00, double* %14
%1962 = load double*, double** %9
%1963 = load i64, i64* %7
%1964 = load i32, i32* %8
%1965 = sext i32 %1964 to i64
%1966 = sub nsw i64 %1963, %1965
%1967 = add nsw i64 %1966, 3
%1968 = getelementptr inbounds double, double* %1962, i64 %1967
%1969 = load double, double* %1968
%1970 = load double*, double** %9
%1971 = load i64, i64* %7
%1972 = load i32, i32* %8
%1973 = sext i32 %1972 to i64
%1974 = sub nsw i64 %1971, %1973
%1975 = add nsw i64 %1974, 0
%1976 = getelementptr inbounds double, double* %1970, i64 %1975
%1977 = load double, double* %1976
%1978 = fsub double %1969, %1977
%1979 = load double, double* %14
%1980 = fmul double %1979, %1978
store double %1980, double* %14
%1981 = load double*, double** %9
%1982 = load i64, i64* %7
%1983 = load i32, i32* %8
%1984 = sext i32 %1983 to i64
%1985 = sub nsw i64 %1982, %1984
%1986 = add nsw i64 %1985, 3
%1987 = getelementptr inbounds double, double* %1981, i64 %1986
%1988 = load double, double* %1987
%1989 = load double*, double** %9
%1990 = load i64, i64* %7
%1991 = load i32, i32* %8
%1992 = sext i32 %1991 to i64
%1993 = sub nsw i64 %1990, %1992
%1994 = add nsw i64 %1993, 1
%1995 = getelementptr inbounds double, double* %1989, i64 %1994
%1996 = load double, double* %1995
%1997 = fsub double %1988, %1996
%1998 = load double, double* %14
%1999 = fmul double %1998, %1997
store double %1999, double* %14
%2000 = load double*, double** %9
%2001 = load i64, i64* %7
%2002 = load i32, i32* %8
%2003 = sext i32 %2002 to i64
%2004 = sub nsw i64 %2001, %2003
%2005 = add nsw i64 %2004, 3
%2006 = getelementptr inbounds double, double* %2000, i64 %2005
%2007 = load double, double* %2006
%2008 = load double*, double** %9
%2009 = load i64, i64* %7
%2010 = load i32, i32* %8
%2011 = sext i32 %2010 to i64
%2012 = sub nsw i64 %2009, %2011
%2013 = add nsw i64 %2012, 2
%2014 = getelementptr inbounds double, double* %2008, i64 %2013
%2015 = load double, double* %2014
%2016 = fsub double %2007, %2015
%2017 = load double, double* %14
%2018 = fmul double %2017, %2016
store double %2018, double* %14
%2019 = load double*, double** %9
%2020 = load i64, i64* %7
%2021 = load i32, i32* %8
%2022 = sext i32 %2021 to i64
%2023 = sub nsw i64 %2020, %2022
%2024 = add nsw i64 %2023, 3
%2025 = getelementptr inbounds double, double* %2019, i64 %2024
%2026 = load double, double* %2025
%2027 = load double*, double** %9
%2028 = load i64, i64* %7
%2029 = load i32, i32* %8
%2030 = sext i32 %2029 to i64
%2031 = sub nsw i64 %2028, %2030
%2032 = add nsw i64 %2031, 4
%2033 = getelementptr inbounds double, double* %2027, i64 %2032
%2034 = load double, double* %2033
%2035 = fsub double %2026, %2034
%2036 = load double, double* %14
%2037 = fmul double %2036, %2035
store double %2037, double* %14
%2038 = load double, double* %12
%2039 = load double, double* %14
%2040 = fdiv double %2038, %2039
%2041 = load double*, double** %9
%2042 = load i64, i64* %7
%2043 = load i32, i32* %8
%2044 = sext i32 %2043 to i64
%2045 = sub nsw i64 %2042, %2044
%2046 = add nsw i64 %2045, 2
%2047 = add nsw i64 %2046, 1
%2048 = getelementptr inbounds double, double* %2041, i64 %2047
%2049 = load double, double* %2048
%2050 = load double*, double** %9
%2051 = load i64, i64* %7
%2052 = load i32, i32* %8
%2053 = sext i32 %2052 to i64
%2054 = sub nsw i64 %2051, %2053
%2055 = add nsw i64 %2054, 2
%2056 = getelementptr inbounds double, double* %2050, i64 %2055
%2057 = load double, double* %2056
%2058 = fsub double %2049, %2057
%2059 = load double, double* %11
%2060 = call double @llvm.fmuladd.f64(double %2040, double %2058, double %2059)
store double %2060, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%2061 = load double, double* %6
%2062 = load double*, double** %9
%2063 = load i64, i64* %7
%2064 = load i32, i32* %8
%2065 = sext i32 %2064 to i64
%2066 = sub nsw i64 %2063, %2065
%2067 = add nsw i64 %2066, 1
%2068 = getelementptr inbounds double, double* %2062, i64 %2067
%2069 = load double, double* %2068
%2070 = fsub double %2061, %2069
%2071 = load double, double* %13
%2072 = fmul double %2071, %2070
store double %2072, double* %13
%2073 = load double, double* %6
%2074 = load double*, double** %9
%2075 = load i64, i64* %7
%2076 = load i32, i32* %8
%2077 = sext i32 %2076 to i64
%2078 = sub nsw i64 %2075, %2077
%2079 = add nsw i64 %2078, 2
%2080 = getelementptr inbounds double, double* %2074, i64 %2079
%2081 = load double, double* %2080
%2082 = fsub double %2073, %2081
%2083 = load double, double* %13
%2084 = fmul double %2083, %2082
store double %2084, double* %13
%2085 = load double, double* %6
%2086 = load double*, double** %9
%2087 = load i64, i64* %7
%2088 = load i32, i32* %8
%2089 = sext i32 %2088 to i64
%2090 = sub nsw i64 %2087, %2089
%2091 = add nsw i64 %2090, 3
%2092 = getelementptr inbounds double, double* %2086, i64 %2091
%2093 = load double, double* %2092
%2094 = fsub double %2085, %2093
%2095 = load double, double* %13
%2096 = fmul double %2095, %2094
store double %2096, double* %13
%2097 = load double, double* %13
%2098 = load double, double* %12
%2099 = fadd double %2098, %2097
store double %2099, double* %12
store double 1.000000e+00, double* %13
%2100 = load double, double* %6
%2101 = load double*, double** %9
%2102 = load i64, i64* %7
%2103 = load i32, i32* %8
%2104 = sext i32 %2103 to i64
%2105 = sub nsw i64 %2102, %2104
%2106 = add nsw i64 %2105, 0
%2107 = getelementptr inbounds double, double* %2101, i64 %2106
%2108 = load double, double* %2107
%2109 = fsub double %2100, %2108
%2110 = load double, double* %13
%2111 = fmul double %2110, %2109
store double %2111, double* %13
%2112 = load double, double* %6
%2113 = load double*, double** %9
%2114 = load i64, i64* %7
%2115 = load i32, i32* %8
%2116 = sext i32 %2115 to i64
%2117 = sub nsw i64 %2114, %2116
%2118 = add nsw i64 %2117, 2
%2119 = getelementptr inbounds double, double* %2113, i64 %2118
%2120 = load double, double* %2119
%2121 = fsub double %2112, %2120
%2122 = load double, double* %13
%2123 = fmul double %2122, %2121
store double %2123, double* %13
%2124 = load double, double* %6
%2125 = load double*, double** %9
%2126 = load i64, i64* %7
%2127 = load i32, i32* %8
%2128 = sext i32 %2127 to i64
%2129 = sub nsw i64 %2126, %2128
%2130 = add nsw i64 %2129, 3
%2131 = getelementptr inbounds double, double* %2125, i64 %2130
%2132 = load double, double* %2131
%2133 = fsub double %2124, %2132
%2134 = load double, double* %13
%2135 = fmul double %2134, %2133
store double %2135, double* %13
%2136 = load double, double* %13
%2137 = load double, double* %12
%2138 = fadd double %2137, %2136
store double %2138, double* %12
store double 1.000000e+00, double* %13
%2139 = load double, double* %6
%2140 = load double*, double** %9
%2141 = load i64, i64* %7
%2142 = load i32, i32* %8
%2143 = sext i32 %2142 to i64
%2144 = sub nsw i64 %2141, %2143
%2145 = add nsw i64 %2144, 0
%2146 = getelementptr inbounds double, double* %2140, i64 %2145
%2147 = load double, double* %2146
%2148 = fsub double %2139, %2147
%2149 = load double, double* %13
%2150 = fmul double %2149, %2148
store double %2150, double* %13
%2151 = load double, double* %6
%2152 = load double*, double** %9
%2153 = load i64, i64* %7
%2154 = load i32, i32* %8
%2155 = sext i32 %2154 to i64
%2156 = sub nsw i64 %2153, %2155
%2157 = add nsw i64 %2156, 1
%2158 = getelementptr inbounds double, double* %2152, i64 %2157
%2159 = load double, double* %2158
%2160 = fsub double %2151, %2159
%2161 = load double, double* %13
%2162 = fmul double %2161, %2160
store double %2162, double* %13
%2163 = load double, double* %6
%2164 = load double*, double** %9
%2165 = load i64, i64* %7
%2166 = load i32, i32* %8
%2167 = sext i32 %2166 to i64
%2168 = sub nsw i64 %2165, %2167
%2169 = add nsw i64 %2168, 3
%2170 = getelementptr inbounds double, double* %2164, i64 %2169
%2171 = load double, double* %2170
%2172 = fsub double %2163, %2171
%2173 = load double, double* %13
%2174 = fmul double %2173, %2172
store double %2174, double* %13
%2175 = load double, double* %13
%2176 = load double, double* %12
%2177 = fadd double %2176, %2175
store double %2177, double* %12
store double 1.000000e+00, double* %13
%2178 = load double, double* %6
%2179 = load double*, double** %9
%2180 = load i64, i64* %7
%2181 = load i32, i32* %8
%2182 = sext i32 %2181 to i64
%2183 = sub nsw i64 %2180, %2182
%2184 = add nsw i64 %2183, 0
%2185 = getelementptr inbounds double, double* %2179, i64 %2184
%2186 = load double, double* %2185
%2187 = fsub double %2178, %2186
%2188 = load double, double* %13
%2189 = fmul double %2188, %2187
store double %2189, double* %13
%2190 = load double, double* %6
%2191 = load double*, double** %9
%2192 = load i64, i64* %7
%2193 = load i32, i32* %8
%2194 = sext i32 %2193 to i64
%2195 = sub nsw i64 %2192, %2194
%2196 = add nsw i64 %2195, 1
%2197 = getelementptr inbounds double, double* %2191, i64 %2196
%2198 = load double, double* %2197
%2199 = fsub double %2190, %2198
%2200 = load double, double* %13
%2201 = fmul double %2200, %2199
store double %2201, double* %13
%2202 = load double, double* %6
%2203 = load double*, double** %9
%2204 = load i64, i64* %7
%2205 = load i32, i32* %8
%2206 = sext i32 %2205 to i64
%2207 = sub nsw i64 %2204, %2206
%2208 = add nsw i64 %2207, 2
%2209 = getelementptr inbounds double, double* %2203, i64 %2208
%2210 = load double, double* %2209
%2211 = fsub double %2202, %2210
%2212 = load double, double* %13
%2213 = fmul double %2212, %2211
store double %2213, double* %13
%2214 = load double, double* %13
%2215 = load double, double* %12
%2216 = fadd double %2215, %2214
store double %2216, double* %12
store double 1.000000e+00, double* %14
%2217 = load double*, double** %9
%2218 = load i64, i64* %7
%2219 = load i32, i32* %8
%2220 = sext i32 %2219 to i64
%2221 = sub nsw i64 %2218, %2220
%2222 = add nsw i64 %2221, 4
%2223 = getelementptr inbounds double, double* %2217, i64 %2222
%2224 = load double, double* %2223
%2225 = load double*, double** %9
%2226 = load i64, i64* %7
%2227 = load i32, i32* %8
%2228 = sext i32 %2227 to i64
%2229 = sub nsw i64 %2226, %2228
%2230 = add nsw i64 %2229, 0
%2231 = getelementptr inbounds double, double* %2225, i64 %2230
%2232 = load double, double* %2231
%2233 = fsub double %2224, %2232
%2234 = load double, double* %14
%2235 = fmul double %2234, %2233
store double %2235, double* %14
%2236 = load double*, double** %9
%2237 = load i64, i64* %7
%2238 = load i32, i32* %8
%2239 = sext i32 %2238 to i64
%2240 = sub nsw i64 %2237, %2239
%2241 = add nsw i64 %2240, 4
%2242 = getelementptr inbounds double, double* %2236, i64 %2241
%2243 = load double, double* %2242
%2244 = load double*, double** %9
%2245 = load i64, i64* %7
%2246 = load i32, i32* %8
%2247 = sext i32 %2246 to i64
%2248 = sub nsw i64 %2245, %2247
%2249 = add nsw i64 %2248, 1
%2250 = getelementptr inbounds double, double* %2244, i64 %2249
%2251 = load double, double* %2250
%2252 = fsub double %2243, %2251
%2253 = load double, double* %14
%2254 = fmul double %2253, %2252
store double %2254, double* %14
%2255 = load double*, double** %9
%2256 = load i64, i64* %7
%2257 = load i32, i32* %8
%2258 = sext i32 %2257 to i64
%2259 = sub nsw i64 %2256, %2258
%2260 = add nsw i64 %2259, 4
%2261 = getelementptr inbounds double, double* %2255, i64 %2260
%2262 = load double, double* %2261
%2263 = load double*, double** %9
%2264 = load i64, i64* %7
%2265 = load i32, i32* %8
%2266 = sext i32 %2265 to i64
%2267 = sub nsw i64 %2264, %2266
%2268 = add nsw i64 %2267, 2
%2269 = getelementptr inbounds double, double* %2263, i64 %2268
%2270 = load double, double* %2269
%2271 = fsub double %2262, %2270
%2272 = load double, double* %14
%2273 = fmul double %2272, %2271
store double %2273, double* %14
%2274 = load double*, double** %9
%2275 = load i64, i64* %7
%2276 = load i32, i32* %8
%2277 = sext i32 %2276 to i64
%2278 = sub nsw i64 %2275, %2277
%2279 = add nsw i64 %2278, 4
%2280 = getelementptr inbounds double, double* %2274, i64 %2279
%2281 = load double, double* %2280
%2282 = load double*, double** %9
%2283 = load i64, i64* %7
%2284 = load i32, i32* %8
%2285 = sext i32 %2284 to i64
%2286 = sub nsw i64 %2283, %2285
%2287 = add nsw i64 %2286, 3
%2288 = getelementptr inbounds double, double* %2282, i64 %2287
%2289 = load double, double* %2288
%2290 = fsub double %2281, %2289
%2291 = load double, double* %14
%2292 = fmul double %2291, %2290
store double %2292, double* %14
%2293 = load double, double* %12
%2294 = load double, double* %14
%2295 = fdiv double %2293, %2294
%2296 = load double*, double** %9
%2297 = load i64, i64* %7
%2298 = load i32, i32* %8
%2299 = sext i32 %2298 to i64
%2300 = sub nsw i64 %2297, %2299
%2301 = add nsw i64 %2300, 2
%2302 = add nsw i64 %2301, 1
%2303 = getelementptr inbounds double, double* %2296, i64 %2302
%2304 = load double, double* %2303
%2305 = load double*, double** %9
%2306 = load i64, i64* %7
%2307 = load i32, i32* %8
%2308 = sext i32 %2307 to i64
%2309 = sub nsw i64 %2306, %2308
%2310 = add nsw i64 %2309, 2
%2311 = getelementptr inbounds double, double* %2305, i64 %2310
%2312 = load double, double* %2311
%2313 = fsub double %2304, %2312
%2314 = load double, double* %11
%2315 = call double @llvm.fmuladd.f64(double %2295, double %2313, double %2314)
store double %2315, double* %11
%2316 = load double, double* %11
%2317 = load double*, double** %10
%2318 = getelementptr inbounds double, double* %2317, i64 2
store double %2316, double* %2318
store double 0.000000e+00, double* %11
store double 0.000000e+00, double* %12
store double 1.000000e+00, double* %13
%2319 = load double, double* %6
%2320 = load double*, double** %9
%2321 = load i64, i64* %7
%2322 = load i32, i32* %8
%2323 = sext i32 %2322 to i64
%2324 = sub nsw i64 %2321, %2323
%2325 = add nsw i64 %2324, 1
%2326 = getelementptr inbounds double, double* %2320, i64 %2325
%2327 = load double, double* %2326
%2328 = fsub double %2319, %2327
%2329 = load double, double* %13
%2330 = fmul double %2329, %2328
store double %2330, double* %13
%2331 = load double, double* %6
%2332 = load double*, double** %9
%2333 = load i64, i64* %7
%2334 = load i32, i32* %8
%2335 = sext i32 %2334 to i64
%2336 = sub nsw i64 %2333, %2335
%2337 = add nsw i64 %2336, 2
%2338 = getelementptr inbounds double, double* %2332, i64 %2337
%2339 = load double, double* %2338
%2340 = fsub double %2331, %2339
%2341 = load double, double* %13
%2342 = fmul double %2341, %2340
store double %2342, double* %13
%2343 = load double, double* %6
%2344 = load double*, double** %9
%2345 = load i64, i64* %7
%2346 = load i32, i32* %8
%2347 = sext i32 %2346 to i64
%2348 = sub nsw i64 %2345, %2347
%2349 = add nsw i64 %2348, 3
%2350 = getelementptr inbounds double, double* %2344, i64 %2349
%2351 = load double, double* %2350
%2352 = fsub double %2343, %2351
%2353 = load double, double* %13
%2354 = fmul double %2353, %2352
store double %2354, double* %13
%2355 = load double, double* %13
%2356 = load double, double* %12
%2357 = fadd double %2356, %2355
store double %2357, double* %12
store double 1.000000e+00, double* %13
%2358 = load double, double* %6
%2359 = load double*, double** %9
%2360 = load i64, i64* %7
%2361 = load i32, i32* %8
%2362 = sext i32 %2361 to i64
%2363 = sub nsw i64 %2360, %2362
%2364 = add nsw i64 %2363, 0
%2365 = getelementptr inbounds double, double* %2359, i64 %2364
%2366 = load double, double* %2365
%2367 = fsub double %2358, %2366
%2368 = load double, double* %13
%2369 = fmul double %2368, %2367
store double %2369, double* %13
%2370 = load double, double* %6
%2371 = load double*, double** %9
%2372 = load i64, i64* %7
%2373 = load i32, i32* %8
%2374 = sext i32 %2373 to i64
%2375 = sub nsw i64 %2372, %2374
%2376 = add nsw i64 %2375, 2
%2377 = getelementptr inbounds double, double* %2371, i64 %2376
%2378 = load double, double* %2377
%2379 = fsub double %2370, %2378
%2380 = load double, double* %13
%2381 = fmul double %2380, %2379
store double %2381, double* %13
%2382 = load double, double* %6
%2383 = load double*, double** %9
%2384 = load i64, i64* %7
%2385 = load i32, i32* %8
%2386 = sext i32 %2385 to i64
%2387 = sub nsw i64 %2384, %2386
%2388 = add nsw i64 %2387, 3
%2389 = getelementptr inbounds double, double* %2383, i64 %2388
%2390 = load double, double* %2389
%2391 = fsub double %2382, %2390
%2392 = load double, double* %13
%2393 = fmul double %2392, %2391
store double %2393, double* %13
%2394 = load double, double* %13
%2395 = load double, double* %12
%2396 = fadd double %2395, %2394
store double %2396, double* %12
store double 1.000000e+00, double* %13
%2397 = load double, double* %6
%2398 = load double*, double** %9
%2399 = load i64, i64* %7
%2400 = load i32, i32* %8
%2401 = sext i32 %2400 to i64
%2402 = sub nsw i64 %2399, %2401
%2403 = add nsw i64 %2402, 0
%2404 = getelementptr inbounds double, double* %2398, i64 %2403
%2405 = load double, double* %2404
%2406 = fsub double %2397, %2405
%2407 = load double, double* %13
%2408 = fmul double %2407, %2406
store double %2408, double* %13
%2409 = load double, double* %6
%2410 = load double*, double** %9
%2411 = load i64, i64* %7
%2412 = load i32, i32* %8
%2413 = sext i32 %2412 to i64
%2414 = sub nsw i64 %2411, %2413
%2415 = add nsw i64 %2414, 1
%2416 = getelementptr inbounds double, double* %2410, i64 %2415
%2417 = load double, double* %2416
%2418 = fsub double %2409, %2417
%2419 = load double, double* %13
%2420 = fmul double %2419, %2418
store double %2420, double* %13
%2421 = load double, double* %6
%2422 = load double*, double** %9
%2423 = load i64, i64* %7
%2424 = load i32, i32* %8
%2425 = sext i32 %2424 to i64
%2426 = sub nsw i64 %2423, %2425
%2427 = add nsw i64 %2426, 3
%2428 = getelementptr inbounds double, double* %2422, i64 %2427
%2429 = load double, double* %2428
%2430 = fsub double %2421, %2429
%2431 = load double, double* %13
%2432 = fmul double %2431, %2430
store double %2432, double* %13
%2433 = load double, double* %13
%2434 = load double, double* %12
%2435 = fadd double %2434, %2433
store double %2435, double* %12
store double 1.000000e+00, double* %13
%2436 = load double, double* %6
%2437 = load double*, double** %9
%2438 = load i64, i64* %7
%2439 = load i32, i32* %8
%2440 = sext i32 %2439 to i64
%2441 = sub nsw i64 %2438, %2440
%2442 = add nsw i64 %2441, 0
%2443 = getelementptr inbounds double, double* %2437, i64 %2442
%2444 = load double, double* %2443
%2445 = fsub double %2436, %2444
%2446 = load double, double* %13
%2447 = fmul double %2446, %2445
store double %2447, double* %13
%2448 = load double, double* %6
%2449 = load double*, double** %9
%2450 = load i64, i64* %7
%2451 = load i32, i32* %8
%2452 = sext i32 %2451 to i64
%2453 = sub nsw i64 %2450, %2452
%2454 = add nsw i64 %2453, 1
%2455 = getelementptr inbounds double, double* %2449, i64 %2454
%2456 = load double, double* %2455
%2457 = fsub double %2448, %2456
%2458 = load double, double* %13
%2459 = fmul double %2458, %2457
store double %2459, double* %13
%2460 = load double, double* %6
%2461 = load double*, double** %9
%2462 = load i64, i64* %7
%2463 = load i32, i32* %8
%2464 = sext i32 %2463 to i64
%2465 = sub nsw i64 %2462, %2464
%2466 = add nsw i64 %2465, 2
%2467 = getelementptr inbounds double, double* %2461, i64 %2466
%2468 = load double, double* %2467
%2469 = fsub double %2460, %2468
%2470 = load double, double* %13
%2471 = fmul double %2470, %2469
store double %2471, double* %13
%2472 = load double, double* %13
%2473 = load double, double* %12
%2474 = fadd double %2473, %2472
store double %2474, double* %12
store double 1.000000e+00, double* %14
%2475 = load double*, double** %9
%2476 = load i64, i64* %7
%2477 = load i32, i32* %8
%2478 = sext i32 %2477 to i64
%2479 = sub nsw i64 %2476, %2478
%2480 = add nsw i64 %2479, 4
%2481 = getelementptr inbounds double, double* %2475, i64 %2480
%2482 = load double, double* %2481
%2483 = load double*, double** %9
%2484 = load i64, i64* %7
%2485 = load i32, i32* %8
%2486 = sext i32 %2485 to i64
%2487 = sub nsw i64 %2484, %2486
%2488 = add nsw i64 %2487, 0
%2489 = getelementptr inbounds double, double* %2483, i64 %2488
%2490 = load double, double* %2489
%2491 = fsub double %2482, %2490
%2492 = load double, double* %14
%2493 = fmul double %2492, %2491
store double %2493, double* %14
%2494 = load double*, double** %9
%2495 = load i64, i64* %7
%2496 = load i32, i32* %8
%2497 = sext i32 %2496 to i64
%2498 = sub nsw i64 %2495, %2497
%2499 = add nsw i64 %2498, 4
%2500 = getelementptr inbounds double, double* %2494, i64 %2499
%2501 = load double, double* %2500
%2502 = load double*, double** %9
%2503 = load i64, i64* %7
%2504 = load i32, i32* %8
%2505 = sext i32 %2504 to i64
%2506 = sub nsw i64 %2503, %2505
%2507 = add nsw i64 %2506, 1
%2508 = getelementptr inbounds double, double* %2502, i64 %2507
%2509 = load double, double* %2508
%2510 = fsub double %2501, %2509
%2511 = load double, double* %14
%2512 = fmul double %2511, %2510
store double %2512, double* %14
%2513 = load double*, double** %9
%2514 = load i64, i64* %7
%2515 = load i32, i32* %8
%2516 = sext i32 %2515 to i64
%2517 = sub nsw i64 %2514, %2516
%2518 = add nsw i64 %2517, 4
%2519 = getelementptr inbounds double, double* %2513, i64 %2518
%2520 = load double, double* %2519
%2521 = load double*, double** %9
%2522 = load i64, i64* %7
%2523 = load i32, i32* %8
%2524 = sext i32 %2523 to i64
%2525 = sub nsw i64 %2522, %2524
%2526 = add nsw i64 %2525, 2
%2527 = getelementptr inbounds double, double* %2521, i64 %2526
%2528 = load double, double* %2527
%2529 = fsub double %2520, %2528
%2530 = load double, double* %14
%2531 = fmul double %2530, %2529
store double %2531, double* %14
%2532 = load double*, double** %9
%2533 = load i64, i64* %7
%2534 = load i32, i32* %8
%2535 = sext i32 %2534 to i64
%2536 = sub nsw i64 %2533, %2535
%2537 = add nsw i64 %2536, 4
%2538 = getelementptr inbounds double, double* %2532, i64 %2537
%2539 = load double, double* %2538
%2540 = load double*, double** %9
%2541 = load i64, i64* %7
%2542 = load i32, i32* %8
%2543 = sext i32 %2542 to i64
%2544 = sub nsw i64 %2541, %2543
%2545 = add nsw i64 %2544, 3
%2546 = getelementptr inbounds double, double* %2540, i64 %2545
%2547 = load double, double* %2546
%2548 = fsub double %2539, %2547
%2549 = load double, double* %14
%2550 = fmul double %2549, %2548
store double %2550, double* %14
%2551 = load double, double* %12
%2552 = load double, double* %14
%2553 = fdiv double %2551, %2552
%2554 = load double*, double** %9
%2555 = load i64, i64* %7
%2556 = load i32, i32* %8
%2557 = sext i32 %2556 to i64
%2558 = sub nsw i64 %2555, %2557
%2559 = add nsw i64 %2558, 3
%2560 = add nsw i64 %2559, 1
%2561 = getelementptr inbounds double, double* %2554, i64 %2560
%2562 = load double, double* %2561
%2563 = load double*, double** %9
%2564 = load i64, i64* %7
%2565 = load i32, i32* %8
%2566 = sext i32 %2565 to i64
%2567 = sub nsw i64 %2564, %2566
%2568 = add nsw i64 %2567, 3
%2569 = getelementptr inbounds double, double* %2563, i64 %2568
%2570 = load double, double* %2569
%2571 = fsub double %2562, %2570
%2572 = load double, double* %11
%2573 = call double @llvm.fmuladd.f64(double %2553, double %2571, double %2572)
store double %2573, double* %11
%2574 = load double, double* %11
%2575 = load double*, double** %10
%2576 = getelementptr inbounds double, double* %2575, i64 3
store double %2574, double* %2576
ret void
}

LLVM IR (-O2):
define void @coeffs004(double %0, i64 %1, i32 %2, double* nocapture %3, double* nocapture writeonly %4) {
%6 = sext i32 %2 to i64
%7 = sub nsw i64 %1, %6
%8 = add nsw i64 %7, 2
%9 = getelementptr inbounds double, double* %3, i64 %8
%10 = load double, double* %9
%11 = fsub double %0, %10
%12 = add nsw i64 %7, 3
%13 = getelementptr inbounds double, double* %3, i64 %12
%14 = load double, double* %13
%15 = fsub double %0, %14
%16 = fmul double %11, %15
%17 = add nsw i64 %7, 4
%18 = getelementptr inbounds double, double* %3, i64 %17
%19 = load double, double* %18
%20 = fsub double %0, %19
%21 = fmul double %16, %20
%22 = fadd double %21, 0.000000e+00
%23 = getelementptr inbounds double, double* %3, i64 %7
%24 = load double, double* %23
%25 = fsub double %0, %24
%26 = fmul double %15, %25
%27 = fmul double %20, %26
%28 = fadd double %22, %27
%29 = fmul double %11, %25
%30 = fmul double %20, %29
%31 = fadd double %30, %28
%32 = fmul double %15, %29
%33 = fadd double %32, %31
%34 = add nsw i64 %7, 1
%35 = getelementptr inbounds double, double* %3, i64 %34
%36 = load double, double* %35
%37 = fsub double %36, %24
%38 = fsub double %36, %10
%39 = fmul double %37, %38
%40 = fsub double %36, %14
%41 = fmul double %40, %39
%42 = fsub double %36, %19
%43 = fmul double %42, %41
%44 = fdiv double %33, %43
%45 = tail call double @llvm.fmuladd.f64(double %44, double %37, double 0.000000e+00)
%46 = fsub double %0, %36
%47 = fmul double %15, %46
%48 = fmul double %20, %47
%49 = fadd double %48, 0.000000e+00
%50 = fadd double %27, %49
%51 = fmul double %25, %46
%52 = fmul double %20, %51
%53 = fadd double %52, %50
%54 = fmul double %15, %51
%55 = fadd double %54, %53
%56 = fsub double %10, %24
%57 = fsub double %10, %36
%58 = fmul double %56, %57
%59 = fsub double %10, %14
%60 = fmul double %59, %58
%61 = fsub double %10, %19
%62 = fmul double %61, %60
%63 = fdiv double %55, %62
%64 = tail call double @llvm.fmuladd.f64(double %63, double %37, double %45)
%65 = fmul double %11, %46
%66 = fmul double %20, %65
%67 = fadd double %66, 0.000000e+00
%68 = fadd double %30, %67
%69 = fadd double %52, %68
%70 = fmul double %11, %51
%71 = fadd double %70, %69
%72 = fsub double %14, %24
%73 = fsub double %14, %36
%74 = fmul double %72, %73
%75 = fsub double %14, %10
%76 = fmul double %75, %74
%77 = fsub double %14, %19
%78 = fmul double %77, %76
%79 = fdiv double %71, %78
%80 = tail call double @llvm.fmuladd.f64(double %79, double %37, double %64)
%81 = fmul double %15, %65
%82 = fadd double %81, 0.000000e+00
%83 = fadd double %32, %82
%84 = fadd double %54, %83
%85 = fadd double %70, %84
%86 = fsub double %19, %24
%87 = fsub double %19, %36
%88 = fmul double %86, %87
%89 = fsub double %19, %10
%90 = fmul double %89, %88
%91 = fsub double %19, %14
%92 = fmul double %91, %90
%93 = fdiv double %85, %92
%94 = tail call double @llvm.fmuladd.f64(double %93, double %37, double %80)
store double %94, double* %4
%95 = load double, double* %35
%96 = fsub double %0, %95
%97 = load double, double* %13
%98 = fsub double %0, %97
%99 = fmul double %96, %98
%100 = load double, double* %18
%101 = fsub double %0, %100
%102 = fmul double %99, %101
%103 = fadd double %102, 0.000000e+00
%104 = load double, double* %23
%105 = fsub double %0, %104
%106 = fmul double %98, %105
%107 = fmul double %101, %106
%108 = fadd double %103, %107
%109 = fmul double %96, %105
%110 = fmul double %101, %109
%111 = fadd double %110, %108
%112 = fmul double %98, %109
%113 = fadd double %112, %111
%114 = load double, double* %9
%115 = fsub double %114, %104
%116 = fsub double %114, %95
%117 = fmul double %115, %116
%118 = fsub double %114, %97
%119 = fmul double %118, %117
%120 = fsub double %114, %100
%121 = fmul double %120, %119
%122 = fdiv double %113, %121
%123 = tail call double @llvm.fmuladd.f64(double %122, double %116, double 0.000000e+00)
%124 = fsub double %0, %114
%125 = fmul double %96, %124
%126 = fmul double %101, %125
%127 = fadd double %126, 0.000000e+00
%128 = fmul double %105, %124
%129 = fmul double %101, %128
%130 = fadd double %129, %127
%131 = fadd double %110, %130
%132 = fmul double %109, %124
%133 = fadd double %132, %131
%134 = fsub double %97, %104
%135 = fsub double %97, %95
%136 = fmul double %135, %134
%137 = fsub double %97, %114
%138 = fmul double %136, %137
%139 = fsub double %97, %100
%140 = fmul double %139, %138
%141 = fdiv double %133, %140
%142 = tail call double @llvm.fmuladd.f64(double %141, double %116, double %123)
%143 = fmul double %98, %125
%144 = fadd double %143, 0.000000e+00
%145 = fmul double %98, %128
%146 = fadd double %145, %144
%147 = fadd double %112, %146
%148 = fadd double %132, %147
%149 = fsub double %100, %104
%150 = fsub double %100, %95
%151 = fmul double %150, %149
%152 = fsub double %100, %114
%153 = fmul double %151, %152
%154 = fsub double %100, %97
%155 = fmul double %154, %153
%156 = fdiv double %148, %155
%157 = tail call double @llvm.fmuladd.f64(double %156, double %116, double %142)
%158 = getelementptr inbounds double, double* %4, i64 1
store double %157, double* %158
%159 = load double, double* %35
%160 = fsub double %0, %159
%161 = load double, double* %9
%162 = fsub double %0, %161
%163 = fmul double %160, %162
%164 = load double, double* %18
%165 = fsub double %0, %164
%166 = fmul double %163, %165
%167 = fadd double %166, 0.000000e+00
%168 = load double, double* %23
%169 = fsub double %0, %168
%170 = fmul double %162, %169
%171 = fmul double %165, %170
%172 = fadd double %167, %171
%173 = fmul double %160, %169
%174 = fmul double %165, %173
%175 = fadd double %174, %172
%176 = fmul double %162, %173
%177 = fadd double %176, %175
%178 = load double, double* %13
%179 = fsub double %178, %168
%180 = fsub double %178, %159
%181 = fmul double %179, %180
%182 = fsub double %178, %161
%183 = fmul double %182, %181
%184 = fsub double %178, %164
%185 = fmul double %184, %183
%186 = fdiv double %177, %185
%187 = tail call double @llvm.fmuladd.f64(double %186, double %182, double 0.000000e+00)
%188 = fsub double %0, %178
%189 = fmul double %163, %188
%190 = fadd double %189, 0.000000e+00
%191 = fmul double %170, %188
%192 = fadd double %191, %190
%193 = fmul double %173, %188
%194 = fadd double %193, %192
%195 = fadd double %176, %194
%196 = fsub double %164, %168
%197 = fsub double %164, %159
%198 = fmul double %197, %196
%199 = fsub double %164, %161
%200 = fmul double %199, %198
%201 = fsub double %164, %178
%202 = fmul double %201, %200
%203 = fdiv double %195, %202
%204 = tail call double @llvm.fmuladd.f64(double %203, double %182, double %187)
%205 = getelementptr inbounds double, double* %4, i64 2
store double %204, double* %205
%206 = load double, double* %35
%207 = fsub double %0, %206
%208 = load double, double* %9
%209 = fsub double %0, %208
%210 = fmul double %207, %209
%211 = load double, double* %13
%212 = fsub double %0, %211
%213 = fmul double %210, %212
%214 = fadd double %213, 0.000000e+00
%215 = load double, double* %23
%216 = fsub double %0, %215
%217 = fmul double %209, %216
%218 = fmul double %212, %217
%219 = fadd double %214, %218
%220 = fmul double %207, %216
%221 = fmul double %212, %220
%222 = fadd double %221, %219
%223 = fmul double %209, %220
%224 = fadd double %223, %222
%225 = load double, double* %18
%226 = fsub double %225, %215
%227 = fsub double %225, %206
%228 = fmul double %226, %227
%229 = fsub double %225, %208
%230 = fmul double %229, %228
%231 = fsub double %225, %211
%232 = fmul double %231, %230
%233 = fdiv double %224, %232
%234 = tail call double @llvm.fmuladd.f64(double %233, double %231, double 0.000000e+00)
%235 = getelementptr inbounds double, double* %4, i64 3
store double %234, double* %235
ret void
}