void kernel_dtrsv_n_8_lib4_new(int kmax, double *A0, int sda,
                               int use_inv_diag_A, double *inv_diag_A,
                               double *x, double *y) {
  double *A1 = A0 + 4 * sda;
  __builtin_prefetch(A0);
  __builtin_prefetch(A1);
  __builtin_prefetch(A0 + 8);
  __builtin_prefetch(A1 + 8);
  const int lda = 4;
  int k;
  double x_0, x_1, x_2, x_3, y_0 = 0, y_1 = 0, y_2 = 0, y_3 = 0, y_4 = 0,
                             y_5 = 0, y_6 = 0, y_7 = 0;
  k = 0;
  for (; k < kmax - 7; k += 8) {
    __builtin_prefetch(A0 + 4 * lda);
    __builtin_prefetch(A1 + 4 * lda);
    __builtin_prefetch(A0 + 4 * lda + 8);
    __builtin_prefetch(A1 + 4 * lda + 8);
    x_0 = x[0];
    x_1 = x[1];
    x_2 = x[2];
    x_3 = x[3];
    y_0 += A0[0 + lda * 0] * x_0;
    y_1 += A0[1 + lda * 0] * x_0;
    y_2 += A0[2 + lda * 0] * x_0;
    y_3 += A0[3 + lda * 0] * x_0;
    y_4 += A1[0 + lda * 0] * x_0;
    y_5 += A1[1 + lda * 0] * x_0;
    y_6 += A1[2 + lda * 0] * x_0;
    y_7 += A1[3 + lda * 0] * x_0;
    y_0 += A0[0 + lda * 1] * x_1;
    y_1 += A0[1 + lda * 1] * x_1;
    y_2 += A0[2 + lda * 1] * x_1;
    y_3 += A0[3 + lda * 1] * x_1;
    y_4 += A1[0 + lda * 1] * x_1;
    y_5 += A1[1 + lda * 1] * x_1;
    y_6 += A1[2 + lda * 1] * x_1;
    y_7 += A1[3 + lda * 1] * x_1;
    y_0 += A0[0 + lda * 2] * x_2;
    y_1 += A0[1 + lda * 2] * x_2;
    y_2 += A0[2 + lda * 2] * x_2;
    y_3 += A0[3 + lda * 2] * x_2;
    y_4 += A1[0 + lda * 2] * x_2;
    y_5 += A1[1 + lda * 2] * x_2;
    y_6 += A1[2 + lda * 2] * x_2;
    y_7 += A1[3 + lda * 2] * x_2;
    y_0 += A0[0 + lda * 3] * x_3;
    y_1 += A0[1 + lda * 3] * x_3;
    y_2 += A0[2 + lda * 3] * x_3;
    y_3 += A0[3 + lda * 3] * x_3;
    y_4 += A1[0 + lda * 3] * x_3;
    y_5 += A1[1 + lda * 3] * x_3;
    y_6 += A1[2 + lda * 3] * x_3;
    y_7 += A1[3 + lda * 3] * x_3;
    A0 += 4 * lda;
    A1 += 4 * lda;
    x += 4;
    __builtin_prefetch(A0 + 4 * lda);
    __builtin_prefetch(A1 + 4 * lda);
    __builtin_prefetch(A0 + 4 * lda + 8);
    __builtin_prefetch(A1 + 4 * lda + 8);
    x_0 = x[0];
    x_1 = x[1];
    x_2 = x[2];
    x_3 = x[3];
    y_0 += A0[0 + lda * 0] * x_0;
    y_1 += A0[1 + lda * 0] * x_0;
    y_2 += A0[2 + lda * 0] * x_0;
    y_3 += A0[3 + lda * 0] * x_0;
    y_4 += A1[0 + lda * 0] * x_0;
    y_5 += A1[1 + lda * 0] * x_0;
    y_6 += A1[2 + lda * 0] * x_0;
    y_7 += A1[3 + lda * 0] * x_0;
    y_0 += A0[0 + lda * 1] * x_1;
    y_1 += A0[1 + lda * 1] * x_1;
    y_2 += A0[2 + lda * 1] * x_1;
    y_3 += A0[3 + lda * 1] * x_1;
    y_4 += A1[0 + lda * 1] * x_1;
    y_5 += A1[1 + lda * 1] * x_1;
    y_6 += A1[2 + lda * 1] * x_1;
    y_7 += A1[3 + lda * 1] * x_1;
    y_0 += A0[0 + lda * 2] * x_2;
    y_1 += A0[1 + lda * 2] * x_2;
    y_2 += A0[2 + lda * 2] * x_2;
    y_3 += A0[3 + lda * 2] * x_2;
    y_4 += A1[0 + lda * 2] * x_2;
    y_5 += A1[1 + lda * 2] * x_2;
    y_6 += A1[2 + lda * 2] * x_2;
    y_7 += A1[3 + lda * 2] * x_2;
    y_0 += A0[0 + lda * 3] * x_3;
    y_1 += A0[1 + lda * 3] * x_3;
    y_2 += A0[2 + lda * 3] * x_3;
    y_3 += A0[3 + lda * 3] * x_3;
    y_4 += A1[0 + lda * 3] * x_3;
    y_5 += A1[1 + lda * 3] * x_3;
    y_6 += A1[2 + lda * 3] * x_3;
    y_7 += A1[3 + lda * 3] * x_3;
    A0 += 4 * lda;
    A1 += 4 * lda;
    x += 4;
  }
  y_0 = y[0] - y_0;
  y_1 = y[1] - y_1;
  y_2 = y[2] - y_2;
  y_3 = y[3] - y_3;
  y_4 = y[4] - y_4;
  y_5 = y[5] - y_5;
  y_6 = y[6] - y_6;
  y_7 = y[7] - y_7;
  double a_00, a_10, a_20, a_30, a_40, a_50, a_60, a_70, a_11, a_21, a_31, a_41,
      a_51, a_61, a_71;
  if (use_inv_diag_A) {
    a_00 = inv_diag_A[0];
    a_10 = A0[1 + lda * 0];
    a_11 = inv_diag_A[1];
    y_0 *= a_00;
    y_1 -= a_10 * y_0;
    y_1 *= a_11;
    y[0] = y_0;
    y[1] = y_1;
    a_20 = A0[2 + lda * 0];
    a_30 = A0[3 + lda * 0];
    a_21 = A0[2 + lda * 1];
    a_31 = A0[3 + lda * 1];
    y_2 -= a_20 * y_0;
    y_3 -= a_30 * y_0;
    y_2 -= a_21 * y_1;
    y_3 -= a_31 * y_1;
    a_40 = A1[0 + lda * 0];
    a_50 = A1[1 + lda * 0];
    a_60 = A1[2 + lda * 0];
    a_70 = A1[3 + lda * 0];
    a_41 = A1[0 + lda * 1];
    a_51 = A1[1 + lda * 1];
    a_61 = A1[2 + lda * 1];
    a_71 = A1[3 + lda * 1];
    y_4 -= a_40 * y_0;
    y_5 -= a_50 * y_0;
    y_6 -= a_60 * y_0;
    y_7 -= a_70 * y_0;
    y_4 -= a_41 * y_1;
    y_5 -= a_51 * y_1;
    y_6 -= a_61 * y_1;
    y_7 -= a_71 * y_1;
    a_00 = inv_diag_A[2];
    a_10 = A0[3 + lda * 2];
    a_11 = inv_diag_A[3];
    y_2 *= a_00;
    y_3 -= a_10 * y_2;
    y_3 *= a_11;
    y[2] = y_2;
    y[3] = y_3;
    a_40 = A1[0 + lda * 2];
    a_50 = A1[1 + lda * 2];
    a_60 = A1[2 + lda * 2];
    a_70 = A1[3 + lda * 2];
    a_41 = A1[0 + lda * 3];
    a_51 = A1[1 + lda * 3];
    a_61 = A1[2 + lda * 3];
    a_71 = A1[3 + lda * 3];
    y_4 -= a_40 * y_2;
    y_5 -= a_50 * y_2;
    y_6 -= a_60 * y_2;
    y_7 -= a_70 * y_2;
    y_4 -= a_41 * y_3;
    y_5 -= a_51 * y_3;
    y_6 -= a_61 * y_3;
    y_7 -= a_71 * y_3;
    a_00 = inv_diag_A[4];
    a_10 = A1[1 + lda * 4];
    a_11 = inv_diag_A[5];
    y_4 *= a_00;
    y_5 -= a_10 * y_4;
    y_5 *= a_11;
    y[4] = y_4;
    y[5] = y_5;
    a_20 = A1[2 + lda * 4];
    a_30 = A1[3 + lda * 4];
    a_21 = A1[2 + lda * 5];
    a_31 = A1[3 + lda * 5];
    y_6 -= a_20 * y_4;
    y_7 -= a_30 * y_4;
    y_6 -= a_21 * y_5;
    y_7 -= a_31 * y_5;
    a_00 = inv_diag_A[6];
    a_10 = A1[3 + lda * 6];
    a_11 = inv_diag_A[7];
    y_6 *= a_00;
    y_7 -= a_10 * y_6;
    y_7 *= a_11;
    y[6] = y_6;
    y[7] = y_7;
  } else {
    a_00 = 1.0 / A0[0 + lda * 0];
    a_10 = A0[1 + lda * 0];
    a_11 = 1.0 / A0[1 + lda * 1];
    y_0 *= a_00;
    y_1 -= a_10 * y_0;
    y_1 *= a_11;
    y[0] = y_0;
    y[1] = y_1;
    a_20 = A0[2 + lda * 0];
    a_30 = A0[3 + lda * 0];
    a_21 = A0[2 + lda * 1];
    a_31 = A0[3 + lda * 1];
    y_2 -= a_20 * y_0;
    y_3 -= a_30 * y_0;
    y_2 -= a_21 * y_1;
    y_3 -= a_31 * y_1;
    a_40 = A1[0 + lda * 0];
    a_50 = A1[1 + lda * 0];
    a_60 = A1[2 + lda * 0];
    a_70 = A1[3 + lda * 0];
    a_41 = A1[0 + lda * 1];
    a_51 = A1[1 + lda * 1];
    a_61 = A1[2 + lda * 1];
    a_71 = A1[3 + lda * 1];
    y_4 -= a_40 * y_0;
    y_5 -= a_50 * y_0;
    y_6 -= a_60 * y_0;
    y_7 -= a_70 * y_0;
    y_4 -= a_41 * y_1;
    y_5 -= a_51 * y_1;
    y_6 -= a_61 * y_1;
    y_7 -= a_71 * y_1;
    a_00 = 1.0 / A0[2 + lda * 2];
    a_10 = A0[3 + lda * 2];
    a_11 = 1.0 / A0[3 + lda * 3];
    y_2 *= a_00;
    y_3 -= a_10 * y_2;
    y_3 *= a_11;
    y[2] = y_2;
    y[3] = y_3;
    a_40 = A1[0 + lda * 2];
    a_50 = A1[1 + lda * 2];
    a_60 = A1[2 + lda * 2];
    a_70 = A1[3 + lda * 2];
    a_41 = A1[0 + lda * 3];
    a_51 = A1[1 + lda * 3];
    a_61 = A1[2 + lda * 3];
    a_71 = A1[3 + lda * 3];
    y_4 -= a_40 * y_2;
    y_5 -= a_50 * y_2;
    y_6 -= a_60 * y_2;
    y_7 -= a_70 * y_2;
    y_4 -= a_41 * y_3;
    y_5 -= a_51 * y_3;
    y_6 -= a_61 * y_3;
    y_7 -= a_71 * y_3;
    a_00 = 1.0 / A1[0 + lda * 4];
    a_10 = A1[1 + lda * 4];
    a_11 = 1.0 / A1[1 + lda * 5];
    y_4 *= a_00;
    y_5 -= a_10 * y_4;
    y_5 *= a_11;
    y[4] = y_4;
    y[5] = y_5;
    a_20 = A1[2 + lda * 4];
    a_30 = A1[3 + lda * 4];
    a_21 = A1[2 + lda * 5];
    a_31 = A1[3 + lda * 5];
    y_6 -= a_20 * y_4;
    y_7 -= a_30 * y_4;
    y_6 -= a_21 * y_5;
    y_7 -= a_31 * y_5;
    a_00 = 1.0 / A1[2 + lda * 6];
    a_10 = A1[3 + lda * 6];
    a_11 = 1.0 / A1[3 + lda * 7];
    y_6 *= a_00;
    y_7 -= a_10 * y_6;
    y_7 *= a_11;
    y[6] = y_6;
    y[7] = y_7;
  }
}


x86 assembly (clang, -O0):
<kernel_dtrsv_n_8_lib4_new>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%rsp
mov    0x10(%rbp),%rax
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    %ecx,-0x18(%rbp)
mov    %r8,-0x20(%rbp)
mov    %r9,-0x28(%rbp)
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x10(%rbp),%rax
prefetcht0 (%rax)
mov    -0x30(%rbp),%rax
prefetcht0 (%rax)
mov    -0x10(%rbp),%rax
add    $0x40,%rax
prefetcht0 (%rax)
mov    -0x30(%rbp),%rax
add    $0x40,%rax
prefetcht0 (%rax)
movl   $0x4,-0x34(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x60(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x68(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x70(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x78(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x80(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movl   $0x0,-0x38(%rbp)
mov    -0x38(%rbp),%eax
mov    -0x4(%rbp),%ecx
sub    $0x7,%ecx
cmp    %ecx,%eax
jge    1b98 <kernel_dtrsv_n_8_lib4_new+0xa98>
mov    -0x10(%rbp),%rax
add    $0x80,%rax
prefetcht0 (%rax)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
prefetcht0 (%rax)
mov    -0x10(%rbp),%rax
add    $0x80,%rax
add    $0x40,%rax
prefetcht0 (%rax)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
add    $0x40,%rax
prefetcht0 (%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x10(%rbp)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x30(%rbp)
mov    -0x28(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x28(%rbp)
mov    -0x10(%rbp),%rax
add    $0x80,%rax
prefetcht0 (%rax)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
prefetcht0 (%rax)
mov    -0x10(%rbp),%rax
add    $0x80,%rax
add    $0x40,%rax
prefetcht0 (%rax)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
add    $0x40,%rax
prefetcht0 (%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x10(%rbp)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x30(%rbp)
mov    -0x28(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%eax
add    $0x8,%eax
mov    %eax,-0x38(%rbp)
jmp    11b7 <kernel_dtrsv_n_8_lib4_new+0xb7>
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
subsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
subsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
subsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
subsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
mov    0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
cmpl   $0x0,-0x18(%rbp)
je     263b <kernel_dtrsv_n_8_lib4_new+0x153b>
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x60(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x68(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x78(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x38(%rax)
jmp    3072 <kernel_dtrsv_n_8_lib4_new+0x1f72>
mov    -0x10(%rbp),%rax
movsd  0x19b9(%rip),%xmm0
divsd  (%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x1990(%rip),%xmm0
divsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x60(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x68(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x158b(%rip),%xmm0
divsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x1561(%rip),%xmm0
divsd  0x78(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x78(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x1276(%rip),%xmm0
divsd  0x80(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x1246(%rip),%xmm0
divsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x105f(%rip),%xmm0
divsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x102f(%rip),%xmm0
divsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
movsd  -0x90(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x38(%rax)
add    $0x90,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<kernel_dtrsv_n_8_lib4_new>:
mov    0x8(%rsp),%r10
shl    $0x2,%edx
movslq %edx,%r11
prefetcht0 (%rsi)
prefetcht0 (%rsi,%r11,8)
prefetcht0 0x40(%rsi)
prefetcht0 0x40(%rsi,%r11,8)
cmp    $0x8,%edi
jl     1442 <kernel_dtrsv_n_8_lib4_new+0x342>
add    $0xfffffff9,%edi
lea    0x0(,%r11,8),%rax
xorpd  %xmm11,%xmm11
xor    %edx,%edx
xorpd  %xmm5,%xmm5
xorpd  %xmm0,%xmm0
xorpd  %xmm2,%xmm2
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
prefetcht0 0x80(%rsi)
prefetcht0 0x80(%rsi,%rax,1)
prefetcht0 0xc0(%rsi)
prefetcht0 0xc0(%rsi,%rax,1)
movupd (%rsi,%rax,1),%xmm14
movupd 0x10(%rsi,%rax,1),%xmm6
movupd 0x20(%rsi,%rax,1),%xmm10
movupd 0x30(%rsi,%rax,1),%xmm9
movupd (%rsi),%xmm12
movupd 0x10(%rsi),%xmm7
movupd 0x20(%rsi),%xmm15
movupd 0x30(%rsi),%xmm8
movsd  (%r9,%rdx,8),%xmm3
movsd  0x8(%r9,%rdx,8),%xmm4
movsd  0x10(%r9,%rdx,8),%xmm1
movsd  0x18(%r9,%rdx,8),%xmm13
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm14
addpd  %xmm0,%xmm14
mulpd  %xmm3,%xmm6
addpd  %xmm2,%xmm6
mulpd  %xmm3,%xmm12
addpd  %xmm11,%xmm12
mulpd  %xmm7,%xmm3
addpd  %xmm5,%xmm3
unpcklpd %xmm4,%xmm4
mulpd  %xmm4,%xmm9
addpd  %xmm6,%xmm9
mulpd  %xmm4,%xmm10
addpd  %xmm14,%xmm10
mulpd  %xmm4,%xmm8
addpd  %xmm3,%xmm8
mulpd  %xmm15,%xmm4
addpd  %xmm12,%xmm4
movupd 0x50(%rsi),%xmm0
movupd 0x40(%rsi),%xmm2
movupd 0x40(%rsi,%rax,1),%xmm3
movupd 0x50(%rsi,%rax,1),%xmm6
unpcklpd %xmm1,%xmm1
mulpd  %xmm1,%xmm3
addpd  %xmm10,%xmm3
mulpd  %xmm1,%xmm6
addpd  %xmm9,%xmm6
mulpd  %xmm1,%xmm2
addpd  %xmm4,%xmm2
mulpd  %xmm0,%xmm1
addpd  %xmm8,%xmm1
movupd 0x60(%rsi),%xmm7
movupd 0x70(%rsi),%xmm4
movupd 0x60(%rsi,%rax,1),%xmm5
movupd 0x70(%rsi,%rax,1),%xmm0
unpcklpd %xmm13,%xmm13
mulpd  %xmm13,%xmm0
addpd  %xmm6,%xmm0
mulpd  %xmm13,%xmm5
addpd  %xmm3,%xmm5
mulpd  %xmm13,%xmm4
addpd  %xmm1,%xmm4
mulpd  %xmm7,%xmm13
addpd  %xmm2,%xmm13
prefetcht0 0x100(%rsi)
prefetcht0 0x100(%rsi,%rax,1)
prefetcht0 0x140(%rsi)
prefetcht0 0x140(%rsi,%rax,1)
movupd 0x80(%rsi,%rax,1),%xmm12
movupd 0x90(%rsi,%rax,1),%xmm1
movupd 0xa0(%rsi,%rax,1),%xmm10
movupd 0xb0(%rsi,%rax,1),%xmm9
movupd 0x80(%rsi),%xmm8
movupd 0x90(%rsi),%xmm6
movups 0xa0(%rsi),%xmm2
movaps %xmm2,-0x18(%rsp)
movupd 0xb0(%rsi),%xmm11
movsd  0x20(%r9,%rdx,8),%xmm3
movsd  0x28(%r9,%rdx,8),%xmm2
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm12
addpd  %xmm5,%xmm12
mulpd  %xmm3,%xmm1
addpd  %xmm0,%xmm1
mulpd  %xmm3,%xmm8
addpd  %xmm13,%xmm8
mulpd  %xmm6,%xmm3
addpd  %xmm4,%xmm3
unpcklpd %xmm2,%xmm2
mulpd  %xmm2,%xmm9
addpd  %xmm1,%xmm9
movupd 0xd0(%rsi),%xmm0
movupd 0xc0(%rsi),%xmm1
movupd 0xc0(%rsi,%rax,1),%xmm6
movupd 0xd0(%rsi,%rax,1),%xmm4
movups 0xe0(%rsi),%xmm5
movaps %xmm5,-0x28(%rsp)
movupd 0xf0(%rsi),%xmm15
movupd 0xe0(%rsi,%rax,1),%xmm14
movupd 0xf0(%rsi,%rax,1),%xmm13
lea    0x100(%rsi),%rsi
mulpd  %xmm2,%xmm10
addpd  %xmm12,%xmm10
movsd  0x30(%r9,%rdx,8),%xmm7
mulpd  %xmm2,%xmm11
addpd  %xmm3,%xmm11
movsd  0x38(%r9,%rdx,8),%xmm3
mulpd  -0x18(%rsp),%xmm2
addpd  %xmm8,%xmm2
unpcklpd %xmm7,%xmm7
mulpd  %xmm7,%xmm6
addpd  %xmm10,%xmm6
mulpd  %xmm7,%xmm4
addpd  %xmm9,%xmm4
mulpd  %xmm7,%xmm1
addpd  %xmm2,%xmm1
mulpd  %xmm0,%xmm7
addpd  %xmm11,%xmm7
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm13
movapd %xmm13,%xmm2
addpd  %xmm4,%xmm2
mulpd  %xmm3,%xmm14
movapd %xmm14,%xmm0
addpd  %xmm6,%xmm0
mulpd  %xmm3,%xmm15
movapd %xmm15,%xmm5
addpd  %xmm7,%xmm5
mulpd  -0x28(%rsp),%xmm3
movapd %xmm3,%xmm11
addpd  %xmm1,%xmm11
add    $0x8,%rdx
cmp    %edi,%edx
jl     1150 <kernel_dtrsv_n_8_lib4_new+0x50>
addpd  %xmm1,%xmm3
addpd  %xmm7,%xmm15
addpd  %xmm6,%xmm14
addpd  %xmm4,%xmm13
lea    (%rsi,%r11,8),%rdx
jmp    1459 <kernel_dtrsv_n_8_lib4_new+0x359>
lea    (%rsi,%r11,8),%rdx
xorpd  %xmm3,%xmm3
xorpd  %xmm15,%xmm15
xorpd  %xmm14,%xmm14
xorpd  %xmm13,%xmm13
movsd  (%r10),%xmm7
movsd  0x8(%r10),%xmm6
subsd  %xmm3,%xmm7
unpckhpd %xmm3,%xmm3
subsd  %xmm3,%xmm6
movsd  0x10(%r10),%xmm3
subsd  %xmm15,%xmm3
movsd  0x18(%r10),%xmm4
unpckhpd %xmm15,%xmm15
subsd  %xmm15,%xmm4
movsd  0x20(%r10),%xmm5
subsd  %xmm14,%xmm5
movsd  0x28(%r10),%xmm2
unpckhpd %xmm14,%xmm14
subsd  %xmm14,%xmm2
movsd  0x30(%r10),%xmm9
subsd  %xmm13,%xmm9
movsd  0x38(%r10),%xmm1
unpckhpd %xmm13,%xmm13
subsd  %xmm13,%xmm1
test   %ecx,%ecx
je     168c <kernel_dtrsv_n_8_lib4_new+0x58c>
mulsd  (%r8),%xmm7
movsd  0x8(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm6
mulsd  0x8(%r8),%xmm6
movsd  %xmm7,(%r10)
movsd  %xmm6,0x8(%r10)
movsd  0x10(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm3
movsd  0x18(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm4
movsd  0x30(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm3
movsd  0x38(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm4
movsd  (%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm5
movsd  0x8(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm2
movsd  0x10(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x18(%rdx),%xmm7
subsd  %xmm7,%xmm1
movsd  0x20(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm5
movsd  0x28(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm2
movsd  0x30(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x38(%rdx),%xmm6
mulsd  0x10(%r8),%xmm3
subsd  %xmm6,%xmm1
movsd  0x58(%rsi),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm4
mulsd  0x18(%r8),%xmm4
movsd  %xmm3,0x10(%r10)
movsd  %xmm4,0x18(%r10)
movsd  0x40(%rdx),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm5
movsd  0x48(%rdx),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm2
movsd  0x50(%rdx),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x58(%rdx),%xmm3
subsd  %xmm3,%xmm1
movsd  0x60(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm5
movsd  0x68(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
movsd  0x70(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x78(%rdx),%xmm4
subsd  %xmm4,%xmm1
mulsd  0x20(%r8),%xmm5
movsd  0x88(%rdx),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm2
mulsd  0x28(%r8),%xmm2
movsd  %xmm5,0x20(%r10)
movsd  %xmm2,0x28(%r10)
movsd  0x90(%rdx),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x98(%rdx),%xmm5
subsd  %xmm5,%xmm1
movsd  0xb0(%rdx),%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm9
mulsd  0xb8(%rdx),%xmm2
subsd  %xmm2,%xmm1
mulsd  0x30(%r8),%xmm9
movsd  0xd8(%rdx),%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm0,%xmm1
mulsd  0x38(%r8),%xmm1
jmp    189f <kernel_dtrsv_n_8_lib4_new+0x79f>
movsd  0x96b(%rip),%xmm8
movapd %xmm8,%xmm0
divsd  (%rsi),%xmm0
movapd %xmm8,%xmm10
divsd  0x28(%rsi),%xmm10
mulsd  %xmm0,%xmm7
movsd  0x8(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm6
mulsd  %xmm10,%xmm6
movsd  %xmm7,(%r10)
movsd  %xmm6,0x8(%r10)
movsd  0x10(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm3
movsd  0x18(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm4
movsd  0x30(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm3
movsd  0x38(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm4
movsd  (%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm5
movsd  0x8(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm2
movsd  0x10(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x18(%rdx),%xmm7
subsd  %xmm7,%xmm1
movsd  0x20(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm5
movsd  0x28(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm2
movsd  0x30(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x38(%rdx),%xmm6
subsd  %xmm6,%xmm1
movapd %xmm8,%xmm0
divsd  0x50(%rsi),%xmm0
mulsd  %xmm3,%xmm0
movapd %xmm8,%xmm3
divsd  0x78(%rsi),%xmm3
movsd  0x58(%rsi),%xmm6
mulsd  %xmm0,%xmm6
subsd  %xmm6,%xmm4
mulsd  %xmm3,%xmm4
movsd  %xmm0,0x10(%r10)
movsd  %xmm4,0x18(%r10)
movsd  0x40(%rdx),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm5
movsd  0x48(%rdx),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm2
movsd  0x50(%rdx),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm9
mulsd  0x58(%rdx),%xmm0
subsd  %xmm0,%xmm1
movsd  0x60(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm5
movsd  0x68(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
movsd  0x70(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x78(%rdx),%xmm4
subsd  %xmm4,%xmm1
movapd %xmm8,%xmm0
divsd  0x80(%rdx),%xmm0
movapd %xmm8,%xmm3
divsd  0xa8(%rdx),%xmm3
mulsd  %xmm5,%xmm0
movsd  0x88(%rdx),%xmm4
mulsd  %xmm0,%xmm4
subsd  %xmm4,%xmm2
mulsd  %xmm3,%xmm2
movsd  %xmm0,0x20(%r10)
movsd  %xmm2,0x28(%r10)
movsd  0x90(%rdx),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm9
mulsd  0x98(%rdx),%xmm0
subsd  %xmm0,%xmm1
movsd  0xb0(%rdx),%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm9
mulsd  0xb8(%rdx),%xmm2
movapd %xmm8,%xmm0
divsd  0xd0(%rdx),%xmm0
subsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm9
divsd  0xf8(%rdx),%xmm8
movsd  0xd8(%rdx),%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm0,%xmm1
mulsd  %xmm8,%xmm1
movsd  %xmm9,0x30(%r10)
movsd  %xmm1,0x38(%r10)
ret

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

LLVM IR (-O2):
define void @kernel_dtrsv_n_8_lib4_new(i32 %0, double* %1, i32 %2, i32 %3, double* nocapture %4, double* nocapture %5, double* nocapture %6) {
%8 = shl nsw i32 %2, 2
%9 = sext i32 %8 to i64
%10 = getelementptr inbounds double, double* %1, i64 %9
%11 = bitcast double* %1 to i8*
tail call void @llvm.prefetch.p0i8(i8* %11, i32 0, i32 3, i32 1)
%12 = bitcast double* %10 to i8*
tail call void @llvm.prefetch.p0i8(i8* %12, i32 0, i32 3, i32 1)
%13 = getelementptr inbounds double, double* %1, i64 8
%14 = bitcast double* %13 to i8*
tail call void @llvm.prefetch.p0i8(i8* %14, i32 0, i32 3, i32 1)
%15 = getelementptr inbounds double, double* %10, i64 8
%16 = bitcast double* %15 to i8*
tail call void @llvm.prefetch.p0i8(i8* %16, i32 0, i32 3, i32 1)
%17 = add nsw i32 %0, -7
%18 = icmp sgt i32 %0, 7
br i1 %18, label %19, label %214
19: ; preds = %7, %19
%20 = phi double* [ %115, %19 ], [ %1, %7 ]
%21 = phi double* [ %202, %19 ], [ %5, %7 ]
%22 = phi double* [ %117, %19 ], [ %10, %7 ]
%23 = phi i32 [ %203, %19 ], [ 0, %7 ]
%24 = phi <8 x double> [ %201, %19 ], [ zeroinitializer, %7 ]
%25 = getelementptr inbounds double, double* %20, i64 16
%26 = bitcast double* %25 to i8*
tail call void @llvm.prefetch.p0i8(i8* %26, i32 0, i32 3, i32 1)
%27 = getelementptr inbounds double, double* %22, i64 16
%28 = bitcast double* %27 to i8*
tail call void @llvm.prefetch.p0i8(i8* %28, i32 0, i32 3, i32 1)
%29 = getelementptr inbounds double, double* %20, i64 24
%30 = bitcast double* %29 to i8*
tail call void @llvm.prefetch.p0i8(i8* %30, i32 0, i32 3, i32 1)
%31 = getelementptr inbounds double, double* %22, i64 24
%32 = bitcast double* %31 to i8*
tail call void @llvm.prefetch.p0i8(i8* %32, i32 0, i32 3, i32 1)
%33 = load double, double* %21
%34 = getelementptr inbounds double, double* %21, i64 1
%35 = load double, double* %34
%36 = getelementptr inbounds double, double* %21, i64 2
%37 = load double, double* %36
%38 = getelementptr inbounds double, double* %21, i64 3
%39 = load double, double* %38
%40 = bitcast double* %20 to <4 x double>*
%41 = load <4 x double>, <4 x double>* %40
%42 = load double, double* %22
%43 = getelementptr inbounds double, double* %22, i64 1
%44 = load double, double* %43
%45 = getelementptr inbounds double, double* %22, i64 2
%46 = load double, double* %45
%47 = getelementptr inbounds double, double* %22, i64 3
%48 = load double, double* %47
%49 = shufflevector <4 x double> %41, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%50 = insertelement <8 x double> %49, double %42, i64 4
%51 = insertelement <8 x double> %50, double %44, i64 5
%52 = insertelement <8 x double> %51, double %46, i64 6
%53 = insertelement <8 x double> %52, double %48, i64 7
%54 = insertelement <8 x double> poison, double %33, i64 0
%55 = shufflevector <8 x double> %54, <8 x double> poison, <8 x i32> zeroinitializer
%56 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %53, <8 x double> %55, <8 x double> %24)
%57 = getelementptr inbounds double, double* %20, i64 4
%58 = bitcast double* %57 to <4 x double>*
%59 = load <4 x double>, <4 x double>* %58
%60 = getelementptr inbounds double, double* %22, i64 4
%61 = load double, double* %60
%62 = getelementptr inbounds double, double* %22, i64 5
%63 = load double, double* %62
%64 = getelementptr inbounds double, double* %22, i64 6
%65 = load double, double* %64
%66 = getelementptr inbounds double, double* %22, i64 7
%67 = load double, double* %66
%68 = shufflevector <4 x double> %59, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%69 = insertelement <8 x double> %68, double %61, i64 4
%70 = insertelement <8 x double> %69, double %63, i64 5
%71 = insertelement <8 x double> %70, double %65, i64 6
%72 = insertelement <8 x double> %71, double %67, i64 7
%73 = insertelement <8 x double> poison, double %35, i64 0
%74 = shufflevector <8 x double> %73, <8 x double> poison, <8 x i32> zeroinitializer
%75 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %72, <8 x double> %74, <8 x double> %56)
%76 = getelementptr inbounds double, double* %20, i64 8
%77 = bitcast double* %76 to <4 x double>*
%78 = load <4 x double>, <4 x double>* %77
%79 = getelementptr inbounds double, double* %22, i64 8
%80 = load double, double* %79
%81 = getelementptr inbounds double, double* %22, i64 9
%82 = load double, double* %81
%83 = getelementptr inbounds double, double* %22, i64 10
%84 = load double, double* %83
%85 = getelementptr inbounds double, double* %22, i64 11
%86 = load double, double* %85
%87 = shufflevector <4 x double> %78, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%88 = insertelement <8 x double> %87, double %80, i64 4
%89 = insertelement <8 x double> %88, double %82, i64 5
%90 = insertelement <8 x double> %89, double %84, i64 6
%91 = insertelement <8 x double> %90, double %86, i64 7
%92 = insertelement <8 x double> poison, double %37, i64 0
%93 = shufflevector <8 x double> %92, <8 x double> poison, <8 x i32> zeroinitializer
%94 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %91, <8 x double> %93, <8 x double> %75)
%95 = getelementptr inbounds double, double* %20, i64 12
%96 = bitcast double* %95 to <4 x double>*
%97 = load <4 x double>, <4 x double>* %96
%98 = getelementptr inbounds double, double* %22, i64 12
%99 = load double, double* %98
%100 = getelementptr inbounds double, double* %22, i64 13
%101 = load double, double* %100
%102 = getelementptr inbounds double, double* %22, i64 14
%103 = load double, double* %102
%104 = getelementptr inbounds double, double* %22, i64 15
%105 = load double, double* %104
%106 = shufflevector <4 x double> %97, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%107 = insertelement <8 x double> %106, double %99, i64 4
%108 = insertelement <8 x double> %107, double %101, i64 5
%109 = insertelement <8 x double> %108, double %103, i64 6
%110 = insertelement <8 x double> %109, double %105, i64 7
%111 = insertelement <8 x double> poison, double %39, i64 0
%112 = shufflevector <8 x double> %111, <8 x double> poison, <8 x i32> zeroinitializer
%113 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %110, <8 x double> %112, <8 x double> %94)
%114 = getelementptr inbounds double, double* %21, i64 4
%115 = getelementptr inbounds double, double* %20, i64 32
%116 = bitcast double* %115 to i8*
tail call void @llvm.prefetch.p0i8(i8* %116, i32 0, i32 3, i32 1)
%117 = getelementptr inbounds double, double* %22, i64 32
%118 = bitcast double* %117 to i8*
tail call void @llvm.prefetch.p0i8(i8* %118, i32 0, i32 3, i32 1)
%119 = getelementptr inbounds double, double* %20, i64 40
%120 = bitcast double* %119 to i8*
tail call void @llvm.prefetch.p0i8(i8* %120, i32 0, i32 3, i32 1)
%121 = getelementptr inbounds double, double* %22, i64 40
%122 = bitcast double* %121 to i8*
tail call void @llvm.prefetch.p0i8(i8* %122, i32 0, i32 3, i32 1)
%123 = load double, double* %114
%124 = getelementptr inbounds double, double* %21, i64 5
%125 = load double, double* %124
%126 = getelementptr inbounds double, double* %21, i64 6
%127 = load double, double* %126
%128 = getelementptr inbounds double, double* %21, i64 7
%129 = load double, double* %128
%130 = bitcast double* %25 to <4 x double>*
%131 = load <4 x double>, <4 x double>* %130
%132 = load double, double* %27
%133 = getelementptr inbounds double, double* %22, i64 17
%134 = load double, double* %133
%135 = getelementptr inbounds double, double* %22, i64 18
%136 = load double, double* %135
%137 = getelementptr inbounds double, double* %22, i64 19
%138 = load double, double* %137
%139 = shufflevector <4 x double> %131, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%140 = insertelement <8 x double> %139, double %132, i64 4
%141 = insertelement <8 x double> %140, double %134, i64 5
%142 = insertelement <8 x double> %141, double %136, i64 6
%143 = insertelement <8 x double> %142, double %138, i64 7
%144 = insertelement <8 x double> poison, double %123, i64 0
%145 = shufflevector <8 x double> %144, <8 x double> poison, <8 x i32> zeroinitializer
%146 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %143, <8 x double> %145, <8 x double> %113)
%147 = getelementptr inbounds double, double* %20, i64 20
%148 = bitcast double* %147 to <4 x double>*
%149 = load <4 x double>, <4 x double>* %148
%150 = getelementptr inbounds double, double* %22, i64 20
%151 = load double, double* %150
%152 = getelementptr inbounds double, double* %22, i64 21
%153 = load double, double* %152
%154 = getelementptr inbounds double, double* %22, i64 22
%155 = load double, double* %154
%156 = getelementptr inbounds double, double* %22, i64 23
%157 = load double, double* %156
%158 = shufflevector <4 x double> %149, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%159 = insertelement <8 x double> %158, double %151, i64 4
%160 = insertelement <8 x double> %159, double %153, i64 5
%161 = insertelement <8 x double> %160, double %155, i64 6
%162 = insertelement <8 x double> %161, double %157, i64 7
%163 = insertelement <8 x double> poison, double %125, i64 0
%164 = shufflevector <8 x double> %163, <8 x double> poison, <8 x i32> zeroinitializer
%165 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %162, <8 x double> %164, <8 x double> %146)
%166 = bitcast double* %29 to <4 x double>*
%167 = load <4 x double>, <4 x double>* %166
%168 = load double, double* %31
%169 = getelementptr inbounds double, double* %22, i64 25
%170 = load double, double* %169
%171 = getelementptr inbounds double, double* %22, i64 26
%172 = load double, double* %171
%173 = getelementptr inbounds double, double* %22, i64 27
%174 = load double, double* %173
%175 = shufflevector <4 x double> %167, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%176 = insertelement <8 x double> %175, double %168, i64 4
%177 = insertelement <8 x double> %176, double %170, i64 5
%178 = insertelement <8 x double> %177, double %172, i64 6
%179 = insertelement <8 x double> %178, double %174, i64 7
%180 = insertelement <8 x double> poison, double %127, i64 0
%181 = shufflevector <8 x double> %180, <8 x double> poison, <8 x i32> zeroinitializer
%182 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %179, <8 x double> %181, <8 x double> %165)
%183 = getelementptr inbounds double, double* %20, i64 28
%184 = bitcast double* %183 to <4 x double>*
%185 = load <4 x double>, <4 x double>* %184
%186 = getelementptr inbounds double, double* %22, i64 28
%187 = load double, double* %186
%188 = getelementptr inbounds double, double* %22, i64 29
%189 = load double, double* %188
%190 = getelementptr inbounds double, double* %22, i64 30
%191 = load double, double* %190
%192 = getelementptr inbounds double, double* %22, i64 31
%193 = load double, double* %192
%194 = shufflevector <4 x double> %185, <4 x double> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%195 = insertelement <8 x double> %194, double %187, i64 4
%196 = insertelement <8 x double> %195, double %189, i64 5
%197 = insertelement <8 x double> %196, double %191, i64 6
%198 = insertelement <8 x double> %197, double %193, i64 7
%199 = insertelement <8 x double> poison, double %129, i64 0
%200 = shufflevector <8 x double> %199, <8 x double> poison, <8 x i32> zeroinitializer
%201 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %198, <8 x double> %200, <8 x double> %182)
%202 = getelementptr inbounds double, double* %21, i64 8
%203 = add nuw nsw i32 %23, 8
%204 = icmp slt i32 %203, %17
br i1 %204, label %19, label %205
205: ; preds = %19
%206 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %53, <8 x double> %55, <8 x double> %24)
%207 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %72, <8 x double> %74, <8 x double> %206)
%208 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %91, <8 x double> %93, <8 x double> %207)
%209 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %110, <8 x double> %112, <8 x double> %208)
%210 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %143, <8 x double> %145, <8 x double> %209)
%211 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %162, <8 x double> %164, <8 x double> %210)
%212 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %179, <8 x double> %181, <8 x double> %211)
%213 = call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %198, <8 x double> %200, <8 x double> %212)
br label %214
214: ; preds = %205, %7
%215 = phi double* [ %10, %7 ], [ %117, %205 ]
%216 = phi double* [ %1, %7 ], [ %115, %205 ]
%217 = phi <8 x double> [ zeroinitializer, %7 ], [ %213, %205 ]
%218 = load double, double* %6
%219 = extractelement <8 x double> %217, i64 0
%220 = fsub double %218, %219
%221 = getelementptr inbounds double, double* %6, i64 1
%222 = load double, double* %221
%223 = extractelement <8 x double> %217, i64 1
%224 = fsub double %222, %223
%225 = getelementptr inbounds double, double* %6, i64 2
%226 = load double, double* %225
%227 = extractelement <8 x double> %217, i64 2
%228 = fsub double %226, %227
%229 = getelementptr inbounds double, double* %6, i64 3
%230 = load double, double* %229
%231 = extractelement <8 x double> %217, i64 3
%232 = fsub double %230, %231
%233 = getelementptr inbounds double, double* %6, i64 4
%234 = load double, double* %233
%235 = extractelement <8 x double> %217, i64 4
%236 = fsub double %234, %235
%237 = getelementptr inbounds double, double* %6, i64 5
%238 = load double, double* %237
%239 = extractelement <8 x double> %217, i64 5
%240 = fsub double %238, %239
%241 = getelementptr inbounds double, double* %6, i64 6
%242 = load double, double* %241
%243 = extractelement <8 x double> %217, i64 6
%244 = fsub double %242, %243
%245 = getelementptr inbounds double, double* %6, i64 7
%246 = load double, double* %245
%247 = extractelement <8 x double> %217, i64 7
%248 = fsub double %246, %247
%249 = icmp eq i32 %3, 0
br i1 %249, label %385, label %250
250: ; preds = %214
%251 = load double, double* %4
%252 = getelementptr inbounds double, double* %216, i64 1
%253 = load double, double* %252
%254 = getelementptr inbounds double, double* %4, i64 1
%255 = load double, double* %254
%256 = fmul double %220, %251
%257 = fneg double %253
%258 = tail call double @llvm.fmuladd.f64(double %257, double %256, double %224)
%259 = fmul double %258, %255
store double %256, double* %6
store double %259, double* %221
%260 = getelementptr inbounds double, double* %216, i64 2
%261 = load double, double* %260
%262 = getelementptr inbounds double, double* %216, i64 3
%263 = load double, double* %262
%264 = getelementptr inbounds double, double* %216, i64 6
%265 = load double, double* %264
%266 = getelementptr inbounds double, double* %216, i64 7
%267 = load double, double* %266
%268 = fneg double %261
%269 = tail call double @llvm.fmuladd.f64(double %268, double %256, double %228)
%270 = fneg double %263
%271 = tail call double @llvm.fmuladd.f64(double %270, double %256, double %232)
%272 = fneg double %265
%273 = tail call double @llvm.fmuladd.f64(double %272, double %259, double %269)
%274 = fneg double %267
%275 = tail call double @llvm.fmuladd.f64(double %274, double %259, double %271)
%276 = load double, double* %215
%277 = getelementptr inbounds double, double* %215, i64 1
%278 = load double, double* %277
%279 = getelementptr inbounds double, double* %215, i64 2
%280 = load double, double* %279
%281 = getelementptr inbounds double, double* %215, i64 3
%282 = load double, double* %281
%283 = getelementptr inbounds double, double* %215, i64 4
%284 = load double, double* %283
%285 = getelementptr inbounds double, double* %215, i64 5
%286 = load double, double* %285
%287 = getelementptr inbounds double, double* %215, i64 6
%288 = load double, double* %287
%289 = getelementptr inbounds double, double* %215, i64 7
%290 = load double, double* %289
%291 = fneg double %276
%292 = tail call double @llvm.fmuladd.f64(double %291, double %256, double %236)
%293 = fneg double %278
%294 = tail call double @llvm.fmuladd.f64(double %293, double %256, double %240)
%295 = fneg double %280
%296 = tail call double @llvm.fmuladd.f64(double %295, double %256, double %244)
%297 = fneg double %282
%298 = tail call double @llvm.fmuladd.f64(double %297, double %256, double %248)
%299 = fneg double %284
%300 = tail call double @llvm.fmuladd.f64(double %299, double %259, double %292)
%301 = fneg double %286
%302 = tail call double @llvm.fmuladd.f64(double %301, double %259, double %294)
%303 = fneg double %288
%304 = tail call double @llvm.fmuladd.f64(double %303, double %259, double %296)
%305 = fneg double %290
%306 = tail call double @llvm.fmuladd.f64(double %305, double %259, double %298)
%307 = getelementptr inbounds double, double* %4, i64 2
%308 = load double, double* %307
%309 = getelementptr inbounds double, double* %216, i64 11
%310 = load double, double* %309
%311 = getelementptr inbounds double, double* %4, i64 3
%312 = load double, double* %311
%313 = fmul double %273, %308
%314 = fneg double %310
%315 = tail call double @llvm.fmuladd.f64(double %314, double %313, double %275)
%316 = fmul double %315, %312
store double %313, double* %225
store double %316, double* %229
%317 = getelementptr inbounds double, double* %215, i64 8
%318 = load double, double* %317
%319 = getelementptr inbounds double, double* %215, i64 9
%320 = load double, double* %319
%321 = getelementptr inbounds double, double* %215, i64 10
%322 = load double, double* %321
%323 = getelementptr inbounds double, double* %215, i64 11
%324 = load double, double* %323
%325 = getelementptr inbounds double, double* %215, i64 12
%326 = load double, double* %325
%327 = getelementptr inbounds double, double* %215, i64 13
%328 = load double, double* %327
%329 = getelementptr inbounds double, double* %215, i64 14
%330 = load double, double* %329
%331 = getelementptr inbounds double, double* %215, i64 15
%332 = load double, double* %331
%333 = fneg double %318
%334 = tail call double @llvm.fmuladd.f64(double %333, double %313, double %300)
%335 = fneg double %320
%336 = tail call double @llvm.fmuladd.f64(double %335, double %313, double %302)
%337 = fneg double %322
%338 = tail call double @llvm.fmuladd.f64(double %337, double %313, double %304)
%339 = fneg double %324
%340 = tail call double @llvm.fmuladd.f64(double %339, double %313, double %306)
%341 = fneg double %326
%342 = tail call double @llvm.fmuladd.f64(double %341, double %316, double %334)
%343 = fneg double %328
%344 = tail call double @llvm.fmuladd.f64(double %343, double %316, double %336)
%345 = fneg double %330
%346 = tail call double @llvm.fmuladd.f64(double %345, double %316, double %338)
%347 = fneg double %332
%348 = tail call double @llvm.fmuladd.f64(double %347, double %316, double %340)
%349 = getelementptr inbounds double, double* %4, i64 4
%350 = load double, double* %349
%351 = getelementptr inbounds double, double* %215, i64 17
%352 = load double, double* %351
%353 = getelementptr inbounds double, double* %4, i64 5
%354 = load double, double* %353
%355 = fmul double %342, %350
%356 = fneg double %352
%357 = tail call double @llvm.fmuladd.f64(double %356, double %355, double %344)
%358 = fmul double %357, %354
store double %355, double* %233
store double %358, double* %237
%359 = getelementptr inbounds double, double* %215, i64 18
%360 = load double, double* %359
%361 = getelementptr inbounds double, double* %215, i64 19
%362 = load double, double* %361
%363 = getelementptr inbounds double, double* %215, i64 22
%364 = load double, double* %363
%365 = getelementptr inbounds double, double* %215, i64 23
%366 = load double, double* %365
%367 = fneg double %360
%368 = tail call double @llvm.fmuladd.f64(double %367, double %355, double %346)
%369 = fneg double %362
%370 = tail call double @llvm.fmuladd.f64(double %369, double %355, double %348)
%371 = fneg double %364
%372 = tail call double @llvm.fmuladd.f64(double %371, double %358, double %368)
%373 = fneg double %366
%374 = tail call double @llvm.fmuladd.f64(double %373, double %358, double %370)
%375 = getelementptr inbounds double, double* %4, i64 6
%376 = load double, double* %375
%377 = getelementptr inbounds double, double* %215, i64 27
%378 = load double, double* %377
%379 = getelementptr inbounds double, double* %4, i64 7
%380 = load double, double* %379
%381 = fmul double %372, %376
%382 = fneg double %378
%383 = tail call double @llvm.fmuladd.f64(double %382, double %381, double %374)
%384 = fmul double %383, %380
br label %528
385: ; preds = %214
%386 = load double, double* %216
%387 = fdiv double 1.000000e+00, %386
%388 = getelementptr inbounds double, double* %216, i64 1
%389 = load double, double* %388
%390 = getelementptr inbounds double, double* %216, i64 5
%391 = load double, double* %390
%392 = fdiv double 1.000000e+00, %391
%393 = fmul double %220, %387
%394 = fneg double %389
%395 = tail call double @llvm.fmuladd.f64(double %394, double %393, double %224)
%396 = fmul double %395, %392
store double %393, double* %6
store double %396, double* %221
%397 = getelementptr inbounds double, double* %216, i64 2
%398 = load double, double* %397
%399 = getelementptr inbounds double, double* %216, i64 3
%400 = load double, double* %399
%401 = getelementptr inbounds double, double* %216, i64 6
%402 = load double, double* %401
%403 = getelementptr inbounds double, double* %216, i64 7
%404 = load double, double* %403
%405 = fneg double %398
%406 = tail call double @llvm.fmuladd.f64(double %405, double %393, double %228)
%407 = fneg double %400
%408 = tail call double @llvm.fmuladd.f64(double %407, double %393, double %232)
%409 = fneg double %402
%410 = tail call double @llvm.fmuladd.f64(double %409, double %396, double %406)
%411 = fneg double %404
%412 = tail call double @llvm.fmuladd.f64(double %411, double %396, double %408)
%413 = load double, double* %215
%414 = getelementptr inbounds double, double* %215, i64 1
%415 = load double, double* %414
%416 = getelementptr inbounds double, double* %215, i64 2
%417 = load double, double* %416
%418 = getelementptr inbounds double, double* %215, i64 3
%419 = load double, double* %418
%420 = getelementptr inbounds double, double* %215, i64 4
%421 = load double, double* %420
%422 = getelementptr inbounds double, double* %215, i64 5
%423 = load double, double* %422
%424 = getelementptr inbounds double, double* %215, i64 6
%425 = load double, double* %424
%426 = getelementptr inbounds double, double* %215, i64 7
%427 = load double, double* %426
%428 = fneg double %413
%429 = tail call double @llvm.fmuladd.f64(double %428, double %393, double %236)
%430 = fneg double %415
%431 = tail call double @llvm.fmuladd.f64(double %430, double %393, double %240)
%432 = fneg double %417
%433 = tail call double @llvm.fmuladd.f64(double %432, double %393, double %244)
%434 = fneg double %419
%435 = tail call double @llvm.fmuladd.f64(double %434, double %393, double %248)
%436 = fneg double %421
%437 = tail call double @llvm.fmuladd.f64(double %436, double %396, double %429)
%438 = fneg double %423
%439 = tail call double @llvm.fmuladd.f64(double %438, double %396, double %431)
%440 = fneg double %425
%441 = tail call double @llvm.fmuladd.f64(double %440, double %396, double %433)
%442 = fneg double %427
%443 = tail call double @llvm.fmuladd.f64(double %442, double %396, double %435)
%444 = getelementptr inbounds double, double* %216, i64 10
%445 = load double, double* %444
%446 = fdiv double 1.000000e+00, %445
%447 = getelementptr inbounds double, double* %216, i64 11
%448 = load double, double* %447
%449 = getelementptr inbounds double, double* %216, i64 15
%450 = load double, double* %449
%451 = fdiv double 1.000000e+00, %450
%452 = fmul double %410, %446
%453 = fneg double %448
%454 = tail call double @llvm.fmuladd.f64(double %453, double %452, double %412)
%455 = fmul double %454, %451
store double %452, double* %225
store double %455, double* %229
%456 = getelementptr inbounds double, double* %215, i64 8
%457 = load double, double* %456
%458 = getelementptr inbounds double, double* %215, i64 9
%459 = load double, double* %458
%460 = getelementptr inbounds double, double* %215, i64 10
%461 = load double, double* %460
%462 = getelementptr inbounds double, double* %215, i64 11
%463 = load double, double* %462
%464 = getelementptr inbounds double, double* %215, i64 12
%465 = load double, double* %464
%466 = getelementptr inbounds double, double* %215, i64 13
%467 = load double, double* %466
%468 = getelementptr inbounds double, double* %215, i64 14
%469 = load double, double* %468
%470 = getelementptr inbounds double, double* %215, i64 15
%471 = load double, double* %470
%472 = fneg double %457
%473 = tail call double @llvm.fmuladd.f64(double %472, double %452, double %437)
%474 = fneg double %459
%475 = tail call double @llvm.fmuladd.f64(double %474, double %452, double %439)
%476 = fneg double %461
%477 = tail call double @llvm.fmuladd.f64(double %476, double %452, double %441)
%478 = fneg double %463
%479 = tail call double @llvm.fmuladd.f64(double %478, double %452, double %443)
%480 = fneg double %465
%481 = tail call double @llvm.fmuladd.f64(double %480, double %455, double %473)
%482 = fneg double %467
%483 = tail call double @llvm.fmuladd.f64(double %482, double %455, double %475)
%484 = fneg double %469
%485 = tail call double @llvm.fmuladd.f64(double %484, double %455, double %477)
%486 = fneg double %471
%487 = tail call double @llvm.fmuladd.f64(double %486, double %455, double %479)
%488 = getelementptr inbounds double, double* %215, i64 16
%489 = load double, double* %488
%490 = fdiv double 1.000000e+00, %489
%491 = getelementptr inbounds double, double* %215, i64 17
%492 = load double, double* %491
%493 = getelementptr inbounds double, double* %215, i64 21
%494 = load double, double* %493
%495 = fdiv double 1.000000e+00, %494
%496 = fmul double %481, %490
%497 = fneg double %492
%498 = tail call double @llvm.fmuladd.f64(double %497, double %496, double %483)
%499 = fmul double %498, %495
store double %496, double* %233
store double %499, double* %237
%500 = getelementptr inbounds double, double* %215, i64 18
%501 = load double, double* %500
%502 = getelementptr inbounds double, double* %215, i64 19
%503 = load double, double* %502
%504 = getelementptr inbounds double, double* %215, i64 22
%505 = load double, double* %504
%506 = getelementptr inbounds double, double* %215, i64 23
%507 = load double, double* %506
%508 = fneg double %501
%509 = tail call double @llvm.fmuladd.f64(double %508, double %496, double %485)
%510 = fneg double %503
%511 = tail call double @llvm.fmuladd.f64(double %510, double %496, double %487)
%512 = fneg double %505
%513 = tail call double @llvm.fmuladd.f64(double %512, double %499, double %509)
%514 = fneg double %507
%515 = tail call double @llvm.fmuladd.f64(double %514, double %499, double %511)
%516 = getelementptr inbounds double, double* %215, i64 26
%517 = load double, double* %516
%518 = fdiv double 1.000000e+00, %517
%519 = getelementptr inbounds double, double* %215, i64 27
%520 = load double, double* %519
%521 = getelementptr inbounds double, double* %215, i64 31
%522 = load double, double* %521
%523 = fdiv double 1.000000e+00, %522
%524 = fmul double %513, %518
%525 = fneg double %520
%526 = tail call double @llvm.fmuladd.f64(double %525, double %524, double %515)
%527 = fmul double %526, %523
br label %528
528: ; preds = %385, %250
%529 = phi double [ %524, %385 ], [ %381, %250 ]
%530 = phi double [ %527, %385 ], [ %384, %250 ]
store double %529, double* %241
store double %530, double* %245
ret void
}