void da_add(const double *a, const double *b, double *c) {
  double f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, e;
  f10 = 0.0;
  f9 = dd_two_sum(a[9], b[9], &e);
  f10 += e;
  f8 = dd_two_sum(a[8], b[8], &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f7 = dd_two_sum(a[7], b[7], &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f6 = dd_two_sum(a[6], b[6], &e);
  f7 = dd_two_sum(f7, e, &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f5 = dd_two_sum(a[5], b[5], &e);
  f6 = dd_two_sum(f6, e, &e);
  f7 = dd_two_sum(f7, e, &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f4 = dd_two_sum(a[4], b[4], &e);
  f5 = dd_two_sum(f5, e, &e);
  f6 = dd_two_sum(f6, e, &e);
  f7 = dd_two_sum(f7, e, &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f3 = dd_two_sum(a[3], b[3], &e);
  f4 = dd_two_sum(f4, e, &e);
  f5 = dd_two_sum(f5, e, &e);
  f6 = dd_two_sum(f6, e, &e);
  f7 = dd_two_sum(f7, e, &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f2 = dd_two_sum(a[2], b[2], &e);
  f3 = dd_two_sum(f3, e, &e);
  f4 = dd_two_sum(f4, e, &e);
  f5 = dd_two_sum(f5, e, &e);
  f6 = dd_two_sum(f6, e, &e);
  f7 = dd_two_sum(f7, e, &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f1 = dd_two_sum(a[1], b[1], &e);
  f2 = dd_two_sum(f2, e, &e);
  f3 = dd_two_sum(f3, e, &e);
  f4 = dd_two_sum(f4, e, &e);
  f5 = dd_two_sum(f5, e, &e);
  f6 = dd_two_sum(f6, e, &e);
  f7 = dd_two_sum(f7, e, &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  f0 = dd_two_sum(a[0], b[0], &e);
  f1 = dd_two_sum(f1, e, &e);
  f2 = dd_two_sum(f2, e, &e);
  f3 = dd_two_sum(f3, e, &e);
  f4 = dd_two_sum(f4, e, &e);
  f5 = dd_two_sum(f5, e, &e);
  f6 = dd_two_sum(f6, e, &e);
  f7 = dd_two_sum(f7, e, &e);
  f8 = dd_two_sum(f8, e, &e);
  f9 = dd_two_sum(f9, e, &e);
  f10 += e;
  da_fast_renorm(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, &c[0], &c[1],
                 &c[2], &c[3], &c[4], &c[5], &c[6], &c[7], &c[8], &c[9]);
}


x86 assembly (clang, -O0):
<da_add>:
push   %rbp
mov    %rsp,%rbp
push   %rbx
sub    $0xb8,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x48(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x48(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x40(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x38(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x30(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x28(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x20(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x18(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x80(%rbp),%xmm1
lea    -0x80(%rbp),%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
movsd  -0x48(%rbp),%xmm4
movsd  -0x50(%rbp),%xmm5
movsd  -0x58(%rbp),%xmm6
movsd  -0x60(%rbp),%xmm7
movsd  -0x68(%rbp),%xmm10
movsd  -0x70(%rbp),%xmm9
movsd  -0x78(%rbp),%xmm8
mov    -0x20(%rbp),%rdi
mov    -0x20(%rbp),%rsi
add    $0x8,%rsi
mov    -0x20(%rbp),%rdx
add    $0x10,%rdx
mov    -0x20(%rbp),%rcx
add    $0x18,%rcx
mov    -0x20(%rbp),%r8
add    $0x20,%r8
mov    -0x20(%rbp),%r9
add    $0x28,%r9
mov    -0x20(%rbp),%rbx
add    $0x30,%rbx
mov    -0x20(%rbp),%r11
add    $0x38,%r11
mov    -0x20(%rbp),%r10
add    $0x40,%r10
mov    -0x20(%rbp),%rax
add    $0x48,%rax
movsd  %xmm10,(%rsp)
movsd  %xmm9,0x8(%rsp)
movsd  %xmm8,0x10(%rsp)
mov    %rbx,0x18(%rsp)
mov    %r11,0x20(%rsp)
mov    %r10,0x28(%rsp)
mov    %rax,0x30(%rsp)
mov    $0x8,%al
call   1040 <da_fast_renorm@plt>
add    $0xb8,%rsp
pop    %rbx
pop    %rbp
ret

x86 assembly (clang, -O2):
<da_add>:
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x98,%rsp
mov    %rdx,%r14
mov    %rsi,%r15
mov    %rdi,%r12
movsd  0x48(%rdi),%xmm0
movsd  0x48(%rsi),%xmm1
lea    0x38(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x60(%rsp)
xorpd  %xmm0,%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x40(%r12),%xmm0
movsd  0x40(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x60(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%r12),%xmm0
movsd  0x38(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x90(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x58(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x30(%r12),%xmm0
movsd  0x30(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x60(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x88(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x50(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x28(%r12),%xmm0
movsd  0x28(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x90(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x58(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x80(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x48(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x20(%r12),%xmm0
movsd  0x20(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x60(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x88(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x50(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x78(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x70(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x68(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x18(%r12),%xmm0
movsd  0x18(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x90(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x58(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x80(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x48(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x70(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x70(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x68(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x10(%r12),%xmm0
movsd  0x10(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x60(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x88(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x50(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x78(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x48(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x70(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x70(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x68(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x8(%r12),%xmm0
movsd  0x8(%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x90(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x58(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x80(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x50(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x78(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x48(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x70(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x70(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x68(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x40(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  (%r12),%xmm0
movsd  (%r15),%xmm1
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x60(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x88(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x58(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x80(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x50(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x78(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x48(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x70(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x70(%rsp)
movsd  0x38(%rsp),%xmm1
movsd  0x68(%rsp),%xmm0
mov    %rbx,%rdi
mov    $0x2,%al
call   1030 <dd_two_sum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x40(%rsp),%xmm1
addsd  0x38(%rsp),%xmm1
lea    0x8(%r14),%rsi
lea    0x10(%r14),%rdx
lea    0x18(%r14),%rcx
lea    0x20(%r14),%r8
lea    0x28(%r14),%r9
lea    0x30(%r14),%r10
lea    0x38(%r14),%rdi
lea    0x40(%r14),%rbx
lea    0x48(%r14),%rax
mov    %rax,0x30(%rsp)
mov    %rbx,0x28(%rsp)
mov    %rdi,0x20(%rsp)
mov    %r10,0x18(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  %xmm0,0x8(%rsp)
movsd  0x70(%rsp),%xmm0
movsd  %xmm0,(%rsp)
movsd  0x90(%rsp),%xmm0
movsd  0x60(%rsp),%xmm1
movsd  0x88(%rsp),%xmm2
movsd  0x58(%rsp),%xmm3
movsd  0x80(%rsp),%xmm4
movsd  0x50(%rsp),%xmm5
movsd  0x78(%rsp),%xmm6
movsd  0x48(%rsp),%xmm7
mov    %r14,%rdi
mov    $0x8,%al
call   1040 <da_fast_renorm@plt>
add    $0x98,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
define void @da_add(double* %0, double* %1, double* %2) {
%4 = alloca double*
%5 = alloca double*
%6 = alloca double*
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
store double* %0, double** %4
store double* %1, double** %5
store double* %2, double** %6
store double 0.000000e+00, double* %17
%19 = load double*, double** %4
%20 = getelementptr inbounds double, double* %19, i64 9
%21 = load double, double* %20
%22 = load double*, double** %5
%23 = getelementptr inbounds double, double* %22, i64 9
%24 = load double, double* %23
%25 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %21, double %24, double* %18)
%26 = sitofp i32 %25 to double
store double %26, double* %16
%27 = load double, double* %18
%28 = load double, double* %17
%29 = fadd double %28, %27
store double %29, double* %17
%30 = load double*, double** %4
%31 = getelementptr inbounds double, double* %30, i64 8
%32 = load double, double* %31
%33 = load double*, double** %5
%34 = getelementptr inbounds double, double* %33, i64 8
%35 = load double, double* %34
%36 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %32, double %35, double* %18)
%37 = sitofp i32 %36 to double
store double %37, double* %15
%38 = load double, double* %16
%39 = load double, double* %18
%40 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %38, double %39, double* %18)
%41 = sitofp i32 %40 to double
store double %41, double* %16
%42 = load double, double* %18
%43 = load double, double* %17
%44 = fadd double %43, %42
store double %44, double* %17
%45 = load double*, double** %4
%46 = getelementptr inbounds double, double* %45, i64 7
%47 = load double, double* %46
%48 = load double*, double** %5
%49 = getelementptr inbounds double, double* %48, i64 7
%50 = load double, double* %49
%51 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %47, double %50, double* %18)
%52 = sitofp i32 %51 to double
store double %52, double* %14
%53 = load double, double* %15
%54 = load double, double* %18
%55 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %53, double %54, double* %18)
%56 = sitofp i32 %55 to double
store double %56, double* %15
%57 = load double, double* %16
%58 = load double, double* %18
%59 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %57, double %58, double* %18)
%60 = sitofp i32 %59 to double
store double %60, double* %16
%61 = load double, double* %18
%62 = load double, double* %17
%63 = fadd double %62, %61
store double %63, double* %17
%64 = load double*, double** %4
%65 = getelementptr inbounds double, double* %64, i64 6
%66 = load double, double* %65
%67 = load double*, double** %5
%68 = getelementptr inbounds double, double* %67, i64 6
%69 = load double, double* %68
%70 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %66, double %69, double* %18)
%71 = sitofp i32 %70 to double
store double %71, double* %13
%72 = load double, double* %14
%73 = load double, double* %18
%74 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %72, double %73, double* %18)
%75 = sitofp i32 %74 to double
store double %75, double* %14
%76 = load double, double* %15
%77 = load double, double* %18
%78 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %76, double %77, double* %18)
%79 = sitofp i32 %78 to double
store double %79, double* %15
%80 = load double, double* %16
%81 = load double, double* %18
%82 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %80, double %81, double* %18)
%83 = sitofp i32 %82 to double
store double %83, double* %16
%84 = load double, double* %18
%85 = load double, double* %17
%86 = fadd double %85, %84
store double %86, double* %17
%87 = load double*, double** %4
%88 = getelementptr inbounds double, double* %87, i64 5
%89 = load double, double* %88
%90 = load double*, double** %5
%91 = getelementptr inbounds double, double* %90, i64 5
%92 = load double, double* %91
%93 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %89, double %92, double* %18)
%94 = sitofp i32 %93 to double
store double %94, double* %12
%95 = load double, double* %13
%96 = load double, double* %18
%97 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %95, double %96, double* %18)
%98 = sitofp i32 %97 to double
store double %98, double* %13
%99 = load double, double* %14
%100 = load double, double* %18
%101 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %99, double %100, double* %18)
%102 = sitofp i32 %101 to double
store double %102, double* %14
%103 = load double, double* %15
%104 = load double, double* %18
%105 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %103, double %104, double* %18)
%106 = sitofp i32 %105 to double
store double %106, double* %15
%107 = load double, double* %16
%108 = load double, double* %18
%109 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %107, double %108, double* %18)
%110 = sitofp i32 %109 to double
store double %110, double* %16
%111 = load double, double* %18
%112 = load double, double* %17
%113 = fadd double %112, %111
store double %113, double* %17
%114 = load double*, double** %4
%115 = getelementptr inbounds double, double* %114, i64 4
%116 = load double, double* %115
%117 = load double*, double** %5
%118 = getelementptr inbounds double, double* %117, i64 4
%119 = load double, double* %118
%120 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %116, double %119, double* %18)
%121 = sitofp i32 %120 to double
store double %121, double* %11
%122 = load double, double* %12
%123 = load double, double* %18
%124 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %122, double %123, double* %18)
%125 = sitofp i32 %124 to double
store double %125, double* %12
%126 = load double, double* %13
%127 = load double, double* %18
%128 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %126, double %127, double* %18)
%129 = sitofp i32 %128 to double
store double %129, double* %13
%130 = load double, double* %14
%131 = load double, double* %18
%132 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %130, double %131, double* %18)
%133 = sitofp i32 %132 to double
store double %133, double* %14
%134 = load double, double* %15
%135 = load double, double* %18
%136 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %134, double %135, double* %18)
%137 = sitofp i32 %136 to double
store double %137, double* %15
%138 = load double, double* %16
%139 = load double, double* %18
%140 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %138, double %139, double* %18)
%141 = sitofp i32 %140 to double
store double %141, double* %16
%142 = load double, double* %18
%143 = load double, double* %17
%144 = fadd double %143, %142
store double %144, double* %17
%145 = load double*, double** %4
%146 = getelementptr inbounds double, double* %145, i64 3
%147 = load double, double* %146
%148 = load double*, double** %5
%149 = getelementptr inbounds double, double* %148, i64 3
%150 = load double, double* %149
%151 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %147, double %150, double* %18)
%152 = sitofp i32 %151 to double
store double %152, double* %10
%153 = load double, double* %11
%154 = load double, double* %18
%155 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %153, double %154, double* %18)
%156 = sitofp i32 %155 to double
store double %156, double* %11
%157 = load double, double* %12
%158 = load double, double* %18
%159 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %157, double %158, double* %18)
%160 = sitofp i32 %159 to double
store double %160, double* %12
%161 = load double, double* %13
%162 = load double, double* %18
%163 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %161, double %162, double* %18)
%164 = sitofp i32 %163 to double
store double %164, double* %13
%165 = load double, double* %14
%166 = load double, double* %18
%167 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %165, double %166, double* %18)
%168 = sitofp i32 %167 to double
store double %168, double* %14
%169 = load double, double* %15
%170 = load double, double* %18
%171 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %169, double %170, double* %18)
%172 = sitofp i32 %171 to double
store double %172, double* %15
%173 = load double, double* %16
%174 = load double, double* %18
%175 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %173, double %174, double* %18)
%176 = sitofp i32 %175 to double
store double %176, double* %16
%177 = load double, double* %18
%178 = load double, double* %17
%179 = fadd double %178, %177
store double %179, double* %17
%180 = load double*, double** %4
%181 = getelementptr inbounds double, double* %180, i64 2
%182 = load double, double* %181
%183 = load double*, double** %5
%184 = getelementptr inbounds double, double* %183, i64 2
%185 = load double, double* %184
%186 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %182, double %185, double* %18)
%187 = sitofp i32 %186 to double
store double %187, double* %9
%188 = load double, double* %10
%189 = load double, double* %18
%190 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %188, double %189, double* %18)
%191 = sitofp i32 %190 to double
store double %191, double* %10
%192 = load double, double* %11
%193 = load double, double* %18
%194 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %192, double %193, double* %18)
%195 = sitofp i32 %194 to double
store double %195, double* %11
%196 = load double, double* %12
%197 = load double, double* %18
%198 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %196, double %197, double* %18)
%199 = sitofp i32 %198 to double
store double %199, double* %12
%200 = load double, double* %13
%201 = load double, double* %18
%202 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %200, double %201, double* %18)
%203 = sitofp i32 %202 to double
store double %203, double* %13
%204 = load double, double* %14
%205 = load double, double* %18
%206 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %204, double %205, double* %18)
%207 = sitofp i32 %206 to double
store double %207, double* %14
%208 = load double, double* %15
%209 = load double, double* %18
%210 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %208, double %209, double* %18)
%211 = sitofp i32 %210 to double
store double %211, double* %15
%212 = load double, double* %16
%213 = load double, double* %18
%214 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %212, double %213, double* %18)
%215 = sitofp i32 %214 to double
store double %215, double* %16
%216 = load double, double* %18
%217 = load double, double* %17
%218 = fadd double %217, %216
store double %218, double* %17
%219 = load double*, double** %4
%220 = getelementptr inbounds double, double* %219, i64 1
%221 = load double, double* %220
%222 = load double*, double** %5
%223 = getelementptr inbounds double, double* %222, i64 1
%224 = load double, double* %223
%225 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %221, double %224, double* %18)
%226 = sitofp i32 %225 to double
store double %226, double* %8
%227 = load double, double* %9
%228 = load double, double* %18
%229 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %227, double %228, double* %18)
%230 = sitofp i32 %229 to double
store double %230, double* %9
%231 = load double, double* %10
%232 = load double, double* %18
%233 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %231, double %232, double* %18)
%234 = sitofp i32 %233 to double
store double %234, double* %10
%235 = load double, double* %11
%236 = load double, double* %18
%237 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %235, double %236, double* %18)
%238 = sitofp i32 %237 to double
store double %238, double* %11
%239 = load double, double* %12
%240 = load double, double* %18
%241 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %239, double %240, double* %18)
%242 = sitofp i32 %241 to double
store double %242, double* %12
%243 = load double, double* %13
%244 = load double, double* %18
%245 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %243, double %244, double* %18)
%246 = sitofp i32 %245 to double
store double %246, double* %13
%247 = load double, double* %14
%248 = load double, double* %18
%249 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %247, double %248, double* %18)
%250 = sitofp i32 %249 to double
store double %250, double* %14
%251 = load double, double* %15
%252 = load double, double* %18
%253 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %251, double %252, double* %18)
%254 = sitofp i32 %253 to double
store double %254, double* %15
%255 = load double, double* %16
%256 = load double, double* %18
%257 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %255, double %256, double* %18)
%258 = sitofp i32 %257 to double
store double %258, double* %16
%259 = load double, double* %18
%260 = load double, double* %17
%261 = fadd double %260, %259
store double %261, double* %17
%262 = load double*, double** %4
%263 = getelementptr inbounds double, double* %262, i64 0
%264 = load double, double* %263
%265 = load double*, double** %5
%266 = getelementptr inbounds double, double* %265, i64 0
%267 = load double, double* %266
%268 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %264, double %267, double* %18)
%269 = sitofp i32 %268 to double
store double %269, double* %7
%270 = load double, double* %8
%271 = load double, double* %18
%272 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %270, double %271, double* %18)
%273 = sitofp i32 %272 to double
store double %273, double* %8
%274 = load double, double* %9
%275 = load double, double* %18
%276 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %274, double %275, double* %18)
%277 = sitofp i32 %276 to double
store double %277, double* %9
%278 = load double, double* %10
%279 = load double, double* %18
%280 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %278, double %279, double* %18)
%281 = sitofp i32 %280 to double
store double %281, double* %10
%282 = load double, double* %11
%283 = load double, double* %18
%284 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %282, double %283, double* %18)
%285 = sitofp i32 %284 to double
store double %285, double* %11
%286 = load double, double* %12
%287 = load double, double* %18
%288 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %286, double %287, double* %18)
%289 = sitofp i32 %288 to double
store double %289, double* %12
%290 = load double, double* %13
%291 = load double, double* %18
%292 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %290, double %291, double* %18)
%293 = sitofp i32 %292 to double
store double %293, double* %13
%294 = load double, double* %14
%295 = load double, double* %18
%296 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %294, double %295, double* %18)
%297 = sitofp i32 %296 to double
store double %297, double* %14
%298 = load double, double* %15
%299 = load double, double* %18
%300 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %298, double %299, double* %18)
%301 = sitofp i32 %300 to double
store double %301, double* %15
%302 = load double, double* %16
%303 = load double, double* %18
%304 = call i32 (double, double, double*, ...) bitcast (i32 (...)* @dd_two_sum to i32 (double, double, double*, ...)*)(double %302, double %303, double* %18)
%305 = sitofp i32 %304 to double
store double %305, double* %16
%306 = load double, double* %18
%307 = load double, double* %17
%308 = fadd double %307, %306
store double %308, double* %17
%309 = load double, double* %7
%310 = load double, double* %8
%311 = load double, double* %9
%312 = load double, double* %10
%313 = load double, double* %11
%314 = load double, double* %12
%315 = load double, double* %13
%316 = load double, double* %14
%317 = load double, double* %15
%318 = load double, double* %16
%319 = load double, double* %17
%320 = load double*, double** %6
%321 = getelementptr inbounds double, double* %320, i64 0
%322 = load double*, double** %6
%323 = getelementptr inbounds double, double* %322, i64 1
%324 = load double*, double** %6
%325 = getelementptr inbounds double, double* %324, i64 2
%326 = load double*, double** %6
%327 = getelementptr inbounds double, double* %326, i64 3
%328 = load double*, double** %6
%329 = getelementptr inbounds double, double* %328, i64 4
%330 = load double*, double** %6
%331 = getelementptr inbounds double, double* %330, i64 5
%332 = load double*, double** %6
%333 = getelementptr inbounds double, double* %332, i64 6
%334 = load double*, double** %6
%335 = getelementptr inbounds double, double* %334, i64 7
%336 = load double*, double** %6
%337 = getelementptr inbounds double, double* %336, i64 8
%338 = load double*, double** %6
%339 = getelementptr inbounds double, double* %338, i64 9
%340 = call i32 (double, double, double, double, double, double, double, double, double, double, double, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, ...) bitcast (i32 (...)* @da_fast_renorm to i32 (double, double, double, double, double, double, double, double, double, double, double, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, ...)*)(double %309, double %310, double %311, double %312, double %313, double %314, double %315, double %316, double %317, double %318, double %319, double* %321, double* %323, double* %325, double* %327, double* %329, double* %331, double* %333, double* %335, double* %337, double* %339)
ret void
}

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