int main1() {
  int i;
  unsigned int out[8 * 8], a0, a1, a2, a3, a4, a5, a6, a7, b1, b0, b2, b3, b4,
      b5, b6, b7;
  unsigned int in[8 * 8] = {0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12,
                            13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
                            26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
                            39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
                            52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63};
  float out2[8 * 8];
  for (i = 0; i < 8; i++) {
    a0 = in[i * 8] + 5;
    a1 = in[i * 8 + 1] + 6;
    a2 = in[i * 8 + 2] + 7;
    a3 = in[i * 8 + 3] + 8;
    a4 = in[i * 8 + 4] + 9;
    a5 = in[i * 8 + 5] + 10;
    a6 = in[i * 8 + 6] + 11;
    a7 = in[i * 8 + 7] + 12;
    b0 = a0 * 3;
    b1 = a1 * 2;
    b2 = a2 * 12;
    b3 = a3 * 5;
    b4 = a4 * 8;
    b5 = a5 * 4;
    b6 = a6 * 3;
    b7 = a7 * 2;
    out[i * 8] = b0 - 2;
    out[i * 8 + 1] = b1 - 3;
    out[i * 8 + 2] = b2 - 2;
    out[i * 8 + 3] = b3 - 1;
    out[i * 8 + 4] = b4 - 8;
    out[i * 8 + 5] = b5 - 7;
    out[i * 8 + 6] = b6 - 3;
    out[i * 8 + 7] = b7 - 7;
  }
  for (i = 0; i < 8; i++) {
    if (out[i * 8] != (in[i * 8] + 5) * 3 - 2 ||
        out[i * 8 + 1] != (in[i * 8 + 1] + 6) * 2 - 3 ||
        out[i * 8 + 2] != (in[i * 8 + 2] + 7) * 12 - 2 ||
        out[i * 8 + 3] != (in[i * 8 + 3] + 8) * 5 - 1 ||
        out[i * 8 + 4] != (in[i * 8 + 4] + 9) * 8 - 8 ||
        out[i * 8 + 5] != (in[i * 8 + 5] + 10) * 4 - 7 ||
        out[i * 8 + 6] != (in[i * 8 + 6] + 11) * 3 - 3 ||
        out[i * 8 + 7] != (in[i * 8 + 7] + 12) * 2 - 7)
      abort();
  }
  for (i = 0; i < 8 * 2; i++) {
    out[i * 4] = (in[i * 4] + 2) * 3;
    out[i * 4 + 1] = (in[i * 4 + 1] + 2) * 7;
    out[i * 4 + 2] = (in[i * 4 + 2] + 7) * 3;
    out[i * 4 + 3] = (in[i * 4 + 3] + 7) * 7;
  }
  for (i = 0; i < 8 * 2; i++) {
    if (out[i * 4] != (in[i * 4] + 2) * 3 ||
        out[i * 4 + 1] != (in[i * 4 + 1] + 2) * 7 ||
        out[i * 4 + 2] != (in[i * 4 + 2] + 7) * 3 ||
        out[i * 4 + 3] != (in[i * 4 + 3] + 7) * 7)
      abort();
  }
  for (i = 0; i < 8 * 4; i++) {
    out2[i * 2] = (float)(in[i * 2] * 2 + 5);
    out2[i * 2 + 1] = (float)(in[i * 2 + 1] * 3 + 7);
  }
  for (i = 0; i < 8 * 4; i++) {
    if (out2[i * 2] != (float)(in[i * 2] * 2 + 5) ||
        out2[i * 2 + 1] != (float)(in[i * 2 + 1] * 3 + 7))
      abort();
  }
  return 0;
}


x86 assembly (clang, -O0):
<main1>:
push   %rbp
mov    %rsp,%rbp
sub    $0x350,%rsp
lea    -0x250(%rbp),%rdi
lea    0xec7(%rip),%rsi
mov    $0x100,%edx
call   1040 <memcpy@plt>
movl   $0x0,-0x4(%rbp)
cmpl   $0x8,-0x4(%rbp)
jge    137c <main1+0x25c>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x5,%eax
mov    %eax,-0x114(%rbp)
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x1,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x6,%eax
mov    %eax,-0x118(%rbp)
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x2,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x7,%eax
mov    %eax,-0x11c(%rbp)
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x3,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x8,%eax
mov    %eax,-0x120(%rbp)
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x4,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x9,%eax
mov    %eax,-0x124(%rbp)
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x5,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0xa,%eax
mov    %eax,-0x128(%rbp)
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x6,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0xb,%eax
mov    %eax,-0x12c(%rbp)
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x7,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0xc,%eax
mov    %eax,-0x130(%rbp)
imul   $0x3,-0x114(%rbp),%eax
mov    %eax,-0x138(%rbp)
mov    -0x118(%rbp),%eax
shl    $0x1,%eax
mov    %eax,-0x134(%rbp)
imul   $0xc,-0x11c(%rbp),%eax
mov    %eax,-0x13c(%rbp)
imul   $0x5,-0x120(%rbp),%eax
mov    %eax,-0x140(%rbp)
mov    -0x124(%rbp),%eax
shl    $0x3,%eax
mov    %eax,-0x144(%rbp)
mov    -0x128(%rbp),%eax
shl    $0x2,%eax
mov    %eax,-0x148(%rbp)
imul   $0x3,-0x12c(%rbp),%eax
mov    %eax,-0x14c(%rbp)
mov    -0x130(%rbp),%eax
shl    $0x1,%eax
mov    %eax,-0x150(%rbp)
mov    -0x138(%rbp),%ecx
sub    $0x2,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x134(%rbp),%ecx
sub    $0x3,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x1,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x13c(%rbp),%ecx
sub    $0x2,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x2,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x140(%rbp),%ecx
sub    $0x1,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x3,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x144(%rbp),%ecx
sub    $0x8,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x4,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x148(%rbp),%ecx
sub    $0x7,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x5,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x14c(%rbp),%ecx
sub    $0x3,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x6,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x150(%rbp),%ecx
sub    $0x7,%ecx
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x7,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    114a <main1+0x2a>
movl   $0x0,-0x4(%rbp)
cmpl   $0x8,-0x4(%rbp)
jge    154f <main1+0x42f>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x5,%ecx
imul   $0x3,%ecx,%ecx
sub    $0x2,%ecx
cmp    %ecx,%eax
jne    1537 <main1+0x417>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x1,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x6,%ecx
shl    $0x1,%ecx
sub    $0x3,%ecx
cmp    %ecx,%eax
jne    1537 <main1+0x417>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x2,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x7,%ecx
imul   $0xc,%ecx,%ecx
sub    $0x2,%ecx
cmp    %ecx,%eax
jne    1537 <main1+0x417>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x3,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x8,%ecx
imul   $0x5,%ecx,%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jne    1537 <main1+0x417>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x4,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x9,%ecx
shl    $0x3,%ecx
sub    $0x8,%ecx
cmp    %ecx,%eax
jne    1537 <main1+0x417>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x5,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0xa,%ecx
shl    $0x2,%ecx
sub    $0x7,%ecx
cmp    %ecx,%eax
jne    1537 <main1+0x417>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x6,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0xb,%ecx
imul   $0x3,%ecx,%ecx
sub    $0x3,%ecx
cmp    %ecx,%eax
jne    1537 <main1+0x417>
mov    -0x4(%rbp),%eax
shl    $0x3,%eax
add    $0x7,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x3,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0xc,%ecx
shl    $0x1,%ecx
sub    $0x7,%ecx
cmp    %ecx,%eax
je     153c <main1+0x41c>
call   1030 <abort@plt>
jmp    1541 <main1+0x421>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    1383 <main1+0x263>
movl   $0x0,-0x4(%rbp)
cmpl   $0x10,-0x4(%rbp)
jge    1610 <main1+0x4f0>
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x2,%eax
imul   $0x3,%eax,%ecx
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x1,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x2,%eax
imul   $0x7,%eax,%ecx
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x1,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x2,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x7,%eax
imul   $0x3,%eax,%ecx
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x2,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x3,%eax
cltq
mov    -0x250(%rbp,%rax,4),%eax
add    $0x7,%eax
imul   $0x7,%eax,%ecx
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x3,%eax
cltq
mov    %ecx,-0x110(%rbp,%rax,4)
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    1556 <main1+0x436>
movl   $0x0,-0x4(%rbp)
cmpl   $0x10,-0x4(%rbp)
jge    16ff <main1+0x5df>
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x2,%ecx
imul   $0x3,%ecx,%ecx
cmp    %ecx,%eax
jne    16e7 <main1+0x5c7>
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x1,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x2,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x2,%ecx
imul   $0x7,%ecx,%ecx
cmp    %ecx,%eax
jne    16e7 <main1+0x5c7>
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x2,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x2,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x7,%ecx
imul   $0x3,%ecx,%ecx
cmp    %ecx,%eax
jne    16e7 <main1+0x5c7>
mov    -0x4(%rbp),%eax
shl    $0x2,%eax
add    $0x3,%eax
cltq
mov    -0x110(%rbp,%rax,4),%eax
mov    -0x4(%rbp),%ecx
shl    $0x2,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    -0x250(%rbp,%rcx,4),%ecx
add    $0x7,%ecx
imul   $0x7,%ecx,%ecx
cmp    %ecx,%eax
je     16ec <main1+0x5cc>
call   1030 <abort@plt>
jmp    16f1 <main1+0x5d1>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    1617 <main1+0x4f7>
movl   $0x0,-0x4(%rbp)
cmpl   $0x20,-0x4(%rbp)
jge    176d <main1+0x64d>
mov    -0x4(%rbp),%eax
add    %eax,%eax
cltq
mov    -0x250(%rbp,%rax,4),%edx
mov    %edx,%ecx
lea    0x5(%rcx,%rcx,1),%ecx
cvtsi2ss %rcx,%xmm0
movss  %xmm0,-0x350(%rbp,%rax,4)
ff ff
mov    -0x4(%rbp),%eax
add    %eax,%eax
cltq
mov    -0x24c(%rbp,%rax,4),%ecx
mov    %ecx,%eax
lea    0x7(%rax,%rax,2),%eax
cvtsi2ss %rax,%xmm0
mov    -0x4(%rbp),%eax
shl    $0x1,%eax
add    $0x1,%eax
cltq
movss  %xmm0,-0x350(%rbp,%rax,4)
ff ff
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    1706 <main1+0x5e6>
movl   $0x0,-0x4(%rbp)
cmpl   $0x20,-0x4(%rbp)
jge    17fd <main1+0x6dd>
mov    -0x4(%rbp),%eax
add    %eax,%eax
cltq
movss  -0x350(%rbp,%rax,4),%xmm0
ff ff
mov    -0x250(%rbp,%rax,4),%ecx
mov    %ecx,%eax
lea    0x5(%rax,%rax,1),%eax
cvtsi2ss %rax,%xmm1
ucomiss %xmm1,%xmm0
jne    17e5 <main1+0x6c5>
jp     17e5 <main1+0x6c5>
mov    -0x4(%rbp),%eax
add    %eax,%eax
cltq
movss  -0x34c(%rbp,%rax,4),%xmm0
ff ff
mov    -0x24c(%rbp,%rax,4),%ecx
mov    %ecx,%eax
lea    0x7(%rax,%rax,2),%eax
cvtsi2ss %rax,%xmm1
ucomiss %xmm1,%xmm0
jne    17e5 <main1+0x6c5>
jp     17e5 <main1+0x6c5>
jmp    17ea <main1+0x6ca>
call   1030 <abort@plt>
jmp    17ef <main1+0x6cf>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    1774 <main1+0x654>
xor    %eax,%eax
add    $0x350,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main1>:
sub    $0x208,%rsp
movaps 0xee2(%rip),%xmm0
movaps %xmm0,(%rsp)
movaps 0xee7(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
movaps 0xeeb(%rip),%xmm0
movaps %xmm0,0x20(%rsp)
movaps 0xeef(%rip),%xmm0
movaps %xmm0,0x30(%rsp)
movaps 0xef3(%rip),%xmm0
movaps %xmm0,0x40(%rsp)
movaps 0xef7(%rip),%xmm0
movaps %xmm0,0x50(%rsp)
movaps 0xefb(%rip),%xmm0
movaps %xmm0,0x60(%rsp)
movaps 0xeff(%rip),%xmm0
movaps %xmm0,0x70(%rsp)
movaps 0xf03(%rip),%xmm0
movaps %xmm0,0x80(%rsp)
movaps 0xf04(%rip),%xmm0
movaps %xmm0,0x90(%rsp)
movaps 0xf05(%rip),%xmm0
movaps %xmm0,0xa0(%rsp)
movaps 0xf06(%rip),%xmm0
movaps %xmm0,0xb0(%rsp)
movaps 0xf07(%rip),%xmm0
movaps %xmm0,0xc0(%rsp)
movaps 0xf08(%rip),%xmm0
movaps %xmm0,0xd0(%rsp)
movaps 0xf09(%rip),%xmm0
movaps %xmm0,0xe0(%rsp)
movdqa 0xf09(%rip),%xmm0
movdqa %xmm0,0xf0(%rsp)
xor    %eax,%eax
test   %al,%al
jne    14f6 <main1+0x3e6>
cmpl   $0x60,0x10(%rsp)
jne    14f6 <main1+0x3e6>
cmpl   $0x35,0x14(%rsp)
jne    14f6 <main1+0x3e6>
cmpl   $0x30,0x18(%rsp)
jne    14f6 <main1+0x3e6>
movdqu 0x1c(%rsp),%xmm0
movdqu 0x2c(%rsp),%xmm1
pcmpeqd 0xed1(%rip),%xmm1
pcmpeqd %xmm2,%xmm2
pxor   %xmm2,%xmm1
pcmpeqd 0xed1(%rip),%xmm0
pxor   %xmm2,%xmm0
packssdw %xmm1,%xmm0
pmovmskb %xmm0,%eax
test   %eax,%eax
jne    14f6 <main1+0x3e6>
cmpl   $0x2f,0x3c(%rsp)
jne    14f6 <main1+0x3e6>
movaps 0xebb(%rip),%xmm0
movaps %xmm0,(%rsp)
movaps 0xec0(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
movaps 0xec4(%rip),%xmm0
movaps %xmm0,0x20(%rsp)
movaps 0xec8(%rip),%xmm0
movaps %xmm0,0x30(%rsp)
movaps 0xecc(%rip),%xmm0
movaps %xmm0,0x40(%rsp)
movaps 0xed0(%rip),%xmm0
movaps %xmm0,0x50(%rsp)
movaps 0xed4(%rip),%xmm0
movaps %xmm0,0x60(%rsp)
movaps 0xed8(%rip),%xmm0
movaps %xmm0,0x70(%rsp)
movaps 0xedc(%rip),%xmm0
movaps %xmm0,0x80(%rsp)
movaps 0xedd(%rip),%xmm0
movaps %xmm0,0x90(%rsp)
movaps 0xede(%rip),%xmm0
movaps %xmm0,0xa0(%rsp)
movaps 0xedf(%rip),%xmm0
movaps %xmm0,0xb0(%rsp)
movaps 0xee0(%rip),%xmm0
movaps %xmm0,0xc0(%rsp)
movaps 0xee1(%rip),%xmm0
movaps %xmm0,0xd0(%rsp)
movaps 0xee2(%rip),%xmm0
movaps %xmm0,0xe0(%rsp)
movdqa 0xee2(%rip),%xmm0
movdqa %xmm0,0xf0(%rsp)
xor    %ecx,%ecx
lea    0xfe0(%rip),%rax
mov    (%rcx,%rax,1),%edx
lea    (%rdx,%rdx,2),%edx
add    $0x6,%edx
cmp    %edx,(%rsp,%rcx,1)
jne    14f6 <main1+0x3e6>
mov    0x4(%rcx,%rax,1),%edx
lea    0x0(,%rdx,8),%esi
sub    %edx,%esi
add    $0xe,%esi
cmp    %esi,0x4(%rsp,%rcx,1)
jne    14f6 <main1+0x3e6>
mov    0x8(%rcx,%rax,1),%edx
lea    (%rdx,%rdx,2),%edx
add    $0x15,%edx
cmp    %edx,0x8(%rsp,%rcx,1)
jne    14f6 <main1+0x3e6>
mov    0xc(%rcx,%rax,1),%edx
lea    0x0(,%rdx,8),%esi
sub    %edx,%esi
add    $0x31,%esi
cmp    %esi,0xc(%rsp,%rcx,1)
jne    14f6 <main1+0x3e6>
add    $0x10,%rcx
cmp    $0x100,%rcx
jne    1340 <main1+0x230>
movaps 0xe72(%rip),%xmm0
movaps %xmm0,0x110(%rsp)
movaps 0xe73(%rip),%xmm0
movaps %xmm0,0x100(%rsp)
movaps 0xe74(%rip),%xmm0
movaps %xmm0,0x130(%rsp)
movaps 0xe75(%rip),%xmm0
movaps %xmm0,0x120(%rsp)
movaps 0xe76(%rip),%xmm0
movaps %xmm0,0x150(%rsp)
movaps 0xe77(%rip),%xmm0
movaps %xmm0,0x140(%rsp)
movaps 0xe78(%rip),%xmm0
movaps %xmm0,0x170(%rsp)
movaps 0xe79(%rip),%xmm0
movaps %xmm0,0x160(%rsp)
movaps 0xe7a(%rip),%xmm0
movaps %xmm0,0x190(%rsp)
movaps 0xe7b(%rip),%xmm0
movaps %xmm0,0x180(%rsp)
movaps 0xe7c(%rip),%xmm0
movaps %xmm0,0x1b0(%rsp)
movaps 0xe7d(%rip),%xmm0
movaps %xmm0,0x1a0(%rsp)
movaps 0xe7e(%rip),%xmm0
movaps %xmm0,0x1d0(%rsp)
movaps 0xe7f(%rip),%xmm0
movaps %xmm0,0x1c0(%rsp)
movaps 0xe80(%rip),%xmm0
movaps %xmm0,0x1f0(%rsp)
movaps 0xe81(%rip),%xmm0
movaps %xmm0,0x1e0(%rsp)
xor    %ecx,%ecx
nopl   0x0(%rax)
mov    (%rax,%rcx,8),%edx
add    %edx,%edx
add    $0x5,%edx
xorps  %xmm0,%xmm0
cvtsi2ss %rdx,%xmm0
movss  0x100(%rsp,%rcx,8),%xmm1
ucomiss %xmm0,%xmm1
jne    14f6 <main1+0x3e6>
jp     14f6 <main1+0x3e6>
mov    0x4(%rax,%rcx,8),%edx
lea    (%rdx,%rdx,2),%edx
add    $0x7,%edx
xorps  %xmm0,%xmm0
cvtsi2ss %rdx,%xmm0
movss  0x104(%rsp,%rcx,8),%xmm1
ucomiss %xmm0,%xmm1
jne    14f6 <main1+0x3e6>
jp     14f6 <main1+0x3e6>
add    $0x1,%rcx
cmp    $0x20,%rcx
jne    14a0 <main1+0x390>
xor    %eax,%eax
add    $0x208,%rsp
ret
call   1030 <abort@plt>

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

LLVM IR (-O2):
@__const.main1.in = [64 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63]
define i32 @main1() {
%1 = alloca [64 x i32]
%2 = alloca [64 x float]
%3 = bitcast [64 x i32]* %1 to i8*
%4 = bitcast [64 x float]* %2 to i8*
%5 = bitcast [64 x i32]* %1 to <4 x i32>*
store <4 x i32> <i32 13, i32 11, i32 106, i32 54>, <4 x i32>* %5
%6 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 4
%7 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 5
%8 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 6
%9 = bitcast i32* %6 to <4 x i32>*
store <4 x i32> <i32 96, i32 53, i32 48, i32 31>, <4 x i32>* %9
%10 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 8
%11 = bitcast i32* %10 to <4 x i32>*
store <4 x i32> <i32 37, i32 27, i32 202, i32 94>, <4 x i32>* %11
%12 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 12
%13 = bitcast i32* %12 to <4 x i32>*
store <4 x i32> <i32 160, i32 85, i32 72, i32 47>, <4 x i32>* %13
%14 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 16
%15 = bitcast i32* %14 to <4 x i32>*
store <4 x i32> <i32 61, i32 43, i32 298, i32 134>, <4 x i32>* %15
%16 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 20
%17 = bitcast i32* %16 to <4 x i32>*
store <4 x i32> <i32 224, i32 117, i32 96, i32 63>, <4 x i32>* %17
%18 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 24
%19 = bitcast i32* %18 to <4 x i32>*
store <4 x i32> <i32 85, i32 59, i32 394, i32 174>, <4 x i32>* %19
%20 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 28
%21 = bitcast i32* %20 to <4 x i32>*
store <4 x i32> <i32 288, i32 149, i32 120, i32 79>, <4 x i32>* %21
%22 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 32
%23 = bitcast i32* %22 to <4 x i32>*
store <4 x i32> <i32 109, i32 75, i32 490, i32 214>, <4 x i32>* %23
%24 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 36
%25 = bitcast i32* %24 to <4 x i32>*
store <4 x i32> <i32 352, i32 181, i32 144, i32 95>, <4 x i32>* %25
%26 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 40
%27 = bitcast i32* %26 to <4 x i32>*
store <4 x i32> <i32 133, i32 91, i32 586, i32 254>, <4 x i32>* %27
%28 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 44
%29 = bitcast i32* %28 to <4 x i32>*
store <4 x i32> <i32 416, i32 213, i32 168, i32 111>, <4 x i32>* %29
%30 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 48
%31 = bitcast i32* %30 to <4 x i32>*
store <4 x i32> <i32 157, i32 107, i32 682, i32 294>, <4 x i32>* %31
%32 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 52
%33 = bitcast i32* %32 to <4 x i32>*
store <4 x i32> <i32 480, i32 245, i32 192, i32 127>, <4 x i32>* %33
%34 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 56
%35 = bitcast i32* %34 to <4 x i32>*
store <4 x i32> <i32 181, i32 123, i32 778, i32 334>, <4 x i32>* %35
%36 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 60
%37 = bitcast i32* %36 to <4 x i32>*
store <4 x i32> <i32 544, i32 277, i32 216, i32 143>, <4 x i32>* %37
%38 = bitcast [64 x i32]* %1 to <4 x i32>*
%39 = load <4 x i32>, <4 x i32>* %38
%40 = freeze <4 x i32> %39
%41 = icmp ne <4 x i32> %40, <i32 13, i32 11, i32 106, i32 54>
%42 = bitcast <4 x i1> %41 to i4
%43 = icmp eq i4 %42, 0
%44 = load i32, i32* %6
%45 = icmp eq i32 %44, 96
%46 = select i1 %43, i1 %45, i1 false
%47 = load i32, i32* %7
%48 = icmp eq i32 %47, 53
%49 = select i1 %46, i1 %48, i1 false
%50 = load i32, i32* %8
%51 = icmp eq i32 %50, 48
%52 = select i1 %49, i1 %51, i1 false
br i1 %52, label %53, label %65
53: ; preds = %0
%54 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 15
%55 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 7
%56 = bitcast i32* %55 to <8 x i32>*
%57 = load <8 x i32>, <8 x i32>* %56
%58 = freeze <8 x i32> %57
%59 = icmp ne <8 x i32> %58, <i32 31, i32 37, i32 27, i32 202, i32 94, i32 160, i32 85, i32 72>
%60 = bitcast <8 x i1> %59 to i8
%61 = icmp eq i8 %60, 0
%62 = load i32, i32* %54
%63 = icmp eq i32 %62, 47
%64 = select i1 %61, i1 %63, i1 false
br i1 %64, label %66, label %65
65: ; preds = %53, %0
tail call void @abort()
unreachable
66: ; preds = %53
%67 = bitcast [64 x i32]* %1 to <4 x i32>*
store <4 x i32> <i32 6, i32 21, i32 27, i32 70>, <4 x i32>* %67
%68 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 4
%69 = bitcast i32* %68 to <4 x i32>*
store <4 x i32> <i32 18, i32 49, i32 39, i32 98>, <4 x i32>* %69
%70 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 8
%71 = bitcast i32* %70 to <4 x i32>*
store <4 x i32> <i32 30, i32 77, i32 51, i32 126>, <4 x i32>* %71
%72 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 12
%73 = bitcast i32* %72 to <4 x i32>*
store <4 x i32> <i32 42, i32 105, i32 63, i32 154>, <4 x i32>* %73
%74 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 16
%75 = bitcast i32* %74 to <4 x i32>*
store <4 x i32> <i32 54, i32 133, i32 75, i32 182>, <4 x i32>* %75
%76 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 20
%77 = bitcast i32* %76 to <4 x i32>*
store <4 x i32> <i32 66, i32 161, i32 87, i32 210>, <4 x i32>* %77
%78 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 24
%79 = bitcast i32* %78 to <4 x i32>*
store <4 x i32> <i32 78, i32 189, i32 99, i32 238>, <4 x i32>* %79
%80 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 28
%81 = bitcast i32* %80 to <4 x i32>*
store <4 x i32> <i32 90, i32 217, i32 111, i32 266>, <4 x i32>* %81
%82 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 32
%83 = bitcast i32* %82 to <4 x i32>*
store <4 x i32> <i32 102, i32 245, i32 123, i32 294>, <4 x i32>* %83
%84 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 36
%85 = bitcast i32* %84 to <4 x i32>*
store <4 x i32> <i32 114, i32 273, i32 135, i32 322>, <4 x i32>* %85
%86 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 40
%87 = bitcast i32* %86 to <4 x i32>*
store <4 x i32> <i32 126, i32 301, i32 147, i32 350>, <4 x i32>* %87
%88 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 44
%89 = bitcast i32* %88 to <4 x i32>*
store <4 x i32> <i32 138, i32 329, i32 159, i32 378>, <4 x i32>* %89
%90 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 48
%91 = bitcast i32* %90 to <4 x i32>*
store <4 x i32> <i32 150, i32 357, i32 171, i32 406>, <4 x i32>* %91
%92 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 52
%93 = bitcast i32* %92 to <4 x i32>*
store <4 x i32> <i32 162, i32 385, i32 183, i32 434>, <4 x i32>* %93
%94 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 56
%95 = bitcast i32* %94 to <4 x i32>*
store <4 x i32> <i32 174, i32 413, i32 195, i32 462>, <4 x i32>* %95
%96 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 60
%97 = bitcast i32* %96 to <4 x i32>*
store <4 x i32> <i32 186, i32 441, i32 207, i32 490>, <4 x i32>* %97
br label %117
98: ; preds = %145
%99 = add nuw nsw i64 %118, 1
%100 = icmp eq i64 %99, 16
br i1 %100, label %101, label %117
101: ; preds = %98
%102 = bitcast [64 x float]* %2 to <8 x float>*
store <8 x float> <float 5.000000e+00, float 1.000000e+01, float 9.000000e+00, float 1.600000e+01, float 1.300000e+01, float 2.200000e+01, float 1.700000e+01, float 2.800000e+01>, <8 x float>* %102
%103 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 8
%104 = bitcast float* %103 to <8 x float>*
store <8 x float> <float 2.100000e+01, float 3.400000e+01, float 2.500000e+01, float 4.000000e+01, float 2.900000e+01, float 4.600000e+01, float 3.300000e+01, float 5.200000e+01>, <8 x float>* %104
%105 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 16
%106 = bitcast float* %105 to <8 x float>*
store <8 x float> <float 3.700000e+01, float 5.800000e+01, float 4.100000e+01, float 6.400000e+01, float 4.500000e+01, float 7.000000e+01, float 4.900000e+01, float 7.600000e+01>, <8 x float>* %106
%107 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 24
%108 = bitcast float* %107 to <8 x float>*
store <8 x float> <float 5.300000e+01, float 8.200000e+01, float 5.700000e+01, float 8.800000e+01, float 6.100000e+01, float 9.400000e+01, float 6.500000e+01, float 1.000000e+02>, <8 x float>* %108
%109 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 32
%110 = bitcast float* %109 to <8 x float>*
store <8 x float> <float 6.900000e+01, float 1.060000e+02, float 7.300000e+01, float 1.120000e+02, float 7.700000e+01, float 1.180000e+02, float 8.100000e+01, float 1.240000e+02>, <8 x float>* %110
%111 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 40
%112 = bitcast float* %111 to <8 x float>*
store <8 x float> <float 8.500000e+01, float 1.300000e+02, float 8.900000e+01, float 1.360000e+02, float 9.300000e+01, float 1.420000e+02, float 9.700000e+01, float 1.480000e+02>, <8 x float>* %112
%113 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 48
%114 = bitcast float* %113 to <8 x float>*
store <8 x float> <float 1.010000e+02, float 1.540000e+02, float 1.050000e+02, float 1.600000e+02, float 1.090000e+02, float 1.660000e+02, float 1.130000e+02, float 1.720000e+02>, <8 x float>* %114
%115 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 56
%116 = bitcast float* %115 to <8 x float>*
store <8 x float> <float 1.170000e+02, float 1.780000e+02, float 1.210000e+02, float 1.840000e+02, float 1.250000e+02, float 1.900000e+02, float 1.290000e+02, float 1.960000e+02>, <8 x float>* %116
br label %158
117: ; preds = %66, %98
%118 = phi i64 [ %99, %98 ], [ 0, %66 ]
%119 = shl nuw nsw i64 %118, 2
%120 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 %119
%121 = load i32, i32* %120
%122 = getelementptr inbounds [64 x i32], [64 x i32]* @__const.main1.in, i64 0, i64 %119
%123 = load i32, i32* %122
%124 = mul i32 %123, 3
%125 = add i32 %124, 6
%126 = icmp eq i32 %121, %125
br i1 %126, label %127, label %154
127: ; preds = %117
%128 = or i64 %119, 1
%129 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 %128
%130 = load i32, i32* %129
%131 = getelementptr inbounds [64 x i32], [64 x i32]* @__const.main1.in, i64 0, i64 %128
%132 = load i32, i32* %131
%133 = mul i32 %132, 7
%134 = add i32 %133, 14
%135 = icmp eq i32 %130, %134
br i1 %135, label %136, label %154
136: ; preds = %127
%137 = or i64 %119, 2
%138 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 %137
%139 = load i32, i32* %138
%140 = getelementptr inbounds [64 x i32], [64 x i32]* @__const.main1.in, i64 0, i64 %137
%141 = load i32, i32* %140
%142 = mul i32 %141, 3
%143 = add i32 %142, 21
%144 = icmp eq i32 %139, %143
br i1 %144, label %145, label %154
145: ; preds = %136
%146 = or i64 %119, 3
%147 = getelementptr inbounds [64 x i32], [64 x i32]* %1, i64 0, i64 %146
%148 = load i32, i32* %147
%149 = getelementptr inbounds [64 x i32], [64 x i32]* @__const.main1.in, i64 0, i64 %146
%150 = load i32, i32* %149
%151 = mul i32 %150, 7
%152 = add i32 %151, 49
%153 = icmp eq i32 %148, %152
br i1 %153, label %98, label %154
154: ; preds = %145, %136, %127, %117
tail call void @abort()
unreachable
155: ; preds = %169
%156 = add nuw nsw i64 %159, 1
%157 = icmp eq i64 %156, 32
br i1 %157, label %180, label %158
158: ; preds = %101, %155
%159 = phi i64 [ %156, %155 ], [ 0, %101 ]
%160 = shl nuw nsw i64 %159, 1
%161 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 %160
%162 = load float, float* %161
%163 = getelementptr inbounds [64 x i32], [64 x i32]* @__const.main1.in, i64 0, i64 %160
%164 = load i32, i32* %163
%165 = shl i32 %164, 1
%166 = add i32 %165, 5
%167 = uitofp i32 %166 to float
%168 = fcmp une float %162, %167
br i1 %168, label %179, label %169
169: ; preds = %158
%170 = or i64 %160, 1
%171 = getelementptr inbounds [64 x float], [64 x float]* %2, i64 0, i64 %170
%172 = load float, float* %171
%173 = getelementptr inbounds [64 x i32], [64 x i32]* @__const.main1.in, i64 0, i64 %170
%174 = load i32, i32* %173
%175 = mul i32 %174, 3
%176 = add i32 %175, 7
%177 = uitofp i32 %176 to float
%178 = fcmp une float %172, %177
br i1 %178, label %179, label %155
179: ; preds = %169, %158
tail call void @abort()
unreachable
180: ; preds = %155
ret i32 0
}