void od_renorm8(double f0, double f1, double f2, double f3, double f4,
                double f5, double f6, double f7, double f8, double *pr,
                double *r0, double *r1, double *r2, double *r3, double *r4,
                double *r5, double *r6, double *r7) {
  int ptr;
  if (f1 == 0.0) {
    *pr = f0;
    ptr = 0;
    *r0 = dd_quick_two_sum(*pr, f2, pr);
  } else {
    *r0 = f0;
    *pr = f1;
    ptr = 1;
    *r1 = dd_quick_two_sum(*pr, f2, pr);
  }
  if (*pr == 0.0) {
    if (ptr == 0)
      *pr = *r0;
    else
      *pr = *r1;
  } else {
    ptr = ptr + 1;
  }
  if (ptr == 0) {
    *r0 = dd_quick_two_sum(*pr, f3, pr);
  } else if (ptr == 1) {
    *r1 = dd_quick_two_sum(*pr, f3, pr);
  } else if (ptr == 2) {
    *r2 = dd_quick_two_sum(*pr, f3, pr);
  }
  if (*pr == 0.0) {
    if (ptr == 0) {
      *pr = *r0;
    } else if (ptr == 1) {
      *pr = *r1;
    } else if (ptr == 2) {
      *pr = *r2;
    }
  } else {
    ptr = ptr + 1;
  }
  if (ptr == 0) {
    *r0 = dd_quick_two_sum(*pr, f4, pr);
  } else if (ptr == 1) {
    *r1 = dd_quick_two_sum(*pr, f4, pr);
  } else if (ptr == 2) {
    *r2 = dd_quick_two_sum(*pr, f4, pr);
  } else if (ptr == 3) {
    *r3 = dd_quick_two_sum(*pr, f4, pr);
  }
  if (*pr == 0.0) {
    if (ptr == 0) {
      *pr = *r0;
    } else if (ptr == 1) {
      *pr = *r1;
    } else if (ptr == 2) {
      *pr = *r2;
    } else if (ptr == 3) {
      *pr = *r3;
    }
  } else {
    ptr = ptr + 1;
  }
  if (ptr == 0) {
    *r0 = dd_quick_two_sum(*pr, f5, pr);
  } else if (ptr == 1) {
    *r1 = dd_quick_two_sum(*pr, f5, pr);
  } else if (ptr == 2) {
    *r2 = dd_quick_two_sum(*pr, f5, pr);
  } else if (ptr == 3) {
    *r3 = dd_quick_two_sum(*pr, f5, pr);
  } else if (ptr == 4) {
    *r4 = dd_quick_two_sum(*pr, f5, pr);
  }
  if (*pr == 0.0) {
    if (ptr == 0) {
      *pr = *r0;
    } else if (ptr == 1) {
      *pr = *r1;
    } else if (ptr == 2) {
      *pr = *r2;
    } else if (ptr == 3) {
      *pr = *r3;
    } else if (ptr == 4) {
      *pr = *r4;
    }
  } else {
    ptr = ptr + 1;
  }
  if (ptr == 0) {
    *r0 = dd_quick_two_sum(*pr, f6, pr);
  } else if (ptr == 1) {
    *r1 = dd_quick_two_sum(*pr, f6, pr);
  } else if (ptr == 2) {
    *r2 = dd_quick_two_sum(*pr, f6, pr);
  } else if (ptr == 3) {
    *r3 = dd_quick_two_sum(*pr, f6, pr);
  } else if (ptr == 4) {
    *r4 = dd_quick_two_sum(*pr, f6, pr);
  } else if (ptr == 5) {
    *r5 = dd_quick_two_sum(*pr, f6, pr);
  }
  if (*pr == 0.0) {
    if (ptr == 0) {
      *pr = *r0;
    } else if (ptr == 1) {
      *pr = *r1;
    } else if (ptr == 2) {
      *pr = *r2;
    } else if (ptr == 3) {
      *pr = *r3;
    } else if (ptr == 4) {
      *pr = *r4;
    } else if (ptr == 5) {
      *pr = *r5;
    }
  } else {
    ptr = ptr + 1;
  }
  if (ptr == 0) {
    *r0 = dd_quick_two_sum(*pr, f7, pr);
  } else if (ptr == 1) {
    *r1 = dd_quick_two_sum(*pr, f7, pr);
  } else if (ptr == 2) {
    *r2 = dd_quick_two_sum(*pr, f7, pr);
  } else if (ptr == 3) {
    *r3 = dd_quick_two_sum(*pr, f7, pr);
  } else if (ptr == 4) {
    *r4 = dd_quick_two_sum(*pr, f7, pr);
  } else if (ptr == 5) {
    *r5 = dd_quick_two_sum(*pr, f7, pr);
  } else if (ptr == 6) {
    *r6 = dd_quick_two_sum(*pr, f7, pr);
  }
  if (*pr == 0.0) {
    if (ptr == 0) {
      *pr = *r0;
    } else if (ptr == 1) {
      *pr = *r1;
    } else if (ptr == 2) {
      *pr = *r2;
    } else if (ptr == 3) {
      *pr = *r3;
    } else if (ptr == 4) {
      *pr = *r4;
    } else if (ptr == 5) {
      *pr = *r5;
    } else if (ptr == 6) {
      *pr = *r6;
    }
  } else {
    ptr = ptr + 1;
  }
  if (ptr == 0) {
    *r0 = dd_quick_two_sum(*pr, f8, pr);
  } else if (ptr == 1) {
    *r1 = dd_quick_two_sum(*pr, f8, pr);
  } else if (ptr == 2) {
    *r2 = dd_quick_two_sum(*pr, f8, pr);
  } else if (ptr == 3) {
    *r3 = dd_quick_two_sum(*pr, f8, pr);
  } else if (ptr == 4) {
    *r4 = dd_quick_two_sum(*pr, f8, pr);
  } else if (ptr == 5) {
    *r5 = dd_quick_two_sum(*pr, f8, pr);
  } else if (ptr == 6) {
    *r6 = dd_quick_two_sum(*pr, f8, pr);
  } else if (ptr == 7) {
    *r7 = dd_quick_two_sum(*pr, f8, pr);
  }
  if (*pr == 0.0) {
    if (ptr == 0) {
      *pr = *r0;
    } else if (ptr == 1) {
      *pr = *r1;
    } else if (ptr == 2) {
      *pr = *r2;
    } else if (ptr == 3) {
      *pr = *r3;
    } else if (ptr == 4) {
      *pr = *r4;
    } else if (ptr == 5) {
      *pr = *r5;
    } else if (ptr == 6) {
      *pr = *r6;
    } else if (ptr == 7) {
      *pr = *r7;
    }
  } else {
    ptr = ptr + 1;
  }
  if ((ptr < 8) && (*pr != 0.0)) {
    if (ptr == 0) {
      *r0 = *pr;
    } else if (ptr == 1) {
      *r1 = *pr;
    } else if (ptr == 2) {
      *r2 = *pr;
    } else if (ptr == 3) {
      *r3 = *pr;
    } else if (ptr == 4) {
      *r4 = *pr;
    } else if (ptr == 5) {
      *r5 = *pr;
    } else if (ptr == 6) {
      *r6 = *pr;
    } else if (ptr == 7) {
      *r7 = *pr;
    }
    ptr = ptr + 1;
  }
  if (ptr < 1) {
    *r7 = 0.0;
    *r6 = 0.0;
    *r5 = 0.0;
    *r4 = 0.0;
    *r3 = 0.0;
    *r2 = 0.0;
    *r1 = 0.0;
    *r0 = 0.0;
  } else if (ptr < 2) {
    *r7 = 0.0;
    *r6 = 0.0;
    *r5 = 0.0;
    *r4 = 0.0;
    *r3 = 0.0;
    *r2 = 0.0;
    *r1 = 0.0;
  } else if (ptr < 3) {
    *r7 = 0.0;
    *r6 = 0.0;
    *r5 = 0.0;
    *r4 = 0.0;
    *r3 = 0.0;
    *r2 = 0.0;
  } else if (ptr < 4) {
    *r7 = 0.0;
    *r6 = 0.0;
    *r5 = 0.0;
    *r4 = 0.0;
    *r3 = 0.0;
  } else if (ptr < 5) {
    *r7 = 0.0;
    *r6 = 0.0;
    *r5 = 0.0;
    *r4 = 0.0;
  } else if (ptr < 6) {
    *r7 = 0.0;
    *r6 = 0.0;
    *r5 = 0.0;
  } else if (ptr < 7) {
    *r7 = 0.0;
    *r6 = 0.0;
  } else if (ptr < 8) {
    *r7 = 0.0;
  }
}


x86 assembly (clang, -O0):
<od_renorm8>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
movsd  0x10(%rbp),%xmm8
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
movsd  %xmm4,-0x28(%rbp)
movsd  %xmm5,-0x30(%rbp)
movsd  %xmm6,-0x38(%rbp)
movsd  %xmm7,-0x40(%rbp)
mov    %rdi,-0x48(%rbp)
mov    %rsi,-0x50(%rbp)
mov    %rdx,-0x58(%rbp)
mov    %rcx,-0x60(%rbp)
mov    %r8,-0x68(%rbp)
mov    %r9,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    11c2 <od_renorm8+0xb2>
jp     11c2 <od_renorm8+0xb2>
movsd  -0x8(%rbp),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
movl   $0x0,-0x74(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x18(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1207 <od_renorm8+0xf7>
movsd  -0x8(%rbp),%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x10(%rbp),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
movl   $0x1,-0x74(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x18(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1256 <od_renorm8+0x146>
jp     1256 <od_renorm8+0x146>
cmpl   $0x0,-0x74(%rbp)
jne    1241 <od_renorm8+0x131>
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1251 <od_renorm8+0x141>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    125f <od_renorm8+0x14f>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x0,-0x74(%rbp)
jne    1292 <od_renorm8+0x182>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x20(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    12fd <od_renorm8+0x1ed>
cmpl   $0x1,-0x74(%rbp)
jne    12c5 <od_renorm8+0x1b5>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x20(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    12f8 <od_renorm8+0x1e8>
cmpl   $0x2,-0x74(%rbp)
jne    12f3 <od_renorm8+0x1e3>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x20(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x60(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    12f8 <od_renorm8+0x1e8>
jmp    12fd <od_renorm8+0x1ed>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    137f <od_renorm8+0x26f>
jp     137f <od_renorm8+0x26f>
cmpl   $0x0,-0x74(%rbp)
jne    1337 <od_renorm8+0x227>
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    137a <od_renorm8+0x26a>
cmpl   $0x1,-0x74(%rbp)
jne    1356 <od_renorm8+0x246>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1375 <od_renorm8+0x265>
cmpl   $0x2,-0x74(%rbp)
jne    1370 <od_renorm8+0x260>
mov    -0x60(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1375 <od_renorm8+0x265>
jmp    137a <od_renorm8+0x26a>
jmp    1388 <od_renorm8+0x278>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x0,-0x74(%rbp)
jne    13bb <od_renorm8+0x2ab>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x28(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    145e <od_renorm8+0x34e>
cmpl   $0x1,-0x74(%rbp)
jne    13ee <od_renorm8+0x2de>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x28(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1459 <od_renorm8+0x349>
cmpl   $0x2,-0x74(%rbp)
jne    1421 <od_renorm8+0x311>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x28(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x60(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1454 <od_renorm8+0x344>
cmpl   $0x3,-0x74(%rbp)
jne    144f <od_renorm8+0x33f>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x28(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x68(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1454 <od_renorm8+0x344>
jmp    1459 <od_renorm8+0x349>
jmp    145e <od_renorm8+0x34e>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1504 <od_renorm8+0x3f4>
jp     1504 <od_renorm8+0x3f4>
cmpl   $0x0,-0x74(%rbp)
jne    1498 <od_renorm8+0x388>
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    14ff <od_renorm8+0x3ef>
cmpl   $0x1,-0x74(%rbp)
jne    14b7 <od_renorm8+0x3a7>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    14fa <od_renorm8+0x3ea>
cmpl   $0x2,-0x74(%rbp)
jne    14d6 <od_renorm8+0x3c6>
mov    -0x60(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    14f5 <od_renorm8+0x3e5>
cmpl   $0x3,-0x74(%rbp)
jne    14f0 <od_renorm8+0x3e0>
mov    -0x68(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    14f5 <od_renorm8+0x3e5>
jmp    14fa <od_renorm8+0x3ea>
jmp    14ff <od_renorm8+0x3ef>
jmp    150d <od_renorm8+0x3fd>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x0,-0x74(%rbp)
jne    1540 <od_renorm8+0x430>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x30(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    161b <od_renorm8+0x50b>
cmpl   $0x1,-0x74(%rbp)
jne    1573 <od_renorm8+0x463>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x30(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1616 <od_renorm8+0x506>
cmpl   $0x2,-0x74(%rbp)
jne    15a6 <od_renorm8+0x496>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x30(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x60(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1611 <od_renorm8+0x501>
cmpl   $0x3,-0x74(%rbp)
jne    15d9 <od_renorm8+0x4c9>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x30(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x68(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    160c <od_renorm8+0x4fc>
cmpl   $0x4,-0x74(%rbp)
jne    1607 <od_renorm8+0x4f7>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x30(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x70(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    160c <od_renorm8+0x4fc>
jmp    1611 <od_renorm8+0x501>
jmp    1616 <od_renorm8+0x506>
jmp    161b <od_renorm8+0x50b>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    16e5 <od_renorm8+0x5d5>
jp     16e5 <od_renorm8+0x5d5>
cmpl   $0x0,-0x74(%rbp)
jne    1655 <od_renorm8+0x545>
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    16e0 <od_renorm8+0x5d0>
cmpl   $0x1,-0x74(%rbp)
jne    1674 <od_renorm8+0x564>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    16db <od_renorm8+0x5cb>
cmpl   $0x2,-0x74(%rbp)
jne    1693 <od_renorm8+0x583>
mov    -0x60(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    16d6 <od_renorm8+0x5c6>
cmpl   $0x3,-0x74(%rbp)
jne    16b2 <od_renorm8+0x5a2>
mov    -0x68(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    16d1 <od_renorm8+0x5c1>
cmpl   $0x4,-0x74(%rbp)
jne    16cc <od_renorm8+0x5bc>
mov    -0x70(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    16d1 <od_renorm8+0x5c1>
jmp    16d6 <od_renorm8+0x5c6>
jmp    16db <od_renorm8+0x5cb>
jmp    16e0 <od_renorm8+0x5d0>
jmp    16ee <od_renorm8+0x5de>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x0,-0x74(%rbp)
jne    1721 <od_renorm8+0x611>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x38(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1834 <od_renorm8+0x724>
cmpl   $0x1,-0x74(%rbp)
jne    1754 <od_renorm8+0x644>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x38(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    182f <od_renorm8+0x71f>
cmpl   $0x2,-0x74(%rbp)
jne    1787 <od_renorm8+0x677>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x38(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x60(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    182a <od_renorm8+0x71a>
cmpl   $0x3,-0x74(%rbp)
jne    17ba <od_renorm8+0x6aa>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x38(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x68(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1825 <od_renorm8+0x715>
cmpl   $0x4,-0x74(%rbp)
jne    17ed <od_renorm8+0x6dd>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x38(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x70(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1820 <od_renorm8+0x710>
cmpl   $0x5,-0x74(%rbp)
jne    181b <od_renorm8+0x70b>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x38(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1820 <od_renorm8+0x710>
jmp    1825 <od_renorm8+0x715>
jmp    182a <od_renorm8+0x71a>
jmp    182f <od_renorm8+0x71f>
jmp    1834 <od_renorm8+0x724>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1922 <od_renorm8+0x812>
jp     1922 <od_renorm8+0x812>
cmpl   $0x0,-0x74(%rbp)
jne    186e <od_renorm8+0x75e>
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    191d <od_renorm8+0x80d>
cmpl   $0x1,-0x74(%rbp)
jne    188d <od_renorm8+0x77d>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1918 <od_renorm8+0x808>
cmpl   $0x2,-0x74(%rbp)
jne    18ac <od_renorm8+0x79c>
mov    -0x60(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1913 <od_renorm8+0x803>
cmpl   $0x3,-0x74(%rbp)
jne    18cb <od_renorm8+0x7bb>
mov    -0x68(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    190e <od_renorm8+0x7fe>
cmpl   $0x4,-0x74(%rbp)
jne    18ea <od_renorm8+0x7da>
mov    -0x70(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1909 <od_renorm8+0x7f9>
cmpl   $0x5,-0x74(%rbp)
jne    1904 <od_renorm8+0x7f4>
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1909 <od_renorm8+0x7f9>
jmp    190e <od_renorm8+0x7fe>
jmp    1913 <od_renorm8+0x803>
jmp    1918 <od_renorm8+0x808>
jmp    191d <od_renorm8+0x80d>
jmp    192b <od_renorm8+0x81b>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x0,-0x74(%rbp)
jne    195e <od_renorm8+0x84e>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1aa9 <od_renorm8+0x999>
cmpl   $0x1,-0x74(%rbp)
jne    1991 <od_renorm8+0x881>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1aa4 <od_renorm8+0x994>
cmpl   $0x2,-0x74(%rbp)
jne    19c4 <od_renorm8+0x8b4>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x60(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1a9f <od_renorm8+0x98f>
cmpl   $0x3,-0x74(%rbp)
jne    19f7 <od_renorm8+0x8e7>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x68(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1a9a <od_renorm8+0x98a>
cmpl   $0x4,-0x74(%rbp)
jne    1a2a <od_renorm8+0x91a>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x70(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1a95 <od_renorm8+0x985>
cmpl   $0x5,-0x74(%rbp)
jne    1a5d <od_renorm8+0x94d>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1a90 <od_renorm8+0x980>
cmpl   $0x6,-0x74(%rbp)
jne    1a8b <od_renorm8+0x97b>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x40(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1a90 <od_renorm8+0x980>
jmp    1a95 <od_renorm8+0x985>
jmp    1a9a <od_renorm8+0x98a>
jmp    1a9f <od_renorm8+0x98f>
jmp    1aa4 <od_renorm8+0x994>
jmp    1aa9 <od_renorm8+0x999>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1bbb <od_renorm8+0xaab>
jp     1bbb <od_renorm8+0xaab>
cmpl   $0x0,-0x74(%rbp)
jne    1ae3 <od_renorm8+0x9d3>
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1bb6 <od_renorm8+0xaa6>
cmpl   $0x1,-0x74(%rbp)
jne    1b02 <od_renorm8+0x9f2>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1bb1 <od_renorm8+0xaa1>
cmpl   $0x2,-0x74(%rbp)
jne    1b21 <od_renorm8+0xa11>
mov    -0x60(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1bac <od_renorm8+0xa9c>
cmpl   $0x3,-0x74(%rbp)
jne    1b40 <od_renorm8+0xa30>
mov    -0x68(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1ba7 <od_renorm8+0xa97>
cmpl   $0x4,-0x74(%rbp)
jne    1b5f <od_renorm8+0xa4f>
mov    -0x70(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1ba2 <od_renorm8+0xa92>
cmpl   $0x5,-0x74(%rbp)
jne    1b7e <od_renorm8+0xa6e>
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1b9d <od_renorm8+0xa8d>
cmpl   $0x6,-0x74(%rbp)
jne    1b98 <od_renorm8+0xa88>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1b9d <od_renorm8+0xa8d>
jmp    1ba2 <od_renorm8+0xa92>
jmp    1ba7 <od_renorm8+0xa97>
jmp    1bac <od_renorm8+0xa9c>
jmp    1bb1 <od_renorm8+0xaa1>
jmp    1bb6 <od_renorm8+0xaa6>
jmp    1bc4 <od_renorm8+0xab4>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x0,-0x74(%rbp)
jne    1bf7 <od_renorm8+0xae7>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d7a <od_renorm8+0xc6a>
cmpl   $0x1,-0x74(%rbp)
jne    1c2a <od_renorm8+0xb1a>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d75 <od_renorm8+0xc65>
cmpl   $0x2,-0x74(%rbp)
jne    1c5d <od_renorm8+0xb4d>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x60(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d70 <od_renorm8+0xc60>
cmpl   $0x3,-0x74(%rbp)
jne    1c90 <od_renorm8+0xb80>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x68(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d6b <od_renorm8+0xc5b>
cmpl   $0x4,-0x74(%rbp)
jne    1cc3 <od_renorm8+0xbb3>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    -0x70(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d66 <od_renorm8+0xc56>
cmpl   $0x5,-0x74(%rbp)
jne    1cf6 <od_renorm8+0xbe6>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d61 <od_renorm8+0xc51>
cmpl   $0x6,-0x74(%rbp)
jne    1d29 <od_renorm8+0xc19>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d5c <od_renorm8+0xc4c>
cmpl   $0x7,-0x74(%rbp)
jne    1d57 <od_renorm8+0xc47>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x10(%rbp),%xmm1
mov    -0x48(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
cvtsi2sd %eax,%xmm0
mov    0x28(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1d5c <od_renorm8+0xc4c>
jmp    1d61 <od_renorm8+0xc51>
jmp    1d66 <od_renorm8+0xc56>
jmp    1d6b <od_renorm8+0xc5b>
jmp    1d70 <od_renorm8+0xc60>
jmp    1d75 <od_renorm8+0xc65>
jmp    1d7a <od_renorm8+0xc6a>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1eb0 <od_renorm8+0xda0>
jp     1eb0 <od_renorm8+0xda0>
cmpl   $0x0,-0x74(%rbp)
jne    1db4 <od_renorm8+0xca4>
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1eab <od_renorm8+0xd9b>
cmpl   $0x1,-0x74(%rbp)
jne    1dd3 <od_renorm8+0xcc3>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1ea6 <od_renorm8+0xd96>
cmpl   $0x2,-0x74(%rbp)
jne    1df2 <od_renorm8+0xce2>
mov    -0x60(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1ea1 <od_renorm8+0xd91>
cmpl   $0x3,-0x74(%rbp)
jne    1e11 <od_renorm8+0xd01>
mov    -0x68(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1e9c <od_renorm8+0xd8c>
cmpl   $0x4,-0x74(%rbp)
jne    1e30 <od_renorm8+0xd20>
mov    -0x70(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1e97 <od_renorm8+0xd87>
cmpl   $0x5,-0x74(%rbp)
jne    1e4f <od_renorm8+0xd3f>
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1e92 <od_renorm8+0xd82>
cmpl   $0x6,-0x74(%rbp)
jne    1e6e <od_renorm8+0xd5e>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1e8d <od_renorm8+0xd7d>
cmpl   $0x7,-0x74(%rbp)
jne    1e88 <od_renorm8+0xd78>
mov    0x28(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1e8d <od_renorm8+0xd7d>
jmp    1e92 <od_renorm8+0xd82>
jmp    1e97 <od_renorm8+0xd87>
jmp    1e9c <od_renorm8+0xd8c>
jmp    1ea1 <od_renorm8+0xd91>
jmp    1ea6 <od_renorm8+0xd96>
jmp    1eab <od_renorm8+0xd9b>
jmp    1eb9 <od_renorm8+0xda9>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x8,-0x74(%rbp)
jge    2002 <od_renorm8+0xef2>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1ee3 <od_renorm8+0xdd3>
jp     1ee3 <od_renorm8+0xdd3>
jmp    2002 <od_renorm8+0xef2>
cmpl   $0x0,-0x74(%rbp)
jne    1f02 <od_renorm8+0xdf2>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1ff9 <od_renorm8+0xee9>
cmpl   $0x1,-0x74(%rbp)
jne    1f21 <od_renorm8+0xe11>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x58(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1ff4 <od_renorm8+0xee4>
cmpl   $0x2,-0x74(%rbp)
jne    1f40 <od_renorm8+0xe30>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x60(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1fef <od_renorm8+0xedf>
cmpl   $0x3,-0x74(%rbp)
jne    1f5f <od_renorm8+0xe4f>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x68(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1fea <od_renorm8+0xeda>
cmpl   $0x4,-0x74(%rbp)
jne    1f7e <od_renorm8+0xe6e>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x70(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1fe5 <od_renorm8+0xed5>
cmpl   $0x5,-0x74(%rbp)
jne    1f9d <od_renorm8+0xe8d>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1fe0 <od_renorm8+0xed0>
cmpl   $0x6,-0x74(%rbp)
jne    1fbc <od_renorm8+0xeac>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1fdb <od_renorm8+0xecb>
cmpl   $0x7,-0x74(%rbp)
jne    1fd6 <od_renorm8+0xec6>
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x28(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1fdb <od_renorm8+0xecb>
jmp    1fe0 <od_renorm8+0xed0>
jmp    1fe5 <od_renorm8+0xed5>
jmp    1fea <od_renorm8+0xeda>
jmp    1fef <od_renorm8+0xedf>
jmp    1ff4 <od_renorm8+0xee4>
jmp    1ff9 <od_renorm8+0xee9>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x1,-0x74(%rbp)
jge    2069 <od_renorm8+0xf59>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x70(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x68(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x60(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x58(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x50(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    2224 <od_renorm8+0x1114>
cmpl   $0x2,-0x74(%rbp)
jge    20c5 <od_renorm8+0xfb5>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x70(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x68(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x60(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x58(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    221f <od_renorm8+0x110f>
cmpl   $0x3,-0x74(%rbp)
jge    2116 <od_renorm8+0x1006>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x70(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x68(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x60(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    221a <od_renorm8+0x110a>
cmpl   $0x4,-0x74(%rbp)
jge    215c <od_renorm8+0x104c>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x70(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x68(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    2215 <od_renorm8+0x1105>
cmpl   $0x5,-0x74(%rbp)
jge    2197 <od_renorm8+0x1087>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x70(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    2210 <od_renorm8+0x1100>
cmpl   $0x6,-0x74(%rbp)
jge    21c7 <od_renorm8+0x10b7>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    220b <od_renorm8+0x10fb>
cmpl   $0x7,-0x74(%rbp)
jge    21ec <od_renorm8+0x10dc>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    2206 <od_renorm8+0x10f6>
cmpl   $0x8,-0x74(%rbp)
jge    2201 <od_renorm8+0x10f1>
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
jmp    2206 <od_renorm8+0x10f6>
jmp    220b <od_renorm8+0x10fb>
jmp    2210 <od_renorm8+0x1100>
jmp    2215 <od_renorm8+0x1105>
jmp    221a <od_renorm8+0x110a>
jmp    221f <od_renorm8+0x110f>
jmp    2224 <od_renorm8+0x1114>
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<od_renorm8>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x48,%rsp
mov    %r8,0x8(%rsp)
mov    %rcx,(%rsp)
mov    %rdx,0x10(%rsp)
mov    %rsi,%rbp
mov    %rdi,%r13
mov    0x98(%rsp),%r14
mov    0x90(%rsp),%r15
xorpd  %xmm8,%xmm8
ucomisd %xmm8,%xmm1
mov    %r9,0x18(%rsp)
movsd  %xmm7,0x30(%rsp)
movsd  %xmm6,0x38(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  %xmm4,0x28(%rsp)
movsd  %xmm3,0x40(%rsp)
jne    1364 <od_renorm8+0x254>
jp     1364 <od_renorm8+0x254>
mov    %r9,%r12
movsd  %xmm0,0x0(%r13)
movapd %xmm2,%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
ucomisd 0xe54(%rip),%xmm0
jne    13a9 <od_renorm8+0x299>
jp     13a9 <od_renorm8+0x299>
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movsd  0x40(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
jne    13ee <od_renorm8+0x2de>
jp     13ee <od_renorm8+0x2de>
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movsd  0x28(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
ucomisd 0xdd4(%rip),%xmm0
jne    1519 <od_renorm8+0x409>
jp     1519 <od_renorm8+0x409>
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movsd  0x20(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
jne    15fa <od_renorm8+0x4ea>
jp     15fa <od_renorm8+0x4ea>
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movsd  0x38(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
ucomisd 0xd54(%rip),%xmm0
jne    171c <od_renorm8+0x60c>
jp     171c <od_renorm8+0x60c>
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movsd  0x30(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
jne    1a91 <od_renorm8+0x981>
jp     1a91 <od_renorm8+0x981>
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movsd  0x80(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
ucomisd 0xcd1(%rip),%xmm0
jne    1aa9 <od_renorm8+0x999>
jp     1aa9 <od_renorm8+0x999>
movsd  %xmm1,0x0(%r13)
test   %eax,%eax
je     1ab3 <od_renorm8+0x9a3>
movsd  %xmm1,0x0(%rbp)
mov    0x88(%rsp),%rdx
mov    0x8(%rsp),%rsi
mov    (%rsp),%rdi
jmp    19d1 <od_renorm8+0x8c1>
movsd  %xmm0,0x0(%rbp)
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movapd %xmm2,%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mov    0x10(%rsp),%rax
movsd  %xmm0,(%rax)
movsd  0x0(%r13),%xmm1
ucomisd 0xc61(%rip),%xmm1
jne    13fb <od_renorm8+0x2eb>
jp     13fb <od_renorm8+0x2eb>
movsd  %xmm0,0x0(%r13)
movsd  0x40(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
mov    0x10(%rsp),%rbp
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
mov    $0x1,%r12d
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
jne    13e2 <od_renorm8+0x2d2>
jnp    143f <od_renorm8+0x32f>
mov    $0x2,%r12d
mov    (%rsp),%rbp
jmp    1449 <od_renorm8+0x339>
mov    $0x1,%r12d
mov    0x10(%rsp),%rbp
jmp    1449 <od_renorm8+0x339>
movapd %xmm1,%xmm0
movsd  0x40(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
mov    (%rsp),%rbp
movsd  %xmm1,0x0(%rbp)
movsd  0x0(%r13),%xmm0
mov    $0x2,%r12d
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
jne    170c <od_renorm8+0x5fc>
jp     170c <od_renorm8+0x5fc>
movsd  %xmm1,0x0(%r13)
movapd %xmm1,%xmm0
movsd  0x28(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x0(%rbp)
movsd  0x0(%r13),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    14a7 <od_renorm8+0x397>
jp     14a7 <od_renorm8+0x397>
cmp    $0x2,%r12d
je     14ca <od_renorm8+0x3ba>
cmp    $0x1,%r12d
movsd  0x20(%rsp),%xmm1
jne    14df <od_renorm8+0x3cf>
mov    0x10(%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x1,%ebp
mov    0x18(%rsp),%r12
jmp    1529 <od_renorm8+0x419>
cmp    $0x1,%r12d
je     14fa <od_renorm8+0x3ea>
cmp    $0x2,%r12d
movsd  0x20(%rsp),%xmm1
jne    150a <od_renorm8+0x3fa>
mov    0x18(%rsp),%r12
mov    0x8(%rsp),%rbx
mov    $0x3,%ebp
jmp    1529 <od_renorm8+0x419>
mov    (%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x2,%ebp
jmp    1503 <od_renorm8+0x3f3>
mov    0x8(%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    0x18(%rsp),%r12
mov    $0x3,%ebp
jmp    1529 <od_renorm8+0x419>
mov    $0x2,%ebp
mov    (%rsp),%rbx
mov    0x18(%rsp),%r12
jmp    1523 <od_renorm8+0x413>
mov    $0x4,%ebp
mov    0x18(%rsp),%r12
mov    %r12,%rbx
jmp    1529 <od_renorm8+0x419>
mov    $0x1,%ebp
mov    0x10(%rsp),%rbx
movsd  0x20(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,(%rbx)
movsd  0x0(%r13),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    157e <od_renorm8+0x46e>
jp     157e <od_renorm8+0x46e>
cmp    $0x3,%ebp
movsd  0x38(%rsp),%xmm1
je     159f <od_renorm8+0x48f>
cmp    $0x2,%ebp
je     15b5 <od_renorm8+0x4a5>
cmp    $0x1,%ebp
jne    15ca <od_renorm8+0x4ba>
mov    0x10(%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x1,%ebp
jmp    160a <od_renorm8+0x4fa>
cmp    $0x1,%ebp
movsd  0x38(%rsp),%xmm1
je     15e0 <od_renorm8+0x4d0>
cmp    $0x3,%ebp
je     15d6 <od_renorm8+0x4c6>
cmp    $0x2,%ebp
jne    15eb <od_renorm8+0x4db>
mov    0x8(%rsp),%rbx
mov    $0x3,%ebp
jmp    160a <od_renorm8+0x4fa>
mov    0x8(%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x3,%ebp
jmp    160a <od_renorm8+0x4fa>
mov    (%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x2,%ebp
jmp    160a <od_renorm8+0x4fa>
movsd  (%r12),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x4,%ebp
mov    %r12,%rbx
jmp    160a <od_renorm8+0x4fa>
mov    $0x2,%ebp
mov    (%rsp),%rbx
jmp    160a <od_renorm8+0x4fa>
mov    $0x5,%ebp
mov    0x88(%rsp),%rbx
jmp    160a <od_renorm8+0x4fa>
mov    $0x1,%ebp
mov    0x10(%rsp),%rbx
movsd  0x38(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,(%rbx)
movsd  0x0(%r13),%xmm0
xorpd  %xmm1,%xmm1
add    $0xffffffff,%ebp
ucomisd %xmm1,%xmm0
jne    166a <od_renorm8+0x55a>
jp     166a <od_renorm8+0x55a>
cmp    $0x3,%ebp
movsd  0x30(%rsp),%xmm1
ja     1693 <od_renorm8+0x583>
lea    0x9d2(%rip),%rax
movslq (%rax,%rbp,4),%rcx
add    %rax,%rcx
jmp    *%rcx
mov    0x10(%rsp),%rbp
movsd  0x0(%rbp),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x1,%r12d
jmp    172d <od_renorm8+0x61d>
cmp    $0x3,%ebp
movsd  0x30(%rsp),%xmm1
ja     1701 <od_renorm8+0x5f1>
mov    $0x2,%r12d
lea    0x982(%rip),%rax
movslq (%rax,%rbp,4),%rcx
add    %rax,%rcx
mov    (%rsp),%rbp
jmp    *%rcx
mov    0x88(%rsp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x5,%r12d
mov    0x88(%rsp),%rbp
jmp    172d <od_renorm8+0x61d>
mov    (%rsp),%rbp
movsd  0x0(%rbp),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x2,%r12d
jmp    172d <od_renorm8+0x61d>
mov    0x8(%rsp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x3,%r12d
mov    0x8(%rsp),%rbp
jmp    172d <od_renorm8+0x61d>
movsd  (%r12),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x4,%r12d
mov    0x18(%rsp),%rbp
jmp    172d <od_renorm8+0x61d>
mov    $0x6,%r12d
mov    %r15,%rbp
jmp    172d <od_renorm8+0x61d>
mov    $0x3,%r12d
mov    0x8(%rsp),%rbp
jmp    1449 <od_renorm8+0x339>
mov    $0x1,%r12d
mov    0x10(%rsp),%rbp
movsd  0x30(%rsp),%xmm1
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x0(%rbp)
movsd  0x0(%r13),%xmm0
xorpd  %xmm1,%xmm1
add    $0xffffffff,%r12d
ucomisd %xmm1,%xmm0
jne    1796 <od_renorm8+0x686>
jp     1796 <od_renorm8+0x686>
cmp    $0x4,%r12d
movsd  0x80(%rsp),%xmm1
ja     17c7 <od_renorm8+0x6b7>
lea    0x8cd(%rip),%rax
movslq (%rax,%r12,4),%rcx
add    %rax,%rcx
jmp    *%rcx
mov    0x10(%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x1,%ebp
mov    0x18(%rsp),%r12
jmp    185a <od_renorm8+0x74a>
cmp    $0x4,%r12d
movsd  0x80(%rsp),%xmm1
ja     1948 <od_renorm8+0x838>
mov    $0x2,%ebp
lea    0x873(%rip),%rax
movslq (%rax,%r12,4),%rcx
add    %rax,%rcx
mov    (%rsp),%rbx
mov    0x18(%rsp),%r12
jmp    *%rcx
movsd  (%r15),%xmm0
movsd  %xmm0,0x0(%r13)
mov    0x18(%rsp),%r12
mov    $0x6,%ebp
mov    %r15,%rbx
jmp    185a <od_renorm8+0x74a>
mov    (%rsp),%rbx
movsd  (%rbx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x2,%ebp
mov    0x18(%rsp),%r12
jmp    185a <od_renorm8+0x74a>
mov    0x8(%rsp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,0x0(%r13)
mov    0x18(%rsp),%r12
mov    $0x3,%ebp
mov    0x8(%rsp),%rbx
jmp    185a <od_renorm8+0x74a>
mov    0x18(%rsp),%r12
movsd  (%r12),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x4,%ebp
mov    %r12,%rbx
jmp    185a <od_renorm8+0x74a>
mov    0x88(%rsp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,0x0(%r13)
mov    0x18(%rsp),%r12
mov    $0x5,%ebp
mov    0x88(%rsp),%rbx
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,(%rbx)
movsd  0x0(%r13),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    18b2 <od_renorm8+0x7a2>
jp     18b2 <od_renorm8+0x7a2>
add    $0xffffffff,%ebp
cmp    $0x5,%ebp
ja     18ba <od_renorm8+0x7aa>
lea    0x7c0(%rip),%rax
movslq (%rax,%rbp,4),%rcx
add    %rax,%rcx
jmp    *%rcx
mov    0x10(%rsp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x1,%ebp
jmp    1988 <od_renorm8+0x878>
add    $0x1,%ebp
jmp    1988 <od_renorm8+0x878>
movsd  (%r14),%xmm0
jmp    197d <od_renorm8+0x86d>
mov    (%rsp),%rdi
movsd  (%rdi),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x2,%ebp
mov    0x88(%rsp),%rdx
mov    0x8(%rsp),%rsi
jmp    1999 <od_renorm8+0x889>
mov    0x8(%rsp),%rsi
movsd  (%rsi),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x3,%ebp
mov    0x88(%rsp),%rdx
jmp    1995 <od_renorm8+0x885>
movsd  (%r12),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x4,%ebp
jmp    1988 <od_renorm8+0x878>
mov    0x88(%rsp),%rdx
movsd  (%rdx),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x5,%ebp
jmp    1990 <od_renorm8+0x880>
movsd  (%r15),%xmm0
movsd  %xmm0,0x0(%r13)
mov    $0x6,%ebp
jmp    1988 <od_renorm8+0x878>
mov    %r13,%rdi
mov    $0x2,%al
call   1030 <dd_quick_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,(%r14)
movsd  0x0(%r13),%xmm1
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
mov    0x18(%rsp),%r12
jne    1a4a <od_renorm8+0x93a>
jp     1a4a <od_renorm8+0x93a>
movsd  %xmm0,0x0(%r13)
mov    $0x7,%ebp
mov    0x88(%rsp),%rdx
mov    0x8(%rsp),%rsi
mov    (%rsp),%rdi
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    19a5 <od_renorm8+0x895>
jnp    19cc <od_renorm8+0x8bc>
add    $0xffffffff,%ebp
cmp    $0x5,%ebp
ja     1a69 <od_renorm8+0x959>
lea    0x6b0(%rip),%rax
movslq (%rax,%rbp,4),%rcx
add    %rax,%rcx
jmp    *%rcx
mov    0x10(%rsp),%rax
movsd  %xmm0,(%rax)
jmp    19f3 <od_renorm8+0x8e3>
cmp    $0x1,%ebp
jne    19ee <od_renorm8+0x8de>
movq   $0x0,(%r14)
mov    %r15,%r14
mov    %rdx,%r15
mov    %r12,%rdx
mov    %rsi,%r12
mov    %rdi,%rsi
mov    0x10(%rsp),%rdi
jmp    19f3 <od_renorm8+0x8e3>
cmp    $0x3,%ebp
jae    1a59 <od_renorm8+0x949>
movq   $0x0,(%r14)
mov    %r15,%r14
mov    %rdx,%r15
mov    %r12,%rdx
mov    %rsi,%r12
mov    %rdi,%rsi
movq   $0x0,(%r14)
mov    %r15,%r14
mov    %rdx,%r15
mov    %r12,%rdx
mov    %rsi,%r12
movq   $0x0,(%r14)
mov    %r15,%r14
mov    %rdx,%r15
mov    %r12,%rdx
movq   $0x0,(%r14)
mov    %r15,%r14
mov    %rdx,%r15
movq   $0x0,(%r14)
mov    %r15,%r14
movq   $0x0,(%r14)
add    $0x48,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
je     1a09 <od_renorm8+0x8f9>
cmp    $0x5,%ebp
jb     1a1c <od_renorm8+0x90c>
je     1a2c <od_renorm8+0x91c>
cmp    $0x7,%ebp
jb     1a39 <od_renorm8+0x929>
jmp    1a43 <od_renorm8+0x933>
movsd  %xmm0,(%r14)
jmp    1a4a <od_renorm8+0x93a>
movsd  %xmm0,(%rdi)
jmp    1a09 <od_renorm8+0x8f9>
movsd  %xmm0,(%rsi)
jmp    1a1c <od_renorm8+0x90c>
movsd  %xmm0,(%r12)
jmp    1a2c <od_renorm8+0x91c>
movsd  %xmm0,(%rdx)
jmp    1a39 <od_renorm8+0x929>
movsd  %xmm0,(%r15)
jmp    1a43 <od_renorm8+0x933>
mov    $0x1,%ebp
mov    0x10(%rsp),%rbx
movsd  0x80(%rsp),%xmm1
jmp    185a <od_renorm8+0x74a>
mov    $0x1,%ebp
jmp    1988 <od_renorm8+0x878>
movq   $0x0,(%r14)
mov    %r15,%r14
mov    0x88(%rsp),%r15
mov    %r12,%rdx
mov    0x8(%rsp),%r12
mov    (%rsp),%rsi
mov    0x10(%rsp),%rdi
mov    %rbp,0x10(%rsp)
jmp    19d1 <od_renorm8+0x8c1>

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

LLVM IR (-O2):
define void @od_renorm8(double %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double* %9, double* nocapture writeonly %10, double* nocapture %11, double* nocapture %12, double* nocapture %13, double* nocapture %14, double* nocapture %15, double* nocapture %16, double* nocapture %17) {
%19 = fcmp oeq double %1, 0.000000e+00
br i1 %19, label %20, label %25
20: ; preds = %18
store double %0, double* %9
%21 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %0, double %2, double* %9)
%22 = sitofp i32 %21 to double
store double %22, double* %10
%23 = load double, double* %9
%24 = fcmp oeq double %23, 0.000000e+00
br i1 %24, label %42, label %31
25: ; preds = %18
store double %0, double* %10
store double %1, double* %9
%26 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %1, double %2, double* %9)
%27 = sitofp i32 %26 to double
store double %27, double* %11
%28 = load double, double* %9
%29 = fcmp oeq double %28, 0.000000e+00
br i1 %29, label %30, label %37
30: ; preds = %25
store double %27, double* %9
br label %31
31: ; preds = %30, %20
%32 = phi double [ %23, %20 ], [ %27, %30 ]
%33 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %32, double %3, double* %9)
%34 = sitofp i32 %33 to double
store double %34, double* %11
%35 = load double, double* %9
%36 = fcmp oeq double %35, 0.000000e+00
br i1 %36, label %47, label %51
37: ; preds = %25
%38 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %28, double %3, double* %9)
%39 = sitofp i32 %38 to double
store double %39, double* %12
%40 = load double, double* %9
%41 = fcmp oeq double %40, 0.000000e+00
br i1 %41, label %47, label %51
42: ; preds = %20
store double %22, double* %9
%43 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %22, double %3, double* %9)
%44 = sitofp i32 %43 to double
store double %44, double* %10
%45 = load double, double* %9
%46 = fcmp oeq double %45, 0.000000e+00
br i1 %46, label %59, label %51
47: ; preds = %37, %31
%48 = phi double [ %34, %31 ], [ %39, %37 ]
%49 = phi double* [ %11, %31 ], [ %12, %37 ]
%50 = phi i32 [ 1, %31 ], [ 2, %37 ]
store double %48, double* %9
br label %51
51: ; preds = %47, %37, %31, %42
%52 = phi double [ %45, %42 ], [ %35, %31 ], [ %40, %37 ], [ %48, %47 ]
%53 = phi double* [ %11, %42 ], [ %12, %31 ], [ %13, %37 ], [ %49, %47 ]
%54 = phi i32 [ 1, %42 ], [ 2, %31 ], [ 3, %37 ], [ %50, %47 ]
%55 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %52, double %4, double* %9)
%56 = sitofp i32 %55 to double
store double %56, double* %53
%57 = load double, double* %9
%58 = fcmp oeq double %57, 0.000000e+00
br i1 %58, label %64, label %71
59: ; preds = %42
store double %44, double* %9
%60 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %44, double %4, double* %9)
%61 = sitofp i32 %60 to double
store double %61, double* %10
%62 = load double, double* %9
%63 = fcmp oeq double %62, 0.000000e+00
br i1 %63, label %83, label %75
64: ; preds = %51
switch i32 %54, label %69 [
i32 1, label %65
i32 2, label %67
]
65: ; preds = %64
%66 = load double, double* %11
store double %66, double* %9
br label %75
67: ; preds = %64
%68 = load double, double* %12
store double %68, double* %9
br label %75
69: ; preds = %64
%70 = load double, double* %13
store double %70, double* %9
br label %72
71: ; preds = %51
switch i32 %54, label %74 [
i32 2, label %72
i32 1, label %75
]
72: ; preds = %71, %69
%73 = phi double [ %57, %71 ], [ %70, %69 ]
br label %75
74: ; preds = %71
br label %75
75: ; preds = %71, %67, %65, %59, %72, %74
%76 = phi double [ %73, %72 ], [ %57, %74 ], [ %62, %59 ], [ %66, %65 ], [ %68, %67 ], [ %57, %71 ]
%77 = phi double* [ %13, %72 ], [ %14, %74 ], [ %11, %59 ], [ %11, %65 ], [ %12, %67 ], [ %12, %71 ]
%78 = phi i32 [ 3, %72 ], [ 4, %74 ], [ 1, %59 ], [ 1, %65 ], [ 2, %67 ], [ 2, %71 ]
%79 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %76, double %5, double* %9)
%80 = sitofp i32 %79 to double
store double %80, double* %77
%81 = load double, double* %9
%82 = fcmp oeq double %81, 0.000000e+00
br i1 %82, label %88, label %97
83: ; preds = %59
store double %61, double* %9
%84 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %61, double %5, double* %9)
%85 = sitofp i32 %84 to double
store double %85, double* %10
%86 = load double, double* %9
%87 = fcmp oeq double %86, 0.000000e+00
br i1 %87, label %111, label %103
88: ; preds = %75
switch i32 %78, label %95 [
i32 1, label %89
i32 2, label %91
i32 3, label %93
]
89: ; preds = %88
%90 = load double, double* %11
store double %90, double* %9
br label %103
91: ; preds = %88
%92 = load double, double* %12
store double %92, double* %9
br label %103
93: ; preds = %88
%94 = load double, double* %13
store double %94, double* %9
br label %98
95: ; preds = %88
%96 = load double, double* %14
store double %96, double* %9
br label %100
97: ; preds = %75
switch i32 %78, label %102 [
i32 3, label %100
i32 1, label %103
i32 2, label %98
]
98: ; preds = %93, %97
%99 = phi double [ %94, %93 ], [ %81, %97 ]
br label %103
100: ; preds = %97, %95
%101 = phi double [ %81, %97 ], [ %96, %95 ]
br label %103
102: ; preds = %97
br label %103
103: ; preds = %97, %91, %89, %83, %98, %102, %100
%104 = phi double [ %99, %98 ], [ %81, %102 ], [ %101, %100 ], [ %86, %83 ], [ %90, %89 ], [ %92, %91 ], [ %81, %97 ]
%105 = phi double* [ %13, %98 ], [ %15, %102 ], [ %14, %100 ], [ %11, %83 ], [ %11, %89 ], [ %12, %91 ], [ %12, %97 ]
%106 = phi i32 [ 3, %98 ], [ 5, %102 ], [ 4, %100 ], [ 1, %83 ], [ 1, %89 ], [ 2, %91 ], [ 2, %97 ]
%107 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %104, double %6, double* %9)
%108 = sitofp i32 %107 to double
store double %108, double* %105
%109 = load double, double* %9
%110 = fcmp oeq double %109, 0.000000e+00
br i1 %110, label %116, label %127
111: ; preds = %83
store double %85, double* %9
%112 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %85, double %6, double* %9)
%113 = sitofp i32 %112 to double
store double %113, double* %10
%114 = load double, double* %9
%115 = fcmp oeq double %114, 0.000000e+00
br i1 %115, label %143, label %135
116: ; preds = %103
switch i32 %106, label %125 [
i32 1, label %117
i32 2, label %119
i32 3, label %121
i32 4, label %123
]
117: ; preds = %116
%118 = load double, double* %11
store double %118, double* %9
br label %135
119: ; preds = %116
%120 = load double, double* %12
store double %120, double* %9
br label %135
121: ; preds = %116
%122 = load double, double* %13
store double %122, double* %9
br label %128
123: ; preds = %116
%124 = load double, double* %14
store double %124, double* %9
br label %130
125: ; preds = %116
%126 = load double, double* %15
store double %126, double* %9
br label %132
127: ; preds = %103
switch i32 %106, label %134 [
i32 4, label %132
i32 1, label %135
i32 2, label %128
i32 3, label %130
]
128: ; preds = %121, %127
%129 = phi double [ %122, %121 ], [ %109, %127 ]
br label %135
130: ; preds = %123, %127
%131 = phi double [ %124, %123 ], [ %109, %127 ]
br label %135
132: ; preds = %127, %125
%133 = phi double [ %109, %127 ], [ %126, %125 ]
br label %135
134: ; preds = %127
br label %135
135: ; preds = %127, %119, %117, %111, %128, %132, %134, %130
%136 = phi double [ %129, %128 ], [ %133, %132 ], [ %109, %134 ], [ %131, %130 ], [ %114, %111 ], [ %118, %117 ], [ %120, %119 ], [ %109, %127 ]
%137 = phi double* [ %13, %128 ], [ %15, %132 ], [ %16, %134 ], [ %14, %130 ], [ %11, %111 ], [ %11, %117 ], [ %12, %119 ], [ %12, %127 ]
%138 = phi i32 [ 3, %128 ], [ 5, %132 ], [ 6, %134 ], [ 4, %130 ], [ 1, %111 ], [ 1, %117 ], [ 2, %119 ], [ 2, %127 ]
%139 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %136, double %7, double* %9)
%140 = sitofp i32 %139 to double
store double %140, double* %137
%141 = load double, double* %9
%142 = fcmp oeq double %141, 0.000000e+00
br i1 %142, label %148, label %161
143: ; preds = %111
store double %113, double* %9
%144 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %113, double %7, double* %9)
%145 = sitofp i32 %144 to double
store double %145, double* %10
%146 = load double, double* %9
%147 = fcmp oeq double %146, 0.000000e+00
br i1 %147, label %183, label %170
148: ; preds = %135
switch i32 %138, label %159 [
i32 1, label %149
i32 2, label %151
i32 3, label %153
i32 4, label %155
i32 5, label %157
]
149: ; preds = %148
%150 = load double, double* %11
store double %150, double* %9
br label %170
151: ; preds = %148
%152 = load double, double* %12
store double %152, double* %9
br label %170
153: ; preds = %148
%154 = load double, double* %13
store double %154, double* %9
br label %162
155: ; preds = %148
%156 = load double, double* %14
store double %156, double* %9
br label %164
157: ; preds = %148
%158 = load double, double* %15
store double %158, double* %9
br label %166
159: ; preds = %148
%160 = load double, double* %16
store double %160, double* %9
br label %168
161: ; preds = %135
switch i32 %138, label %178 [
i32 5, label %168
i32 1, label %170
i32 2, label %162
i32 3, label %164
i32 4, label %166
]
162: ; preds = %153, %161
%163 = phi double [ %154, %153 ], [ %141, %161 ]
br label %170
164: ; preds = %155, %161
%165 = phi double [ %156, %155 ], [ %141, %161 ]
br label %170
166: ; preds = %157, %161
%167 = phi double [ %158, %157 ], [ %141, %161 ]
br label %170
168: ; preds = %161, %159
%169 = phi double [ %141, %161 ], [ %160, %159 ]
br label %170
170: ; preds = %161, %151, %149, %143, %162, %166, %168, %164
%171 = phi double [ %163, %162 ], [ %167, %166 ], [ %169, %168 ], [ %165, %164 ], [ %146, %143 ], [ %150, %149 ], [ %152, %151 ], [ %141, %161 ]
%172 = phi double* [ %13, %162 ], [ %15, %166 ], [ %16, %168 ], [ %14, %164 ], [ %11, %143 ], [ %11, %149 ], [ %12, %151 ], [ %12, %161 ]
%173 = phi i32 [ 3, %162 ], [ 5, %166 ], [ 6, %168 ], [ 4, %164 ], [ 1, %143 ], [ 1, %149 ], [ 2, %151 ], [ 2, %161 ]
%174 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %171, double %8, double* %9)
%175 = sitofp i32 %174 to double
store double %175, double* %172
%176 = load double, double* %9
%177 = fcmp oeq double %176, 0.000000e+00
br i1 %177, label %188, label %205
178: ; preds = %161
%179 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %141, double %8, double* %9)
%180 = sitofp i32 %179 to double
store double %180, double* %17
%181 = load double, double* %9
%182 = fcmp oeq double %181, 0.000000e+00
br i1 %182, label %203, label %270
183: ; preds = %143
store double %145, double* %9
%184 = tail call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_quick_two_sum to i32 (double, double, double*, ...)*)(double %145, double %8, double* %9)
%185 = sitofp i32 %184 to double
store double %185, double* %10
%186 = load double, double* %9
%187 = fcmp oeq double %186, 0.000000e+00
br i1 %187, label %211, label %207
188: ; preds = %170
switch i32 %173, label %189 [
i32 1, label %191
i32 2, label %193
i32 3, label %195
i32 4, label %197
i32 5, label %199
i32 6, label %201
]
189: ; preds = %188
%190 = load double, double* %17
br label %203
191: ; preds = %188
%192 = load double, double* %11
store double %192, double* %9
br label %207
193: ; preds = %188
%194 = load double, double* %12
store double %194, double* %9
br label %207
195: ; preds = %188
%196 = load double, double* %13
store double %196, double* %9
br label %207
197: ; preds = %188
%198 = load double, double* %14
store double %198, double* %9
br label %207
199: ; preds = %188
%200 = load double, double* %15
store double %200, double* %9
br label %207
201: ; preds = %188
%202 = load double, double* %16
store double %202, double* %9
br label %207
203: ; preds = %189, %178
%204 = phi double [ %190, %189 ], [ %180, %178 ]
store double %204, double* %9
br label %207
205: ; preds = %170
%206 = add nuw nsw i32 %173, 1
br label %207
207: ; preds = %191, %193, %195, %197, %199, %201, %203, %205, %183
%208 = phi double [ %186, %183 ], [ %176, %205 ], [ %204, %203 ], [ %202, %201 ], [ %200, %199 ], [ %198, %197 ], [ %196, %195 ], [ %194, %193 ], [ %192, %191 ]
%209 = phi i32 [ 1, %183 ], [ %206, %205 ], [ 7, %203 ], [ 6, %201 ], [ 5, %199 ], [ 4, %197 ], [ 3, %195 ], [ 2, %193 ], [ 1, %191 ]
%210 = fcmp une double %208, 0.000000e+00
br i1 %210, label %213, label %223
211: ; preds = %183
store double %185, double* %9
%212 = icmp eq i32 %184, 0
br i1 %212, label %222, label %214
213: ; preds = %207
switch i32 %209, label %221 [
i32 6, label %220
i32 1, label %215
i32 2, label %216
i32 3, label %217
i32 4, label %218
i32 5, label %219
]
214: ; preds = %211
store double %185, double* %10
br label %235
215: ; preds = %213
store double %208, double* %11
br label %243
216: ; preds = %213
store double %208, double* %12
br label %250
217: ; preds = %213
store double %208, double* %13
br label %256
218: ; preds = %213
store double %208, double* %14
br label %261
219: ; preds = %213
store double %208, double* %15
br label %265
220: ; preds = %213
store double %208, double* %16
br label %268
221: ; preds = %213
store double %208, double* %17
br label %270
222: ; preds = %211
store double 0.000000e+00, double* %17
br label %235
223: ; preds = %207
%224 = icmp eq i32 %209, 1
br i1 %224, label %235, label %225
225: ; preds = %223
%226 = icmp ult i32 %209, 3
br i1 %226, label %243, label %227
227: ; preds = %225
%228 = icmp eq i32 %209, 3
br i1 %228, label %250, label %229
229: ; preds = %227
%230 = icmp ult i32 %209, 5
br i1 %230, label %256, label %231
231: ; preds = %229
%232 = icmp eq i32 %209, 5
br i1 %232, label %261, label %233
233: ; preds = %231
%234 = icmp ult i32 %209, 7
br i1 %234, label %265, label %268
235: ; preds = %214, %223, %222
%236 = phi double* [ %16, %222 ], [ %17, %223 ], [ %17, %214 ]
%237 = phi double* [ %15, %222 ], [ %16, %223 ], [ %16, %214 ]
%238 = phi double* [ %14, %222 ], [ %15, %223 ], [ %15, %214 ]
%239 = phi double* [ %13, %222 ], [ %14, %223 ], [ %14, %214 ]
%240 = phi double* [ %12, %222 ], [ %13, %223 ], [ %13, %214 ]
%241 = phi double* [ %11, %222 ], [ %12, %223 ], [ %12, %214 ]
%242 = phi double* [ %10, %222 ], [ %11, %223 ], [ %11, %214 ]
store double 0.000000e+00, double* %236
br label %243
243: ; preds = %215, %235, %225
%244 = phi double* [ %17, %225 ], [ %237, %235 ], [ %17, %215 ]
%245 = phi double* [ %16, %225 ], [ %238, %235 ], [ %16, %215 ]
%246 = phi double* [ %15, %225 ], [ %239, %235 ], [ %15, %215 ]
%247 = phi double* [ %14, %225 ], [ %240, %235 ], [ %14, %215 ]
%248 = phi double* [ %13, %225 ], [ %241, %235 ], [ %13, %215 ]
%249 = phi double* [ %12, %225 ], [ %242, %235 ], [ %12, %215 ]
store double 0.000000e+00, double* %244
br label %250
250: ; preds = %216, %243, %227
%251 = phi double* [ %17, %227 ], [ %245, %243 ], [ %17, %216 ]
%252 = phi double* [ %16, %227 ], [ %246, %243 ], [ %16, %216 ]
%253 = phi double* [ %15, %227 ], [ %247, %243 ], [ %15, %216 ]
%254 = phi double* [ %14, %227 ], [ %248, %243 ], [ %14, %216 ]
%255 = phi double* [ %13, %227 ], [ %249, %243 ], [ %13, %216 ]
store double 0.000000e+00, double* %251
br label %256
256: ; preds = %217, %250, %229
%257 = phi double* [ %17, %229 ], [ %252, %250 ], [ %17, %217 ]
%258 = phi double* [ %16, %229 ], [ %253, %250 ], [ %16, %217 ]
%259 = phi double* [ %15, %229 ], [ %254, %250 ], [ %15, %217 ]
%260 = phi double* [ %14, %229 ], [ %255, %250 ], [ %14, %217 ]
store double 0.000000e+00, double* %257
br label %261
261: ; preds = %218, %256, %231
%262 = phi double* [ %17, %231 ], [ %258, %256 ], [ %17, %218 ]
%263 = phi double* [ %16, %231 ], [ %259, %256 ], [ %16, %218 ]
%264 = phi double* [ %15, %231 ], [ %260, %256 ], [ %15, %218 ]
store double 0.000000e+00, double* %262
br label %265
265: ; preds = %219, %261, %233
%266 = phi double* [ %17, %233 ], [ %263, %261 ], [ %17, %219 ]
%267 = phi double* [ %16, %233 ], [ %264, %261 ], [ %16, %219 ]
store double 0.000000e+00, double* %266
br label %268
268: ; preds = %233, %220, %265
%269 = phi double* [ %267, %265 ], [ %17, %220 ], [ %17, %233 ]
store double 0.000000e+00, double* %269
br label %270
270: ; preds = %221, %268, %178
ret void
}