double test_add(const unsigned long long *add_mask, const double *add_values,
                const unsigned long long *sub_mask, const double *sub_values,
                const unsigned long long *mul_mask, const double *mul_values,
                const unsigned long long *div_mask, const double *div_values,
                const unsigned long long *eq0_mask, int *eq0_ptr) {
  double value;
  double value00 = ((double)0.0);
  double value01 = ((double)0.0);
  double value02 = ((double)0.0);
  double value03 = ((double)0.0);
  double value04 = ((double)0.0);
  double value05 = ((double)0.0);
  double value06 = ((double)0.0);
  double value07 = ((double)0.0);
  double value08 = ((double)0.0);
  double value09 = ((double)0.0);
  double value10 = ((double)0.0);
  double value11 = ((double)0.0);
  double value12 = ((double)0.0);
  double value13 = ((double)0.0);
  double value14 = ((double)0.0);
  double value15 = ((double)0.0);
  double value16 = ((double)0.0);
  double value17 = ((double)0.0);
  double value18 = ((double)0.0);
  double value19 = ((double)0.0);
  double value20 = ((double)0.0);
  double value21 = ((double)0.0);
  double value22 = ((double)0.0);
  double value23 = ((double)0.0);
  double value24 = ((double)0.0);
  double value25 = ((double)0.0);
  double value26 = ((double)0.0);
  double value27 = ((double)0.0);
  double value28 = ((double)0.0);
  double value29 = ((double)0.0);
  double value30 = ((double)0.0);
  double value31 = ((double)0.0);
  double value32 = ((double)0.0);
  double value33 = ((double)0.0);
  double value34 = ((double)0.0);
  double value35 = ((double)0.0);
  double value36 = ((double)0.0);
  double value37 = ((double)0.0);
  double value38 = ((double)0.0);
  double value39 = ((double)0.0);
  unsigned long long mask;
  int eq0;
  while ((mask = *add_mask++) != 0) {
    value = *add_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 += value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 += value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 += value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 += value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 += value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 += value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 += value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 += value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 += value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 += value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 += value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 += value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 += value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 += value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 += value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 += value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 += value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 += value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 += value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 += value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 += value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 += value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 += value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 += value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 += value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 += value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 += value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 += value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 += value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 += value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 += value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 += value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 += value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 += value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 += value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 += value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 += value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 += value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 += value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 += value;
  }
  while ((mask = *sub_mask++) != 0) {
    value = *sub_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 -= value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 -= value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 -= value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 -= value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 -= value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 -= value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 -= value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 -= value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 -= value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 -= value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 -= value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 -= value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 -= value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 -= value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 -= value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 -= value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 -= value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 -= value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 -= value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 -= value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 -= value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 -= value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 -= value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 -= value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 -= value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 -= value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 -= value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 -= value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 -= value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 -= value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 -= value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 -= value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 -= value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 -= value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 -= value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 -= value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 -= value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 -= value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 -= value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 -= value;
  }
  while ((mask = *mul_mask++) != 0) {
    value = *mul_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 *= value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 *= value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 *= value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 *= value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 *= value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 *= value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 *= value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 *= value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 *= value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 *= value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 *= value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 *= value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 *= value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 *= value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 *= value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 *= value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 *= value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 *= value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 *= value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 *= value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 *= value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 *= value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 *= value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 *= value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 *= value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 *= value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 *= value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 *= value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 *= value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 *= value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 *= value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 *= value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 *= value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 *= value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 *= value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 *= value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 *= value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 *= value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 *= value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 *= value;
  }
  while ((mask = *div_mask++) != 0) {
    value = *div_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 /= value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 /= value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 /= value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 /= value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 /= value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 /= value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 /= value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 /= value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 /= value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 /= value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 /= value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 /= value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 /= value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 /= value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 /= value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 /= value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 /= value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 /= value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 /= value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 /= value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 /= value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 /= value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 /= value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 /= value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 /= value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 /= value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 /= value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 /= value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 /= value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 /= value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 /= value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 /= value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 /= value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 /= value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 /= value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 /= value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 /= value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 /= value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 /= value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 /= value;
  }
  while ((mask = *eq0_mask++) != 0) {
    eq0 = 0;
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      eq0 |= (value00 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      eq0 |= (value01 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      eq0 |= (value02 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      eq0 |= (value03 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      eq0 |= (value04 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      eq0 |= (value05 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      eq0 |= (value06 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      eq0 |= (value07 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      eq0 |= (value08 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      eq0 |= (value09 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      eq0 |= (value10 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      eq0 |= (value11 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      eq0 |= (value12 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      eq0 |= (value13 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      eq0 |= (value14 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      eq0 |= (value15 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      eq0 |= (value16 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      eq0 |= (value17 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      eq0 |= (value18 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      eq0 |= (value19 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      eq0 |= (value20 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      eq0 |= (value21 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      eq0 |= (value22 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      eq0 |= (value23 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      eq0 |= (value24 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      eq0 |= (value25 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      eq0 |= (value26 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      eq0 |= (value27 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      eq0 |= (value28 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      eq0 |= (value29 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      eq0 |= (value30 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      eq0 |= (value31 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      eq0 |= (value32 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      eq0 |= (value33 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      eq0 |= (value34 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      eq0 |= (value35 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      eq0 |= (value36 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      eq0 |= (value37 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      eq0 |= (value38 == ((double)0.0));
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      eq0 |= (value39 == ((double)0.0));
    *eq0_ptr++ = eq0;
  }
  return (value00 + value01 + value02 + value03 + value04 + value05 + value06 +
          value07 + value08 + value09 + value10 + value11 + value12 + value13 +
          value14 + value15 + value16 + value17 + value18 + value19 + value20 +
          value21 + value22 + value23 + value24 + value25 + value26 + value27 +
          value28 + value29 + value30 + value31 + value32 + value33 + value34 +
          value35 + value36 + value37 + value38 + value39);
}


x86 assembly (clang, -O0):
<test_add>:
push   %rbp
mov    %rsp,%rbp
sub    $0x108,%rsp
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x48(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x50(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x58(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x60(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x68(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x70(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x78(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x80(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x8(%rbp)
mov    (%rax),%rax
mov    %rax,-0x180(%rbp)
cmp    $0x0,%rax
je     19e4 <test_add+0x8e4>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x10(%rbp)
movsd  (%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rdx
movq   %rdx,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     1343 <test_add+0x243>
movsd  -0x38(%rbp),%xmm0
addsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x180(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     1367 <test_add+0x267>
movsd  -0x38(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x180(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     138b <test_add+0x28b>
movsd  -0x38(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x180(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     13af <test_add+0x2af>
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x180(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     13d3 <test_add+0x2d3>
movsd  -0x38(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x180(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     13f7 <test_add+0x2f7>
movsd  -0x38(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x180(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     141b <test_add+0x31b>
movsd  -0x38(%rbp),%xmm0
addsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x180(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     1441 <test_add+0x341>
movsd  -0x38(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x180(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     1467 <test_add+0x367>
movsd  -0x38(%rbp),%xmm0
addsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x180(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     1493 <test_add+0x393>
movsd  -0x38(%rbp),%xmm0
addsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     14bf <test_add+0x3bf>
movsd  -0x38(%rbp),%xmm0
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     14eb <test_add+0x3eb>
movsd  -0x38(%rbp),%xmm0
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     1517 <test_add+0x417>
movsd  -0x38(%rbp),%xmm0
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     1543 <test_add+0x443>
movsd  -0x38(%rbp),%xmm0
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     156f <test_add+0x46f>
movsd  -0x38(%rbp),%xmm0
addsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     159b <test_add+0x49b>
movsd  -0x38(%rbp),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     15c7 <test_add+0x4c7>
movsd  -0x38(%rbp),%xmm0
addsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     15f3 <test_add+0x4f3>
movsd  -0x38(%rbp),%xmm0
addsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     161f <test_add+0x51f>
movsd  -0x38(%rbp),%xmm0
addsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     164b <test_add+0x54b>
movsd  -0x38(%rbp),%xmm0
addsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     1677 <test_add+0x577>
movsd  -0x38(%rbp),%xmm0
addsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     16a3 <test_add+0x5a3>
movsd  -0x38(%rbp),%xmm0
addsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     16cf <test_add+0x5cf>
movsd  -0x38(%rbp),%xmm0
addsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     16fb <test_add+0x5fb>
movsd  -0x38(%rbp),%xmm0
addsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     1727 <test_add+0x627>
movsd  -0x38(%rbp),%xmm0
addsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     1753 <test_add+0x653>
movsd  -0x38(%rbp),%xmm0
addsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     177f <test_add+0x67f>
movsd  -0x38(%rbp),%xmm0
addsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     17ab <test_add+0x6ab>
movsd  -0x38(%rbp),%xmm0
addsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     17d7 <test_add+0x6d7>
movsd  -0x38(%rbp),%xmm0
addsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     1803 <test_add+0x703>
movsd  -0x38(%rbp),%xmm0
addsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     182f <test_add+0x72f>
movsd  -0x38(%rbp),%xmm0
addsd  -0x130(%rbp),%xmm0
ff
movsd  %xmm0,-0x130(%rbp)
ff
movabs $0x80000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     185f <test_add+0x75f>
movsd  -0x38(%rbp),%xmm0
addsd  -0x138(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movabs $0x100000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     188f <test_add+0x78f>
movsd  -0x38(%rbp),%xmm0
addsd  -0x140(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
movabs $0x200000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     18bf <test_add+0x7bf>
movsd  -0x38(%rbp),%xmm0
addsd  -0x148(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movabs $0x400000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     18ef <test_add+0x7ef>
movsd  -0x38(%rbp),%xmm0
addsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movabs $0x800000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     191f <test_add+0x81f>
movsd  -0x38(%rbp),%xmm0
addsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movabs $0x1000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     194f <test_add+0x84f>
movsd  -0x38(%rbp),%xmm0
addsd  -0x160(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movabs $0x2000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     197f <test_add+0x87f>
movsd  -0x38(%rbp),%xmm0
addsd  -0x168(%rbp),%xmm0
ff
movsd  %xmm0,-0x168(%rbp)
ff
movabs $0x4000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     19af <test_add+0x8af>
movsd  -0x38(%rbp),%xmm0
addsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0x170(%rbp)
ff
movabs $0x8000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     19df <test_add+0x8df>
movsd  -0x38(%rbp),%xmm0
addsd  -0x178(%rbp),%xmm0
ff
movsd  %xmm0,-0x178(%rbp)
ff
jmp    12d0 <test_add+0x1d0>
jmp    19e9 <test_add+0x8e9>
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x18(%rbp)
mov    (%rax),%rax
mov    %rax,-0x180(%rbp)
cmp    $0x0,%rax
je     219d <test_add+0x109d>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x20(%rbp)
movsd  (%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rdx
movq   %rdx,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     1a60 <test_add+0x960>
movsd  -0x38(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x180(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     1a88 <test_add+0x988>
movsd  -0x38(%rbp),%xmm1
movsd  -0x48(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x180(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     1ab0 <test_add+0x9b0>
movsd  -0x38(%rbp),%xmm1
movsd  -0x50(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x180(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     1ad8 <test_add+0x9d8>
movsd  -0x38(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x180(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     1b00 <test_add+0xa00>
movsd  -0x38(%rbp),%xmm1
movsd  -0x60(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x180(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     1b28 <test_add+0xa28>
movsd  -0x38(%rbp),%xmm1
movsd  -0x68(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x180(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     1b50 <test_add+0xa50>
movsd  -0x38(%rbp),%xmm1
movsd  -0x70(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x180(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     1b7a <test_add+0xa7a>
movsd  -0x38(%rbp),%xmm1
movsd  -0x78(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x180(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     1ba4 <test_add+0xaa4>
movsd  -0x38(%rbp),%xmm1
movsd  -0x80(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x180(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     1bd4 <test_add+0xad4>
movsd  -0x38(%rbp),%xmm1
movsd  -0x88(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     1c04 <test_add+0xb04>
movsd  -0x38(%rbp),%xmm1
movsd  -0x90(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     1c34 <test_add+0xb34>
movsd  -0x38(%rbp),%xmm1
movsd  -0x98(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     1c64 <test_add+0xb64>
movsd  -0x38(%rbp),%xmm1
movsd  -0xa0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     1c94 <test_add+0xb94>
movsd  -0x38(%rbp),%xmm1
movsd  -0xa8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     1cc4 <test_add+0xbc4>
movsd  -0x38(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     1cf4 <test_add+0xbf4>
movsd  -0x38(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     1d24 <test_add+0xc24>
movsd  -0x38(%rbp),%xmm1
movsd  -0xc0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     1d54 <test_add+0xc54>
movsd  -0x38(%rbp),%xmm1
movsd  -0xc8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     1d84 <test_add+0xc84>
movsd  -0x38(%rbp),%xmm1
movsd  -0xd0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     1db4 <test_add+0xcb4>
movsd  -0x38(%rbp),%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     1de4 <test_add+0xce4>
movsd  -0x38(%rbp),%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     1e14 <test_add+0xd14>
movsd  -0x38(%rbp),%xmm1
movsd  -0xe8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     1e44 <test_add+0xd44>
movsd  -0x38(%rbp),%xmm1
movsd  -0xf0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     1e74 <test_add+0xd74>
movsd  -0x38(%rbp),%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     1ea4 <test_add+0xda4>
movsd  -0x38(%rbp),%xmm1
movsd  -0x100(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     1ed4 <test_add+0xdd4>
movsd  -0x38(%rbp),%xmm1
movsd  -0x108(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     1f04 <test_add+0xe04>
movsd  -0x38(%rbp),%xmm1
movsd  -0x110(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     1f34 <test_add+0xe34>
movsd  -0x38(%rbp),%xmm1
movsd  -0x118(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     1f64 <test_add+0xe64>
movsd  -0x38(%rbp),%xmm1
movsd  -0x120(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     1f94 <test_add+0xe94>
movsd  -0x38(%rbp),%xmm1
movsd  -0x128(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     1fc4 <test_add+0xec4>
movsd  -0x38(%rbp),%xmm1
movsd  -0x130(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movabs $0x80000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     1ff8 <test_add+0xef8>
movsd  -0x38(%rbp),%xmm1
movsd  -0x138(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movabs $0x100000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     202c <test_add+0xf2c>
movsd  -0x38(%rbp),%xmm1
movsd  -0x140(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movabs $0x200000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2060 <test_add+0xf60>
movsd  -0x38(%rbp),%xmm1
movsd  -0x148(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movabs $0x400000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2094 <test_add+0xf94>
movsd  -0x38(%rbp),%xmm1
movsd  -0x150(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movabs $0x800000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     20c8 <test_add+0xfc8>
movsd  -0x38(%rbp),%xmm1
movsd  -0x158(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movabs $0x1000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     20fc <test_add+0xffc>
movsd  -0x38(%rbp),%xmm1
movsd  -0x160(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movabs $0x2000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2130 <test_add+0x1030>
movsd  -0x38(%rbp),%xmm1
movsd  -0x168(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movabs $0x4000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2164 <test_add+0x1064>
movsd  -0x38(%rbp),%xmm1
movsd  -0x170(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movabs $0x8000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2198 <test_add+0x1098>
movsd  -0x38(%rbp),%xmm1
movsd  -0x178(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
jmp    19e9 <test_add+0x8e9>
jmp    21a2 <test_add+0x10a2>
mov    -0x28(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x28(%rbp)
mov    (%rax),%rax
mov    %rax,-0x180(%rbp)
cmp    $0x0,%rax
je     28b6 <test_add+0x17b6>
mov    -0x30(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x30(%rbp)
movsd  (%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rdx
movq   %rdx,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     2215 <test_add+0x1115>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x180(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     2239 <test_add+0x1139>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x180(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     225d <test_add+0x115d>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x180(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     2281 <test_add+0x1181>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x180(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     22a5 <test_add+0x11a5>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x180(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     22c9 <test_add+0x11c9>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x180(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     22ed <test_add+0x11ed>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x180(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     2313 <test_add+0x1213>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x180(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     2339 <test_add+0x1239>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x180(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     2365 <test_add+0x1265>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     2391 <test_add+0x1291>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     23bd <test_add+0x12bd>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     23e9 <test_add+0x12e9>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     2415 <test_add+0x1315>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     2441 <test_add+0x1341>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     246d <test_add+0x136d>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     2499 <test_add+0x1399>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     24c5 <test_add+0x13c5>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     24f1 <test_add+0x13f1>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     251d <test_add+0x141d>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     2549 <test_add+0x1449>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     2575 <test_add+0x1475>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     25a1 <test_add+0x14a1>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     25cd <test_add+0x14cd>
movsd  -0x38(%rbp),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     25f9 <test_add+0x14f9>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     2625 <test_add+0x1525>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     2651 <test_add+0x1551>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     267d <test_add+0x157d>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     26a9 <test_add+0x15a9>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     26d5 <test_add+0x15d5>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     2701 <test_add+0x1601>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x130(%rbp),%xmm0
ff
movsd  %xmm0,-0x130(%rbp)
movabs $0x80000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2731 <test_add+0x1631>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x138(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movabs $0x100000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2761 <test_add+0x1661>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x140(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
movabs $0x200000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2791 <test_add+0x1691>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x148(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movabs $0x400000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     27c1 <test_add+0x16c1>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movabs $0x800000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     27f1 <test_add+0x16f1>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movabs $0x1000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2821 <test_add+0x1721>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x160(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movabs $0x2000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2851 <test_add+0x1751>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x168(%rbp),%xmm0
ff
movsd  %xmm0,-0x168(%rbp)
ff
movabs $0x4000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2881 <test_add+0x1781>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0x170(%rbp)
ff
movabs $0x8000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     28b1 <test_add+0x17b1>
movsd  -0x38(%rbp),%xmm0
mulsd  -0x178(%rbp),%xmm0
ff
movsd  %xmm0,-0x178(%rbp)
ff
jmp    21a2 <test_add+0x10a2>
jmp    28bb <test_add+0x17bb>
mov    0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,0x10(%rbp)
mov    (%rax),%rax
mov    %rax,-0x180(%rbp)
cmp    $0x0,%rax
je     306f <test_add+0x1f6f>
mov    0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,0x18(%rbp)
movsd  (%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rdx
movq   %rdx,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     2932 <test_add+0x1832>
movsd  -0x38(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x180(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     295a <test_add+0x185a>
movsd  -0x38(%rbp),%xmm1
movsd  -0x48(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x180(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     2982 <test_add+0x1882>
movsd  -0x38(%rbp),%xmm1
movsd  -0x50(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x180(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     29aa <test_add+0x18aa>
movsd  -0x38(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x180(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     29d2 <test_add+0x18d2>
movsd  -0x38(%rbp),%xmm1
movsd  -0x60(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x180(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     29fa <test_add+0x18fa>
movsd  -0x38(%rbp),%xmm1
movsd  -0x68(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x180(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     2a22 <test_add+0x1922>
movsd  -0x38(%rbp),%xmm1
movsd  -0x70(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x180(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     2a4c <test_add+0x194c>
movsd  -0x38(%rbp),%xmm1
movsd  -0x78(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x180(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     2a76 <test_add+0x1976>
movsd  -0x38(%rbp),%xmm1
movsd  -0x80(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x180(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     2aa6 <test_add+0x19a6>
movsd  -0x38(%rbp),%xmm1
movsd  -0x88(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     2ad6 <test_add+0x19d6>
movsd  -0x38(%rbp),%xmm1
movsd  -0x90(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     2b06 <test_add+0x1a06>
movsd  -0x38(%rbp),%xmm1
movsd  -0x98(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     2b36 <test_add+0x1a36>
movsd  -0x38(%rbp),%xmm1
movsd  -0xa0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     2b66 <test_add+0x1a66>
movsd  -0x38(%rbp),%xmm1
movsd  -0xa8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     2b96 <test_add+0x1a96>
movsd  -0x38(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     2bc6 <test_add+0x1ac6>
movsd  -0x38(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     2bf6 <test_add+0x1af6>
movsd  -0x38(%rbp),%xmm1
movsd  -0xc0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     2c26 <test_add+0x1b26>
movsd  -0x38(%rbp),%xmm1
movsd  -0xc8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     2c56 <test_add+0x1b56>
movsd  -0x38(%rbp),%xmm1
movsd  -0xd0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     2c86 <test_add+0x1b86>
movsd  -0x38(%rbp),%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     2cb6 <test_add+0x1bb6>
movsd  -0x38(%rbp),%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     2ce6 <test_add+0x1be6>
movsd  -0x38(%rbp),%xmm1
movsd  -0xe8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     2d16 <test_add+0x1c16>
movsd  -0x38(%rbp),%xmm1
movsd  -0xf0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     2d46 <test_add+0x1c46>
movsd  -0x38(%rbp),%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     2d76 <test_add+0x1c76>
movsd  -0x38(%rbp),%xmm1
movsd  -0x100(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     2da6 <test_add+0x1ca6>
movsd  -0x38(%rbp),%xmm1
movsd  -0x108(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     2dd6 <test_add+0x1cd6>
movsd  -0x38(%rbp),%xmm1
movsd  -0x110(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     2e06 <test_add+0x1d06>
movsd  -0x38(%rbp),%xmm1
movsd  -0x118(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     2e36 <test_add+0x1d36>
movsd  -0x38(%rbp),%xmm1
movsd  -0x120(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     2e66 <test_add+0x1d66>
movsd  -0x38(%rbp),%xmm1
movsd  -0x128(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x180(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     2e96 <test_add+0x1d96>
movsd  -0x38(%rbp),%xmm1
movsd  -0x130(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movabs $0x80000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2eca <test_add+0x1dca>
movsd  -0x38(%rbp),%xmm1
movsd  -0x138(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movabs $0x100000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2efe <test_add+0x1dfe>
movsd  -0x38(%rbp),%xmm1
movsd  -0x140(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movabs $0x200000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2f32 <test_add+0x1e32>
movsd  -0x38(%rbp),%xmm1
movsd  -0x148(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movabs $0x400000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2f66 <test_add+0x1e66>
movsd  -0x38(%rbp),%xmm1
movsd  -0x150(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movabs $0x800000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2f9a <test_add+0x1e9a>
movsd  -0x38(%rbp),%xmm1
movsd  -0x158(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movabs $0x1000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     2fce <test_add+0x1ece>
movsd  -0x38(%rbp),%xmm1
movsd  -0x160(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movabs $0x2000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     3002 <test_add+0x1f02>
movsd  -0x38(%rbp),%xmm1
movsd  -0x168(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
movabs $0x4000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     3036 <test_add+0x1f36>
movsd  -0x38(%rbp),%xmm1
movsd  -0x170(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movabs $0x8000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     306a <test_add+0x1f6a>
movsd  -0x38(%rbp),%xmm1
movsd  -0x178(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
jmp    28bb <test_add+0x17bb>
jmp    3074 <test_add+0x1f74>
mov    0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,0x20(%rbp)
mov    (%rax),%rax
mov    %rax,-0x180(%rbp)
cmp    $0x0,%rax
je     3a90 <test_add+0x2990>
movl   $0x0,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     30db <test_add+0x1fdb>
movsd  -0x40(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     3115 <test_add+0x2015>
movsd  -0x48(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     314f <test_add+0x204f>
movsd  -0x50(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     3189 <test_add+0x2089>
movsd  -0x58(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     31c3 <test_add+0x20c3>
movsd  -0x60(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     31fd <test_add+0x20fd>
movsd  -0x68(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     3237 <test_add+0x2137>
movsd  -0x70(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     3273 <test_add+0x2173>
movsd  -0x78(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     32af <test_add+0x21af>
movsd  -0x80(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     32ee <test_add+0x21ee>
movsd  -0x88(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     332d <test_add+0x222d>
movsd  -0x90(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     336c <test_add+0x226c>
movsd  -0x98(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     33ab <test_add+0x22ab>
movsd  -0xa0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     33ea <test_add+0x22ea>
movsd  -0xa8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     3429 <test_add+0x2329>
movsd  -0xb0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     3468 <test_add+0x2368>
movsd  -0xb8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     34a7 <test_add+0x23a7>
movsd  -0xc0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     34e6 <test_add+0x23e6>
movsd  -0xc8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     3525 <test_add+0x2425>
movsd  -0xd0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     3564 <test_add+0x2464>
movsd  -0xd8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     35a3 <test_add+0x24a3>
movsd  -0xe0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     35e2 <test_add+0x24e2>
movsd  -0xe8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     3621 <test_add+0x2521>
movsd  -0xf0(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     3660 <test_add+0x2560>
movsd  -0xf8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     369f <test_add+0x259f>
movsd  -0x100(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     36de <test_add+0x25de>
movsd  -0x108(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     371d <test_add+0x261d>
movsd  -0x110(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     375c <test_add+0x265c>
movsd  -0x118(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     379b <test_add+0x269b>
movsd  -0x120(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     37da <test_add+0x26da>
movsd  -0x128(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     3819 <test_add+0x2719>
movsd  -0x130(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x80000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     385c <test_add+0x275c>
movsd  -0x138(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x100000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     389f <test_add+0x279f>
movsd  -0x140(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x200000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     38e2 <test_add+0x27e2>
movsd  -0x148(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x400000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     3925 <test_add+0x2825>
movsd  -0x150(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x800000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     3968 <test_add+0x2868>
movsd  -0x158(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x1000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     39ab <test_add+0x28ab>
movsd  -0x160(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x2000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     39ee <test_add+0x28ee>
movsd  -0x168(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x4000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     3a31 <test_add+0x2931>
movsd  -0x170(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
movabs $0x8000000000,%rax
and    -0x180(%rbp),%rax
cmp    $0x0,%rax
je     3a74 <test_add+0x2974>
movsd  -0x178(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0x184(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x184(%rbp),%ecx
mov    0x28(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,0x28(%rbp)
mov    %ecx,(%rax)
jmp    3074 <test_add+0x1f74>
movsd  -0x40(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
addsd  -0x70(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
addsd  -0x80(%rbp),%xmm0
addsd  -0x88(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
addsd  -0xb0(%rbp),%xmm0
ff
addsd  -0xb8(%rbp),%xmm0
ff
addsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xd0(%rbp),%xmm0
ff
addsd  -0xd8(%rbp),%xmm0
ff
addsd  -0xe0(%rbp),%xmm0
ff
addsd  -0xe8(%rbp),%xmm0
ff
addsd  -0xf0(%rbp),%xmm0
ff
addsd  -0xf8(%rbp),%xmm0
ff
addsd  -0x100(%rbp),%xmm0
ff
addsd  -0x108(%rbp),%xmm0
ff
addsd  -0x110(%rbp),%xmm0
ff
addsd  -0x118(%rbp),%xmm0
ff
addsd  -0x120(%rbp),%xmm0
ff
addsd  -0x128(%rbp),%xmm0
ff
addsd  -0x130(%rbp),%xmm0
ff
addsd  -0x138(%rbp),%xmm0
ff
addsd  -0x140(%rbp),%xmm0
ff
addsd  -0x148(%rbp),%xmm0
ff
addsd  -0x150(%rbp),%xmm0
ff
addsd  -0x158(%rbp),%xmm0
ff
addsd  -0x160(%rbp),%xmm0
ff
addsd  -0x168(%rbp),%xmm0
ff
addsd  -0x170(%rbp),%xmm0
ff
addsd  -0x178(%rbp),%xmm0
ff
add    $0x108,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_add>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x1e8,%rsp
mov    %r9,0x1d8(%rsp)
mov    %r8,0x1e0(%rsp)
mov    %rdx,%rax
movabs $0x8000000000,%r11
movabs $0x4000000000,%r8
movabs $0x2000000000,%r15
movabs $0x1000000000,%r12
movabs $0x800000000,%r14
movabs $0x400000000,%rbx
movabs $0x200000000,%rbp
movabs $0x100000000,%r13
mov    (%rdi),%r9
xorpd  %xmm0,%xmm0
test   %r9,%r9
je     1a38 <test_add+0x938>
movsd  %xmm0,0xe0(%rsp)
xor    %r10d,%r10d
movq   0x2e67(%rip),%xmm13
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xd8(%rsp)
xorpd  %xmm6,%xmm6
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xd0(%rsp)
xorpd  %xmm5,%xmm5
xorpd  %xmm14,%xmm14
xorpd  %xmm1,%xmm1
xorpd  %xmm3,%xmm3
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xc8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xc0(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xb8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xb0(%rsp)
xorpd  %xmm7,%xmm7
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x128(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x120(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x118(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x18(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x10(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,-0x10(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,-0x18(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xa8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xa0(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x98(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x90(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x88(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x80(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x78(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x70(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x68(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x60(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x58(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x50(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x48(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x40(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x38(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x30(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x20(%rsp)
jmp    1674 <test_add+0x574>
nopl   (%rax)
movsd  0xe0(%rsp),%xmm4
addsd  %xmm3,%xmm4
movsd  %xmm4,0xe0(%rsp)
movsd  0x20(%rsp),%xmm3
addsd  %xmm5,%xmm3
movsd  %xmm3,0x20(%rsp)
movsd  0x30(%rsp),%xmm3
addsd  %xmm0,%xmm3
movsd  %xmm3,0x30(%rsp)
movsd  0x38(%rsp),%xmm3
addsd  %xmm11,%xmm3
movsd  %xmm3,0x38(%rsp)
movsd  0x40(%rsp),%xmm3
addsd  %xmm9,%xmm3
movsd  %xmm3,0x40(%rsp)
movsd  0x48(%rsp),%xmm3
addsd  %xmm10,%xmm3
movsd  %xmm3,0x48(%rsp)
movsd  0x50(%rsp),%xmm3
addsd  %xmm12,%xmm3
movsd  %xmm3,0x50(%rsp)
movsd  0x58(%rsp),%xmm3
addsd  %xmm14,%xmm3
movsd  %xmm3,0x58(%rsp)
movsd  0x60(%rsp),%xmm3
addsd  %xmm15,%xmm3
movsd  %xmm3,0x60(%rsp)
movsd  0x68(%rsp),%xmm3
addsd  -0x68(%rsp),%xmm3
movsd  %xmm3,0x68(%rsp)
movsd  0x70(%rsp),%xmm3
addsd  -0x70(%rsp),%xmm3
movsd  %xmm3,0x70(%rsp)
movsd  0x78(%rsp),%xmm3
addsd  -0x78(%rsp),%xmm3
movsd  %xmm3,0x78(%rsp)
movsd  0x80(%rsp),%xmm3
addsd  -0x80(%rsp),%xmm3
movsd  %xmm3,0x80(%rsp)
movsd  0x88(%rsp),%xmm3
addsd  -0x20(%rsp),%xmm3
movsd  %xmm3,0x88(%rsp)
movsd  0x90(%rsp),%xmm3
addsd  -0x28(%rsp),%xmm3
movsd  %xmm3,0x90(%rsp)
movsd  0x98(%rsp),%xmm3
addsd  -0x30(%rsp),%xmm3
movsd  %xmm3,0x98(%rsp)
movsd  0xa0(%rsp),%xmm3
addsd  -0x38(%rsp),%xmm3
movsd  %xmm3,0xa0(%rsp)
movsd  0xa8(%rsp),%xmm3
addsd  -0x40(%rsp),%xmm3
movsd  %xmm3,0xa8(%rsp)
movsd  -0x18(%rsp),%xmm3
addsd  -0x48(%rsp),%xmm3
movsd  %xmm3,-0x18(%rsp)
movsd  -0x10(%rsp),%xmm3
addsd  -0x50(%rsp),%xmm3
movsd  %xmm3,-0x10(%rsp)
movsd  -0x8(%rsp),%xmm3
addsd  -0x58(%rsp),%xmm3
movsd  %xmm3,-0x8(%rsp)
movsd  (%rsp),%xmm3
addsd  0x108(%rsp),%xmm3
movsd  %xmm3,(%rsp)
movsd  0x8(%rsp),%xmm3
addsd  0x100(%rsp),%xmm3
movsd  %xmm3,0x8(%rsp)
movsd  0x10(%rsp),%xmm3
addsd  0xf8(%rsp),%xmm3
movsd  %xmm3,0x10(%rsp)
movsd  0x18(%rsp),%xmm3
addsd  0xf0(%rsp),%xmm3
movsd  %xmm3,0x18(%rsp)
movsd  0x118(%rsp),%xmm3
addsd  0xe8(%rsp),%xmm3
movsd  %xmm3,0x118(%rsp)
movsd  0x120(%rsp),%xmm3
addsd  0x188(%rsp),%xmm3
movsd  %xmm3,0x120(%rsp)
movsd  0x128(%rsp),%xmm3
addsd  -0x60(%rsp),%xmm3
movsd  %xmm3,0x128(%rsp)
movsd  0x198(%rsp),%xmm7
addsd  0x180(%rsp),%xmm7
movsd  0xb0(%rsp),%xmm3
addsd  %xmm1,%xmm3
movsd  %xmm3,0xb0(%rsp)
movsd  0xb8(%rsp),%xmm3
addsd  0x178(%rsp),%xmm3
movsd  %xmm3,0xb8(%rsp)
movsd  0xc0(%rsp),%xmm3
addsd  0x170(%rsp),%xmm3
movsd  %xmm3,0xc0(%rsp)
movsd  0xc8(%rsp),%xmm3
addsd  0x168(%rsp),%xmm3
movsd  %xmm3,0xc8(%rsp)
movsd  0x130(%rsp),%xmm3
addsd  0x28(%rsp),%xmm3
movsd  0x138(%rsp),%xmm1
addsd  0x160(%rsp),%xmm1
movsd  0x140(%rsp),%xmm14
addsd  0x150(%rsp),%xmm14
movsd  0x190(%rsp),%xmm5
addsd  0x148(%rsp),%xmm5
movsd  0xd0(%rsp),%xmm4
addsd  %xmm6,%xmm4
movsd  %xmm4,0xd0(%rsp)
movsd  0x110(%rsp),%xmm6
addsd  %xmm2,%xmm6
movsd  0xd8(%rsp),%xmm0
addsd  %xmm8,%xmm0
movsd  %xmm0,0xd8(%rsp)
mov    0x8(%rdi,%r10,1),%r9
add    $0x8,%r10
test   %r9,%r9
je     1bd0 <test_add+0xad0>
mov    (%rsi,%r10,1),%rdx
movq   %rdx,%xmm4
movdqa %xmm13,%xmm0
test   $0x1,%r9b
je     168c <test_add+0x58c>
movdqa %xmm4,%xmm0
movq   %xmm0,0x158(%rsp)
movdqa %xmm13,%xmm8
test   $0x2,%r9b
movapd %xmm14,%xmm2
je     16aa <test_add+0x5aa>
movdqa %xmm4,%xmm8
movdqa %xmm13,%xmm11
test   $0x4,%r9b
je     16ba <test_add+0x5ba>
movdqa %xmm4,%xmm11
movdqa %xmm13,%xmm9
test   $0x8,%r9b
je     16ca <test_add+0x5ca>
movdqa %xmm4,%xmm9
movdqa %xmm13,%xmm10
test   $0x10,%r9b
je     16da <test_add+0x5da>
movdqa %xmm4,%xmm10
movdqa %xmm13,%xmm12
test   $0x20,%r9b
je     16ea <test_add+0x5ea>
movdqa %xmm4,%xmm12
movdqa %xmm13,%xmm14
test   $0x40,%r9b
je     16fa <test_add+0x5fa>
movdqa %xmm4,%xmm14
movdqa %xmm13,%xmm15
test   $0x80,%r9d
je     170d <test_add+0x60d>
movdqa %xmm4,%xmm15
movq   %xmm13,-0x68(%rsp)
test   $0x100,%r9d
je     1723 <test_add+0x623>
movq   %xmm4,-0x68(%rsp)
movq   %xmm13,-0x70(%rsp)
test   $0x200,%r9d
je     1739 <test_add+0x639>
movq   %xmm4,-0x70(%rsp)
movq   %xmm13,-0x78(%rsp)
test   $0x400,%r9d
je     174f <test_add+0x64f>
movq   %xmm4,-0x78(%rsp)
movq   %xmm13,-0x80(%rsp)
test   $0x800,%r9d
je     1765 <test_add+0x665>
movq   %xmm4,-0x80(%rsp)
movq   %xmm13,-0x20(%rsp)
test   $0x1000,%r9d
je     177b <test_add+0x67b>
movq   %xmm4,-0x20(%rsp)
movq   %xmm13,-0x28(%rsp)
test   $0x2000,%r9d
je     1791 <test_add+0x691>
movq   %xmm4,-0x28(%rsp)
movq   %xmm13,-0x30(%rsp)
test   $0x4000,%r9d
je     17a7 <test_add+0x6a7>
movq   %xmm4,-0x30(%rsp)
movq   %xmm13,-0x38(%rsp)
test   $0x8000,%r9d
je     17bd <test_add+0x6bd>
movq   %xmm4,-0x38(%rsp)
movq   %xmm13,-0x40(%rsp)
test   $0x10000,%r9d
je     17d3 <test_add+0x6d3>
movq   %xmm4,-0x40(%rsp)
movq   %xmm13,-0x48(%rsp)
test   $0x20000,%r9d
je     17e9 <test_add+0x6e9>
movq   %xmm4,-0x48(%rsp)
movq   %xmm13,-0x50(%rsp)
test   $0x40000,%r9d
je     17ff <test_add+0x6ff>
movq   %xmm4,-0x50(%rsp)
movq   %xmm13,-0x58(%rsp)
test   $0x80000,%r9d
je     1815 <test_add+0x715>
movq   %xmm4,-0x58(%rsp)
movq   %xmm13,0x108(%rsp)
test   $0x100000,%r9d
je     1831 <test_add+0x731>
movq   %xmm4,0x108(%rsp)
movq   %xmm13,0x100(%rsp)
test   $0x200000,%r9d
je     184d <test_add+0x74d>
movq   %xmm4,0x100(%rsp)
movq   %xmm13,0xf8(%rsp)
test   $0x400000,%r9d
je     1869 <test_add+0x769>
movq   %xmm4,0xf8(%rsp)
movq   %xmm13,0xf0(%rsp)
test   $0x800000,%r9d
je     1885 <test_add+0x785>
movq   %xmm4,0xf0(%rsp)
movq   %xmm13,0xe8(%rsp)
test   $0x1000000,%r9d
je     18a1 <test_add+0x7a1>
movq   %xmm4,0xe8(%rsp)
movsd  %xmm7,0x198(%rsp)
movdqa %xmm13,%xmm7
test   $0x2000000,%r9d
je     18bc <test_add+0x7bc>
movdqa %xmm4,%xmm7
movq   %xmm13,-0x60(%rsp)
test   $0x4000000,%r9d
je     18d2 <test_add+0x7d2>
movq   %xmm4,-0x60(%rsp)
movsd  %xmm3,0x130(%rsp)
movsd  %xmm1,0x138(%rsp)
movdqa %xmm13,%xmm1
test   $0x8000000,%r9d
je     18f6 <test_add+0x7f6>
movdqa %xmm4,%xmm1
movsd  %xmm6,0x110(%rsp)
movdqa %xmm13,%xmm3
test   $0x10000000,%r9d
je     1911 <test_add+0x811>
movdqa %xmm4,%xmm3
movdqa %xmm13,%xmm6
test   $0x20000000,%r9d
je     1923 <test_add+0x823>
movdqa %xmm4,%xmm6
movsd  %xmm5,0x190(%rsp)
movdqa %xmm13,%xmm5
test   $0x40000000,%r9d
je     193e <test_add+0x83e>
movdqa %xmm4,%xmm5
movq   %xmm1,0x180(%rsp)
movq   %xmm7,0x188(%rsp)
mov    %r9d,%edx
and    $0x80000000,%edx
movdqa %xmm13,%xmm1
test   %rdx,%rdx
je     1967 <test_add+0x867>
movdqa %xmm4,%xmm1
movdqa %xmm8,%xmm0
movsd  %xmm2,0x140(%rsp)
movdqa %xmm13,%xmm2
test   %r13,%r9
je     1983 <test_add+0x883>
movdqa %xmm4,%xmm2
movdqa %xmm13,%xmm7
test   %rbp,%r9
je     1991 <test_add+0x891>
movdqa %xmm4,%xmm7
movq   %xmm6,0x178(%rsp)
movdqa %xmm13,%xmm6
test   %rbx,%r9
je     19a8 <test_add+0x8a8>
movdqa %xmm4,%xmm6
movq   %xmm6,0x150(%rsp)
movq   %xmm5,0x170(%rsp)
movdqa %xmm13,%xmm5
test   %r14,%r9
je     19c8 <test_add+0x8c8>
movdqa %xmm4,%xmm5
movq   %xmm5,0x148(%rsp)
movq   %xmm2,0x28(%rsp)
movsd  0x158(%rsp),%xmm5
movdqa %xmm13,%xmm6
test   %r12,%r9
je     19ee <test_add+0x8ee>
movdqa %xmm4,%xmm6
movq   %xmm7,0x160(%rsp)
movq   %xmm1,0x168(%rsp)
movdqa %xmm13,%xmm2
test   %r15,%r9
je     1a0e <test_add+0x90e>
movdqa %xmm4,%xmm2
movdqa %xmm3,%xmm1
movdqa %xmm13,%xmm8
test   %r8,%r9
je     1a21 <test_add+0x921>
movdqa %xmm4,%xmm8
movdqa %xmm13,%xmm3
test   %r11,%r9
je     1330 <test_add+0x230>
movdqa %xmm4,%xmm3
jmp    1330 <test_add+0x230>
movsd  %xmm0,0x20(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x30(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x38(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x40(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x48(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x50(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x58(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x60(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x68(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x70(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x78(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x80(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x88(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x90(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x98(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xa0(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xa8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,-0x18(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,-0x10(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x10(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x18(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x118(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x120(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x128(%rsp)
xorpd  %xmm7,%xmm7
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xb0(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xb8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xc0(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xc8(%rsp)
xorpd  %xmm3,%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm14,%xmm14
xorpd  %xmm5,%xmm5
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xd0(%rsp)
xorpd  %xmm6,%xmm6
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xd8(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0xe0(%rsp)
movsd  %xmm7,0x198(%rsp)
movsd  %xmm3,0x130(%rsp)
movsd  %xmm1,0x138(%rsp)
mov    (%rax),%rdi
test   %rdi,%rdi
je     2334 <test_add+0x1234>
xor    %esi,%esi
jmp    1f60 <test_add+0xe60>
xchg   %ax,%ax
movsd  0xe0(%rsp),%xmm3
subsd  %xmm7,%xmm3
movsd  %xmm3,0xe0(%rsp)
movsd  0x20(%rsp),%xmm3
subsd  %xmm6,%xmm3
movsd  %xmm3,0x20(%rsp)
movsd  0x30(%rsp),%xmm3
subsd  -0x20(%rsp),%xmm3
movsd  %xmm3,0x30(%rsp)
movsd  0x38(%rsp),%xmm3
subsd  -0x38(%rsp),%xmm3
movsd  %xmm3,0x38(%rsp)
movsd  0x40(%rsp),%xmm3
subsd  -0x28(%rsp),%xmm3
movsd  %xmm3,0x40(%rsp)
movsd  0x48(%rsp),%xmm3
subsd  -0x50(%rsp),%xmm3
movsd  %xmm3,0x48(%rsp)
movsd  0x50(%rsp),%xmm3
subsd  -0x40(%rsp),%xmm3
movsd  %xmm3,0x50(%rsp)
movsd  0x58(%rsp),%xmm3
subsd  -0x30(%rsp),%xmm3
movsd  %xmm3,0x58(%rsp)
movsd  0x60(%rsp),%xmm3
subsd  0x170(%rsp),%xmm3
movsd  %xmm3,0x60(%rsp)
movsd  0x68(%rsp),%xmm3
subsd  %xmm12,%xmm3
movsd  %xmm3,0x68(%rsp)
movsd  0x70(%rsp),%xmm3
subsd  %xmm2,%xmm3
movsd  %xmm3,0x70(%rsp)
movsd  0x78(%rsp),%xmm3
subsd  %xmm14,%xmm3
movsd  %xmm3,0x78(%rsp)
movsd  0x80(%rsp),%xmm3
subsd  %xmm15,%xmm3
movsd  %xmm3,0x80(%rsp)
movsd  0x88(%rsp),%xmm3
subsd  -0x68(%rsp),%xmm3
movsd  %xmm3,0x88(%rsp)
movsd  0x90(%rsp),%xmm3
subsd  %xmm9,%xmm3
movsd  %xmm3,0x90(%rsp)
movsd  0x98(%rsp),%xmm3
subsd  -0x70(%rsp),%xmm3
movsd  %xmm3,0x98(%rsp)
movsd  0xa0(%rsp),%xmm3
subsd  %xmm1,%xmm3
movsd  %xmm3,0xa0(%rsp)
movsd  0xa8(%rsp),%xmm3
subsd  0x178(%rsp),%xmm3
movsd  %xmm3,0xa8(%rsp)
movsd  -0x18(%rsp),%xmm3
subsd  -0x58(%rsp),%xmm3
movsd  %xmm3,-0x18(%rsp)
movsd  -0x10(%rsp),%xmm3
subsd  0x108(%rsp),%xmm3
movsd  %xmm3,-0x10(%rsp)
movsd  -0x8(%rsp),%xmm3
subsd  0x100(%rsp),%xmm3
movsd  %xmm3,-0x8(%rsp)
movsd  (%rsp),%xmm3
subsd  -0x78(%rsp),%xmm3
movsd  %xmm3,(%rsp)
movsd  0x8(%rsp),%xmm3
subsd  0xf8(%rsp),%xmm3
movsd  %xmm3,0x8(%rsp)
movsd  0x10(%rsp),%xmm3
subsd  0xf0(%rsp),%xmm3
movsd  %xmm3,0x10(%rsp)
movsd  0x18(%rsp),%xmm3
subsd  0xe8(%rsp),%xmm3
movsd  %xmm3,0x18(%rsp)
movsd  0x118(%rsp),%xmm3
subsd  0x168(%rsp),%xmm3
movsd  %xmm3,0x118(%rsp)
movsd  0x120(%rsp),%xmm3
subsd  0x28(%rsp),%xmm3
movsd  %xmm3,0x120(%rsp)
movsd  0x128(%rsp),%xmm3
subsd  -0x80(%rsp),%xmm3
movsd  %xmm3,0x128(%rsp)
movsd  0x198(%rsp),%xmm1
subsd  0x160(%rsp),%xmm1
movsd  %xmm1,0x198(%rsp)
movsd  0xb0(%rsp),%xmm1
subsd  0x158(%rsp),%xmm1
movsd  %xmm1,0xb0(%rsp)
movsd  0xb8(%rsp),%xmm1
subsd  0x150(%rsp),%xmm1
movsd  %xmm1,0xb8(%rsp)
movsd  0xc0(%rsp),%xmm1
subsd  0x148(%rsp),%xmm1
movsd  %xmm1,0xc0(%rsp)
movsd  0xc8(%rsp),%xmm1
subsd  0x1b0(%rsp),%xmm1
movsd  %xmm1,0xc8(%rsp)
movsd  0x130(%rsp),%xmm1
subsd  0x1a8(%rsp),%xmm1
movsd  %xmm1,0x130(%rsp)
movsd  0x138(%rsp),%xmm1
subsd  %xmm5,%xmm1
movsd  %xmm1,0x138(%rsp)
movsd  0x140(%rsp),%xmm14
subsd  %xmm13,%xmm14
movsd  0x190(%rsp),%xmm5
subsd  %xmm11,%xmm5
movsd  0xd0(%rsp),%xmm1
subsd  %xmm10,%xmm1
movsd  %xmm1,0xd0(%rsp)
movsd  0x110(%rsp),%xmm6
subsd  %xmm0,%xmm6
movsd  0xd8(%rsp),%xmm0
subsd  %xmm8,%xmm0
movsd  %xmm0,0xd8(%rsp)
mov    0x8(%rax,%rsi,1),%rdi
add    $0x8,%rsi
test   %rdi,%rdi
je     2334 <test_add+0x1234>
mov    (%rcx,%rsi,1),%rdx
movq   %rdx,%xmm4
xorpd  %xmm0,%xmm0
test   $0x1,%dil
je     1f77 <test_add+0xe77>
movdqa %xmm4,%xmm0
xorpd  %xmm1,%xmm1
test   $0x2,%dil
je     1f85 <test_add+0xe85>
movdqa %xmm4,%xmm1
movsd  %xmm1,-0x20(%rsp)
xorpd  %xmm1,%xmm1
test   $0x4,%dil
je     1f99 <test_add+0xe99>
movdqa %xmm4,%xmm1
movsd  %xmm1,-0x38(%rsp)
xorpd  %xmm1,%xmm1
test   $0x8,%dil
je     1fad <test_add+0xead>
movdqa %xmm4,%xmm1
pxor   %xmm10,%xmm10
test   $0x10,%dil
je     1fbd <test_add+0xebd>
movdqa %xmm4,%xmm10
movsd  %xmm0,-0x48(%rsp)
xorpd  %xmm0,%xmm0
test   $0x20,%dil
je     1fd1 <test_add+0xed1>
movdqa %xmm4,%xmm0
movsd  %xmm1,-0x28(%rsp)
xorpd  %xmm1,%xmm1
test   $0x40,%dil
je     1fe5 <test_add+0xee5>
movdqa %xmm4,%xmm1
movsd  %xmm1,-0x30(%rsp)
xorpd  %xmm1,%xmm1
test   $0x80,%edi
je     1ffb <test_add+0xefb>
movdqa %xmm4,%xmm1
movsd  %xmm0,-0x40(%rsp)
pxor   %xmm2,%xmm2
test   $0x100,%edi
je     2011 <test_add+0xf11>
movdqa %xmm4,%xmm2
xorpd  %xmm0,%xmm0
test   $0x200,%edi
je     2021 <test_add+0xf21>
movdqa %xmm4,%xmm0
movsd  %xmm1,0x170(%rsp)
xorpd  %xmm7,%xmm7
test   $0x400,%edi
je     203a <test_add+0xf3a>
movdqa %xmm4,%xmm7
xorpd  %xmm1,%xmm1
test   $0x800,%edi
je     204a <test_add+0xf4a>
movdqa %xmm4,%xmm1
xorpd  %xmm9,%xmm9
movsd  %xmm9,-0x68(%rsp)
test   $0x1000,%edi
je     2064 <test_add+0xf64>
movq   %xmm4,-0x68(%rsp)
xorpd  %xmm3,%xmm3
test   $0x2000,%edi
je     2074 <test_add+0xf74>
movdqa %xmm4,%xmm3
movsd  %xmm3,0x180(%rsp)
pxor   %xmm13,%xmm13
movq   %xmm13,-0x70(%rsp)
test   $0x4000,%edi
je     2097 <test_add+0xf97>
movq   %xmm4,-0x70(%rsp)
movsd  %xmm7,-0x60(%rsp)
pxor   %xmm15,%xmm15
test   $0x8000,%edi
je     20af <test_add+0xfaf>
movdqa %xmm4,%xmm15
movsd  %xmm1,0x188(%rsp)
xorpd  %xmm1,%xmm1
test   $0x10000,%edi
je     20c8 <test_add+0xfc8>
movdqa %xmm4,%xmm1
pxor   %xmm13,%xmm13
test   $0x20000,%edi
je     20da <test_add+0xfda>
movdqa %xmm4,%xmm13
pxor   %xmm8,%xmm8
test   $0x40000,%edi
je     20ec <test_add+0xfec>
movdqa %xmm4,%xmm8
pxor   %xmm11,%xmm11
test   $0x80000,%edi
je     20fe <test_add+0xffe>
movdqa %xmm4,%xmm11
movsd  %xmm1,0x178(%rsp)
xorpd  %xmm12,%xmm12
movsd  %xmm12,-0x78(%rsp)
test   $0x100000,%edi
je     2121 <test_add+0x1021>
movq   %xmm4,-0x78(%rsp)
movsd  %xmm0,0x1a0(%rsp)
xorpd  %xmm1,%xmm1
test   $0x200000,%edi
movdqa %xmm2,%xmm12
je     213f <test_add+0x103f>
movdqa %xmm4,%xmm1
pxor   %xmm2,%xmm2
test   $0x400000,%edi
je     214f <test_add+0x104f>
movdqa %xmm4,%xmm2
xorpd  %xmm0,%xmm0
test   $0x800000,%edi
je     215f <test_add+0x105f>
movdqa %xmm4,%xmm0
movsd  %xmm5,0x190(%rsp)
xorpd  %xmm5,%xmm5
test   $0x1000000,%edi
je     2178 <test_add+0x1078>
movdqa %xmm4,%xmm5
xorpd  %xmm7,%xmm7
test   $0x2000000,%edi
je     2188 <test_add+0x1088>
movdqa %xmm4,%xmm7
xorpd  %xmm9,%xmm9
movsd  %xmm9,-0x80(%rsp)
test   $0x4000000,%edi
je     21a2 <test_add+0x10a2>
movq   %xmm4,-0x80(%rsp)
xorpd  %xmm3,%xmm3
test   $0x8000000,%edi
je     21b2 <test_add+0x10b2>
movdqa %xmm4,%xmm3
movsd  %xmm6,0x110(%rsp)
xorpd  %xmm6,%xmm6
test   $0x10000000,%edi
je     21cb <test_add+0x10cb>
movdqa %xmm4,%xmm6
movsd  %xmm6,0x158(%rsp)
movsd  %xmm7,0x28(%rsp)
movq   %xmm10,-0x50(%rsp)
movsd  %xmm14,0x140(%rsp)
xorpd  %xmm7,%xmm7
test   $0x20000000,%edi
movsd  -0x48(%rsp),%xmm6
je     2201 <test_add+0x1101>
movdqa %xmm4,%xmm7
movsd  %xmm7,0x150(%rsp)
movsd  %xmm5,0x168(%rsp)
xorpd  %xmm5,%xmm5
test   $0x40000000,%edi
xorpd  %xmm7,%xmm7
je     2227 <test_add+0x1127>
movdqa %xmm4,%xmm5
movsd  %xmm5,0x148(%rsp)
movsd  %xmm0,0xe8(%rsp)
movq   %xmm2,0xf0(%rsp)
movsd  %xmm1,0xf8(%rsp)
mov    %edi,%edx
and    $0x80000000,%edx
xorpd  %xmm0,%xmm0
test   %rdx,%rdx
je     2260 <test_add+0x1160>
movdqa %xmm4,%xmm0
xorpd  %xmm1,%xmm1
test   %r13,%rdi
movsd  0x1a0(%rsp),%xmm2
je     2276 <test_add+0x1176>
movdqa %xmm4,%xmm1
movsd  %xmm1,0x1a8(%rsp)
movsd  %xmm3,0x160(%rsp)
movq   %xmm11,0x100(%rsp)
movq   %xmm8,0x108(%rsp)
movq   %xmm13,-0x58(%rsp)
movdqa %xmm15,%xmm1
xorpd  %xmm5,%xmm5
test   %rbp,%rdi
je     22b5 <test_add+0x11b5>
movdqa %xmm4,%xmm5
movsd  -0x60(%rsp),%xmm14
pxor   %xmm13,%xmm13
test   %rbx,%rdi
movsd  0x188(%rsp),%xmm15
movsd  0x180(%rsp),%xmm9
je     22df <test_add+0x11df>
movdqa %xmm4,%xmm13
pxor   %xmm11,%xmm11
test   %r14,%rdi
je     22ee <test_add+0x11ee>
movdqa %xmm4,%xmm11
movsd  %xmm0,0x1b0(%rsp)
pxor   %xmm10,%xmm10
test   %r12,%rdi
je     2306 <test_add+0x1206>
movdqa %xmm4,%xmm10
xorpd  %xmm0,%xmm0
test   %r15,%rdi
je     2313 <test_add+0x1213>
movdqa %xmm4,%xmm0
pxor   %xmm8,%xmm8
test   %r8,%rdi
je     2322 <test_add+0x1222>
movdqa %xmm4,%xmm8
test   %r11,%rdi
je     1c00 <test_add+0xb00>
movdqa %xmm4,%xmm7
jmp    1c00 <test_add+0xb00>
mov    0x220(%rsp),%r9
mov    0x1e0(%rsp),%rdi
mov    (%rdi),%rax
test   %rax,%rax
je     2abb <test_add+0x19bb>
xor    %ecx,%ecx
movq   0x1cad(%rip),%xmm9
mov    0x1d8(%rsp),%rsi
jmp    26d2 <test_add+0x15d2>
nopl   0x0(%rax,%rax,1)
movsd  0xe0(%rsp),%xmm4
mulsd  %xmm3,%xmm4
movsd  %xmm4,0xe0(%rsp)
movsd  0x20(%rsp),%xmm3
mulsd  %xmm5,%xmm3
movsd  %xmm3,0x20(%rsp)
movsd  0x30(%rsp),%xmm3
mulsd  %xmm1,%xmm3
movsd  %xmm3,0x30(%rsp)
movsd  0x38(%rsp),%xmm3
mulsd  %xmm7,%xmm3
movsd  %xmm3,0x38(%rsp)
movsd  0x40(%rsp),%xmm3
mulsd  %xmm6,%xmm3
movsd  %xmm3,0x40(%rsp)
movsd  0x48(%rsp),%xmm3
mulsd  %xmm10,%xmm3
movsd  %xmm3,0x48(%rsp)
movsd  0x50(%rsp),%xmm3
mulsd  %xmm0,%xmm3
movsd  %xmm3,0x50(%rsp)
movsd  0x58(%rsp),%xmm3
mulsd  %xmm12,%xmm3
movsd  %xmm3,0x58(%rsp)
movsd  0x60(%rsp),%xmm3
mulsd  %xmm13,%xmm3
movsd  %xmm3,0x60(%rsp)
movsd  0x68(%rsp),%xmm3
mulsd  %xmm14,%xmm3
movsd  %xmm3,0x68(%rsp)
movsd  0x70(%rsp),%xmm3
mulsd  %xmm15,%xmm3
movsd  %xmm3,0x70(%rsp)
movsd  0x78(%rsp),%xmm3
mulsd  %xmm11,%xmm3
movsd  %xmm3,0x78(%rsp)
movsd  0x80(%rsp),%xmm3
mulsd  0xf0(%rsp),%xmm3
movsd  %xmm3,0x80(%rsp)
movsd  0x88(%rsp),%xmm3
mulsd  0xe8(%rsp),%xmm3
movsd  %xmm3,0x88(%rsp)
movsd  0x90(%rsp),%xmm3
mulsd  -0x60(%rsp),%xmm3
movsd  %xmm3,0x90(%rsp)
movsd  0x98(%rsp),%xmm3
mulsd  -0x68(%rsp),%xmm3
movsd  %xmm3,0x98(%rsp)
movsd  0xa0(%rsp),%xmm3
mulsd  -0x70(%rsp),%xmm3
movsd  %xmm3,0xa0(%rsp)
movsd  0xa8(%rsp),%xmm3
mulsd  -0x78(%rsp),%xmm3
movsd  %xmm3,0xa8(%rsp)
movsd  -0x18(%rsp),%xmm3
mulsd  -0x80(%rsp),%xmm3
movsd  %xmm3,-0x18(%rsp)
movsd  -0x10(%rsp),%xmm3
mulsd  -0x20(%rsp),%xmm3
movsd  %xmm3,-0x10(%rsp)
movsd  -0x8(%rsp),%xmm3
mulsd  -0x28(%rsp),%xmm3
movsd  %xmm3,-0x8(%rsp)
movsd  (%rsp),%xmm3
mulsd  -0x30(%rsp),%xmm3
movsd  %xmm3,(%rsp)
movsd  0x8(%rsp),%xmm3
mulsd  -0x38(%rsp),%xmm3
movsd  %xmm3,0x8(%rsp)
movsd  0x10(%rsp),%xmm3
mulsd  -0x40(%rsp),%xmm3
movsd  %xmm3,0x10(%rsp)
movsd  0x18(%rsp),%xmm3
mulsd  -0x48(%rsp),%xmm3
movsd  %xmm3,0x18(%rsp)
movsd  0x118(%rsp),%xmm3
mulsd  -0x50(%rsp),%xmm3
movsd  %xmm3,0x118(%rsp)
movsd  0x120(%rsp),%xmm3
mulsd  0x188(%rsp),%xmm3
movsd  %xmm3,0x120(%rsp)
movsd  0x128(%rsp),%xmm3
mulsd  -0x58(%rsp),%xmm3
movsd  %xmm3,0x128(%rsp)
movsd  0x198(%rsp),%xmm3
mulsd  0x180(%rsp),%xmm3
movsd  %xmm3,0x198(%rsp)
movsd  0xb0(%rsp),%xmm3
mulsd  0x178(%rsp),%xmm3
movsd  %xmm3,0xb0(%rsp)
movsd  0xb8(%rsp),%xmm3
mulsd  0x168(%rsp),%xmm3
movsd  %xmm3,0xb8(%rsp)
movsd  0xc0(%rsp),%xmm3
mulsd  0x160(%rsp),%xmm3
movsd  %xmm3,0xc0(%rsp)
movsd  0xc8(%rsp),%xmm3
mulsd  0x150(%rsp),%xmm3
movsd  %xmm3,0xc8(%rsp)
movsd  0x130(%rsp),%xmm3
mulsd  0x1b0(%rsp),%xmm3
movsd  %xmm3,0x130(%rsp)
movsd  0x138(%rsp),%xmm3
mulsd  0x1a0(%rsp),%xmm3
movsd  %xmm3,0x138(%rsp)
movsd  0x140(%rsp),%xmm14
mulsd  0x1d0(%rsp),%xmm14
movsd  0x190(%rsp),%xmm5
mulsd  0x1c8(%rsp),%xmm5
movsd  0xd0(%rsp),%xmm3
mulsd  0x1c0(%rsp),%xmm3
movsd  %xmm3,0xd0(%rsp)
movsd  0x110(%rsp),%xmm6
mulsd  0x1b8(%rsp),%xmm6
movsd  0xd8(%rsp),%xmm0
mulsd  %xmm8,%xmm0
movsd  %xmm0,0xd8(%rsp)
mov    0x8(%rdi,%rcx,1),%rax
add    $0x8,%rcx
test   %rax,%rax
je     2abb <test_add+0x19bb>
mov    (%rsi,%rcx,1),%rdx
movq   %rdx,%xmm2
movdqa %xmm9,%xmm0
test   $0x1,%al
je     26e8 <test_add+0x15e8>
movdqa %xmm2,%xmm0
movq   %xmm0,0xf8(%rsp)
movdqa %xmm9,%xmm0
test   $0x2,%al
je     26fe <test_add+0x15fe>
movdqa %xmm2,%xmm0
movdqa %xmm9,%xmm1
test   $0x4,%al
je     270b <test_add+0x160b>
movdqa %xmm2,%xmm1
movdqa %xmm9,%xmm10
test   $0x8,%al
je     2719 <test_add+0x1619>
movdqa %xmm2,%xmm10
movdqa %xmm9,%xmm8
test   $0x10,%al
je     2727 <test_add+0x1627>
movdqa %xmm2,%xmm8
movq   %xmm1,0x100(%rsp)
movq   %xmm0,0x108(%rsp)
movdqa %xmm9,%xmm0
test   $0x20,%al
je     2746 <test_add+0x1646>
movdqa %xmm2,%xmm0
movdqa %xmm9,%xmm1
test   $0x40,%al
je     2753 <test_add+0x1653>
movdqa %xmm2,%xmm1
movdqa %xmm9,%xmm3
test   $0x80,%eax
je     2763 <test_add+0x1663>
movdqa %xmm2,%xmm3
movdqa %xmm9,%xmm4
test   $0x100,%eax
je     2773 <test_add+0x1673>
movdqa %xmm2,%xmm4
movdqa %xmm9,%xmm7
test   $0x200,%eax
je     2783 <test_add+0x1683>
movdqa %xmm2,%xmm7
movq   %xmm1,0x28(%rsp)
movq   %xmm0,0x170(%rsp)
movdqa %xmm9,%xmm11
test   $0x400,%eax
je     27a3 <test_add+0x16a3>
movdqa %xmm2,%xmm11
movq   %xmm3,0x158(%rsp)
movdqa %xmm9,%xmm12
test   $0x800,%eax
je     27bd <test_add+0x16bd>
movdqa %xmm2,%xmm12
movq   %xmm7,0x1a8(%rsp)
movq   %xmm4,0x148(%rsp)
movdqa %xmm9,%xmm13
test   $0x1000,%eax
je     27e0 <test_add+0x16e0>
movdqa %xmm2,%xmm13
movdqa %xmm9,%xmm15
test   $0x2000,%eax
je     27f1 <test_add+0x16f1>
movdqa %xmm2,%xmm15
movq   %xmm9,-0x68(%rsp)
test   $0x4000,%eax
je     2805 <test_add+0x1705>
movq   %xmm2,-0x68(%rsp)
movq   %xmm9,-0x70(%rsp)
test   $0x8000,%eax
je     2819 <test_add+0x1719>
movq   %xmm2,-0x70(%rsp)
movq   %xmm9,-0x78(%rsp)
test   $0x10000,%eax
je     282d <test_add+0x172d>
movq   %xmm2,-0x78(%rsp)
movq   %xmm9,-0x80(%rsp)
test   $0x20000,%eax
je     2841 <test_add+0x1741>
movq   %xmm2,-0x80(%rsp)
movq   %xmm9,-0x20(%rsp)
test   $0x40000,%eax
je     2855 <test_add+0x1755>
movq   %xmm2,-0x20(%rsp)
movq   %xmm9,-0x28(%rsp)
test   $0x80000,%eax
je     2869 <test_add+0x1769>
movq   %xmm2,-0x28(%rsp)
movq   %xmm9,-0x30(%rsp)
test   $0x100000,%eax
je     287d <test_add+0x177d>
movq   %xmm2,-0x30(%rsp)
movq   %xmm9,-0x38(%rsp)
test   $0x200000,%eax
je     2891 <test_add+0x1791>
movq   %xmm2,-0x38(%rsp)
movq   %xmm9,-0x40(%rsp)
test   $0x400000,%eax
je     28a5 <test_add+0x17a5>
movq   %xmm2,-0x40(%rsp)
movq   %xmm9,-0x48(%rsp)
test   $0x800000,%eax
je     28b9 <test_add+0x17b9>
movq   %xmm2,-0x48(%rsp)
movq   %xmm9,-0x50(%rsp)
test   $0x1000000,%eax
je     28cd <test_add+0x17cd>
movq   %xmm2,-0x50(%rsp)
movsd  %xmm6,0x110(%rsp)
movdqa %xmm9,%xmm6
test   $0x2000000,%eax
je     28e6 <test_add+0x17e6>
movdqa %xmm2,%xmm6
movq   %xmm9,-0x58(%rsp)
test   $0x4000000,%eax
je     28fa <test_add+0x17fa>
movq   %xmm2,-0x58(%rsp)
movsd  %xmm5,0x190(%rsp)
movdqa %xmm9,%xmm5
test   $0x8000000,%eax
je     2913 <test_add+0x1813>
movdqa %xmm2,%xmm5
movsd  %xmm14,0x140(%rsp)
movdqa %xmm9,%xmm7
test   $0x10000000,%eax
je     292d <test_add+0x182d>
movdqa %xmm2,%xmm7
movdqa %xmm9,%xmm0
test   $0x20000000,%eax
je     293d <test_add+0x183d>
movdqa %xmm2,%xmm0
movdqa %xmm9,%xmm1
test   $0x40000000,%eax
je     294d <test_add+0x184d>
movdqa %xmm2,%xmm1
mov    %eax,%edx
and    $0x80000000,%edx
movdqa %xmm9,%xmm3
test   %rdx,%rdx
je     2963 <test_add+0x1863>
movdqa %xmm2,%xmm3
movdqa %xmm9,%xmm4
test   %r13,%rax
je     2971 <test_add+0x1871>
movdqa %xmm2,%xmm4
movq   %xmm4,0x1b0(%rsp)
movq   %xmm15,-0x60(%rsp)
movq   %xmm13,0xe8(%rsp)
movq   %xmm12,0xf0(%rsp)
movdqa %xmm9,%xmm4
test   %rbp,%rax
je     29a3 <test_add+0x18a3>
movdqa %xmm2,%xmm4
movq   %xmm3,0x150(%rsp)
movq   %xmm1,0x160(%rsp)
movq   %xmm0,0x168(%rsp)
movq   %xmm7,0x178(%rsp)
movq   %xmm5,0x180(%rsp)
movsd  0x1a8(%rsp),%xmm15
movdqa %xmm9,%xmm1
test   %rbx,%rax
movsd  0x170(%rsp),%xmm0
movsd  0x28(%rsp),%xmm12
movsd  0x158(%rsp),%xmm13
movsd  0x148(%rsp),%xmm14
je     2a0c <test_add+0x190c>
movdqa %xmm2,%xmm1
movq   %xmm1,0x1d0(%rsp)
movsd  0xf8(%rsp),%xmm5
movdqa %xmm9,%xmm1
test   %r14,%rax
movdqa %xmm10,%xmm3
je     2a31 <test_add+0x1931>
movdqa %xmm2,%xmm1
movq   %xmm1,0x1c8(%rsp)
movq   %xmm6,0x188(%rsp)
movdqa %xmm8,%xmm10
movdqa %xmm9,%xmm6
test   %r12,%rax
movsd  0x108(%rsp),%xmm1
je     2a5f <test_add+0x195f>
movdqa %xmm2,%xmm6
movq   %xmm6,0x1c0(%rsp)
movdqa %xmm3,%xmm6
movdqa %xmm9,%xmm3
test   %r15,%rax
je     2a7a <test_add+0x197a>
movdqa %xmm2,%xmm3
movq   %xmm3,0x1b8(%rsp)
movsd  0x100(%rsp),%xmm7
movdqa %xmm9,%xmm8
test   %r8,%rax
je     2a9b <test_add+0x199b>
movdqa %xmm2,%xmm8
movq   %xmm4,0x1a0(%rsp)
movdqa %xmm9,%xmm3
test   %r11,%rax
je     2370 <test_add+0x1270>
movdqa %xmm2,%xmm3
jmp    2370 <test_add+0x1270>
mov    0x230(%rsp),%rsi
mov    (%r9),%rax
test   %rax,%rax
je     323b <test_add+0x213b>
mov    0x228(%rsp),%r10
xor    %edi,%edi
movq   0x1526(%rip),%xmm9
jmp    2e52 <test_add+0x1d52>
nopw   0x0(%rax,%rax,1)
movsd  0xe0(%rsp),%xmm4
divsd  %xmm3,%xmm4
movsd  %xmm4,0xe0(%rsp)
movsd  0x20(%rsp),%xmm3
divsd  %xmm5,%xmm3
movsd  %xmm3,0x20(%rsp)
movsd  0x30(%rsp),%xmm3
divsd  %xmm1,%xmm3
movsd  %xmm3,0x30(%rsp)
movsd  0x38(%rsp),%xmm3
divsd  %xmm7,%xmm3
movsd  %xmm3,0x38(%rsp)
movsd  0x40(%rsp),%xmm3
divsd  %xmm6,%xmm3
movsd  %xmm3,0x40(%rsp)
movsd  0x48(%rsp),%xmm3
divsd  %xmm10,%xmm3
movsd  %xmm3,0x48(%rsp)
movsd  0x50(%rsp),%xmm3
divsd  %xmm0,%xmm3
movsd  %xmm3,0x50(%rsp)
movsd  0x58(%rsp),%xmm3
divsd  %xmm12,%xmm3
movsd  %xmm3,0x58(%rsp)
movsd  0x60(%rsp),%xmm3
divsd  %xmm13,%xmm3
movsd  %xmm3,0x60(%rsp)
movsd  0x68(%rsp),%xmm3
divsd  %xmm14,%xmm3
movsd  %xmm3,0x68(%rsp)
movsd  0x70(%rsp),%xmm3
divsd  %xmm15,%xmm3
movsd  %xmm3,0x70(%rsp)
movsd  0x78(%rsp),%xmm3
divsd  %xmm11,%xmm3
movsd  %xmm3,0x78(%rsp)
movsd  0x80(%rsp),%xmm3
divsd  0xf0(%rsp),%xmm3
movsd  %xmm3,0x80(%rsp)
movsd  0x88(%rsp),%xmm3
divsd  0xe8(%rsp),%xmm3
movsd  %xmm3,0x88(%rsp)
movsd  0x90(%rsp),%xmm3
divsd  -0x60(%rsp),%xmm3
movsd  %xmm3,0x90(%rsp)
movsd  0x98(%rsp),%xmm3
divsd  -0x68(%rsp),%xmm3
movsd  %xmm3,0x98(%rsp)
movsd  0xa0(%rsp),%xmm3
divsd  -0x70(%rsp),%xmm3
movsd  %xmm3,0xa0(%rsp)
movsd  0xa8(%rsp),%xmm3
divsd  -0x78(%rsp),%xmm3
movsd  %xmm3,0xa8(%rsp)
movsd  -0x18(%rsp),%xmm3
divsd  -0x80(%rsp),%xmm3
movsd  %xmm3,-0x18(%rsp)
movsd  -0x10(%rsp),%xmm3
divsd  -0x20(%rsp),%xmm3
movsd  %xmm3,-0x10(%rsp)
movsd  -0x8(%rsp),%xmm3
divsd  -0x28(%rsp),%xmm3
movsd  %xmm3,-0x8(%rsp)
movsd  (%rsp),%xmm3
divsd  -0x30(%rsp),%xmm3
movsd  %xmm3,(%rsp)
movsd  0x8(%rsp),%xmm3
divsd  -0x38(%rsp),%xmm3
movsd  %xmm3,0x8(%rsp)
movsd  0x10(%rsp),%xmm3
divsd  -0x40(%rsp),%xmm3
movsd  %xmm3,0x10(%rsp)
movsd  0x18(%rsp),%xmm3
divsd  -0x48(%rsp),%xmm3
movsd  %xmm3,0x18(%rsp)
movsd  0x118(%rsp),%xmm3
divsd  -0x50(%rsp),%xmm3
movsd  %xmm3,0x118(%rsp)
movsd  0x120(%rsp),%xmm3
divsd  0x188(%rsp),%xmm3
movsd  %xmm3,0x120(%rsp)
movsd  0x128(%rsp),%xmm3
divsd  -0x58(%rsp),%xmm3
movsd  %xmm3,0x128(%rsp)
movsd  0x198(%rsp),%xmm3
divsd  0x180(%rsp),%xmm3
movsd  %xmm3,0x198(%rsp)
movsd  0xb0(%rsp),%xmm3
divsd  0x178(%rsp),%xmm3
movsd  %xmm3,0xb0(%rsp)
movsd  0xb8(%rsp),%xmm3
divsd  0x168(%rsp),%xmm3
movsd  %xmm3,0xb8(%rsp)
movsd  0xc0(%rsp),%xmm3
divsd  0x160(%rsp),%xmm3
movsd  %xmm3,0xc0(%rsp)
movsd  0xc8(%rsp),%xmm3
divsd  0x150(%rsp),%xmm3
movsd  %xmm3,0xc8(%rsp)
movsd  0x130(%rsp),%xmm3
divsd  0x1b0(%rsp),%xmm3
movsd  %xmm3,0x130(%rsp)
movsd  0x138(%rsp),%xmm3
divsd  0x1a0(%rsp),%xmm3
movsd  %xmm3,0x138(%rsp)
movsd  0x140(%rsp),%xmm14
divsd  0x1d0(%rsp),%xmm14
movsd  0x190(%rsp),%xmm5
divsd  0x1c8(%rsp),%xmm5
movsd  0xd0(%rsp),%xmm3
divsd  0x1c0(%rsp),%xmm3
movsd  %xmm3,0xd0(%rsp)
movsd  0x110(%rsp),%xmm6
divsd  0x1b8(%rsp),%xmm6
movsd  0xd8(%rsp),%xmm0
divsd  %xmm8,%xmm0
movsd  %xmm0,0xd8(%rsp)
mov    0x8(%r9,%rdi,1),%rax
add    $0x8,%rdi
test   %rax,%rax
je     323b <test_add+0x213b>
mov    (%r10,%rdi,1),%rdx
movq   %rdx,%xmm2
movdqa %xmm9,%xmm0
test   $0x1,%al
je     2e68 <test_add+0x1d68>
movdqa %xmm2,%xmm0
movq   %xmm0,0xf8(%rsp)
movdqa %xmm9,%xmm0
test   $0x2,%al
je     2e7e <test_add+0x1d7e>
movdqa %xmm2,%xmm0
movdqa %xmm9,%xmm1
test   $0x4,%al
je     2e8b <test_add+0x1d8b>
movdqa %xmm2,%xmm1
movdqa %xmm9,%xmm10
test   $0x8,%al
je     2e99 <test_add+0x1d99>
movdqa %xmm2,%xmm10
movdqa %xmm9,%xmm8
test   $0x10,%al
je     2ea7 <test_add+0x1da7>
movdqa %xmm2,%xmm8
movq   %xmm1,0x100(%rsp)
movq   %xmm0,0x108(%rsp)
movdqa %xmm9,%xmm0
test   $0x20,%al
je     2ec6 <test_add+0x1dc6>
movdqa %xmm2,%xmm0
movdqa %xmm9,%xmm1
test   $0x40,%al
je     2ed3 <test_add+0x1dd3>
movdqa %xmm2,%xmm1
movdqa %xmm9,%xmm3
test   $0x80,%eax
je     2ee3 <test_add+0x1de3>
movdqa %xmm2,%xmm3
movdqa %xmm9,%xmm4
test   $0x100,%eax
je     2ef3 <test_add+0x1df3>
movdqa %xmm2,%xmm4
movdqa %xmm9,%xmm7
test   $0x200,%eax
je     2f03 <test_add+0x1e03>
movdqa %xmm2,%xmm7
movq   %xmm1,0x28(%rsp)
movq   %xmm0,0x170(%rsp)
movdqa %xmm9,%xmm11
test   $0x400,%eax
je     2f23 <test_add+0x1e23>
movdqa %xmm2,%xmm11
movq   %xmm3,0x158(%rsp)
movdqa %xmm9,%xmm12
test   $0x800,%eax
je     2f3d <test_add+0x1e3d>
movdqa %xmm2,%xmm12
movq   %xmm7,0x1a8(%rsp)
movq   %xmm4,0x148(%rsp)
movdqa %xmm9,%xmm13
test   $0x1000,%eax
je     2f60 <test_add+0x1e60>
movdqa %xmm2,%xmm13
movdqa %xmm9,%xmm15
test   $0x2000,%eax
je     2f71 <test_add+0x1e71>
movdqa %xmm2,%xmm15
movq   %xmm9,-0x68(%rsp)
test   $0x4000,%eax
je     2f85 <test_add+0x1e85>
movq   %xmm2,-0x68(%rsp)
movq   %xmm9,-0x70(%rsp)
test   $0x8000,%eax
je     2f99 <test_add+0x1e99>
movq   %xmm2,-0x70(%rsp)
movq   %xmm9,-0x78(%rsp)
test   $0x10000,%eax
je     2fad <test_add+0x1ead>
movq   %xmm2,-0x78(%rsp)
movq   %xmm9,-0x80(%rsp)
test   $0x20000,%eax
je     2fc1 <test_add+0x1ec1>
movq   %xmm2,-0x80(%rsp)
movq   %xmm9,-0x20(%rsp)
test   $0x40000,%eax
je     2fd5 <test_add+0x1ed5>
movq   %xmm2,-0x20(%rsp)
movq   %xmm9,-0x28(%rsp)
test   $0x80000,%eax
je     2fe9 <test_add+0x1ee9>
movq   %xmm2,-0x28(%rsp)
movq   %xmm9,-0x30(%rsp)
test   $0x100000,%eax
je     2ffd <test_add+0x1efd>
movq   %xmm2,-0x30(%rsp)
movq   %xmm9,-0x38(%rsp)
test   $0x200000,%eax
je     3011 <test_add+0x1f11>
movq   %xmm2,-0x38(%rsp)
movq   %xmm9,-0x40(%rsp)
test   $0x400000,%eax
je     3025 <test_add+0x1f25>
movq   %xmm2,-0x40(%rsp)
movq   %xmm9,-0x48(%rsp)
test   $0x800000,%eax
je     3039 <test_add+0x1f39>
movq   %xmm2,-0x48(%rsp)
movq   %xmm9,-0x50(%rsp)
test   $0x1000000,%eax
je     304d <test_add+0x1f4d>
movq   %xmm2,-0x50(%rsp)
movsd  %xmm6,0x110(%rsp)
movdqa %xmm9,%xmm6
test   $0x2000000,%eax
je     3066 <test_add+0x1f66>
movdqa %xmm2,%xmm6
movq   %xmm9,-0x58(%rsp)
test   $0x4000000,%eax
je     307a <test_add+0x1f7a>
movq   %xmm2,-0x58(%rsp)
movsd  %xmm5,0x190(%rsp)
movdqa %xmm9,%xmm5
test   $0x8000000,%eax
je     3093 <test_add+0x1f93>
movdqa %xmm2,%xmm5
movsd  %xmm14,0x140(%rsp)
movdqa %xmm9,%xmm7
test   $0x10000000,%eax
je     30ad <test_add+0x1fad>
movdqa %xmm2,%xmm7
movdqa %xmm9,%xmm0
test   $0x20000000,%eax
je     30bd <test_add+0x1fbd>
movdqa %xmm2,%xmm0
movdqa %xmm9,%xmm1
test   $0x40000000,%eax
je     30cd <test_add+0x1fcd>
movdqa %xmm2,%xmm1
mov    %eax,%ecx
and    $0x80000000,%ecx
movdqa %xmm9,%xmm3
test   %rcx,%rcx
je     30e3 <test_add+0x1fe3>
movdqa %xmm2,%xmm3
movdqa %xmm9,%xmm4
test   %r13,%rax
je     30f1 <test_add+0x1ff1>
movdqa %xmm2,%xmm4
movq   %xmm4,0x1b0(%rsp)
movq   %xmm15,-0x60(%rsp)
movq   %xmm13,0xe8(%rsp)
movq   %xmm12,0xf0(%rsp)
movdqa %xmm9,%xmm4
test   %rbp,%rax
je     3123 <test_add+0x2023>
movdqa %xmm2,%xmm4
movq   %xmm3,0x150(%rsp)
movq   %xmm1,0x160(%rsp)
movq   %xmm0,0x168(%rsp)
movq   %xmm7,0x178(%rsp)
movq   %xmm5,0x180(%rsp)
movsd  0x1a8(%rsp),%xmm15
movdqa %xmm9,%xmm1
test   %rbx,%rax
movsd  0x170(%rsp),%xmm0
movsd  0x28(%rsp),%xmm12
movsd  0x158(%rsp),%xmm13
movsd  0x148(%rsp),%xmm14
je     318c <test_add+0x208c>
movdqa %xmm2,%xmm1
movq   %xmm1,0x1d0(%rsp)
movsd  0xf8(%rsp),%xmm5
movdqa %xmm9,%xmm1
test   %r14,%rax
movdqa %xmm10,%xmm3
je     31b1 <test_add+0x20b1>
movdqa %xmm2,%xmm1
movq   %xmm1,0x1c8(%rsp)
movq   %xmm6,0x188(%rsp)
movdqa %xmm8,%xmm10
movdqa %xmm9,%xmm6
test   %r12,%rax
movsd  0x108(%rsp),%xmm1
je     31df <test_add+0x20df>
movdqa %xmm2,%xmm6
movq   %xmm6,0x1c0(%rsp)
movdqa %xmm3,%xmm6
movdqa %xmm9,%xmm3
test   %r15,%rax
je     31fa <test_add+0x20fa>
movdqa %xmm2,%xmm3
movq   %xmm3,0x1b8(%rsp)
movsd  0x100(%rsp),%xmm7
movdqa %xmm9,%xmm8
test   %r8,%rax
je     321b <test_add+0x211b>
movdqa %xmm2,%xmm8
movq   %xmm4,0x1a0(%rsp)
movdqa %xmm9,%xmm3
test   %r11,%rax
je     2af0 <test_add+0x19f0>
movdqa %xmm2,%xmm3
jmp    2af0 <test_add+0x19f0>
movsd  %xmm14,0x140(%rsp)
mov    (%rsi),%r11
test   %r11,%r11
movsd  0x20(%rsp),%xmm3
movsd  0x198(%rsp),%xmm13
movsd  0x128(%rsp),%xmm12
movsd  0x120(%rsp),%xmm11
movsd  0x118(%rsp),%xmm8
movsd  0x18(%rsp),%xmm10
movsd  0x10(%rsp),%xmm9
movsd  0x8(%rsp),%xmm7
movsd  (%rsp),%xmm2
movsd  -0x8(%rsp),%xmm4
movsd  -0x10(%rsp),%xmm1
movsd  -0x18(%rsp),%xmm14
je     39e6 <test_add+0x28e6>
xor    %eax,%eax
xorpd  %xmm15,%xmm15
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  %xmm7,0x8(%rsp)
movsd  %xmm2,(%rsp)
movsd  %xmm4,-0x8(%rsp)
movsd  %xmm1,-0x10(%rsp)
movsd  %xmm14,-0x18(%rsp)
movsd  %xmm3,0x20(%rsp)
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    %rax,0x110(%rsp)
movapd %xmm11,%xmm10
movapd %xmm13,%xmm11
movsd  0xe0(%rsp),%xmm1
ucomisd %xmm15,%xmm1
movapd %xmm12,%xmm1
movsd  0x138(%rsp),%xmm2
movsd  0x130(%rsp),%xmm9
movsd  0xb8(%rsp),%xmm13
movsd  0xc0(%rsp),%xmm7
movsd  0x140(%rsp),%xmm12
movsd  0xb0(%rsp),%xmm14
movapd %xmm8,%xmm0
movsd  0xc8(%rsp),%xmm8
movsd  0xd0(%rsp),%xmm4
movsd  0xd8(%rsp),%xmm3
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x190(%rsp)
ucomisd %xmm15,%xmm3
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x68(%rsp)
ucomisd %xmm15,%xmm6
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x70(%rsp)
ucomisd %xmm15,%xmm4
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x78(%rsp)
ucomisd %xmm15,%xmm5
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x80(%rsp)
ucomisd %xmm15,%xmm12
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x20(%rsp)
ucomisd %xmm15,%xmm2
movapd %xmm1,%xmm12
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x28(%rsp)
ucomisd %xmm15,%xmm9
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x30(%rsp)
ucomisd %xmm15,%xmm8
movapd %xmm0,%xmm8
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x38(%rsp)
ucomisd %xmm15,%xmm7
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x40(%rsp)
ucomisd %xmm15,%xmm13
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x48(%rsp)
ucomisd %xmm15,%xmm14
movsd  -0x18(%rsp),%xmm14
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x50(%rsp)
movapd %xmm11,%xmm13
ucomisd %xmm15,%xmm11
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x58(%rsp)
ucomisd %xmm15,%xmm1
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x108(%rsp)
movapd %xmm10,%xmm11
ucomisd %xmm15,%xmm10
movsd  -0x10(%rsp),%xmm1
movsd  -0x8(%rsp),%xmm4
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm7
movsd  0x10(%rsp),%xmm9
movsd  0x18(%rsp),%xmm10
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x100(%rsp)
ucomisd %xmm15,%xmm0
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0xf8(%rsp)
ucomisd %xmm15,%xmm10
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0xf0(%rsp)
ucomisd %xmm15,%xmm9
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0xe8(%rsp)
ucomisd %xmm15,%xmm7
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x60(%rsp)
ucomisd %xmm15,%xmm2
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x188(%rsp)
ucomisd %xmm15,%xmm4
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x180(%rsp)
ucomisd %xmm15,%xmm1
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x178(%rsp)
ucomisd %xmm15,%xmm14
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x170(%rsp)
movsd  0xa8(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x168(%rsp)
movsd  0xa0(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x28(%rsp)
movsd  0x98(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x160(%rsp)
movsd  0x90(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x158(%rsp)
movsd  0x88(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %r15b
and    %al,%r15b
movsd  0x80(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %r8b
and    %al,%r8b
movsd  0x78(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %bpl
and    %al,%bpl
movsd  0x70(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %r14b
and    %al,%r14b
movsd  0x68(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %r12b
and    %al,%r12b
movsd  0x60(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %r13b
and    %al,%r13b
movsd  0x58(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %r9b
and    %al,%r9b
movsd  0x50(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %r10b
and    %al,%r10b
movsd  0x48(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %dil
and    %al,%dil
movsd  0x40(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %sil
and    %al,%sil
movsd  0x38(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %dl
and    %al,%dl
movsd  0x30(%rsp),%xmm0
ucomisd %xmm15,%xmm0
setnp  %al
sete   %bl
and    %al,%bl
movsd  0x20(%rsp),%xmm0
movapd %xmm0,%xmm3
ucomisd %xmm15,%xmm0
setnp  %al
sete   %cl
and    %al,%cl
mov    %r11d,%eax
shr    %al
and    %bl,%al
mov    %r11d,%ebx
shr    $0x2,%bl
and    %dl,%bl
mov    %r11d,%edx
shr    $0x3,%dl
and    %sil,%dl
or     %bl,%dl
mov    %edx,%esi
mov    %r11d,%edx
shr    $0x4,%dl
and    %dil,%dl
mov    %r11d,%ebx
shr    $0x5,%bl
and    %r10b,%bl
or     %dl,%bl
mov    %r11d,%edx
shr    $0x6,%dl
and    %r9b,%dl
and    %r11b,%cl
or     %cl,%al
or     %bl,%dl
mov    %dl,0x150(%rsp)
mov    %r11d,%ecx
shr    $0x7,%cl
and    %r13b,%cl
or     %al,%sil
mov    %sil,0x148(%rsp)
mov    %r11,%rax
shr    $0x8,%rax
and    %r12b,%al
or     %cl,%al
mov    %rax,0x1b0(%rsp)
mov    %r11,%rbx
shr    $0x9,%rbx
and    %r14b,%bl
mov    %r11,%rax
shr    $0xa,%rax
and    %bpl,%al
mov    %rax,0x1a8(%rsp)
mov    %r11,%rax
shr    $0xb,%rax
and    %r8b,%al
mov    %rax,0x1a0(%rsp)
mov    %r11,%rsi
shr    $0xc,%rsi
and    %r15b,%sil
mov    %r11,%r9
shr    $0xd,%r9
and    0x158(%rsp),%r9b
mov    %r11,%rcx
shr    $0xe,%rcx
and    0x160(%rsp),%cl
mov    %r11,%rax
shr    $0xf,%rax
and    0x28(%rsp),%al
mov    %rax,0x28(%rsp)
mov    %r11,%rax
shr    $0x10,%rax
and    0x168(%rsp),%al
mov    %r11,%r15
shr    $0x11,%r15
and    0x170(%rsp),%r15b
mov    %r11,%rdi
shr    $0x12,%rdi
and    0x178(%rsp),%dil
mov    %r11,%r12
shr    $0x13,%r12
and    0x180(%rsp),%r12b
mov    %r11,%rdx
shr    $0x14,%rdx
and    0x188(%rsp),%dl
mov    %r11,%rbp
shr    $0x15,%rbp
and    -0x60(%rsp),%bpl
mov    %rbp,-0x60(%rsp)
mov    %r11,%r14
shr    $0x16,%r14
and    0xe8(%rsp),%r14b
mov    %r11,%r10
shr    $0x17,%r10
and    0xf0(%rsp),%r10b
mov    %r11,%r13
shr    $0x18,%r13
and    0xf8(%rsp),%r13b
or     0x1b0(%rsp),%bl
mov    0x1a8(%rsp),%r8
or     %bl,%r8b
or     0x1a0(%rsp),%sil
or     %sil,%r9b
or     %r9b,%cl
or     %al,%r15b
or     %r15b,%dil
or     %dil,%r12b
mov    0x28(%rsp),%rbp
or     %cl,%bpl
or     %r12b,%dl
movabs $0x800000000,%r12
mov    -0x60(%rsp),%r15
or     %dl,%r15b
or     %r14b,%r10b
movabs $0x2000000000,%r14
mov    %r11,%rcx
shr    $0x19,%rcx
and    0x100(%rsp),%cl
mov    %r11,%rdx
shr    $0x1a,%rdx
and    0x108(%rsp),%dl
movzbl 0x150(%rsp),%eax
or     0x148(%rsp),%al
or     %r10b,%r13b
mov    %r11,%rdi
shr    $0x1b,%rdi
and    -0x58(%rsp),%dil
mov    %r11,%r9
shr    $0x1c,%r9
and    -0x50(%rsp),%r9b
mov    %r11,%rbx
shr    $0x1d,%rbx
and    -0x48(%rsp),%bl
mov    %r8,%rsi
or     %al,%sil
or     %r13b,%cl
movabs $0x200000000,%r13
movabs $0x400000000,%r10
mov    %r11,%rax
shr    $0x1e,%rax
and    -0x40(%rsp),%al
or     %sil,%bpl
or     %cl,%dl
or     %dl,%dil
or     %dil,%r9b
movabs $0x100000000,%rdi
or     %bpl,%r15b
or     %r15b,%r9b
or     %bl,%al
movabs $0x4000000000,%rdx
mov    %r11,%rcx
shr    $0x1f,%rcx
and    -0x38(%rsp),%cl
or     %al,%cl
test   %rdi,%r11
setne  %al
and    -0x30(%rsp),%al
or     %cl,%al
test   %r13,%r11
setne  %cl
and    -0x28(%rsp),%cl
or     %al,%cl
test   %r10,%r11
mov    0x230(%rsp),%rsi
setne  %al
and    -0x20(%rsp),%al
or     %cl,%al
test   %r12,%r11
setne  %cl
and    -0x80(%rsp),%cl
or     %al,%cl
movabs $0x1000000000,%rax
test   %rax,%r11
setne  %al
and    -0x78(%rsp),%al
or     %cl,%al
or     %r9b,%al
test   %r14,%r11
setne  %cl
and    -0x70(%rsp),%cl
test   %rdx,%r11
setne  %dl
and    -0x68(%rsp),%dl
or     %cl,%dl
movabs $0x8000000000,%rcx
test   %rcx,%r11
setne  %cl
and    0x190(%rsp),%cl
or     %dl,%cl
or     %al,%cl
movzbl %cl,%eax
and    $0x1,%eax
mov    0x238(%rsp),%rcx
mov    0x110(%rsp),%rdx
mov    %eax,(%rcx,%rdx,1)
mov    0x110(%rsp),%rax
mov    0x8(%rsi,%rax,2),%r11
add    $0x4,%rax
test   %r11,%r11
jne    32f0 <test_add+0x21f0>
addsd  0x30(%rsp),%xmm3
addsd  0x38(%rsp),%xmm3
addsd  0x40(%rsp),%xmm3
addsd  0x48(%rsp),%xmm3
addsd  0x50(%rsp),%xmm3
addsd  0x58(%rsp),%xmm3
addsd  0x60(%rsp),%xmm3
addsd  0x68(%rsp),%xmm3
addsd  0x70(%rsp),%xmm3
addsd  0x78(%rsp),%xmm3
addsd  0x80(%rsp),%xmm3
addsd  0x88(%rsp),%xmm3
addsd  0x90(%rsp),%xmm3
addsd  0x98(%rsp),%xmm3
addsd  0xa0(%rsp),%xmm3
addsd  0xa8(%rsp),%xmm3
addsd  %xmm14,%xmm3
addsd  %xmm1,%xmm3
addsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
addsd  %xmm7,%xmm3
addsd  %xmm9,%xmm3
addsd  %xmm10,%xmm3
addsd  %xmm8,%xmm3
addsd  %xmm11,%xmm3
addsd  %xmm12,%xmm3
addsd  %xmm13,%xmm3
addsd  0xb0(%rsp),%xmm3
addsd  0xb8(%rsp),%xmm3
addsd  0xc0(%rsp),%xmm3
addsd  0xc8(%rsp),%xmm3
addsd  0x130(%rsp),%xmm3
addsd  0x138(%rsp),%xmm3
addsd  0x140(%rsp),%xmm3
addsd  %xmm5,%xmm3
addsd  0xd0(%rsp),%xmm3
addsd  %xmm6,%xmm3
addsd  0xd8(%rsp),%xmm3
addsd  0xe0(%rsp),%xmm3
movapd %xmm3,%xmm0
add    $0x1e8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define double @test_add(i64* %0, double* %1, i64* %2, double* %3, i64* %4, double* %5, i64* %6, double* %7, i64* %8, i32* %9) {
%11 = alloca i64*
%12 = alloca double*
%13 = alloca i64*
%14 = alloca double*
%15 = alloca i64*
%16 = alloca double*
%17 = alloca i64*
%18 = alloca double*
%19 = alloca i64*
%20 = alloca i32*
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = alloca double
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
%46 = alloca double
%47 = alloca double
%48 = alloca double
%49 = alloca double
%50 = alloca double
%51 = alloca double
%52 = alloca double
%53 = alloca double
%54 = alloca double
%55 = alloca double
%56 = alloca double
%57 = alloca double
%58 = alloca double
%59 = alloca double
%60 = alloca double
%61 = alloca double
%62 = alloca i64
%63 = alloca i32
store i64* %0, i64** %11
store double* %1, double** %12
store i64* %2, i64** %13
store double* %3, double** %14
store i64* %4, i64** %15
store double* %5, double** %16
store i64* %6, i64** %17
store double* %7, double** %18
store i64* %8, i64** %19
store i32* %9, i32** %20
store double 0.000000e+00, double* %22
store double 0.000000e+00, double* %23
store double 0.000000e+00, double* %24
store double 0.000000e+00, double* %25
store double 0.000000e+00, double* %26
store double 0.000000e+00, double* %27
store double 0.000000e+00, double* %28
store double 0.000000e+00, double* %29
store double 0.000000e+00, double* %30
store double 0.000000e+00, double* %31
store double 0.000000e+00, double* %32
store double 0.000000e+00, double* %33
store double 0.000000e+00, double* %34
store double 0.000000e+00, double* %35
store double 0.000000e+00, double* %36
store double 0.000000e+00, double* %37
store double 0.000000e+00, double* %38
store double 0.000000e+00, double* %39
store double 0.000000e+00, double* %40
store double 0.000000e+00, double* %41
store double 0.000000e+00, double* %42
store double 0.000000e+00, double* %43
store double 0.000000e+00, double* %44
store double 0.000000e+00, double* %45
store double 0.000000e+00, double* %46
store double 0.000000e+00, double* %47
store double 0.000000e+00, double* %48
store double 0.000000e+00, double* %49
store double 0.000000e+00, double* %50
store double 0.000000e+00, double* %51
store double 0.000000e+00, double* %52
store double 0.000000e+00, double* %53
store double 0.000000e+00, double* %54
store double 0.000000e+00, double* %55
store double 0.000000e+00, double* %56
store double 0.000000e+00, double* %57
store double 0.000000e+00, double* %58
store double 0.000000e+00, double* %59
store double 0.000000e+00, double* %60
store double 0.000000e+00, double* %61
br label %64
64: ; preds = %394, %10
%65 = load i64*, i64** %11
%66 = getelementptr inbounds i64, i64* %65, i32 1
store i64* %66, i64** %11
%67 = load i64, i64* %65
store i64 %67, i64* %62
%68 = icmp ne i64 %67, 0
br i1 %68, label %69, label %395
69: ; preds = %64
%70 = load double*, double** %12
%71 = getelementptr inbounds double, double* %70, i32 1
store double* %71, double** %12
%72 = load double, double* %70
store double %72, double* %21
%73 = load double, double* %21
%74 = call double asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(double %73)
store double %74, double* %21
%75 = load i64, i64* %62
%76 = and i64 %75, 1
%77 = icmp ne i64 %76, 0
br i1 %77, label %78, label %82
78: ; preds = %69
%79 = load double, double* %21
%80 = load double, double* %22
%81 = fadd double %80, %79
store double %81, double* %22
br label %82
82: ; preds = %78, %69
%83 = load i64, i64* %62
%84 = and i64 %83, 2
%85 = icmp ne i64 %84, 0
br i1 %85, label %86, label %90
86: ; preds = %82
%87 = load double, double* %21
%88 = load double, double* %23
%89 = fadd double %88, %87
store double %89, double* %23
br label %90
90: ; preds = %86, %82
%91 = load i64, i64* %62
%92 = and i64 %91, 4
%93 = icmp ne i64 %92, 0
br i1 %93, label %94, label %98
94: ; preds = %90
%95 = load double, double* %21
%96 = load double, double* %24
%97 = fadd double %96, %95
store double %97, double* %24
br label %98
98: ; preds = %94, %90
%99 = load i64, i64* %62
%100 = and i64 %99, 8
%101 = icmp ne i64 %100, 0
br i1 %101, label %102, label %106
102: ; preds = %98
%103 = load double, double* %21
%104 = load double, double* %25
%105 = fadd double %104, %103
store double %105, double* %25
br label %106
106: ; preds = %102, %98
%107 = load i64, i64* %62
%108 = and i64 %107, 16
%109 = icmp ne i64 %108, 0
br i1 %109, label %110, label %114
110: ; preds = %106
%111 = load double, double* %21
%112 = load double, double* %26
%113 = fadd double %112, %111
store double %113, double* %26
br label %114
114: ; preds = %110, %106
%115 = load i64, i64* %62
%116 = and i64 %115, 32
%117 = icmp ne i64 %116, 0
br i1 %117, label %118, label %122
118: ; preds = %114
%119 = load double, double* %21
%120 = load double, double* %27
%121 = fadd double %120, %119
store double %121, double* %27
br label %122
122: ; preds = %118, %114
%123 = load i64, i64* %62
%124 = and i64 %123, 64
%125 = icmp ne i64 %124, 0
br i1 %125, label %126, label %130
126: ; preds = %122
%127 = load double, double* %21
%128 = load double, double* %28
%129 = fadd double %128, %127
store double %129, double* %28
br label %130
130: ; preds = %126, %122
%131 = load i64, i64* %62
%132 = and i64 %131, 128
%133 = icmp ne i64 %132, 0
br i1 %133, label %134, label %138
134: ; preds = %130
%135 = load double, double* %21
%136 = load double, double* %29
%137 = fadd double %136, %135
store double %137, double* %29
br label %138
138: ; preds = %134, %130
%139 = load i64, i64* %62
%140 = and i64 %139, 256
%141 = icmp ne i64 %140, 0
br i1 %141, label %142, label %146
142: ; preds = %138
%143 = load double, double* %21
%144 = load double, double* %30
%145 = fadd double %144, %143
store double %145, double* %30
br label %146
146: ; preds = %142, %138
%147 = load i64, i64* %62
%148 = and i64 %147, 512
%149 = icmp ne i64 %148, 0
br i1 %149, label %150, label %154
150: ; preds = %146
%151 = load double, double* %21
%152 = load double, double* %31
%153 = fadd double %152, %151
store double %153, double* %31
br label %154
154: ; preds = %150, %146
%155 = load i64, i64* %62
%156 = and i64 %155, 1024
%157 = icmp ne i64 %156, 0
br i1 %157, label %158, label %162
158: ; preds = %154
%159 = load double, double* %21
%160 = load double, double* %32
%161 = fadd double %160, %159
store double %161, double* %32
br label %162
162: ; preds = %158, %154
%163 = load i64, i64* %62
%164 = and i64 %163, 2048
%165 = icmp ne i64 %164, 0
br i1 %165, label %166, label %170
166: ; preds = %162
%167 = load double, double* %21
%168 = load double, double* %33
%169 = fadd double %168, %167
store double %169, double* %33
br label %170
170: ; preds = %166, %162
%171 = load i64, i64* %62
%172 = and i64 %171, 4096
%173 = icmp ne i64 %172, 0
br i1 %173, label %174, label %178
174: ; preds = %170
%175 = load double, double* %21
%176 = load double, double* %34
%177 = fadd double %176, %175
store double %177, double* %34
br label %178
178: ; preds = %174, %170
%179 = load i64, i64* %62
%180 = and i64 %179, 8192
%181 = icmp ne i64 %180, 0
br i1 %181, label %182, label %186
182: ; preds = %178
%183 = load double, double* %21
%184 = load double, double* %35
%185 = fadd double %184, %183
store double %185, double* %35
br label %186
186: ; preds = %182, %178
%187 = load i64, i64* %62
%188 = and i64 %187, 16384
%189 = icmp ne i64 %188, 0
br i1 %189, label %190, label %194
190: ; preds = %186
%191 = load double, double* %21
%192 = load double, double* %36
%193 = fadd double %192, %191
store double %193, double* %36
br label %194
194: ; preds = %190, %186
%195 = load i64, i64* %62
%196 = and i64 %195, 32768
%197 = icmp ne i64 %196, 0
br i1 %197, label %198, label %202
198: ; preds = %194
%199 = load double, double* %21
%200 = load double, double* %37
%201 = fadd double %200, %199
store double %201, double* %37
br label %202
202: ; preds = %198, %194
%203 = load i64, i64* %62
%204 = and i64 %203, 65536
%205 = icmp ne i64 %204, 0
br i1 %205, label %206, label %210
206: ; preds = %202
%207 = load double, double* %21
%208 = load double, double* %38
%209 = fadd double %208, %207
store double %209, double* %38
br label %210
210: ; preds = %206, %202
%211 = load i64, i64* %62
%212 = and i64 %211, 131072
%213 = icmp ne i64 %212, 0
br i1 %213, label %214, label %218
214: ; preds = %210
%215 = load double, double* %21
%216 = load double, double* %39
%217 = fadd double %216, %215
store double %217, double* %39
br label %218
218: ; preds = %214, %210
%219 = load i64, i64* %62
%220 = and i64 %219, 262144
%221 = icmp ne i64 %220, 0
br i1 %221, label %222, label %226
222: ; preds = %218
%223 = load double, double* %21
%224 = load double, double* %40
%225 = fadd double %224, %223
store double %225, double* %40
br label %226
226: ; preds = %222, %218
%227 = load i64, i64* %62
%228 = and i64 %227, 524288
%229 = icmp ne i64 %228, 0
br i1 %229, label %230, label %234
230: ; preds = %226
%231 = load double, double* %21
%232 = load double, double* %41
%233 = fadd double %232, %231
store double %233, double* %41
br label %234
234: ; preds = %230, %226
%235 = load i64, i64* %62
%236 = and i64 %235, 1048576
%237 = icmp ne i64 %236, 0
br i1 %237, label %238, label %242
238: ; preds = %234
%239 = load double, double* %21
%240 = load double, double* %42
%241 = fadd double %240, %239
store double %241, double* %42
br label %242
242: ; preds = %238, %234
%243 = load i64, i64* %62
%244 = and i64 %243, 2097152
%245 = icmp ne i64 %244, 0
br i1 %245, label %246, label %250
246: ; preds = %242
%247 = load double, double* %21
%248 = load double, double* %43
%249 = fadd double %248, %247
store double %249, double* %43
br label %250
250: ; preds = %246, %242
%251 = load i64, i64* %62
%252 = and i64 %251, 4194304
%253 = icmp ne i64 %252, 0
br i1 %253, label %254, label %258
254: ; preds = %250
%255 = load double, double* %21
%256 = load double, double* %44
%257 = fadd double %256, %255
store double %257, double* %44
br label %258
258: ; preds = %254, %250
%259 = load i64, i64* %62
%260 = and i64 %259, 8388608
%261 = icmp ne i64 %260, 0
br i1 %261, label %262, label %266
262: ; preds = %258
%263 = load double, double* %21
%264 = load double, double* %45
%265 = fadd double %264, %263
store double %265, double* %45
br label %266
266: ; preds = %262, %258
%267 = load i64, i64* %62
%268 = and i64 %267, 16777216
%269 = icmp ne i64 %268, 0
br i1 %269, label %270, label %274
270: ; preds = %266
%271 = load double, double* %21
%272 = load double, double* %46
%273 = fadd double %272, %271
store double %273, double* %46
br label %274
274: ; preds = %270, %266
%275 = load i64, i64* %62
%276 = and i64 %275, 33554432
%277 = icmp ne i64 %276, 0
br i1 %277, label %278, label %282
278: ; preds = %274
%279 = load double, double* %21
%280 = load double, double* %47
%281 = fadd double %280, %279
store double %281, double* %47
br label %282
282: ; preds = %278, %274
%283 = load i64, i64* %62
%284 = and i64 %283, 67108864
%285 = icmp ne i64 %284, 0
br i1 %285, label %286, label %290
286: ; preds = %282
%287 = load double, double* %21
%288 = load double, double* %48
%289 = fadd double %288, %287
store double %289, double* %48
br label %290
290: ; preds = %286, %282
%291 = load i64, i64* %62
%292 = and i64 %291, 134217728
%293 = icmp ne i64 %292, 0
br i1 %293, label %294, label %298
294: ; preds = %290
%295 = load double, double* %21
%296 = load double, double* %49
%297 = fadd double %296, %295
store double %297, double* %49
br label %298
298: ; preds = %294, %290
%299 = load i64, i64* %62
%300 = and i64 %299, 268435456
%301 = icmp ne i64 %300, 0
br i1 %301, label %302, label %306
302: ; preds = %298
%303 = load double, double* %21
%304 = load double, double* %50
%305 = fadd double %304, %303
store double %305, double* %50
br label %306
306: ; preds = %302, %298
%307 = load i64, i64* %62
%308 = and i64 %307, 536870912
%309 = icmp ne i64 %308, 0
br i1 %309, label %310, label %314
310: ; preds = %306
%311 = load double, double* %21
%312 = load double, double* %51
%313 = fadd double %312, %311
store double %313, double* %51
br label %314
314: ; preds = %310, %306
%315 = load i64, i64* %62
%316 = and i64 %315, 1073741824
%317 = icmp ne i64 %316, 0
br i1 %317, label %318, label %322
318: ; preds = %314
%319 = load double, double* %21
%320 = load double, double* %52
%321 = fadd double %320, %319
store double %321, double* %52
br label %322
322: ; preds = %318, %314
%323 = load i64, i64* %62
%324 = and i64 %323, 2147483648
%325 = icmp ne i64 %324, 0
br i1 %325, label %326, label %330
326: ; preds = %322
%327 = load double, double* %21
%328 = load double, double* %53
%329 = fadd double %328, %327
store double %329, double* %53
br label %330
330: ; preds = %326, %322
%331 = load i64, i64* %62
%332 = and i64 %331, 4294967296
%333 = icmp ne i64 %332, 0
br i1 %333, label %334, label %338
334: ; preds = %330
%335 = load double, double* %21
%336 = load double, double* %54
%337 = fadd double %336, %335
store double %337, double* %54
br label %338
338: ; preds = %334, %330
%339 = load i64, i64* %62
%340 = and i64 %339, 8589934592
%341 = icmp ne i64 %340, 0
br i1 %341, label %342, label %346
342: ; preds = %338
%343 = load double, double* %21
%344 = load double, double* %55
%345 = fadd double %344, %343
store double %345, double* %55
br label %346
346: ; preds = %342, %338
%347 = load i64, i64* %62
%348 = and i64 %347, 17179869184
%349 = icmp ne i64 %348, 0
br i1 %349, label %350, label %354
350: ; preds = %346
%351 = load double, double* %21
%352 = load double, double* %56
%353 = fadd double %352, %351
store double %353, double* %56
br label %354
354: ; preds = %350, %346
%355 = load i64, i64* %62
%356 = and i64 %355, 34359738368
%357 = icmp ne i64 %356, 0
br i1 %357, label %358, label %362
358: ; preds = %354
%359 = load double, double* %21
%360 = load double, double* %57
%361 = fadd double %360, %359
store double %361, double* %57
br label %362
362: ; preds = %358, %354
%363 = load i64, i64* %62
%364 = and i64 %363, 68719476736
%365 = icmp ne i64 %364, 0
br i1 %365, label %366, label %370
366: ; preds = %362
%367 = load double, double* %21
%368 = load double, double* %58
%369 = fadd double %368, %367
store double %369, double* %58
br label %370
370: ; preds = %366, %362
%371 = load i64, i64* %62
%372 = and i64 %371, 137438953472
%373 = icmp ne i64 %372, 0
br i1 %373, label %374, label %378
374: ; preds = %370
%375 = load double, double* %21
%376 = load double, double* %59
%377 = fadd double %376, %375
store double %377, double* %59
br label %378
378: ; preds = %374, %370
%379 = load i64, i64* %62
%380 = and i64 %379, 274877906944
%381 = icmp ne i64 %380, 0
br i1 %381, label %382, label %386
382: ; preds = %378
%383 = load double, double* %21
%384 = load double, double* %60
%385 = fadd double %384, %383
store double %385, double* %60
br label %386
386: ; preds = %382, %378
%387 = load i64, i64* %62
%388 = and i64 %387, 549755813888
%389 = icmp ne i64 %388, 0
br i1 %389, label %390, label %394
390: ; preds = %386
%391 = load double, double* %21
%392 = load double, double* %61
%393 = fadd double %392, %391
store double %393, double* %61
br label %394
394: ; preds = %390, %386
br label %64
395: ; preds = %64
br label %396
396: ; preds = %726, %395
%397 = load i64*, i64** %13
%398 = getelementptr inbounds i64, i64* %397, i32 1
store i64* %398, i64** %13
%399 = load i64, i64* %397
store i64 %399, i64* %62
%400 = icmp ne i64 %399, 0
br i1 %400, label %401, label %727
401: ; preds = %396
%402 = load double*, double** %14
%403 = getelementptr inbounds double, double* %402, i32 1
store double* %403, double** %14
%404 = load double, double* %402
store double %404, double* %21
%405 = load double, double* %21
%406 = call double asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(double %405)
store double %406, double* %21
%407 = load i64, i64* %62
%408 = and i64 %407, 1
%409 = icmp ne i64 %408, 0
br i1 %409, label %410, label %414
410: ; preds = %401
%411 = load double, double* %21
%412 = load double, double* %22
%413 = fsub double %412, %411
store double %413, double* %22
br label %414
414: ; preds = %410, %401
%415 = load i64, i64* %62
%416 = and i64 %415, 2
%417 = icmp ne i64 %416, 0
br i1 %417, label %418, label %422
418: ; preds = %414
%419 = load double, double* %21
%420 = load double, double* %23
%421 = fsub double %420, %419
store double %421, double* %23
br label %422
422: ; preds = %418, %414
%423 = load i64, i64* %62
%424 = and i64 %423, 4
%425 = icmp ne i64 %424, 0
br i1 %425, label %426, label %430
426: ; preds = %422
%427 = load double, double* %21
%428 = load double, double* %24
%429 = fsub double %428, %427
store double %429, double* %24
br label %430
430: ; preds = %426, %422
%431 = load i64, i64* %62
%432 = and i64 %431, 8
%433 = icmp ne i64 %432, 0
br i1 %433, label %434, label %438
434: ; preds = %430
%435 = load double, double* %21
%436 = load double, double* %25
%437 = fsub double %436, %435
store double %437, double* %25
br label %438
438: ; preds = %434, %430
%439 = load i64, i64* %62
%440 = and i64 %439, 16
%441 = icmp ne i64 %440, 0
br i1 %441, label %442, label %446
442: ; preds = %438
%443 = load double, double* %21
%444 = load double, double* %26
%445 = fsub double %444, %443
store double %445, double* %26
br label %446
446: ; preds = %442, %438
%447 = load i64, i64* %62
%448 = and i64 %447, 32
%449 = icmp ne i64 %448, 0
br i1 %449, label %450, label %454
450: ; preds = %446
%451 = load double, double* %21
%452 = load double, double* %27
%453 = fsub double %452, %451
store double %453, double* %27
br label %454
454: ; preds = %450, %446
%455 = load i64, i64* %62
%456 = and i64 %455, 64
%457 = icmp ne i64 %456, 0
br i1 %457, label %458, label %462
458: ; preds = %454
%459 = load double, double* %21
%460 = load double, double* %28
%461 = fsub double %460, %459
store double %461, double* %28
br label %462
462: ; preds = %458, %454
%463 = load i64, i64* %62
%464 = and i64 %463, 128
%465 = icmp ne i64 %464, 0
br i1 %465, label %466, label %470
466: ; preds = %462
%467 = load double, double* %21
%468 = load double, double* %29
%469 = fsub double %468, %467
store double %469, double* %29
br label %470
470: ; preds = %466, %462
%471 = load i64, i64* %62
%472 = and i64 %471, 256
%473 = icmp ne i64 %472, 0
br i1 %473, label %474, label %478
474: ; preds = %470
%475 = load double, double* %21
%476 = load double, double* %30
%477 = fsub double %476, %475
store double %477, double* %30
br label %478
478: ; preds = %474, %470
%479 = load i64, i64* %62
%480 = and i64 %479, 512
%481 = icmp ne i64 %480, 0
br i1 %481, label %482, label %486
482: ; preds = %478
%483 = load double, double* %21
%484 = load double, double* %31
%485 = fsub double %484, %483
store double %485, double* %31
br label %486
486: ; preds = %482, %478
%487 = load i64, i64* %62
%488 = and i64 %487, 1024
%489 = icmp ne i64 %488, 0
br i1 %489, label %490, label %494
490: ; preds = %486
%491 = load double, double* %21
%492 = load double, double* %32
%493 = fsub double %492, %491
store double %493, double* %32
br label %494
494: ; preds = %490, %486
%495 = load i64, i64* %62
%496 = and i64 %495, 2048
%497 = icmp ne i64 %496, 0
br i1 %497, label %498, label %502
498: ; preds = %494
%499 = load double, double* %21
%500 = load double, double* %33
%501 = fsub double %500, %499
store double %501, double* %33
br label %502
502: ; preds = %498, %494
%503 = load i64, i64* %62
%504 = and i64 %503, 4096
%505 = icmp ne i64 %504, 0
br i1 %505, label %506, label %510
506: ; preds = %502
%507 = load double, double* %21
%508 = load double, double* %34
%509 = fsub double %508, %507
store double %509, double* %34
br label %510
510: ; preds = %506, %502
%511 = load i64, i64* %62
%512 = and i64 %511, 8192
%513 = icmp ne i64 %512, 0
br i1 %513, label %514, label %518
514: ; preds = %510
%515 = load double, double* %21
%516 = load double, double* %35
%517 = fsub double %516, %515
store double %517, double* %35
br label %518
518: ; preds = %514, %510
%519 = load i64, i64* %62
%520 = and i64 %519, 16384
%521 = icmp ne i64 %520, 0
br i1 %521, label %522, label %526
522: ; preds = %518
%523 = load double, double* %21
%524 = load double, double* %36
%525 = fsub double %524, %523
store double %525, double* %36
br label %526
526: ; preds = %522, %518
%527 = load i64, i64* %62
%528 = and i64 %527, 32768
%529 = icmp ne i64 %528, 0
br i1 %529, label %530, label %534
530: ; preds = %526
%531 = load double, double* %21
%532 = load double, double* %37
%533 = fsub double %532, %531
store double %533, double* %37
br label %534
534: ; preds = %530, %526
%535 = load i64, i64* %62
%536 = and i64 %535, 65536
%537 = icmp ne i64 %536, 0
br i1 %537, label %538, label %542
538: ; preds = %534
%539 = load double, double* %21
%540 = load double, double* %38
%541 = fsub double %540, %539
store double %541, double* %38
br label %542
542: ; preds = %538, %534
%543 = load i64, i64* %62
%544 = and i64 %543, 131072
%545 = icmp ne i64 %544, 0
br i1 %545, label %546, label %550
546: ; preds = %542
%547 = load double, double* %21
%548 = load double, double* %39
%549 = fsub double %548, %547
store double %549, double* %39
br label %550
550: ; preds = %546, %542
%551 = load i64, i64* %62
%552 = and i64 %551, 262144
%553 = icmp ne i64 %552, 0
br i1 %553, label %554, label %558
554: ; preds = %550
%555 = load double, double* %21
%556 = load double, double* %40
%557 = fsub double %556, %555
store double %557, double* %40
br label %558
558: ; preds = %554, %550
%559 = load i64, i64* %62
%560 = and i64 %559, 524288
%561 = icmp ne i64 %560, 0
br i1 %561, label %562, label %566
562: ; preds = %558
%563 = load double, double* %21
%564 = load double, double* %41
%565 = fsub double %564, %563
store double %565, double* %41
br label %566
566: ; preds = %562, %558
%567 = load i64, i64* %62
%568 = and i64 %567, 1048576
%569 = icmp ne i64 %568, 0
br i1 %569, label %570, label %574
570: ; preds = %566
%571 = load double, double* %21
%572 = load double, double* %42
%573 = fsub double %572, %571
store double %573, double* %42
br label %574
574: ; preds = %570, %566
%575 = load i64, i64* %62
%576 = and i64 %575, 2097152
%577 = icmp ne i64 %576, 0
br i1 %577, label %578, label %582
578: ; preds = %574
%579 = load double, double* %21
%580 = load double, double* %43
%581 = fsub double %580, %579
store double %581, double* %43
br label %582
582: ; preds = %578, %574
%583 = load i64, i64* %62
%584 = and i64 %583, 4194304
%585 = icmp ne i64 %584, 0
br i1 %585, label %586, label %590
586: ; preds = %582
%587 = load double, double* %21
%588 = load double, double* %44
%589 = fsub double %588, %587
store double %589, double* %44
br label %590
590: ; preds = %586, %582
%591 = load i64, i64* %62
%592 = and i64 %591, 8388608
%593 = icmp ne i64 %592, 0
br i1 %593, label %594, label %598
594: ; preds = %590
%595 = load double, double* %21
%596 = load double, double* %45
%597 = fsub double %596, %595
store double %597, double* %45
br label %598
598: ; preds = %594, %590
%599 = load i64, i64* %62
%600 = and i64 %599, 16777216
%601 = icmp ne i64 %600, 0
br i1 %601, label %602, label %606
602: ; preds = %598
%603 = load double, double* %21
%604 = load double, double* %46
%605 = fsub double %604, %603
store double %605, double* %46
br label %606
606: ; preds = %602, %598
%607 = load i64, i64* %62
%608 = and i64 %607, 33554432
%609 = icmp ne i64 %608, 0
br i1 %609, label %610, label %614
610: ; preds = %606
%611 = load double, double* %21
%612 = load double, double* %47
%613 = fsub double %612, %611
store double %613, double* %47
br label %614
614: ; preds = %610, %606
%615 = load i64, i64* %62
%616 = and i64 %615, 67108864
%617 = icmp ne i64 %616, 0
br i1 %617, label %618, label %622
618: ; preds = %614
%619 = load double, double* %21
%620 = load double, double* %48
%621 = fsub double %620, %619
store double %621, double* %48
br label %622
622: ; preds = %618, %614
%623 = load i64, i64* %62
%624 = and i64 %623, 134217728
%625 = icmp ne i64 %624, 0
br i1 %625, label %626, label %630
626: ; preds = %622
%627 = load double, double* %21
%628 = load double, double* %49
%629 = fsub double %628, %627
store double %629, double* %49
br label %630
630: ; preds = %626, %622
%631 = load i64, i64* %62
%632 = and i64 %631, 268435456
%633 = icmp ne i64 %632, 0
br i1 %633, label %634, label %638
634: ; preds = %630
%635 = load double, double* %21
%636 = load double, double* %50
%637 = fsub double %636, %635
store double %637, double* %50
br label %638
638: ; preds = %634, %630
%639 = load i64, i64* %62
%640 = and i64 %639, 536870912
%641 = icmp ne i64 %640, 0
br i1 %641, label %642, label %646
642: ; preds = %638
%643 = load double, double* %21
%644 = load double, double* %51
%645 = fsub double %644, %643
store double %645, double* %51
br label %646
646: ; preds = %642, %638
%647 = load i64, i64* %62
%648 = and i64 %647, 1073741824
%649 = icmp ne i64 %648, 0
br i1 %649, label %650, label %654
650: ; preds = %646
%651 = load double, double* %21
%652 = load double, double* %52
%653 = fsub double %652, %651
store double %653, double* %52
br label %654
654: ; preds = %650, %646
%655 = load i64, i64* %62
%656 = and i64 %655, 2147483648
%657 = icmp ne i64 %656, 0
br i1 %657, label %658, label %662
658: ; preds = %654
%659 = load double, double* %21
%660 = load double, double* %53
%661 = fsub double %660, %659
store double %661, double* %53
br label %662
662: ; preds = %658, %654
%663 = load i64, i64* %62
%664 = and i64 %663, 4294967296
%665 = icmp ne i64 %664, 0
br i1 %665, label %666, label %670
666: ; preds = %662
%667 = load double, double* %21
%668 = load double, double* %54
%669 = fsub double %668, %667
store double %669, double* %54
br label %670
670: ; preds = %666, %662
%671 = load i64, i64* %62
%672 = and i64 %671, 8589934592
%673 = icmp ne i64 %672, 0
br i1 %673, label %674, label %678
674: ; preds = %670
%675 = load double, double* %21
%676 = load double, double* %55
%677 = fsub double %676, %675
store double %677, double* %55
br label %678
678: ; preds = %674, %670
%679 = load i64, i64* %62
%680 = and i64 %679, 17179869184
%681 = icmp ne i64 %680, 0
br i1 %681, label %682, label %686
682: ; preds = %678
%683 = load double, double* %21
%684 = load double, double* %56
%685 = fsub double %684, %683
store double %685, double* %56
br label %686
686: ; preds = %682, %678
%687 = load i64, i64* %62
%688 = and i64 %687, 34359738368
%689 = icmp ne i64 %688, 0
br i1 %689, label %690, label %694
690: ; preds = %686
%691 = load double, double* %21
%692 = load double, double* %57
%693 = fsub double %692, %691
store double %693, double* %57
br label %694
694: ; preds = %690, %686
%695 = load i64, i64* %62
%696 = and i64 %695, 68719476736
%697 = icmp ne i64 %696, 0
br i1 %697, label %698, label %702
698: ; preds = %694
%699 = load double, double* %21
%700 = load double, double* %58
%701 = fsub double %700, %699
store double %701, double* %58
br label %702
702: ; preds = %698, %694
%703 = load i64, i64* %62
%704 = and i64 %703, 137438953472
%705 = icmp ne i64 %704, 0
br i1 %705, label %706, label %710
706: ; preds = %702
%707 = load double, double* %21
%708 = load double, double* %59
%709 = fsub double %708, %707
store double %709, double* %59
br label %710
710: ; preds = %706, %702
%711 = load i64, i64* %62
%712 = and i64 %711, 274877906944
%713 = icmp ne i64 %712, 0
br i1 %713, label %714, label %718
714: ; preds = %710
%715 = load double, double* %21
%716 = load double, double* %60
%717 = fsub double %716, %715
store double %717, double* %60
br label %718
718: ; preds = %714, %710
%719 = load i64, i64* %62
%720 = and i64 %719, 549755813888
%721 = icmp ne i64 %720, 0
br i1 %721, label %722, label %726
722: ; preds = %718
%723 = load double, double* %21
%724 = load double, double* %61
%725 = fsub double %724, %723
store double %725, double* %61
br label %726
726: ; preds = %722, %718
br label %396
727: ; preds = %396
br label %728
728: ; preds = %1058, %727
%729 = load i64*, i64** %15
%730 = getelementptr inbounds i64, i64* %729, i32 1
store i64* %730, i64** %15
%731 = load i64, i64* %729
store i64 %731, i64* %62
%732 = icmp ne i64 %731, 0
br i1 %732, label %733, label %1059
733: ; preds = %728
%734 = load double*, double** %16
%735 = getelementptr inbounds double, double* %734, i32 1
store double* %735, double** %16
%736 = load double, double* %734
store double %736, double* %21
%737 = load double, double* %21
%738 = call double asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(double %737)
store double %738, double* %21
%739 = load i64, i64* %62
%740 = and i64 %739, 1
%741 = icmp ne i64 %740, 0
br i1 %741, label %742, label %746
742: ; preds = %733
%743 = load double, double* %21
%744 = load double, double* %22
%745 = fmul double %744, %743
store double %745, double* %22
br label %746
746: ; preds = %742, %733
%747 = load i64, i64* %62
%748 = and i64 %747, 2
%749 = icmp ne i64 %748, 0
br i1 %749, label %750, label %754
750: ; preds = %746
%751 = load double, double* %21
%752 = load double, double* %23
%753 = fmul double %752, %751
store double %753, double* %23
br label %754
754: ; preds = %750, %746
%755 = load i64, i64* %62
%756 = and i64 %755, 4
%757 = icmp ne i64 %756, 0
br i1 %757, label %758, label %762
758: ; preds = %754
%759 = load double, double* %21
%760 = load double, double* %24
%761 = fmul double %760, %759
store double %761, double* %24
br label %762
762: ; preds = %758, %754
%763 = load i64, i64* %62
%764 = and i64 %763, 8
%765 = icmp ne i64 %764, 0
br i1 %765, label %766, label %770
766: ; preds = %762
%767 = load double, double* %21
%768 = load double, double* %25
%769 = fmul double %768, %767
store double %769, double* %25
br label %770
770: ; preds = %766, %762
%771 = load i64, i64* %62
%772 = and i64 %771, 16
%773 = icmp ne i64 %772, 0
br i1 %773, label %774, label %778
774: ; preds = %770
%775 = load double, double* %21
%776 = load double, double* %26
%777 = fmul double %776, %775
store double %777, double* %26
br label %778
778: ; preds = %774, %770
%779 = load i64, i64* %62
%780 = and i64 %779, 32
%781 = icmp ne i64 %780, 0
br i1 %781, label %782, label %786
782: ; preds = %778
%783 = load double, double* %21
%784 = load double, double* %27
%785 = fmul double %784, %783
store double %785, double* %27
br label %786
786: ; preds = %782, %778
%787 = load i64, i64* %62
%788 = and i64 %787, 64
%789 = icmp ne i64 %788, 0
br i1 %789, label %790, label %794
790: ; preds = %786
%791 = load double, double* %21
%792 = load double, double* %28
%793 = fmul double %792, %791
store double %793, double* %28
br label %794
794: ; preds = %790, %786
%795 = load i64, i64* %62
%796 = and i64 %795, 128
%797 = icmp ne i64 %796, 0
br i1 %797, label %798, label %802
798: ; preds = %794
%799 = load double, double* %21
%800 = load double, double* %29
%801 = fmul double %800, %799
store double %801, double* %29
br label %802
802: ; preds = %798, %794
%803 = load i64, i64* %62
%804 = and i64 %803, 256
%805 = icmp ne i64 %804, 0
br i1 %805, label %806, label %810
806: ; preds = %802
%807 = load double, double* %21
%808 = load double, double* %30
%809 = fmul double %808, %807
store double %809, double* %30
br label %810
810: ; preds = %806, %802
%811 = load i64, i64* %62
%812 = and i64 %811, 512
%813 = icmp ne i64 %812, 0
br i1 %813, label %814, label %818
814: ; preds = %810
%815 = load double, double* %21
%816 = load double, double* %31
%817 = fmul double %816, %815
store double %817, double* %31
br label %818
818: ; preds = %814, %810
%819 = load i64, i64* %62
%820 = and i64 %819, 1024
%821 = icmp ne i64 %820, 0
br i1 %821, label %822, label %826
822: ; preds = %818
%823 = load double, double* %21
%824 = load double, double* %32
%825 = fmul double %824, %823
store double %825, double* %32
br label %826
826: ; preds = %822, %818
%827 = load i64, i64* %62
%828 = and i64 %827, 2048
%829 = icmp ne i64 %828, 0
br i1 %829, label %830, label %834
830: ; preds = %826
%831 = load double, double* %21
%832 = load double, double* %33
%833 = fmul double %832, %831
store double %833, double* %33
br label %834
834: ; preds = %830, %826
%835 = load i64, i64* %62
%836 = and i64 %835, 4096
%837 = icmp ne i64 %836, 0
br i1 %837, label %838, label %842
838: ; preds = %834
%839 = load double, double* %21
%840 = load double, double* %34
%841 = fmul double %840, %839
store double %841, double* %34
br label %842
842: ; preds = %838, %834
%843 = load i64, i64* %62
%844 = and i64 %843, 8192
%845 = icmp ne i64 %844, 0
br i1 %845, label %846, label %850
846: ; preds = %842
%847 = load double, double* %21
%848 = load double, double* %35
%849 = fmul double %848, %847
store double %849, double* %35
br label %850
850: ; preds = %846, %842
%851 = load i64, i64* %62
%852 = and i64 %851, 16384
%853 = icmp ne i64 %852, 0
br i1 %853, label %854, label %858
854: ; preds = %850
%855 = load double, double* %21
%856 = load double, double* %36
%857 = fmul double %856, %855
store double %857, double* %36
br label %858
858: ; preds = %854, %850
%859 = load i64, i64* %62
%860 = and i64 %859, 32768
%861 = icmp ne i64 %860, 0
br i1 %861, label %862, label %866
862: ; preds = %858
%863 = load double, double* %21
%864 = load double, double* %37
%865 = fmul double %864, %863
store double %865, double* %37
br label %866
866: ; preds = %862, %858
%867 = load i64, i64* %62
%868 = and i64 %867, 65536
%869 = icmp ne i64 %868, 0
br i1 %869, label %870, label %874
870: ; preds = %866
%871 = load double, double* %21
%872 = load double, double* %38
%873 = fmul double %872, %871
store double %873, double* %38
br label %874
874: ; preds = %870, %866
%875 = load i64, i64* %62
%876 = and i64 %875, 131072
%877 = icmp ne i64 %876, 0
br i1 %877, label %878, label %882
878: ; preds = %874
%879 = load double, double* %21
%880 = load double, double* %39
%881 = fmul double %880, %879
store double %881, double* %39
br label %882
882: ; preds = %878, %874
%883 = load i64, i64* %62
%884 = and i64 %883, 262144
%885 = icmp ne i64 %884, 0
br i1 %885, label %886, label %890
886: ; preds = %882
%887 = load double, double* %21
%888 = load double, double* %40
%889 = fmul double %888, %887
store double %889, double* %40
br label %890
890: ; preds = %886, %882
%891 = load i64, i64* %62
%892 = and i64 %891, 524288
%893 = icmp ne i64 %892, 0
br i1 %893, label %894, label %898
894: ; preds = %890
%895 = load double, double* %21
%896 = load double, double* %41
%897 = fmul double %896, %895
store double %897, double* %41
br label %898
898: ; preds = %894, %890
%899 = load i64, i64* %62
%900 = and i64 %899, 1048576
%901 = icmp ne i64 %900, 0
br i1 %901, label %902, label %906
902: ; preds = %898
%903 = load double, double* %21
%904 = load double, double* %42
%905 = fmul double %904, %903
store double %905, double* %42
br label %906
906: ; preds = %902, %898
%907 = load i64, i64* %62
%908 = and i64 %907, 2097152
%909 = icmp ne i64 %908, 0
br i1 %909, label %910, label %914
910: ; preds = %906
%911 = load double, double* %21
%912 = load double, double* %43
%913 = fmul double %912, %911
store double %913, double* %43
br label %914
914: ; preds = %910, %906
%915 = load i64, i64* %62
%916 = and i64 %915, 4194304
%917 = icmp ne i64 %916, 0
br i1 %917, label %918, label %922
918: ; preds = %914
%919 = load double, double* %21
%920 = load double, double* %44
%921 = fmul double %920, %919
store double %921, double* %44
br label %922
922: ; preds = %918, %914
%923 = load i64, i64* %62
%924 = and i64 %923, 8388608
%925 = icmp ne i64 %924, 0
br i1 %925, label %926, label %930
926: ; preds = %922
%927 = load double, double* %21
%928 = load double, double* %45
%929 = fmul double %928, %927
store double %929, double* %45
br label %930
930: ; preds = %926, %922
%931 = load i64, i64* %62
%932 = and i64 %931, 16777216
%933 = icmp ne i64 %932, 0
br i1 %933, label %934, label %938
934: ; preds = %930
%935 = load double, double* %21
%936 = load double, double* %46
%937 = fmul double %936, %935
store double %937, double* %46
br label %938
938: ; preds = %934, %930
%939 = load i64, i64* %62
%940 = and i64 %939, 33554432
%941 = icmp ne i64 %940, 0
br i1 %941, label %942, label %946
942: ; preds = %938
%943 = load double, double* %21
%944 = load double, double* %47
%945 = fmul double %944, %943
store double %945, double* %47
br label %946
946: ; preds = %942, %938
%947 = load i64, i64* %62
%948 = and i64 %947, 67108864
%949 = icmp ne i64 %948, 0
br i1 %949, label %950, label %954
950: ; preds = %946
%951 = load double, double* %21
%952 = load double, double* %48
%953 = fmul double %952, %951
store double %953, double* %48
br label %954
954: ; preds = %950, %946
%955 = load i64, i64* %62
%956 = and i64 %955, 134217728
%957 = icmp ne i64 %956, 0
br i1 %957, label %958, label %962
958: ; preds = %954
%959 = load double, double* %21
%960 = load double, double* %49
%961 = fmul double %960, %959
store double %961, double* %49
br label %962
962: ; preds = %958, %954
%963 = load i64, i64* %62
%964 = and i64 %963, 268435456
%965 = icmp ne i64 %964, 0
br i1 %965, label %966, label %970
966: ; preds = %962
%967 = load double, double* %21
%968 = load double, double* %50
%969 = fmul double %968, %967
store double %969, double* %50
br label %970
970: ; preds = %966, %962
%971 = load i64, i64* %62
%972 = and i64 %971, 536870912
%973 = icmp ne i64 %972, 0
br i1 %973, label %974, label %978
974: ; preds = %970
%975 = load double, double* %21
%976 = load double, double* %51
%977 = fmul double %976, %975
store double %977, double* %51
br label %978
978: ; preds = %974, %970
%979 = load i64, i64* %62
%980 = and i64 %979, 1073741824
%981 = icmp ne i64 %980, 0
br i1 %981, label %982, label %986
982: ; preds = %978
%983 = load double, double* %21
%984 = load double, double* %52
%985 = fmul double %984, %983
store double %985, double* %52
br label %986
986: ; preds = %982, %978
%987 = load i64, i64* %62
%988 = and i64 %987, 2147483648
%989 = icmp ne i64 %988, 0
br i1 %989, label %990, label %994
990: ; preds = %986
%991 = load double, double* %21
%992 = load double, double* %53
%993 = fmul double %992, %991
store double %993, double* %53
br label %994
994: ; preds = %990, %986
%995 = load i64, i64* %62
%996 = and i64 %995, 4294967296
%997 = icmp ne i64 %996, 0
br i1 %997, label %998, label %1002
998: ; preds = %994
%999 = load double, double* %21
%1000 = load double, double* %54
%1001 = fmul double %1000, %999
store double %1001, double* %54
br label %1002
1002: ; preds = %998, %994
%1003 = load i64, i64* %62
%1004 = and i64 %1003, 8589934592
%1005 = icmp ne i64 %1004, 0
br i1 %1005, label %1006, label %1010
1006: ; preds = %1002
%1007 = load double, double* %21
%1008 = load double, double* %55
%1009 = fmul double %1008, %1007
store double %1009, double* %55
br label %1010
1010: ; preds = %1006, %1002
%1011 = load i64, i64* %62
%1012 = and i64 %1011, 17179869184
%1013 = icmp ne i64 %1012, 0
br i1 %1013, label %1014, label %1018
1014: ; preds = %1010
%1015 = load double, double* %21
%1016 = load double, double* %56
%1017 = fmul double %1016, %1015
store double %1017, double* %56
br label %1018
1018: ; preds = %1014, %1010
%1019 = load i64, i64* %62
%1020 = and i64 %1019, 34359738368
%1021 = icmp ne i64 %1020, 0
br i1 %1021, label %1022, label %1026
1022: ; preds = %1018
%1023 = load double, double* %21
%1024 = load double, double* %57
%1025 = fmul double %1024, %1023
store double %1025, double* %57
br label %1026
1026: ; preds = %1022, %1018
%1027 = load i64, i64* %62
%1028 = and i64 %1027, 68719476736
%1029 = icmp ne i64 %1028, 0
br i1 %1029, label %1030, label %1034
1030: ; preds = %1026
%1031 = load double, double* %21
%1032 = load double, double* %58
%1033 = fmul double %1032, %1031
store double %1033, double* %58
br label %1034
1034: ; preds = %1030, %1026
%1035 = load i64, i64* %62
%1036 = and i64 %1035, 137438953472
%1037 = icmp ne i64 %1036, 0
br i1 %1037, label %1038, label %1042
1038: ; preds = %1034
%1039 = load double, double* %21
%1040 = load double, double* %59
%1041 = fmul double %1040, %1039
store double %1041, double* %59
br label %1042
1042: ; preds = %1038, %1034
%1043 = load i64, i64* %62
%1044 = and i64 %1043, 274877906944
%1045 = icmp ne i64 %1044, 0
br i1 %1045, label %1046, label %1050
1046: ; preds = %1042
%1047 = load double, double* %21
%1048 = load double, double* %60
%1049 = fmul double %1048, %1047
store double %1049, double* %60
br label %1050
1050: ; preds = %1046, %1042
%1051 = load i64, i64* %62
%1052 = and i64 %1051, 549755813888
%1053 = icmp ne i64 %1052, 0
br i1 %1053, label %1054, label %1058
1054: ; preds = %1050
%1055 = load double, double* %21
%1056 = load double, double* %61
%1057 = fmul double %1056, %1055
store double %1057, double* %61
br label %1058
1058: ; preds = %1054, %1050
br label %728
1059: ; preds = %728
br label %1060
1060: ; preds = %1390, %1059
%1061 = load i64*, i64** %17
%1062 = getelementptr inbounds i64, i64* %1061, i32 1
store i64* %1062, i64** %17
%1063 = load i64, i64* %1061
store i64 %1063, i64* %62
%1064 = icmp ne i64 %1063, 0
br i1 %1064, label %1065, label %1391
1065: ; preds = %1060
%1066 = load double*, double** %18
%1067 = getelementptr inbounds double, double* %1066, i32 1
store double* %1067, double** %18
%1068 = load double, double* %1066
store double %1068, double* %21
%1069 = load double, double* %21
%1070 = call double asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(double %1069)
store double %1070, double* %21
%1071 = load i64, i64* %62
%1072 = and i64 %1071, 1
%1073 = icmp ne i64 %1072, 0
br i1 %1073, label %1074, label %1078
1074: ; preds = %1065
%1075 = load double, double* %21
%1076 = load double, double* %22
%1077 = fdiv double %1076, %1075
store double %1077, double* %22
br label %1078
1078: ; preds = %1074, %1065
%1079 = load i64, i64* %62
%1080 = and i64 %1079, 2
%1081 = icmp ne i64 %1080, 0
br i1 %1081, label %1082, label %1086
1082: ; preds = %1078
%1083 = load double, double* %21
%1084 = load double, double* %23
%1085 = fdiv double %1084, %1083
store double %1085, double* %23
br label %1086
1086: ; preds = %1082, %1078
%1087 = load i64, i64* %62
%1088 = and i64 %1087, 4
%1089 = icmp ne i64 %1088, 0
br i1 %1089, label %1090, label %1094
1090: ; preds = %1086
%1091 = load double, double* %21
%1092 = load double, double* %24
%1093 = fdiv double %1092, %1091
store double %1093, double* %24
br label %1094
1094: ; preds = %1090, %1086
%1095 = load i64, i64* %62
%1096 = and i64 %1095, 8
%1097 = icmp ne i64 %1096, 0
br i1 %1097, label %1098, label %1102
1098: ; preds = %1094
%1099 = load double, double* %21
%1100 = load double, double* %25
%1101 = fdiv double %1100, %1099
store double %1101, double* %25
br label %1102
1102: ; preds = %1098, %1094
%1103 = load i64, i64* %62
%1104 = and i64 %1103, 16
%1105 = icmp ne i64 %1104, 0
br i1 %1105, label %1106, label %1110
1106: ; preds = %1102
%1107 = load double, double* %21
%1108 = load double, double* %26
%1109 = fdiv double %1108, %1107
store double %1109, double* %26
br label %1110
1110: ; preds = %1106, %1102
%1111 = load i64, i64* %62
%1112 = and i64 %1111, 32
%1113 = icmp ne i64 %1112, 0
br i1 %1113, label %1114, label %1118
1114: ; preds = %1110
%1115 = load double, double* %21
%1116 = load double, double* %27
%1117 = fdiv double %1116, %1115
store double %1117, double* %27
br label %1118
1118: ; preds = %1114, %1110
%1119 = load i64, i64* %62
%1120 = and i64 %1119, 64
%1121 = icmp ne i64 %1120, 0
br i1 %1121, label %1122, label %1126
1122: ; preds = %1118
%1123 = load double, double* %21
%1124 = load double, double* %28
%1125 = fdiv double %1124, %1123
store double %1125, double* %28
br label %1126
1126: ; preds = %1122, %1118
%1127 = load i64, i64* %62
%1128 = and i64 %1127, 128
%1129 = icmp ne i64 %1128, 0
br i1 %1129, label %1130, label %1134
1130: ; preds = %1126
%1131 = load double, double* %21
%1132 = load double, double* %29
%1133 = fdiv double %1132, %1131
store double %1133, double* %29
br label %1134
1134: ; preds = %1130, %1126
%1135 = load i64, i64* %62
%1136 = and i64 %1135, 256
%1137 = icmp ne i64 %1136, 0
br i1 %1137, label %1138, label %1142
1138: ; preds = %1134
%1139 = load double, double* %21
%1140 = load double, double* %30
%1141 = fdiv double %1140, %1139
store double %1141, double* %30
br label %1142
1142: ; preds = %1138, %1134
%1143 = load i64, i64* %62
%1144 = and i64 %1143, 512
%1145 = icmp ne i64 %1144, 0
br i1 %1145, label %1146, label %1150
1146: ; preds = %1142
%1147 = load double, double* %21
%1148 = load double, double* %31
%1149 = fdiv double %1148, %1147
store double %1149, double* %31
br label %1150
1150: ; preds = %1146, %1142
%1151 = load i64, i64* %62
%1152 = and i64 %1151, 1024
%1153 = icmp ne i64 %1152, 0
br i1 %1153, label %1154, label %1158
1154: ; preds = %1150
%1155 = load double, double* %21
%1156 = load double, double* %32
%1157 = fdiv double %1156, %1155
store double %1157, double* %32
br label %1158
1158: ; preds = %1154, %1150
%1159 = load i64, i64* %62
%1160 = and i64 %1159, 2048
%1161 = icmp ne i64 %1160, 0
br i1 %1161, label %1162, label %1166
1162: ; preds = %1158
%1163 = load double, double* %21
%1164 = load double, double* %33
%1165 = fdiv double %1164, %1163
store double %1165, double* %33
br label %1166
1166: ; preds = %1162, %1158
%1167 = load i64, i64* %62
%1168 = and i64 %1167, 4096
%1169 = icmp ne i64 %1168, 0
br i1 %1169, label %1170, label %1174
1170: ; preds = %1166
%1171 = load double, double* %21
%1172 = load double, double* %34
%1173 = fdiv double %1172, %1171
store double %1173, double* %34
br label %1174
1174: ; preds = %1170, %1166
%1175 = load i64, i64* %62
%1176 = and i64 %1175, 8192
%1177 = icmp ne i64 %1176, 0
br i1 %1177, label %1178, label %1182
1178: ; preds = %1174
%1179 = load double, double* %21
%1180 = load double, double* %35
%1181 = fdiv double %1180, %1179
store double %1181, double* %35
br label %1182
1182: ; preds = %1178, %1174
%1183 = load i64, i64* %62
%1184 = and i64 %1183, 16384
%1185 = icmp ne i64 %1184, 0
br i1 %1185, label %1186, label %1190
1186: ; preds = %1182
%1187 = load double, double* %21
%1188 = load double, double* %36
%1189 = fdiv double %1188, %1187
store double %1189, double* %36
br label %1190
1190: ; preds = %1186, %1182
%1191 = load i64, i64* %62
%1192 = and i64 %1191, 32768
%1193 = icmp ne i64 %1192, 0
br i1 %1193, label %1194, label %1198
1194: ; preds = %1190
%1195 = load double, double* %21
%1196 = load double, double* %37
%1197 = fdiv double %1196, %1195
store double %1197, double* %37
br label %1198
1198: ; preds = %1194, %1190
%1199 = load i64, i64* %62
%1200 = and i64 %1199, 65536
%1201 = icmp ne i64 %1200, 0
br i1 %1201, label %1202, label %1206
1202: ; preds = %1198
%1203 = load double, double* %21
%1204 = load double, double* %38
%1205 = fdiv double %1204, %1203
store double %1205, double* %38
br label %1206
1206: ; preds = %1202, %1198
%1207 = load i64, i64* %62
%1208 = and i64 %1207, 131072
%1209 = icmp ne i64 %1208, 0
br i1 %1209, label %1210, label %1214
1210: ; preds = %1206
%1211 = load double, double* %21
%1212 = load double, double* %39
%1213 = fdiv double %1212, %1211
store double %1213, double* %39
br label %1214
1214: ; preds = %1210, %1206
%1215 = load i64, i64* %62
%1216 = and i64 %1215, 262144
%1217 = icmp ne i64 %1216, 0
br i1 %1217, label %1218, label %1222
1218: ; preds = %1214
%1219 = load double, double* %21
%1220 = load double, double* %40
%1221 = fdiv double %1220, %1219
store double %1221, double* %40
br label %1222
1222: ; preds = %1218, %1214
%1223 = load i64, i64* %62
%1224 = and i64 %1223, 524288
%1225 = icmp ne i64 %1224, 0
br i1 %1225, label %1226, label %1230
1226: ; preds = %1222
%1227 = load double, double* %21
%1228 = load double, double* %41
%1229 = fdiv double %1228, %1227
store double %1229, double* %41
br label %1230
1230: ; preds = %1226, %1222
%1231 = load i64, i64* %62
%1232 = and i64 %1231, 1048576
%1233 = icmp ne i64 %1232, 0
br i1 %1233, label %1234, label %1238
1234: ; preds = %1230
%1235 = load double, double* %21
%1236 = load double, double* %42
%1237 = fdiv double %1236, %1235
store double %1237, double* %42
br label %1238
1238: ; preds = %1234, %1230
%1239 = load i64, i64* %62
%1240 = and i64 %1239, 2097152
%1241 = icmp ne i64 %1240, 0
br i1 %1241, label %1242, label %1246
1242: ; preds = %1238
%1243 = load double, double* %21
%1244 = load double, double* %43
%1245 = fdiv double %1244, %1243
store double %1245, double* %43
br label %1246
1246: ; preds = %1242, %1238
%1247 = load i64, i64* %62
%1248 = and i64 %1247, 4194304
%1249 = icmp ne i64 %1248, 0
br i1 %1249, label %1250, label %1254
1250: ; preds = %1246
%1251 = load double, double* %21
%1252 = load double, double* %44
%1253 = fdiv double %1252, %1251
store double %1253, double* %44
br label %1254
1254: ; preds = %1250, %1246
%1255 = load i64, i64* %62
%1256 = and i64 %1255, 8388608
%1257 = icmp ne i64 %1256, 0
br i1 %1257, label %1258, label %1262
1258: ; preds = %1254
%1259 = load double, double* %21
%1260 = load double, double* %45
%1261 = fdiv double %1260, %1259
store double %1261, double* %45
br label %1262
1262: ; preds = %1258, %1254
%1263 = load i64, i64* %62
%1264 = and i64 %1263, 16777216
%1265 = icmp ne i64 %1264, 0
br i1 %1265, label %1266, label %1270
1266: ; preds = %1262
%1267 = load double, double* %21
%1268 = load double, double* %46
%1269 = fdiv double %1268, %1267
store double %1269, double* %46
br label %1270
1270: ; preds = %1266, %1262
%1271 = load i64, i64* %62
%1272 = and i64 %1271, 33554432
%1273 = icmp ne i64 %1272, 0
br i1 %1273, label %1274, label %1278
1274: ; preds = %1270
%1275 = load double, double* %21
%1276 = load double, double* %47
%1277 = fdiv double %1276, %1275
store double %1277, double* %47
br label %1278
1278: ; preds = %1274, %1270
%1279 = load i64, i64* %62
%1280 = and i64 %1279, 67108864
%1281 = icmp ne i64 %1280, 0
br i1 %1281, label %1282, label %1286
1282: ; preds = %1278
%1283 = load double, double* %21
%1284 = load double, double* %48
%1285 = fdiv double %1284, %1283
store double %1285, double* %48
br label %1286
1286: ; preds = %1282, %1278
%1287 = load i64, i64* %62
%1288 = and i64 %1287, 134217728
%1289 = icmp ne i64 %1288, 0
br i1 %1289, label %1290, label %1294
1290: ; preds = %1286
%1291 = load double, double* %21
%1292 = load double, double* %49
%1293 = fdiv double %1292, %1291
store double %1293, double* %49
br label %1294
1294: ; preds = %1290, %1286
%1295 = load i64, i64* %62
%1296 = and i64 %1295, 268435456
%1297 = icmp ne i64 %1296, 0
br i1 %1297, label %1298, label %1302
1298: ; preds = %1294
%1299 = load double, double* %21
%1300 = load double, double* %50
%1301 = fdiv double %1300, %1299
store double %1301, double* %50
br label %1302
1302: ; preds = %1298, %1294
%1303 = load i64, i64* %62
%1304 = and i64 %1303, 536870912
%1305 = icmp ne i64 %1304, 0
br i1 %1305, label %1306, label %1310
1306: ; preds = %1302
%1307 = load double, double* %21
%1308 = load double, double* %51
%1309 = fdiv double %1308, %1307
store double %1309, double* %51
br label %1310
1310: ; preds = %1306, %1302
%1311 = load i64, i64* %62
%1312 = and i64 %1311, 1073741824
%1313 = icmp ne i64 %1312, 0
br i1 %1313, label %1314, label %1318
1314: ; preds = %1310
%1315 = load double, double* %21
%1316 = load double, double* %52
%1317 = fdiv double %1316, %1315
store double %1317, double* %52
br label %1318
1318: ; preds = %1314, %1310
%1319 = load i64, i64* %62
%1320 = and i64 %1319, 2147483648
%1321 = icmp ne i64 %1320, 0
br i1 %1321, label %1322, label %1326
1322: ; preds = %1318
%1323 = load double, double* %21
%1324 = load double, double* %53
%1325 = fdiv double %1324, %1323
store double %1325, double* %53
br label %1326
1326: ; preds = %1322, %1318
%1327 = load i64, i64* %62
%1328 = and i64 %1327, 4294967296
%1329 = icmp ne i64 %1328, 0
br i1 %1329, label %1330, label %1334
1330: ; preds = %1326
%1331 = load double, double* %21
%1332 = load double, double* %54
%1333 = fdiv double %1332, %1331
store double %1333, double* %54
br label %1334
1334: ; preds = %1330, %1326
%1335 = load i64, i64* %62
%1336 = and i64 %1335, 8589934592
%1337 = icmp ne i64 %1336, 0
br i1 %1337, label %1338, label %1342
1338: ; preds = %1334
%1339 = load double, double* %21
%1340 = load double, double* %55
%1341 = fdiv double %1340, %1339
store double %1341, double* %55
br label %1342
1342: ; preds = %1338, %1334
%1343 = load i64, i64* %62
%1344 = and i64 %1343, 17179869184
%1345 = icmp ne i64 %1344, 0
br i1 %1345, label %1346, label %1350
1346: ; preds = %1342
%1347 = load double, double* %21
%1348 = load double, double* %56
%1349 = fdiv double %1348, %1347
store double %1349, double* %56
br label %1350
1350: ; preds = %1346, %1342
%1351 = load i64, i64* %62
%1352 = and i64 %1351, 34359738368
%1353 = icmp ne i64 %1352, 0
br i1 %1353, label %1354, label %1358
1354: ; preds = %1350
%1355 = load double, double* %21
%1356 = load double, double* %57
%1357 = fdiv double %1356, %1355
store double %1357, double* %57
br label %1358
1358: ; preds = %1354, %1350
%1359 = load i64, i64* %62
%1360 = and i64 %1359, 68719476736
%1361 = icmp ne i64 %1360, 0
br i1 %1361, label %1362, label %1366
1362: ; preds = %1358
%1363 = load double, double* %21
%1364 = load double, double* %58
%1365 = fdiv double %1364, %1363
store double %1365, double* %58
br label %1366
1366: ; preds = %1362, %1358
%1367 = load i64, i64* %62
%1368 = and i64 %1367, 137438953472
%1369 = icmp ne i64 %1368, 0
br i1 %1369, label %1370, label %1374
1370: ; preds = %1366
%1371 = load double, double* %21
%1372 = load double, double* %59
%1373 = fdiv double %1372, %1371
store double %1373, double* %59
br label %1374
1374: ; preds = %1370, %1366
%1375 = load i64, i64* %62
%1376 = and i64 %1375, 274877906944
%1377 = icmp ne i64 %1376, 0
br i1 %1377, label %1378, label %1382
1378: ; preds = %1374
%1379 = load double, double* %21
%1380 = load double, double* %60
%1381 = fdiv double %1380, %1379
store double %1381, double* %60
br label %1382
1382: ; preds = %1378, %1374
%1383 = load i64, i64* %62
%1384 = and i64 %1383, 549755813888
%1385 = icmp ne i64 %1384, 0
br i1 %1385, label %1386, label %1390
1386: ; preds = %1382
%1387 = load double, double* %21
%1388 = load double, double* %61
%1389 = fdiv double %1388, %1387
store double %1389, double* %61
br label %1390
1390: ; preds = %1386, %1382
br label %1060
1391: ; preds = %1060
br label %1392
1392: ; preds = %1797, %1391
%1393 = load i64*, i64** %19
%1394 = getelementptr inbounds i64, i64* %1393, i32 1
store i64* %1394, i64** %19
%1395 = load i64, i64* %1393
store i64 %1395, i64* %62
%1396 = icmp ne i64 %1395, 0
br i1 %1396, label %1397, label %1801
1397: ; preds = %1392
store i32 0, i32* %63
%1398 = load i64, i64* %62
%1399 = and i64 %1398, 1
%1400 = icmp ne i64 %1399, 0
br i1 %1400, label %1401, label %1407
1401: ; preds = %1397
%1402 = load double, double* %22
%1403 = fcmp oeq double %1402, 0.000000e+00
%1404 = zext i1 %1403 to i32
%1405 = load i32, i32* %63
%1406 = or i32 %1405, %1404
store i32 %1406, i32* %63
br label %1407
1407: ; preds = %1401, %1397
%1408 = load i64, i64* %62
%1409 = and i64 %1408, 2
%1410 = icmp ne i64 %1409, 0
br i1 %1410, label %1411, label %1417
1411: ; preds = %1407
%1412 = load double, double* %23
%1413 = fcmp oeq double %1412, 0.000000e+00
%1414 = zext i1 %1413 to i32
%1415 = load i32, i32* %63
%1416 = or i32 %1415, %1414
store i32 %1416, i32* %63
br label %1417
1417: ; preds = %1411, %1407
%1418 = load i64, i64* %62
%1419 = and i64 %1418, 4
%1420 = icmp ne i64 %1419, 0
br i1 %1420, label %1421, label %1427
1421: ; preds = %1417
%1422 = load double, double* %24
%1423 = fcmp oeq double %1422, 0.000000e+00
%1424 = zext i1 %1423 to i32
%1425 = load i32, i32* %63
%1426 = or i32 %1425, %1424
store i32 %1426, i32* %63
br label %1427
1427: ; preds = %1421, %1417
%1428 = load i64, i64* %62
%1429 = and i64 %1428, 8
%1430 = icmp ne i64 %1429, 0
br i1 %1430, label %1431, label %1437
1431: ; preds = %1427
%1432 = load double, double* %25
%1433 = fcmp oeq double %1432, 0.000000e+00
%1434 = zext i1 %1433 to i32
%1435 = load i32, i32* %63
%1436 = or i32 %1435, %1434
store i32 %1436, i32* %63
br label %1437
1437: ; preds = %1431, %1427
%1438 = load i64, i64* %62
%1439 = and i64 %1438, 16
%1440 = icmp ne i64 %1439, 0
br i1 %1440, label %1441, label %1447
1441: ; preds = %1437
%1442 = load double, double* %26
%1443 = fcmp oeq double %1442, 0.000000e+00
%1444 = zext i1 %1443 to i32
%1445 = load i32, i32* %63
%1446 = or i32 %1445, %1444
store i32 %1446, i32* %63
br label %1447
1447: ; preds = %1441, %1437
%1448 = load i64, i64* %62
%1449 = and i64 %1448, 32
%1450 = icmp ne i64 %1449, 0
br i1 %1450, label %1451, label %1457
1451: ; preds = %1447
%1452 = load double, double* %27
%1453 = fcmp oeq double %1452, 0.000000e+00
%1454 = zext i1 %1453 to i32
%1455 = load i32, i32* %63
%1456 = or i32 %1455, %1454
store i32 %1456, i32* %63
br label %1457
1457: ; preds = %1451, %1447
%1458 = load i64, i64* %62
%1459 = and i64 %1458, 64
%1460 = icmp ne i64 %1459, 0
br i1 %1460, label %1461, label %1467
1461: ; preds = %1457
%1462 = load double, double* %28
%1463 = fcmp oeq double %1462, 0.000000e+00
%1464 = zext i1 %1463 to i32
%1465 = load i32, i32* %63
%1466 = or i32 %1465, %1464
store i32 %1466, i32* %63
br label %1467
1467: ; preds = %1461, %1457
%1468 = load i64, i64* %62
%1469 = and i64 %1468, 128
%1470 = icmp ne i64 %1469, 0
br i1 %1470, label %1471, label %1477
1471: ; preds = %1467
%1472 = load double, double* %29
%1473 = fcmp oeq double %1472, 0.000000e+00
%1474 = zext i1 %1473 to i32
%1475 = load i32, i32* %63
%1476 = or i32 %1475, %1474
store i32 %1476, i32* %63
br label %1477
1477: ; preds = %1471, %1467
%1478 = load i64, i64* %62
%1479 = and i64 %1478, 256
%1480 = icmp ne i64 %1479, 0
br i1 %1480, label %1481, label %1487
1481: ; preds = %1477
%1482 = load double, double* %30
%1483 = fcmp oeq double %1482, 0.000000e+00
%1484 = zext i1 %1483 to i32
%1485 = load i32, i32* %63
%1486 = or i32 %1485, %1484
store i32 %1486, i32* %63
br label %1487
1487: ; preds = %1481, %1477
%1488 = load i64, i64* %62
%1489 = and i64 %1488, 512
%1490 = icmp ne i64 %1489, 0
br i1 %1490, label %1491, label %1497
1491: ; preds = %1487
%1492 = load double, double* %31
%1493 = fcmp oeq double %1492, 0.000000e+00
%1494 = zext i1 %1493 to i32
%1495 = load i32, i32* %63
%1496 = or i32 %1495, %1494
store i32 %1496, i32* %63
br label %1497
1497: ; preds = %1491, %1487
%1498 = load i64, i64* %62
%1499 = and i64 %1498, 1024
%1500 = icmp ne i64 %1499, 0
br i1 %1500, label %1501, label %1507
1501: ; preds = %1497
%1502 = load double, double* %32
%1503 = fcmp oeq double %1502, 0.000000e+00
%1504 = zext i1 %1503 to i32
%1505 = load i32, i32* %63
%1506 = or i32 %1505, %1504
store i32 %1506, i32* %63
br label %1507
1507: ; preds = %1501, %1497
%1508 = load i64, i64* %62
%1509 = and i64 %1508, 2048
%1510 = icmp ne i64 %1509, 0
br i1 %1510, label %1511, label %1517
1511: ; preds = %1507
%1512 = load double, double* %33
%1513 = fcmp oeq double %1512, 0.000000e+00
%1514 = zext i1 %1513 to i32
%1515 = load i32, i32* %63
%1516 = or i32 %1515, %1514
store i32 %1516, i32* %63
br label %1517
1517: ; preds = %1511, %1507
%1518 = load i64, i64* %62
%1519 = and i64 %1518, 4096
%1520 = icmp ne i64 %1519, 0
br i1 %1520, label %1521, label %1527
1521: ; preds = %1517
%1522 = load double, double* %34
%1523 = fcmp oeq double %1522, 0.000000e+00
%1524 = zext i1 %1523 to i32
%1525 = load i32, i32* %63
%1526 = or i32 %1525, %1524
store i32 %1526, i32* %63
br label %1527
1527: ; preds = %1521, %1517
%1528 = load i64, i64* %62
%1529 = and i64 %1528, 8192
%1530 = icmp ne i64 %1529, 0
br i1 %1530, label %1531, label %1537
1531: ; preds = %1527
%1532 = load double, double* %35
%1533 = fcmp oeq double %1532, 0.000000e+00
%1534 = zext i1 %1533 to i32
%1535 = load i32, i32* %63
%1536 = or i32 %1535, %1534
store i32 %1536, i32* %63
br label %1537
1537: ; preds = %1531, %1527
%1538 = load i64, i64* %62
%1539 = and i64 %1538, 16384
%1540 = icmp ne i64 %1539, 0
br i1 %1540, label %1541, label %1547
1541: ; preds = %1537
%1542 = load double, double* %36
%1543 = fcmp oeq double %1542, 0.000000e+00
%1544 = zext i1 %1543 to i32
%1545 = load i32, i32* %63
%1546 = or i32 %1545, %1544
store i32 %1546, i32* %63
br label %1547
1547: ; preds = %1541, %1537
%1548 = load i64, i64* %62
%1549 = and i64 %1548, 32768
%1550 = icmp ne i64 %1549, 0
br i1 %1550, label %1551, label %1557
1551: ; preds = %1547
%1552 = load double, double* %37
%1553 = fcmp oeq double %1552, 0.000000e+00
%1554 = zext i1 %1553 to i32
%1555 = load i32, i32* %63
%1556 = or i32 %1555, %1554
store i32 %1556, i32* %63
br label %1557
1557: ; preds = %1551, %1547
%1558 = load i64, i64* %62
%1559 = and i64 %1558, 65536
%1560 = icmp ne i64 %1559, 0
br i1 %1560, label %1561, label %1567
1561: ; preds = %1557
%1562 = load double, double* %38
%1563 = fcmp oeq double %1562, 0.000000e+00
%1564 = zext i1 %1563 to i32
%1565 = load i32, i32* %63
%1566 = or i32 %1565, %1564
store i32 %1566, i32* %63
br label %1567
1567: ; preds = %1561, %1557
%1568 = load i64, i64* %62
%1569 = and i64 %1568, 131072
%1570 = icmp ne i64 %1569, 0
br i1 %1570, label %1571, label %1577
1571: ; preds = %1567
%1572 = load double, double* %39
%1573 = fcmp oeq double %1572, 0.000000e+00
%1574 = zext i1 %1573 to i32
%1575 = load i32, i32* %63
%1576 = or i32 %1575, %1574
store i32 %1576, i32* %63
br label %1577
1577: ; preds = %1571, %1567
%1578 = load i64, i64* %62
%1579 = and i64 %1578, 262144
%1580 = icmp ne i64 %1579, 0
br i1 %1580, label %1581, label %1587
1581: ; preds = %1577
%1582 = load double, double* %40
%1583 = fcmp oeq double %1582, 0.000000e+00
%1584 = zext i1 %1583 to i32
%1585 = load i32, i32* %63
%1586 = or i32 %1585, %1584
store i32 %1586, i32* %63
br label %1587
1587: ; preds = %1581, %1577
%1588 = load i64, i64* %62
%1589 = and i64 %1588, 524288
%1590 = icmp ne i64 %1589, 0
br i1 %1590, label %1591, label %1597
1591: ; preds = %1587
%1592 = load double, double* %41
%1593 = fcmp oeq double %1592, 0.000000e+00
%1594 = zext i1 %1593 to i32
%1595 = load i32, i32* %63
%1596 = or i32 %1595, %1594
store i32 %1596, i32* %63
br label %1597
1597: ; preds = %1591, %1587
%1598 = load i64, i64* %62
%1599 = and i64 %1598, 1048576
%1600 = icmp ne i64 %1599, 0
br i1 %1600, label %1601, label %1607
1601: ; preds = %1597
%1602 = load double, double* %42
%1603 = fcmp oeq double %1602, 0.000000e+00
%1604 = zext i1 %1603 to i32
%1605 = load i32, i32* %63
%1606 = or i32 %1605, %1604
store i32 %1606, i32* %63
br label %1607
1607: ; preds = %1601, %1597
%1608 = load i64, i64* %62
%1609 = and i64 %1608, 2097152
%1610 = icmp ne i64 %1609, 0
br i1 %1610, label %1611, label %1617
1611: ; preds = %1607
%1612 = load double, double* %43
%1613 = fcmp oeq double %1612, 0.000000e+00
%1614 = zext i1 %1613 to i32
%1615 = load i32, i32* %63
%1616 = or i32 %1615, %1614
store i32 %1616, i32* %63
br label %1617
1617: ; preds = %1611, %1607
%1618 = load i64, i64* %62
%1619 = and i64 %1618, 4194304
%1620 = icmp ne i64 %1619, 0
br i1 %1620, label %1621, label %1627
1621: ; preds = %1617
%1622 = load double, double* %44
%1623 = fcmp oeq double %1622, 0.000000e+00
%1624 = zext i1 %1623 to i32
%1625 = load i32, i32* %63
%1626 = or i32 %1625, %1624
store i32 %1626, i32* %63
br label %1627
1627: ; preds = %1621, %1617
%1628 = load i64, i64* %62
%1629 = and i64 %1628, 8388608
%1630 = icmp ne i64 %1629, 0
br i1 %1630, label %1631, label %1637
1631: ; preds = %1627
%1632 = load double, double* %45
%1633 = fcmp oeq double %1632, 0.000000e+00
%1634 = zext i1 %1633 to i32
%1635 = load i32, i32* %63
%1636 = or i32 %1635, %1634
store i32 %1636, i32* %63
br label %1637
1637: ; preds = %1631, %1627
%1638 = load i64, i64* %62
%1639 = and i64 %1638, 16777216
%1640 = icmp ne i64 %1639, 0
br i1 %1640, label %1641, label %1647
1641: ; preds = %1637
%1642 = load double, double* %46
%1643 = fcmp oeq double %1642, 0.000000e+00
%1644 = zext i1 %1643 to i32
%1645 = load i32, i32* %63
%1646 = or i32 %1645, %1644
store i32 %1646, i32* %63
br label %1647
1647: ; preds = %1641, %1637
%1648 = load i64, i64* %62
%1649 = and i64 %1648, 33554432
%1650 = icmp ne i64 %1649, 0
br i1 %1650, label %1651, label %1657
1651: ; preds = %1647
%1652 = load double, double* %47
%1653 = fcmp oeq double %1652, 0.000000e+00
%1654 = zext i1 %1653 to i32
%1655 = load i32, i32* %63
%1656 = or i32 %1655, %1654
store i32 %1656, i32* %63
br label %1657
1657: ; preds = %1651, %1647
%1658 = load i64, i64* %62
%1659 = and i64 %1658, 67108864
%1660 = icmp ne i64 %1659, 0
br i1 %1660, label %1661, label %1667
1661: ; preds = %1657
%1662 = load double, double* %48
%1663 = fcmp oeq double %1662, 0.000000e+00
%1664 = zext i1 %1663 to i32
%1665 = load i32, i32* %63
%1666 = or i32 %1665, %1664
store i32 %1666, i32* %63
br label %1667
1667: ; preds = %1661, %1657
%1668 = load i64, i64* %62
%1669 = and i64 %1668, 134217728
%1670 = icmp ne i64 %1669, 0
br i1 %1670, label %1671, label %1677
1671: ; preds = %1667
%1672 = load double, double* %49
%1673 = fcmp oeq double %1672, 0.000000e+00
%1674 = zext i1 %1673 to i32
%1675 = load i32, i32* %63
%1676 = or i32 %1675, %1674
store i32 %1676, i32* %63
br label %1677
1677: ; preds = %1671, %1667
%1678 = load i64, i64* %62
%1679 = and i64 %1678, 268435456
%1680 = icmp ne i64 %1679, 0
br i1 %1680, label %1681, label %1687
1681: ; preds = %1677
%1682 = load double, double* %50
%1683 = fcmp oeq double %1682, 0.000000e+00
%1684 = zext i1 %1683 to i32
%1685 = load i32, i32* %63
%1686 = or i32 %1685, %1684
store i32 %1686, i32* %63
br label %1687
1687: ; preds = %1681, %1677
%1688 = load i64, i64* %62
%1689 = and i64 %1688, 536870912
%1690 = icmp ne i64 %1689, 0
br i1 %1690, label %1691, label %1697
1691: ; preds = %1687
%1692 = load double, double* %51
%1693 = fcmp oeq double %1692, 0.000000e+00
%1694 = zext i1 %1693 to i32
%1695 = load i32, i32* %63
%1696 = or i32 %1695, %1694
store i32 %1696, i32* %63
br label %1697
1697: ; preds = %1691, %1687
%1698 = load i64, i64* %62
%1699 = and i64 %1698, 1073741824
%1700 = icmp ne i64 %1699, 0
br i1 %1700, label %1701, label %1707
1701: ; preds = %1697
%1702 = load double, double* %52
%1703 = fcmp oeq double %1702, 0.000000e+00
%1704 = zext i1 %1703 to i32
%1705 = load i32, i32* %63
%1706 = or i32 %1705, %1704
store i32 %1706, i32* %63
br label %1707
1707: ; preds = %1701, %1697
%1708 = load i64, i64* %62
%1709 = and i64 %1708, 2147483648
%1710 = icmp ne i64 %1709, 0
br i1 %1710, label %1711, label %1717
1711: ; preds = %1707
%1712 = load double, double* %53
%1713 = fcmp oeq double %1712, 0.000000e+00
%1714 = zext i1 %1713 to i32
%1715 = load i32, i32* %63
%1716 = or i32 %1715, %1714
store i32 %1716, i32* %63
br label %1717
1717: ; preds = %1711, %1707
%1718 = load i64, i64* %62
%1719 = and i64 %1718, 4294967296
%1720 = icmp ne i64 %1719, 0
br i1 %1720, label %1721, label %1727
1721: ; preds = %1717
%1722 = load double, double* %54
%1723 = fcmp oeq double %1722, 0.000000e+00
%1724 = zext i1 %1723 to i32
%1725 = load i32, i32* %63
%1726 = or i32 %1725, %1724
store i32 %1726, i32* %63
br label %1727
1727: ; preds = %1721, %1717
%1728 = load i64, i64* %62
%1729 = and i64 %1728, 8589934592
%1730 = icmp ne i64 %1729, 0
br i1 %1730, label %1731, label %1737
1731: ; preds = %1727
%1732 = load double, double* %55
%1733 = fcmp oeq double %1732, 0.000000e+00
%1734 = zext i1 %1733 to i32
%1735 = load i32, i32* %63
%1736 = or i32 %1735, %1734
store i32 %1736, i32* %63
br label %1737
1737: ; preds = %1731, %1727
%1738 = load i64, i64* %62
%1739 = and i64 %1738, 17179869184
%1740 = icmp ne i64 %1739, 0
br i1 %1740, label %1741, label %1747
1741: ; preds = %1737
%1742 = load double, double* %56
%1743 = fcmp oeq double %1742, 0.000000e+00
%1744 = zext i1 %1743 to i32
%1745 = load i32, i32* %63
%1746 = or i32 %1745, %1744
store i32 %1746, i32* %63
br label %1747
1747: ; preds = %1741, %1737
%1748 = load i64, i64* %62
%1749 = and i64 %1748, 34359738368
%1750 = icmp ne i64 %1749, 0
br i1 %1750, label %1751, label %1757
1751: ; preds = %1747
%1752 = load double, double* %57
%1753 = fcmp oeq double %1752, 0.000000e+00
%1754 = zext i1 %1753 to i32
%1755 = load i32, i32* %63
%1756 = or i32 %1755, %1754
store i32 %1756, i32* %63
br label %1757
1757: ; preds = %1751, %1747
%1758 = load i64, i64* %62
%1759 = and i64 %1758, 68719476736
%1760 = icmp ne i64 %1759, 0
br i1 %1760, label %1761, label %1767
1761: ; preds = %1757
%1762 = load double, double* %58
%1763 = fcmp oeq double %1762, 0.000000e+00
%1764 = zext i1 %1763 to i32
%1765 = load i32, i32* %63
%1766 = or i32 %1765, %1764
store i32 %1766, i32* %63
br label %1767
1767: ; preds = %1761, %1757
%1768 = load i64, i64* %62
%1769 = and i64 %1768, 137438953472
%1770 = icmp ne i64 %1769, 0
br i1 %1770, label %1771, label %1777
1771: ; preds = %1767
%1772 = load double, double* %59
%1773 = fcmp oeq double %1772, 0.000000e+00
%1774 = zext i1 %1773 to i32
%1775 = load i32, i32* %63
%1776 = or i32 %1775, %1774
store i32 %1776, i32* %63
br label %1777
1777: ; preds = %1771, %1767
%1778 = load i64, i64* %62
%1779 = and i64 %1778, 274877906944
%1780 = icmp ne i64 %1779, 0
br i1 %1780, label %1781, label %1787
1781: ; preds = %1777
%1782 = load double, double* %60
%1783 = fcmp oeq double %1782, 0.000000e+00
%1784 = zext i1 %1783 to i32
%1785 = load i32, i32* %63
%1786 = or i32 %1785, %1784
store i32 %1786, i32* %63
br label %1787
1787: ; preds = %1781, %1777
%1788 = load i64, i64* %62
%1789 = and i64 %1788, 549755813888
%1790 = icmp ne i64 %1789, 0
br i1 %1790, label %1791, label %1797
1791: ; preds = %1787
%1792 = load double, double* %61
%1793 = fcmp oeq double %1792, 0.000000e+00
%1794 = zext i1 %1793 to i32
%1795 = load i32, i32* %63
%1796 = or i32 %1795, %1794
store i32 %1796, i32* %63
br label %1797
1797: ; preds = %1791, %1787
%1798 = load i32, i32* %63
%1799 = load i32*, i32** %20
%1800 = getelementptr inbounds i32, i32* %1799, i32 1
store i32* %1800, i32** %20
store i32 %1798, i32* %1799
br label %1392
1801: ; preds = %1392
%1802 = load double, double* %22
%1803 = load double, double* %23
%1804 = fadd double %1802, %1803
%1805 = load double, double* %24
%1806 = fadd double %1804, %1805
%1807 = load double, double* %25
%1808 = fadd double %1806, %1807
%1809 = load double, double* %26
%1810 = fadd double %1808, %1809
%1811 = load double, double* %27
%1812 = fadd double %1810, %1811
%1813 = load double, double* %28
%1814 = fadd double %1812, %1813
%1815 = load double, double* %29
%1816 = fadd double %1814, %1815
%1817 = load double, double* %30
%1818 = fadd double %1816, %1817
%1819 = load double, double* %31
%1820 = fadd double %1818, %1819
%1821 = load double, double* %32
%1822 = fadd double %1820, %1821
%1823 = load double, double* %33
%1824 = fadd double %1822, %1823
%1825 = load double, double* %34
%1826 = fadd double %1824, %1825
%1827 = load double, double* %35
%1828 = fadd double %1826, %1827
%1829 = load double, double* %36
%1830 = fadd double %1828, %1829
%1831 = load double, double* %37
%1832 = fadd double %1830, %1831
%1833 = load double, double* %38
%1834 = fadd double %1832, %1833
%1835 = load double, double* %39
%1836 = fadd double %1834, %1835
%1837 = load double, double* %40
%1838 = fadd double %1836, %1837
%1839 = load double, double* %41
%1840 = fadd double %1838, %1839
%1841 = load double, double* %42
%1842 = fadd double %1840, %1841
%1843 = load double, double* %43
%1844 = fadd double %1842, %1843
%1845 = load double, double* %44
%1846 = fadd double %1844, %1845
%1847 = load double, double* %45
%1848 = fadd double %1846, %1847
%1849 = load double, double* %46
%1850 = fadd double %1848, %1849
%1851 = load double, double* %47
%1852 = fadd double %1850, %1851
%1853 = load double, double* %48
%1854 = fadd double %1852, %1853
%1855 = load double, double* %49
%1856 = fadd double %1854, %1855
%1857 = load double, double* %50
%1858 = fadd double %1856, %1857
%1859 = load double, double* %51
%1860 = fadd double %1858, %1859
%1861 = load double, double* %52
%1862 = fadd double %1860, %1861
%1863 = load double, double* %53
%1864 = fadd double %1862, %1863
%1865 = load double, double* %54
%1866 = fadd double %1864, %1865
%1867 = load double, double* %55
%1868 = fadd double %1866, %1867
%1869 = load double, double* %56
%1870 = fadd double %1868, %1869
%1871 = load double, double* %57
%1872 = fadd double %1870, %1871
%1873 = load double, double* %58
%1874 = fadd double %1872, %1873
%1875 = load double, double* %59
%1876 = fadd double %1874, %1875
%1877 = load double, double* %60
%1878 = fadd double %1876, %1877
%1879 = load double, double* %61
%1880 = fadd double %1878, %1879
ret double %1880
}

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