void sqbars(float *sl, int w, int h, float a) {
  int x, y;
  float g1, g2;
  for (x = 0; x < w * h; x++)
    sl[x] = 0.5;
  g1 = (1.0 + a) / 2.0;
  g2 = (1.0 - a) / 2.0;
  for (y = h / 5; y < 2 * h / 5; y++) {
    for (x = w / 10; x < 2 * w / 10 - w / 100; x++)
      if (x % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 2 * w / 10; x < 3 * w / 10 - w / 100; x++)
      if ((x / 2) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 3 * w / 10; x < 4 * w / 10 - w / 100; x++)
      if ((x / 3) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 4 * w / 10; x < 5 * w / 10 - w / 100; x++)
      if ((x / 4) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 5 * w / 10; x < 6 * w / 10 - w / 100; x++)
      if ((x / 5) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 6 * w / 10; x < 7 * w / 10 - w / 100; x++)
      if ((x / 6) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 7 * w / 10; x < 8 * w / 10 - w / 100; x++)
      if ((x / 7) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 8 * w / 10; x < 9 * w / 10 - w / 100; x++)
      if ((x / 8) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
  }
  for (y = 3 * h / 5; y < 4 * h / 5; y++) {
    for (x = w / 10; x < 2 * w / 10 - w / 100; x++)
      if (y % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 2 * w / 10; x < 3 * w / 10 - w / 100; x++)
      if ((y / 2) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 3 * w / 10; x < 4 * w / 10 - w / 100; x++)
      if ((y / 3) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 4 * w / 10; x < 5 * w / 10 - w / 100; x++)
      if ((y / 4) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 5 * w / 10; x < 6 * w / 10 - w / 100; x++)
      if ((y / 5) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 6 * w / 10; x < 7 * w / 10 - w / 100; x++)
      if ((y / 6) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 7 * w / 10; x < 8 * w / 10 - w / 100; x++)
      if ((y / 7) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
    for (x = 8 * w / 10; x < 9 * w / 10 - w / 100; x++)
      if ((y / 8) % 2 == 0)
        sl[y * w + x] = g1;
      else
        sl[y * w + x] = g2;
  }
}


x86 assembly (clang, -O0):
<sqbars>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
movss  %xmm0,-0x14(%rbp)
movl   $0x0,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    -0xc(%rbp),%ecx
imul   -0x10(%rbp),%ecx
cmp    %ecx,%eax
jge    114f <sqbars+0x4f>
mov    -0x8(%rbp),%rax
movslq -0x18(%rbp),%rcx
movss  0xed4(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    111a <sqbars+0x1a>
movss  -0x14(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xea8(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  0xe94(%rip),%xmm1
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x20(%rbp)
movss  -0x14(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xe7e(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  0xe6a(%rip),%xmm1
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x24(%rbp)
mov    -0x10(%rbp),%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x10(%rbp),%eax
shl    $0x1,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x28(%rbp),%eax
cmp    %ecx,%eax
jge    1720 <sqbars+0x620>
mov    -0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0xc(%rbp),%eax
shl    $0x1,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x2c(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1272 <sqbars+0x172>
mov    -0x18(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1244 <sqbars+0x144>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    125f <sqbars+0x15f>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1264 <sqbars+0x164>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    11e0 <sqbars+0xe0>
mov    -0xc(%rbp),%eax
shl    $0x1,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x30(%rbp)
imul   $0x3,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x30(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    131b <sqbars+0x21b>
mov    -0x18(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    12ed <sqbars+0x1ed>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1308 <sqbars+0x208>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    130d <sqbars+0x20d>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1283 <sqbars+0x183>
imul   $0x3,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0xc(%rbp),%eax
shl    $0x2,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x34(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    13c4 <sqbars+0x2c4>
mov    -0x18(%rbp),%eax
mov    $0x3,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1396 <sqbars+0x296>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    13b1 <sqbars+0x2b1>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    13b6 <sqbars+0x2b6>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    132a <sqbars+0x22a>
mov    -0xc(%rbp),%eax
shl    $0x2,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x38(%rbp)
imul   $0x5,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x38(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    146d <sqbars+0x36d>
mov    -0x18(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    143f <sqbars+0x33f>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    145a <sqbars+0x35a>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    145f <sqbars+0x35f>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    13d5 <sqbars+0x2d5>
imul   $0x5,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x3c(%rbp)
imul   $0x6,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x3c(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1514 <sqbars+0x414>
mov    -0x18(%rbp),%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    14e6 <sqbars+0x3e6>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1501 <sqbars+0x401>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1506 <sqbars+0x406>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    147c <sqbars+0x37c>
imul   $0x6,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x40(%rbp)
imul   $0x7,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x40(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    15bb <sqbars+0x4bb>
mov    -0x18(%rbp),%eax
mov    $0x6,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    158d <sqbars+0x48d>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    15a8 <sqbars+0x4a8>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    15ad <sqbars+0x4ad>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1523 <sqbars+0x423>
imul   $0x7,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0xc(%rbp),%eax
shl    $0x3,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x44(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1664 <sqbars+0x564>
mov    -0x18(%rbp),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1636 <sqbars+0x536>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1651 <sqbars+0x551>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1656 <sqbars+0x556>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    15ca <sqbars+0x4ca>
mov    -0xc(%rbp),%eax
shl    $0x3,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x48(%rbp)
imul   $0x9,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x48(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    170d <sqbars+0x60d>
mov    -0x18(%rbp),%eax
mov    $0x8,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    16df <sqbars+0x5df>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    16fa <sqbars+0x5fa>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    16ff <sqbars+0x5ff>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1675 <sqbars+0x575>
jmp    1712 <sqbars+0x612>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    11b1 <sqbars+0xb1>
imul   $0x3,-0x10(%rbp),%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x4c(%rbp),%eax
cmp    %ecx,%eax
jge    1c9e <sqbars+0xb9e>
mov    -0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0xc(%rbp),%eax
shl    $0x1,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x50(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    17f0 <sqbars+0x6f0>
mov    -0x1c(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    17c2 <sqbars+0x6c2>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    17dd <sqbars+0x6dd>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    17e2 <sqbars+0x6e2>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    175e <sqbars+0x65e>
mov    -0xc(%rbp),%eax
shl    $0x1,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x54(%rbp)
imul   $0x3,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x54(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1899 <sqbars+0x799>
mov    -0x1c(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    186b <sqbars+0x76b>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1886 <sqbars+0x786>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    188b <sqbars+0x78b>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1801 <sqbars+0x701>
imul   $0x3,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x58(%rbp)
mov    -0xc(%rbp),%eax
shl    $0x2,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x58(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1942 <sqbars+0x842>
mov    -0x1c(%rbp),%eax
mov    $0x3,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1914 <sqbars+0x814>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    192f <sqbars+0x82f>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1934 <sqbars+0x834>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    18a8 <sqbars+0x7a8>
mov    -0xc(%rbp),%eax
shl    $0x2,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x5c(%rbp)
imul   $0x5,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x5c(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    19eb <sqbars+0x8eb>
mov    -0x1c(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    19bd <sqbars+0x8bd>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    19d8 <sqbars+0x8d8>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    19dd <sqbars+0x8dd>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1953 <sqbars+0x853>
imul   $0x5,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x60(%rbp)
imul   $0x6,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x60(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1a92 <sqbars+0x992>
mov    -0x1c(%rbp),%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1a64 <sqbars+0x964>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1a7f <sqbars+0x97f>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1a84 <sqbars+0x984>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    19fa <sqbars+0x8fa>
imul   $0x6,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x64(%rbp)
imul   $0x7,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x64(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1b39 <sqbars+0xa39>
mov    -0x1c(%rbp),%eax
mov    $0x6,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1b0b <sqbars+0xa0b>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1b26 <sqbars+0xa26>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1b2b <sqbars+0xa2b>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1aa1 <sqbars+0x9a1>
imul   $0x7,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0xc(%rbp),%eax
shl    $0x3,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x68(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1be2 <sqbars+0xae2>
mov    -0x1c(%rbp),%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1bb4 <sqbars+0xab4>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1bcf <sqbars+0xacf>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1bd4 <sqbars+0xad4>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1b48 <sqbars+0xa48>
mov    -0xc(%rbp),%eax
shl    $0x3,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x6c(%rbp)
imul   $0x9,-0xc(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc(%rbp),%eax
mov    $0x64,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x6c(%rbp),%eax
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1c8b <sqbars+0xb8b>
mov    -0x1c(%rbp),%eax
mov    $0x8,%ecx
cltd
idiv   %ecx
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1c5d <sqbars+0xb5d>
movss  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1c78 <sqbars+0xb78>
movss  -0x24(%rbp),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
imul   -0xc(%rbp),%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1c7d <sqbars+0xb7d>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1bf3 <sqbars+0xaf3>
jmp    1c90 <sqbars+0xb90>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    172f <sqbars+0x62f>
pop    %rbp
ret

x86 assembly (clang, -O2):
<sqbars>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x278,%rsp
mov    %edx,%ecx
mov    %rsi,0x90(%rsp)
imul   %esi,%ecx
test   %ecx,%ecx
jle    1240 <sqbars+0x140>
mov    %ecx,%eax
cmp    $0x8,%ecx
jae    1134 <sqbars+0x34>
xor    %ecx,%ecx
jmp    1230 <sqbars+0x130>
mov    %eax,%ecx
and    $0xfffffff8,%ecx
lea    -0x8(%rcx),%rbp
mov    %rbp,%rsi
shr    $0x3,%rsi
add    $0x1,%rsi
mov    %esi,%ebx
and    $0x7,%ebx
cmp    $0x38,%rbp
jae    115a <sqbars+0x5a>
xor    %ebp,%ebp
jmp    11f1 <sqbars+0xf1>
movabs $0x3ffffffffffffffe,%rbp
ff ff 3f
add    $0xfffffffffffffffa,%rbp
and    %rbp,%rsi
xor    %ebp,%ebp
movaps 0x2e8c(%rip),%xmm1
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movups %xmm1,(%rdi,%rbp,4)
movups %xmm1,0x10(%rdi,%rbp,4)
movups %xmm1,0x20(%rdi,%rbp,4)
movups %xmm1,0x30(%rdi,%rbp,4)
movups %xmm1,0x40(%rdi,%rbp,4)
movups %xmm1,0x50(%rdi,%rbp,4)
movups %xmm1,0x60(%rdi,%rbp,4)
movups %xmm1,0x70(%rdi,%rbp,4)
movups %xmm1,0x80(%rdi,%rbp,4)
movups %xmm1,0x90(%rdi,%rbp,4)
movups %xmm1,0xa0(%rdi,%rbp,4)
movups %xmm1,0xb0(%rdi,%rbp,4)
movups %xmm1,0xc0(%rdi,%rbp,4)
movups %xmm1,0xd0(%rdi,%rbp,4)
movups %xmm1,0xe0(%rdi,%rbp,4)
movups %xmm1,0xf0(%rdi,%rbp,4)
add    $0x40,%rbp
add    $0xfffffffffffffff8,%rsi
jne    1180 <sqbars+0x80>
test   %rbx,%rbx
je     1222 <sqbars+0x122>
lea    (%rdi,%rbp,4),%rsi
add    $0x10,%rsi
shl    $0x5,%rbx
xor    %ebp,%ebp
movaps 0x2df5(%rip),%xmm1
nopl   0x0(%rax,%rax,1)
movups %xmm1,-0x10(%rsi,%rbp,1)
movups %xmm1,(%rsi,%rbp,1)
add    $0x20,%rbp
cmp    %rbp,%rbx
jne    1210 <sqbars+0x110>
cmp    %rax,%rcx
je     1240 <sqbars+0x140>
nopw   0x0(%rax,%rax,1)
movl   $0x3f000000,(%rdi,%rcx,4)
add    $0x1,%rcx
cmp    %rcx,%rax
jne    1230 <sqbars+0x130>
mov    %rdi,-0x78(%rsp)
xorps  %xmm1,%xmm1
cvtss2sd %xmm0,%xmm1
movsd  0x2e7c(%rip),%xmm2
movaps %xmm1,%xmm0
addsd  %xmm2,%xmm0
movsd  0x2e75(%rip),%xmm3
mulsd  %xmm3,%xmm0
cvtsd2ss %xmm0,%xmm11
subsd  %xmm1,%xmm2
mulsd  %xmm3,%xmm2
cvtsd2ss %xmm2,%xmm15
mov    %rdx,0xc8(%rsp)
movslq %edx,%rcx
imul   $0x66666667,%rcx,%r9
mov    %r9,%rdx
shr    $0x3f,%rdx
sar    $0x21,%r9
add    %edx,%r9d
add    %ecx,%ecx
movslq %ecx,%rcx
imul   $0x66666667,%rcx,%r8
mov    %r8,%rdx
shr    $0x3f,%rdx
sar    $0x21,%r8
add    %edx,%r8d
cmp    %r8d,%r9d
jge    238b <sqbars+0x128b>
mov    0x90(%rsp),%r10
movslq %r10d,%rax
imul   $0x66666667,%rax,%rcx
mov    %rcx,%rsi
sar    $0x22,%rsi
mov    %rcx,%rdx
shr    $0x3f,%rdx
add    %edx,%esi
mov    %rsi,0x78(%rsp)
sar    $0x21,%rcx
add    %edx,%ecx
mov    %rcx,0x88(%rsp)
imul   $0x51eb851f,%rax,%rdx
mov    %rdx,%rsi
shr    $0x3f,%rsi
sar    $0x25,%rdx
add    %esi,%edx
sub    %edx,%ecx
mov    %ecx,0x70(%rsp)
lea    (%rax,%rax,2),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rcx
mov    %rcx,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rcx
add    %esi,%ecx
mov    %rcx,0x68(%rsp)
mov    %ecx,%esi
sub    %edx,%esi
mov    %esi,0xb0(%rsp)
lea    0x0(,%rax,4),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%r14
mov    %r14,%rsi
shr    $0x3f,%rsi
sar    $0x22,%r14
add    %esi,%r14d
lea    (%rax,%rax,1),%esi
lea    (%rsi,%rsi,2),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rbp
mov    %rbp,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rbp
add    %esi,%ebp
lea    0x0(,%rax,8),%esi
movslq %esi,%r12
sub    %eax,%esi
mov    %rax,%rbx
mov    %rax,0x28(%rsp)
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rdi
mov    %rdi,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rdi
add    %esi,%edi
imul   $0x66666667,%r12,%rax
mov    %rax,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rax
add    %esi,%eax
lea    (%rbx,%rbx,8),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rsi
mov    %rsi,%rcx
shr    $0x3f,%rcx
sar    $0x22,%rsi
add    %ecx,%esi
mov    %r14d,%ecx
sub    %edx,%ecx
mov    %ecx,-0x6c(%rsp)
mov    %ebx,%r12d
shr    $0x1f,%r12d
add    %r10d,%r12d
mov    %r12d,%r10d
sar    %r10d
mov    %r10d,%ecx
sub    %edx,%ecx
mov    %ebp,%r13d
sub    %edx,%r13d
mov    %edi,%r15d
sub    %edx,%r15d
mov    %eax,%r11d
sub    %edx,%r11d
sub    %edx,%esi
mov    %rax,0x150(%rsp)
movslq %eax,%rdx
mov    %rsi,0x148(%rsp)
movslq %esi,%rax
mov    %rax,0x138(%rsp)
mov    %rdx,%rsi
mov    %rdx,0x8(%rsp)
add    $0x1,%rdx
cmp    %rdx,%rax
cmovg  %rax,%rdx
sub    %rsi,%rdx
mov    %rdi,0x158(%rsp)
movslq %edi,%rsi
mov    %rsi,(%rsp)
mov    %r11d,0x140(%rsp)
movslq %r11d,%rax
lea    0x1(%rsi),%r11
cmp    %r11,%rax
mov    %rax,0xc0(%rsp)
cmovg  %rax,%r11
sub    %rsi,%r11
mov    %rbp,0x160(%rsp)
movslq %ebp,%rsi
mov    %rsi,-0x50(%rsp)
mov    %r15d,-0x18(%rsp)
movslq %r15d,%rax
lea    0x1(%rsi),%rbp
cmp    %rbp,%rax
mov    %rax,0xb8(%rsp)
cmovg  %rax,%rbp
sub    %rsi,%rbp
mov    %r10d,-0xc(%rsp)
movslq %r10d,%rsi
mov    %rsi,-0x58(%rsp)
mov    %r13d,-0x14(%rsp)
movslq %r13d,%rax
lea    0x1(%rsi),%r13
cmp    %r13,%rax
mov    %rax,-0x80(%rsp)
cmovg  %rax,%r13
sub    %rsi,%r13
mov    %r14,0x168(%rsp)
movslq %r14d,%rsi
mov    %ecx,-0x10(%rsp)
movslq %ecx,%rax
lea    0x1(%rsi),%rcx
mov    %rsi,-0x60(%rsp)
cmp    %rcx,%rax
mov    %rax,0x130(%rsp)
cmovg  %rax,%rcx
movd   %r12d,%xmm2
sub    %rsi,%rcx
movslq 0x68(%rsp),%r10
movslq -0x6c(%rsp),%rax
lea    0x1(%r10),%rbx
cmp    %rbx,%rax
mov    %rax,%r14
cmovg  %rax,%rbx
movslq %r9d,%r12
sub    %r10,%rbx
movslq 0x88(%rsp),%rsi
movslq 0xb0(%rsp),%rdi
lea    0x1(%rsi),%rax
cmp    %rax,%rdi
mov    %rdi,0x80(%rsp)
cmovg  %rdi,%rax
movslq %r8d,%rdi
mov    %rdi,0x128(%rsp)
sub    %rsi,%rax
mov    %rsi,%r9
mov    %rsi,-0x68(%rsp)
movslq 0x78(%rsp),%rsi
movslq 0x70(%rsp),%r15
lea    0x1(%rsi),%rdi
cmp    %rdi,%r15
cmovg  %r15,%rdi
sub    %rsi,%rdi
lea    -0x4(%rdi),%r8
mov    %r8,0xa0(%rsp)
shr    $0x2,%r8
add    $0x1,%r8
mov    %rdi,0x58(%rsp)
and    $0xfffffffffffffffc,%rdi
mov    %rdi,-0x40(%rsp)
movq   %rsi,%xmm3
pshufd $0x44,%xmm3,%xmm0
movdqa 0x2a85(%rip),%xmm1
paddq  %xmm0,%xmm1
movdqa %xmm1,0x170(%rsp)
paddq  0x2a80(%rip),%xmm0
movdqa %xmm0,0x180(%rsp)
movaps %xmm11,%xmm4
shufps $0x0,%xmm11,%xmm4
movaps %xmm15,%xmm5
shufps $0x0,%xmm15,%xmm5
mov    %r8,%rdi
mov    %r8,0x98(%rsp)
and    $0xfffffffffffffffe,%r8
mov    %r8,0xd0(%rsp)
mov    %rax,0x60(%rsp)
and    $0xfffffffffffffff8,%rax
mov    %rax,-0x48(%rsp)
movd   %r9d,%xmm3
pshufd $0x0,%xmm3,%xmm0
movdqa 0x2a3e(%rip),%xmm3
paddd  %xmm3,%xmm0
movdqa %xmm0,0x1f0(%rsp)
mov    %rbx,0x10(%rsp)
and    $0xfffffffffffffff8,%rbx
mov    %rbx,-0x8(%rsp)
mov    %r10,%r8
mov    %r10,-0x38(%rsp)
movd   %r8d,%xmm6
pshufd $0x0,%xmm6,%xmm0
paddd  %xmm3,%xmm0
movdqa %xmm0,0x1e0(%rsp)
mov    %rcx,0x18(%rsp)
and    $0xfffffffffffffff8,%rcx
mov    %rcx,0x48(%rsp)
mov    -0x60(%rsp),%rbx
movd   %ebx,%xmm6
pshufd $0x0,%xmm6,%xmm0
paddd  %xmm3,%xmm0
movdqa %xmm0,0x1d0(%rsp)
mov    %r13,-0x30(%rsp)
and    $0xfffffffffffffff8,%r13
mov    %r13,0x40(%rsp)
pshufd $0x0,%xmm2,%xmm0
psrad  $0x1,%xmm0
paddd  %xmm3,%xmm0
movdqa %xmm0,0x1c0(%rsp)
mov    %rbp,-0x28(%rsp)
and    $0xfffffffffffffff8,%rbp
mov    %rbp,0x38(%rsp)
mov    -0x50(%rsp),%rdi
movd   %edi,%xmm2
pshufd $0x0,%xmm2,%xmm0
paddd  %xmm3,%xmm0
movdqa %xmm0,0x1b0(%rsp)
mov    %r11,-0x20(%rsp)
and    $0xfffffffffffffff8,%r11
mov    %r11,0x30(%rsp)
mov    (%rsp),%r10
movd   %r10d,%xmm2
pshufd $0x0,%xmm2,%xmm0
paddd  %xmm3,%xmm0
movdqa %xmm0,0x1a0(%rsp)
mov    %rdx,0xa8(%rsp)
mov    %rdx,%r9
and    $0xfffffffffffffff8,%r9
mov    0x8(%rsp),%rbp
movd   %ebp,%xmm2
pshufd $0x0,%xmm2,%xmm0
paddd  %xmm3,%xmm0
movdqa %xmm0,0x190(%rsp)
mov    %r12,0x20(%rsp)
mov    %r12,%rdx
imul   0x28(%rsp),%rdx
lea    (%rdx,%rsi,1),%rax
mov    -0x78(%rsp),%rcx
lea    (%rcx,%rax,4),%r12
add    $0x10,%r12
mov    -0x68(%rsp),%rax
lea    (%rdx,%rax,1),%rax
lea    0x10(%rcx,%rax,4),%r13
lea    (%rdx,%r8,1),%rax
lea    0x10(%rcx,%rax,4),%r11
lea    (%rdx,%rbx,1),%rax
lea    0x10(%rcx,%rax,4),%rbx
mov    -0x58(%rsp),%rax
add    %rdx,%rax
lea    0x10(%rcx,%rax,4),%rax
add    %rdx,%rdi
lea    0x10(%rcx,%rdi,4),%r8
lea    (%rdx,%r10,1),%rdi
lea    (%rcx,%rdi,4),%rdi
add    $0x10,%rdi
lea    (%rcx,%rdx,4),%r10
add    %rbp,%rdx
lea    (%rcx,%rdx,4),%rbp
add    $0x10,%rbp
movdqa 0x28d3(%rip),%xmm0
pxor   %xmm7,%xmm7
movdqa 0x28e6(%rip),%xmm8
movdqa 0x28ed(%rip),%xmm9
mov    %rsi,0x50(%rsp)
mov    -0x40(%rsp),%rcx
lea    (%rcx,%rsi,1),%rcx
mov    %rcx,0x110(%rsp)
mov    -0x68(%rsp),%rcx
mov    -0x48(%rsp),%rdx
lea    (%rdx,%rcx,1),%rcx
mov    %rcx,0x108(%rsp)
mov    -0x8(%rsp),%rdx
mov    -0x38(%rsp),%rcx
lea    (%rdx,%rcx,1),%rcx
mov    %rcx,0x100(%rsp)
mov    0x48(%rsp),%rdx
mov    -0x60(%rsp),%rcx
lea    (%rdx,%rcx,1),%rcx
mov    %rcx,0xf8(%rsp)
mov    -0x58(%rsp),%rcx
mov    0x40(%rsp),%rdx
lea    (%rdx,%rcx,1),%rcx
mov    %rcx,0xf0(%rsp)
mov    0x38(%rsp),%rdx
mov    -0x50(%rsp),%rcx
lea    (%rdx,%rcx,1),%rcx
mov    %rcx,0xe8(%rsp)
mov    0x30(%rsp),%rdx
mov    (%rsp),%rcx
lea    (%rdx,%rcx,1),%rcx
mov    %rcx,0xe0(%rsp)
mov    %r9,0x118(%rsp)
mov    0x8(%rsp),%rcx
lea    (%r9,%rcx,1),%rcx
mov    %rcx,0xd8(%rsp)
mov    0x28(%rsp),%rcx
lea    0x0(,%rcx,4),%rcx
mov    %rcx,0x120(%rsp)
mov    0x88(%rsp),%r9
movdqa 0x2825(%rip),%xmm10
movaps 0x282e(%rip),%xmm6
movdqa 0x2835(%rip),%xmm12
movdqa 0x283c(%rip),%xmm13
movdqa 0x2843(%rip),%xmm14
movaps %xmm15,0x260(%rsp)
jmp    18cf <sqbars+0x7cf>
nopl   0x0(%rax,%rax,1)
mov    0x20(%rsp),%rcx
add    $0x1,%rcx
mov    0x120(%rsp),%rdx
add    %rdx,%r12
add    %rdx,%r10
add    %rdx,%r13
add    %rdx,%r11
add    %rdx,%rbx
add    %rdx,%rax
add    %rdx,%r8
add    %rdx,%rdi
add    %rdx,%rbp
mov    %rcx,0x20(%rsp)
cmp    0x128(%rsp),%rcx
je     238b <sqbars+0x128b>
mov    0x70(%rsp),%ecx
cmp    %ecx,0x78(%rsp)
mov    0x80(%rsp),%rcx
jge    1a30 <sqbars+0x930>
mov    0x50(%rsp),%rdx
cmpq   $0x4,0x58(%rsp)
jb     21d3 <sqbars+0x10d3>
mov    %r9,%rcx
cmpq   $0x4,0xa0(%rsp)
jae    191d <sqbars+0x81d>
xor    %edx,%edx
movdqa 0x180(%rsp),%xmm1
movdqa 0x170(%rsp),%xmm2
jmp    19a0 <sqbars+0x8a0>
mov    0xd0(%rsp),%r9
xor    %edx,%edx
movdqa 0x180(%rsp),%xmm1
movdqa 0x170(%rsp),%xmm2
nopl   0x0(%rax)
movdqa %xmm2,%xmm3
pand   %xmm0,%xmm3
movdqa %xmm1,%xmm6
pand   %xmm0,%xmm6
pcmpeqd %xmm7,%xmm6
pcmpeqd %xmm7,%xmm3
movdqa %xmm6,%xmm0
shufps $0xdd,%xmm3,%xmm0
shufps $0x88,%xmm3,%xmm6
andps  %xmm0,%xmm6
movaps %xmm4,%xmm0
andps  %xmm6,%xmm0
andnps %xmm5,%xmm6
orps   %xmm0,%xmm6
movdqa 0x26c5(%rip),%xmm0
movups %xmm6,-0x10(%r12,%rdx,4)
movups %xmm6,(%r12,%rdx,4)
movdqa 0x26c2(%rip),%xmm3
add    $0x8,%rdx
paddq  %xmm3,%xmm1
paddq  %xmm3,%xmm2
add    $0xfffffffffffffffe,%r9
jne    1940 <sqbars+0x840>
testb  $0x1,0x98(%rsp)
01
mov    %rcx,%r9
je     19fc <sqbars+0x8fc>
mov    0x20(%rsp),%rsi
imul   0x28(%rsp),%rsi
add    0x50(%rsp),%rdx
pand   %xmm0,%xmm2
pand   %xmm0,%xmm1
pcmpeqd %xmm7,%xmm1
pcmpeqd %xmm7,%xmm2
movdqa %xmm1,%xmm0
shufps $0xdd,%xmm2,%xmm0
shufps $0x88,%xmm2,%xmm1
andps  %xmm0,%xmm1
add    %rsi,%rdx
movaps %xmm4,%xmm0
andps  %xmm1,%xmm0
andnps %xmm5,%xmm1
orps   %xmm0,%xmm1
movdqa 0x264d(%rip),%xmm0
mov    -0x78(%rsp),%rcx
movups %xmm1,(%rcx,%rdx,4)
mov    0x110(%rsp),%rdx
mov    -0x40(%rsp),%rcx
cmp    %rcx,0x58(%rsp)
mov    0x80(%rsp),%rcx
movaps 0x2673(%rip),%xmm6
jne    21d3 <sqbars+0x10d3>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
cmp    0xb0(%rsp),%r9d
jge    1af0 <sqbars+0x9f0>
mov    -0x68(%rsp),%rdx
cmpq   $0x8,0x60(%rsp)
jb     2203 <sqbars+0x1103>
xor    %edx,%edx
movdqa 0x1f0(%rsp),%xmm2
mov    -0x48(%rsp),%rsi
nop
movdqa %xmm2,%xmm0
paddd  %xmm8,%xmm0
movdqa %xmm2,%xmm1
psrld  $0x1f,%xmm1
paddd  %xmm2,%xmm1
psrld  $0x1,%xmm1
movdqa %xmm0,%xmm3
psrld  $0x1f,%xmm3
paddd  %xmm0,%xmm3
psrld  $0x1,%xmm3
pand   %xmm9,%xmm1
pand   %xmm9,%xmm3
pcmpeqd %xmm7,%xmm1
pcmpeqd %xmm7,%xmm3
movaps %xmm4,%xmm0
andps  %xmm1,%xmm0
andnps %xmm5,%xmm1
orps   %xmm0,%xmm1
movaps %xmm4,%xmm0
andps  %xmm3,%xmm0
andnps %xmm5,%xmm3
orps   %xmm0,%xmm3
movups %xmm1,-0x10(%r13,%rdx,4)
movups %xmm3,0x0(%r13,%rdx,4)
add    $0x8,%rdx
paddd  %xmm10,%xmm2
cmp    %rdx,%rsi
jne    1a60 <sqbars+0x960>
mov    0x108(%rsp),%rdx
cmp    %rsi,0x60(%rsp)
movdqa 0x255a(%rip),%xmm0
jne    2203 <sqbars+0x1103>
nopl   0x0(%rax)
mov    -0x6c(%rsp),%ecx
cmp    %ecx,0x68(%rsp)
jge    1c30 <sqbars+0xb30>
mov    -0x38(%rsp),%rdx
cmpq   $0x8,0x10(%rsp)
jb     2233 <sqbars+0x1133>
xor    %edx,%edx
movaps %xmm6,%xmm15
movdqa 0x1e0(%rsp),%xmm6
mov    -0x8(%rsp),%rcx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movdqa %xmm6,%xmm0
paddd  %xmm8,%xmm0
movdqa %xmm6,%xmm1
pmuludq %xmm15,%xmm1
pshufd $0xed,%xmm1,%xmm1
pshufd $0xf5,%xmm6,%xmm2
pmuludq %xmm15,%xmm2
pshufd $0xed,%xmm2,%xmm2
punpckldq %xmm2,%xmm1
pxor   %xmm2,%xmm2
pcmpgtd %xmm6,%xmm2
pand   %xmm15,%xmm2
psubd  %xmm2,%xmm1
movdqa %xmm1,%xmm2
psrld  $0x1f,%xmm2
paddd  %xmm1,%xmm2
pshufd $0xf5,%xmm0,%xmm1
pxor   %xmm3,%xmm3
pcmpgtd %xmm0,%xmm3
pmuludq %xmm15,%xmm0
pshufd $0xed,%xmm0,%xmm0
pmuludq %xmm15,%xmm1
pshufd $0xed,%xmm1,%xmm1
punpckldq %xmm1,%xmm0
pand   %xmm15,%xmm3
psubd  %xmm3,%xmm0
movdqa %xmm0,%xmm1
psrld  $0x1f,%xmm1
paddd  %xmm0,%xmm1
pand   %xmm9,%xmm2
pand   %xmm9,%xmm1
pcmpeqd %xmm7,%xmm2
pcmpeqd %xmm7,%xmm1
movaps %xmm4,%xmm0
andps  %xmm2,%xmm0
andnps %xmm5,%xmm2
orps   %xmm0,%xmm2
movaps %xmm4,%xmm0
andps  %xmm1,%xmm0
andnps %xmm5,%xmm1
orps   %xmm0,%xmm1
movups %xmm2,-0x10(%r11,%rdx,4)
movups %xmm1,(%r11,%rdx,4)
add    $0x8,%rdx
paddd  %xmm10,%xmm6
cmp    %rdx,%rcx
jne    1b30 <sqbars+0xa30>
mov    0x100(%rsp),%rdx
cmp    %rcx,0x10(%rsp)
movdqa 0x2431(%rip),%xmm0
movaps %xmm15,%xmm6
movaps 0x260(%rsp),%xmm15
jne    2233 <sqbars+0x1133>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    -0x10(%rsp),%ecx
cmp    %ecx,0x168(%rsp)
mov    0x130(%rsp),%rsi
jge    1d10 <sqbars+0xc10>
mov    -0x60(%rsp),%rdx
cmpq   $0x8,0x18(%rsp)
jb     2273 <sqbars+0x1173>
xor    %edx,%edx
movdqa 0x1d0(%rsp),%xmm2
mov    0x48(%rsp),%rcx
nopw   0x0(%rax,%rax,1)
movdqa %xmm2,%xmm0
paddd  %xmm8,%xmm0
movdqa %xmm2,%xmm3
psrad  $0x1f,%xmm3
psrld  $0x1e,%xmm3
paddd  %xmm2,%xmm3
psrld  $0x2,%xmm3
movdqa %xmm0,%xmm1
psrad  $0x1f,%xmm1
psrld  $0x1e,%xmm1
paddd  %xmm0,%xmm1
psrld  $0x2,%xmm1
pand   %xmm9,%xmm3
pand   %xmm9,%xmm1
pcmpeqd %xmm7,%xmm3
pcmpeqd %xmm7,%xmm1
movaps %xmm4,%xmm0
andps  %xmm3,%xmm0
andnps %xmm5,%xmm3
orps   %xmm0,%xmm3
movaps %xmm4,%xmm0
andps  %xmm1,%xmm0
andnps %xmm5,%xmm1
orps   %xmm0,%xmm1
movups %xmm3,-0x10(%rbx,%rdx,4)
movups %xmm1,(%rbx,%rdx,4)
add    $0x8,%rdx
paddd  %xmm10,%xmm2
cmp    %rdx,%rcx
jne    1c70 <sqbars+0xb70>
mov    0xf8(%rsp),%rdx
cmp    %rcx,0x18(%rsp)
movdqa 0x2343(%rip),%xmm0
jne    2273 <sqbars+0x1173>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    -0x14(%rsp),%ecx
cmp    %ecx,-0xc(%rsp)
jge    1e40 <sqbars+0xd40>
mov    -0x58(%rsp),%rdx
cmpq   $0x8,-0x30(%rsp)
jb     22a5 <sqbars+0x11a5>
xor    %edx,%edx
movdqa 0x1c0(%rsp),%xmm6
mov    0x40(%rsp),%rcx
nop
movdqa %xmm6,%xmm3
paddd  %xmm8,%xmm3
movdqa %xmm6,%xmm0
pmuludq %xmm12,%xmm0
pshufd $0xed,%xmm0,%xmm2
pshufd $0xf5,%xmm6,%xmm0
pmuludq %xmm12,%xmm0
pshufd $0xed,%xmm0,%xmm0
punpckldq %xmm0,%xmm2
pxor   %xmm0,%xmm0
pcmpgtd %xmm6,%xmm0
pand   %xmm12,%xmm0
psubd  %xmm0,%xmm2
movdqa %xmm2,%xmm0
psrld  $0x1f,%xmm0
psrld  $0x1,%xmm2
paddd  %xmm0,%xmm2
pshufd $0xf5,%xmm3,%xmm0
pxor   %xmm1,%xmm1
pcmpgtd %xmm3,%xmm1
pmuludq %xmm12,%xmm3
pshufd $0xed,%xmm3,%xmm3
pmuludq %xmm12,%xmm0
pshufd $0xed,%xmm0,%xmm0
punpckldq %xmm0,%xmm3
pand   %xmm12,%xmm1
psubd  %xmm1,%xmm3
movdqa %xmm3,%xmm0
psrld  $0x1f,%xmm0
psrld  $0x1,%xmm3
paddd  %xmm0,%xmm3
pand   %xmm9,%xmm2
pand   %xmm9,%xmm3
pcmpeqd %xmm7,%xmm2
pcmpeqd %xmm7,%xmm3
movaps %xmm4,%xmm0
andps  %xmm2,%xmm0
andnps %xmm5,%xmm2
orps   %xmm0,%xmm2
movaps %xmm4,%xmm0
andps  %xmm3,%xmm0
andnps %xmm5,%xmm3
orps   %xmm0,%xmm3
movups %xmm2,-0x10(%rax,%rdx,4)
movups %xmm3,(%rax,%rdx,4)
add    $0x8,%rdx
paddd  %xmm10,%xmm6
cmp    %rdx,%rcx
jne    1d40 <sqbars+0xc40>
mov    0xf0(%rsp),%rdx
cmp    %rcx,-0x30(%rsp)
movdqa 0x2219(%rip),%xmm0
movaps 0x2262(%rip),%xmm6
jne    22a5 <sqbars+0x11a5>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    -0x18(%rsp),%ecx
cmp    %ecx,0x160(%rsp)
jge    1f70 <sqbars+0xe70>
mov    -0x50(%rsp),%rdx
cmpq   $0x8,-0x28(%rsp)
jb     22e8 <sqbars+0x11e8>
xor    %edx,%edx
movdqa 0x1b0(%rsp),%xmm6
mov    0x38(%rsp),%rcx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movdqa %xmm6,%xmm0
paddd  %xmm8,%xmm0
movdqa %xmm6,%xmm1
pmuludq %xmm13,%xmm1
pshufd $0xed,%xmm1,%xmm1
pshufd $0xf5,%xmm6,%xmm2
pmuludq %xmm13,%xmm2
pshufd $0xed,%xmm2,%xmm2
punpckldq %xmm2,%xmm1
pxor   %xmm2,%xmm2
pcmpgtd %xmm6,%xmm2
pand   %xmm13,%xmm2
psubd  %xmm2,%xmm1
movdqa %xmm1,%xmm2
psrld  $0x1f,%xmm2
paddd  %xmm1,%xmm2
pshufd $0xf5,%xmm0,%xmm1
pxor   %xmm3,%xmm3
pcmpgtd %xmm0,%xmm3
pmuludq %xmm13,%xmm0
pshufd $0xed,%xmm0,%xmm0
pmuludq %xmm13,%xmm1
pshufd $0xed,%xmm1,%xmm1
punpckldq %xmm1,%xmm0
pand   %xmm13,%xmm3
psubd  %xmm3,%xmm0
movdqa %xmm0,%xmm1
psrld  $0x1f,%xmm1
paddd  %xmm0,%xmm1
pand   %xmm9,%xmm2
pand   %xmm9,%xmm1
pcmpeqd %xmm7,%xmm2
pcmpeqd %xmm7,%xmm1
movaps %xmm4,%xmm0
andps  %xmm2,%xmm0
andnps %xmm5,%xmm2
orps   %xmm0,%xmm2
movaps %xmm4,%xmm0
andps  %xmm1,%xmm0
andnps %xmm5,%xmm1
orps   %xmm0,%xmm1
movups %xmm2,-0x10(%r8,%rdx,4)
movups %xmm1,(%r8,%rdx,4)
add    $0x8,%rdx
paddd  %xmm10,%xmm6
cmp    %rdx,%rcx
jne    1e80 <sqbars+0xd80>
mov    0xe8(%rsp),%rdx
cmp    %rcx,-0x28(%rsp)
movdqa 0x20e1(%rip),%xmm0
movaps 0x212a(%rip),%xmm6
jne    22e8 <sqbars+0x11e8>
nopl   0x0(%rax)
mov    0x140(%rsp),%ecx
cmp    %ecx,0x158(%rsp)
jge    20d0 <sqbars+0xfd0>
mov    (%rsp),%rdx
cmpq   $0x8,-0x20(%rsp)
jb     2328 <sqbars+0x1228>
movaps %xmm15,%xmm1
xor    %edx,%edx
movdqa 0x1a0(%rsp),%xmm15
mov    0x30(%rsp),%rcx
nopl   0x0(%rax)
movdqa %xmm15,%xmm6
paddd  %xmm8,%xmm6
movdqa %xmm15,%xmm0
pmuludq %xmm14,%xmm0
pshufd $0xed,%xmm0,%xmm2
pshufd $0xf5,%xmm15,%xmm0
pmuludq %xmm14,%xmm0
pshufd $0xed,%xmm0,%xmm0
punpckldq %xmm0,%xmm2
pxor   %xmm0,%xmm0
pcmpgtd %xmm15,%xmm0
pand   %xmm14,%xmm0
paddd  %xmm15,%xmm0
psubd  %xmm0,%xmm2
paddd  %xmm15,%xmm2
movdqa %xmm2,%xmm0
psrld  $0x1f,%xmm0
psrld  $0x2,%xmm2
paddd  %xmm0,%xmm2
movdqa %xmm6,%xmm0
pmuludq %xmm14,%xmm0
pshufd $0xed,%xmm0,%xmm3
pshufd $0xf5,%xmm6,%xmm0
pmuludq %xmm14,%xmm0
pshufd $0xed,%xmm0,%xmm0
punpckldq %xmm0,%xmm3
pxor   %xmm0,%xmm0
pcmpgtd %xmm6,%xmm0
pand   %xmm14,%xmm0
paddd  %xmm6,%xmm0
psubd  %xmm0,%xmm3
paddd  %xmm6,%xmm3
movdqa %xmm3,%xmm0
psrld  $0x1f,%xmm0
psrld  $0x2,%xmm3
paddd  %xmm0,%xmm3
pand   %xmm9,%xmm2
pand   %xmm9,%xmm3
pcmpeqd %xmm7,%xmm2
pcmpeqd %xmm7,%xmm3
movaps %xmm4,%xmm0
andps  %xmm2,%xmm0
andnps %xmm5,%xmm2
orps   %xmm0,%xmm2
movaps %xmm4,%xmm0
andps  %xmm3,%xmm0
andnps %xmm5,%xmm3
orps   %xmm0,%xmm3
movups %xmm2,-0x10(%rdi,%rdx,4)
movups %xmm3,(%rdi,%rdx,4)
add    $0x8,%rdx
paddd  %xmm10,%xmm15
cmp    %rdx,%rcx
jne    1fb0 <sqbars+0xeb0>
mov    0xe0(%rsp),%rdx
cmp    %rcx,-0x20(%rsp)
movaps %xmm1,%xmm15
movdqa 0x1f8b(%rip),%xmm0
movaps 0x1fd4(%rip),%xmm6
jne    2328 <sqbars+0x1228>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x148(%rsp),%rcx
cmp    %ecx,0x150(%rsp)
mov    0x138(%rsp),%rsi
jge    1890 <sqbars+0x790>
mov    0x8(%rsp),%rdx
cmpq   $0x8,0xa8(%rsp)
jb     2373 <sqbars+0x1273>
xor    %edx,%edx
movdqa 0x190(%rsp),%xmm2
mov    0x118(%rsp),%rcx
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movdqa %xmm2,%xmm0
paddd  %xmm8,%xmm0
movdqa %xmm2,%xmm3
psrad  $0x1f,%xmm3
psrld  $0x1d,%xmm3
paddd  %xmm2,%xmm3
psrld  $0x3,%xmm3
movdqa %xmm0,%xmm1
psrad  $0x1f,%xmm1
psrld  $0x1d,%xmm1
paddd  %xmm0,%xmm1
psrld  $0x3,%xmm1
pand   %xmm9,%xmm3
pand   %xmm9,%xmm1
pcmpeqd %xmm7,%xmm3
pcmpeqd %xmm7,%xmm1
movaps %xmm4,%xmm0
andps  %xmm3,%xmm0
andnps %xmm5,%xmm3
orps   %xmm0,%xmm3
movaps %xmm4,%xmm0
andps  %xmm1,%xmm0
andnps %xmm5,%xmm1
orps   %xmm0,%xmm1
movups %xmm3,-0x10(%rbp,%rdx,4)
movups %xmm1,0x0(%rbp,%rdx,4)
add    $0x8,%rdx
paddd  %xmm10,%xmm2
cmp    %rdx,%rcx
jne    2120 <sqbars+0x1020>
mov    0xd8(%rsp),%rdx
cmp    %rcx,0xa8(%rsp)
movdqa 0x1e8f(%rip),%xmm0
jne    2373 <sqbars+0x1273>
jmp    1890 <sqbars+0x790>
nopl   0x0(%rax)
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    %r15,%rdx
jge    1a30 <sqbars+0x930>
movaps %xmm11,%xmm2
test   $0x1,%dl
je     21c0 <sqbars+0x10c0>
movaps %xmm15,%xmm2
jmp    21c0 <sqbars+0x10c0>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    %rcx,%rdx
jge    1af0 <sqbars+0x9f0>
mov    %edx,%esi
shr    $0x1f,%esi
add    %edx,%esi
bt     $0x1,%esi
movaps %xmm11,%xmm2
jae    21f0 <sqbars+0x10f0>
movaps %xmm15,%xmm2
jmp    21f0 <sqbars+0x10f0>
nopw   0x0(%rax,%rax,1)
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    %r14,%rdx
jge    1c30 <sqbars+0xb30>
movslq %edx,%rsi
imul   $0x55555556,%rsi,%rsi
mov    %rsi,%rcx
shr    $0x3f,%rcx
shr    $0x20,%rsi
add    %ecx,%esi
movaps %xmm11,%xmm2
test   $0x1,%sil
je     2220 <sqbars+0x1120>
movaps %xmm15,%xmm2
jmp    2220 <sqbars+0x1120>
nopw   0x0(%rax,%rax,1)
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    %rsi,%rdx
jge    1d10 <sqbars+0xc10>
lea    0x3(%rdx),%ecx
test   %edx,%edx
cmovns %edx,%ecx
bt     $0x2,%ecx
movaps %xmm11,%xmm2
jae    2260 <sqbars+0x1160>
movaps %xmm15,%xmm2
jmp    2260 <sqbars+0x1160>
nopl   0x0(%rax,%rax,1)
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    -0x80(%rsp),%rdx
jge    1e40 <sqbars+0xd40>
movslq %edx,%rcx
imul   $0x66666667,%rcx,%rcx
mov    %rcx,%rsi
shr    $0x3f,%rsi
shr    $0x21,%rcx
add    %esi,%ecx
movaps %xmm11,%xmm2
test   $0x1,%cl
je     2290 <sqbars+0x1190>
movaps %xmm15,%xmm2
jmp    2290 <sqbars+0x1190>
nopl   0x0(%rax,%rax,1)
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    0xb8(%rsp),%rdx
jge    1f70 <sqbars+0xe70>
movslq %edx,%rcx
imul   $0x2aaaaaab,%rcx,%rcx
mov    %rcx,%rsi
shr    $0x3f,%rsi
shr    $0x20,%rcx
add    %esi,%ecx
movaps %xmm11,%xmm2
test   $0x1,%cl
je     22d0 <sqbars+0x11d0>
movaps %xmm15,%xmm2
jmp    22d0 <sqbars+0x11d0>
xchg   %ax,%ax
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    0xc0(%rsp),%rdx
jge    20d0 <sqbars+0xfd0>
movslq %edx,%rcx
imul   $0xffffffff92492493,%rcx,%rsi
shr    $0x20,%rsi
add    %esi,%ecx
mov    %ecx,%esi
shr    $0x1f,%esi
shr    $0x2,%ecx
add    %esi,%ecx
movaps %xmm11,%xmm2
test   $0x1,%cl
je     2310 <sqbars+0x1210>
movaps %xmm15,%xmm2
jmp    2310 <sqbars+0x1210>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movss  %xmm2,(%r10,%rdx,4)
add    $0x1,%rdx
cmp    %rsi,%rdx
jge    1890 <sqbars+0x790>
lea    0x7(%rdx),%ecx
test   %edx,%edx
cmovns %edx,%ecx
bt     $0x3,%ecx
movaps %xmm11,%xmm2
jae    2360 <sqbars+0x1260>
movaps %xmm15,%xmm2
jmp    2360 <sqbars+0x1260>
mov    0xc8(%rsp),%rdx
lea    (%rdx,%rdx,2),%eax
cltq
imul   $0x66666667,%rax,%r15
mov    %r15,%rcx
shr    $0x3f,%rcx
sar    $0x21,%r15
add    %ecx,%r15d
shl    $0x2,%edx
movslq %edx,%rcx
imul   $0x66666667,%rcx,%r9
mov    %r9,%rdx
shr    $0x3f,%rdx
sar    $0x21,%r9
add    %edx,%r9d
cmp    %r9d,%r15d
jge    31e4 <sqbars+0x20e4>
mov    0x90(%rsp),%rbp
movslq %ebp,%rax
imul   $0x66666667,%rax,%rsi
mov    %rax,-0x80(%rsp)
mov    %rsi,%rcx
sar    $0x22,%rcx
mov    %rsi,%rdx
shr    $0x3f,%rdx
add    %edx,%ecx
mov    %rcx,0x80(%rsp)
sar    $0x21,%rsi
add    %edx,%esi
mov    %rsi,%rcx
mov    %rsi,0x20(%rsp)
imul   $0x51eb851f,%rax,%rdx
mov    %rdx,%rsi
shr    $0x3f,%rsi
sar    $0x25,%rdx
add    %esi,%edx
mov    %ecx,%eax
sub    %edx,%eax
mov    %eax,0x78(%rsp)
lea    0x0(%rbp,%rbp,2),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rax
mov    %rax,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rax
add    %esi,%eax
mov    %rax,%r8
mov    %rax,0x70(%rsp)
lea    0x0(,%rbp,4),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%r12
mov    %r12,%rsi
shr    $0x3f,%rsi
sar    $0x22,%r12
add    %esi,%r12d
mov    %ebp,%edi
shr    $0x1f,%edi
add    %ebp,%edi
lea    0x0(%rbp,%rbp,1),%esi
lea    (%rsi,%rsi,2),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rbx
mov    %rbx,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rbx
add    %esi,%ebx
lea    0x0(,%rbp,8),%esi
movslq %esi,%r10
sub    %ebp,%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rax
mov    %rax,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rax
add    %esi,%eax
imul   $0x66666667,%r10,%rcx
mov    %rcx,%rsi
shr    $0x3f,%rsi
sar    $0x22,%rcx
add    %esi,%ecx
lea    0x0(%rbp,%rbp,8),%esi
movslq %esi,%rsi
imul   $0x66666667,%rsi,%rsi
mov    %rsi,%rbp
shr    $0x3f,%rbp
sar    $0x22,%rsi
add    %ebp,%esi
mov    %r8d,%ebp
sub    %edx,%ebp
mov    %ebp,0x68(%rsp)
mov    %r12d,%r11d
sub    %edx,%r11d
sar    %edi
mov    %edi,%r8d
sub    %edx,%r8d
mov    %ebx,%r10d
sub    %edx,%r10d
mov    %eax,%r13d
sub    %edx,%r13d
mov    %ecx,%r14d
sub    %edx,%r14d
sub    %edx,%esi
mov    %rcx,0x158(%rsp)
movslq %ecx,%rdx
mov    %rsi,0x150(%rsp)
movslq %esi,%rcx
mov    %rdx,-0x8(%rsp)
lea    0x1(%rdx),%rsi
cmp    %rsi,%rcx
cmovg  %rcx,%rsi
sub    %rdx,%rsi
mov    %rsi,-0x20(%rsp)
mov    %rax,0x160(%rsp)
movslq %eax,%rdx
mov    %rdx,-0x50(%rsp)
mov    %r14d,-0x18(%rsp)
movslq %r14d,%rax
lea    0x1(%rdx),%rsi
cmp    %rsi,%rax
mov    %rax,0x138(%rsp)
cmovg  %rax,%rsi
sub    %rdx,%rsi
mov    %rsi,-0x28(%rsp)
mov    %rbx,0x168(%rsp)
movslq %ebx,%rdx
mov    %rdx,-0x58(%rsp)
mov    %r13d,-0x14(%rsp)
movslq %r13d,%rax
lea    0x1(%rdx),%rsi
cmp    %rsi,%rax
mov    %rax,0x130(%rsp)
cmovg  %rax,%rsi
sub    %rdx,%rsi
mov    %rsi,-0x30(%rsp)
mov    %edi,-0x6c(%rsp)
movslq %edi,%rdx
mov    %rdx,-0x60(%rsp)
mov    %r10d,-0x10(%rsp)
movslq %r10d,%rax
mov    %rax,0x60(%rsp)
lea    0x1(%rdx),%r14
cmp    %r14,%rax
cmovg  %rax,%r14
movslq %r15d,%rbp
sub    %rdx,%r14
mov    %r14,0x18(%rsp)
mov    %r12,0xb0(%rsp)
movslq %r12d,%rax
mov    %rax,-0x68(%rsp)
mov    %r8d,-0xc(%rsp)
movslq %r8d,%rsi
lea    0x1(%rax),%rdi
cmp    %rdi,%rsi
cmovg  %rsi,%rdi
movslq %r9d,%rdx
mov    %rdx,0x120(%rsp)
mov    %rsi,%r9
mov    %rcx,%r10
sub    %rax,%rdi
mov    %rdi,%r8
mov    %rdi,0x10(%rsp)
movslq 0x70(%rsp),%rax
mov    %rax,-0x38(%rsp)
mov    %r11d,0x148(%rsp)
movslq %r11d,%rcx
lea    0x1(%rax),%r13
cmp    %r13,%rcx
mov    %rcx,0x58(%rsp)
cmovg  %rcx,%r13
sub    %rax,%r13
movslq 0x20(%rsp),%rax
mov    %rax,-0x40(%rsp)
movslq 0x68(%rsp),%rcx
lea    0x1(%rax),%rdi
cmp    %rdi,%rcx
mov    %rcx,0xc0(%rsp)
cmovg  %rcx,%rdi
sub    %rax,%rdi
movslq 0x80(%rsp),%rax
mov    %rax,-0x48(%rsp)
movslq 0x78(%rsp),%rsi
lea    0x1(%rax),%rcx
cmp    %rcx,%rsi
mov    %rsi,0xb8(%rsp)
cmovg  %rsi,%rcx
sub    %rax,%rcx
lea    -0x8(%rcx),%rsi
mov    %rsi,0x1f0(%rsp)
shr    $0x3,%rsi
add    $0x1,%rsi
lea    -0x8(%rdi),%rbx
mov    %rbx,0x1d0(%rsp)
shr    $0x3,%rbx
add    $0x1,%rbx
lea    -0x8(%r13),%rdx
mov    %rdx,0x1b0(%rsp)
mov    %rdx,%r15
shr    $0x3,%r15
add    $0x1,%r15
lea    -0x8(%r8),%rdx
mov    %rdx,0x118(%rsp)
mov    %rdx,%r12
shr    $0x3,%r12
add    $0x1,%r12
lea    -0x8(%r14),%rdx
mov    %rdx,0x110(%rsp)
shr    $0x3,%rdx
add    $0x1,%rdx
mov    -0x30(%rsp),%rax
lea    -0x8(%rax),%r8
mov    %r8,0x100(%rsp)
shr    $0x3,%r8
add    $0x1,%r8
mov    -0x28(%rsp),%rax
lea    -0x8(%rax),%r11
mov    %r11,0xf0(%rsp)
shr    $0x3,%r11
add    $0x1,%r11
mov    -0x20(%rsp),%rax
lea    -0x8(%rax),%r14
mov    %r14,0xe0(%rsp)
shr    $0x3,%r14
add    $0x1,%r14
mov    %rcx,(%rsp)
and    $0xfffffffffffffff8,%rcx
mov    %rcx,0x48(%rsp)
movaps %xmm11,%xmm2
shufps $0x0,%xmm11,%xmm2
movaps %xmm15,%xmm3
shufps $0x0,%xmm15,%xmm3
mov    %rsi,%rcx
mov    %rsi,0x1e0(%rsp)
and    $0xfffffffffffffffe,%rsi
mov    %rsi,0x240(%rsp)
mov    %rdi,0x8(%rsp)
and    $0xfffffffffffffff8,%rdi
mov    %rdi,0x40(%rsp)
mov    %rbx,%rax
mov    %rbx,0x1c0(%rsp)
and    $0xfffffffffffffffe,%rbx
mov    %rbx,0x238(%rsp)
mov    %r13,0x50(%rsp)
and    $0xfffffffffffffff8,%r13
mov    %r13,0x38(%rsp)
mov    %r15,%rax
mov    %r15,0x1a0(%rsp)
and    $0xfffffffffffffffe,%r15
mov    %r15,0x230(%rsp)
mov    0x10(%rsp),%rax
and    $0xfffffffffffffff8,%rax
mov    %rax,0x30(%rsp)
mov    %r12,%rax
mov    %r12,0x190(%rsp)
and    $0xfffffffffffffffe,%r12
mov    %r12,0x228(%rsp)
mov    0x18(%rsp),%rax
and    $0xfffffffffffffff8,%rax
mov    %rax,0xa0(%rsp)
mov    %rdx,%rax
mov    %rdx,0x108(%rsp)
and    $0xfffffffffffffffe,%rdx
mov    %rdx,0x220(%rsp)
mov    -0x30(%rsp),%rax
and    $0xfffffffffffffff8,%rax
mov    %rax,0x98(%rsp)
mov    %r8,%rax
mov    %r8,0xf8(%rsp)
and    $0xfffffffffffffffe,%r8
mov    %r8,0x218(%rsp)
mov    -0x28(%rsp),%rax
and    $0xfffffffffffffff8,%rax
mov    %rax,0x180(%rsp)
mov    %r11,%rax
mov    %r11,0xe8(%rsp)
and    $0xfffffffffffffffe,%r11
mov    %r11,0x210(%rsp)
mov    -0x20(%rsp),%rax
and    $0xfffffffffffffff8,%rax
mov    %rax,0x170(%rsp)
mov    %r14,%rax
mov    %r14,0xd8(%rsp)
and    $0xfffffffffffffffe,%r14
mov    %r14,0x208(%rsp)
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
mov    -0x48(%rsp),%rcx
add    %rax,%rcx
mov    -0x78(%rsp),%rdi
lea    0x30(%rdi,%rcx,4),%r11
mov    -0x40(%rsp),%rcx
lea    (%rax,%rcx,1),%rcx
lea    0x30(%rdi,%rcx,4),%r14
mov    -0x38(%rsp),%rcx
lea    (%rax,%rcx,1),%rcx
lea    0x30(%rdi,%rcx,4),%r13
mov    -0x68(%rsp),%rcx
lea    (%rax,%rcx,1),%rcx
lea    0x30(%rdi,%rcx,4),%rdx
mov    -0x60(%rsp),%rcx
lea    (%rax,%rcx,1),%rcx
lea    0x30(%rdi,%rcx,4),%rbx
mov    -0x58(%rsp),%rcx
add    %rax,%rcx
lea    0x30(%rdi,%rcx,4),%rcx
mov    -0x50(%rsp),%rsi
add    %rax,%rsi
lea    (%rdi,%rsi,4),%r15
add    $0x30,%r15
lea    (%rdi,%rax,4),%r12
mov    -0x8(%rsp),%rsi
add    %rsi,%rax
lea    (%rdi,%rax,4),%r8
add    $0x30,%r8
mov    -0x48(%rsp),%rax
mov    0x48(%rsp),%rdi
lea    (%rdi,%rax,1),%rax
mov    %rax,0x28(%rsp)
mov    -0x40(%rsp),%rax
mov    0x40(%rsp),%rdi
lea    (%rdi,%rax,1),%rax
mov    %rax,0xd0(%rsp)
mov    -0x38(%rsp),%rax
mov    0x38(%rsp),%rdi
lea    (%rdi,%rax,1),%rax
mov    %rax,0xc8(%rsp)
mov    -0x68(%rsp),%rax
mov    0x30(%rsp),%rdi
lea    (%rdi,%rax,1),%rax
mov    %rax,0x90(%rsp)
mov    -0x60(%rsp),%rax
mov    0xa0(%rsp),%rdi
lea    (%rdi,%rax,1),%rax
mov    %rax,0x88(%rsp)
mov    -0x58(%rsp),%rax
mov    0x98(%rsp),%rdi
lea    (%rdi,%rax,1),%rax
mov    %rax,0x258(%rsp)
mov    -0x50(%rsp),%rax
mov    0x180(%rsp),%rdi
lea    (%rdi,%rax,1),%rax
mov    %rax,0x250(%rsp)
mov    %rsi,%rax
mov    0x170(%rsp),%rsi
add    %rsi,%rax
mov    %rax,0x248(%rsp)
mov    -0x80(%rsp),%rax
lea    0x0(,%rax,4),%rax
mov    %rax,0xa8(%rsp)
mov    %r10,0x140(%rsp)
mov    %r9,0x128(%rsp)
mov    0x140(%rsp),%r10
jmp    2a25 <sqbars+0x1925>
nopl   0x0(%rax,%rax,1)
add    $0x1,%rbp
mov    0xa8(%rsp),%rax
add    %rax,%r11
add    %rax,%r12
add    %rax,%r14
add    %rax,%r13
add    %rax,%rdx
add    %rax,%rbx
add    %rax,%rcx
add    %rax,%r15
add    %rax,%r8
cmp    0x120(%rsp),%rbp
je     31e4 <sqbars+0x20e4>
mov    0x78(%rsp),%eax
cmp    %eax,0x80(%rsp)
mov    0xb8(%rsp),%rax
jge    2b1f <sqbars+0x1a1f>
mov    -0x48(%rsp),%rsi
cmpq   $0x8,(%rsp)
jb     2af4 <sqbars+0x19f4>
cmpq   $0x8,0x1f0(%rsp)
jae    2a5d <sqbars+0x195d>
xor    %esi,%esi
jmp    2aa1 <sqbars+0x19a1>
movaps %xmm2,%xmm4
movaps %xmm2,%xmm5
test   $0x1,%bpl
je     2a6f <sqbars+0x196f>
movaps %xmm3,%xmm4
movaps %xmm3,%xmm5
mov    0x240(%rsp),%rdi
xor    %esi,%esi
nopl   0x0(%rax)
movups %xmm4,-0x30(%r11,%rsi,4)
movups %xmm5,-0x20(%r11,%rsi,4)
movups %xmm4,-0x10(%r11,%rsi,4)
movups %xmm5,(%r11,%rsi,4)
add    $0x10,%rsi
add    $0xfffffffffffffffe,%rdi
jne    2a80 <sqbars+0x1980>
testb  $0x1,0x1e0(%rsp)
01
je     2ae4 <sqbars+0x19e4>
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
add    -0x48(%rsp),%rsi
add    %rax,%rsi
movaps %xmm2,%xmm4
movaps %xmm2,%xmm5
test   $0x1,%bpl
je     2ace <sqbars+0x19ce>
movaps %xmm3,%xmm4
movaps %xmm3,%xmm5
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rsi,4)
movups %xmm5,0x10(%rax,%rsi,4)
mov    0xb8(%rsp),%rax
mov    0x28(%rsp),%rsi
mov    0x48(%rsp),%rdi
cmp    %rdi,(%rsp)
je     2b1f <sqbars+0x1a1f>
movaps %xmm11,%xmm4
test   $0x1,%bpl
je     2b10 <sqbars+0x1a10>
movaps %xmm15,%xmm4
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movss  %xmm4,(%r12,%rsi,4)
add    $0x1,%rsi
cmp    %rax,%rsi
jl     2b10 <sqbars+0x1a10>
mov    0x68(%rsp),%eax
cmp    %eax,0x20(%rsp)
mov    0xc0(%rsp),%rax
jge    2c0f <sqbars+0x1b0f>
mov    %ebp,%esi
shr    $0x1f,%esi
add    %ebp,%esi
sar    %esi
mov    -0x40(%rsp),%rdi
cmpq   $0x8,0x8(%rsp)
jb     2bf2 <sqbars+0x1af2>
cmpq   $0x8,0x1d0(%rsp)
jae    2b5e <sqbars+0x1a5e>
xor    %edi,%edi
jmp    2ba1 <sqbars+0x1aa1>
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2b6a <sqbars+0x1a6a>
movaps %xmm3,%xmm4
mov    0x238(%rsp),%rax
xor    %edi,%edi
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movups %xmm4,-0x30(%r14,%rdi,4)
movups %xmm4,-0x20(%r14,%rdi,4)
movups %xmm4,-0x10(%r14,%rdi,4)
movups %xmm4,(%r14,%rdi,4)
add    $0x10,%rdi
add    $0xfffffffffffffffe,%rax
jne    2b80 <sqbars+0x1a80>
testb  $0x1,0x1c0(%rsp)
01
je     2bd6 <sqbars+0x1ad6>
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
add    -0x40(%rsp),%rdi
add    %rax,%rdi
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2bc8 <sqbars+0x1ac8>
movaps %xmm3,%xmm4
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rdi,4)
movups %xmm4,0x10(%rax,%rdi,4)
mov    0xd0(%rsp),%rdi
mov    0x40(%rsp),%rax
cmp    %rax,0x8(%rsp)
mov    0xc0(%rsp),%rax
je     2c0f <sqbars+0x1b0f>
movaps %xmm11,%xmm4
test   $0x1,%sil
je     2c00 <sqbars+0x1b00>
movaps %xmm15,%xmm4
movss  %xmm4,(%r12,%rdi,4)
add    $0x1,%rdi
cmp    %rax,%rdi
jl     2c00 <sqbars+0x1b00>
mov    0x148(%rsp),%eax
cmp    %eax,0x70(%rsp)
jge    2d0f <sqbars+0x1c0f>
movslq %ebp,%rax
imul   $0x55555556,%rax,%rsi
mov    %rsi,%rax
shr    $0x3f,%rax
shr    $0x20,%rsi
add    %eax,%esi
mov    0x58(%rsp),%rax
mov    -0x38(%rsp),%rdi
cmpq   $0x8,0x50(%rsp)
jb     2cf0 <sqbars+0x1bf0>
cmpq   $0x8,0x1b0(%rsp)
jae    2c5c <sqbars+0x1b5c>
xor    %edi,%edi
jmp    2ca2 <sqbars+0x1ba2>
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2c68 <sqbars+0x1b68>
movaps %xmm3,%xmm4
mov    0x230(%rsp),%rax
xor    %edi,%edi
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movups %xmm4,-0x30(%r13,%rdi,4)
movups %xmm4,-0x20(%r13,%rdi,4)
movups %xmm4,-0x10(%r13,%rdi,4)
movups %xmm4,0x0(%r13,%rdi,4)
add    $0x10,%rdi
add    $0xfffffffffffffffe,%rax
jne    2c80 <sqbars+0x1b80>
testb  $0x1,0x1a0(%rsp)
01
je     2cd7 <sqbars+0x1bd7>
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
add    -0x38(%rsp),%rdi
add    %rax,%rdi
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2cc9 <sqbars+0x1bc9>
movaps %xmm3,%xmm4
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rdi,4)
movups %xmm4,0x10(%rax,%rdi,4)
mov    0xc8(%rsp),%rdi
mov    0x38(%rsp),%rax
cmp    %rax,0x50(%rsp)
mov    0x58(%rsp),%rax
je     2d0f <sqbars+0x1c0f>
movaps %xmm11,%xmm4
test   $0x1,%sil
je     2d00 <sqbars+0x1c00>
movaps %xmm15,%xmm4
xchg   %ax,%ax
movss  %xmm4,(%r12,%rdi,4)
add    $0x1,%rdi
cmp    %rax,%rdi
jl     2d00 <sqbars+0x1c00>
mov    -0xc(%rsp),%eax
cmp    %eax,0xb0(%rsp)
jge    2dff <sqbars+0x1cff>
lea    0x3(%rbp),%esi
test   %ebp,%ebp
cmovns %ebp,%esi
sar    $0x2,%esi
mov    -0x68(%rsp),%rdi
cmpq   $0x8,0x10(%rsp)
jb     2dd6 <sqbars+0x1cd6>
cmpq   $0x8,0x118(%rsp)
jae    2d4b <sqbars+0x1c4b>
xor    %edi,%edi
jmp    2d8d <sqbars+0x1c8d>
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2d57 <sqbars+0x1c57>
movaps %xmm3,%xmm4
mov    0x228(%rsp),%rax
xor    %edi,%edi
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movups %xmm4,-0x30(%rdx,%rdi,4)
movups %xmm4,-0x20(%rdx,%rdi,4)
movups %xmm4,-0x10(%rdx,%rdi,4)
movups %xmm4,(%rdx,%rdi,4)
add    $0x10,%rdi
add    $0xfffffffffffffffe,%rax
jne    2d70 <sqbars+0x1c70>
testb  $0x1,0x190(%rsp)
01
je     2dc2 <sqbars+0x1cc2>
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
add    -0x68(%rsp),%rdi
add    %rax,%rdi
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2db4 <sqbars+0x1cb4>
movaps %xmm3,%xmm4
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rdi,4)
movups %xmm4,0x10(%rax,%rdi,4)
mov    0x90(%rsp),%rdi
mov    0x30(%rsp),%rax
cmp    %rax,0x10(%rsp)
je     2dff <sqbars+0x1cff>
movaps %xmm11,%xmm4
test   $0x1,%sil
je     2df0 <sqbars+0x1cf0>
movaps %xmm15,%xmm4
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movss  %xmm4,(%r12,%rdi,4)
add    $0x1,%rdi
cmp    %r9,%rdi
jl     2df0 <sqbars+0x1cf0>
mov    -0x10(%rsp),%eax
cmp    %eax,-0x6c(%rsp)
jge    2eef <sqbars+0x1def>
movslq %ebp,%rax
imul   $0x66666667,%rax,%rsi
mov    %rsi,%rax
shr    $0x3f,%rax
sar    $0x21,%rsi
add    %eax,%esi
mov    0x60(%rsp),%rax
mov    -0x60(%rsp),%rdi
cmpq   $0x8,0x18(%rsp)
jb     2ece <sqbars+0x1dce>
cmpq   $0x8,0x110(%rsp)
jae    2e49 <sqbars+0x1d49>
xor    %edi,%edi
jmp    2e7d <sqbars+0x1d7d>
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2e55 <sqbars+0x1d55>
movaps %xmm3,%xmm4
mov    0x220(%rsp),%rax
xor    %edi,%edi
nop
movups %xmm4,-0x30(%rbx,%rdi,4)
movups %xmm4,-0x20(%rbx,%rdi,4)
movups %xmm4,-0x10(%rbx,%rdi,4)
movups %xmm4,(%rbx,%rdi,4)
add    $0x10,%rdi
add    $0xfffffffffffffffe,%rax
jne    2e60 <sqbars+0x1d60>
testb  $0x1,0x108(%rsp)
01
je     2eb2 <sqbars+0x1db2>
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
add    -0x60(%rsp),%rdi
add    %rax,%rdi
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2ea4 <sqbars+0x1da4>
movaps %xmm3,%xmm4
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rdi,4)
movups %xmm4,0x10(%rax,%rdi,4)
mov    0x88(%rsp),%rdi
mov    0xa0(%rsp),%rax
cmp    %rax,0x18(%rsp)
mov    0x60(%rsp),%rax
je     2eef <sqbars+0x1def>
movaps %xmm11,%xmm4
test   $0x1,%sil
je     2ee0 <sqbars+0x1de0>
movaps %xmm15,%xmm4
nopl   0x0(%rax)
movss  %xmm4,(%r12,%rdi,4)
add    $0x1,%rdi
cmp    %rax,%rdi
jl     2ee0 <sqbars+0x1de0>
mov    %rbp,%r9
mov    -0x14(%rsp),%eax
cmp    %eax,0x168(%rsp)
mov    0x130(%rsp),%rbp
jge    2fef <sqbars+0x1eef>
movslq %r9d,%rax
imul   $0x2aaaaaab,%rax,%rsi
mov    %rsi,%rax
shr    $0x3f,%rax
shr    $0x20,%rsi
add    %eax,%esi
mov    -0x58(%rsp),%rdi
cmpq   $0x8,-0x30(%rsp)
jb     2fc9 <sqbars+0x1ec9>
cmpq   $0x8,0x100(%rsp)
jae    2f42 <sqbars+0x1e42>
xor    %edi,%edi
jmp    2f7d <sqbars+0x1e7d>
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2f4e <sqbars+0x1e4e>
movaps %xmm3,%xmm4
mov    0x218(%rsp),%rax
xor    %edi,%edi
nopl   0x0(%rax,%rax,1)
movups %xmm4,-0x30(%rcx,%rdi,4)
movups %xmm4,-0x20(%rcx,%rdi,4)
movups %xmm4,-0x10(%rcx,%rdi,4)
movups %xmm4,(%rcx,%rdi,4)
add    $0x10,%rdi
add    $0xfffffffffffffffe,%rax
jne    2f60 <sqbars+0x1e60>
testb  $0x1,0xf8(%rsp)
01
je     2fb2 <sqbars+0x1eb2>
mov    %r9,%rax
imul   -0x80(%rsp),%rax
add    -0x58(%rsp),%rdi
add    %rax,%rdi
movaps %xmm2,%xmm4
test   $0x1,%sil
je     2fa4 <sqbars+0x1ea4>
movaps %xmm3,%xmm4
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rdi,4)
movups %xmm4,0x10(%rax,%rdi,4)
mov    0x258(%rsp),%rdi
mov    0x98(%rsp),%rax
cmp    %rax,-0x30(%rsp)
je     2fef <sqbars+0x1eef>
movaps %xmm11,%xmm4
test   $0x1,%sil
je     2fe0 <sqbars+0x1ee0>
movaps %xmm15,%xmm4
nopw   0x0(%rax,%rax,1)
movss  %xmm4,(%r12,%rdi,4)
add    $0x1,%rdi
cmp    %rbp,%rdi
jl     2fe0 <sqbars+0x1ee0>
mov    -0x18(%rsp),%eax
cmp    %eax,0x160(%rsp)
mov    0x138(%rsp),%rdi
mov    %r9,%rbp
jge    30ef <sqbars+0x1fef>
movslq %ebp,%r9
imul   $0xffffffff92492493,%r9,%rax
shr    $0x20,%rax
add    %eax,%r9d
mov    %r9d,%eax
shr    $0x1f,%eax
sar    $0x2,%r9d
add    %eax,%r9d
mov    -0x50(%rsp),%rsi
cmpq   $0x8,-0x28(%rsp)
jb     30cd <sqbars+0x1fcd>
cmpq   $0x8,0xf0(%rsp)
jae    3049 <sqbars+0x1f49>
xor    %esi,%esi
jmp    3081 <sqbars+0x1f81>
movaps %xmm2,%xmm4
test   $0x1,%r9b
je     3055 <sqbars+0x1f55>
movaps %xmm3,%xmm4
mov    0x210(%rsp),%rax
xor    %esi,%esi
nop
movups %xmm4,-0x30(%r15,%rsi,4)
movups %xmm4,-0x20(%r15,%rsi,4)
movups %xmm4,-0x10(%r15,%rsi,4)
movups %xmm4,(%r15,%rsi,4)
add    $0x10,%rsi
add    $0xfffffffffffffffe,%rax
jne    3060 <sqbars+0x1f60>
testb  $0x1,0xe8(%rsp)
01
je     30b6 <sqbars+0x1fb6>
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
add    -0x50(%rsp),%rsi
add    %rax,%rsi
movaps %xmm2,%xmm4
test   $0x1,%r9b
je     30a8 <sqbars+0x1fa8>
movaps %xmm3,%xmm4
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rsi,4)
movups %xmm4,0x10(%rax,%rsi,4)
mov    0x250(%rsp),%rsi
mov    0x180(%rsp),%rax
cmp    %rax,-0x28(%rsp)
je     30ef <sqbars+0x1fef>
movaps %xmm11,%xmm4
test   $0x1,%r9b
je     30e0 <sqbars+0x1fe0>
movaps %xmm15,%xmm4
nopl   0x0(%rax,%rax,1)
movss  %xmm4,(%r12,%rsi,4)
add    $0x1,%rsi
cmp    %rdi,%rsi
jl     30e0 <sqbars+0x1fe0>
mov    0x150(%rsp),%rax
cmp    %eax,0x158(%rsp)
mov    0x128(%rsp),%r9
jge    29f0 <sqbars+0x18f0>
lea    0x7(%rbp),%esi
test   %ebp,%ebp
cmovns %ebp,%esi
sar    $0x3,%esi
mov    -0x8(%rsp),%rdi
cmpq   $0x8,-0x20(%rsp)
jb     31c1 <sqbars+0x20c1>
cmpq   $0x8,0xe0(%rsp)
jae    3137 <sqbars+0x2037>
xor    %edi,%edi
jmp    3171 <sqbars+0x2071>
movaps %xmm2,%xmm4
test   $0x1,%sil
je     3143 <sqbars+0x2043>
movaps %xmm3,%xmm4
mov    0x208(%rsp),%rax
xor    %edi,%edi
nopl   (%rax)
movups %xmm4,-0x30(%r8,%rdi,4)
movups %xmm4,-0x20(%r8,%rdi,4)
movups %xmm4,-0x10(%r8,%rdi,4)
movups %xmm4,(%r8,%rdi,4)
add    $0x10,%rdi
add    $0xfffffffffffffffe,%rax
jne    3150 <sqbars+0x2050>
testb  $0x1,0xd8(%rsp)
01
je     31a6 <sqbars+0x20a6>
mov    %rbp,%rax
imul   -0x80(%rsp),%rax
add    -0x8(%rsp),%rdi
add    %rax,%rdi
movaps %xmm2,%xmm4
test   $0x1,%sil
je     3198 <sqbars+0x2098>
movaps %xmm3,%xmm4
mov    -0x78(%rsp),%rax
movups %xmm4,(%rax,%rdi,4)
movups %xmm4,0x10(%rax,%rdi,4)
mov    0x248(%rsp),%rdi
mov    0x170(%rsp),%rax
cmp    %rax,-0x20(%rsp)
je     29f0 <sqbars+0x18f0>
movaps %xmm11,%xmm4
test   $0x1,%sil
je     31d0 <sqbars+0x20d0>
movaps %xmm15,%xmm4
nop
movss  %xmm4,(%r12,%rdi,4)
add    $0x1,%rdi
cmp    %r10,%rdi
jl     31d0 <sqbars+0x20d0>
jmp    29f0 <sqbars+0x18f0>
add    $0x278,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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