#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ abort();
int main1(unsigned short a0, unsigned short a1, unsigned short a2,
          unsigned short a3, unsigned short a4, unsigned short a5,
          unsigned short a6, unsigned short a7, unsigned short a8,
          unsigned short a9, unsigned short a10, unsigned short a11,
          unsigned short a12, unsigned short a13, unsigned short a14,
          unsigned short a15) {
  int i;
  unsigned short out[128 * 16];
  for (i = 0; i < 128; i++) {
    out[i * 4] = a8;
    out[i * 4 + 1] = a1;
    out[i * 4 + 2] = a2;
    out[i * 4 + 3] = a3;
  }
  for (i = 0; i < 128; i++) {
    if (out[i * 4] != a8 || out[i * 4 + 1] != a1 || out[i * 4 + 2] != a2 ||
        out[i * 4 + 3] != a3)
      abort();
  }
  for (i = 0; i < 128; i++) {
    out[i * 16] = a8;
    out[i * 16 + 1] = a7;
    out[i * 16 + 2] = a1;
    out[i * 16 + 3] = a2;
    out[i * 16 + 4] = a8;
    out[i * 16 + 5] = a5;
    out[i * 16 + 6] = a5;
    out[i * 16 + 7] = a4;
    out[i * 16 + 8] = a12;
    out[i * 16 + 9] = a13;
    out[i * 16 + 10] = a14;
    out[i * 16 + 11] = a15;
    out[i * 16 + 12] = a6;
    out[i * 16 + 13] = a9;
    out[i * 16 + 14] = a0;
    out[i * 16 + 15] = a7;
  }
  for (i = 0; i < 128; i++) {
    if (out[i * 16] != a8 || out[i * 16 + 1] != a7 || out[i * 16 + 2] != a1 ||
        out[i * 16 + 3] != a2 || out[i * 16 + 4] != a8 ||
        out[i * 16 + 5] != a5 || out[i * 16 + 6] != a5 ||
        out[i * 16 + 7] != a4 || out[i * 16 + 8] != a12 ||
        out[i * 16 + 9] != a13 || out[i * 16 + 10] != a14 ||
        out[i * 16 + 11] != a15 || out[i * 16 + 12] != a6 ||
        out[i * 16 + 13] != a9 || out[i * 16 + 14] != a0 ||
        out[i * 16 + 15] != a7)
      abort();
  }
  for (i = 0; i < 128; i++) {
    out[i * 3] = a8;
    out[i * 3 + 1] = a1;
    out[i * 3 + 2] = a2;
  }
  for (i = 0; i < 128; i++) {
    if (out[i * 3] != a8 || out[i * 3 + 1] != a1 || out[i * 3 + 2] != a2)
      abort();
  }
  for (i = 0; i < 128; i++) {
    out[i * 11] = a8;
    out[i * 11 + 1] = a7;
    out[i * 11 + 2] = a1;
    out[i * 11 + 3] = a2;
    out[i * 11 + 4] = a8;
    out[i * 11 + 5] = a5;
    out[i * 11 + 6] = a5;
    out[i * 11 + 7] = a4;
    out[i * 11 + 8] = a12;
    out[i * 11 + 9] = a13;
    out[i * 11 + 10] = a14;
  }
  for (i = 0; i < 128; i++) {
    if (out[i * 11] != a8 || out[i * 11 + 1] != a7 || out[i * 11 + 2] != a1 ||
        out[i * 11 + 3] != a2 || out[i * 11 + 4] != a8 ||
        out[i * 11 + 5] != a5 || out[i * 11 + 6] != a5 ||
        out[i * 11 + 7] != a4 || out[i * 11 + 8] != a12 ||
        out[i * 11 + 9] != a13 || out[i * 11 + 10] != a14)
      abort();
  }
  return 0;
}


x86 assembly (clang, -O0):
<main1>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1020,%rsp
mov    %r8d,-0x1020(%rbp)
mov    %ecx,%eax
mov    -0x1020(%rbp),%ecx
mov    %eax,-0x101c(%rbp)
mov    %edx,%eax
mov    -0x101c(%rbp),%edx
mov    %eax,-0x1018(%rbp)
mov    %esi,%eax
mov    -0x1018(%rbp),%esi
mov    %eax,-0x1014(%rbp)
mov    %edi,%r8d
mov    -0x1014(%rbp),%edi
mov    %r9w,%ax
mov    0x58(%rbp),%r9w
mov    0x50(%rbp),%r9w
mov    0x48(%rbp),%r9w
mov    0x40(%rbp),%r9w
mov    0x38(%rbp),%r9w
mov    0x30(%rbp),%r9w
mov    0x28(%rbp),%r9w
mov    0x20(%rbp),%r9w
mov    0x18(%rbp),%r9w
mov    0x10(%rbp),%r9w
mov    %r8w,-0x2(%rbp)
mov    %di,-0x4(%rbp)
mov    %si,-0x6(%rbp)
mov    %dx,-0x8(%rbp)
mov    %cx,-0xa(%rbp)
mov    %ax,-0xc(%rbp)
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    121f <main1+0x10f>
mov    0x20(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x4(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
add    $0x1,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x6(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
add    $0x2,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x8(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
add    $0x3,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    11ab <main1+0x9b>
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    12c6 <main1+0x1b6>
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x20(%rbp),%ecx
cmp    %ecx,%eax
jne    12ac <main1+0x19c>
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
add    $0x1,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x4(%rbp),%ecx
cmp    %ecx,%eax
jne    12ac <main1+0x19c>
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
add    $0x2,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    12ac <main1+0x19c>
mov    -0x10(%rbp),%eax
shl    $0x2,%eax
add    $0x3,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     12b3 <main1+0x1a3>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    12b8 <main1+0x1a8>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1226 <main1+0x116>
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    1455 <main1+0x345>
mov    0x20(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x18(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x1,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x4(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x2,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x6(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x3,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x20(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x4,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0xc(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x5,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0xc(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x6,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0xa(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x7,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x40(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x8,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x48(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x9,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x50(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xa,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x58(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xb,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x10(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xc,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x28(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xd,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x2(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xe,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x18(%rbp),%cx
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xf,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    12cd <main1+0x1bd>
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    1670 <main1+0x560>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x20(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x1,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x2,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x4(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x3,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x4,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x20(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x5,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0xc(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x6,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0xc(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x7,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0xa(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x8,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x40(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0x9,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x48(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xa,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x50(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xb,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x58(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xc,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x10(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xd,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x28(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xe,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x2(%rbp),%ecx
cmp    %ecx,%eax
jne    1656 <main1+0x546>
mov    -0x10(%rbp),%eax
shl    $0x4,%eax
add    $0xf,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     165d <main1+0x54d>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    1662 <main1+0x552>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    145c <main1+0x34c>
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    16ce <main1+0x5be>
mov    0x20(%rbp),%cx
imul   $0x3,-0x10(%rbp),%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x4(%rbp),%cx
imul   $0x3,-0x10(%rbp),%eax
add    $0x1,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x6(%rbp),%cx
imul   $0x3,-0x10(%rbp),%eax
add    $0x2,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1677 <main1+0x567>
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    1750 <main1+0x640>
imul   $0x3,-0x10(%rbp),%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x20(%rbp),%ecx
cmp    %ecx,%eax
jne    1736 <main1+0x626>
imul   $0x3,-0x10(%rbp),%eax
add    $0x1,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x4(%rbp),%ecx
cmp    %ecx,%eax
jne    1736 <main1+0x626>
imul   $0x3,-0x10(%rbp),%eax
add    $0x2,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     173d <main1+0x62d>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    1742 <main1+0x632>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    16d5 <main1+0x5c5>
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    1856 <main1+0x746>
mov    0x20(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x18(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x1,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x4(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x2,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x6(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x3,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x20(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x4,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0xc(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x5,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0xc(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x6,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0xa(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x7,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x40(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x8,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x48(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0x9,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    0x50(%rbp),%cx
imul   $0xb,-0x10(%rbp),%eax
add    $0xa,%eax
cltq
mov    %cx,-0x1010(%rbp,%rax,2)
ff
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1757 <main1+0x647>
movl   $0x0,-0x10(%rbp)
cmpl   $0x80,-0x10(%rbp)
jge    19c0 <main1+0x8b0>
imul   $0xb,-0x10(%rbp),%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x20(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x1,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x2,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x4(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x3,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x4,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x20(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x5,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0xc(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x6,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0xc(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x7,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl -0xa(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x8,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x40(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0x9,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x48(%rbp),%ecx
cmp    %ecx,%eax
jne    19a6 <main1+0x896>
imul   $0xb,-0x10(%rbp),%eax
add    $0xa,%eax
cltq
movzwl -0x1010(%rbp,%rax,2),%eax
ff
movzwl 0x50(%rbp),%ecx
cmp    %ecx,%eax
je     19ad <main1+0x89d>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    19b2 <main1+0x8a2>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    185d <main1+0x74d>
xor    %eax,%eax
add    $0x1020,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main1>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x1008,%rsp
mov    0x1050(%rsp),%eax
movzwl 0x1088(%rsp),%r14d
movzwl 0x1080(%rsp),%r10d
movzwl 0x1078(%rsp),%r11d
movzwl 0x1070(%rsp),%r13d
movzwl 0x1058(%rsp),%r15d
movzwl 0x1048(%rsp),%ebp
movzwl 0x1040(%rsp),%r12d
movd   %ecx,%xmm0
movd   %edx,%xmm1
punpcklwd %xmm0,%xmm1
movd   %esi,%xmm0
movd   %eax,%xmm2
punpcklwd %xmm0,%xmm2
punpckldq %xmm1,%xmm2
pshufd $0x44,%xmm2,%xmm0
movdqa %xmm0,0x30(%rsp)
movdqa %xmm0,0x20(%rsp)
movdqa %xmm0,0x10(%rsp)
movdqa %xmm0,(%rsp)
movdqa %xmm0,0x70(%rsp)
movdqa %xmm0,0x60(%rsp)
movdqa %xmm0,0x50(%rsp)
movdqa %xmm0,0x40(%rsp)
movdqa %xmm0,0xb0(%rsp)
movdqa %xmm0,0xa0(%rsp)
movdqa %xmm0,0x90(%rsp)
movdqa %xmm0,0x80(%rsp)
movdqa %xmm0,0xf0(%rsp)
movdqa %xmm0,0xe0(%rsp)
movdqa %xmm0,0xd0(%rsp)
movdqa %xmm0,0xc0(%rsp)
movdqa %xmm0,0x130(%rsp)
movdqa %xmm0,0x120(%rsp)
movdqa %xmm0,0x110(%rsp)
movdqa %xmm0,0x100(%rsp)
movdqa %xmm0,0x170(%rsp)
movdqa %xmm0,0x160(%rsp)
movdqa %xmm0,0x150(%rsp)
movdqa %xmm0,0x140(%rsp)
movdqa %xmm0,0x1b0(%rsp)
movdqa %xmm0,0x1a0(%rsp)
movdqa %xmm0,0x190(%rsp)
movdqa %xmm0,0x180(%rsp)
movdqa %xmm0,0x1f0(%rsp)
movdqa %xmm0,0x1e0(%rsp)
movdqa %xmm0,0x1d0(%rsp)
movdqa %xmm0,0x1c0(%rsp)
movdqa %xmm0,0x230(%rsp)
movdqa %xmm0,0x220(%rsp)
movdqa %xmm0,0x210(%rsp)
movdqa %xmm0,0x200(%rsp)
movdqa %xmm0,0x270(%rsp)
movdqa %xmm0,0x260(%rsp)
movdqa %xmm0,0x250(%rsp)
movdqa %xmm0,0x240(%rsp)
movdqa %xmm0,0x2b0(%rsp)
movdqa %xmm0,0x2a0(%rsp)
movdqa %xmm0,0x290(%rsp)
movdqa %xmm0,0x280(%rsp)
movdqa %xmm0,0x2f0(%rsp)
movdqa %xmm0,0x2e0(%rsp)
movdqa %xmm0,0x2d0(%rsp)
movdqa %xmm0,0x2c0(%rsp)
movdqa %xmm0,0x330(%rsp)
movdqa %xmm0,0x320(%rsp)
movdqa %xmm0,0x310(%rsp)
movdqa %xmm0,0x300(%rsp)
movdqa %xmm0,0x370(%rsp)
movdqa %xmm0,0x360(%rsp)
movdqa %xmm0,0x350(%rsp)
movdqa %xmm0,0x340(%rsp)
movdqa %xmm0,0x3b0(%rsp)
movdqa %xmm0,0x3a0(%rsp)
movdqa %xmm0,0x390(%rsp)
movdqa %xmm0,0x380(%rsp)
movdqa %xmm0,0x3f0(%rsp)
movdqa %xmm0,0x3e0(%rsp)
movdqa %xmm0,0x3d0(%rsp)
movdqa %xmm0,0x3c0(%rsp)
xor    %ebx,%ebx
cmp    %ax,(%rsp,%rbx,8)
jne    1833 <main1+0x723>
cmp    %si,0x2(%rsp,%rbx,8)
jne    1833 <main1+0x723>
cmp    %dx,0x4(%rsp,%rbx,8)
jne    1833 <main1+0x723>
cmp    %cx,0x6(%rsp,%rbx,8)
jne    1833 <main1+0x723>
add    $0x1,%rbx
cmp    $0x80,%rbx
jne    13b0 <main1+0x2a0>
xor    %ecx,%ecx
nopw   0x0(%rax,%rax,1)
mov    %ax,(%rsp,%rcx,1)
mov    %bp,0x2(%rsp,%rcx,1)
mov    %si,0x4(%rsp,%rcx,1)
mov    %dx,0x6(%rsp,%rcx,1)
mov    %ax,0x8(%rsp,%rcx,1)
mov    %r9w,0xa(%rsp,%rcx,1)
mov    %r9w,0xc(%rsp,%rcx,1)
mov    %r8w,0xe(%rsp,%rcx,1)
mov    %r13w,0x10(%rsp,%rcx,1)
mov    %r11w,0x12(%rsp,%rcx,1)
mov    %r10w,0x14(%rsp,%rcx,1)
mov    %r14w,0x16(%rsp,%rcx,1)
mov    %r12w,0x18(%rsp,%rcx,1)
mov    %r15w,0x1a(%rsp,%rcx,1)
mov    %di,0x1c(%rsp,%rcx,1)
mov    %bp,0x1e(%rsp,%rcx,1)
add    $0x20,%rcx
cmp    $0x1000,%rcx
jne    13f0 <main1+0x2e0>
xor    %ecx,%ecx
nopw   0x0(%rax,%rax,1)
cmp    %ax,(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %bp,0x2(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %si,0x4(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %dx,0x6(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %ax,0x8(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r9w,0xa(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r9w,0xc(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r8w,0xe(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r13w,0x10(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r11w,0x12(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r10w,0x14(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r14w,0x16(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r12w,0x18(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r15w,0x1a(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %di,0x1c(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %bp,0x1e(%rsp,%rcx,1)
jne    1833 <main1+0x723>
add    $0x20,%rcx
cmp    $0x1000,%rcx
jne    1460 <main1+0x350>
movd   %esi,%xmm2
movd   %eax,%xmm3
movdqa %xmm3,%xmm0
punpcklwd %xmm2,%xmm0
movd   %edx,%xmm4
punpcklwd %xmm4,%xmm2
movdqa %xmm2,%xmm1
punpckldq %xmm0,%xmm1
punpcklwd %xmm3,%xmm4
punpckldq %xmm4,%xmm0
punpckldq %xmm2,%xmm4
movdqa %xmm4,%xmm2
punpcklqdq %xmm0,%xmm2
punpcklqdq %xmm1,%xmm0
punpcklqdq %xmm4,%xmm1
movdqa %xmm1,0x20(%rsp)
movdqa %xmm2,0x10(%rsp)
movdqa %xmm0,(%rsp)
movdqa %xmm1,0x50(%rsp)
movdqa %xmm2,0x40(%rsp)
movdqa %xmm0,0x30(%rsp)
movdqa %xmm1,0x80(%rsp)
movdqa %xmm2,0x70(%rsp)
movdqa %xmm0,0x60(%rsp)
movdqa %xmm1,0xb0(%rsp)
movdqa %xmm2,0xa0(%rsp)
movdqa %xmm0,0x90(%rsp)
movdqa %xmm1,0xe0(%rsp)
movdqa %xmm2,0xd0(%rsp)
movdqa %xmm0,0xc0(%rsp)
movdqa %xmm1,0x110(%rsp)
movdqa %xmm2,0x100(%rsp)
movdqa %xmm0,0xf0(%rsp)
movdqa %xmm1,0x140(%rsp)
movdqa %xmm2,0x130(%rsp)
movdqa %xmm0,0x120(%rsp)
movdqa %xmm1,0x170(%rsp)
movdqa %xmm2,0x160(%rsp)
movdqa %xmm0,0x150(%rsp)
movdqa %xmm1,0x1a0(%rsp)
movdqa %xmm2,0x190(%rsp)
movdqa %xmm0,0x180(%rsp)
movdqa %xmm1,0x1d0(%rsp)
movdqa %xmm2,0x1c0(%rsp)
movdqa %xmm0,0x1b0(%rsp)
movdqa %xmm1,0x200(%rsp)
movdqa %xmm2,0x1f0(%rsp)
movdqa %xmm0,0x1e0(%rsp)
movdqa %xmm1,0x230(%rsp)
movdqa %xmm2,0x220(%rsp)
movdqa %xmm0,0x210(%rsp)
movdqa %xmm1,0x260(%rsp)
movdqa %xmm2,0x250(%rsp)
movdqa %xmm0,0x240(%rsp)
movdqa %xmm1,0x290(%rsp)
movdqa %xmm2,0x280(%rsp)
movdqa %xmm0,0x270(%rsp)
movdqa %xmm1,0x2c0(%rsp)
movdqa %xmm2,0x2b0(%rsp)
movdqa %xmm0,0x2a0(%rsp)
movdqa %xmm1,0x2f0(%rsp)
movdqa %xmm2,0x2e0(%rsp)
movdqa %xmm0,0x2d0(%rsp)
mov    $0xa,%ecx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
cmp    %ax,-0xa(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %si,-0x8(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %dx,-0x6(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %ax,-0x4(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %si,-0x2(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %dx,(%rsp,%rcx,1)
jne    1833 <main1+0x723>
add    $0xc,%rcx
cmp    $0x30a,%rcx
jne    1710 <main1+0x600>
mov    $0x14,%ecx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    %ax,-0x14(%rsp,%rcx,1)
mov    %bp,-0x12(%rsp,%rcx,1)
mov    %si,-0x10(%rsp,%rcx,1)
mov    %dx,-0xe(%rsp,%rcx,1)
mov    %ax,-0xc(%rsp,%rcx,1)
mov    %r9w,-0xa(%rsp,%rcx,1)
mov    %r9w,-0x8(%rsp,%rcx,1)
mov    %r8w,-0x6(%rsp,%rcx,1)
mov    %r13w,-0x4(%rsp,%rcx,1)
mov    %r11w,-0x2(%rsp,%rcx,1)
mov    %r10w,(%rsp,%rcx,1)
add    $0x16,%rcx
cmp    $0xb14,%rcx
jne    1770 <main1+0x660>
mov    $0x14,%ecx
xchg   %ax,%ax
cmp    %ax,-0x14(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %bp,-0x12(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %si,-0x10(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %dx,-0xe(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %ax,-0xc(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r9w,-0xa(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r9w,-0x8(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r8w,-0x6(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r13w,-0x4(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r11w,-0x2(%rsp,%rcx,1)
jne    1833 <main1+0x723>
cmp    %r10w,(%rsp,%rcx,1)
jne    1833 <main1+0x723>
add    $0x16,%rcx
cmp    $0xb14,%rcx
jne    17c0 <main1+0x6b0>
xor    %eax,%eax
add    $0x1008,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
xor    %eax,%eax
call   1030 <abort@plt>

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

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