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


x86 assembly (clang, -O0):
<kernel_dtrsv_n_8_lib4_new>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%rsp
mov    0x10(%rbp),%rax
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    %ecx,-0x18(%rbp)
mov    %r8,-0x20(%rbp)
mov    %r9,-0x28(%rbp)
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x30(%rbp)
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    1afc <kernel_dtrsv_n_8_lib4_new+0x9fc>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x10(%rbp)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x30(%rbp)
mov    -0x28(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  -0x48(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  -0x50(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  -0x58(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x10(%rbp)
mov    -0x30(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x30(%rbp)
mov    -0x28(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%eax
add    $0x8,%eax
mov    %eax,-0x38(%rbp)
jmp    1193 <kernel_dtrsv_n_8_lib4_new+0x93>
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
subsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
subsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
subsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
subsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
mov    0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
cmpl   $0x0,-0x18(%rbp)
je     259f <kernel_dtrsv_n_8_lib4_new+0x149f>
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x60(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x68(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
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    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x78(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
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    -0x20(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x38(%rax)
jmp    2fd6 <kernel_dtrsv_n_8_lib4_new+0x1ed6>
mov    -0x10(%rbp),%rax
movsd  0xa55(%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  0xa2c(%rip),%xmm0
divsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x60(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x68(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
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  0x627(%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  0x5fd(%rip),%xmm0
divsd  0x78(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x78(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x312(%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  0x2e2(%rip),%xmm0
divsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xfb(%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  0xcb(%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    0x10(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,0x38(%rax)
add    $0x90,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<kernel_dtrsv_n_8_lib4_new>:
mov    0x8(%rsp),%r11
shl    $0x2,%edx
movslq %edx,%r10
cmp    $0x8,%edi
jl     13db <kernel_dtrsv_n_8_lib4_new+0x2db>
add    $0xfffffff9,%edi
lea    0x0(,%r10,8),%rdx
xorpd  %xmm0,%xmm0
xor    %eax,%eax
xorpd  %xmm11,%xmm11
xorpd  %xmm2,%xmm2
xorpd  %xmm1,%xmm1
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movupd (%rsi,%rdx,1),%xmm3
movupd 0x10(%rsi,%rdx,1),%xmm5
movupd 0x20(%rsi,%rdx,1),%xmm12
movupd 0x30(%rsi,%rdx,1),%xmm9
movupd (%rsi),%xmm13
movupd 0x10(%rsi),%xmm15
movupd 0x20(%rsi),%xmm10
movupd 0x30(%rsi),%xmm8
movsd  (%r9,%rax,8),%xmm4
movsd  0x8(%r9,%rax,8),%xmm7
movsd  0x10(%r9,%rax,8),%xmm6
movsd  0x18(%r9,%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(%rsi),%xmm1
movupd 0x40(%rsi),%xmm0
movupd 0x40(%rsi,%rdx,1),%xmm2
movupd 0x50(%rsi,%rdx,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(%rsi),%xmm5
movupd 0x70(%rsi),%xmm1
movupd 0x60(%rsi,%rdx,1),%xmm7
movupd 0x70(%rsi,%rdx,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(%rsi),%xmm0
movupd 0x80(%rsi),%xmm5
movupd 0x80(%rsi,%rdx,1),%xmm4
movupd 0x90(%rsi,%rdx,1),%xmm6
movsd  0x20(%r9,%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(%rsi),%xmm7
movupd 0xb0(%rsi),%xmm8
movupd 0xa0(%rsi,%rdx,1),%xmm1
movupd 0xb0(%rsi,%rdx,1),%xmm0
movsd  0x28(%r9,%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(%rsi),%xmm2
movupd 0xc0(%rsi),%xmm6
movupd 0xc0(%rsi,%rdx,1),%xmm5
movupd 0xd0(%rsi,%rdx,1),%xmm4
movsd  0x30(%r9,%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(%rsi),%xmm0
movupd 0xf0(%rsi),%xmm10
movupd 0xe0(%rsi,%rdx,1),%xmm9
movupd 0xf0(%rsi,%rdx,1),%xmm8
movsd  0x38(%r9,%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,%rsi
add    $0x8,%rax
cmp    %edi,%eax
jl     1140 <kernel_dtrsv_n_8_lib4_new+0x40>
addpd  %xmm6,%xmm3
addpd  %xmm7,%xmm10
addpd  %xmm5,%xmm9
addpd  %xmm4,%xmm8
lea    (%rsi,%r10,8),%rdx
jmp    13f2 <kernel_dtrsv_n_8_lib4_new+0x2f2>
lea    (%rsi,%r10,8),%rdx
xorpd  %xmm3,%xmm3
xorpd  %xmm10,%xmm10
xorpd  %xmm9,%xmm9
xorpd  %xmm8,%xmm8
movsd  (%r11),%xmm7
movsd  0x8(%r11),%xmm6
subsd  %xmm3,%xmm7
unpckhpd %xmm3,%xmm3
subsd  %xmm3,%xmm6
movsd  0x10(%r11),%xmm5
subsd  %xmm10,%xmm5
movsd  0x18(%r11),%xmm4
unpckhpd %xmm10,%xmm10
subsd  %xmm10,%xmm4
movsd  0x20(%r11),%xmm3
subsd  %xmm9,%xmm3
movsd  0x28(%r11),%xmm2
unpckhpd %xmm9,%xmm9
subsd  %xmm9,%xmm2
movsd  0x30(%r11),%xmm9
subsd  %xmm8,%xmm9
movsd  0x38(%r11),%xmm1
unpckhpd %xmm8,%xmm8
subsd  %xmm8,%xmm1
test   %ecx,%ecx
je     1625 <kernel_dtrsv_n_8_lib4_new+0x525>
mulsd  (%r8),%xmm7
movsd  0x8(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm6
mulsd  0x8(%r8),%xmm6
movsd  %xmm7,(%r11)
movsd  %xmm6,0x8(%r11)
movsd  0x10(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm5
movsd  0x18(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm4
movsd  0x30(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm5
movsd  0x38(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm4
movsd  (%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm3
movsd  0x8(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm2
movsd  0x10(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x18(%rdx),%xmm7
subsd  %xmm7,%xmm1
movsd  0x20(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm3
movsd  0x28(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm2
movsd  0x30(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x38(%rdx),%xmm6
mulsd  0x10(%r8),%xmm5
subsd  %xmm6,%xmm1
movsd  0x58(%rsi),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm4
mulsd  0x18(%r8),%xmm4
movsd  %xmm5,0x10(%r11)
movsd  %xmm4,0x18(%r11)
movsd  0x40(%rdx),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm3
movsd  0x48(%rdx),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm2
movsd  0x50(%rdx),%xmm0
mulsd  %xmm5,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x58(%rdx),%xmm5
subsd  %xmm5,%xmm1
movsd  0x60(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm3
movsd  0x68(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
movsd  0x70(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x78(%rdx),%xmm4
subsd  %xmm4,%xmm1
mulsd  0x20(%r8),%xmm3
movsd  0x88(%rdx),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm2
mulsd  0x28(%r8),%xmm2
movsd  %xmm3,0x20(%r11)
movsd  %xmm2,0x28(%r11)
movsd  0x90(%rdx),%xmm0
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x98(%rdx),%xmm3
subsd  %xmm3,%xmm1
movsd  0xb0(%rdx),%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm9
mulsd  0xb8(%rdx),%xmm2
subsd  %xmm2,%xmm1
mulsd  0x30(%r8),%xmm9
movsd  0xd8(%rdx),%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm0,%xmm1
mulsd  0x38(%r8),%xmm1
jmp    1838 <kernel_dtrsv_n_8_lib4_new+0x738>
movsd  0x9d2(%rip),%xmm8
movapd %xmm8,%xmm0
divsd  (%rsi),%xmm0
movapd %xmm8,%xmm10
divsd  0x28(%rsi),%xmm10
mulsd  %xmm0,%xmm7
movsd  0x8(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm6
mulsd  %xmm10,%xmm6
movsd  %xmm7,(%r11)
movsd  %xmm6,0x8(%r11)
movsd  0x10(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm5
movsd  0x18(%rsi),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm4
movsd  0x30(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm5
movsd  0x38(%rsi),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm4
movsd  (%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm3
movsd  0x8(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm2
movsd  0x10(%rdx),%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x18(%rdx),%xmm7
subsd  %xmm7,%xmm1
movsd  0x20(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm3
movsd  0x28(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm2
movsd  0x30(%rdx),%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x38(%rdx),%xmm6
subsd  %xmm6,%xmm1
movapd %xmm8,%xmm0
divsd  0x50(%rsi),%xmm0
mulsd  %xmm5,%xmm0
movapd %xmm8,%xmm5
divsd  0x78(%rsi),%xmm5
movsd  0x58(%rsi),%xmm6
mulsd  %xmm0,%xmm6
subsd  %xmm6,%xmm4
mulsd  %xmm5,%xmm4
movsd  %xmm0,0x10(%r11)
movsd  %xmm4,0x18(%r11)
movsd  0x40(%rdx),%xmm5
mulsd  %xmm0,%xmm5
subsd  %xmm5,%xmm3
movsd  0x48(%rdx),%xmm5
mulsd  %xmm0,%xmm5
subsd  %xmm5,%xmm2
movsd  0x50(%rdx),%xmm5
mulsd  %xmm0,%xmm5
subsd  %xmm5,%xmm9
mulsd  0x58(%rdx),%xmm0
subsd  %xmm0,%xmm1
movsd  0x60(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm3
movsd  0x68(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
movsd  0x70(%rdx),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm9
mulsd  0x78(%rdx),%xmm4
subsd  %xmm4,%xmm1
movapd %xmm8,%xmm0
divsd  0x80(%rdx),%xmm0
movapd %xmm8,%xmm4
divsd  0xa8(%rdx),%xmm4
mulsd  %xmm3,%xmm0
movsd  0x88(%rdx),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm4,%xmm2
movsd  %xmm0,0x20(%r11)
movsd  %xmm2,0x28(%r11)
movsd  0x90(%rdx),%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm3,%xmm9
mulsd  0x98(%rdx),%xmm0
subsd  %xmm0,%xmm1
movsd  0xb0(%rdx),%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm9
mulsd  0xb8(%rdx),%xmm2
movapd %xmm8,%xmm0
divsd  0xd0(%rdx),%xmm0
subsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm9
divsd  0xf8(%rdx),%xmm8
movsd  0xd8(%rdx),%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm0,%xmm1
mulsd  %xmm8,%xmm1
movsd  %xmm9,0x30(%r11)
movsd  %xmm1,0x38(%r11)
ret

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

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