void test(long *bits, long n, float one, float *p, float *q) {
  float x_00 = p[0];
  float x_01 = p[1];
  float x_02 = p[2];
  float x_03 = p[3];
  float x_04 = p[4];
  float x_05 = p[5];
  float x_06 = p[6];
  float x_07 = p[7];
  float x_08 = p[8];
  float x_09 = p[9];
  float x_10 = p[10];
  float x_11 = p[11];
  float x_12 = p[12];
  float x_13 = p[13];
  float x_14 = p[14];
  float x_15 = p[15];
  float x_16 = p[16];
  float x_17 = p[17];
  float x_18 = p[18];
  float x_19 = p[19];
  float x_20 = p[20];
  float x_21 = p[21];
  float x_22 = p[22];
  float x_23 = p[23];
  float x_24 = p[24];
  float x_25 = p[25];
  float x_26 = p[26];
  float x_27 = p[27];
  float x_28 = p[28];
  float x_29 = p[29];
  float x_30 = p[30];
  float x_31 = p[31];
  float x_32 = p[32];
  float x_33 = p[33];
  float x_34 = p[34];
  float x_35 = p[35];
  float x_36 = p[36];
  float x_37 = p[37];
  float x_38 = p[38];
  float x_39 = p[39];
  float x_40 = p[40];
  float x_41 = p[41];
  float x_42 = p[42];
  float x_43 = p[43];
  float x_44 = p[44];
  float x_45 = p[45];
  float x_46 = p[46];
  float x_47 = p[47];
  float x_48 = p[48];
  float x_49 = p[49];
  long i;
  for (i = 0; i < n; i++) {
    long bit = (bits[i]);
    if ((bit & ((long)1) << 0) != 0)
      x_00 += one;
    if ((bit & ((long)1) << 1) != 0)
      x_01 += one;
    if ((bit & ((long)1) << 2) != 0)
      x_02 += one;
    if ((bit & ((long)1) << 3) != 0)
      x_03 += one;
    if ((bit & ((long)1) << 4) != 0)
      x_04 += one;
    if ((bit & ((long)1) << 5) != 0)
      x_05 += one;
    if ((bit & ((long)1) << 6) != 0)
      x_06 += one;
    if ((bit & ((long)1) << 7) != 0)
      x_07 += one;
    if ((bit & ((long)1) << 8) != 0)
      x_08 += one;
    if ((bit & ((long)1) << 9) != 0)
      x_09 += one;
    if ((bit & ((long)1) << 10) != 0)
      x_10 += one;
    if ((bit & ((long)1) << 11) != 0)
      x_11 += one;
    if ((bit & ((long)1) << 12) != 0)
      x_12 += one;
    if ((bit & ((long)1) << 13) != 0)
      x_13 += one;
    if ((bit & ((long)1) << 14) != 0)
      x_14 += one;
    if ((bit & ((long)1) << 15) != 0)
      x_15 += one;
    if ((bit & ((long)1) << 16) != 0)
      x_16 += one;
    if ((bit & ((long)1) << 17) != 0)
      x_17 += one;
    if ((bit & ((long)1) << 18) != 0)
      x_18 += one;
    if ((bit & ((long)1) << 19) != 0)
      x_19 += one;
    if ((bit & ((long)1) << 20) != 0)
      x_20 += one;
    if ((bit & ((long)1) << 21) != 0)
      x_21 += one;
    if ((bit & ((long)1) << 22) != 0)
      x_22 += one;
    if ((bit & ((long)1) << 23) != 0)
      x_23 += one;
    if ((bit & ((long)1) << 24) != 0)
      x_24 += one;
    if ((bit & ((long)1) << 25) != 0)
      x_25 += one;
    if ((bit & ((long)1) << 26) != 0)
      x_26 += one;
    if ((bit & ((long)1) << 27) != 0)
      x_27 += one;
    if ((bit & ((long)1) << 28) != 0)
      x_28 += one;
    if ((bit & ((long)1) << 29) != 0)
      x_29 += one;
    if ((bit & ((long)1) << 30) != 0)
      x_30 += one;
    if ((bit & ((long)1) << 31) != 0)
      x_31 += one;
    if ((bit & ((long)1) << 32) != 0)
      x_32 += one;
    if ((bit & ((long)1) << 33) != 0)
      x_33 += one;
    if ((bit & ((long)1) << 34) != 0)
      x_34 += one;
    if ((bit & ((long)1) << 35) != 0)
      x_35 += one;
    if ((bit & ((long)1) << 36) != 0)
      x_36 += one;
    if ((bit & ((long)1) << 37) != 0)
      x_37 += one;
    if ((bit & ((long)1) << 38) != 0)
      x_38 += one;
    if ((bit & ((long)1) << 39) != 0)
      x_39 += one;
    if ((bit & ((long)1) << 40) != 0)
      x_40 += one;
    if ((bit & ((long)1) << 41) != 0)
      x_41 += one;
    if ((bit & ((long)1) << 42) != 0)
      x_42 += one;
    if ((bit & ((long)1) << 43) != 0)
      x_43 += one;
    if ((bit & ((long)1) << 44) != 0)
      x_44 += one;
    if ((bit & ((long)1) << 45) != 0)
      x_45 += one;
    if ((bit & ((long)1) << 46) != 0)
      x_46 += one;
    if ((bit & ((long)1) << 47) != 0)
      x_47 += one;
    if ((bit & ((long)1) << 48) != 0)
      x_48 += one;
    if ((bit & ((long)1) << 49) != 0)
      x_49 += one;
  }
  q[0] = x_00;
  q[1] = x_01;
  q[2] = x_02;
  q[3] = x_03;
  q[4] = x_04;
  q[5] = x_05;
  q[6] = x_06;
  q[7] = x_07;
  q[8] = x_08;
  q[9] = x_09;
  q[10] = x_10;
  q[11] = x_11;
  q[12] = x_12;
  q[13] = x_13;
  q[14] = x_14;
  q[15] = x_15;
  q[16] = x_16;
  q[17] = x_17;
  q[18] = x_18;
  q[19] = x_19;
  q[20] = x_20;
  q[21] = x_21;
  q[22] = x_22;
  q[23] = x_23;
  q[24] = x_24;
  q[25] = x_25;
  q[26] = x_26;
  q[27] = x_27;
  q[28] = x_28;
  q[29] = x_29;
  q[30] = x_30;
  q[31] = x_31;
  q[32] = x_32;
  q[33] = x_33;
  q[34] = x_34;
  q[35] = x_35;
  q[36] = x_36;
  q[37] = x_37;
  q[38] = x_38;
  q[39] = x_39;
  q[40] = x_40;
  q[41] = x_41;
  q[42] = x_42;
  q[43] = x_43;
  q[44] = x_44;
  q[45] = x_45;
  q[46] = x_46;
  q[47] = x_47;
  q[48] = x_48;
  q[49] = x_49;
}


x86 assembly (clang, -O0):
<test>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movss  %xmm0,-0x14(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
mov    -0x20(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x2c(%rbp)
mov    -0x20(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x30(%rbp)
mov    -0x20(%rbp),%rax
movss  0x8(%rax),%xmm0
movss  %xmm0,-0x34(%rbp)
mov    -0x20(%rbp),%rax
movss  0xc(%rax),%xmm0
movss  %xmm0,-0x38(%rbp)
mov    -0x20(%rbp),%rax
movss  0x10(%rax),%xmm0
movss  %xmm0,-0x3c(%rbp)
mov    -0x20(%rbp),%rax
movss  0x14(%rax),%xmm0
movss  %xmm0,-0x40(%rbp)
mov    -0x20(%rbp),%rax
movss  0x18(%rax),%xmm0
movss  %xmm0,-0x44(%rbp)
mov    -0x20(%rbp),%rax
movss  0x1c(%rax),%xmm0
movss  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
movss  0x20(%rax),%xmm0
movss  %xmm0,-0x4c(%rbp)
mov    -0x20(%rbp),%rax
movss  0x24(%rax),%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0x20(%rbp),%rax
movss  0x28(%rax),%xmm0
movss  %xmm0,-0x54(%rbp)
mov    -0x20(%rbp),%rax
movss  0x2c(%rax),%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0x20(%rbp),%rax
movss  0x30(%rax),%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x20(%rbp),%rax
movss  0x34(%rax),%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0x20(%rbp),%rax
movss  0x38(%rax),%xmm0
movss  %xmm0,-0x64(%rbp)
mov    -0x20(%rbp),%rax
movss  0x3c(%rax),%xmm0
movss  %xmm0,-0x68(%rbp)
mov    -0x20(%rbp),%rax
movss  0x40(%rax),%xmm0
movss  %xmm0,-0x6c(%rbp)
mov    -0x20(%rbp),%rax
movss  0x44(%rax),%xmm0
movss  %xmm0,-0x70(%rbp)
mov    -0x20(%rbp),%rax
movss  0x48(%rax),%xmm0
movss  %xmm0,-0x74(%rbp)
mov    -0x20(%rbp),%rax
movss  0x4c(%rax),%xmm0
movss  %xmm0,-0x78(%rbp)
mov    -0x20(%rbp),%rax
movss  0x50(%rax),%xmm0
movss  %xmm0,-0x7c(%rbp)
mov    -0x20(%rbp),%rax
movss  0x54(%rax),%xmm0
movss  %xmm0,-0x80(%rbp)
mov    -0x20(%rbp),%rax
movss  0x58(%rax),%xmm0
movss  %xmm0,-0x84(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x5c(%rax),%xmm0
movss  %xmm0,-0x88(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x60(%rax),%xmm0
movss  %xmm0,-0x8c(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x64(%rax),%xmm0
movss  %xmm0,-0x90(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x68(%rax),%xmm0
movss  %xmm0,-0x94(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x6c(%rax),%xmm0
movss  %xmm0,-0x98(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x70(%rax),%xmm0
movss  %xmm0,-0x9c(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x74(%rax),%xmm0
movss  %xmm0,-0xa0(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x78(%rax),%xmm0
movss  %xmm0,-0xa4(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x7c(%rax),%xmm0
movss  %xmm0,-0xa8(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x80(%rax),%xmm0
movss  %xmm0,-0xac(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x84(%rax),%xmm0
movss  %xmm0,-0xb0(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x88(%rax),%xmm0
movss  %xmm0,-0xb4(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x8c(%rax),%xmm0
movss  %xmm0,-0xb8(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x90(%rax),%xmm0
movss  %xmm0,-0xbc(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x94(%rax),%xmm0
movss  %xmm0,-0xc0(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x98(%rax),%xmm0
movss  %xmm0,-0xc4(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0x9c(%rax),%xmm0
movss  %xmm0,-0xc8(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xa0(%rax),%xmm0
movss  %xmm0,-0xcc(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xa4(%rax),%xmm0
movss  %xmm0,-0xd0(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xa8(%rax),%xmm0
movss  %xmm0,-0xd4(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xac(%rax),%xmm0
movss  %xmm0,-0xd8(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xb0(%rax),%xmm0
movss  %xmm0,-0xdc(%rbp)
mov    -0x20(%rbp),%rax
movss  0xb4(%rax),%xmm0
movss  %xmm0,-0xe0(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xb8(%rax),%xmm0
movss  %xmm0,-0xe4(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xbc(%rax),%xmm0
movss  %xmm0,-0xe8(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xc0(%rax),%xmm0
movss  %xmm0,-0xec(%rbp)
ff
mov    -0x20(%rbp),%rax
movss  0xc4(%rax),%xmm0
movss  %xmm0,-0xf0(%rbp)
ff
movq   $0x0,-0xf8(%rbp)
mov    -0xf8(%rbp),%rax
cmp    -0x10(%rbp),%rax
jge    1d05 <test+0xc05>
mov    -0x8(%rbp),%rax
mov    -0xf8(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
and    $0x1,%rax
cmp    $0x0,%rax
je     14bb <test+0x3bb>
movss  -0x14(%rbp),%xmm0
addss  -0x2c(%rbp),%xmm0
movss  %xmm0,-0x2c(%rbp)
mov    -0x100(%rbp),%rax
and    $0x2,%rax
cmp    $0x0,%rax
je     14df <test+0x3df>
movss  -0x14(%rbp),%xmm0
addss  -0x30(%rbp),%xmm0
movss  %xmm0,-0x30(%rbp)
mov    -0x100(%rbp),%rax
and    $0x4,%rax
cmp    $0x0,%rax
je     1503 <test+0x403>
movss  -0x14(%rbp),%xmm0
addss  -0x34(%rbp),%xmm0
movss  %xmm0,-0x34(%rbp)
mov    -0x100(%rbp),%rax
and    $0x8,%rax
cmp    $0x0,%rax
je     1527 <test+0x427>
movss  -0x14(%rbp),%xmm0
addss  -0x38(%rbp),%xmm0
movss  %xmm0,-0x38(%rbp)
mov    -0x100(%rbp),%rax
and    $0x10,%rax
cmp    $0x0,%rax
je     154b <test+0x44b>
movss  -0x14(%rbp),%xmm0
addss  -0x3c(%rbp),%xmm0
movss  %xmm0,-0x3c(%rbp)
mov    -0x100(%rbp),%rax
and    $0x20,%rax
cmp    $0x0,%rax
je     156f <test+0x46f>
movss  -0x14(%rbp),%xmm0
addss  -0x40(%rbp),%xmm0
movss  %xmm0,-0x40(%rbp)
mov    -0x100(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     1593 <test+0x493>
movss  -0x14(%rbp),%xmm0
addss  -0x44(%rbp),%xmm0
movss  %xmm0,-0x44(%rbp)
mov    -0x100(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     15b9 <test+0x4b9>
movss  -0x14(%rbp),%xmm0
addss  -0x48(%rbp),%xmm0
movss  %xmm0,-0x48(%rbp)
mov    -0x100(%rbp),%rax
and    $0x100,%rax
cmp    $0x0,%rax
je     15df <test+0x4df>
movss  -0x14(%rbp),%xmm0
addss  -0x4c(%rbp),%xmm0
movss  %xmm0,-0x4c(%rbp)
mov    -0x100(%rbp),%rax
and    $0x200,%rax
cmp    $0x0,%rax
je     1605 <test+0x505>
movss  -0x14(%rbp),%xmm0
addss  -0x50(%rbp),%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0x100(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     162b <test+0x52b>
movss  -0x14(%rbp),%xmm0
addss  -0x54(%rbp),%xmm0
movss  %xmm0,-0x54(%rbp)
mov    -0x100(%rbp),%rax
and    $0x800,%rax
cmp    $0x0,%rax
je     1651 <test+0x551>
movss  -0x14(%rbp),%xmm0
addss  -0x58(%rbp),%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0x100(%rbp),%rax
and    $0x1000,%rax
cmp    $0x0,%rax
je     1677 <test+0x577>
movss  -0x14(%rbp),%xmm0
addss  -0x5c(%rbp),%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x100(%rbp),%rax
and    $0x2000,%rax
cmp    $0x0,%rax
je     169d <test+0x59d>
movss  -0x14(%rbp),%xmm0
addss  -0x60(%rbp),%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0x100(%rbp),%rax
and    $0x4000,%rax
cmp    $0x0,%rax
je     16c3 <test+0x5c3>
movss  -0x14(%rbp),%xmm0
addss  -0x64(%rbp),%xmm0
movss  %xmm0,-0x64(%rbp)
mov    -0x100(%rbp),%rax
and    $0x8000,%rax
cmp    $0x0,%rax
je     16e9 <test+0x5e9>
movss  -0x14(%rbp),%xmm0
addss  -0x68(%rbp),%xmm0
movss  %xmm0,-0x68(%rbp)
mov    -0x100(%rbp),%rax
and    $0x10000,%rax
cmp    $0x0,%rax
je     170f <test+0x60f>
movss  -0x14(%rbp),%xmm0
addss  -0x6c(%rbp),%xmm0
movss  %xmm0,-0x6c(%rbp)
mov    -0x100(%rbp),%rax
and    $0x20000,%rax
cmp    $0x0,%rax
je     1735 <test+0x635>
movss  -0x14(%rbp),%xmm0
addss  -0x70(%rbp),%xmm0
movss  %xmm0,-0x70(%rbp)
mov    -0x100(%rbp),%rax
and    $0x40000,%rax
cmp    $0x0,%rax
je     175b <test+0x65b>
movss  -0x14(%rbp),%xmm0
addss  -0x74(%rbp),%xmm0
movss  %xmm0,-0x74(%rbp)
mov    -0x100(%rbp),%rax
and    $0x80000,%rax
cmp    $0x0,%rax
je     1781 <test+0x681>
movss  -0x14(%rbp),%xmm0
addss  -0x78(%rbp),%xmm0
movss  %xmm0,-0x78(%rbp)
mov    -0x100(%rbp),%rax
and    $0x100000,%rax
cmp    $0x0,%rax
je     17a7 <test+0x6a7>
movss  -0x14(%rbp),%xmm0
addss  -0x7c(%rbp),%xmm0
movss  %xmm0,-0x7c(%rbp)
mov    -0x100(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     17cd <test+0x6cd>
movss  -0x14(%rbp),%xmm0
addss  -0x80(%rbp),%xmm0
movss  %xmm0,-0x80(%rbp)
mov    -0x100(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     17f9 <test+0x6f9>
movss  -0x14(%rbp),%xmm0
addss  -0x84(%rbp),%xmm0
ff
movss  %xmm0,-0x84(%rbp)
ff
mov    -0x100(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     1825 <test+0x725>
movss  -0x14(%rbp),%xmm0
addss  -0x88(%rbp),%xmm0
ff
movss  %xmm0,-0x88(%rbp)
ff
mov    -0x100(%rbp),%rax
and    $0x1000000,%rax
cmp    $0x0,%rax
je     1851 <test+0x751>
movss  -0x14(%rbp),%xmm0
addss  -0x8c(%rbp),%xmm0
ff
movss  %xmm0,-0x8c(%rbp)
ff
mov    -0x100(%rbp),%rax
and    $0x2000000,%rax
cmp    $0x0,%rax
je     187d <test+0x77d>
movss  -0x14(%rbp),%xmm0
addss  -0x90(%rbp),%xmm0
ff
movss  %xmm0,-0x90(%rbp)
ff
mov    -0x100(%rbp),%rax
and    $0x4000000,%rax
cmp    $0x0,%rax
je     18a9 <test+0x7a9>
movss  -0x14(%rbp),%xmm0
addss  -0x94(%rbp),%xmm0
ff
movss  %xmm0,-0x94(%rbp)
ff
mov    -0x100(%rbp),%rax
and    $0x8000000,%rax
cmp    $0x0,%rax
je     18d5 <test+0x7d5>
movss  -0x14(%rbp),%xmm0
addss  -0x98(%rbp),%xmm0
ff
movss  %xmm0,-0x98(%rbp)
ff
mov    -0x100(%rbp),%rax
and    $0x10000000,%rax
cmp    $0x0,%rax
je     1901 <test+0x801>
movss  -0x14(%rbp),%xmm0
addss  -0x9c(%rbp),%xmm0
ff
movss  %xmm0,-0x9c(%rbp)
mov    -0x100(%rbp),%rax
and    $0x20000000,%rax
cmp    $0x0,%rax
je     192d <test+0x82d>
movss  -0x14(%rbp),%xmm0
addss  -0xa0(%rbp),%xmm0
ff
movss  %xmm0,-0xa0(%rbp)
ff
mov    -0x100(%rbp),%rax
and    $0x40000000,%rax
cmp    $0x0,%rax
je     1959 <test+0x859>
movss  -0x14(%rbp),%xmm0
addss  -0xa4(%rbp),%xmm0
ff
movss  %xmm0,-0xa4(%rbp)
ff
movabs $0x80000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1989 <test+0x889>
movss  -0x14(%rbp),%xmm0
addss  -0xa8(%rbp),%xmm0
ff
movss  %xmm0,-0xa8(%rbp)
ff
movabs $0x100000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     19b9 <test+0x8b9>
movss  -0x14(%rbp),%xmm0
addss  -0xac(%rbp),%xmm0
ff
movss  %xmm0,-0xac(%rbp)
ff
movabs $0x200000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     19e9 <test+0x8e9>
movss  -0x14(%rbp),%xmm0
addss  -0xb0(%rbp),%xmm0
ff
movss  %xmm0,-0xb0(%rbp)
ff
movabs $0x400000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1a19 <test+0x919>
movss  -0x14(%rbp),%xmm0
addss  -0xb4(%rbp),%xmm0
ff
movss  %xmm0,-0xb4(%rbp)
ff
movabs $0x800000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1a49 <test+0x949>
movss  -0x14(%rbp),%xmm0
addss  -0xb8(%rbp),%xmm0
ff
movss  %xmm0,-0xb8(%rbp)
ff
movabs $0x1000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1a79 <test+0x979>
movss  -0x14(%rbp),%xmm0
addss  -0xbc(%rbp),%xmm0
ff
movss  %xmm0,-0xbc(%rbp)
ff
movabs $0x2000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1aa9 <test+0x9a9>
movss  -0x14(%rbp),%xmm0
addss  -0xc0(%rbp),%xmm0
ff
movss  %xmm0,-0xc0(%rbp)
ff
movabs $0x4000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1ad9 <test+0x9d9>
movss  -0x14(%rbp),%xmm0
addss  -0xc4(%rbp),%xmm0
ff
movss  %xmm0,-0xc4(%rbp)
ff
movabs $0x8000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1b09 <test+0xa09>
movss  -0x14(%rbp),%xmm0
addss  -0xc8(%rbp),%xmm0
movss  %xmm0,-0xc8(%rbp)
ff
movabs $0x10000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1b39 <test+0xa39>
movss  -0x14(%rbp),%xmm0
addss  -0xcc(%rbp),%xmm0
ff
movss  %xmm0,-0xcc(%rbp)
ff
movabs $0x20000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1b69 <test+0xa69>
movss  -0x14(%rbp),%xmm0
addss  -0xd0(%rbp),%xmm0
ff
movss  %xmm0,-0xd0(%rbp)
ff
movabs $0x40000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1b99 <test+0xa99>
movss  -0x14(%rbp),%xmm0
addss  -0xd4(%rbp),%xmm0
ff
movss  %xmm0,-0xd4(%rbp)
ff
movabs $0x80000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1bc9 <test+0xac9>
movss  -0x14(%rbp),%xmm0
addss  -0xd8(%rbp),%xmm0
ff
movss  %xmm0,-0xd8(%rbp)
ff
movabs $0x100000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1bf9 <test+0xaf9>
movss  -0x14(%rbp),%xmm0
addss  -0xdc(%rbp),%xmm0
ff
movss  %xmm0,-0xdc(%rbp)
ff
movabs $0x200000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1c29 <test+0xb29>
movss  -0x14(%rbp),%xmm0
addss  -0xe0(%rbp),%xmm0
ff
movss  %xmm0,-0xe0(%rbp)
ff
movabs $0x400000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1c59 <test+0xb59>
movss  -0x14(%rbp),%xmm0
addss  -0xe4(%rbp),%xmm0
ff
movss  %xmm0,-0xe4(%rbp)
ff
movabs $0x800000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1c89 <test+0xb89>
movss  -0x14(%rbp),%xmm0
addss  -0xe8(%rbp),%xmm0
ff
movss  %xmm0,-0xe8(%rbp)
ff
movabs $0x1000000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1cb9 <test+0xbb9>
movss  -0x14(%rbp),%xmm0
addss  -0xec(%rbp),%xmm0
ff
movss  %xmm0,-0xec(%rbp)
ff
movabs $0x2000000000000,%rax
and    -0x100(%rbp),%rax
cmp    $0x0,%rax
je     1ce9 <test+0xbe9>
movss  -0x14(%rbp),%xmm0
addss  -0xf0(%rbp),%xmm0
ff
movss  %xmm0,-0xf0(%rbp)
ff
jmp    1cee <test+0xbee>
mov    -0xf8(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0xf8(%rbp)
jmp    1470 <test+0x370>
movss  -0x2c(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x30(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x4(%rax)
movss  -0x34(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x8(%rax)
movss  -0x38(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0xc(%rax)
movss  -0x3c(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x10(%rax)
movss  -0x40(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x14(%rax)
movss  -0x44(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x18(%rax)
movss  -0x48(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x1c(%rax)
movss  -0x4c(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x20(%rax)
movss  -0x50(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x24(%rax)
movss  -0x54(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x28(%rax)
movss  -0x58(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x2c(%rax)
movss  -0x5c(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x30(%rax)
movss  -0x60(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x34(%rax)
movss  -0x64(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x38(%rax)
movss  -0x68(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x3c(%rax)
movss  -0x6c(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x40(%rax)
movss  -0x70(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x44(%rax)
movss  -0x74(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x48(%rax)
movss  -0x78(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x4c(%rax)
movss  -0x7c(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x50(%rax)
movss  -0x80(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0x54(%rax)
movss  -0x84(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x58(%rax)
movss  -0x88(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x5c(%rax)
movss  -0x8c(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x60(%rax)
movss  -0x90(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x64(%rax)
movss  -0x94(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x68(%rax)
movss  -0x98(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x6c(%rax)
movss  -0x9c(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x70(%rax)
movss  -0xa0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x74(%rax)
movss  -0xa4(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x78(%rax)
movss  -0xa8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x7c(%rax)
movss  -0xac(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x80(%rax)
movss  -0xb0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x84(%rax)
movss  -0xb4(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x88(%rax)
movss  -0xb8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x8c(%rax)
movss  -0xbc(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x90(%rax)
movss  -0xc0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x94(%rax)
movss  -0xc4(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x98(%rax)
movss  -0xc8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0x9c(%rax)
movss  -0xcc(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xa0(%rax)
movss  -0xd0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xa4(%rax)
movss  -0xd4(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xa8(%rax)
movss  -0xd8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xac(%rax)
movss  -0xdc(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xb0(%rax)
movss  -0xe0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xb4(%rax)
movss  -0xe4(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movss  %xmm0,0xb8(%rax)
movss  -0xe8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xbc(%rax)
movss  -0xec(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xc0(%rax)
movss  -0xf0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
movss  %xmm0,0xc4(%rax)
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test>:
movaps %xmm0,%xmm4
movups (%rdx),%xmm0
movaps %xmm0,-0x28(%rsp)
movups 0x10(%rdx),%xmm0
movaps %xmm0,-0x38(%rsp)
movups 0x20(%rdx),%xmm0
movaps %xmm0,-0x48(%rsp)
movups 0x30(%rdx),%xmm0
movaps %xmm0,-0x58(%rsp)
movups 0x40(%rdx),%xmm7
movups 0x50(%rdx),%xmm8
movups 0x60(%rdx),%xmm9
movups 0x70(%rdx),%xmm10
movups 0x80(%rdx),%xmm11
movups 0x90(%rdx),%xmm12
movups 0xa0(%rdx),%xmm13
movups 0xb0(%rdx),%xmm14
movss  0xc0(%rdx),%xmm15
movss  0xc4(%rdx),%xmm0
movss  %xmm0,-0x60(%rsp)
test   %rsi,%rsi
jle    1514 <test+0x414>
movaps %xmm4,%xmm1
shufps $0x0,%xmm4,%xmm1
xor    %eax,%eax
pxor   %xmm2,%xmm2
movaps 0xe93(%rip),%xmm0
movss  0xffb(%rip),%xmm3
movaps %xmm4,-0x18(%rsp)
jmp    14ea <test+0x3ea>
nop
movss  -0x60(%rsp),%xmm4
addss  %xmm3,%xmm4
movss  %xmm4,-0x60(%rsp)
movq   %rdx,%xmm3
pshufd $0x44,%xmm3,%xmm5
movdqa %xmm5,%xmm3
pand   0xe3a(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xe3e(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
movaps -0x28(%rsp),%xmm4
addps  %xmm3,%xmm4
movaps %xmm4,-0x28(%rsp)
movdqa %xmm5,%xmm3
pand   0xe22(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xe26(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
movaps -0x38(%rsp),%xmm4
addps  %xmm3,%xmm4
movaps %xmm4,-0x38(%rsp)
movdqa %xmm5,%xmm3
pand   0xdfa(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xdfe(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
movaps -0x48(%rsp),%xmm4
addps  %xmm3,%xmm4
movaps %xmm4,-0x48(%rsp)
movdqa %xmm5,%xmm3
pand   0xdd2(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xdd6(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
movaps -0x58(%rsp),%xmm4
addps  %xmm3,%xmm4
movaps %xmm4,-0x58(%rsp)
movdqa %xmm5,%xmm3
pand   0xdaa(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xdae(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
addps  %xmm3,%xmm7
movdqa %xmm5,%xmm3
pand   0xd8c(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xd90(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
addps  %xmm3,%xmm8
movdqa %xmm5,%xmm3
pand   0xd6d(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xd71(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
addps  %xmm3,%xmm9
movdqa %xmm5,%xmm3
pand   0xd4e(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xd52(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
addps  %xmm3,%xmm10
movdqa %xmm5,%xmm3
pand   0xd2f(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xd33(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
addps  %xmm3,%xmm11
movdqa %xmm5,%xmm3
pand   0xd10(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xd14(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
addps  %xmm3,%xmm12
movdqa %xmm5,%xmm3
pand   0xcf1(%rip),%xmm3
movdqa %xmm5,%xmm4
pand   0xcf5(%rip),%xmm4
pcmpeqd %xmm2,%xmm4
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm6
shufps $0xdd,%xmm4,%xmm6
shufps $0x88,%xmm4,%xmm3
andps  %xmm6,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
addps  %xmm3,%xmm13
movdqa %xmm5,%xmm3
pand   0xcd2(%rip),%xmm3
pand   0xcda(%rip),%xmm5
pcmpeqd %xmm2,%xmm5
pcmpeqd %xmm2,%xmm3
movdqa %xmm3,%xmm4
shufps $0xdd,%xmm5,%xmm4
shufps $0x88,%xmm5,%xmm3
andps  %xmm4,%xmm3
movaps %xmm0,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
movaps -0x18(%rsp),%xmm4
addps  %xmm3,%xmm14
addss  -0x5c(%rsp),%xmm15
add    $0x1,%rax
cmp    %rax,%rsi
movss  0xca8(%rip),%xmm3
je     1514 <test+0x414>
mov    (%rdi,%rax,8),%rdx
bt     $0x30,%rdx
movaps %xmm3,%xmm5
jae    14fb <test+0x3fb>
movaps %xmm4,%xmm5
movss  %xmm5,-0x5c(%rsp)
bt     $0x31,%rdx
jae    11a0 <test+0xa0>
movaps %xmm4,%xmm3
jmp    11a0 <test+0xa0>
movaps -0x28(%rsp),%xmm0
movups %xmm0,(%rcx)
movaps -0x38(%rsp),%xmm0
movups %xmm0,0x10(%rcx)
movaps -0x48(%rsp),%xmm0
movups %xmm0,0x20(%rcx)
movaps -0x58(%rsp),%xmm0
movups %xmm0,0x30(%rcx)
movups %xmm7,0x40(%rcx)
movups %xmm8,0x50(%rcx)
movups %xmm9,0x60(%rcx)
movups %xmm10,0x70(%rcx)
movups %xmm11,0x80(%rcx)
movups %xmm12,0x90(%rcx)
movups %xmm13,0xa0(%rcx)
movups %xmm14,0xb0(%rcx)
movss  %xmm15,0xc0(%rcx)
movss  -0x60(%rsp),%xmm0
movss  %xmm0,0xc4(%rcx)
ret

LLVM IR (-O0):
define void @test(i64* %0, i64 %1, float %2, float* %3, float* %4) {
%6 = alloca i64*
%7 = alloca i64
%8 = alloca float
%9 = alloca float*
%10 = alloca float*
%11 = alloca float
%12 = alloca float
%13 = alloca float
%14 = alloca float
%15 = alloca float
%16 = alloca float
%17 = alloca float
%18 = alloca float
%19 = alloca float
%20 = alloca float
%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 i64
%62 = alloca i64
store i64* %0, i64** %6
store i64 %1, i64* %7
store float %2, float* %8
store float* %3, float** %9
store float* %4, float** %10
%63 = load float*, float** %9
%64 = getelementptr inbounds float, float* %63, i64 0
%65 = load float, float* %64
store float %65, float* %11
%66 = load float*, float** %9
%67 = getelementptr inbounds float, float* %66, i64 1
%68 = load float, float* %67
store float %68, float* %12
%69 = load float*, float** %9
%70 = getelementptr inbounds float, float* %69, i64 2
%71 = load float, float* %70
store float %71, float* %13
%72 = load float*, float** %9
%73 = getelementptr inbounds float, float* %72, i64 3
%74 = load float, float* %73
store float %74, float* %14
%75 = load float*, float** %9
%76 = getelementptr inbounds float, float* %75, i64 4
%77 = load float, float* %76
store float %77, float* %15
%78 = load float*, float** %9
%79 = getelementptr inbounds float, float* %78, i64 5
%80 = load float, float* %79
store float %80, float* %16
%81 = load float*, float** %9
%82 = getelementptr inbounds float, float* %81, i64 6
%83 = load float, float* %82
store float %83, float* %17
%84 = load float*, float** %9
%85 = getelementptr inbounds float, float* %84, i64 7
%86 = load float, float* %85
store float %86, float* %18
%87 = load float*, float** %9
%88 = getelementptr inbounds float, float* %87, i64 8
%89 = load float, float* %88
store float %89, float* %19
%90 = load float*, float** %9
%91 = getelementptr inbounds float, float* %90, i64 9
%92 = load float, float* %91
store float %92, float* %20
%93 = load float*, float** %9
%94 = getelementptr inbounds float, float* %93, i64 10
%95 = load float, float* %94
store float %95, float* %21
%96 = load float*, float** %9
%97 = getelementptr inbounds float, float* %96, i64 11
%98 = load float, float* %97
store float %98, float* %22
%99 = load float*, float** %9
%100 = getelementptr inbounds float, float* %99, i64 12
%101 = load float, float* %100
store float %101, float* %23
%102 = load float*, float** %9
%103 = getelementptr inbounds float, float* %102, i64 13
%104 = load float, float* %103
store float %104, float* %24
%105 = load float*, float** %9
%106 = getelementptr inbounds float, float* %105, i64 14
%107 = load float, float* %106
store float %107, float* %25
%108 = load float*, float** %9
%109 = getelementptr inbounds float, float* %108, i64 15
%110 = load float, float* %109
store float %110, float* %26
%111 = load float*, float** %9
%112 = getelementptr inbounds float, float* %111, i64 16
%113 = load float, float* %112
store float %113, float* %27
%114 = load float*, float** %9
%115 = getelementptr inbounds float, float* %114, i64 17
%116 = load float, float* %115
store float %116, float* %28
%117 = load float*, float** %9
%118 = getelementptr inbounds float, float* %117, i64 18
%119 = load float, float* %118
store float %119, float* %29
%120 = load float*, float** %9
%121 = getelementptr inbounds float, float* %120, i64 19
%122 = load float, float* %121
store float %122, float* %30
%123 = load float*, float** %9
%124 = getelementptr inbounds float, float* %123, i64 20
%125 = load float, float* %124
store float %125, float* %31
%126 = load float*, float** %9
%127 = getelementptr inbounds float, float* %126, i64 21
%128 = load float, float* %127
store float %128, float* %32
%129 = load float*, float** %9
%130 = getelementptr inbounds float, float* %129, i64 22
%131 = load float, float* %130
store float %131, float* %33
%132 = load float*, float** %9
%133 = getelementptr inbounds float, float* %132, i64 23
%134 = load float, float* %133
store float %134, float* %34
%135 = load float*, float** %9
%136 = getelementptr inbounds float, float* %135, i64 24
%137 = load float, float* %136
store float %137, float* %35
%138 = load float*, float** %9
%139 = getelementptr inbounds float, float* %138, i64 25
%140 = load float, float* %139
store float %140, float* %36
%141 = load float*, float** %9
%142 = getelementptr inbounds float, float* %141, i64 26
%143 = load float, float* %142
store float %143, float* %37
%144 = load float*, float** %9
%145 = getelementptr inbounds float, float* %144, i64 27
%146 = load float, float* %145
store float %146, float* %38
%147 = load float*, float** %9
%148 = getelementptr inbounds float, float* %147, i64 28
%149 = load float, float* %148
store float %149, float* %39
%150 = load float*, float** %9
%151 = getelementptr inbounds float, float* %150, i64 29
%152 = load float, float* %151
store float %152, float* %40
%153 = load float*, float** %9
%154 = getelementptr inbounds float, float* %153, i64 30
%155 = load float, float* %154
store float %155, float* %41
%156 = load float*, float** %9
%157 = getelementptr inbounds float, float* %156, i64 31
%158 = load float, float* %157
store float %158, float* %42
%159 = load float*, float** %9
%160 = getelementptr inbounds float, float* %159, i64 32
%161 = load float, float* %160
store float %161, float* %43
%162 = load float*, float** %9
%163 = getelementptr inbounds float, float* %162, i64 33
%164 = load float, float* %163
store float %164, float* %44
%165 = load float*, float** %9
%166 = getelementptr inbounds float, float* %165, i64 34
%167 = load float, float* %166
store float %167, float* %45
%168 = load float*, float** %9
%169 = getelementptr inbounds float, float* %168, i64 35
%170 = load float, float* %169
store float %170, float* %46
%171 = load float*, float** %9
%172 = getelementptr inbounds float, float* %171, i64 36
%173 = load float, float* %172
store float %173, float* %47
%174 = load float*, float** %9
%175 = getelementptr inbounds float, float* %174, i64 37
%176 = load float, float* %175
store float %176, float* %48
%177 = load float*, float** %9
%178 = getelementptr inbounds float, float* %177, i64 38
%179 = load float, float* %178
store float %179, float* %49
%180 = load float*, float** %9
%181 = getelementptr inbounds float, float* %180, i64 39
%182 = load float, float* %181
store float %182, float* %50
%183 = load float*, float** %9
%184 = getelementptr inbounds float, float* %183, i64 40
%185 = load float, float* %184
store float %185, float* %51
%186 = load float*, float** %9
%187 = getelementptr inbounds float, float* %186, i64 41
%188 = load float, float* %187
store float %188, float* %52
%189 = load float*, float** %9
%190 = getelementptr inbounds float, float* %189, i64 42
%191 = load float, float* %190
store float %191, float* %53
%192 = load float*, float** %9
%193 = getelementptr inbounds float, float* %192, i64 43
%194 = load float, float* %193
store float %194, float* %54
%195 = load float*, float** %9
%196 = getelementptr inbounds float, float* %195, i64 44
%197 = load float, float* %196
store float %197, float* %55
%198 = load float*, float** %9
%199 = getelementptr inbounds float, float* %198, i64 45
%200 = load float, float* %199
store float %200, float* %56
%201 = load float*, float** %9
%202 = getelementptr inbounds float, float* %201, i64 46
%203 = load float, float* %202
store float %203, float* %57
%204 = load float*, float** %9
%205 = getelementptr inbounds float, float* %204, i64 47
%206 = load float, float* %205
store float %206, float* %58
%207 = load float*, float** %9
%208 = getelementptr inbounds float, float* %207, i64 48
%209 = load float, float* %208
store float %209, float* %59
%210 = load float*, float** %9
%211 = getelementptr inbounds float, float* %210, i64 49
%212 = load float, float* %211
store float %212, float* %60
store i64 0, i64* %61
br label %213
213: ; preds = %622, %5
%214 = load i64, i64* %61
%215 = load i64, i64* %7
%216 = icmp slt i64 %214, %215
br i1 %216, label %217, label %625
217: ; preds = %213
%218 = load i64*, i64** %6
%219 = load i64, i64* %61
%220 = getelementptr inbounds i64, i64* %218, i64 %219
%221 = load i64, i64* %220
store i64 %221, i64* %62
%222 = load i64, i64* %62
%223 = and i64 %222, 1
%224 = icmp ne i64 %223, 0
br i1 %224, label %225, label %229
225: ; preds = %217
%226 = load float, float* %8
%227 = load float, float* %11
%228 = fadd float %227, %226
store float %228, float* %11
br label %229
229: ; preds = %225, %217
%230 = load i64, i64* %62
%231 = and i64 %230, 2
%232 = icmp ne i64 %231, 0
br i1 %232, label %233, label %237
233: ; preds = %229
%234 = load float, float* %8
%235 = load float, float* %12
%236 = fadd float %235, %234
store float %236, float* %12
br label %237
237: ; preds = %233, %229
%238 = load i64, i64* %62
%239 = and i64 %238, 4
%240 = icmp ne i64 %239, 0
br i1 %240, label %241, label %245
241: ; preds = %237
%242 = load float, float* %8
%243 = load float, float* %13
%244 = fadd float %243, %242
store float %244, float* %13
br label %245
245: ; preds = %241, %237
%246 = load i64, i64* %62
%247 = and i64 %246, 8
%248 = icmp ne i64 %247, 0
br i1 %248, label %249, label %253
249: ; preds = %245
%250 = load float, float* %8
%251 = load float, float* %14
%252 = fadd float %251, %250
store float %252, float* %14
br label %253
253: ; preds = %249, %245
%254 = load i64, i64* %62
%255 = and i64 %254, 16
%256 = icmp ne i64 %255, 0
br i1 %256, label %257, label %261
257: ; preds = %253
%258 = load float, float* %8
%259 = load float, float* %15
%260 = fadd float %259, %258
store float %260, float* %15
br label %261
261: ; preds = %257, %253
%262 = load i64, i64* %62
%263 = and i64 %262, 32
%264 = icmp ne i64 %263, 0
br i1 %264, label %265, label %269
265: ; preds = %261
%266 = load float, float* %8
%267 = load float, float* %16
%268 = fadd float %267, %266
store float %268, float* %16
br label %269
269: ; preds = %265, %261
%270 = load i64, i64* %62
%271 = and i64 %270, 64
%272 = icmp ne i64 %271, 0
br i1 %272, label %273, label %277
273: ; preds = %269
%274 = load float, float* %8
%275 = load float, float* %17
%276 = fadd float %275, %274
store float %276, float* %17
br label %277
277: ; preds = %273, %269
%278 = load i64, i64* %62
%279 = and i64 %278, 128
%280 = icmp ne i64 %279, 0
br i1 %280, label %281, label %285
281: ; preds = %277
%282 = load float, float* %8
%283 = load float, float* %18
%284 = fadd float %283, %282
store float %284, float* %18
br label %285
285: ; preds = %281, %277
%286 = load i64, i64* %62
%287 = and i64 %286, 256
%288 = icmp ne i64 %287, 0
br i1 %288, label %289, label %293
289: ; preds = %285
%290 = load float, float* %8
%291 = load float, float* %19
%292 = fadd float %291, %290
store float %292, float* %19
br label %293
293: ; preds = %289, %285
%294 = load i64, i64* %62
%295 = and i64 %294, 512
%296 = icmp ne i64 %295, 0
br i1 %296, label %297, label %301
297: ; preds = %293
%298 = load float, float* %8
%299 = load float, float* %20
%300 = fadd float %299, %298
store float %300, float* %20
br label %301
301: ; preds = %297, %293
%302 = load i64, i64* %62
%303 = and i64 %302, 1024
%304 = icmp ne i64 %303, 0
br i1 %304, label %305, label %309
305: ; preds = %301
%306 = load float, float* %8
%307 = load float, float* %21
%308 = fadd float %307, %306
store float %308, float* %21
br label %309
309: ; preds = %305, %301
%310 = load i64, i64* %62
%311 = and i64 %310, 2048
%312 = icmp ne i64 %311, 0
br i1 %312, label %313, label %317
313: ; preds = %309
%314 = load float, float* %8
%315 = load float, float* %22
%316 = fadd float %315, %314
store float %316, float* %22
br label %317
317: ; preds = %313, %309
%318 = load i64, i64* %62
%319 = and i64 %318, 4096
%320 = icmp ne i64 %319, 0
br i1 %320, label %321, label %325
321: ; preds = %317
%322 = load float, float* %8
%323 = load float, float* %23
%324 = fadd float %323, %322
store float %324, float* %23
br label %325
325: ; preds = %321, %317
%326 = load i64, i64* %62
%327 = and i64 %326, 8192
%328 = icmp ne i64 %327, 0
br i1 %328, label %329, label %333
329: ; preds = %325
%330 = load float, float* %8
%331 = load float, float* %24
%332 = fadd float %331, %330
store float %332, float* %24
br label %333
333: ; preds = %329, %325
%334 = load i64, i64* %62
%335 = and i64 %334, 16384
%336 = icmp ne i64 %335, 0
br i1 %336, label %337, label %341
337: ; preds = %333
%338 = load float, float* %8
%339 = load float, float* %25
%340 = fadd float %339, %338
store float %340, float* %25
br label %341
341: ; preds = %337, %333
%342 = load i64, i64* %62
%343 = and i64 %342, 32768
%344 = icmp ne i64 %343, 0
br i1 %344, label %345, label %349
345: ; preds = %341
%346 = load float, float* %8
%347 = load float, float* %26
%348 = fadd float %347, %346
store float %348, float* %26
br label %349
349: ; preds = %345, %341
%350 = load i64, i64* %62
%351 = and i64 %350, 65536
%352 = icmp ne i64 %351, 0
br i1 %352, label %353, label %357
353: ; preds = %349
%354 = load float, float* %8
%355 = load float, float* %27
%356 = fadd float %355, %354
store float %356, float* %27
br label %357
357: ; preds = %353, %349
%358 = load i64, i64* %62
%359 = and i64 %358, 131072
%360 = icmp ne i64 %359, 0
br i1 %360, label %361, label %365
361: ; preds = %357
%362 = load float, float* %8
%363 = load float, float* %28
%364 = fadd float %363, %362
store float %364, float* %28
br label %365
365: ; preds = %361, %357
%366 = load i64, i64* %62
%367 = and i64 %366, 262144
%368 = icmp ne i64 %367, 0
br i1 %368, label %369, label %373
369: ; preds = %365
%370 = load float, float* %8
%371 = load float, float* %29
%372 = fadd float %371, %370
store float %372, float* %29
br label %373
373: ; preds = %369, %365
%374 = load i64, i64* %62
%375 = and i64 %374, 524288
%376 = icmp ne i64 %375, 0
br i1 %376, label %377, label %381
377: ; preds = %373
%378 = load float, float* %8
%379 = load float, float* %30
%380 = fadd float %379, %378
store float %380, float* %30
br label %381
381: ; preds = %377, %373
%382 = load i64, i64* %62
%383 = and i64 %382, 1048576
%384 = icmp ne i64 %383, 0
br i1 %384, label %385, label %389
385: ; preds = %381
%386 = load float, float* %8
%387 = load float, float* %31
%388 = fadd float %387, %386
store float %388, float* %31
br label %389
389: ; preds = %385, %381
%390 = load i64, i64* %62
%391 = and i64 %390, 2097152
%392 = icmp ne i64 %391, 0
br i1 %392, label %393, label %397
393: ; preds = %389
%394 = load float, float* %8
%395 = load float, float* %32
%396 = fadd float %395, %394
store float %396, float* %32
br label %397
397: ; preds = %393, %389
%398 = load i64, i64* %62
%399 = and i64 %398, 4194304
%400 = icmp ne i64 %399, 0
br i1 %400, label %401, label %405
401: ; preds = %397
%402 = load float, float* %8
%403 = load float, float* %33
%404 = fadd float %403, %402
store float %404, float* %33
br label %405
405: ; preds = %401, %397
%406 = load i64, i64* %62
%407 = and i64 %406, 8388608
%408 = icmp ne i64 %407, 0
br i1 %408, label %409, label %413
409: ; preds = %405
%410 = load float, float* %8
%411 = load float, float* %34
%412 = fadd float %411, %410
store float %412, float* %34
br label %413
413: ; preds = %409, %405
%414 = load i64, i64* %62
%415 = and i64 %414, 16777216
%416 = icmp ne i64 %415, 0
br i1 %416, label %417, label %421
417: ; preds = %413
%418 = load float, float* %8
%419 = load float, float* %35
%420 = fadd float %419, %418
store float %420, float* %35
br label %421
421: ; preds = %417, %413
%422 = load i64, i64* %62
%423 = and i64 %422, 33554432
%424 = icmp ne i64 %423, 0
br i1 %424, label %425, label %429
425: ; preds = %421
%426 = load float, float* %8
%427 = load float, float* %36
%428 = fadd float %427, %426
store float %428, float* %36
br label %429
429: ; preds = %425, %421
%430 = load i64, i64* %62
%431 = and i64 %430, 67108864
%432 = icmp ne i64 %431, 0
br i1 %432, label %433, label %437
433: ; preds = %429
%434 = load float, float* %8
%435 = load float, float* %37
%436 = fadd float %435, %434
store float %436, float* %37
br label %437
437: ; preds = %433, %429
%438 = load i64, i64* %62
%439 = and i64 %438, 134217728
%440 = icmp ne i64 %439, 0
br i1 %440, label %441, label %445
441: ; preds = %437
%442 = load float, float* %8
%443 = load float, float* %38
%444 = fadd float %443, %442
store float %444, float* %38
br label %445
445: ; preds = %441, %437
%446 = load i64, i64* %62
%447 = and i64 %446, 268435456
%448 = icmp ne i64 %447, 0
br i1 %448, label %449, label %453
449: ; preds = %445
%450 = load float, float* %8
%451 = load float, float* %39
%452 = fadd float %451, %450
store float %452, float* %39
br label %453
453: ; preds = %449, %445
%454 = load i64, i64* %62
%455 = and i64 %454, 536870912
%456 = icmp ne i64 %455, 0
br i1 %456, label %457, label %461
457: ; preds = %453
%458 = load float, float* %8
%459 = load float, float* %40
%460 = fadd float %459, %458
store float %460, float* %40
br label %461
461: ; preds = %457, %453
%462 = load i64, i64* %62
%463 = and i64 %462, 1073741824
%464 = icmp ne i64 %463, 0
br i1 %464, label %465, label %469
465: ; preds = %461
%466 = load float, float* %8
%467 = load float, float* %41
%468 = fadd float %467, %466
store float %468, float* %41
br label %469
469: ; preds = %465, %461
%470 = load i64, i64* %62
%471 = and i64 %470, 2147483648
%472 = icmp ne i64 %471, 0
br i1 %472, label %473, label %477
473: ; preds = %469
%474 = load float, float* %8
%475 = load float, float* %42
%476 = fadd float %475, %474
store float %476, float* %42
br label %477
477: ; preds = %473, %469
%478 = load i64, i64* %62
%479 = and i64 %478, 4294967296
%480 = icmp ne i64 %479, 0
br i1 %480, label %481, label %485
481: ; preds = %477
%482 = load float, float* %8
%483 = load float, float* %43
%484 = fadd float %483, %482
store float %484, float* %43
br label %485
485: ; preds = %481, %477
%486 = load i64, i64* %62
%487 = and i64 %486, 8589934592
%488 = icmp ne i64 %487, 0
br i1 %488, label %489, label %493
489: ; preds = %485
%490 = load float, float* %8
%491 = load float, float* %44
%492 = fadd float %491, %490
store float %492, float* %44
br label %493
493: ; preds = %489, %485
%494 = load i64, i64* %62
%495 = and i64 %494, 17179869184
%496 = icmp ne i64 %495, 0
br i1 %496, label %497, label %501
497: ; preds = %493
%498 = load float, float* %8
%499 = load float, float* %45
%500 = fadd float %499, %498
store float %500, float* %45
br label %501
501: ; preds = %497, %493
%502 = load i64, i64* %62
%503 = and i64 %502, 34359738368
%504 = icmp ne i64 %503, 0
br i1 %504, label %505, label %509
505: ; preds = %501
%506 = load float, float* %8
%507 = load float, float* %46
%508 = fadd float %507, %506
store float %508, float* %46
br label %509
509: ; preds = %505, %501
%510 = load i64, i64* %62
%511 = and i64 %510, 68719476736
%512 = icmp ne i64 %511, 0
br i1 %512, label %513, label %517
513: ; preds = %509
%514 = load float, float* %8
%515 = load float, float* %47
%516 = fadd float %515, %514
store float %516, float* %47
br label %517
517: ; preds = %513, %509
%518 = load i64, i64* %62
%519 = and i64 %518, 137438953472
%520 = icmp ne i64 %519, 0
br i1 %520, label %521, label %525
521: ; preds = %517
%522 = load float, float* %8
%523 = load float, float* %48
%524 = fadd float %523, %522
store float %524, float* %48
br label %525
525: ; preds = %521, %517
%526 = load i64, i64* %62
%527 = and i64 %526, 274877906944
%528 = icmp ne i64 %527, 0
br i1 %528, label %529, label %533
529: ; preds = %525
%530 = load float, float* %8
%531 = load float, float* %49
%532 = fadd float %531, %530
store float %532, float* %49
br label %533
533: ; preds = %529, %525
%534 = load i64, i64* %62
%535 = and i64 %534, 549755813888
%536 = icmp ne i64 %535, 0
br i1 %536, label %537, label %541
537: ; preds = %533
%538 = load float, float* %8
%539 = load float, float* %50
%540 = fadd float %539, %538
store float %540, float* %50
br label %541
541: ; preds = %537, %533
%542 = load i64, i64* %62
%543 = and i64 %542, 1099511627776
%544 = icmp ne i64 %543, 0
br i1 %544, label %545, label %549
545: ; preds = %541
%546 = load float, float* %8
%547 = load float, float* %51
%548 = fadd float %547, %546
store float %548, float* %51
br label %549
549: ; preds = %545, %541
%550 = load i64, i64* %62
%551 = and i64 %550, 2199023255552
%552 = icmp ne i64 %551, 0
br i1 %552, label %553, label %557
553: ; preds = %549
%554 = load float, float* %8
%555 = load float, float* %52
%556 = fadd float %555, %554
store float %556, float* %52
br label %557
557: ; preds = %553, %549
%558 = load i64, i64* %62
%559 = and i64 %558, 4398046511104
%560 = icmp ne i64 %559, 0
br i1 %560, label %561, label %565
561: ; preds = %557
%562 = load float, float* %8
%563 = load float, float* %53
%564 = fadd float %563, %562
store float %564, float* %53
br label %565
565: ; preds = %561, %557
%566 = load i64, i64* %62
%567 = and i64 %566, 8796093022208
%568 = icmp ne i64 %567, 0
br i1 %568, label %569, label %573
569: ; preds = %565
%570 = load float, float* %8
%571 = load float, float* %54
%572 = fadd float %571, %570
store float %572, float* %54
br label %573
573: ; preds = %569, %565
%574 = load i64, i64* %62
%575 = and i64 %574, 17592186044416
%576 = icmp ne i64 %575, 0
br i1 %576, label %577, label %581
577: ; preds = %573
%578 = load float, float* %8
%579 = load float, float* %55
%580 = fadd float %579, %578
store float %580, float* %55
br label %581
581: ; preds = %577, %573
%582 = load i64, i64* %62
%583 = and i64 %582, 35184372088832
%584 = icmp ne i64 %583, 0
br i1 %584, label %585, label %589
585: ; preds = %581
%586 = load float, float* %8
%587 = load float, float* %56
%588 = fadd float %587, %586
store float %588, float* %56
br label %589
589: ; preds = %585, %581
%590 = load i64, i64* %62
%591 = and i64 %590, 70368744177664
%592 = icmp ne i64 %591, 0
br i1 %592, label %593, label %597
593: ; preds = %589
%594 = load float, float* %8
%595 = load float, float* %57
%596 = fadd float %595, %594
store float %596, float* %57
br label %597
597: ; preds = %593, %589
%598 = load i64, i64* %62
%599 = and i64 %598, 140737488355328
%600 = icmp ne i64 %599, 0
br i1 %600, label %601, label %605
601: ; preds = %597
%602 = load float, float* %8
%603 = load float, float* %58
%604 = fadd float %603, %602
store float %604, float* %58
br label %605
605: ; preds = %601, %597
%606 = load i64, i64* %62
%607 = and i64 %606, 281474976710656
%608 = icmp ne i64 %607, 0
br i1 %608, label %609, label %613
609: ; preds = %605
%610 = load float, float* %8
%611 = load float, float* %59
%612 = fadd float %611, %610
store float %612, float* %59
br label %613
613: ; preds = %609, %605
%614 = load i64, i64* %62
%615 = and i64 %614, 562949953421312
%616 = icmp ne i64 %615, 0
br i1 %616, label %617, label %621
617: ; preds = %613
%618 = load float, float* %8
%619 = load float, float* %60
%620 = fadd float %619, %618
store float %620, float* %60
br label %621
621: ; preds = %617, %613
br label %622
622: ; preds = %621
%623 = load i64, i64* %61
%624 = add nsw i64 %623, 1
store i64 %624, i64* %61
br label %213
625: ; preds = %213
%626 = load float, float* %11
%627 = load float*, float** %10
%628 = getelementptr inbounds float, float* %627, i64 0
store float %626, float* %628
%629 = load float, float* %12
%630 = load float*, float** %10
%631 = getelementptr inbounds float, float* %630, i64 1
store float %629, float* %631
%632 = load float, float* %13
%633 = load float*, float** %10
%634 = getelementptr inbounds float, float* %633, i64 2
store float %632, float* %634
%635 = load float, float* %14
%636 = load float*, float** %10
%637 = getelementptr inbounds float, float* %636, i64 3
store float %635, float* %637
%638 = load float, float* %15
%639 = load float*, float** %10
%640 = getelementptr inbounds float, float* %639, i64 4
store float %638, float* %640
%641 = load float, float* %16
%642 = load float*, float** %10
%643 = getelementptr inbounds float, float* %642, i64 5
store float %641, float* %643
%644 = load float, float* %17
%645 = load float*, float** %10
%646 = getelementptr inbounds float, float* %645, i64 6
store float %644, float* %646
%647 = load float, float* %18
%648 = load float*, float** %10
%649 = getelementptr inbounds float, float* %648, i64 7
store float %647, float* %649
%650 = load float, float* %19
%651 = load float*, float** %10
%652 = getelementptr inbounds float, float* %651, i64 8
store float %650, float* %652
%653 = load float, float* %20
%654 = load float*, float** %10
%655 = getelementptr inbounds float, float* %654, i64 9
store float %653, float* %655
%656 = load float, float* %21
%657 = load float*, float** %10
%658 = getelementptr inbounds float, float* %657, i64 10
store float %656, float* %658
%659 = load float, float* %22
%660 = load float*, float** %10
%661 = getelementptr inbounds float, float* %660, i64 11
store float %659, float* %661
%662 = load float, float* %23
%663 = load float*, float** %10
%664 = getelementptr inbounds float, float* %663, i64 12
store float %662, float* %664
%665 = load float, float* %24
%666 = load float*, float** %10
%667 = getelementptr inbounds float, float* %666, i64 13
store float %665, float* %667
%668 = load float, float* %25
%669 = load float*, float** %10
%670 = getelementptr inbounds float, float* %669, i64 14
store float %668, float* %670
%671 = load float, float* %26
%672 = load float*, float** %10
%673 = getelementptr inbounds float, float* %672, i64 15
store float %671, float* %673
%674 = load float, float* %27
%675 = load float*, float** %10
%676 = getelementptr inbounds float, float* %675, i64 16
store float %674, float* %676
%677 = load float, float* %28
%678 = load float*, float** %10
%679 = getelementptr inbounds float, float* %678, i64 17
store float %677, float* %679
%680 = load float, float* %29
%681 = load float*, float** %10
%682 = getelementptr inbounds float, float* %681, i64 18
store float %680, float* %682
%683 = load float, float* %30
%684 = load float*, float** %10
%685 = getelementptr inbounds float, float* %684, i64 19
store float %683, float* %685
%686 = load float, float* %31
%687 = load float*, float** %10
%688 = getelementptr inbounds float, float* %687, i64 20
store float %686, float* %688
%689 = load float, float* %32
%690 = load float*, float** %10
%691 = getelementptr inbounds float, float* %690, i64 21
store float %689, float* %691
%692 = load float, float* %33
%693 = load float*, float** %10
%694 = getelementptr inbounds float, float* %693, i64 22
store float %692, float* %694
%695 = load float, float* %34
%696 = load float*, float** %10
%697 = getelementptr inbounds float, float* %696, i64 23
store float %695, float* %697
%698 = load float, float* %35
%699 = load float*, float** %10
%700 = getelementptr inbounds float, float* %699, i64 24
store float %698, float* %700
%701 = load float, float* %36
%702 = load float*, float** %10
%703 = getelementptr inbounds float, float* %702, i64 25
store float %701, float* %703
%704 = load float, float* %37
%705 = load float*, float** %10
%706 = getelementptr inbounds float, float* %705, i64 26
store float %704, float* %706
%707 = load float, float* %38
%708 = load float*, float** %10
%709 = getelementptr inbounds float, float* %708, i64 27
store float %707, float* %709
%710 = load float, float* %39
%711 = load float*, float** %10
%712 = getelementptr inbounds float, float* %711, i64 28
store float %710, float* %712
%713 = load float, float* %40
%714 = load float*, float** %10
%715 = getelementptr inbounds float, float* %714, i64 29
store float %713, float* %715
%716 = load float, float* %41
%717 = load float*, float** %10
%718 = getelementptr inbounds float, float* %717, i64 30
store float %716, float* %718
%719 = load float, float* %42
%720 = load float*, float** %10
%721 = getelementptr inbounds float, float* %720, i64 31
store float %719, float* %721
%722 = load float, float* %43
%723 = load float*, float** %10
%724 = getelementptr inbounds float, float* %723, i64 32
store float %722, float* %724
%725 = load float, float* %44
%726 = load float*, float** %10
%727 = getelementptr inbounds float, float* %726, i64 33
store float %725, float* %727
%728 = load float, float* %45
%729 = load float*, float** %10
%730 = getelementptr inbounds float, float* %729, i64 34
store float %728, float* %730
%731 = load float, float* %46
%732 = load float*, float** %10
%733 = getelementptr inbounds float, float* %732, i64 35
store float %731, float* %733
%734 = load float, float* %47
%735 = load float*, float** %10
%736 = getelementptr inbounds float, float* %735, i64 36
store float %734, float* %736
%737 = load float, float* %48
%738 = load float*, float** %10
%739 = getelementptr inbounds float, float* %738, i64 37
store float %737, float* %739
%740 = load float, float* %49
%741 = load float*, float** %10
%742 = getelementptr inbounds float, float* %741, i64 38
store float %740, float* %742
%743 = load float, float* %50
%744 = load float*, float** %10
%745 = getelementptr inbounds float, float* %744, i64 39
store float %743, float* %745
%746 = load float, float* %51
%747 = load float*, float** %10
%748 = getelementptr inbounds float, float* %747, i64 40
store float %746, float* %748
%749 = load float, float* %52
%750 = load float*, float** %10
%751 = getelementptr inbounds float, float* %750, i64 41
store float %749, float* %751
%752 = load float, float* %53
%753 = load float*, float** %10
%754 = getelementptr inbounds float, float* %753, i64 42
store float %752, float* %754
%755 = load float, float* %54
%756 = load float*, float** %10
%757 = getelementptr inbounds float, float* %756, i64 43
store float %755, float* %757
%758 = load float, float* %55
%759 = load float*, float** %10
%760 = getelementptr inbounds float, float* %759, i64 44
store float %758, float* %760
%761 = load float, float* %56
%762 = load float*, float** %10
%763 = getelementptr inbounds float, float* %762, i64 45
store float %761, float* %763
%764 = load float, float* %57
%765 = load float*, float** %10
%766 = getelementptr inbounds float, float* %765, i64 46
store float %764, float* %766
%767 = load float, float* %58
%768 = load float*, float** %10
%769 = getelementptr inbounds float, float* %768, i64 47
store float %767, float* %769
%770 = load float, float* %59
%771 = load float*, float** %10
%772 = getelementptr inbounds float, float* %771, i64 48
store float %770, float* %772
%773 = load float, float* %60
%774 = load float*, float** %10
%775 = getelementptr inbounds float, float* %774, i64 49
store float %773, float* %775
ret void
}

LLVM IR (-O2):
define void @test(i64* nocapture %0, i64 %1, float %2, float* %3, float* writeonly %4) {
%6 = bitcast float* %3 to <4 x float>*
%7 = load <4 x float>, <4 x float>* %6
%8 = getelementptr inbounds float, float* %3, i64 4
%9 = bitcast float* %8 to <4 x float>*
%10 = load <4 x float>, <4 x float>* %9
%11 = getelementptr inbounds float, float* %3, i64 8
%12 = bitcast float* %11 to <4 x float>*
%13 = load <4 x float>, <4 x float>* %12
%14 = getelementptr inbounds float, float* %3, i64 12
%15 = bitcast float* %14 to <4 x float>*
%16 = load <4 x float>, <4 x float>* %15
%17 = getelementptr inbounds float, float* %3, i64 16
%18 = bitcast float* %17 to <4 x float>*
%19 = load <4 x float>, <4 x float>* %18
%20 = getelementptr inbounds float, float* %3, i64 20
%21 = bitcast float* %20 to <4 x float>*
%22 = load <4 x float>, <4 x float>* %21
%23 = getelementptr inbounds float, float* %3, i64 24
%24 = bitcast float* %23 to <4 x float>*
%25 = load <4 x float>, <4 x float>* %24
%26 = getelementptr inbounds float, float* %3, i64 28
%27 = bitcast float* %26 to <4 x float>*
%28 = load <4 x float>, <4 x float>* %27
%29 = getelementptr inbounds float, float* %3, i64 32
%30 = bitcast float* %29 to <4 x float>*
%31 = load <4 x float>, <4 x float>* %30
%32 = getelementptr inbounds float, float* %3, i64 36
%33 = bitcast float* %32 to <4 x float>*
%34 = load <4 x float>, <4 x float>* %33
%35 = getelementptr inbounds float, float* %3, i64 40
%36 = bitcast float* %35 to <4 x float>*
%37 = load <4 x float>, <4 x float>* %36
%38 = getelementptr inbounds float, float* %3, i64 44
%39 = bitcast float* %38 to <4 x float>*
%40 = load <4 x float>, <4 x float>* %39
%41 = getelementptr inbounds float, float* %3, i64 48
%42 = load float, float* %41
%43 = getelementptr inbounds float, float* %3, i64 49
%44 = load float, float* %43
%45 = icmp sgt i64 %1, 0
br i1 %45, label %46, label %127
46: ; preds = %5
%47 = insertelement <4 x float> poison, float %2, i64 0
%48 = shufflevector <4 x float> %47, <4 x float> poison, <4 x i32> zeroinitializer
br label %49
49: ; preds = %46, %49
%50 = phi i64 [ %125, %49 ], [ 0, %46 ]
%51 = phi float [ %124, %49 ], [ %44, %46 ]
%52 = phi float [ %120, %49 ], [ %42, %46 ]
%53 = phi <4 x float> [ %72, %49 ], [ %7, %46 ]
%54 = phi <4 x float> [ %76, %49 ], [ %10, %46 ]
%55 = phi <4 x float> [ %80, %49 ], [ %13, %46 ]
%56 = phi <4 x float> [ %84, %49 ], [ %16, %46 ]
%57 = phi <4 x float> [ %88, %49 ], [ %19, %46 ]
%58 = phi <4 x float> [ %92, %49 ], [ %22, %46 ]
%59 = phi <4 x float> [ %96, %49 ], [ %25, %46 ]
%60 = phi <4 x float> [ %100, %49 ], [ %28, %46 ]
%61 = phi <4 x float> [ %104, %49 ], [ %31, %46 ]
%62 = phi <4 x float> [ %108, %49 ], [ %34, %46 ]
%63 = phi <4 x float> [ %112, %49 ], [ %37, %46 ]
%64 = phi <4 x float> [ %116, %49 ], [ %40, %46 ]
%65 = getelementptr inbounds i64, i64* %0, i64 %50
%66 = load i64, i64* %65
%67 = insertelement <4 x i64> poison, i64 %66, i64 0
%68 = shufflevector <4 x i64> %67, <4 x i64> poison, <4 x i32> zeroinitializer
%69 = and <4 x i64> %68, <i64 1, i64 2, i64 4, i64 8>
%70 = icmp eq <4 x i64> %69, zeroinitializer
%71 = select <4 x i1> %70, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%72 = fadd <4 x float> %53, %71
%73 = and <4 x i64> %68, <i64 16, i64 32, i64 64, i64 128>
%74 = icmp eq <4 x i64> %73, zeroinitializer
%75 = select <4 x i1> %74, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%76 = fadd <4 x float> %54, %75
%77 = and <4 x i64> %68, <i64 256, i64 512, i64 1024, i64 2048>
%78 = icmp eq <4 x i64> %77, zeroinitializer
%79 = select <4 x i1> %78, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%80 = fadd <4 x float> %55, %79
%81 = and <4 x i64> %68, <i64 4096, i64 8192, i64 16384, i64 32768>
%82 = icmp eq <4 x i64> %81, zeroinitializer
%83 = select <4 x i1> %82, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%84 = fadd <4 x float> %56, %83
%85 = and <4 x i64> %68, <i64 65536, i64 131072, i64 262144, i64 524288>
%86 = icmp eq <4 x i64> %85, zeroinitializer
%87 = select <4 x i1> %86, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%88 = fadd <4 x float> %57, %87
%89 = and <4 x i64> %68, <i64 1048576, i64 2097152, i64 4194304, i64 8388608>
%90 = icmp eq <4 x i64> %89, zeroinitializer
%91 = select <4 x i1> %90, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%92 = fadd <4 x float> %58, %91
%93 = and <4 x i64> %68, <i64 16777216, i64 33554432, i64 67108864, i64 134217728>
%94 = icmp eq <4 x i64> %93, zeroinitializer
%95 = select <4 x i1> %94, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%96 = fadd <4 x float> %59, %95
%97 = and <4 x i64> %68, <i64 268435456, i64 536870912, i64 1073741824, i64 2147483648>
%98 = icmp eq <4 x i64> %97, zeroinitializer
%99 = select <4 x i1> %98, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%100 = fadd <4 x float> %60, %99
%101 = and <4 x i64> %68, <i64 4294967296, i64 8589934592, i64 17179869184, i64 34359738368>
%102 = icmp eq <4 x i64> %101, zeroinitializer
%103 = select <4 x i1> %102, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%104 = fadd <4 x float> %61, %103
%105 = and <4 x i64> %68, <i64 68719476736, i64 137438953472, i64 274877906944, i64 549755813888>
%106 = icmp eq <4 x i64> %105, zeroinitializer
%107 = select <4 x i1> %106, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%108 = fadd <4 x float> %62, %107
%109 = and <4 x i64> %68, <i64 1099511627776, i64 2199023255552, i64 4398046511104, i64 8796093022208>
%110 = icmp eq <4 x i64> %109, zeroinitializer
%111 = select <4 x i1> %110, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%112 = fadd <4 x float> %63, %111
%113 = and <4 x i64> %68, <i64 17592186044416, i64 35184372088832, i64 70368744177664, i64 140737488355328>
%114 = icmp eq <4 x i64> %113, zeroinitializer
%115 = select <4 x i1> %114, <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, <4 x float> %48
%116 = fadd <4 x float> %64, %115
%117 = and i64 %66, 281474976710656
%118 = icmp eq i64 %117, 0
%119 = select i1 %118, float -0.000000e+00, float %2
%120 = fadd float %52, %119
%121 = and i64 %66, 562949953421312
%122 = icmp eq i64 %121, 0
%123 = select i1 %122, float -0.000000e+00, float %2
%124 = fadd float %51, %123
%125 = add nuw nsw i64 %50, 1
%126 = icmp eq i64 %125, %1
br i1 %126, label %127, label %49
127: ; preds = %49, %5
%128 = phi float [ %42, %5 ], [ %120, %49 ]
%129 = phi float [ %44, %5 ], [ %124, %49 ]
%130 = phi <4 x float> [ %7, %5 ], [ %72, %49 ]
%131 = phi <4 x float> [ %10, %5 ], [ %76, %49 ]
%132 = phi <4 x float> [ %13, %5 ], [ %80, %49 ]
%133 = phi <4 x float> [ %16, %5 ], [ %84, %49 ]
%134 = phi <4 x float> [ %19, %5 ], [ %88, %49 ]
%135 = phi <4 x float> [ %22, %5 ], [ %92, %49 ]
%136 = phi <4 x float> [ %25, %5 ], [ %96, %49 ]
%137 = phi <4 x float> [ %28, %5 ], [ %100, %49 ]
%138 = phi <4 x float> [ %31, %5 ], [ %104, %49 ]
%139 = phi <4 x float> [ %34, %5 ], [ %108, %49 ]
%140 = phi <4 x float> [ %37, %5 ], [ %112, %49 ]
%141 = phi <4 x float> [ %40, %5 ], [ %116, %49 ]
%142 = bitcast float* %4 to <4 x float>*
store <4 x float> %130, <4 x float>* %142
%143 = getelementptr inbounds float, float* %4, i64 4
%144 = bitcast float* %143 to <4 x float>*
store <4 x float> %131, <4 x float>* %144
%145 = getelementptr inbounds float, float* %4, i64 8
%146 = bitcast float* %145 to <4 x float>*
store <4 x float> %132, <4 x float>* %146
%147 = getelementptr inbounds float, float* %4, i64 12
%148 = bitcast float* %147 to <4 x float>*
store <4 x float> %133, <4 x float>* %148
%149 = getelementptr inbounds float, float* %4, i64 16
%150 = bitcast float* %149 to <4 x float>*
store <4 x float> %134, <4 x float>* %150
%151 = getelementptr inbounds float, float* %4, i64 20
%152 = bitcast float* %151 to <4 x float>*
store <4 x float> %135, <4 x float>* %152
%153 = getelementptr inbounds float, float* %4, i64 24
%154 = bitcast float* %153 to <4 x float>*
store <4 x float> %136, <4 x float>* %154
%155 = getelementptr inbounds float, float* %4, i64 28
%156 = bitcast float* %155 to <4 x float>*
store <4 x float> %137, <4 x float>* %156
%157 = getelementptr inbounds float, float* %4, i64 32
%158 = bitcast float* %157 to <4 x float>*
store <4 x float> %138, <4 x float>* %158
%159 = getelementptr inbounds float, float* %4, i64 36
%160 = bitcast float* %159 to <4 x float>*
store <4 x float> %139, <4 x float>* %160
%161 = getelementptr inbounds float, float* %4, i64 40
%162 = bitcast float* %161 to <4 x float>*
store <4 x float> %140, <4 x float>* %162
%163 = getelementptr inbounds float, float* %4, i64 44
%164 = bitcast float* %163 to <4 x float>*
store <4 x float> %141, <4 x float>* %164
%165 = getelementptr inbounds float, float* %4, i64 48
store float %128, float* %165
%166 = getelementptr inbounds float, float* %4, i64 49
store float %129, float* %166
ret void
}