void kernel_dtrsv_n_8_lib4(int kmax, int inverted_diag, double *A0, int sda,
                           double *x, double *y) {
  double *A1 = A0 + 4 * sda;
  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) {
    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;
    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 (inverted_diag) {
    a_00 = A0[0 + lda * 0];
    a_10 = A0[1 + lda * 0];
    a_11 = 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 = A0[2 + lda * 2];
    a_10 = A0[3 + lda * 2];
    a_11 = 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 = A1[0 + lda * 4];
    a_10 = A1[1 + lda * 4];
    a_11 = 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 = A1[2 + lda * 6];
    a_10 = A1[3 + lda * 6];
    a_11 = 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;
  } 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>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %rdx,-0x10(%rbp)
mov    %ecx,-0x14(%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)
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    1af8 <kernel_dtrsv_n_8_lib4+0x9f8>
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x20(%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    -0x20(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x20(%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    -0x20(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%eax
add    $0x8,%eax
mov    %eax,-0x38(%rbp)
jmp    118f <kernel_dtrsv_n_8_lib4+0x8f>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
subsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
subsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
subsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
subsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
cmpl   $0x0,-0x8(%rbp)
je     25a7 <kernel_dtrsv_n_8_lib4+0x14a7>
mov    -0x10(%rbp),%rax
movsd  (%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  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    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x68(%rbp),%xmm0
mov    -0x28(%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  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  0x78(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
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    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x78(%rbp),%xmm0
mov    -0x28(%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  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  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    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    -0x28(%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  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  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
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    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
jmp    2fde <kernel_dtrsv_n_8_lib4+0x1ede>
mov    -0x10(%rbp),%rax
movsd  0xa4d(%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  0xa24(%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    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x68(%rbp),%xmm0
mov    -0x28(%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)
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  0x61f(%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  0x5f5(%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    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x78(%rbp),%xmm0
mov    -0x28(%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  0x30a(%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  0x2da(%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    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    -0x28(%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)
mov    -0x30(%rbp),%rax
movsd  0xf3(%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  0xc3(%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
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    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
add    $0x90,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<kernel_dtrsv_n_8_lib4>:
shl    $0x2,%ecx
movslq %ecx,%r10
cmp    $0x8,%edi
jl     13cb <kernel_dtrsv_n_8_lib4+0x2cb>
add    $0xfffffff9,%edi
lea    0x0(,%r10,8),%rcx
xorpd  %xmm0,%xmm0
xor    %eax,%eax
xorpd  %xmm11,%xmm11
xorpd  %xmm2,%xmm2
xorpd  %xmm1,%xmm1
nopl   (%rax)
movupd (%rdx,%rcx,1),%xmm3
movupd 0x10(%rdx,%rcx,1),%xmm5
movupd 0x20(%rdx,%rcx,1),%xmm12
movupd 0x30(%rdx,%rcx,1),%xmm9
movupd (%rdx),%xmm13
movupd 0x10(%rdx),%xmm15
movupd 0x20(%rdx),%xmm10
movupd 0x30(%rdx),%xmm8
movsd  (%r8,%rax,8),%xmm4
movsd  0x8(%r8,%rax,8),%xmm7
movsd  0x10(%r8,%rax,8),%xmm6
movsd  0x18(%r8,%rax,8),%xmm14
unpcklpd %xmm4,%xmm4
mulpd  %xmm4,%xmm3
addpd  %xmm2,%xmm3
mulpd  %xmm4,%xmm5
addpd  %xmm1,%xmm5
mulpd  %xmm4,%xmm13
addpd  %xmm0,%xmm13
mulpd  %xmm15,%xmm4
addpd  %xmm11,%xmm4
unpcklpd %xmm7,%xmm7
mulpd  %xmm7,%xmm9
addpd  %xmm5,%xmm9
mulpd  %xmm7,%xmm12
addpd  %xmm3,%xmm12
mulpd  %xmm7,%xmm8
addpd  %xmm4,%xmm8
mulpd  %xmm10,%xmm7
addpd  %xmm13,%xmm7
movupd 0x50(%rdx),%xmm1
movupd 0x40(%rdx),%xmm0
movupd 0x40(%rdx,%rcx,1),%xmm2
movupd 0x50(%rdx,%rcx,1),%xmm4
unpcklpd %xmm6,%xmm6
mulpd  %xmm6,%xmm2
addpd  %xmm12,%xmm2
mulpd  %xmm6,%xmm4
addpd  %xmm9,%xmm4
mulpd  %xmm6,%xmm0
addpd  %xmm7,%xmm0
mulpd  %xmm1,%xmm6
addpd  %xmm8,%xmm6
movupd 0x60(%rdx),%xmm5
movupd 0x70(%rdx),%xmm1
movupd 0x60(%rdx,%rcx,1),%xmm7
movupd 0x70(%rdx,%rcx,1),%xmm3
unpcklpd %xmm14,%xmm14
mulpd  %xmm14,%xmm3
addpd  %xmm4,%xmm3
mulpd  %xmm14,%xmm7
addpd  %xmm2,%xmm7
mulpd  %xmm14,%xmm1
addpd  %xmm6,%xmm1
mulpd  %xmm5,%xmm14
addpd  %xmm0,%xmm14
movupd 0x90(%rdx),%xmm0
movupd 0x80(%rdx),%xmm5
movupd 0x80(%rdx,%rcx,1),%xmm4
movupd 0x90(%rdx,%rcx,1),%xmm6
movsd  0x20(%r8,%rax,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm2,%xmm4
addpd  %xmm7,%xmm4
mulpd  %xmm2,%xmm6
addpd  %xmm3,%xmm6
mulpd  %xmm2,%xmm5
addpd  %xmm14,%xmm5
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0xa0(%rdx),%xmm7
movupd 0xb0(%rdx),%xmm8
movupd 0xa0(%rdx,%rcx,1),%xmm1
movupd 0xb0(%rdx,%rcx,1),%xmm0
movsd  0x28(%r8,%rax,8),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm0
addpd  %xmm6,%xmm0
mulpd  %xmm3,%xmm1
addpd  %xmm4,%xmm1
mulpd  %xmm3,%xmm8
addpd  %xmm2,%xmm8
mulpd  %xmm7,%xmm3
addpd  %xmm5,%xmm3
movupd 0xd0(%rdx),%xmm2
movupd 0xc0(%rdx),%xmm6
movupd 0xc0(%rdx,%rcx,1),%xmm5
movupd 0xd0(%rdx,%rcx,1),%xmm4
movsd  0x30(%r8,%rax,8),%xmm7
unpcklpd %xmm7,%xmm7
mulpd  %xmm7,%xmm5
addpd  %xmm1,%xmm5
mulpd  %xmm7,%xmm4
addpd  %xmm0,%xmm4
mulpd  %xmm7,%xmm6
addpd  %xmm3,%xmm6
mulpd  %xmm2,%xmm7
addpd  %xmm8,%xmm7
movupd 0xe0(%rdx),%xmm0
movupd 0xf0(%rdx),%xmm10
movupd 0xe0(%rdx,%rcx,1),%xmm9
movupd 0xf0(%rdx,%rcx,1),%xmm8
movsd  0x38(%r8,%rax,8),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm8
movapd %xmm8,%xmm1
addpd  %xmm4,%xmm1
mulpd  %xmm3,%xmm9
movapd %xmm9,%xmm2
addpd  %xmm5,%xmm2
mulpd  %xmm3,%xmm10
movapd %xmm10,%xmm11
addpd  %xmm7,%xmm11
mulpd  %xmm0,%xmm3
movapd %xmm3,%xmm0
addpd  %xmm6,%xmm0
add    $0x100,%rdx
add    $0x8,%rax
cmp    %edi,%eax
jl     1130 <kernel_dtrsv_n_8_lib4+0x30>
addpd  %xmm6,%xmm3
addpd  %xmm7,%xmm10
addpd  %xmm5,%xmm9
addpd  %xmm4,%xmm8
lea    (%rdx,%r10,8),%rax
jmp    13e2 <kernel_dtrsv_n_8_lib4+0x2e2>
lea    (%rdx,%r10,8),%rax
xorpd  %xmm3,%xmm3
xorpd  %xmm10,%xmm10
xorpd  %xmm9,%xmm9
xorpd  %xmm8,%xmm8
movsd  (%r9),%xmm7
movsd  0x8(%r9),%xmm6
subsd  %xmm3,%xmm7
unpckhpd %xmm3,%xmm3
subsd  %xmm3,%xmm6
movsd  0x10(%r9),%xmm5
subsd  %xmm10,%xmm5
movsd  0x18(%r9),%xmm4
unpckhpd %xmm10,%xmm10
subsd  %xmm10,%xmm4
movsd  0x20(%r9),%xmm3
subsd  %xmm9,%xmm3
movsd  0x28(%r9),%xmm2
unpckhpd %xmm9,%xmm9
subsd  %xmm9,%xmm2
movsd  0x30(%r9),%xmm9
subsd  %xmm8,%xmm9
movsd  0x38(%r9),%xmm1
unpckhpd %xmm8,%xmm8
subsd  %xmm8,%xmm1
movsd  (%rdx),%xmm0
test   %esi,%esi
je     161e <kernel_dtrsv_n_8_lib4+0x51e>
mulsd  %xmm0,%xmm7
movsd  0x8(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm6
mulsd  0x28(%rdx),%xmm6
movsd  %xmm7,(%r9)
movsd  %xmm6,0x8(%r9)
movsd  0x10(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm5
movsd  0x18(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm4
movsd  0x30(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm5
movsd  0x38(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm4
movsd  (%rax),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm3
movsd  0x8(%rax),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm2
movsd  0x10(%rax),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x18(%rax),%xmm7
subsd  %xmm7,%xmm1
movsd  0x20(%rax),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm3
movsd  0x28(%rax),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm2
movsd  0x30(%rax),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x38(%rax),%xmm6
mulsd  0x50(%rdx),%xmm5
subsd  %xmm6,%xmm1
movsd  0x58(%rdx),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm4
mulsd  0x78(%rdx),%xmm4
movsd  %xmm5,0x10(%r9)
movsd  %xmm4,0x18(%r9)
movsd  0x40(%rax),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm3
movsd  0x48(%rax),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm2
movsd  0x50(%rax),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x58(%rax),%xmm5
subsd  %xmm5,%xmm1
movsd  0x60(%rax),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm3
movsd  0x68(%rax),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
movsd  0x70(%rax),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x78(%rax),%xmm4
subsd  %xmm4,%xmm1
mulsd  0x80(%rax),%xmm3
movsd  0x88(%rax),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm2
mulsd  0xa8(%rax),%xmm2
movsd  %xmm3,0x20(%r9)
movsd  %xmm2,0x28(%r9)
movsd  0x90(%rax),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x98(%rax),%xmm3
subsd  %xmm3,%xmm1
movsd  0xb0(%rax),%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm9
mulsd  0xb8(%rax),%xmm2
subsd  %xmm2,%xmm1
mulsd  0xd0(%rax),%xmm9
movsd  0xd8(%rax),%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm0,%xmm1
mulsd  0xf8(%rax),%xmm1
jmp    1833 <kernel_dtrsv_n_8_lib4+0x733>
movsd  0x9d9(%rip),%xmm8
movapd %xmm8,%xmm10
divsd  %xmm0,%xmm10
movapd %xmm8,%xmm11
divsd  0x28(%rdx),%xmm11
mulsd  %xmm10,%xmm7
movsd  0x8(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm6
mulsd  %xmm11,%xmm6
movsd  %xmm7,(%r9)
movsd  %xmm6,0x8(%r9)
movsd  0x10(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm5
movsd  0x18(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm4
movsd  0x30(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm5
movsd  0x38(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm4
movsd  (%rax),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm3
movsd  0x8(%rax),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm2
movsd  0x10(%rax),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x18(%rax),%xmm7
subsd  %xmm7,%xmm1
movsd  0x20(%rax),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm3
movsd  0x28(%rax),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm2
movsd  0x30(%rax),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x38(%rax),%xmm6
subsd  %xmm6,%xmm1
movapd %xmm8,%xmm0
divsd  0x50(%rdx),%xmm0
mulsd  %xmm5,%xmm0
movapd %xmm8,%xmm5
divsd  0x78(%rdx),%xmm5
movsd  0x58(%rdx),%xmm6
mulsd  %xmm0,%xmm6
subsd  %xmm6,%xmm4
mulsd  %xmm5,%xmm4
movsd  %xmm0,0x10(%r9)
movsd  %xmm4,0x18(%r9)
movsd  0x40(%rax),%xmm5
mulsd  %xmm0,%xmm5
subsd  %xmm5,%xmm3
movsd  0x48(%rax),%xmm5
mulsd  %xmm0,%xmm5
subsd  %xmm5,%xmm2
movsd  0x50(%rax),%xmm5
mulsd  %xmm0,%xmm5
subsd  %xmm5,%xmm9
mulsd  0x58(%rax),%xmm0
subsd  %xmm0,%xmm1
movsd  0x60(%rax),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm3
movsd  0x68(%rax),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
movsd  0x70(%rax),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x78(%rax),%xmm4
subsd  %xmm4,%xmm1
movapd %xmm8,%xmm0
divsd  0x80(%rax),%xmm0
movapd %xmm8,%xmm4
divsd  0xa8(%rax),%xmm4
mulsd  %xmm3,%xmm0
movsd  0x88(%rax),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm4,%xmm2
movsd  %xmm0,0x20(%r9)
movsd  %xmm2,0x28(%r9)
movsd  0x90(%rax),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm9
mulsd  0x98(%rax),%xmm0
subsd  %xmm0,%xmm1
movsd  0xb0(%rax),%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm9
mulsd  0xb8(%rax),%xmm2
movapd %xmm8,%xmm0
divsd  0xd0(%rax),%xmm0
subsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm9
divsd  0xf8(%rax),%xmm8
movsd  0xd8(%rax),%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm0,%xmm1
mulsd  %xmm8,%xmm1
movsd  %xmm9,0x30(%r9)
movsd  %xmm1,0x38(%r9)
ret

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

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