float test_add(const unsigned long long *add_mask, const float *add_values,
               const unsigned long long *sub_mask, const float *sub_values,
               const unsigned long long *mul_mask, const float *mul_values,
               const unsigned long long *div_mask, const float *div_values,
               const unsigned long long *eq0_mask, int *eq0_ptr) {
  float value;
  float value00 = ((float)0.0);
  float value01 = ((float)0.0);
  float value02 = ((float)0.0);
  float value03 = ((float)0.0);
  float value04 = ((float)0.0);
  float value05 = ((float)0.0);
  float value06 = ((float)0.0);
  float value07 = ((float)0.0);
  float value08 = ((float)0.0);
  float value09 = ((float)0.0);
  float value10 = ((float)0.0);
  float value11 = ((float)0.0);
  float value12 = ((float)0.0);
  float value13 = ((float)0.0);
  float value14 = ((float)0.0);
  float value15 = ((float)0.0);
  float value16 = ((float)0.0);
  float value17 = ((float)0.0);
  float value18 = ((float)0.0);
  float value19 = ((float)0.0);
  float value20 = ((float)0.0);
  float value21 = ((float)0.0);
  float value22 = ((float)0.0);
  float value23 = ((float)0.0);
  float value24 = ((float)0.0);
  float value25 = ((float)0.0);
  float value26 = ((float)0.0);
  float value27 = ((float)0.0);
  float value28 = ((float)0.0);
  float value29 = ((float)0.0);
  float value30 = ((float)0.0);
  float value31 = ((float)0.0);
  float value32 = ((float)0.0);
  float value33 = ((float)0.0);
  float value34 = ((float)0.0);
  float value35 = ((float)0.0);
  float value36 = ((float)0.0);
  float value37 = ((float)0.0);
  float value38 = ((float)0.0);
  float value39 = ((float)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 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      eq0 |= (value01 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      eq0 |= (value02 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      eq0 |= (value03 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      eq0 |= (value04 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      eq0 |= (value05 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      eq0 |= (value06 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      eq0 |= (value07 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      eq0 |= (value08 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      eq0 |= (value09 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      eq0 |= (value10 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      eq0 |= (value11 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      eq0 |= (value12 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      eq0 |= (value13 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      eq0 |= (value14 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      eq0 |= (value15 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      eq0 |= (value16 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      eq0 |= (value17 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      eq0 |= (value18 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      eq0 |= (value19 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      eq0 |= (value20 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      eq0 |= (value21 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      eq0 |= (value22 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      eq0 |= (value23 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      eq0 |= (value24 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      eq0 |= (value25 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      eq0 |= (value26 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      eq0 |= (value27 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      eq0 |= (value28 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      eq0 |= (value29 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      eq0 |= (value30 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      eq0 |= (value31 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      eq0 |= (value32 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      eq0 |= (value33 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      eq0 |= (value34 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      eq0 |= (value35 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      eq0 |= (value36 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      eq0 |= (value37 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      eq0 |= (value38 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      eq0 |= (value39 == ((float)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    $0x68,%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
movss  %xmm0,-0x38(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x3c(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x40(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x44(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x48(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x4c(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x50(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x54(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x58(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x64(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x68(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x6c(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x70(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x74(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x78(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x7c(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x80(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x84(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0x88(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0x8c(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0x90(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0x94(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0x98(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0x9c(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xa0(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xa4(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xa8(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xac(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xb0(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xb4(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xb8(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xbc(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xc0(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xc4(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xc8(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xcc(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xd0(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0xd4(%rbp)
ff
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x8(%rbp)
mov    (%rax),%rax
mov    %rax,-0xe0(%rbp)
cmp    $0x0,%rax
je     1985 <test_add+0x885>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x10(%rbp)
movss  (%rax),%xmm0
movss  %xmm0,-0x34(%rbp)
movss  -0x34(%rbp),%xmm0
movd   %xmm0,%edx
movd   %edx,%xmm0
movss  %xmm0,-0x34(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     1320 <test_add+0x220>
movss  -0x34(%rbp),%xmm0
addss  -0x38(%rbp),%xmm0
movss  %xmm0,-0x38(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     1344 <test_add+0x244>
movss  -0x34(%rbp),%xmm0
addss  -0x3c(%rbp),%xmm0
movss  %xmm0,-0x3c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     1368 <test_add+0x268>
movss  -0x34(%rbp),%xmm0
addss  -0x40(%rbp),%xmm0
movss  %xmm0,-0x40(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     138c <test_add+0x28c>
movss  -0x34(%rbp),%xmm0
addss  -0x44(%rbp),%xmm0
movss  %xmm0,-0x44(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     13b0 <test_add+0x2b0>
movss  -0x34(%rbp),%xmm0
addss  -0x48(%rbp),%xmm0
movss  %xmm0,-0x48(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     13d4 <test_add+0x2d4>
movss  -0x34(%rbp),%xmm0
addss  -0x4c(%rbp),%xmm0
movss  %xmm0,-0x4c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     13f8 <test_add+0x2f8>
movss  -0x34(%rbp),%xmm0
addss  -0x50(%rbp),%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     141e <test_add+0x31e>
movss  -0x34(%rbp),%xmm0
addss  -0x54(%rbp),%xmm0
movss  %xmm0,-0x54(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     1444 <test_add+0x344>
movss  -0x34(%rbp),%xmm0
addss  -0x58(%rbp),%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     146a <test_add+0x36a>
movss  -0x34(%rbp),%xmm0
addss  -0x5c(%rbp),%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     1490 <test_add+0x390>
movss  -0x34(%rbp),%xmm0
addss  -0x60(%rbp),%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     14b6 <test_add+0x3b6>
movss  -0x34(%rbp),%xmm0
addss  -0x64(%rbp),%xmm0
movss  %xmm0,-0x64(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     14dc <test_add+0x3dc>
movss  -0x34(%rbp),%xmm0
addss  -0x68(%rbp),%xmm0
movss  %xmm0,-0x68(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     1502 <test_add+0x402>
movss  -0x34(%rbp),%xmm0
addss  -0x6c(%rbp),%xmm0
movss  %xmm0,-0x6c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     1528 <test_add+0x428>
movss  -0x34(%rbp),%xmm0
addss  -0x70(%rbp),%xmm0
movss  %xmm0,-0x70(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     154e <test_add+0x44e>
movss  -0x34(%rbp),%xmm0
addss  -0x74(%rbp),%xmm0
movss  %xmm0,-0x74(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     1574 <test_add+0x474>
movss  -0x34(%rbp),%xmm0
addss  -0x78(%rbp),%xmm0
movss  %xmm0,-0x78(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     159a <test_add+0x49a>
movss  -0x34(%rbp),%xmm0
addss  -0x7c(%rbp),%xmm0
movss  %xmm0,-0x7c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     15c0 <test_add+0x4c0>
movss  -0x34(%rbp),%xmm0
addss  -0x80(%rbp),%xmm0
movss  %xmm0,-0x80(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     15ec <test_add+0x4ec>
movss  -0x34(%rbp),%xmm0
addss  -0x84(%rbp),%xmm0
ff
movss  %xmm0,-0x84(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     1618 <test_add+0x518>
movss  -0x34(%rbp),%xmm0
addss  -0x88(%rbp),%xmm0
ff
movss  %xmm0,-0x88(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     1644 <test_add+0x544>
movss  -0x34(%rbp),%xmm0
addss  -0x8c(%rbp),%xmm0
ff
movss  %xmm0,-0x8c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     1670 <test_add+0x570>
movss  -0x34(%rbp),%xmm0
addss  -0x90(%rbp),%xmm0
ff
movss  %xmm0,-0x90(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     169c <test_add+0x59c>
movss  -0x34(%rbp),%xmm0
addss  -0x94(%rbp),%xmm0
ff
movss  %xmm0,-0x94(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     16c8 <test_add+0x5c8>
movss  -0x34(%rbp),%xmm0
addss  -0x98(%rbp),%xmm0
ff
movss  %xmm0,-0x98(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     16f4 <test_add+0x5f4>
movss  -0x34(%rbp),%xmm0
addss  -0x9c(%rbp),%xmm0
ff
movss  %xmm0,-0x9c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     1720 <test_add+0x620>
movss  -0x34(%rbp),%xmm0
addss  -0xa0(%rbp),%xmm0
ff
movss  %xmm0,-0xa0(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     174c <test_add+0x64c>
movss  -0x34(%rbp),%xmm0
addss  -0xa4(%rbp),%xmm0
ff
movss  %xmm0,-0xa4(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     1778 <test_add+0x678>
movss  -0x34(%rbp),%xmm0
addss  -0xa8(%rbp),%xmm0
ff
movss  %xmm0,-0xa8(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     17a4 <test_add+0x6a4>
movss  -0x34(%rbp),%xmm0
addss  -0xac(%rbp),%xmm0
ff
movss  %xmm0,-0xac(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     17d0 <test_add+0x6d0>
movss  -0x34(%rbp),%xmm0
addss  -0xb0(%rbp),%xmm0
ff
movss  %xmm0,-0xb0(%rbp)
ff
movabs $0x80000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1800 <test_add+0x700>
movss  -0x34(%rbp),%xmm0
addss  -0xb4(%rbp),%xmm0
ff
movss  %xmm0,-0xb4(%rbp)
ff
movabs $0x100000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1830 <test_add+0x730>
movss  -0x34(%rbp),%xmm0
addss  -0xb8(%rbp),%xmm0
ff
movss  %xmm0,-0xb8(%rbp)
ff
movabs $0x200000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1860 <test_add+0x760>
movss  -0x34(%rbp),%xmm0
addss  -0xbc(%rbp),%xmm0
ff
movss  %xmm0,-0xbc(%rbp)
ff
movabs $0x400000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1890 <test_add+0x790>
movss  -0x34(%rbp),%xmm0
addss  -0xc0(%rbp),%xmm0
ff
movss  %xmm0,-0xc0(%rbp)
ff
movabs $0x800000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     18c0 <test_add+0x7c0>
movss  -0x34(%rbp),%xmm0
addss  -0xc4(%rbp),%xmm0
ff
movss  %xmm0,-0xc4(%rbp)
ff
movabs $0x1000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     18f0 <test_add+0x7f0>
movss  -0x34(%rbp),%xmm0
addss  -0xc8(%rbp),%xmm0
ff
movss  %xmm0,-0xc8(%rbp)
ff
movabs $0x2000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1920 <test_add+0x820>
movss  -0x34(%rbp),%xmm0
addss  -0xcc(%rbp),%xmm0
ff
movss  %xmm0,-0xcc(%rbp)
ff
movabs $0x4000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1950 <test_add+0x850>
movss  -0x34(%rbp),%xmm0
addss  -0xd0(%rbp),%xmm0
ff
movss  %xmm0,-0xd0(%rbp)
ff
movabs $0x8000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1980 <test_add+0x880>
movss  -0x34(%rbp),%xmm0
addss  -0xd4(%rbp),%xmm0
ff
movss  %xmm0,-0xd4(%rbp)
ff
jmp    12af <test_add+0x1af>
jmp    198a <test_add+0x88a>
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x18(%rbp)
mov    (%rax),%rax
mov    %rax,-0xe0(%rbp)
cmp    $0x0,%rax
je     2100 <test_add+0x1000>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x20(%rbp)
movss  (%rax),%xmm0
movss  %xmm0,-0x34(%rbp)
movss  -0x34(%rbp),%xmm0
movd   %xmm0,%edx
movd   %edx,%xmm0
movss  %xmm0,-0x34(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     19ff <test_add+0x8ff>
movss  -0x34(%rbp),%xmm1
movss  -0x38(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x38(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     1a27 <test_add+0x927>
movss  -0x34(%rbp),%xmm1
movss  -0x3c(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x3c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     1a4f <test_add+0x94f>
movss  -0x34(%rbp),%xmm1
movss  -0x40(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x40(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     1a77 <test_add+0x977>
movss  -0x34(%rbp),%xmm1
movss  -0x44(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x44(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     1a9f <test_add+0x99f>
movss  -0x34(%rbp),%xmm1
movss  -0x48(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x48(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     1ac7 <test_add+0x9c7>
movss  -0x34(%rbp),%xmm1
movss  -0x4c(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x4c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     1aef <test_add+0x9ef>
movss  -0x34(%rbp),%xmm1
movss  -0x50(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     1b19 <test_add+0xa19>
movss  -0x34(%rbp),%xmm1
movss  -0x54(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x54(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     1b43 <test_add+0xa43>
movss  -0x34(%rbp),%xmm1
movss  -0x58(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     1b6d <test_add+0xa6d>
movss  -0x34(%rbp),%xmm1
movss  -0x5c(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     1b97 <test_add+0xa97>
movss  -0x34(%rbp),%xmm1
movss  -0x60(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     1bc1 <test_add+0xac1>
movss  -0x34(%rbp),%xmm1
movss  -0x64(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x64(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     1beb <test_add+0xaeb>
movss  -0x34(%rbp),%xmm1
movss  -0x68(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x68(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     1c15 <test_add+0xb15>
movss  -0x34(%rbp),%xmm1
movss  -0x6c(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x6c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     1c3f <test_add+0xb3f>
movss  -0x34(%rbp),%xmm1
movss  -0x70(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x70(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     1c69 <test_add+0xb69>
movss  -0x34(%rbp),%xmm1
movss  -0x74(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x74(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     1c93 <test_add+0xb93>
movss  -0x34(%rbp),%xmm1
movss  -0x78(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x78(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     1cbd <test_add+0xbbd>
movss  -0x34(%rbp),%xmm1
movss  -0x7c(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x7c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     1ce7 <test_add+0xbe7>
movss  -0x34(%rbp),%xmm1
movss  -0x80(%rbp),%xmm0
subss  %xmm1,%xmm0
movss  %xmm0,-0x80(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     1d17 <test_add+0xc17>
movss  -0x34(%rbp),%xmm1
movss  -0x84(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0x84(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     1d47 <test_add+0xc47>
movss  -0x34(%rbp),%xmm1
movss  -0x88(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0x88(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     1d77 <test_add+0xc77>
movss  -0x34(%rbp),%xmm1
movss  -0x8c(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0x8c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     1da7 <test_add+0xca7>
movss  -0x34(%rbp),%xmm1
movss  -0x90(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0x90(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     1dd7 <test_add+0xcd7>
movss  -0x34(%rbp),%xmm1
movss  -0x94(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0x94(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     1e07 <test_add+0xd07>
movss  -0x34(%rbp),%xmm1
movss  -0x98(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0x98(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     1e37 <test_add+0xd37>
movss  -0x34(%rbp),%xmm1
movss  -0x9c(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0x9c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     1e67 <test_add+0xd67>
movss  -0x34(%rbp),%xmm1
movss  -0xa0(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xa0(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     1e97 <test_add+0xd97>
movss  -0x34(%rbp),%xmm1
movss  -0xa4(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xa4(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     1ec7 <test_add+0xdc7>
movss  -0x34(%rbp),%xmm1
movss  -0xa8(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xa8(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     1ef7 <test_add+0xdf7>
movss  -0x34(%rbp),%xmm1
movss  -0xac(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xac(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     1f27 <test_add+0xe27>
movss  -0x34(%rbp),%xmm1
movss  -0xb0(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xb0(%rbp)
ff
movabs $0x80000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1f5b <test_add+0xe5b>
movss  -0x34(%rbp),%xmm1
movss  -0xb4(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xb4(%rbp)
ff
movabs $0x100000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1f8f <test_add+0xe8f>
movss  -0x34(%rbp),%xmm1
movss  -0xb8(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xb8(%rbp)
ff
movabs $0x200000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1fc3 <test_add+0xec3>
movss  -0x34(%rbp),%xmm1
movss  -0xbc(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xbc(%rbp)
ff
movabs $0x400000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     1ff7 <test_add+0xef7>
movss  -0x34(%rbp),%xmm1
movss  -0xc0(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xc0(%rbp)
ff
movabs $0x800000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     202b <test_add+0xf2b>
movss  -0x34(%rbp),%xmm1
movss  -0xc4(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xc4(%rbp)
ff
movabs $0x1000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     205f <test_add+0xf5f>
movss  -0x34(%rbp),%xmm1
movss  -0xc8(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xc8(%rbp)
ff
movabs $0x2000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2093 <test_add+0xf93>
movss  -0x34(%rbp),%xmm1
movss  -0xcc(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xcc(%rbp)
ff
movabs $0x4000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     20c7 <test_add+0xfc7>
movss  -0x34(%rbp),%xmm1
movss  -0xd0(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xd0(%rbp)
ff
movabs $0x8000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     20fb <test_add+0xffb>
movss  -0x34(%rbp),%xmm1
movss  -0xd4(%rbp),%xmm0
ff
subss  %xmm1,%xmm0
movss  %xmm0,-0xd4(%rbp)
ff
jmp    198a <test_add+0x88a>
jmp    2105 <test_add+0x1005>
mov    -0x28(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,-0x28(%rbp)
mov    (%rax),%rax
mov    %rax,-0xe0(%rbp)
cmp    $0x0,%rax
je     27db <test_add+0x16db>
mov    -0x30(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x30(%rbp)
movss  (%rax),%xmm0
movss  %xmm0,-0x34(%rbp)
movss  -0x34(%rbp),%xmm0
movd   %xmm0,%edx
movd   %edx,%xmm0
movss  %xmm0,-0x34(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     2176 <test_add+0x1076>
movss  -0x34(%rbp),%xmm0
mulss  -0x38(%rbp),%xmm0
movss  %xmm0,-0x38(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     219a <test_add+0x109a>
movss  -0x34(%rbp),%xmm0
mulss  -0x3c(%rbp),%xmm0
movss  %xmm0,-0x3c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     21be <test_add+0x10be>
movss  -0x34(%rbp),%xmm0
mulss  -0x40(%rbp),%xmm0
movss  %xmm0,-0x40(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     21e2 <test_add+0x10e2>
movss  -0x34(%rbp),%xmm0
mulss  -0x44(%rbp),%xmm0
movss  %xmm0,-0x44(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     2206 <test_add+0x1106>
movss  -0x34(%rbp),%xmm0
mulss  -0x48(%rbp),%xmm0
movss  %xmm0,-0x48(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     222a <test_add+0x112a>
movss  -0x34(%rbp),%xmm0
mulss  -0x4c(%rbp),%xmm0
movss  %xmm0,-0x4c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     224e <test_add+0x114e>
movss  -0x34(%rbp),%xmm0
mulss  -0x50(%rbp),%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     2274 <test_add+0x1174>
movss  -0x34(%rbp),%xmm0
mulss  -0x54(%rbp),%xmm0
movss  %xmm0,-0x54(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     229a <test_add+0x119a>
movss  -0x34(%rbp),%xmm0
mulss  -0x58(%rbp),%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     22c0 <test_add+0x11c0>
movss  -0x34(%rbp),%xmm0
mulss  -0x5c(%rbp),%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     22e6 <test_add+0x11e6>
movss  -0x34(%rbp),%xmm0
mulss  -0x60(%rbp),%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     230c <test_add+0x120c>
movss  -0x34(%rbp),%xmm0
mulss  -0x64(%rbp),%xmm0
movss  %xmm0,-0x64(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     2332 <test_add+0x1232>
movss  -0x34(%rbp),%xmm0
mulss  -0x68(%rbp),%xmm0
movss  %xmm0,-0x68(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     2358 <test_add+0x1258>
movss  -0x34(%rbp),%xmm0
mulss  -0x6c(%rbp),%xmm0
movss  %xmm0,-0x6c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     237e <test_add+0x127e>
movss  -0x34(%rbp),%xmm0
mulss  -0x70(%rbp),%xmm0
movss  %xmm0,-0x70(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     23a4 <test_add+0x12a4>
movss  -0x34(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
movss  %xmm0,-0x74(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     23ca <test_add+0x12ca>
movss  -0x34(%rbp),%xmm0
mulss  -0x78(%rbp),%xmm0
movss  %xmm0,-0x78(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     23f0 <test_add+0x12f0>
movss  -0x34(%rbp),%xmm0
mulss  -0x7c(%rbp),%xmm0
movss  %xmm0,-0x7c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     2416 <test_add+0x1316>
movss  -0x34(%rbp),%xmm0
mulss  -0x80(%rbp),%xmm0
movss  %xmm0,-0x80(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     2442 <test_add+0x1342>
movss  -0x34(%rbp),%xmm0
mulss  -0x84(%rbp),%xmm0
ff
movss  %xmm0,-0x84(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     246e <test_add+0x136e>
movss  -0x34(%rbp),%xmm0
mulss  -0x88(%rbp),%xmm0
ff
movss  %xmm0,-0x88(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     249a <test_add+0x139a>
movss  -0x34(%rbp),%xmm0
mulss  -0x8c(%rbp),%xmm0
ff
movss  %xmm0,-0x8c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     24c6 <test_add+0x13c6>
movss  -0x34(%rbp),%xmm0
mulss  -0x90(%rbp),%xmm0
ff
movss  %xmm0,-0x90(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     24f2 <test_add+0x13f2>
movss  -0x34(%rbp),%xmm0
mulss  -0x94(%rbp),%xmm0
ff
movss  %xmm0,-0x94(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     251e <test_add+0x141e>
movss  -0x34(%rbp),%xmm0
mulss  -0x98(%rbp),%xmm0
ff
movss  %xmm0,-0x98(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     254a <test_add+0x144a>
movss  -0x34(%rbp),%xmm0
mulss  -0x9c(%rbp),%xmm0
ff
movss  %xmm0,-0x9c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     2576 <test_add+0x1476>
movss  -0x34(%rbp),%xmm0
mulss  -0xa0(%rbp),%xmm0
ff
movss  %xmm0,-0xa0(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     25a2 <test_add+0x14a2>
movss  -0x34(%rbp),%xmm0
mulss  -0xa4(%rbp),%xmm0
ff
movss  %xmm0,-0xa4(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     25ce <test_add+0x14ce>
movss  -0x34(%rbp),%xmm0
mulss  -0xa8(%rbp),%xmm0
ff
movss  %xmm0,-0xa8(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     25fa <test_add+0x14fa>
movss  -0x34(%rbp),%xmm0
mulss  -0xac(%rbp),%xmm0
ff
movss  %xmm0,-0xac(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     2626 <test_add+0x1526>
movss  -0x34(%rbp),%xmm0
mulss  -0xb0(%rbp),%xmm0
ff
movss  %xmm0,-0xb0(%rbp)
ff
movabs $0x80000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2656 <test_add+0x1556>
movss  -0x34(%rbp),%xmm0
mulss  -0xb4(%rbp),%xmm0
ff
movss  %xmm0,-0xb4(%rbp)
ff
movabs $0x100000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2686 <test_add+0x1586>
movss  -0x34(%rbp),%xmm0
mulss  -0xb8(%rbp),%xmm0
ff
movss  %xmm0,-0xb8(%rbp)
ff
movabs $0x200000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     26b6 <test_add+0x15b6>
movss  -0x34(%rbp),%xmm0
mulss  -0xbc(%rbp),%xmm0
ff
movss  %xmm0,-0xbc(%rbp)
ff
movabs $0x400000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     26e6 <test_add+0x15e6>
movss  -0x34(%rbp),%xmm0
mulss  -0xc0(%rbp),%xmm0
ff
movss  %xmm0,-0xc0(%rbp)
ff
movabs $0x800000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2716 <test_add+0x1616>
movss  -0x34(%rbp),%xmm0
mulss  -0xc4(%rbp),%xmm0
ff
movss  %xmm0,-0xc4(%rbp)
ff
movabs $0x1000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2746 <test_add+0x1646>
movss  -0x34(%rbp),%xmm0
mulss  -0xc8(%rbp),%xmm0
ff
movss  %xmm0,-0xc8(%rbp)
ff
movabs $0x2000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2776 <test_add+0x1676>
movss  -0x34(%rbp),%xmm0
mulss  -0xcc(%rbp),%xmm0
ff
movss  %xmm0,-0xcc(%rbp)
ff
movabs $0x4000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     27a6 <test_add+0x16a6>
movss  -0x34(%rbp),%xmm0
mulss  -0xd0(%rbp),%xmm0
ff
movss  %xmm0,-0xd0(%rbp)
ff
movabs $0x8000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     27d6 <test_add+0x16d6>
movss  -0x34(%rbp),%xmm0
mulss  -0xd4(%rbp),%xmm0
ff
movss  %xmm0,-0xd4(%rbp)
ff
jmp    2105 <test_add+0x1005>
jmp    27e0 <test_add+0x16e0>
mov    0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,0x10(%rbp)
mov    (%rax),%rax
mov    %rax,-0xe0(%rbp)
cmp    $0x0,%rax
je     2f56 <test_add+0x1e56>
mov    0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,0x18(%rbp)
movss  (%rax),%xmm0
movss  %xmm0,-0x34(%rbp)
movss  -0x34(%rbp),%xmm0
movd   %xmm0,%edx
movd   %edx,%xmm0
movss  %xmm0,-0x34(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     2855 <test_add+0x1755>
movss  -0x34(%rbp),%xmm1
movss  -0x38(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x38(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     287d <test_add+0x177d>
movss  -0x34(%rbp),%xmm1
movss  -0x3c(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x3c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     28a5 <test_add+0x17a5>
movss  -0x34(%rbp),%xmm1
movss  -0x40(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x40(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     28cd <test_add+0x17cd>
movss  -0x34(%rbp),%xmm1
movss  -0x44(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x44(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     28f5 <test_add+0x17f5>
movss  -0x34(%rbp),%xmm1
movss  -0x48(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x48(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     291d <test_add+0x181d>
movss  -0x34(%rbp),%xmm1
movss  -0x4c(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x4c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     2945 <test_add+0x1845>
movss  -0x34(%rbp),%xmm1
movss  -0x50(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     296f <test_add+0x186f>
movss  -0x34(%rbp),%xmm1
movss  -0x54(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x54(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     2999 <test_add+0x1899>
movss  -0x34(%rbp),%xmm1
movss  -0x58(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     29c3 <test_add+0x18c3>
movss  -0x34(%rbp),%xmm1
movss  -0x5c(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     29ed <test_add+0x18ed>
movss  -0x34(%rbp),%xmm1
movss  -0x60(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     2a17 <test_add+0x1917>
movss  -0x34(%rbp),%xmm1
movss  -0x64(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x64(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     2a41 <test_add+0x1941>
movss  -0x34(%rbp),%xmm1
movss  -0x68(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x68(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     2a6b <test_add+0x196b>
movss  -0x34(%rbp),%xmm1
movss  -0x6c(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x6c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     2a95 <test_add+0x1995>
movss  -0x34(%rbp),%xmm1
movss  -0x70(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x70(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     2abf <test_add+0x19bf>
movss  -0x34(%rbp),%xmm1
movss  -0x74(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x74(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     2ae9 <test_add+0x19e9>
movss  -0x34(%rbp),%xmm1
movss  -0x78(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x78(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     2b13 <test_add+0x1a13>
movss  -0x34(%rbp),%xmm1
movss  -0x7c(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x7c(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     2b3d <test_add+0x1a3d>
movss  -0x34(%rbp),%xmm1
movss  -0x80(%rbp),%xmm0
divss  %xmm1,%xmm0
movss  %xmm0,-0x80(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     2b6d <test_add+0x1a6d>
movss  -0x34(%rbp),%xmm1
movss  -0x84(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x84(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     2b9d <test_add+0x1a9d>
movss  -0x34(%rbp),%xmm1
movss  -0x88(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x88(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     2bcd <test_add+0x1acd>
movss  -0x34(%rbp),%xmm1
movss  -0x8c(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x8c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     2bfd <test_add+0x1afd>
movss  -0x34(%rbp),%xmm1
movss  -0x90(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x90(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     2c2d <test_add+0x1b2d>
movss  -0x34(%rbp),%xmm1
movss  -0x94(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x94(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     2c5d <test_add+0x1b5d>
movss  -0x34(%rbp),%xmm1
movss  -0x98(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x98(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     2c8d <test_add+0x1b8d>
movss  -0x34(%rbp),%xmm1
movss  -0x9c(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x9c(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     2cbd <test_add+0x1bbd>
movss  -0x34(%rbp),%xmm1
movss  -0xa0(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xa0(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     2ced <test_add+0x1bed>
movss  -0x34(%rbp),%xmm1
movss  -0xa4(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xa4(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     2d1d <test_add+0x1c1d>
movss  -0x34(%rbp),%xmm1
movss  -0xa8(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xa8(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     2d4d <test_add+0x1c4d>
movss  -0x34(%rbp),%xmm1
movss  -0xac(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xac(%rbp)
ff
mov    -0xe0(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     2d7d <test_add+0x1c7d>
movss  -0x34(%rbp),%xmm1
movss  -0xb0(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xb0(%rbp)
ff
movabs $0x80000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2db1 <test_add+0x1cb1>
movss  -0x34(%rbp),%xmm1
movss  -0xb4(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xb4(%rbp)
ff
movabs $0x100000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2de5 <test_add+0x1ce5>
movss  -0x34(%rbp),%xmm1
movss  -0xb8(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xb8(%rbp)
ff
movabs $0x200000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2e19 <test_add+0x1d19>
movss  -0x34(%rbp),%xmm1
movss  -0xbc(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xbc(%rbp)
ff
movabs $0x400000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2e4d <test_add+0x1d4d>
movss  -0x34(%rbp),%xmm1
movss  -0xc0(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xc0(%rbp)
ff
movabs $0x800000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2e81 <test_add+0x1d81>
movss  -0x34(%rbp),%xmm1
movss  -0xc4(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xc4(%rbp)
ff
movabs $0x1000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2eb5 <test_add+0x1db5>
movss  -0x34(%rbp),%xmm1
movss  -0xc8(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xc8(%rbp)
ff
movabs $0x2000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2ee9 <test_add+0x1de9>
movss  -0x34(%rbp),%xmm1
movss  -0xcc(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xcc(%rbp)
ff
movabs $0x4000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2f1d <test_add+0x1e1d>
movss  -0x34(%rbp),%xmm1
movss  -0xd0(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xd0(%rbp)
ff
movabs $0x8000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     2f51 <test_add+0x1e51>
movss  -0x34(%rbp),%xmm1
movss  -0xd4(%rbp),%xmm0
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0xd4(%rbp)
ff
jmp    27e0 <test_add+0x16e0>
jmp    2f5b <test_add+0x1e5b>
mov    0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x8,%rcx
mov    %rcx,0x20(%rbp)
mov    (%rax),%rax
mov    %rax,-0xe0(%rbp)
cmp    $0x0,%rax
je     3931 <test_add+0x2831>
movl   $0x0,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     2fc1 <test_add+0x1ec1>
movss  -0x38(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     2ffa <test_add+0x1efa>
movss  -0x3c(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     3033 <test_add+0x1f33>
movss  -0x40(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     306c <test_add+0x1f6c>
movss  -0x44(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     30a5 <test_add+0x1fa5>
movss  -0x48(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     30de <test_add+0x1fde>
movss  -0x4c(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     3117 <test_add+0x2017>
movss  -0x50(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     3152 <test_add+0x2052>
movss  -0x54(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     318d <test_add+0x208d>
movss  -0x58(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     31c8 <test_add+0x20c8>
movss  -0x5c(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     3203 <test_add+0x2103>
movss  -0x60(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     323e <test_add+0x213e>
movss  -0x64(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     3279 <test_add+0x2179>
movss  -0x68(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     32b4 <test_add+0x21b4>
movss  -0x6c(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     32ef <test_add+0x21ef>
movss  -0x70(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     332a <test_add+0x222a>
movss  -0x74(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     3365 <test_add+0x2265>
movss  -0x78(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     33a0 <test_add+0x22a0>
movss  -0x7c(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     33db <test_add+0x22db>
movss  -0x80(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     3419 <test_add+0x2319>
movss  -0x84(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     3457 <test_add+0x2357>
movss  -0x88(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     3495 <test_add+0x2395>
movss  -0x8c(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     34d3 <test_add+0x23d3>
movss  -0x90(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     3511 <test_add+0x2411>
movss  -0x94(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     354f <test_add+0x244f>
movss  -0x98(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     358d <test_add+0x248d>
movss  -0x9c(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     35cb <test_add+0x24cb>
movss  -0xa0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     3609 <test_add+0x2509>
movss  -0xa4(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     3647 <test_add+0x2547>
movss  -0xa8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     3685 <test_add+0x2585>
movss  -0xac(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     36c3 <test_add+0x25c3>
movss  -0xb0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x80000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     3705 <test_add+0x2605>
movss  -0xb4(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x100000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     3747 <test_add+0x2647>
movss  -0xb8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x200000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     3789 <test_add+0x2689>
movss  -0xbc(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x400000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     37cb <test_add+0x26cb>
movss  -0xc0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x800000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     380d <test_add+0x270d>
movss  -0xc4(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x1000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     384f <test_add+0x274f>
movss  -0xc8(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x2000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     3891 <test_add+0x2791>
movss  -0xcc(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x4000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     38d3 <test_add+0x27d3>
movss  -0xd0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
movabs $0x8000000000,%rax
and    -0xe0(%rbp),%rax
cmp    $0x0,%rax
je     3915 <test_add+0x2815>
movss  -0xd4(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%eax
or     -0xe4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe4(%rbp),%ecx
mov    0x28(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,0x28(%rbp)
mov    %ecx,(%rax)
jmp    2f5b <test_add+0x1e5b>
movss  -0x38(%rbp),%xmm0
addss  -0x3c(%rbp),%xmm0
addss  -0x40(%rbp),%xmm0
addss  -0x44(%rbp),%xmm0
addss  -0x48(%rbp),%xmm0
addss  -0x4c(%rbp),%xmm0
addss  -0x50(%rbp),%xmm0
addss  -0x54(%rbp),%xmm0
addss  -0x58(%rbp),%xmm0
addss  -0x5c(%rbp),%xmm0
addss  -0x60(%rbp),%xmm0
addss  -0x64(%rbp),%xmm0
addss  -0x68(%rbp),%xmm0
addss  -0x6c(%rbp),%xmm0
addss  -0x70(%rbp),%xmm0
addss  -0x74(%rbp),%xmm0
addss  -0x78(%rbp),%xmm0
addss  -0x7c(%rbp),%xmm0
addss  -0x80(%rbp),%xmm0
addss  -0x84(%rbp),%xmm0
ff
addss  -0x88(%rbp),%xmm0
ff
addss  -0x8c(%rbp),%xmm0
ff
addss  -0x90(%rbp),%xmm0
ff
addss  -0x94(%rbp),%xmm0
ff
addss  -0x98(%rbp),%xmm0
ff
addss  -0x9c(%rbp),%xmm0
ff
addss  -0xa0(%rbp),%xmm0
ff
addss  -0xa4(%rbp),%xmm0
ff
addss  -0xa8(%rbp),%xmm0
ff
addss  -0xac(%rbp),%xmm0
ff
addss  -0xb0(%rbp),%xmm0
ff
addss  -0xb4(%rbp),%xmm0
ff
addss  -0xb8(%rbp),%xmm0
ff
addss  -0xbc(%rbp),%xmm0
ff
addss  -0xc0(%rbp),%xmm0
ff
addss  -0xc4(%rbp),%xmm0
ff
addss  -0xc8(%rbp),%xmm0
ff
addss  -0xcc(%rbp),%xmm0
ff
addss  -0xd0(%rbp),%xmm0
ff
addss  -0xd4(%rbp),%xmm0
ff
add    $0x68,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_add>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x248,%rsp
mov    %rdx,%rax
mov    (%rdi),%rbx
test   %rbx,%rbx
je     14af <test_add+0x3af>
pxor   %xmm12,%xmm12
xor    %ebp,%ebp
xorps  %xmm0,%xmm0
movaps %xmm0,-0x50(%rsp)
xorps  %xmm0,%xmm0
movaps %xmm0,-0x10(%rsp)
xorps  %xmm0,%xmm0
movaps %xmm0,0x10(%rsp)
xorps  %xmm0,%xmm0
movaps %xmm0,-0x60(%rsp)
xorps  %xmm0,%xmm0
xorps  %xmm3,%xmm3
xorps  %xmm1,%xmm1
movaps %xmm1,-0x20(%rsp)
xorps  %xmm1,%xmm1
movaps %xmm1,-0x30(%rsp)
xorps  %xmm11,%xmm11
xorps  %xmm1,%xmm1
movaps %xmm1,-0x40(%rsp)
nopl   0x0(%rax)
movaps %xmm11,(%rsp)
mov    (%rsi,%rbp,1),%edx
movq   %rbx,%xmm1
pshufd $0x44,%xmm1,%xmm13
movdqa %xmm13,%xmm7
pand   0x1e70(%rip),%xmm7
movdqa %xmm13,%xmm6
pand   0x1e83(%rip),%xmm6
movdqa %xmm13,%xmm5
pand   0x1e96(%rip),%xmm5
movdqa %xmm13,%xmm4
pand   0x1ea9(%rip),%xmm4
movdqa %xmm13,%xmm8
pand   0x1ebb(%rip),%xmm8
movdqa %xmm13,%xmm10
pand   0x1ecd(%rip),%xmm10
movdqa %xmm13,%xmm15
pand   0x1edf(%rip),%xmm15
movdqa %xmm13,%xmm14
pand   0x1ef1(%rip),%xmm14
movdqa %xmm13,%xmm1
pand   0x1ef4(%rip),%xmm1
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm14
movdqa %xmm14,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm14
movdqa %xmm13,%xmm1
pand   0x1eaf(%rip),%xmm1
andps  %xmm2,%xmm14
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm15
movdqa %xmm15,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm15
movdqa %xmm13,%xmm1
pand   0x1e66(%rip),%xmm1
andps  %xmm2,%xmm15
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm10
movdqa %xmm10,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm10
movdqa %xmm13,%xmm1
pand   0x1e1d(%rip),%xmm1
andps  %xmm2,%xmm10
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm8
movdqa %xmm8,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm8
movdqa %xmm13,%xmm1
pand   0x1dd4(%rip),%xmm1
andps  %xmm2,%xmm8
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm4
movdqa %xmm4,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm4
movdqa %xmm13,%xmm1
pand   0x1d8d(%rip),%xmm1
andps  %xmm2,%xmm4
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm5
movdqa %xmm5,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm5
movdqa %xmm13,%xmm1
pand   0x1d47(%rip),%xmm1
andps  %xmm2,%xmm5
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm6
movdqa %xmm6,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm6
movdqa %xmm13,%xmm1
pand   0x1d01(%rip),%xmm1
andps  %xmm2,%xmm6
pcmpeqd %xmm12,%xmm1
pcmpeqd %xmm12,%xmm7
movdqa %xmm7,%xmm2
shufps $0xdd,%xmm1,%xmm2
shufps $0x88,%xmm1,%xmm7
movd   %edx,%xmm1
andps  %xmm2,%xmm7
shufps $0x0,%xmm1,%xmm1
movaps 0x1dc5(%rip),%xmm9
movaps %xmm9,%xmm2
andps  %xmm7,%xmm2
andnps %xmm1,%xmm7
orps   %xmm2,%xmm7
movaps -0x50(%rsp),%xmm2
addps  %xmm7,%xmm2
movaps %xmm2,-0x50(%rsp)
movaps -0x30(%rsp),%xmm11
movaps -0x20(%rsp),%xmm7
movaps %xmm9,%xmm2
andps  %xmm6,%xmm2
andnps %xmm1,%xmm6
orps   %xmm2,%xmm6
movaps -0x10(%rsp),%xmm2
addps  %xmm6,%xmm2
movaps %xmm2,-0x10(%rsp)
movaps %xmm9,%xmm2
andps  %xmm5,%xmm2
andnps %xmm1,%xmm5
orps   %xmm2,%xmm5
movaps 0x10(%rsp),%xmm2
addps  %xmm5,%xmm2
movaps %xmm2,0x10(%rsp)
movaps %xmm9,%xmm2
andps  %xmm4,%xmm2
andnps %xmm1,%xmm4
orps   %xmm2,%xmm4
movaps -0x60(%rsp),%xmm2
addps  %xmm4,%xmm2
movaps %xmm2,-0x60(%rsp)
movaps %xmm9,%xmm2
andps  %xmm8,%xmm2
andnps %xmm1,%xmm8
orps   %xmm2,%xmm8
addps  %xmm8,%xmm0
movaps %xmm9,%xmm2
andps  %xmm10,%xmm2
andnps %xmm1,%xmm10
orps   %xmm2,%xmm10
addps  %xmm10,%xmm3
movaps %xmm9,%xmm2
andps  %xmm15,%xmm2
andnps %xmm1,%xmm15
orps   %xmm2,%xmm15
addps  %xmm15,%xmm7
movaps %xmm7,-0x20(%rsp)
movaps %xmm9,%xmm2
andps  %xmm14,%xmm2
andnps %xmm1,%xmm14
orps   %xmm2,%xmm14
addps  %xmm14,%xmm11
movaps %xmm11,-0x30(%rsp)
movdqa %xmm13,%xmm4
movdqa %xmm13,%xmm5
movdqa %xmm13,%xmm2
pand   0x1d10(%rip),%xmm2
pand   0x1d17(%rip),%xmm13
pcmpeqd %xmm12,%xmm13
pcmpeqd %xmm12,%xmm2
movdqa %xmm2,%xmm6
shufps $0xdd,%xmm13,%xmm6
shufps $0x88,%xmm13,%xmm2
pand   0x1cc7(%rip),%xmm4
pand   0x1ccf(%rip),%xmm5
andps  %xmm6,%xmm2
pcmpeqd %xmm12,%xmm5
pcmpeqd %xmm12,%xmm4
movdqa %xmm4,%xmm6
shufps $0xdd,%xmm5,%xmm6
shufps $0x88,%xmm5,%xmm4
andps  %xmm6,%xmm4
movaps %xmm9,%xmm5
andps  %xmm4,%xmm5
andnps %xmm1,%xmm4
orps   %xmm5,%xmm4
movaps (%rsp),%xmm11
addps  %xmm4,%xmm11
andps  %xmm2,%xmm9
andnps %xmm1,%xmm2
orps   %xmm9,%xmm2
movaps -0x40(%rsp),%xmm1
addps  %xmm2,%xmm1
movaps %xmm1,-0x40(%rsp)
mov    0x8(%rdi,%rbp,2),%rbx
add    $0x4,%rbp
test   %rbx,%rbx
jne    1170 <test_add+0x70>
jmp    14f1 <test_add+0x3f1>
xorps  %xmm0,%xmm0
movaps %xmm0,-0x50(%rsp)
xorps  %xmm0,%xmm0
movaps %xmm0,-0x10(%rsp)
xorps  %xmm0,%xmm0
movaps %xmm0,0x10(%rsp)
xorps  %xmm0,%xmm0
movaps %xmm0,-0x60(%rsp)
xorps  %xmm0,%xmm0
xorps  %xmm3,%xmm3
xorps  %xmm1,%xmm1
movaps %xmm1,-0x20(%rsp)
xorps  %xmm1,%xmm1
movaps %xmm1,-0x30(%rsp)
xorps  %xmm11,%xmm11
xorps  %xmm1,%xmm1
movaps %xmm1,-0x40(%rsp)
movaps -0x10(%rsp),%xmm5
movaps 0x10(%rsp),%xmm2
movaps -0x60(%rsp),%xmm9
movaps %xmm0,%xmm4
movaps -0x50(%rsp),%xmm13
movaps %xmm3,%xmm12
mov    (%rax),%rdx
test   %rdx,%rdx
je     17f4 <test_add+0x6f4>
xor    %esi,%esi
xorps  %xmm15,%xmm15
movaps %xmm12,%xmm7
movaps %xmm4,%xmm8
movaps %xmm2,%xmm10
movaps %xmm5,%xmm0
nop
movaps %xmm7,0x80(%rsp)
movaps %xmm8,0x20(%rsp)
movaps %xmm11,(%rsp)
movq   %rdx,%xmm1
pshufd $0x44,%xmm1,%xmm14
movaps %xmm10,%xmm11
movdqa %xmm14,%xmm10
pand   0x1aa0(%rip),%xmm10
movdqa %xmm14,%xmm8
pand   0x1ab2(%rip),%xmm8
movdqa %xmm14,%xmm3
pand   0x1ac5(%rip),%xmm3
movdqa %xmm14,%xmm7
pand   0x1ad8(%rip),%xmm7
movdqa %xmm14,%xmm6
pand   0x1aeb(%rip),%xmm6
movdqa %xmm14,%xmm5
pand   0x1afe(%rip),%xmm5
movdqa %xmm14,%xmm4
pand   0x1b11(%rip),%xmm4
movdqa %xmm14,%xmm12
pand   0x1b23(%rip),%xmm12
movdqa %xmm14,%xmm2
pand   0x1b26(%rip),%xmm2
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm12
movdqa %xmm12,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm12
movdqa %xmm14,%xmm2
pand   0x1ae1(%rip),%xmm2
andps  %xmm1,%xmm12
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm4
movdqa %xmm4,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm4
movdqa %xmm14,%xmm2
pand   0x1a9a(%rip),%xmm2
andps  %xmm1,%xmm4
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm5
movdqa %xmm5,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm5
movdqa %xmm14,%xmm2
pand   0x1a54(%rip),%xmm2
andps  %xmm1,%xmm5
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm6
movdqa %xmm6,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm6
movdqa %xmm14,%xmm2
pand   0x1a0e(%rip),%xmm2
andps  %xmm1,%xmm6
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm7
movdqa %xmm7,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm7
movdqa %xmm14,%xmm2
pand   0x19c8(%rip),%xmm2
andps  %xmm1,%xmm7
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm3
movdqa %xmm3,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm3
movdqa %xmm14,%xmm2
pand   0x1982(%rip),%xmm2
andps  %xmm1,%xmm3
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm8
movdqa %xmm8,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm8
movdqa %xmm14,%xmm2
pand   0x193a(%rip),%xmm2
andps  %xmm1,%xmm8
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm10
movdqa %xmm10,%xmm1
shufps $0xdd,%xmm2,%xmm1
shufps $0x88,%xmm2,%xmm10
mov    (%rcx,%rsi,1),%edx
andps  %xmm1,%xmm10
movd   %edx,%xmm2
shufps $0x0,%xmm2,%xmm2
andnps %xmm2,%xmm10
subps  %xmm10,%xmm13
movaps %xmm11,%xmm10
andnps %xmm2,%xmm8
subps  %xmm8,%xmm0
movaps 0x20(%rsp),%xmm8
andnps %xmm2,%xmm3
subps  %xmm3,%xmm10
andnps %xmm2,%xmm7
subps  %xmm7,%xmm9
movaps 0x80(%rsp),%xmm7
movaps -0x30(%rsp),%xmm1
movaps -0x20(%rsp),%xmm3
andnps %xmm2,%xmm6
subps  %xmm6,%xmm8
andnps %xmm2,%xmm5
subps  %xmm5,%xmm7
andnps %xmm2,%xmm4
subps  %xmm4,%xmm3
movaps %xmm3,-0x20(%rsp)
andnps %xmm2,%xmm12
subps  %xmm12,%xmm1
movaps %xmm1,-0x30(%rsp)
movdqa %xmm14,%xmm1
movdqa %xmm14,%xmm3
movdqa %xmm14,%xmm4
pand   0x19b9(%rip),%xmm4
pand   0x19c0(%rip),%xmm14
pcmpeqd %xmm15,%xmm14
pcmpeqd %xmm15,%xmm4
movdqa %xmm4,%xmm5
shufps $0xdd,%xmm14,%xmm5
shufps $0x88,%xmm14,%xmm4
pand   0x1970(%rip),%xmm1
pand   0x1978(%rip),%xmm3
andps  %xmm5,%xmm4
pcmpeqd %xmm15,%xmm3
pcmpeqd %xmm15,%xmm1
movdqa %xmm1,%xmm5
shufps $0xdd,%xmm3,%xmm5
shufps $0x88,%xmm3,%xmm1
andps  %xmm5,%xmm1
movaps (%rsp),%xmm11
andnps %xmm2,%xmm1
subps  %xmm1,%xmm11
andnps %xmm2,%xmm4
movaps -0x40(%rsp),%xmm1
subps  %xmm4,%xmm1
movaps %xmm1,-0x40(%rsp)
mov    0x8(%rax,%rsi,2),%rdx
add    $0x4,%rsi
test   %rdx,%rdx
jne    1530 <test_add+0x430>
jmp    1803 <test_add+0x703>
movaps %xmm12,%xmm7
movaps %xmm4,%xmm8
movaps %xmm2,%xmm10
movaps %xmm5,%xmm0
movaps %xmm0,%xmm2
movaps %xmm10,%xmm1
movaps %xmm7,%xmm0
mov    0x280(%rsp),%rcx
mov    (%r8),%rsi
test   %rsi,%rsi
movaps %xmm13,-0x50(%rsp)
movaps %xmm8,0x20(%rsp)
je     1b75 <test_add+0xa75>
xor    %eax,%eax
pxor   %xmm15,%xmm15
movaps %xmm0,%xmm7
movaps %xmm1,%xmm6
movaps %xmm2,%xmm8
xchg   %ax,%ax
movaps %xmm9,-0x60(%rsp)
movaps %xmm11,(%rsp)
mov    (%r9,%rax,1),%edx
movq   %rsi,%xmm1
pshufd $0x44,%xmm1,%xmm10
movdqa %xmm10,%xmm1
pand   0x1799(%rip),%xmm1
movaps %xmm7,%xmm9
movdqa %xmm10,%xmm7
pand   0x17a8(%rip),%xmm7
movaps %xmm6,%xmm11
movdqa %xmm10,%xmm6
pand   0x17b7(%rip),%xmm6
movdqa %xmm10,%xmm5
pand   0x17ca(%rip),%xmm5
movdqa %xmm10,%xmm4
pand   0x17dd(%rip),%xmm4
movdqa %xmm10,%xmm14
pand   0x17ef(%rip),%xmm14
movdqa %xmm10,%xmm13
pand   0x1801(%rip),%xmm13
movdqa %xmm10,%xmm12
pand   0x1813(%rip),%xmm12
movdqa %xmm10,%xmm2
pand   0x1816(%rip),%xmm2
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm12
movdqa %xmm12,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm12
movdqa %xmm10,%xmm2
pand   0x17d1(%rip),%xmm2
andps  %xmm3,%xmm12
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm13
movdqa %xmm13,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm13
movdqa %xmm10,%xmm2
pand   0x1788(%rip),%xmm2
andps  %xmm3,%xmm13
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm14
movdqa %xmm14,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm14
movdqa %xmm10,%xmm2
pand   0x173f(%rip),%xmm2
andps  %xmm3,%xmm14
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm4
movdqa %xmm4,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm4
movdqa %xmm10,%xmm2
pand   0x16f8(%rip),%xmm2
andps  %xmm3,%xmm4
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm5
movdqa %xmm5,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm5
movdqa %xmm10,%xmm2
pand   0x16b2(%rip),%xmm2
andps  %xmm3,%xmm5
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm6
movdqa %xmm6,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm6
movdqa %xmm10,%xmm2
pand   0x166c(%rip),%xmm2
andps  %xmm3,%xmm6
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm7
movdqa %xmm7,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm7
movdqa %xmm10,%xmm2
pand   0x1626(%rip),%xmm2
andps  %xmm3,%xmm7
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm1
movdqa %xmm1,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm1
movd   %edx,%xmm2
andps  %xmm3,%xmm1
shufps $0x0,%xmm2,%xmm2
movaps 0x173b(%rip),%xmm0
movaps %xmm0,%xmm3
andps  %xmm1,%xmm3
andnps %xmm2,%xmm1
orps   %xmm3,%xmm1
movaps -0x50(%rsp),%xmm3
mulps  %xmm1,%xmm3
movaps %xmm3,-0x50(%rsp)
movaps %xmm0,%xmm1
andps  %xmm7,%xmm1
andnps %xmm2,%xmm7
orps   %xmm1,%xmm7
mulps  %xmm7,%xmm8
movaps %xmm9,%xmm7
movaps -0x30(%rsp),%xmm3
movaps %xmm0,%xmm1
andps  %xmm6,%xmm1
andnps %xmm2,%xmm6
orps   %xmm1,%xmm6
mulps  %xmm6,%xmm11
movaps %xmm11,%xmm6
movaps -0x60(%rsp),%xmm9
movaps %xmm0,%xmm1
andps  %xmm5,%xmm1
andnps %xmm2,%xmm5
orps   %xmm1,%xmm5
mulps  %xmm5,%xmm9
movaps %xmm0,%xmm1
andps  %xmm4,%xmm1
andnps %xmm2,%xmm4
orps   %xmm1,%xmm4
movaps 0x20(%rsp),%xmm1
mulps  %xmm4,%xmm1
movaps %xmm1,0x20(%rsp)
movaps %xmm0,%xmm1
andps  %xmm14,%xmm1
andnps %xmm2,%xmm14
orps   %xmm1,%xmm14
mulps  %xmm14,%xmm7
movaps %xmm0,%xmm1
andps  %xmm13,%xmm1
andnps %xmm2,%xmm13
orps   %xmm1,%xmm13
movaps -0x20(%rsp),%xmm1
mulps  %xmm13,%xmm1
movaps %xmm1,-0x20(%rsp)
movaps %xmm0,%xmm1
andps  %xmm12,%xmm1
andnps %xmm2,%xmm12
orps   %xmm1,%xmm12
mulps  %xmm12,%xmm3
movaps %xmm3,-0x30(%rsp)
movdqa %xmm10,%xmm4
movdqa %xmm10,%xmm3
movdqa %xmm10,%xmm1
pand   0x1647(%rip),%xmm1
pand   0x164e(%rip),%xmm10
pcmpeqd %xmm15,%xmm10
pcmpeqd %xmm15,%xmm1
movdqa %xmm1,%xmm5
shufps $0xdd,%xmm10,%xmm5
shufps $0x88,%xmm10,%xmm1
pand   0x15fe(%rip),%xmm4
pand   0x1606(%rip),%xmm3
andps  %xmm5,%xmm1
pcmpeqd %xmm15,%xmm3
pcmpeqd %xmm15,%xmm4
movdqa %xmm4,%xmm5
shufps $0xdd,%xmm3,%xmm5
shufps $0x88,%xmm3,%xmm4
andps  %xmm5,%xmm4
movaps (%rsp),%xmm11
movaps %xmm0,%xmm3
andps  %xmm4,%xmm3
andnps %xmm2,%xmm4
orps   %xmm3,%xmm4
mulps  %xmm4,%xmm11
andps  %xmm1,%xmm0
andnps %xmm2,%xmm1
orps   %xmm0,%xmm1
movaps -0x40(%rsp),%xmm2
mulps  %xmm1,%xmm2
movaps %xmm2,-0x40(%rsp)
mov    0x8(%r8,%rax,2),%rsi
add    $0x4,%rax
test   %rsi,%rsi
jne    1840 <test_add+0x740>
jmp    1b7f <test_add+0xa7f>
movaps %xmm0,%xmm7
movaps %xmm1,%xmm6
movaps %xmm2,%xmm8
movaps %xmm8,%xmm3
movaps %xmm6,%xmm0
movaps 0x20(%rsp),%xmm4
movaps -0x50(%rsp),%xmm8
movaps %xmm7,%xmm12
mov    0x290(%rsp),%rbp
mov    (%rcx),%rdi
test   %rdi,%rdi
je     1f75 <test_add+0xe75>
mov    0x288(%rsp),%rax
xor    %esi,%esi
pxor   %xmm15,%xmm15
movaps %xmm12,%xmm7
movaps %xmm8,-0x50(%rsp)
movaps %xmm4,%xmm6
movaps %xmm3,-0x10(%rsp)
nopw   0x0(%rax,%rax,1)
movaps %xmm9,-0x60(%rsp)
movaps %xmm11,(%rsp)
mov    (%rax,%rsi,1),%edx
movq   %rdi,%xmm1
pshufd $0x44,%xmm1,%xmm10
movdqa %xmm10,%xmm1
pand   0x140a(%rip),%xmm1
movaps %xmm7,%xmm11
movdqa %xmm10,%xmm7
pand   0x1419(%rip),%xmm7
movaps %xmm6,%xmm9
movdqa %xmm10,%xmm6
pand   0x1428(%rip),%xmm6
movdqa %xmm10,%xmm5
pand   0x143b(%rip),%xmm5
movdqa %xmm10,%xmm4
pand   0x144e(%rip),%xmm4
movdqa %xmm10,%xmm14
pand   0x1460(%rip),%xmm14
movdqa %xmm10,%xmm13
pand   0x1472(%rip),%xmm13
movdqa %xmm10,%xmm12
pand   0x1484(%rip),%xmm12
movdqa %xmm10,%xmm2
pand   0x1487(%rip),%xmm2
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm12
movdqa %xmm12,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm12
movdqa %xmm10,%xmm2
pand   0x1442(%rip),%xmm2
andps  %xmm3,%xmm12
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm13
movdqa %xmm13,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm13
movdqa %xmm10,%xmm2
pand   0x13f9(%rip),%xmm2
andps  %xmm3,%xmm13
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm14
movdqa %xmm14,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm14
movdqa %xmm10,%xmm2
pand   0x13b0(%rip),%xmm2
andps  %xmm3,%xmm14
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm4
movdqa %xmm4,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm4
movdqa %xmm10,%xmm2
pand   0x1369(%rip),%xmm2
andps  %xmm3,%xmm4
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm5
movdqa %xmm5,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm5
movdqa %xmm10,%xmm2
pand   0x1323(%rip),%xmm2
andps  %xmm3,%xmm5
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm6
movdqa %xmm6,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm6
movdqa %xmm10,%xmm2
pand   0x12dd(%rip),%xmm2
andps  %xmm3,%xmm6
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm7
movdqa %xmm7,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm7
movdqa %xmm10,%xmm2
pand   0x1297(%rip),%xmm2
andps  %xmm3,%xmm7
pcmpeqd %xmm15,%xmm2
pcmpeqd %xmm15,%xmm1
movdqa %xmm1,%xmm3
shufps $0xdd,%xmm2,%xmm3
shufps $0x88,%xmm2,%xmm1
movd   %edx,%xmm2
andps  %xmm3,%xmm1
shufps $0x0,%xmm2,%xmm2
movaps 0x13ab(%rip),%xmm8
movaps %xmm8,%xmm3
andps  %xmm1,%xmm3
andnps %xmm2,%xmm1
orps   %xmm3,%xmm1
movaps -0x50(%rsp),%xmm3
divps  %xmm1,%xmm3
movaps %xmm3,-0x50(%rsp)
movaps %xmm8,%xmm1
andps  %xmm7,%xmm1
andnps %xmm2,%xmm7
orps   %xmm1,%xmm7
movaps -0x10(%rsp),%xmm1
divps  %xmm7,%xmm1
movaps %xmm1,-0x10(%rsp)
movaps %xmm11,%xmm7
movaps -0x30(%rsp),%xmm3
movaps %xmm8,%xmm1
andps  %xmm6,%xmm1
andnps %xmm2,%xmm6
orps   %xmm1,%xmm6
divps  %xmm6,%xmm0
movaps %xmm9,%xmm6
movaps -0x60(%rsp),%xmm9
movaps %xmm8,%xmm1
andps  %xmm5,%xmm1
andnps %xmm2,%xmm5
orps   %xmm1,%xmm5
divps  %xmm5,%xmm9
movaps %xmm8,%xmm1
andps  %xmm4,%xmm1
andnps %xmm2,%xmm4
orps   %xmm1,%xmm4
divps  %xmm4,%xmm6
movaps %xmm8,%xmm1
andps  %xmm14,%xmm1
andnps %xmm2,%xmm14
orps   %xmm1,%xmm14
divps  %xmm14,%xmm7
movaps %xmm8,%xmm1
andps  %xmm13,%xmm1
andnps %xmm2,%xmm13
orps   %xmm1,%xmm13
movaps -0x20(%rsp),%xmm1
divps  %xmm13,%xmm1
movaps %xmm1,-0x20(%rsp)
movaps %xmm8,%xmm1
andps  %xmm12,%xmm1
andnps %xmm2,%xmm12
orps   %xmm1,%xmm12
divps  %xmm12,%xmm3
movaps %xmm3,-0x30(%rsp)
movdqa %xmm10,%xmm4
movdqa %xmm10,%xmm3
movdqa %xmm10,%xmm1
pand   0x12b1(%rip),%xmm1
pand   0x12b8(%rip),%xmm10
pcmpeqd %xmm15,%xmm10
pcmpeqd %xmm15,%xmm1
movdqa %xmm1,%xmm5
shufps $0xdd,%xmm10,%xmm5
shufps $0x88,%xmm10,%xmm1
pand   0x1268(%rip),%xmm4
pand   0x1270(%rip),%xmm3
andps  %xmm5,%xmm1
pcmpeqd %xmm15,%xmm3
pcmpeqd %xmm15,%xmm4
movdqa %xmm4,%xmm5
shufps $0xdd,%xmm3,%xmm5
shufps $0x88,%xmm3,%xmm4
andps  %xmm5,%xmm4
movaps (%rsp),%xmm11
movaps %xmm8,%xmm3
andps  %xmm4,%xmm3
andnps %xmm2,%xmm4
orps   %xmm3,%xmm4
divps  %xmm4,%xmm11
andps  %xmm1,%xmm8
andnps %xmm2,%xmm1
orps   %xmm8,%xmm1
movaps -0x40(%rsp),%xmm2
divps  %xmm1,%xmm2
movaps %xmm2,-0x40(%rsp)
mov    0x8(%rcx,%rsi,2),%rdi
add    $0x4,%rsi
test   %rdi,%rdi
jne    1bd0 <test_add+0xad0>
movaps -0x10(%rsp),%xmm3
movaps %xmm6,%xmm4
movaps -0x50(%rsp),%xmm8
movaps %xmm7,%xmm12
movaps -0x40(%rsp),%xmm1
movaps %xmm1,%xmm2
shufps $0xff,%xmm1,%xmm2
movaps %xmm2,0x40(%rsp)
movaps %xmm1,%xmm2
unpckhpd %xmm1,%xmm2
movaps %xmm2,0x50(%rsp)
movaps %xmm1,%xmm2
shufps $0x55,%xmm1,%xmm2
movaps %xmm2,0xb0(%rsp)
movaps %xmm11,%xmm2
shufps $0xff,%xmm11,%xmm2
movaps %xmm2,0x60(%rsp)
movaps %xmm11,%xmm2
unpckhpd %xmm11,%xmm2
movaps %xmm2,0x70(%rsp)
movaps %xmm11,%xmm2
shufps $0x55,%xmm11,%xmm2
movaps %xmm2,%xmm10
jmp    1fca <test_add+0xeca>
movaps %xmm11,%xmm2
shufps $0x55,%xmm11,%xmm2
movaps %xmm2,%xmm10
movaps %xmm11,%xmm2
unpckhpd %xmm11,%xmm2
movaps %xmm2,0x70(%rsp)
movaps %xmm11,%xmm2
shufps $0xff,%xmm11,%xmm2
movaps %xmm2,0x60(%rsp)
movaps -0x40(%rsp),%xmm1
movaps %xmm1,%xmm2
shufps $0x55,%xmm1,%xmm2
movaps %xmm2,0xb0(%rsp)
movaps %xmm1,%xmm2
unpckhpd %xmm1,%xmm2
movaps %xmm2,0x50(%rsp)
movaps %xmm1,%xmm2
shufps $0xff,%xmm1,%xmm2
movaps %xmm2,0x40(%rsp)
movaps %xmm10,0x1e0(%rsp)
mov    0x0(%rbp),%r15
movaps %xmm8,%xmm1
shufps $0x55,%xmm8,%xmm1
movaps %xmm1,0xe0(%rsp)
movaps %xmm8,%xmm1
unpckhpd %xmm8,%xmm1
movaps %xmm1,0xd0(%rsp)
movaps %xmm8,%xmm1
shufps $0xff,%xmm8,%xmm8
movaps %xmm8,0xc0(%rsp)
movaps %xmm3,%xmm2
shufps $0x55,%xmm3,%xmm2
movaps %xmm2,0x110(%rsp)
movaps %xmm3,%xmm2
unpckhpd %xmm3,%xmm2
movaps %xmm2,0x100(%rsp)
movaps %xmm3,-0x10(%rsp)
movaps %xmm3,%xmm2
shufps $0xff,%xmm3,%xmm2
movaps %xmm2,0xf0(%rsp)
movaps %xmm0,%xmm5
shufps $0x55,%xmm0,%xmm5
movaps %xmm0,%xmm15
unpckhpd %xmm0,%xmm15
movaps %xmm0,0x10(%rsp)
movaps %xmm0,%xmm2
shufps $0xff,%xmm0,%xmm2
movaps %xmm9,%xmm0
shufps $0x55,%xmm9,%xmm0
movaps %xmm0,0x130(%rsp)
movaps %xmm9,%xmm6
unpckhpd %xmm9,%xmm6
movaps %xmm9,%xmm3
shufps $0xff,%xmm9,%xmm3
movaps %xmm4,%xmm0
shufps $0x55,%xmm4,%xmm0
movaps %xmm0,0x120(%rsp)
movaps %xmm4,%xmm14
unpckhpd %xmm4,%xmm14
movaps %xmm4,%xmm7
movaps %xmm4,%xmm0
shufps $0xff,%xmm4,%xmm0
movaps %xmm0,0x140(%rsp)
movaps %xmm12,%xmm0
shufps $0x55,%xmm12,%xmm0
movaps %xmm0,0x1c0(%rsp)
movaps %xmm12,%xmm0
unpckhpd %xmm12,%xmm0
movaps %xmm0,0x160(%rsp)
movaps %xmm12,%xmm0
shufps $0xff,%xmm12,%xmm0
movaps %xmm0,0x1b0(%rsp)
movaps -0x20(%rsp),%xmm8
movaps %xmm8,%xmm0
shufps $0x55,%xmm8,%xmm0
movaps %xmm0,0x170(%rsp)
movaps %xmm8,%xmm0
unpckhpd %xmm8,%xmm0
movaps %xmm0,0x180(%rsp)
shufps $0xff,%xmm8,%xmm8
movaps %xmm8,0x1d0(%rsp)
movaps -0x30(%rsp),%xmm13
movaps %xmm13,%xmm0
shufps $0x55,%xmm13,%xmm0
movaps %xmm0,0x150(%rsp)
movaps %xmm13,%xmm0
unpckhpd %xmm13,%xmm0
movaps %xmm0,0x190(%rsp)
shufps $0xff,%xmm13,%xmm13
movaps %xmm13,0x1a0(%rsp)
test   %r15,%r15
movaps 0xb0(%rsp),%xmm0
je     27de <test_add+0x16de>
xor    %eax,%eax
xorps  %xmm10,%xmm10
movaps %xmm12,0x80(%rsp)
movaps %xmm14,0x230(%rsp)
movaps %xmm7,0x20(%rsp)
movaps %xmm6,0x220(%rsp)
movaps %xmm3,0x210(%rsp)
movaps %xmm5,0x200(%rsp)
movaps %xmm2,0x1f0(%rsp)
movaps %xmm1,-0x50(%rsp)
movaps 0x190(%rsp),%xmm13
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    %rax,0x38(%rsp)
ucomiss %xmm10,%xmm11
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x61(%rsp)
movaps 0x1e0(%rsp),%xmm8
ucomiss %xmm10,%xmm8
movaps 0x1a0(%rsp),%xmm14
movaps 0x40(%rsp),%xmm5
movaps 0x170(%rsp),%xmm12
movaps 0x150(%rsp),%xmm2
movaps 0x50(%rsp),%xmm3
movaps 0x60(%rsp),%xmm4
movaps 0x70(%rsp),%xmm1
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x62(%rsp)
ucomiss %xmm10,%xmm1
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x63(%rsp)
ucomiss %xmm10,%xmm4
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x64(%rsp)
movaps -0x40(%rsp),%xmm6
ucomiss %xmm10,%xmm6
movaps 0x180(%rsp),%xmm6
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x65(%rsp)
ucomiss %xmm10,%xmm0
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x66(%rsp)
ucomiss %xmm10,%xmm3
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x67(%rsp)
ucomiss %xmm10,%xmm5
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x68(%rsp)
ucomiss %xmm10,%xmm14
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x69(%rsp)
ucomiss %xmm10,%xmm13
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x6a(%rsp)
ucomiss %xmm10,%xmm2
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x6b(%rsp)
movaps -0x30(%rsp),%xmm7
ucomiss %xmm10,%xmm7
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x6c(%rsp)
movaps 0x1d0(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x6d(%rsp)
ucomiss %xmm10,%xmm6
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x6e(%rsp)
ucomiss %xmm10,%xmm12
movaps 0x130(%rsp),%xmm8
movaps 0x120(%rsp),%xmm1
movaps 0x20(%rsp),%xmm2
movaps 0x230(%rsp),%xmm7
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x6f(%rsp)
movaps -0x20(%rsp),%xmm5
ucomiss %xmm10,%xmm5
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x70(%rsp)
movaps 0x1b0(%rsp),%xmm6
ucomiss %xmm10,%xmm6
movaps 0x80(%rsp),%xmm12
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x77(%rsp)
movaps 0x160(%rsp),%xmm3
ucomiss %xmm10,%xmm3
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x71(%rsp)
movaps 0x1c0(%rsp),%xmm14
ucomiss %xmm10,%xmm14
movaps 0x200(%rsp),%xmm5
movaps 0x210(%rsp),%xmm3
movaps 0x220(%rsp),%xmm6
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,0x30(%rsp)
ucomiss %xmm10,%xmm12
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x72(%rsp)
movaps 0x140(%rsp),%xmm4
ucomiss %xmm10,%xmm4
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x73(%rsp)
movaps %xmm7,%xmm14
ucomiss %xmm10,%xmm7
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x74(%rsp)
ucomiss %xmm10,%xmm1
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x75(%rsp)
movaps %xmm2,%xmm7
ucomiss %xmm10,%xmm2
movaps 0x1f0(%rsp),%xmm2
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x76(%rsp)
ucomiss %xmm10,%xmm3
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x60(%rsp)
ucomiss %xmm10,%xmm6
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x78(%rsp)
ucomiss %xmm10,%xmm8
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x7a(%rsp)
ucomiss %xmm10,%xmm9
setnp  %al
sete   %cl
and    %al,%cl
mov    %cl,-0x7b(%rsp)
ucomiss %xmm10,%xmm2
setnp  %al
sete   %r13b
and    %al,%r13b
ucomiss %xmm10,%xmm15
setnp  %al
sete   %r12b
and    %al,%r12b
ucomiss %xmm10,%xmm5
setnp  %al
sete   %r14b
and    %al,%r14b
movaps 0x10(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %r11b
and    %al,%r11b
movaps 0xf0(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %r10b
and    %al,%r10b
movaps 0x100(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %r9b
and    %al,%r9b
movaps 0x110(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %bpl
and    %al,%bpl
movaps -0x10(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %r8b
and    %al,%r8b
movaps 0xc0(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %dil
and    %al,%dil
movaps 0xd0(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %al
sete   %cl
and    %al,%cl
movaps 0xe0(%rsp),%xmm1
ucomiss %xmm10,%xmm1
setnp  %dl
sete   %al
and    %dl,%al
movaps -0x50(%rsp),%xmm4
movaps %xmm4,%xmm1
ucomiss %xmm10,%xmm4
setnp  %sil
sete   %dl
and    %sil,%dl
mov    %r15d,%ebx
shr    %bl
and    %al,%bl
mov    %r15d,%eax
shr    $0x2,%al
and    %cl,%al
mov    %r15d,%ecx
shr    $0x3,%cl
and    %dil,%cl
or     %al,%cl
mov    %cl,-0x79(%rsp)
mov    %r15d,%eax
shr    $0x4,%al
and    %r8b,%al
mov    %r15d,%ecx
shr    $0x5,%cl
and    %bpl,%cl
mov    %ecx,%ebp
mov    %r15d,%ecx
shr    $0x6,%cl
and    %r9b,%cl
mov    %cl,-0x7d(%rsp)
mov    %r15d,%ecx
shr    $0x7,%cl
and    %r10b,%cl
or     %al,%bpl
mov    %r15,%rax
shr    $0x8,%rax
and    %r11b,%al
and    %r15b,%dl
or     %dl,%bl
mov    %bl,-0x7c(%rsp)
or     %cl,%al
mov    %rax,0xa8(%rsp)
mov    %r15,%rax
shr    $0x9,%rax
and    %r14b,%al
mov    %rax,0xa0(%rsp)
mov    %r15,%rax
shr    $0xa,%rax
and    %r12b,%al
mov    %rax,(%rsp)
mov    %r15,%rax
shr    $0xb,%rax
and    %r13b,%al
mov    %rax,0x98(%rsp)
mov    %r15,%rbx
shr    $0xc,%rbx
and    -0x7b(%rsp),%bl
mov    %r15,%r9
shr    $0xd,%r9
and    -0x7a(%rsp),%r9b
mov    %r15,%r10
shr    $0xe,%r10
and    -0x78(%rsp),%r10b
mov    %r15,%rax
shr    $0xf,%rax
and    -0x60(%rsp),%al
mov    %rax,-0x60(%rsp)
mov    %r15,%r13
shr    $0x10,%r13
and    -0x76(%rsp),%r13b
mov    %r15,%r8
shr    $0x11,%r8
and    -0x75(%rsp),%r8b
mov    %r15,%rdi
shr    $0x12,%rdi
and    -0x74(%rsp),%dil
mov    %r15,%rsi
shr    $0x13,%rsi
and    -0x73(%rsp),%sil
mov    %r15,%rcx
shr    $0x14,%rcx
and    -0x72(%rsp),%cl
mov    %r15,%rax
shr    $0x15,%rax
and    0x30(%rsp),%al
mov    %rax,0x30(%rsp)
mov    %r15,%rdx
shr    $0x16,%rdx
and    -0x71(%rsp),%dl
mov    %r15,%r14
shr    $0x17,%r14
and    -0x77(%rsp),%r14b
mov    %r15,%r12
shr    $0x18,%r12
and    -0x70(%rsp),%r12b
mov    %r15,%r11
shr    $0x19,%r11
and    -0x6f(%rsp),%r11b
or     %bpl,-0x7d(%rsp)
mov    0xa0(%rsp),%rax
or     0xa8(%rsp),%al
or     0x98(%rsp),%bl
or     %bl,%r9b
mov    (%rsp),%rbp
or     %al,%bpl
mov    %rbp,(%rsp)
or     %r9b,%r10b
or     %r13b,%r8b
or     %r8b,%dil
mov    -0x60(%rsp),%rbx
or     %r10b,%bl
or     %dil,%sil
or     %sil,%cl
or     %dl,%r14b
mov    0x30(%rsp),%rdx
or     %cl,%dl
or     %r14b,%r12b
mov    %r15,%rdi
shr    $0x1a,%rdi
and    -0x6e(%rsp),%dil
movzbl -0x79(%rsp),%ecx
or     -0x7c(%rsp),%cl
mov    %r15,%r9
shr    $0x1b,%r9
and    -0x6d(%rsp),%r9b
or     %r12b,%r11b
mov    %r15,%r14
shr    $0x1c,%r14
and    -0x6c(%rsp),%r14b
mov    %r15,%r8
shr    $0x1d,%r8
and    -0x6b(%rsp),%r8b
movzbl -0x7d(%rsp),%eax
or     %cl,%al
mov    %r15,%r10
shr    $0x1e,%r10
and    -0x6a(%rsp),%r10b
or     %r11b,%dil
mov    %r15,%r11
shr    $0x1f,%r11
and    -0x69(%rsp),%r11b
mov    %r15,%r12
shr    $0x20,%r12
and    -0x68(%rsp),%r12b
mov    (%rsp),%rsi
or     %al,%sil
mov    %r15,%r13
shr    $0x21,%r13
and    -0x67(%rsp),%r13b
or     %dil,%r9b
mov    %r15,%rcx
shr    $0x22,%rcx
and    -0x66(%rsp),%cl
mov    %r15,%rdi
shr    $0x23,%rdi
and    -0x65(%rsp),%dil
or     %sil,%bl
mov    %rbx,-0x60(%rsp)
mov    %r15,%rbp
shr    $0x24,%rbp
and    -0x64(%rsp),%bpl
mov    %r15,%rax
shr    $0x25,%rax
and    -0x63(%rsp),%al
mov    %r15,%rbx
shr    $0x26,%rbx
and    -0x62(%rsp),%bl
shr    $0x27,%r15
and    -0x61(%rsp),%r15b
or     %r9b,%r14b
or     %r8b,%r10b
mov    0x290(%rsp),%rsi
or     %r10b,%r11b
or     -0x60(%rsp),%dl
or     %r11b,%r12b
or     %r12b,%r13b
or     %r13b,%cl
or     %dl,%r14b
or     %cl,%dil
or     %dil,%bpl
or     %al,%bl
or     %r14b,%bpl
or     %bl,%r15b
or     %bpl,%r15b
movzbl %r15b,%eax
and    $0x1,%eax
mov    0x298(%rsp),%rcx
mov    0x38(%rsp),%rdx
mov    %eax,(%rcx,%rdx,1)
mov    0x38(%rsp),%rax
mov    0x8(%rsi,%rax,2),%r15
add    $0x4,%rax
test   %r15,%r15
jne    21b0 <test_add+0x10b0>
addss  0xe0(%rsp),%xmm1
addss  0xd0(%rsp),%xmm1
addss  0xc0(%rsp),%xmm1
addss  -0x10(%rsp),%xmm1
addss  0x110(%rsp),%xmm1
addss  0x100(%rsp),%xmm1
addss  0xf0(%rsp),%xmm1
addss  0x10(%rsp),%xmm1
addss  %xmm5,%xmm1
addss  %xmm15,%xmm1
addss  %xmm2,%xmm1
addss  %xmm9,%xmm1
addss  0x130(%rsp),%xmm1
addss  %xmm6,%xmm1
addss  %xmm3,%xmm1
addss  %xmm7,%xmm1
addss  0x120(%rsp),%xmm1
addss  %xmm14,%xmm1
addss  0x140(%rsp),%xmm1
addss  %xmm12,%xmm1
addss  0x1c0(%rsp),%xmm1
addss  0x160(%rsp),%xmm1
addss  0x1b0(%rsp),%xmm1
addss  -0x20(%rsp),%xmm1
addss  0x170(%rsp),%xmm1
addss  0x180(%rsp),%xmm1
addss  0x1d0(%rsp),%xmm1
addss  -0x30(%rsp),%xmm1
addss  0x150(%rsp),%xmm1
addss  0x190(%rsp),%xmm1
addss  0x1a0(%rsp),%xmm1
addss  0x40(%rsp),%xmm1
addss  0x50(%rsp),%xmm1
addss  %xmm0,%xmm1
addss  -0x40(%rsp),%xmm1
addss  0x60(%rsp),%xmm1
addss  0x70(%rsp),%xmm1
addss  0x1e0(%rsp),%xmm1
addss  %xmm11,%xmm1
movaps %xmm1,%xmm0
add    $0x248,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define float @test_add(i64* %0, float* %1, i64* %2, float* %3, i64* %4, float* %5, i64* %6, float* %7, i64* %8, i32* %9) {
%11 = alloca i64*
%12 = alloca float*
%13 = alloca i64*
%14 = alloca float*
%15 = alloca i64*
%16 = alloca float*
%17 = alloca i64*
%18 = alloca float*
%19 = alloca i64*
%20 = alloca i32*
%21 = alloca float
%22 = alloca float
%23 = alloca float
%24 = alloca float
%25 = alloca float
%26 = alloca float
%27 = alloca float
%28 = alloca float
%29 = alloca float
%30 = alloca float
%31 = alloca float
%32 = alloca float
%33 = alloca float
%34 = alloca float
%35 = alloca float
%36 = alloca float
%37 = alloca float
%38 = alloca float
%39 = alloca float
%40 = alloca float
%41 = alloca float
%42 = alloca float
%43 = alloca float
%44 = alloca float
%45 = alloca float
%46 = alloca float
%47 = alloca float
%48 = alloca float
%49 = alloca float
%50 = alloca float
%51 = alloca float
%52 = alloca float
%53 = alloca float
%54 = alloca float
%55 = alloca float
%56 = alloca float
%57 = alloca float
%58 = alloca float
%59 = alloca float
%60 = alloca float
%61 = alloca float
%62 = alloca i64
%63 = alloca i32
store i64* %0, i64** %11
store float* %1, float** %12
store i64* %2, i64** %13
store float* %3, float** %14
store i64* %4, i64** %15
store float* %5, float** %16
store i64* %6, i64** %17
store float* %7, float** %18
store i64* %8, i64** %19
store i32* %9, i32** %20
store float 0.000000e+00, float* %22
store float 0.000000e+00, float* %23
store float 0.000000e+00, float* %24
store float 0.000000e+00, float* %25
store float 0.000000e+00, float* %26
store float 0.000000e+00, float* %27
store float 0.000000e+00, float* %28
store float 0.000000e+00, float* %29
store float 0.000000e+00, float* %30
store float 0.000000e+00, float* %31
store float 0.000000e+00, float* %32
store float 0.000000e+00, float* %33
store float 0.000000e+00, float* %34
store float 0.000000e+00, float* %35
store float 0.000000e+00, float* %36
store float 0.000000e+00, float* %37
store float 0.000000e+00, float* %38
store float 0.000000e+00, float* %39
store float 0.000000e+00, float* %40
store float 0.000000e+00, float* %41
store float 0.000000e+00, float* %42
store float 0.000000e+00, float* %43
store float 0.000000e+00, float* %44
store float 0.000000e+00, float* %45
store float 0.000000e+00, float* %46
store float 0.000000e+00, float* %47
store float 0.000000e+00, float* %48
store float 0.000000e+00, float* %49
store float 0.000000e+00, float* %50
store float 0.000000e+00, float* %51
store float 0.000000e+00, float* %52
store float 0.000000e+00, float* %53
store float 0.000000e+00, float* %54
store float 0.000000e+00, float* %55
store float 0.000000e+00, float* %56
store float 0.000000e+00, float* %57
store float 0.000000e+00, float* %58
store float 0.000000e+00, float* %59
store float 0.000000e+00, float* %60
store float 0.000000e+00, float* %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 float*, float** %12
%71 = getelementptr inbounds float, float* %70, i32 1
store float* %71, float** %12
%72 = load float, float* %70
store float %72, float* %21
%73 = load float, float* %21
%74 = call float asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(float %73)
store float %74, float* %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 float, float* %21
%80 = load float, float* %22
%81 = fadd float %80, %79
store float %81, float* %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 float, float* %21
%88 = load float, float* %23
%89 = fadd float %88, %87
store float %89, float* %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 float, float* %21
%96 = load float, float* %24
%97 = fadd float %96, %95
store float %97, float* %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 float, float* %21
%104 = load float, float* %25
%105 = fadd float %104, %103
store float %105, float* %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 float, float* %21
%112 = load float, float* %26
%113 = fadd float %112, %111
store float %113, float* %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 float, float* %21
%120 = load float, float* %27
%121 = fadd float %120, %119
store float %121, float* %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 float, float* %21
%128 = load float, float* %28
%129 = fadd float %128, %127
store float %129, float* %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 float, float* %21
%136 = load float, float* %29
%137 = fadd float %136, %135
store float %137, float* %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 float, float* %21
%144 = load float, float* %30
%145 = fadd float %144, %143
store float %145, float* %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 float, float* %21
%152 = load float, float* %31
%153 = fadd float %152, %151
store float %153, float* %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 float, float* %21
%160 = load float, float* %32
%161 = fadd float %160, %159
store float %161, float* %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 float, float* %21
%168 = load float, float* %33
%169 = fadd float %168, %167
store float %169, float* %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 float, float* %21
%176 = load float, float* %34
%177 = fadd float %176, %175
store float %177, float* %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 float, float* %21
%184 = load float, float* %35
%185 = fadd float %184, %183
store float %185, float* %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 float, float* %21
%192 = load float, float* %36
%193 = fadd float %192, %191
store float %193, float* %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 float, float* %21
%200 = load float, float* %37
%201 = fadd float %200, %199
store float %201, float* %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 float, float* %21
%208 = load float, float* %38
%209 = fadd float %208, %207
store float %209, float* %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 float, float* %21
%216 = load float, float* %39
%217 = fadd float %216, %215
store float %217, float* %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 float, float* %21
%224 = load float, float* %40
%225 = fadd float %224, %223
store float %225, float* %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 float, float* %21
%232 = load float, float* %41
%233 = fadd float %232, %231
store float %233, float* %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 float, float* %21
%240 = load float, float* %42
%241 = fadd float %240, %239
store float %241, float* %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 float, float* %21
%248 = load float, float* %43
%249 = fadd float %248, %247
store float %249, float* %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 float, float* %21
%256 = load float, float* %44
%257 = fadd float %256, %255
store float %257, float* %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 float, float* %21
%264 = load float, float* %45
%265 = fadd float %264, %263
store float %265, float* %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 float, float* %21
%272 = load float, float* %46
%273 = fadd float %272, %271
store float %273, float* %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 float, float* %21
%280 = load float, float* %47
%281 = fadd float %280, %279
store float %281, float* %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 float, float* %21
%288 = load float, float* %48
%289 = fadd float %288, %287
store float %289, float* %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 float, float* %21
%296 = load float, float* %49
%297 = fadd float %296, %295
store float %297, float* %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 float, float* %21
%304 = load float, float* %50
%305 = fadd float %304, %303
store float %305, float* %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 float, float* %21
%312 = load float, float* %51
%313 = fadd float %312, %311
store float %313, float* %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 float, float* %21
%320 = load float, float* %52
%321 = fadd float %320, %319
store float %321, float* %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 float, float* %21
%328 = load float, float* %53
%329 = fadd float %328, %327
store float %329, float* %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 float, float* %21
%336 = load float, float* %54
%337 = fadd float %336, %335
store float %337, float* %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 float, float* %21
%344 = load float, float* %55
%345 = fadd float %344, %343
store float %345, float* %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 float, float* %21
%352 = load float, float* %56
%353 = fadd float %352, %351
store float %353, float* %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 float, float* %21
%360 = load float, float* %57
%361 = fadd float %360, %359
store float %361, float* %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 float, float* %21
%368 = load float, float* %58
%369 = fadd float %368, %367
store float %369, float* %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 float, float* %21
%376 = load float, float* %59
%377 = fadd float %376, %375
store float %377, float* %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 float, float* %21
%384 = load float, float* %60
%385 = fadd float %384, %383
store float %385, float* %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 float, float* %21
%392 = load float, float* %61
%393 = fadd float %392, %391
store float %393, float* %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 float*, float** %14
%403 = getelementptr inbounds float, float* %402, i32 1
store float* %403, float** %14
%404 = load float, float* %402
store float %404, float* %21
%405 = load float, float* %21
%406 = call float asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(float %405)
store float %406, float* %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 float, float* %21
%412 = load float, float* %22
%413 = fsub float %412, %411
store float %413, float* %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 float, float* %21
%420 = load float, float* %23
%421 = fsub float %420, %419
store float %421, float* %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 float, float* %21
%428 = load float, float* %24
%429 = fsub float %428, %427
store float %429, float* %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 float, float* %21
%436 = load float, float* %25
%437 = fsub float %436, %435
store float %437, float* %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 float, float* %21
%444 = load float, float* %26
%445 = fsub float %444, %443
store float %445, float* %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 float, float* %21
%452 = load float, float* %27
%453 = fsub float %452, %451
store float %453, float* %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 float, float* %21
%460 = load float, float* %28
%461 = fsub float %460, %459
store float %461, float* %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 float, float* %21
%468 = load float, float* %29
%469 = fsub float %468, %467
store float %469, float* %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 float, float* %21
%476 = load float, float* %30
%477 = fsub float %476, %475
store float %477, float* %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 float, float* %21
%484 = load float, float* %31
%485 = fsub float %484, %483
store float %485, float* %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 float, float* %21
%492 = load float, float* %32
%493 = fsub float %492, %491
store float %493, float* %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 float, float* %21
%500 = load float, float* %33
%501 = fsub float %500, %499
store float %501, float* %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 float, float* %21
%508 = load float, float* %34
%509 = fsub float %508, %507
store float %509, float* %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 float, float* %21
%516 = load float, float* %35
%517 = fsub float %516, %515
store float %517, float* %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 float, float* %21
%524 = load float, float* %36
%525 = fsub float %524, %523
store float %525, float* %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 float, float* %21
%532 = load float, float* %37
%533 = fsub float %532, %531
store float %533, float* %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 float, float* %21
%540 = load float, float* %38
%541 = fsub float %540, %539
store float %541, float* %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 float, float* %21
%548 = load float, float* %39
%549 = fsub float %548, %547
store float %549, float* %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 float, float* %21
%556 = load float, float* %40
%557 = fsub float %556, %555
store float %557, float* %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 float, float* %21
%564 = load float, float* %41
%565 = fsub float %564, %563
store float %565, float* %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 float, float* %21
%572 = load float, float* %42
%573 = fsub float %572, %571
store float %573, float* %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 float, float* %21
%580 = load float, float* %43
%581 = fsub float %580, %579
store float %581, float* %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 float, float* %21
%588 = load float, float* %44
%589 = fsub float %588, %587
store float %589, float* %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 float, float* %21
%596 = load float, float* %45
%597 = fsub float %596, %595
store float %597, float* %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 float, float* %21
%604 = load float, float* %46
%605 = fsub float %604, %603
store float %605, float* %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 float, float* %21
%612 = load float, float* %47
%613 = fsub float %612, %611
store float %613, float* %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 float, float* %21
%620 = load float, float* %48
%621 = fsub float %620, %619
store float %621, float* %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 float, float* %21
%628 = load float, float* %49
%629 = fsub float %628, %627
store float %629, float* %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 float, float* %21
%636 = load float, float* %50
%637 = fsub float %636, %635
store float %637, float* %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 float, float* %21
%644 = load float, float* %51
%645 = fsub float %644, %643
store float %645, float* %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 float, float* %21
%652 = load float, float* %52
%653 = fsub float %652, %651
store float %653, float* %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 float, float* %21
%660 = load float, float* %53
%661 = fsub float %660, %659
store float %661, float* %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 float, float* %21
%668 = load float, float* %54
%669 = fsub float %668, %667
store float %669, float* %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 float, float* %21
%676 = load float, float* %55
%677 = fsub float %676, %675
store float %677, float* %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 float, float* %21
%684 = load float, float* %56
%685 = fsub float %684, %683
store float %685, float* %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 float, float* %21
%692 = load float, float* %57
%693 = fsub float %692, %691
store float %693, float* %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 float, float* %21
%700 = load float, float* %58
%701 = fsub float %700, %699
store float %701, float* %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 float, float* %21
%708 = load float, float* %59
%709 = fsub float %708, %707
store float %709, float* %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 float, float* %21
%716 = load float, float* %60
%717 = fsub float %716, %715
store float %717, float* %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 float, float* %21
%724 = load float, float* %61
%725 = fsub float %724, %723
store float %725, float* %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 float*, float** %16
%735 = getelementptr inbounds float, float* %734, i32 1
store float* %735, float** %16
%736 = load float, float* %734
store float %736, float* %21
%737 = load float, float* %21
%738 = call float asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(float %737)
store float %738, float* %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 float, float* %21
%744 = load float, float* %22
%745 = fmul float %744, %743
store float %745, float* %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 float, float* %21
%752 = load float, float* %23
%753 = fmul float %752, %751
store float %753, float* %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 float, float* %21
%760 = load float, float* %24
%761 = fmul float %760, %759
store float %761, float* %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 float, float* %21
%768 = load float, float* %25
%769 = fmul float %768, %767
store float %769, float* %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 float, float* %21
%776 = load float, float* %26
%777 = fmul float %776, %775
store float %777, float* %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 float, float* %21
%784 = load float, float* %27
%785 = fmul float %784, %783
store float %785, float* %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 float, float* %21
%792 = load float, float* %28
%793 = fmul float %792, %791
store float %793, float* %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 float, float* %21
%800 = load float, float* %29
%801 = fmul float %800, %799
store float %801, float* %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 float, float* %21
%808 = load float, float* %30
%809 = fmul float %808, %807
store float %809, float* %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 float, float* %21
%816 = load float, float* %31
%817 = fmul float %816, %815
store float %817, float* %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 float, float* %21
%824 = load float, float* %32
%825 = fmul float %824, %823
store float %825, float* %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 float, float* %21
%832 = load float, float* %33
%833 = fmul float %832, %831
store float %833, float* %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 float, float* %21
%840 = load float, float* %34
%841 = fmul float %840, %839
store float %841, float* %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 float, float* %21
%848 = load float, float* %35
%849 = fmul float %848, %847
store float %849, float* %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 float, float* %21
%856 = load float, float* %36
%857 = fmul float %856, %855
store float %857, float* %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 float, float* %21
%864 = load float, float* %37
%865 = fmul float %864, %863
store float %865, float* %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 float, float* %21
%872 = load float, float* %38
%873 = fmul float %872, %871
store float %873, float* %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 float, float* %21
%880 = load float, float* %39
%881 = fmul float %880, %879
store float %881, float* %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 float, float* %21
%888 = load float, float* %40
%889 = fmul float %888, %887
store float %889, float* %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 float, float* %21
%896 = load float, float* %41
%897 = fmul float %896, %895
store float %897, float* %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 float, float* %21
%904 = load float, float* %42
%905 = fmul float %904, %903
store float %905, float* %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 float, float* %21
%912 = load float, float* %43
%913 = fmul float %912, %911
store float %913, float* %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 float, float* %21
%920 = load float, float* %44
%921 = fmul float %920, %919
store float %921, float* %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 float, float* %21
%928 = load float, float* %45
%929 = fmul float %928, %927
store float %929, float* %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 float, float* %21
%936 = load float, float* %46
%937 = fmul float %936, %935
store float %937, float* %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 float, float* %21
%944 = load float, float* %47
%945 = fmul float %944, %943
store float %945, float* %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 float, float* %21
%952 = load float, float* %48
%953 = fmul float %952, %951
store float %953, float* %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 float, float* %21
%960 = load float, float* %49
%961 = fmul float %960, %959
store float %961, float* %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 float, float* %21
%968 = load float, float* %50
%969 = fmul float %968, %967
store float %969, float* %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 float, float* %21
%976 = load float, float* %51
%977 = fmul float %976, %975
store float %977, float* %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 float, float* %21
%984 = load float, float* %52
%985 = fmul float %984, %983
store float %985, float* %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 float, float* %21
%992 = load float, float* %53
%993 = fmul float %992, %991
store float %993, float* %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 float, float* %21
%1000 = load float, float* %54
%1001 = fmul float %1000, %999
store float %1001, float* %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 float, float* %21
%1008 = load float, float* %55
%1009 = fmul float %1008, %1007
store float %1009, float* %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 float, float* %21
%1016 = load float, float* %56
%1017 = fmul float %1016, %1015
store float %1017, float* %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 float, float* %21
%1024 = load float, float* %57
%1025 = fmul float %1024, %1023
store float %1025, float* %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 float, float* %21
%1032 = load float, float* %58
%1033 = fmul float %1032, %1031
store float %1033, float* %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 float, float* %21
%1040 = load float, float* %59
%1041 = fmul float %1040, %1039
store float %1041, float* %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 float, float* %21
%1048 = load float, float* %60
%1049 = fmul float %1048, %1047
store float %1049, float* %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 float, float* %21
%1056 = load float, float* %61
%1057 = fmul float %1056, %1055
store float %1057, float* %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 float*, float** %18
%1067 = getelementptr inbounds float, float* %1066, i32 1
store float* %1067, float** %18
%1068 = load float, float* %1066
store float %1068, float* %21
%1069 = load float, float* %21
%1070 = call float asm " #reg $0", "={dx},0,~{dirflag},~{fpsr},~{flags}"(float %1069)
store float %1070, float* %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 float, float* %21
%1076 = load float, float* %22
%1077 = fdiv float %1076, %1075
store float %1077, float* %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 float, float* %21
%1084 = load float, float* %23
%1085 = fdiv float %1084, %1083
store float %1085, float* %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 float, float* %21
%1092 = load float, float* %24
%1093 = fdiv float %1092, %1091
store float %1093, float* %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 float, float* %21
%1100 = load float, float* %25
%1101 = fdiv float %1100, %1099
store float %1101, float* %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 float, float* %21
%1108 = load float, float* %26
%1109 = fdiv float %1108, %1107
store float %1109, float* %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 float, float* %21
%1116 = load float, float* %27
%1117 = fdiv float %1116, %1115
store float %1117, float* %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 float, float* %21
%1124 = load float, float* %28
%1125 = fdiv float %1124, %1123
store float %1125, float* %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 float, float* %21
%1132 = load float, float* %29
%1133 = fdiv float %1132, %1131
store float %1133, float* %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 float, float* %21
%1140 = load float, float* %30
%1141 = fdiv float %1140, %1139
store float %1141, float* %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 float, float* %21
%1148 = load float, float* %31
%1149 = fdiv float %1148, %1147
store float %1149, float* %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 float, float* %21
%1156 = load float, float* %32
%1157 = fdiv float %1156, %1155
store float %1157, float* %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 float, float* %21
%1164 = load float, float* %33
%1165 = fdiv float %1164, %1163
store float %1165, float* %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 float, float* %21
%1172 = load float, float* %34
%1173 = fdiv float %1172, %1171
store float %1173, float* %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 float, float* %21
%1180 = load float, float* %35
%1181 = fdiv float %1180, %1179
store float %1181, float* %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 float, float* %21
%1188 = load float, float* %36
%1189 = fdiv float %1188, %1187
store float %1189, float* %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 float, float* %21
%1196 = load float, float* %37
%1197 = fdiv float %1196, %1195
store float %1197, float* %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 float, float* %21
%1204 = load float, float* %38
%1205 = fdiv float %1204, %1203
store float %1205, float* %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 float, float* %21
%1212 = load float, float* %39
%1213 = fdiv float %1212, %1211
store float %1213, float* %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 float, float* %21
%1220 = load float, float* %40
%1221 = fdiv float %1220, %1219
store float %1221, float* %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 float, float* %21
%1228 = load float, float* %41
%1229 = fdiv float %1228, %1227
store float %1229, float* %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 float, float* %21
%1236 = load float, float* %42
%1237 = fdiv float %1236, %1235
store float %1237, float* %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 float, float* %21
%1244 = load float, float* %43
%1245 = fdiv float %1244, %1243
store float %1245, float* %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 float, float* %21
%1252 = load float, float* %44
%1253 = fdiv float %1252, %1251
store float %1253, float* %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 float, float* %21
%1260 = load float, float* %45
%1261 = fdiv float %1260, %1259
store float %1261, float* %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 float, float* %21
%1268 = load float, float* %46
%1269 = fdiv float %1268, %1267
store float %1269, float* %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 float, float* %21
%1276 = load float, float* %47
%1277 = fdiv float %1276, %1275
store float %1277, float* %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 float, float* %21
%1284 = load float, float* %48
%1285 = fdiv float %1284, %1283
store float %1285, float* %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 float, float* %21
%1292 = load float, float* %49
%1293 = fdiv float %1292, %1291
store float %1293, float* %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 float, float* %21
%1300 = load float, float* %50
%1301 = fdiv float %1300, %1299
store float %1301, float* %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 float, float* %21
%1308 = load float, float* %51
%1309 = fdiv float %1308, %1307
store float %1309, float* %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 float, float* %21
%1316 = load float, float* %52
%1317 = fdiv float %1316, %1315
store float %1317, float* %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 float, float* %21
%1324 = load float, float* %53
%1325 = fdiv float %1324, %1323
store float %1325, float* %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 float, float* %21
%1332 = load float, float* %54
%1333 = fdiv float %1332, %1331
store float %1333, float* %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 float, float* %21
%1340 = load float, float* %55
%1341 = fdiv float %1340, %1339
store float %1341, float* %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 float, float* %21
%1348 = load float, float* %56
%1349 = fdiv float %1348, %1347
store float %1349, float* %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 float, float* %21
%1356 = load float, float* %57
%1357 = fdiv float %1356, %1355
store float %1357, float* %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 float, float* %21
%1364 = load float, float* %58
%1365 = fdiv float %1364, %1363
store float %1365, float* %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 float, float* %21
%1372 = load float, float* %59
%1373 = fdiv float %1372, %1371
store float %1373, float* %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 float, float* %21
%1380 = load float, float* %60
%1381 = fdiv float %1380, %1379
store float %1381, float* %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 float, float* %21
%1388 = load float, float* %61
%1389 = fdiv float %1388, %1387
store float %1389, float* %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 float, float* %22
%1403 = fcmp oeq float %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 float, float* %23
%1413 = fcmp oeq float %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 float, float* %24
%1423 = fcmp oeq float %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 float, float* %25
%1433 = fcmp oeq float %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 float, float* %26
%1443 = fcmp oeq float %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 float, float* %27
%1453 = fcmp oeq float %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 float, float* %28
%1463 = fcmp oeq float %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 float, float* %29
%1473 = fcmp oeq float %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 float, float* %30
%1483 = fcmp oeq float %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 float, float* %31
%1493 = fcmp oeq float %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 float, float* %32
%1503 = fcmp oeq float %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 float, float* %33
%1513 = fcmp oeq float %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 float, float* %34
%1523 = fcmp oeq float %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 float, float* %35
%1533 = fcmp oeq float %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 float, float* %36
%1543 = fcmp oeq float %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 float, float* %37
%1553 = fcmp oeq float %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 float, float* %38
%1563 = fcmp oeq float %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 float, float* %39
%1573 = fcmp oeq float %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 float, float* %40
%1583 = fcmp oeq float %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 float, float* %41
%1593 = fcmp oeq float %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 float, float* %42
%1603 = fcmp oeq float %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 float, float* %43
%1613 = fcmp oeq float %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 float, float* %44
%1623 = fcmp oeq float %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 float, float* %45
%1633 = fcmp oeq float %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 float, float* %46
%1643 = fcmp oeq float %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 float, float* %47
%1653 = fcmp oeq float %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 float, float* %48
%1663 = fcmp oeq float %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 float, float* %49
%1673 = fcmp oeq float %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 float, float* %50
%1683 = fcmp oeq float %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 float, float* %51
%1693 = fcmp oeq float %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 float, float* %52
%1703 = fcmp oeq float %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 float, float* %53
%1713 = fcmp oeq float %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 float, float* %54
%1723 = fcmp oeq float %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 float, float* %55
%1733 = fcmp oeq float %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 float, float* %56
%1743 = fcmp oeq float %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 float, float* %57
%1753 = fcmp oeq float %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 float, float* %58
%1763 = fcmp oeq float %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 float, float* %59
%1773 = fcmp oeq float %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 float, float* %60
%1783 = fcmp oeq float %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 float, float* %61
%1793 = fcmp oeq float %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 float, float* %22
%1803 = load float, float* %23
%1804 = fadd float %1802, %1803
%1805 = load float, float* %24
%1806 = fadd float %1804, %1805
%1807 = load float, float* %25
%1808 = fadd float %1806, %1807
%1809 = load float, float* %26
%1810 = fadd float %1808, %1809
%1811 = load float, float* %27
%1812 = fadd float %1810, %1811
%1813 = load float, float* %28
%1814 = fadd float %1812, %1813
%1815 = load float, float* %29
%1816 = fadd float %1814, %1815
%1817 = load float, float* %30
%1818 = fadd float %1816, %1817
%1819 = load float, float* %31
%1820 = fadd float %1818, %1819
%1821 = load float, float* %32
%1822 = fadd float %1820, %1821
%1823 = load float, float* %33
%1824 = fadd float %1822, %1823
%1825 = load float, float* %34
%1826 = fadd float %1824, %1825
%1827 = load float, float* %35
%1828 = fadd float %1826, %1827
%1829 = load float, float* %36
%1830 = fadd float %1828, %1829
%1831 = load float, float* %37
%1832 = fadd float %1830, %1831
%1833 = load float, float* %38
%1834 = fadd float %1832, %1833
%1835 = load float, float* %39
%1836 = fadd float %1834, %1835
%1837 = load float, float* %40
%1838 = fadd float %1836, %1837
%1839 = load float, float* %41
%1840 = fadd float %1838, %1839
%1841 = load float, float* %42
%1842 = fadd float %1840, %1841
%1843 = load float, float* %43
%1844 = fadd float %1842, %1843
%1845 = load float, float* %44
%1846 = fadd float %1844, %1845
%1847 = load float, float* %45
%1848 = fadd float %1846, %1847
%1849 = load float, float* %46
%1850 = fadd float %1848, %1849
%1851 = load float, float* %47
%1852 = fadd float %1850, %1851
%1853 = load float, float* %48
%1854 = fadd float %1852, %1853
%1855 = load float, float* %49
%1856 = fadd float %1854, %1855
%1857 = load float, float* %50
%1858 = fadd float %1856, %1857
%1859 = load float, float* %51
%1860 = fadd float %1858, %1859
%1861 = load float, float* %52
%1862 = fadd float %1860, %1861
%1863 = load float, float* %53
%1864 = fadd float %1862, %1863
%1865 = load float, float* %54
%1866 = fadd float %1864, %1865
%1867 = load float, float* %55
%1868 = fadd float %1866, %1867
%1869 = load float, float* %56
%1870 = fadd float %1868, %1869
%1871 = load float, float* %57
%1872 = fadd float %1870, %1871
%1873 = load float, float* %58
%1874 = fadd float %1872, %1873
%1875 = load float, float* %59
%1876 = fadd float %1874, %1875
%1877 = load float, float* %60
%1878 = fadd float %1876, %1877
%1879 = load float, float* %61
%1880 = fadd float %1878, %1879
ret float %1880
}

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