unsigned long nibble_sort_word(unsigned long arg) {
  int x;
  int y;
  int arr[16];
  for (int i = 0; i < 16; i++) {
    arr[i] = arg & 0xf;
    arg >>= 4;
  }
  x = arr[0] < arr[1] ? arr[0] : arr[1];
  y = arr[0] < arr[1] ? arr[1] : arr[0];
  arr[0] = x;
  arr[1] = y;
  x = arr[2] < arr[3] ? arr[2] : arr[3];
  y = arr[2] < arr[3] ? arr[3] : arr[2];
  arr[2] = x;
  arr[3] = y;
  x = arr[4] < arr[5] ? arr[4] : arr[5];
  y = arr[4] < arr[5] ? arr[5] : arr[4];
  arr[4] = x;
  arr[5] = y;
  x = arr[6] < arr[7] ? arr[6] : arr[7];
  y = arr[6] < arr[7] ? arr[7] : arr[6];
  arr[6] = x;
  arr[7] = y;
  x = arr[8] < arr[9] ? arr[8] : arr[9];
  y = arr[8] < arr[9] ? arr[9] : arr[8];
  arr[8] = x;
  arr[9] = y;
  x = arr[10] < arr[11] ? arr[10] : arr[11];
  y = arr[10] < arr[11] ? arr[11] : arr[10];
  arr[10] = x;
  arr[11] = y;
  x = arr[12] < arr[13] ? arr[12] : arr[13];
  y = arr[12] < arr[13] ? arr[13] : arr[12];
  arr[12] = x;
  arr[13] = y;
  x = arr[14] < arr[15] ? arr[14] : arr[15];
  y = arr[14] < arr[15] ? arr[15] : arr[14];
  arr[14] = x;
  arr[15] = y;
  x = arr[0] < arr[2] ? arr[0] : arr[2];
  y = arr[0] < arr[2] ? arr[2] : arr[0];
  arr[0] = x;
  arr[2] = y;
  x = arr[4] < arr[6] ? arr[4] : arr[6];
  y = arr[4] < arr[6] ? arr[6] : arr[4];
  arr[4] = x;
  arr[6] = y;
  x = arr[8] < arr[10] ? arr[8] : arr[10];
  y = arr[8] < arr[10] ? arr[10] : arr[8];
  arr[8] = x;
  arr[10] = y;
  x = arr[12] < arr[14] ? arr[12] : arr[14];
  y = arr[12] < arr[14] ? arr[14] : arr[12];
  arr[12] = x;
  arr[14] = y;
  x = arr[1] < arr[3] ? arr[1] : arr[3];
  y = arr[1] < arr[3] ? arr[3] : arr[1];
  arr[1] = x;
  arr[3] = y;
  x = arr[5] < arr[7] ? arr[5] : arr[7];
  y = arr[5] < arr[7] ? arr[7] : arr[5];
  arr[5] = x;
  arr[7] = y;
  x = arr[9] < arr[11] ? arr[9] : arr[11];
  y = arr[9] < arr[11] ? arr[11] : arr[9];
  arr[9] = x;
  arr[11] = y;
  x = arr[13] < arr[15] ? arr[13] : arr[15];
  y = arr[13] < arr[15] ? arr[15] : arr[13];
  arr[13] = x;
  arr[15] = y;
  x = arr[0] < arr[4] ? arr[0] : arr[4];
  y = arr[0] < arr[4] ? arr[4] : arr[0];
  arr[0] = x;
  arr[4] = y;
  x = arr[8] < arr[12] ? arr[8] : arr[12];
  y = arr[8] < arr[12] ? arr[12] : arr[8];
  arr[8] = x;
  arr[12] = y;
  x = arr[1] < arr[5] ? arr[1] : arr[5];
  y = arr[1] < arr[5] ? arr[5] : arr[1];
  arr[1] = x;
  arr[5] = y;
  x = arr[9] < arr[13] ? arr[9] : arr[13];
  y = arr[9] < arr[13] ? arr[13] : arr[9];
  arr[9] = x;
  arr[13] = y;
  x = arr[2] < arr[6] ? arr[2] : arr[6];
  y = arr[2] < arr[6] ? arr[6] : arr[2];
  arr[2] = x;
  arr[6] = y;
  x = arr[10] < arr[14] ? arr[10] : arr[14];
  y = arr[10] < arr[14] ? arr[14] : arr[10];
  arr[10] = x;
  arr[14] = y;
  x = arr[3] < arr[7] ? arr[3] : arr[7];
  y = arr[3] < arr[7] ? arr[7] : arr[3];
  arr[3] = x;
  arr[7] = y;
  x = arr[11] < arr[15] ? arr[11] : arr[15];
  y = arr[11] < arr[15] ? arr[15] : arr[11];
  arr[11] = x;
  arr[15] = y;
  x = arr[0] < arr[8] ? arr[0] : arr[8];
  y = arr[0] < arr[8] ? arr[8] : arr[0];
  arr[0] = x;
  arr[8] = y;
  x = arr[1] < arr[9] ? arr[1] : arr[9];
  y = arr[1] < arr[9] ? arr[9] : arr[1];
  arr[1] = x;
  arr[9] = y;
  x = arr[2] < arr[10] ? arr[2] : arr[10];
  y = arr[2] < arr[10] ? arr[10] : arr[2];
  arr[2] = x;
  arr[10] = y;
  x = arr[3] < arr[11] ? arr[3] : arr[11];
  y = arr[3] < arr[11] ? arr[11] : arr[3];
  arr[3] = x;
  arr[11] = y;
  x = arr[4] < arr[12] ? arr[4] : arr[12];
  y = arr[4] < arr[12] ? arr[12] : arr[4];
  arr[4] = x;
  arr[12] = y;
  x = arr[5] < arr[13] ? arr[5] : arr[13];
  y = arr[5] < arr[13] ? arr[13] : arr[5];
  arr[5] = x;
  arr[13] = y;
  x = arr[6] < arr[14] ? arr[6] : arr[14];
  y = arr[6] < arr[14] ? arr[14] : arr[6];
  arr[6] = x;
  arr[14] = y;
  x = arr[7] < arr[15] ? arr[7] : arr[15];
  y = arr[7] < arr[15] ? arr[15] : arr[7];
  arr[7] = x;
  arr[15] = y;
  x = arr[5] < arr[10] ? arr[5] : arr[10];
  y = arr[5] < arr[10] ? arr[10] : arr[5];
  arr[5] = x;
  arr[10] = y;
  x = arr[6] < arr[9] ? arr[6] : arr[9];
  y = arr[6] < arr[9] ? arr[9] : arr[6];
  arr[6] = x;
  arr[9] = y;
  x = arr[3] < arr[12] ? arr[3] : arr[12];
  y = arr[3] < arr[12] ? arr[12] : arr[3];
  arr[3] = x;
  arr[12] = y;
  x = arr[13] < arr[14] ? arr[13] : arr[14];
  y = arr[13] < arr[14] ? arr[14] : arr[13];
  arr[13] = x;
  arr[14] = y;
  x = arr[7] < arr[11] ? arr[7] : arr[11];
  y = arr[7] < arr[11] ? arr[11] : arr[7];
  arr[7] = x;
  arr[11] = y;
  x = arr[1] < arr[2] ? arr[1] : arr[2];
  y = arr[1] < arr[2] ? arr[2] : arr[1];
  arr[1] = x;
  arr[2] = y;
  x = arr[4] < arr[8] ? arr[4] : arr[8];
  y = arr[4] < arr[8] ? arr[8] : arr[4];
  arr[4] = x;
  arr[8] = y;
  x = arr[1] < arr[4] ? arr[1] : arr[4];
  y = arr[1] < arr[4] ? arr[4] : arr[1];
  arr[1] = x;
  arr[4] = y;
  x = arr[7] < arr[13] ? arr[7] : arr[13];
  y = arr[7] < arr[13] ? arr[13] : arr[7];
  arr[7] = x;
  arr[13] = y;
  x = arr[2] < arr[8] ? arr[2] : arr[8];
  y = arr[2] < arr[8] ? arr[8] : arr[2];
  arr[2] = x;
  arr[8] = y;
  x = arr[11] < arr[14] ? arr[11] : arr[14];
  y = arr[11] < arr[14] ? arr[14] : arr[11];
  arr[11] = x;
  arr[14] = y;
  x = arr[5] < arr[6] ? arr[5] : arr[6];
  y = arr[5] < arr[6] ? arr[6] : arr[5];
  arr[5] = x;
  arr[6] = y;
  x = arr[9] < arr[10] ? arr[9] : arr[10];
  y = arr[9] < arr[10] ? arr[10] : arr[9];
  arr[9] = x;
  arr[10] = y;
  x = arr[2] < arr[4] ? arr[2] : arr[4];
  y = arr[2] < arr[4] ? arr[4] : arr[2];
  arr[2] = x;
  arr[4] = y;
  x = arr[11] < arr[13] ? arr[11] : arr[13];
  y = arr[11] < arr[13] ? arr[13] : arr[11];
  arr[11] = x;
  arr[13] = y;
  x = arr[3] < arr[8] ? arr[3] : arr[8];
  y = arr[3] < arr[8] ? arr[8] : arr[3];
  arr[3] = x;
  arr[8] = y;
  x = arr[7] < arr[12] ? arr[7] : arr[12];
  y = arr[7] < arr[12] ? arr[12] : arr[7];
  arr[7] = x;
  arr[12] = y;
  x = arr[6] < arr[8] ? arr[6] : arr[8];
  y = arr[6] < arr[8] ? arr[8] : arr[6];
  arr[6] = x;
  arr[8] = y;
  x = arr[10] < arr[12] ? arr[10] : arr[12];
  y = arr[10] < arr[12] ? arr[12] : arr[10];
  arr[10] = x;
  arr[12] = y;
  x = arr[3] < arr[5] ? arr[3] : arr[5];
  y = arr[3] < arr[5] ? arr[5] : arr[3];
  arr[3] = x;
  arr[5] = y;
  x = arr[7] < arr[9] ? arr[7] : arr[9];
  y = arr[7] < arr[9] ? arr[9] : arr[7];
  arr[7] = x;
  arr[9] = y;
  x = arr[3] < arr[4] ? arr[3] : arr[4];
  y = arr[3] < arr[4] ? arr[4] : arr[3];
  arr[3] = x;
  arr[4] = y;
  x = arr[5] < arr[6] ? arr[5] : arr[6];
  y = arr[5] < arr[6] ? arr[6] : arr[5];
  arr[5] = x;
  arr[6] = y;
  x = arr[7] < arr[8] ? arr[7] : arr[8];
  y = arr[7] < arr[8] ? arr[8] : arr[7];
  arr[7] = x;
  arr[8] = y;
  x = arr[9] < arr[10] ? arr[9] : arr[10];
  y = arr[9] < arr[10] ? arr[10] : arr[9];
  arr[9] = x;
  arr[10] = y;
  x = arr[11] < arr[12] ? arr[11] : arr[12];
  y = arr[11] < arr[12] ? arr[12] : arr[11];
  arr[11] = x;
  arr[12] = y;
  x = arr[6] < arr[7] ? arr[6] : arr[7];
  y = arr[6] < arr[7] ? arr[7] : arr[6];
  arr[6] = x;
  arr[7] = y;
  x = arr[8] < arr[9] ? arr[8] : arr[9];
  y = arr[8] < arr[9] ? arr[9] : arr[8];
  arr[8] = x;
  arr[9] = y;
  for (int i = 15; i >= 0; i--) {
    arg <<= 4;
    arg |= arr[i];
  }
  return arg;
}


x86 assembly (clang, -O0):
<nibble_sort_word>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1c0,%rsp
mov    %rdi,-0x8(%rbp)
movl   $0x0,-0x54(%rbp)
cmpl   $0x10,-0x54(%rbp)
jge    114c <nibble_sort_word+0x4c>
mov    -0x8(%rbp),%rax
and    $0xf,%rax
mov    %eax,%ecx
movslq -0x54(%rbp),%rax
mov    %ecx,-0x50(%rbp,%rax,4)
mov    -0x8(%rbp),%rax
shr    $0x4,%rax
mov    %rax,-0x8(%rbp)
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
jmp    1116 <nibble_sort_word+0x16>
mov    -0x50(%rbp),%eax
cmp    -0x4c(%rbp),%eax
jge    1163 <nibble_sort_word+0x63>
mov    -0x50(%rbp),%eax
mov    %eax,-0x5c(%rbp)
jmp    1169 <nibble_sort_word+0x69>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x5c(%rbp)
mov    -0x5c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x4c(%rbp),%eax
jge    1186 <nibble_sort_word+0x86>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x60(%rbp)
jmp    118c <nibble_sort_word+0x8c>
mov    -0x50(%rbp),%eax
mov    %eax,-0x60(%rbp)
mov    -0x60(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x44(%rbp),%eax
jge    11b5 <nibble_sort_word+0xb5>
mov    -0x48(%rbp),%eax
mov    %eax,-0x64(%rbp)
jmp    11bb <nibble_sort_word+0xbb>
mov    -0x44(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x64(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x44(%rbp),%eax
jge    11d8 <nibble_sort_word+0xd8>
mov    -0x44(%rbp),%eax
mov    %eax,-0x68(%rbp)
jmp    11de <nibble_sort_word+0xde>
mov    -0x48(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x68(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x3c(%rbp),%eax
jge    1207 <nibble_sort_word+0x107>
mov    -0x40(%rbp),%eax
mov    %eax,-0x6c(%rbp)
jmp    120d <nibble_sort_word+0x10d>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x3c(%rbp),%eax
jge    122a <nibble_sort_word+0x12a>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x70(%rbp)
jmp    1230 <nibble_sort_word+0x130>
mov    -0x40(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x70(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    1259 <nibble_sort_word+0x159>
mov    -0x38(%rbp),%eax
mov    %eax,-0x74(%rbp)
jmp    125f <nibble_sort_word+0x15f>
mov    -0x34(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x74(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    127c <nibble_sort_word+0x17c>
mov    -0x34(%rbp),%eax
mov    %eax,-0x78(%rbp)
jmp    1282 <nibble_sort_word+0x182>
mov    -0x38(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x78(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    12ab <nibble_sort_word+0x1ab>
mov    -0x30(%rbp),%eax
mov    %eax,-0x7c(%rbp)
jmp    12b1 <nibble_sort_word+0x1b1>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x7c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    12ce <nibble_sort_word+0x1ce>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x80(%rbp)
jmp    12d4 <nibble_sort_word+0x1d4>
mov    -0x30(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x80(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x28(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    1300 <nibble_sort_word+0x200>
mov    -0x28(%rbp),%eax
mov    %eax,-0x84(%rbp)
jmp    1309 <nibble_sort_word+0x209>
mov    -0x24(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x28(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    132c <nibble_sort_word+0x22c>
mov    -0x24(%rbp),%eax
mov    %eax,-0x88(%rbp)
jmp    1335 <nibble_sort_word+0x235>
mov    -0x28(%rbp),%eax
mov    %eax,-0x88(%rbp)
mov    -0x88(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1364 <nibble_sort_word+0x264>
mov    -0x20(%rbp),%eax
mov    %eax,-0x8c(%rbp)
jmp    136d <nibble_sort_word+0x26d>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x8c(%rbp)
mov    -0x8c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x20(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1390 <nibble_sort_word+0x290>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x90(%rbp)
jmp    1399 <nibble_sort_word+0x299>
mov    -0x20(%rbp),%eax
mov    %eax,-0x90(%rbp)
mov    -0x90(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    13c8 <nibble_sort_word+0x2c8>
mov    -0x18(%rbp),%eax
mov    %eax,-0x94(%rbp)
jmp    13d1 <nibble_sort_word+0x2d1>
mov    -0x14(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x94(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    13f4 <nibble_sort_word+0x2f4>
mov    -0x14(%rbp),%eax
mov    %eax,-0x98(%rbp)
jmp    13fd <nibble_sort_word+0x2fd>
mov    -0x18(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0x98(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x48(%rbp),%eax
jge    142c <nibble_sort_word+0x32c>
mov    -0x50(%rbp),%eax
mov    %eax,-0x9c(%rbp)
jmp    1435 <nibble_sort_word+0x335>
mov    -0x48(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0x9c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x48(%rbp),%eax
jge    1458 <nibble_sort_word+0x358>
mov    -0x48(%rbp),%eax
mov    %eax,-0xa0(%rbp)
jmp    1461 <nibble_sort_word+0x361>
mov    -0x50(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0xa0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    1490 <nibble_sort_word+0x390>
mov    -0x40(%rbp),%eax
mov    %eax,-0xa4(%rbp)
jmp    1499 <nibble_sort_word+0x399>
mov    -0x38(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0xa4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    14bc <nibble_sort_word+0x3bc>
mov    -0x38(%rbp),%eax
mov    %eax,-0xa8(%rbp)
jmp    14c5 <nibble_sort_word+0x3c5>
mov    -0x40(%rbp),%eax
mov    %eax,-0xa8(%rbp)
mov    -0xa8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    14f4 <nibble_sort_word+0x3f4>
mov    -0x30(%rbp),%eax
mov    %eax,-0xac(%rbp)
jmp    14fd <nibble_sort_word+0x3fd>
mov    -0x28(%rbp),%eax
mov    %eax,-0xac(%rbp)
mov    -0xac(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    1520 <nibble_sort_word+0x420>
mov    -0x28(%rbp),%eax
mov    %eax,-0xb0(%rbp)
jmp    1529 <nibble_sort_word+0x429>
mov    -0x30(%rbp),%eax
mov    %eax,-0xb0(%rbp)
mov    -0xb0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x20(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1558 <nibble_sort_word+0x458>
mov    -0x20(%rbp),%eax
mov    %eax,-0xb4(%rbp)
jmp    1561 <nibble_sort_word+0x461>
mov    -0x18(%rbp),%eax
mov    %eax,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x20(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1584 <nibble_sort_word+0x484>
mov    -0x18(%rbp),%eax
mov    %eax,-0xb8(%rbp)
jmp    158d <nibble_sort_word+0x48d>
mov    -0x20(%rbp),%eax
mov    %eax,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x44(%rbp),%eax
jge    15bc <nibble_sort_word+0x4bc>
mov    -0x4c(%rbp),%eax
mov    %eax,-0xbc(%rbp)
jmp    15c5 <nibble_sort_word+0x4c5>
mov    -0x44(%rbp),%eax
mov    %eax,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x44(%rbp),%eax
jge    15e8 <nibble_sort_word+0x4e8>
mov    -0x44(%rbp),%eax
mov    %eax,-0xc0(%rbp)
jmp    15f1 <nibble_sort_word+0x4f1>
mov    -0x4c(%rbp),%eax
mov    %eax,-0xc0(%rbp)
mov    -0xc0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    1620 <nibble_sort_word+0x520>
mov    -0x3c(%rbp),%eax
mov    %eax,-0xc4(%rbp)
jmp    1629 <nibble_sort_word+0x529>
mov    -0x34(%rbp),%eax
mov    %eax,-0xc4(%rbp)
mov    -0xc4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    164c <nibble_sort_word+0x54c>
mov    -0x34(%rbp),%eax
mov    %eax,-0xc8(%rbp)
jmp    1655 <nibble_sort_word+0x555>
mov    -0x3c(%rbp),%eax
mov    %eax,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    1684 <nibble_sort_word+0x584>
mov    -0x2c(%rbp),%eax
mov    %eax,-0xcc(%rbp)
jmp    168d <nibble_sort_word+0x58d>
mov    -0x24(%rbp),%eax
mov    %eax,-0xcc(%rbp)
mov    -0xcc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    16b0 <nibble_sort_word+0x5b0>
mov    -0x24(%rbp),%eax
mov    %eax,-0xd0(%rbp)
jmp    16b9 <nibble_sort_word+0x5b9>
mov    -0x2c(%rbp),%eax
mov    %eax,-0xd0(%rbp)
mov    -0xd0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x1c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    16e8 <nibble_sort_word+0x5e8>
mov    -0x1c(%rbp),%eax
mov    %eax,-0xd4(%rbp)
jmp    16f1 <nibble_sort_word+0x5f1>
mov    -0x14(%rbp),%eax
mov    %eax,-0xd4(%rbp)
mov    -0xd4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x1c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1714 <nibble_sort_word+0x614>
mov    -0x14(%rbp),%eax
mov    %eax,-0xd8(%rbp)
jmp    171d <nibble_sort_word+0x61d>
mov    -0x1c(%rbp),%eax
mov    %eax,-0xd8(%rbp)
mov    -0xd8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    174c <nibble_sort_word+0x64c>
mov    -0x50(%rbp),%eax
mov    %eax,-0xdc(%rbp)
jmp    1755 <nibble_sort_word+0x655>
mov    -0x40(%rbp),%eax
mov    %eax,-0xdc(%rbp)
mov    -0xdc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    1778 <nibble_sort_word+0x678>
mov    -0x40(%rbp),%eax
mov    %eax,-0xe0(%rbp)
jmp    1781 <nibble_sort_word+0x681>
mov    -0x50(%rbp),%eax
mov    %eax,-0xe0(%rbp)
mov    -0xe0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    17b0 <nibble_sort_word+0x6b0>
mov    -0x30(%rbp),%eax
mov    %eax,-0xe4(%rbp)
jmp    17b9 <nibble_sort_word+0x6b9>
mov    -0x20(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    17dc <nibble_sort_word+0x6dc>
mov    -0x20(%rbp),%eax
mov    %eax,-0xe8(%rbp)
jmp    17e5 <nibble_sort_word+0x6e5>
mov    -0x30(%rbp),%eax
mov    %eax,-0xe8(%rbp)
mov    -0xe8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x3c(%rbp),%eax
jge    1814 <nibble_sort_word+0x714>
mov    -0x4c(%rbp),%eax
mov    %eax,-0xec(%rbp)
jmp    181d <nibble_sort_word+0x71d>
mov    -0x3c(%rbp),%eax
mov    %eax,-0xec(%rbp)
mov    -0xec(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x3c(%rbp),%eax
jge    1840 <nibble_sort_word+0x740>
mov    -0x3c(%rbp),%eax
mov    %eax,-0xf0(%rbp)
jmp    1849 <nibble_sort_word+0x749>
mov    -0x4c(%rbp),%eax
mov    %eax,-0xf0(%rbp)
mov    -0xf0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1878 <nibble_sort_word+0x778>
mov    -0x2c(%rbp),%eax
mov    %eax,-0xf4(%rbp)
jmp    1881 <nibble_sort_word+0x781>
mov    -0x1c(%rbp),%eax
mov    %eax,-0xf4(%rbp)
mov    -0xf4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    18a4 <nibble_sort_word+0x7a4>
mov    -0x1c(%rbp),%eax
mov    %eax,-0xf8(%rbp)
jmp    18ad <nibble_sort_word+0x7ad>
mov    -0x2c(%rbp),%eax
mov    %eax,-0xf8(%rbp)
mov    -0xf8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    18dc <nibble_sort_word+0x7dc>
mov    -0x48(%rbp),%eax
mov    %eax,-0xfc(%rbp)
jmp    18e5 <nibble_sort_word+0x7e5>
mov    -0x38(%rbp),%eax
mov    %eax,-0xfc(%rbp)
mov    -0xfc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    1908 <nibble_sort_word+0x808>
mov    -0x38(%rbp),%eax
mov    %eax,-0x100(%rbp)
jmp    1911 <nibble_sort_word+0x811>
mov    -0x48(%rbp),%eax
mov    %eax,-0x100(%rbp)
mov    -0x100(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x28(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1940 <nibble_sort_word+0x840>
mov    -0x28(%rbp),%eax
mov    %eax,-0x104(%rbp)
jmp    1949 <nibble_sort_word+0x849>
mov    -0x18(%rbp),%eax
mov    %eax,-0x104(%rbp)
mov    -0x104(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x28(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    196c <nibble_sort_word+0x86c>
mov    -0x18(%rbp),%eax
mov    %eax,-0x108(%rbp)
jmp    1975 <nibble_sort_word+0x875>
mov    -0x28(%rbp),%eax
mov    %eax,-0x108(%rbp)
mov    -0x108(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    19a4 <nibble_sort_word+0x8a4>
mov    -0x44(%rbp),%eax
mov    %eax,-0x10c(%rbp)
jmp    19ad <nibble_sort_word+0x8ad>
mov    -0x34(%rbp),%eax
mov    %eax,-0x10c(%rbp)
mov    -0x10c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    19d0 <nibble_sort_word+0x8d0>
mov    -0x34(%rbp),%eax
mov    %eax,-0x110(%rbp)
jmp    19d9 <nibble_sort_word+0x8d9>
mov    -0x44(%rbp),%eax
mov    %eax,-0x110(%rbp)
mov    -0x110(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1a08 <nibble_sort_word+0x908>
mov    -0x24(%rbp),%eax
mov    %eax,-0x114(%rbp)
jmp    1a11 <nibble_sort_word+0x911>
mov    -0x14(%rbp),%eax
mov    %eax,-0x114(%rbp)
mov    -0x114(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1a34 <nibble_sort_word+0x934>
mov    -0x14(%rbp),%eax
mov    %eax,-0x118(%rbp)
jmp    1a3d <nibble_sort_word+0x93d>
mov    -0x24(%rbp),%eax
mov    %eax,-0x118(%rbp)
mov    -0x118(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    1a6c <nibble_sort_word+0x96c>
mov    -0x50(%rbp),%eax
mov    %eax,-0x11c(%rbp)
jmp    1a75 <nibble_sort_word+0x975>
mov    -0x30(%rbp),%eax
mov    %eax,-0x11c(%rbp)
mov    -0x11c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    1a98 <nibble_sort_word+0x998>
mov    -0x30(%rbp),%eax
mov    %eax,-0x120(%rbp)
jmp    1aa1 <nibble_sort_word+0x9a1>
mov    -0x50(%rbp),%eax
mov    %eax,-0x120(%rbp)
mov    -0x120(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    1ad0 <nibble_sort_word+0x9d0>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x124(%rbp)
jmp    1ad9 <nibble_sort_word+0x9d9>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x124(%rbp)
mov    -0x124(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    1afc <nibble_sort_word+0x9fc>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x128(%rbp)
jmp    1b05 <nibble_sort_word+0xa05>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x128(%rbp)
mov    -0x128(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    1b34 <nibble_sort_word+0xa34>
mov    -0x48(%rbp),%eax
mov    %eax,-0x12c(%rbp)
jmp    1b3d <nibble_sort_word+0xa3d>
mov    -0x28(%rbp),%eax
mov    %eax,-0x12c(%rbp)
mov    -0x12c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    1b60 <nibble_sort_word+0xa60>
mov    -0x28(%rbp),%eax
mov    %eax,-0x130(%rbp)
jmp    1b69 <nibble_sort_word+0xa69>
mov    -0x48(%rbp),%eax
mov    %eax,-0x130(%rbp)
mov    -0x130(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    1b98 <nibble_sort_word+0xa98>
mov    -0x44(%rbp),%eax
mov    %eax,-0x134(%rbp)
jmp    1ba1 <nibble_sort_word+0xaa1>
mov    -0x24(%rbp),%eax
mov    %eax,-0x134(%rbp)
mov    -0x134(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    1bc4 <nibble_sort_word+0xac4>
mov    -0x24(%rbp),%eax
mov    %eax,-0x138(%rbp)
jmp    1bcd <nibble_sort_word+0xacd>
mov    -0x44(%rbp),%eax
mov    %eax,-0x138(%rbp)
mov    -0x138(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    1bfc <nibble_sort_word+0xafc>
mov    -0x40(%rbp),%eax
mov    %eax,-0x13c(%rbp)
jmp    1c05 <nibble_sort_word+0xb05>
mov    -0x20(%rbp),%eax
mov    %eax,-0x13c(%rbp)
mov    -0x13c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    1c28 <nibble_sort_word+0xb28>
mov    -0x20(%rbp),%eax
mov    %eax,-0x140(%rbp)
jmp    1c31 <nibble_sort_word+0xb31>
mov    -0x40(%rbp),%eax
mov    %eax,-0x140(%rbp)
mov    -0x140(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1c60 <nibble_sort_word+0xb60>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x144(%rbp)
jmp    1c69 <nibble_sort_word+0xb69>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x144(%rbp)
mov    -0x144(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1c8c <nibble_sort_word+0xb8c>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x148(%rbp)
jmp    1c95 <nibble_sort_word+0xb95>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x148(%rbp)
mov    -0x148(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1cc4 <nibble_sort_word+0xbc4>
mov    -0x38(%rbp),%eax
mov    %eax,-0x14c(%rbp)
jmp    1ccd <nibble_sort_word+0xbcd>
mov    -0x18(%rbp),%eax
mov    %eax,-0x14c(%rbp)
mov    -0x14c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1cf0 <nibble_sort_word+0xbf0>
mov    -0x18(%rbp),%eax
mov    %eax,-0x150(%rbp)
jmp    1cf9 <nibble_sort_word+0xbf9>
mov    -0x38(%rbp),%eax
mov    %eax,-0x150(%rbp)
mov    -0x150(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1d28 <nibble_sort_word+0xc28>
mov    -0x34(%rbp),%eax
mov    %eax,-0x154(%rbp)
jmp    1d31 <nibble_sort_word+0xc31>
mov    -0x14(%rbp),%eax
mov    %eax,-0x154(%rbp)
mov    -0x154(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1d54 <nibble_sort_word+0xc54>
mov    -0x14(%rbp),%eax
mov    %eax,-0x158(%rbp)
jmp    1d5d <nibble_sort_word+0xc5d>
mov    -0x34(%rbp),%eax
mov    %eax,-0x158(%rbp)
mov    -0x158(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    1d8c <nibble_sort_word+0xc8c>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x15c(%rbp)
jmp    1d95 <nibble_sort_word+0xc95>
mov    -0x28(%rbp),%eax
mov    %eax,-0x15c(%rbp)
mov    -0x15c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    1db8 <nibble_sort_word+0xcb8>
mov    -0x28(%rbp),%eax
mov    %eax,-0x160(%rbp)
jmp    1dc1 <nibble_sort_word+0xcc1>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x160(%rbp)
mov    -0x160(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    1df0 <nibble_sort_word+0xcf0>
mov    -0x38(%rbp),%eax
mov    %eax,-0x164(%rbp)
jmp    1df9 <nibble_sort_word+0xcf9>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x164(%rbp)
mov    -0x164(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    1e1c <nibble_sort_word+0xd1c>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x168(%rbp)
jmp    1e25 <nibble_sort_word+0xd25>
mov    -0x38(%rbp),%eax
mov    %eax,-0x168(%rbp)
mov    -0x168(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    1e54 <nibble_sort_word+0xd54>
mov    -0x44(%rbp),%eax
mov    %eax,-0x16c(%rbp)
jmp    1e5d <nibble_sort_word+0xd5d>
mov    -0x20(%rbp),%eax
mov    %eax,-0x16c(%rbp)
mov    -0x16c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    1e80 <nibble_sort_word+0xd80>
mov    -0x20(%rbp),%eax
mov    %eax,-0x170(%rbp)
jmp    1e89 <nibble_sort_word+0xd89>
mov    -0x44(%rbp),%eax
mov    %eax,-0x170(%rbp)
mov    -0x170(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1eb8 <nibble_sort_word+0xdb8>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x174(%rbp)
jmp    1ec1 <nibble_sort_word+0xdc1>
mov    -0x18(%rbp),%eax
mov    %eax,-0x174(%rbp)
mov    -0x174(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x1c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1ee4 <nibble_sort_word+0xde4>
mov    -0x18(%rbp),%eax
mov    %eax,-0x178(%rbp)
jmp    1eed <nibble_sort_word+0xded>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x178(%rbp)
mov    -0x178(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    1f1c <nibble_sort_word+0xe1c>
mov    -0x34(%rbp),%eax
mov    %eax,-0x17c(%rbp)
jmp    1f25 <nibble_sort_word+0xe25>
mov    -0x24(%rbp),%eax
mov    %eax,-0x17c(%rbp)
mov    -0x17c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    1f48 <nibble_sort_word+0xe48>
mov    -0x24(%rbp),%eax
mov    %eax,-0x180(%rbp)
jmp    1f51 <nibble_sort_word+0xe51>
mov    -0x34(%rbp),%eax
mov    %eax,-0x180(%rbp)
mov    -0x180(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x48(%rbp),%eax
jge    1f80 <nibble_sort_word+0xe80>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x184(%rbp)
jmp    1f89 <nibble_sort_word+0xe89>
mov    -0x48(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x184(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x48(%rbp),%eax
jge    1fac <nibble_sort_word+0xeac>
mov    -0x48(%rbp),%eax
mov    %eax,-0x188(%rbp)
jmp    1fb5 <nibble_sort_word+0xeb5>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x188(%rbp)
mov    -0x188(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    1fe4 <nibble_sort_word+0xee4>
mov    -0x40(%rbp),%eax
mov    %eax,-0x18c(%rbp)
jmp    1fed <nibble_sort_word+0xeed>
mov    -0x30(%rbp),%eax
mov    %eax,-0x18c(%rbp)
mov    -0x18c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    2010 <nibble_sort_word+0xf10>
mov    -0x30(%rbp),%eax
mov    %eax,-0x190(%rbp)
jmp    2019 <nibble_sort_word+0xf19>
mov    -0x40(%rbp),%eax
mov    %eax,-0x190(%rbp)
mov    -0x190(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    2048 <nibble_sort_word+0xf48>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x194(%rbp)
jmp    2051 <nibble_sort_word+0xf51>
mov    -0x40(%rbp),%eax
mov    %eax,-0x194(%rbp)
mov    -0x194(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    2074 <nibble_sort_word+0xf74>
mov    -0x40(%rbp),%eax
mov    %eax,-0x198(%rbp)
jmp    207d <nibble_sort_word+0xf7d>
mov    -0x4c(%rbp),%eax
mov    %eax,-0x198(%rbp)
mov    -0x198(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    20ac <nibble_sort_word+0xfac>
mov    -0x34(%rbp),%eax
mov    %eax,-0x19c(%rbp)
jmp    20b5 <nibble_sort_word+0xfb5>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x19c(%rbp)
mov    -0x19c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    20d8 <nibble_sort_word+0xfd8>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x1a0(%rbp)
jmp    20e1 <nibble_sort_word+0xfe1>
mov    -0x34(%rbp),%eax
mov    %eax,-0x1a0(%rbp)
mov    -0x1a0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    2110 <nibble_sort_word+0x1010>
mov    -0x48(%rbp),%eax
mov    %eax,-0x1a4(%rbp)
jmp    2119 <nibble_sort_word+0x1019>
mov    -0x30(%rbp),%eax
mov    %eax,-0x1a4(%rbp)
mov    -0x1a4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    213c <nibble_sort_word+0x103c>
mov    -0x30(%rbp),%eax
mov    %eax,-0x1a8(%rbp)
jmp    2145 <nibble_sort_word+0x1045>
mov    -0x48(%rbp),%eax
mov    %eax,-0x1a8(%rbp)
mov    -0x1a8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    2174 <nibble_sort_word+0x1074>
mov    -0x24(%rbp),%eax
mov    %eax,-0x1ac(%rbp)
jmp    217d <nibble_sort_word+0x107d>
mov    -0x18(%rbp),%eax
mov    %eax,-0x1ac(%rbp)
mov    -0x1ac(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    21a0 <nibble_sort_word+0x10a0>
mov    -0x18(%rbp),%eax
mov    %eax,-0x1b0(%rbp)
jmp    21a9 <nibble_sort_word+0x10a9>
mov    -0x24(%rbp),%eax
mov    %eax,-0x1b0(%rbp)
mov    -0x1b0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    21d8 <nibble_sort_word+0x10d8>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x1b4(%rbp)
jmp    21e1 <nibble_sort_word+0x10e1>
mov    -0x38(%rbp),%eax
mov    %eax,-0x1b4(%rbp)
mov    -0x1b4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    2204 <nibble_sort_word+0x1104>
mov    -0x38(%rbp),%eax
mov    %eax,-0x1b8(%rbp)
jmp    220d <nibble_sort_word+0x110d>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x1b8(%rbp)
mov    -0x1b8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    223c <nibble_sort_word+0x113c>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x1bc(%rbp)
jmp    2245 <nibble_sort_word+0x1145>
mov    -0x28(%rbp),%eax
mov    %eax,-0x1bc(%rbp)
mov    -0x1bc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    2268 <nibble_sort_word+0x1168>
mov    -0x28(%rbp),%eax
mov    %eax,-0x1c0(%rbp)
jmp    2271 <nibble_sort_word+0x1171>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x1c0(%rbp)
mov    -0x1c0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    22a0 <nibble_sort_word+0x11a0>
mov    -0x48(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
jmp    22a9 <nibble_sort_word+0x11a9>
mov    -0x40(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    22cc <nibble_sort_word+0x11cc>
mov    -0x40(%rbp),%eax
mov    %eax,-0x1c8(%rbp)
jmp    22d5 <nibble_sort_word+0x11d5>
mov    -0x48(%rbp),%eax
mov    %eax,-0x1c8(%rbp)
mov    -0x1c8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    2304 <nibble_sort_word+0x1204>
mov    -0x24(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
jmp    230d <nibble_sort_word+0x120d>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
mov    -0x1cc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    2330 <nibble_sort_word+0x1230>
mov    -0x1c(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    2339 <nibble_sort_word+0x1239>
mov    -0x24(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
mov    -0x1d0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    2368 <nibble_sort_word+0x1268>
mov    -0x44(%rbp),%eax
mov    %eax,-0x1d4(%rbp)
jmp    2371 <nibble_sort_word+0x1271>
mov    -0x30(%rbp),%eax
mov    %eax,-0x1d4(%rbp)
mov    -0x1d4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    2394 <nibble_sort_word+0x1294>
mov    -0x30(%rbp),%eax
mov    %eax,-0x1d8(%rbp)
jmp    239d <nibble_sort_word+0x129d>
mov    -0x44(%rbp),%eax
mov    %eax,-0x1d8(%rbp)
mov    -0x1d8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    23cc <nibble_sort_word+0x12cc>
mov    -0x34(%rbp),%eax
mov    %eax,-0x1dc(%rbp)
jmp    23d5 <nibble_sort_word+0x12d5>
mov    -0x20(%rbp),%eax
mov    %eax,-0x1dc(%rbp)
mov    -0x1dc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    23f8 <nibble_sort_word+0x12f8>
mov    -0x20(%rbp),%eax
mov    %eax,-0x1e0(%rbp)
jmp    2401 <nibble_sort_word+0x1301>
mov    -0x34(%rbp),%eax
mov    %eax,-0x1e0(%rbp)
mov    -0x1e0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    2430 <nibble_sort_word+0x1330>
mov    -0x38(%rbp),%eax
mov    %eax,-0x1e4(%rbp)
jmp    2439 <nibble_sort_word+0x1339>
mov    -0x30(%rbp),%eax
mov    %eax,-0x1e4(%rbp)
mov    -0x1e4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    245c <nibble_sort_word+0x135c>
mov    -0x30(%rbp),%eax
mov    %eax,-0x1e8(%rbp)
jmp    2465 <nibble_sort_word+0x1365>
mov    -0x38(%rbp),%eax
mov    %eax,-0x1e8(%rbp)
mov    -0x1e8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x28(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    2494 <nibble_sort_word+0x1394>
mov    -0x28(%rbp),%eax
mov    %eax,-0x1ec(%rbp)
jmp    249d <nibble_sort_word+0x139d>
mov    -0x20(%rbp),%eax
mov    %eax,-0x1ec(%rbp)
mov    -0x1ec(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x28(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    24c0 <nibble_sort_word+0x13c0>
mov    -0x20(%rbp),%eax
mov    %eax,-0x1f0(%rbp)
jmp    24c9 <nibble_sort_word+0x13c9>
mov    -0x28(%rbp),%eax
mov    %eax,-0x1f0(%rbp)
mov    -0x1f0(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x3c(%rbp),%eax
jge    24f8 <nibble_sort_word+0x13f8>
mov    -0x44(%rbp),%eax
mov    %eax,-0x1f4(%rbp)
jmp    2501 <nibble_sort_word+0x1401>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x1f4(%rbp)
mov    -0x1f4(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x3c(%rbp),%eax
jge    2524 <nibble_sort_word+0x1424>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x1f8(%rbp)
jmp    252d <nibble_sort_word+0x142d>
mov    -0x44(%rbp),%eax
mov    %eax,-0x1f8(%rbp)
mov    -0x1f8(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    255c <nibble_sort_word+0x145c>
mov    -0x34(%rbp),%eax
mov    %eax,-0x1fc(%rbp)
jmp    2565 <nibble_sort_word+0x1465>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x1fc(%rbp)
mov    -0x1fc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    2588 <nibble_sort_word+0x1488>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x200(%rbp)
jmp    2591 <nibble_sort_word+0x1491>
mov    -0x34(%rbp),%eax
mov    %eax,-0x200(%rbp)
mov    -0x200(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    25c0 <nibble_sort_word+0x14c0>
mov    -0x44(%rbp),%eax
mov    %eax,-0x204(%rbp)
jmp    25c9 <nibble_sort_word+0x14c9>
mov    -0x40(%rbp),%eax
mov    %eax,-0x204(%rbp)
mov    -0x204(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    25ec <nibble_sort_word+0x14ec>
mov    -0x40(%rbp),%eax
mov    %eax,-0x208(%rbp)
jmp    25f5 <nibble_sort_word+0x14f5>
mov    -0x44(%rbp),%eax
mov    %eax,-0x208(%rbp)
mov    -0x208(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    2624 <nibble_sort_word+0x1524>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x20c(%rbp)
jmp    262d <nibble_sort_word+0x152d>
mov    -0x38(%rbp),%eax
mov    %eax,-0x20c(%rbp)
mov    -0x20c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x38(%rbp),%eax
jge    2650 <nibble_sort_word+0x1550>
mov    -0x38(%rbp),%eax
mov    %eax,-0x210(%rbp)
jmp    2659 <nibble_sort_word+0x1559>
mov    -0x3c(%rbp),%eax
mov    %eax,-0x210(%rbp)
mov    -0x210(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    2688 <nibble_sort_word+0x1588>
mov    -0x34(%rbp),%eax
mov    %eax,-0x214(%rbp)
jmp    2691 <nibble_sort_word+0x1591>
mov    -0x30(%rbp),%eax
mov    %eax,-0x214(%rbp)
mov    -0x214(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    26b4 <nibble_sort_word+0x15b4>
mov    -0x30(%rbp),%eax
mov    %eax,-0x218(%rbp)
jmp    26bd <nibble_sort_word+0x15bd>
mov    -0x34(%rbp),%eax
mov    %eax,-0x218(%rbp)
mov    -0x218(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    26ec <nibble_sort_word+0x15ec>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x21c(%rbp)
jmp    26f5 <nibble_sort_word+0x15f5>
mov    -0x28(%rbp),%eax
mov    %eax,-0x21c(%rbp)
mov    -0x21c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    2718 <nibble_sort_word+0x1618>
mov    -0x28(%rbp),%eax
mov    %eax,-0x220(%rbp)
jmp    2721 <nibble_sort_word+0x1621>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x220(%rbp)
mov    -0x220(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    2750 <nibble_sort_word+0x1650>
mov    -0x24(%rbp),%eax
mov    %eax,-0x224(%rbp)
jmp    2759 <nibble_sort_word+0x1659>
mov    -0x20(%rbp),%eax
mov    %eax,-0x224(%rbp)
mov    -0x224(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    277c <nibble_sort_word+0x167c>
mov    -0x20(%rbp),%eax
mov    %eax,-0x228(%rbp)
jmp    2785 <nibble_sort_word+0x1685>
mov    -0x24(%rbp),%eax
mov    %eax,-0x228(%rbp)
mov    -0x228(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    27b4 <nibble_sort_word+0x16b4>
mov    -0x38(%rbp),%eax
mov    %eax,-0x22c(%rbp)
jmp    27bd <nibble_sort_word+0x16bd>
mov    -0x34(%rbp),%eax
mov    %eax,-0x22c(%rbp)
mov    -0x22c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x34(%rbp),%eax
jge    27e0 <nibble_sort_word+0x16e0>
mov    -0x34(%rbp),%eax
mov    %eax,-0x230(%rbp)
jmp    27e9 <nibble_sort_word+0x16e9>
mov    -0x38(%rbp),%eax
mov    %eax,-0x230(%rbp)
mov    -0x230(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    2818 <nibble_sort_word+0x1718>
mov    -0x30(%rbp),%eax
mov    %eax,-0x234(%rbp)
jmp    2821 <nibble_sort_word+0x1721>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x234(%rbp)
mov    -0x234(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jge    2844 <nibble_sort_word+0x1744>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x238(%rbp)
jmp    284d <nibble_sort_word+0x174d>
mov    -0x30(%rbp),%eax
mov    %eax,-0x238(%rbp)
mov    -0x238(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x2c(%rbp)
movl   $0xf,-0x58(%rbp)
cmpl   $0x0,-0x58(%rbp)
jl     289e <nibble_sort_word+0x179e>
mov    -0x8(%rbp),%rax
shl    $0x4,%rax
mov    %rax,-0x8(%rbp)
movslq -0x58(%rbp),%rax
movslq -0x50(%rbp,%rax,4),%rax
or     -0x8(%rbp),%rax
mov    %rax,-0x8(%rbp)
mov    -0x58(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x58(%rbp)
jmp    2869 <nibble_sort_word+0x1769>
mov    -0x8(%rbp),%rax
add    $0x1c0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<nibble_sort_word>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
mov    %edi,%r15d
and    $0xf,%r15d
mov    %edi,%r9d
shr    $0x4,%r9d
and    $0xf,%r9d
mov    %edi,%r12d
shr    $0x8,%r12d
and    $0xf,%r12d
mov    %edi,%ecx
shr    $0xc,%ecx
and    $0xf,%ecx
mov    %edi,%r11d
shr    $0x10,%r11d
and    $0xf,%r11d
mov    %edi,%eax
shr    $0x14,%eax
and    $0xf,%eax
mov    %eax,-0x34(%rsp)
mov    %edi,%r14d
shr    $0x18,%r14d
and    $0xf,%r14d
mov    %edi,%eax
shr    $0x1c,%eax
mov    %eax,-0x30(%rsp)
mov    %rdi,%rbx
shr    $0x20,%rbx
and    $0xf,%ebx
mov    %rdi,%r10
shr    $0x24,%r10
and    $0xf,%r10d
mov    %rdi,%rsi
shr    $0x28,%rsi
and    $0xf,%esi
mov    %rdi,%rdx
shr    $0x2c,%rdx
and    $0xf,%edx
mov    %rdi,%rax
shr    $0x30,%rax
and    $0xf,%eax
mov    %rdi,%rbp
shr    $0x34,%rbp
and    $0xf,%ebp
mov    %rdi,%r8
shr    $0x38,%r8
and    $0xf,%r8d
shr    $0x3c,%rdi
cmp    %r9d,%r15d
mov    %r9d,%r13d
cmovb  %r15d,%r13d
cmovae %r15d,%r9d
mov    %r9d,-0x20(%rsp)
cmp    %ecx,%r12d
mov    %ecx,%r15d
cmovb  %r12d,%r15d
cmovae %r12d,%ecx
mov    %ecx,-0x10(%rsp)
mov    -0x34(%rsp),%ecx
cmp    %ecx,%r11d
mov    %ecx,%r12d
cmovb  %r11d,%r12d
cmovae %r11d,%ecx
mov    %ecx,-0x34(%rsp)
mov    -0x30(%rsp),%r9d
cmp    %r9d,%r14d
mov    %r9d,%ecx
cmovb  %r14d,%ecx
mov    %ecx,-0x18(%rsp)
cmovae %r14d,%r9d
cmp    %r10d,%ebx
mov    %r10d,%r11d
cmovb  %ebx,%r11d
cmovae %ebx,%r10d
cmp    %edx,%esi
mov    %edx,%ecx
cmovb  %esi,%ecx
cmovae %esi,%edx
cmp    %ebp,%eax
mov    %ebp,%ebx
cmovb  %eax,%ebx
cmovae %eax,%ebp
cmp    %edi,%r8d
mov    %edi,%r14d
cmovb  %r8d,%r14d
cmovb  %edi,%r8d
mov    %r15d,%eax
cmp    %r15d,%r13d
mov    %r15d,%edi
cmovb  %r13d,%edi
cmovae %r13d,%eax
mov    %eax,-0x30(%rsp)
mov    -0x18(%rsp),%eax
cmp    %eax,%r12d
mov    %eax,%r15d
cmovb  %r12d,%r15d
cmovae %r12d,%eax
mov    %eax,-0x18(%rsp)
cmp    %ecx,%r11d
mov    %ecx,%r12d
cmovb  %r11d,%r12d
cmovae %r11d,%ecx
cmp    %r14d,%ebx
mov    %r14d,%r11d
cmovb  %ebx,%r11d
cmovae %ebx,%r14d
mov    -0x20(%rsp),%esi
mov    -0x10(%rsp),%ebx
cmp    %ebx,%esi
mov    %ebx,%eax
cmovb  %esi,%eax
cmovae %esi,%ebx
mov    %ebx,-0x10(%rsp)
mov    %r9d,%esi
mov    -0x34(%rsp),%ebx
cmp    %r9d,%ebx
cmovb  %ebx,%r9d
cmovae %ebx,%esi
mov    %esi,%r13d
cmp    %edx,%r10d
mov    %edx,%esi
cmovb  %r10d,%esi
cmovae %r10d,%edx
cmp    %r8d,%ebp
mov    %r8d,%ebx
cmovb  %ebp,%ebx
cmovae %ebp,%r8d
mov    %r15d,%ebp
cmp    %r15d,%edi
cmovb  %edi,%r15d
cmovae %edi,%ebp
mov    %ebp,-0x24(%rsp)
cmp    %r11d,%r12d
mov    %r11d,%edi
cmovb  %r12d,%edi
cmovae %r12d,%r11d
mov    %r11d,-0x34(%rsp)
cmp    %r9d,%eax
mov    %r9d,%r10d
cmovb  %eax,%r10d
cmovae %eax,%r9d
cmp    %ebx,%esi
mov    %ebx,%r12d
cmovb  %esi,%r12d
cmovae %esi,%ebx
mov    -0x18(%rsp),%eax
mov    -0x30(%rsp),%esi
cmp    %eax,%esi
mov    %eax,%ebp
cmovb  %esi,%ebp
cmovae %esi,%eax
mov    %eax,%esi
cmp    %r14d,%ecx
mov    %r14d,%r11d
cmovb  %ecx,%r11d
cmovae %ecx,%r14d
mov    -0x10(%rsp),%eax
cmp    %r13d,%eax
mov    %r13d,%ecx
cmovb  %eax,%ecx
cmovae %eax,%r13d
mov    %r13d,-0x30(%rsp)
cmp    %r8d,%edx
mov    %r8d,%eax
cmovb  %edx,%eax
cmovae %edx,%r8d
cmp    %edi,%r15d
mov    %edi,%edx
cmovb  %r15d,%edx
mov    %rdx,-0x10(%rsp)
cmovae %r15d,%edi
mov    %edi,-0x20(%rsp)
cmp    %r12d,%r10d
mov    %r12d,%r15d
cmovb  %r10d,%r15d
cmovae %r10d,%r12d
cmp    %r11d,%ebp
mov    %r11d,%r13d
cmovb  %ebp,%r13d
cmovae %ebp,%r11d
cmp    %eax,%ecx
mov    %eax,%r10d
cmovb  %ecx,%r10d
cmovae %ecx,%eax
mov    -0x24(%rsp),%ecx
mov    -0x34(%rsp),%edx
cmp    %edx,%ecx
mov    %edx,%edi
cmovb  %ecx,%edi
cmovae %ecx,%edx
mov    %edx,-0x34(%rsp)
cmp    %ebx,%r9d
mov    %ebx,%edx
cmovb  %r9d,%edx
cmovae %r9d,%ebx
cmp    %r14d,%esi
mov    %r14d,%ebp
cmovb  %esi,%ebp
cmovae %esi,%r14d
mov    -0x30(%rsp),%esi
cmp    %r8d,%esi
mov    %r8d,%ecx
cmovb  %esi,%ecx
cmovae %esi,%r8d
mov    %r8,-0x18(%rsp)
cmp    %r11d,%edx
mov    %r11d,%esi
cmovb  %edx,%esi
mov    %esi,-0x4(%rsp)
cmovb  %r11d,%edx
cmp    %r12d,%ebp
mov    %r12d,%r9d
cmovb  %ebp,%r9d
cmovb  %r12d,%ebp
mov    -0x34(%rsp),%esi
cmp    %esi,%r10d
mov    %esi,%r12d
cmovb  %r10d,%r12d
cmovae %r10d,%esi
mov    %esi,-0x34(%rsp)
cmp    %r14d,%ebx
mov    %r14d,%r8d
cmovb  %ebx,%r8d
cmovae %ebx,%r14d
cmp    %eax,%ecx
mov    %eax,%ebx
cmovb  %ecx,%ebx
cmovb  %eax,%ecx
mov    %ecx,%r10d
cmp    %r13d,%r15d
mov    %r13d,%ecx
cmovb  %r15d,%ecx
cmovae %r15d,%r13d
mov    -0x20(%rsp),%esi
cmp    %esi,%edi
mov    %esi,%eax
cmovb  %edi,%eax
cmovb  %esi,%edi
cmp    %eax,%ecx
mov    %eax,%esi
cmovb  %ecx,%esi
mov    %rsi,-0x30(%rsp)
cmovae %ecx,%eax
cmp    %r8d,%ebx
mov    %r8d,%ecx
cmovb  %ebx,%ecx
cmovb  %r8d,%ebx
cmp    %edi,%r13d
mov    %edi,%r8d
cmovb  %r13d,%r8d
cmovae %r13d,%edi
cmp    %r14d,%r10d
mov    %r14d,%r15d
cmovb  %r10d,%r15d
cmovb  %r14d,%r10d
mov    %r10d,-0x24(%rsp)
mov    -0x4(%rsp),%esi
cmp    %r9d,%esi
mov    %r9d,%r10d
cmovb  %esi,%r10d
cmovae %esi,%r9d
cmp    %edx,%ebp
mov    %edx,%r11d
cmovb  %ebp,%r11d
cmovb  %edx,%ebp
cmp    %eax,%r8d
mov    %eax,%edx
cmovb  %r8d,%edx
mov    %rdx,-0x20(%rsp)
cmovb  %eax,%r8d
cmp    %ebx,%r15d
mov    %ebx,%r13d
cmovb  %r15d,%r13d
cmovb  %ebx,%r15d
cmp    %edi,%r12d
mov    %edi,%edx
cmovb  %r12d,%edx
cmovae %r12d,%edi
mov    -0x34(%rsp),%eax
cmp    %eax,%ecx
mov    %eax,%esi
cmovb  %ecx,%esi
cmovb  %eax,%ecx
cmp    %edi,%r9d
mov    %edi,%eax
cmovb  %r9d,%eax
cmovae %r9d,%edi
cmp    %ecx,%ebp
mov    %ecx,%r9d
cmovb  %ebp,%r9d
cmovae %ebp,%ecx
cmp    %r10d,%edx
mov    %r10d,%r14d
cmovb  %edx,%r14d
cmovb  %r10d,%edx
cmp    %r11d,%esi
mov    %r11d,%ebx
cmovb  %esi,%ebx
cmovb  %r11d,%esi
cmp    %r8d,%r14d
mov    %r8d,%r10d
cmovb  %r14d,%r10d
cmovb  %r8d,%r14d
cmp    %eax,%edx
mov    %eax,%r11d
cmovb  %edx,%r11d
cmovb  %eax,%edx
cmp    %edi,%ebx
mov    %edi,%ebp
cmovb  %ebx,%ebp
cmovb  %edi,%ebx
cmp    %r9d,%esi
mov    %r9d,%edi
cmovb  %esi,%edi
cmovb  %r9d,%esi
cmp    %ecx,%r13d
mov    %ecx,%r8d
cmovb  %r13d,%r8d
cmovae %r13d,%ecx
cmp    %ebp,%edx
mov    %ebp,%eax
cmovb  %edx,%eax
cmovae %edx,%ebp
cmp    %edi,%ebx
mov    %edi,%edx
cmovb  %ebx,%edx
cmovae %ebx,%edi
mov    -0x18(%rsp),%rbx
shl    $0x4,%ebx
or     -0x24(%rsp),%ebx
shl    $0x8,%rbx
shl    $0x4,%r15
or     %rbx,%r15
or     %r15,%rcx
shl    $0x4,%r8
or     %r8,%rsi
shl    $0x8,%rcx
or     %rcx,%rsi
shl    $0x8,%rsi
shl    $0x4,%rdi
or     %rsi,%rdi
or     %rdi,%rdx
shl    $0x4,%rbp
or     %rbp,%rax
shl    $0x8,%rdx
or     %rdx,%rax
shl    $0x4,%r11
or     %r11,%r14
shl    $0x8,%rax
or     %rax,%r14
shl    $0x4,%r10
mov    -0x20(%rsp),%rax
or     %r10,%rax
shl    $0x8,%r14
or     %r14,%rax
mov    %rax,%rdx
mov    -0x30(%rsp),%rcx
shl    $0x4,%rcx
mov    -0x10(%rsp),%rax
or     %rcx,%rax
shl    $0x8,%rdx
or     %rdx,%rax
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define i64 @nibble_sort_word(i64 %0) {
%2 = alloca i64
%3 = alloca i32
%4 = alloca i32
%5 = alloca [16 x i32]
%6 = alloca i32
%7 = alloca i32
store i64 %0, i64* %2
store i32 0, i32* %6
br label %8
8: ; preds = %20, %1
%9 = load i32, i32* %6
%10 = icmp slt i32 %9, 16
br i1 %10, label %11, label %23
11: ; preds = %8
%12 = load i64, i64* %2
%13 = and i64 %12, 15
%14 = trunc i64 %13 to i32
%15 = load i32, i32* %6
%16 = sext i32 %15 to i64
%17 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 %16
store i32 %14, i32* %17
%18 = load i64, i64* %2
%19 = lshr i64 %18, 4
store i64 %19, i64* %2
br label %20
20: ; preds = %11
%21 = load i32, i32* %6
%22 = add nsw i32 %21, 1
store i32 %22, i32* %6
br label %8
23: ; preds = %8
%24 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%25 = load i32, i32* %24
%26 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%27 = load i32, i32* %26
%28 = icmp slt i32 %25, %27
br i1 %28, label %29, label %32
29: ; preds = %23
%30 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%31 = load i32, i32* %30
br label %35
32: ; preds = %23
%33 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%34 = load i32, i32* %33
br label %35
35: ; preds = %32, %29
%36 = phi i32 [ %31, %29 ], [ %34, %32 ]
store i32 %36, i32* %3
%37 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%38 = load i32, i32* %37
%39 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%40 = load i32, i32* %39
%41 = icmp slt i32 %38, %40
br i1 %41, label %42, label %45
42: ; preds = %35
%43 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%44 = load i32, i32* %43
br label %48
45: ; preds = %35
%46 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%47 = load i32, i32* %46
br label %48
48: ; preds = %45, %42
%49 = phi i32 [ %44, %42 ], [ %47, %45 ]
store i32 %49, i32* %4
%50 = load i32, i32* %3
%51 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
store i32 %50, i32* %51
%52 = load i32, i32* %4
%53 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
store i32 %52, i32* %53
%54 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%55 = load i32, i32* %54
%56 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%57 = load i32, i32* %56
%58 = icmp slt i32 %55, %57
br i1 %58, label %59, label %62
59: ; preds = %48
%60 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%61 = load i32, i32* %60
br label %65
62: ; preds = %48
%63 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%64 = load i32, i32* %63
br label %65
65: ; preds = %62, %59
%66 = phi i32 [ %61, %59 ], [ %64, %62 ]
store i32 %66, i32* %3
%67 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%68 = load i32, i32* %67
%69 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%70 = load i32, i32* %69
%71 = icmp slt i32 %68, %70
br i1 %71, label %72, label %75
72: ; preds = %65
%73 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%74 = load i32, i32* %73
br label %78
75: ; preds = %65
%76 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%77 = load i32, i32* %76
br label %78
78: ; preds = %75, %72
%79 = phi i32 [ %74, %72 ], [ %77, %75 ]
store i32 %79, i32* %4
%80 = load i32, i32* %3
%81 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
store i32 %80, i32* %81
%82 = load i32, i32* %4
%83 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %82, i32* %83
%84 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%85 = load i32, i32* %84
%86 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%87 = load i32, i32* %86
%88 = icmp slt i32 %85, %87
br i1 %88, label %89, label %92
89: ; preds = %78
%90 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%91 = load i32, i32* %90
br label %95
92: ; preds = %78
%93 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%94 = load i32, i32* %93
br label %95
95: ; preds = %92, %89
%96 = phi i32 [ %91, %89 ], [ %94, %92 ]
store i32 %96, i32* %3
%97 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%98 = load i32, i32* %97
%99 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%100 = load i32, i32* %99
%101 = icmp slt i32 %98, %100
br i1 %101, label %102, label %105
102: ; preds = %95
%103 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%104 = load i32, i32* %103
br label %108
105: ; preds = %95
%106 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%107 = load i32, i32* %106
br label %108
108: ; preds = %105, %102
%109 = phi i32 [ %104, %102 ], [ %107, %105 ]
store i32 %109, i32* %4
%110 = load i32, i32* %3
%111 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %110, i32* %111
%112 = load i32, i32* %4
%113 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %112, i32* %113
%114 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%115 = load i32, i32* %114
%116 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%117 = load i32, i32* %116
%118 = icmp slt i32 %115, %117
br i1 %118, label %119, label %122
119: ; preds = %108
%120 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%121 = load i32, i32* %120
br label %125
122: ; preds = %108
%123 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%124 = load i32, i32* %123
br label %125
125: ; preds = %122, %119
%126 = phi i32 [ %121, %119 ], [ %124, %122 ]
store i32 %126, i32* %3
%127 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%128 = load i32, i32* %127
%129 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%130 = load i32, i32* %129
%131 = icmp slt i32 %128, %130
br i1 %131, label %132, label %135
132: ; preds = %125
%133 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%134 = load i32, i32* %133
br label %138
135: ; preds = %125
%136 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%137 = load i32, i32* %136
br label %138
138: ; preds = %135, %132
%139 = phi i32 [ %134, %132 ], [ %137, %135 ]
store i32 %139, i32* %4
%140 = load i32, i32* %3
%141 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %140, i32* %141
%142 = load i32, i32* %4
%143 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %142, i32* %143
%144 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%145 = load i32, i32* %144
%146 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%147 = load i32, i32* %146
%148 = icmp slt i32 %145, %147
br i1 %148, label %149, label %152
149: ; preds = %138
%150 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%151 = load i32, i32* %150
br label %155
152: ; preds = %138
%153 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%154 = load i32, i32* %153
br label %155
155: ; preds = %152, %149
%156 = phi i32 [ %151, %149 ], [ %154, %152 ]
store i32 %156, i32* %3
%157 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%158 = load i32, i32* %157
%159 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%160 = load i32, i32* %159
%161 = icmp slt i32 %158, %160
br i1 %161, label %162, label %165
162: ; preds = %155
%163 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%164 = load i32, i32* %163
br label %168
165: ; preds = %155
%166 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%167 = load i32, i32* %166
br label %168
168: ; preds = %165, %162
%169 = phi i32 [ %164, %162 ], [ %167, %165 ]
store i32 %169, i32* %4
%170 = load i32, i32* %3
%171 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %170, i32* %171
%172 = load i32, i32* %4
%173 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %172, i32* %173
%174 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%175 = load i32, i32* %174
%176 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%177 = load i32, i32* %176
%178 = icmp slt i32 %175, %177
br i1 %178, label %179, label %182
179: ; preds = %168
%180 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%181 = load i32, i32* %180
br label %185
182: ; preds = %168
%183 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%184 = load i32, i32* %183
br label %185
185: ; preds = %182, %179
%186 = phi i32 [ %181, %179 ], [ %184, %182 ]
store i32 %186, i32* %3
%187 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%188 = load i32, i32* %187
%189 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%190 = load i32, i32* %189
%191 = icmp slt i32 %188, %190
br i1 %191, label %192, label %195
192: ; preds = %185
%193 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%194 = load i32, i32* %193
br label %198
195: ; preds = %185
%196 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%197 = load i32, i32* %196
br label %198
198: ; preds = %195, %192
%199 = phi i32 [ %194, %192 ], [ %197, %195 ]
store i32 %199, i32* %4
%200 = load i32, i32* %3
%201 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %200, i32* %201
%202 = load i32, i32* %4
%203 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %202, i32* %203
%204 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%205 = load i32, i32* %204
%206 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%207 = load i32, i32* %206
%208 = icmp slt i32 %205, %207
br i1 %208, label %209, label %212
209: ; preds = %198
%210 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%211 = load i32, i32* %210
br label %215
212: ; preds = %198
%213 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%214 = load i32, i32* %213
br label %215
215: ; preds = %212, %209
%216 = phi i32 [ %211, %209 ], [ %214, %212 ]
store i32 %216, i32* %3
%217 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%218 = load i32, i32* %217
%219 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%220 = load i32, i32* %219
%221 = icmp slt i32 %218, %220
br i1 %221, label %222, label %225
222: ; preds = %215
%223 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%224 = load i32, i32* %223
br label %228
225: ; preds = %215
%226 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%227 = load i32, i32* %226
br label %228
228: ; preds = %225, %222
%229 = phi i32 [ %224, %222 ], [ %227, %225 ]
store i32 %229, i32* %4
%230 = load i32, i32* %3
%231 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %230, i32* %231
%232 = load i32, i32* %4
%233 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
store i32 %232, i32* %233
%234 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%235 = load i32, i32* %234
%236 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%237 = load i32, i32* %236
%238 = icmp slt i32 %235, %237
br i1 %238, label %239, label %242
239: ; preds = %228
%240 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%241 = load i32, i32* %240
br label %245
242: ; preds = %228
%243 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%244 = load i32, i32* %243
br label %245
245: ; preds = %242, %239
%246 = phi i32 [ %241, %239 ], [ %244, %242 ]
store i32 %246, i32* %3
%247 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%248 = load i32, i32* %247
%249 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%250 = load i32, i32* %249
%251 = icmp slt i32 %248, %250
br i1 %251, label %252, label %255
252: ; preds = %245
%253 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%254 = load i32, i32* %253
br label %258
255: ; preds = %245
%256 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%257 = load i32, i32* %256
br label %258
258: ; preds = %255, %252
%259 = phi i32 [ %254, %252 ], [ %257, %255 ]
store i32 %259, i32* %4
%260 = load i32, i32* %3
%261 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
store i32 %260, i32* %261
%262 = load i32, i32* %4
%263 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
store i32 %262, i32* %263
%264 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%265 = load i32, i32* %264
%266 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%267 = load i32, i32* %266
%268 = icmp slt i32 %265, %267
br i1 %268, label %269, label %272
269: ; preds = %258
%270 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%271 = load i32, i32* %270
br label %275
272: ; preds = %258
%273 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%274 = load i32, i32* %273
br label %275
275: ; preds = %272, %269
%276 = phi i32 [ %271, %269 ], [ %274, %272 ]
store i32 %276, i32* %3
%277 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%278 = load i32, i32* %277
%279 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%280 = load i32, i32* %279
%281 = icmp slt i32 %278, %280
br i1 %281, label %282, label %285
282: ; preds = %275
%283 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%284 = load i32, i32* %283
br label %288
285: ; preds = %275
%286 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%287 = load i32, i32* %286
br label %288
288: ; preds = %285, %282
%289 = phi i32 [ %284, %282 ], [ %287, %285 ]
store i32 %289, i32* %4
%290 = load i32, i32* %3
%291 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
store i32 %290, i32* %291
%292 = load i32, i32* %4
%293 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
store i32 %292, i32* %293
%294 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%295 = load i32, i32* %294
%296 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%297 = load i32, i32* %296
%298 = icmp slt i32 %295, %297
br i1 %298, label %299, label %302
299: ; preds = %288
%300 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%301 = load i32, i32* %300
br label %305
302: ; preds = %288
%303 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%304 = load i32, i32* %303
br label %305
305: ; preds = %302, %299
%306 = phi i32 [ %301, %299 ], [ %304, %302 ]
store i32 %306, i32* %3
%307 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%308 = load i32, i32* %307
%309 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%310 = load i32, i32* %309
%311 = icmp slt i32 %308, %310
br i1 %311, label %312, label %315
312: ; preds = %305
%313 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%314 = load i32, i32* %313
br label %318
315: ; preds = %305
%316 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%317 = load i32, i32* %316
br label %318
318: ; preds = %315, %312
%319 = phi i32 [ %314, %312 ], [ %317, %315 ]
store i32 %319, i32* %4
%320 = load i32, i32* %3
%321 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %320, i32* %321
%322 = load i32, i32* %4
%323 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %322, i32* %323
%324 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%325 = load i32, i32* %324
%326 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%327 = load i32, i32* %326
%328 = icmp slt i32 %325, %327
br i1 %328, label %329, label %332
329: ; preds = %318
%330 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%331 = load i32, i32* %330
br label %335
332: ; preds = %318
%333 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%334 = load i32, i32* %333
br label %335
335: ; preds = %332, %329
%336 = phi i32 [ %331, %329 ], [ %334, %332 ]
store i32 %336, i32* %3
%337 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%338 = load i32, i32* %337
%339 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%340 = load i32, i32* %339
%341 = icmp slt i32 %338, %340
br i1 %341, label %342, label %345
342: ; preds = %335
%343 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%344 = load i32, i32* %343
br label %348
345: ; preds = %335
%346 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%347 = load i32, i32* %346
br label %348
348: ; preds = %345, %342
%349 = phi i32 [ %344, %342 ], [ %347, %345 ]
store i32 %349, i32* %4
%350 = load i32, i32* %3
%351 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %350, i32* %351
%352 = load i32, i32* %4
%353 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %352, i32* %353
%354 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%355 = load i32, i32* %354
%356 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%357 = load i32, i32* %356
%358 = icmp slt i32 %355, %357
br i1 %358, label %359, label %362
359: ; preds = %348
%360 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%361 = load i32, i32* %360
br label %365
362: ; preds = %348
%363 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%364 = load i32, i32* %363
br label %365
365: ; preds = %362, %359
%366 = phi i32 [ %361, %359 ], [ %364, %362 ]
store i32 %366, i32* %3
%367 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%368 = load i32, i32* %367
%369 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%370 = load i32, i32* %369
%371 = icmp slt i32 %368, %370
br i1 %371, label %372, label %375
372: ; preds = %365
%373 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%374 = load i32, i32* %373
br label %378
375: ; preds = %365
%376 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%377 = load i32, i32* %376
br label %378
378: ; preds = %375, %372
%379 = phi i32 [ %374, %372 ], [ %377, %375 ]
store i32 %379, i32* %4
%380 = load i32, i32* %3
%381 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %380, i32* %381
%382 = load i32, i32* %4
%383 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
store i32 %382, i32* %383
%384 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%385 = load i32, i32* %384
%386 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%387 = load i32, i32* %386
%388 = icmp slt i32 %385, %387
br i1 %388, label %389, label %392
389: ; preds = %378
%390 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%391 = load i32, i32* %390
br label %395
392: ; preds = %378
%393 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%394 = load i32, i32* %393
br label %395
395: ; preds = %392, %389
%396 = phi i32 [ %391, %389 ], [ %394, %392 ]
store i32 %396, i32* %3
%397 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%398 = load i32, i32* %397
%399 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%400 = load i32, i32* %399
%401 = icmp slt i32 %398, %400
br i1 %401, label %402, label %405
402: ; preds = %395
%403 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%404 = load i32, i32* %403
br label %408
405: ; preds = %395
%406 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%407 = load i32, i32* %406
br label %408
408: ; preds = %405, %402
%409 = phi i32 [ %404, %402 ], [ %407, %405 ]
store i32 %409, i32* %4
%410 = load i32, i32* %3
%411 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
store i32 %410, i32* %411
%412 = load i32, i32* %4
%413 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %412, i32* %413
%414 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%415 = load i32, i32* %414
%416 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%417 = load i32, i32* %416
%418 = icmp slt i32 %415, %417
br i1 %418, label %419, label %422
419: ; preds = %408
%420 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%421 = load i32, i32* %420
br label %425
422: ; preds = %408
%423 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%424 = load i32, i32* %423
br label %425
425: ; preds = %422, %419
%426 = phi i32 [ %421, %419 ], [ %424, %422 ]
store i32 %426, i32* %3
%427 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%428 = load i32, i32* %427
%429 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%430 = load i32, i32* %429
%431 = icmp slt i32 %428, %430
br i1 %431, label %432, label %435
432: ; preds = %425
%433 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%434 = load i32, i32* %433
br label %438
435: ; preds = %425
%436 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%437 = load i32, i32* %436
br label %438
438: ; preds = %435, %432
%439 = phi i32 [ %434, %432 ], [ %437, %435 ]
store i32 %439, i32* %4
%440 = load i32, i32* %3
%441 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %440, i32* %441
%442 = load i32, i32* %4
%443 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %442, i32* %443
%444 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%445 = load i32, i32* %444
%446 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%447 = load i32, i32* %446
%448 = icmp slt i32 %445, %447
br i1 %448, label %449, label %452
449: ; preds = %438
%450 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%451 = load i32, i32* %450
br label %455
452: ; preds = %438
%453 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%454 = load i32, i32* %453
br label %455
455: ; preds = %452, %449
%456 = phi i32 [ %451, %449 ], [ %454, %452 ]
store i32 %456, i32* %3
%457 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%458 = load i32, i32* %457
%459 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%460 = load i32, i32* %459
%461 = icmp slt i32 %458, %460
br i1 %461, label %462, label %465
462: ; preds = %455
%463 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%464 = load i32, i32* %463
br label %468
465: ; preds = %455
%466 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%467 = load i32, i32* %466
br label %468
468: ; preds = %465, %462
%469 = phi i32 [ %464, %462 ], [ %467, %465 ]
store i32 %469, i32* %4
%470 = load i32, i32* %3
%471 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %470, i32* %471
%472 = load i32, i32* %4
%473 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %472, i32* %473
%474 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%475 = load i32, i32* %474
%476 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%477 = load i32, i32* %476
%478 = icmp slt i32 %475, %477
br i1 %478, label %479, label %482
479: ; preds = %468
%480 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%481 = load i32, i32* %480
br label %485
482: ; preds = %468
%483 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%484 = load i32, i32* %483
br label %485
485: ; preds = %482, %479
%486 = phi i32 [ %481, %479 ], [ %484, %482 ]
store i32 %486, i32* %3
%487 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%488 = load i32, i32* %487
%489 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%490 = load i32, i32* %489
%491 = icmp slt i32 %488, %490
br i1 %491, label %492, label %495
492: ; preds = %485
%493 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%494 = load i32, i32* %493
br label %498
495: ; preds = %485
%496 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%497 = load i32, i32* %496
br label %498
498: ; preds = %495, %492
%499 = phi i32 [ %494, %492 ], [ %497, %495 ]
store i32 %499, i32* %4
%500 = load i32, i32* %3
%501 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
store i32 %500, i32* %501
%502 = load i32, i32* %4
%503 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
store i32 %502, i32* %503
%504 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%505 = load i32, i32* %504
%506 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%507 = load i32, i32* %506
%508 = icmp slt i32 %505, %507
br i1 %508, label %509, label %512
509: ; preds = %498
%510 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%511 = load i32, i32* %510
br label %515
512: ; preds = %498
%513 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%514 = load i32, i32* %513
br label %515
515: ; preds = %512, %509
%516 = phi i32 [ %511, %509 ], [ %514, %512 ]
store i32 %516, i32* %3
%517 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%518 = load i32, i32* %517
%519 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%520 = load i32, i32* %519
%521 = icmp slt i32 %518, %520
br i1 %521, label %522, label %525
522: ; preds = %515
%523 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%524 = load i32, i32* %523
br label %528
525: ; preds = %515
%526 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%527 = load i32, i32* %526
br label %528
528: ; preds = %525, %522
%529 = phi i32 [ %524, %522 ], [ %527, %525 ]
store i32 %529, i32* %4
%530 = load i32, i32* %3
%531 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
store i32 %530, i32* %531
%532 = load i32, i32* %4
%533 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %532, i32* %533
%534 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%535 = load i32, i32* %534
%536 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%537 = load i32, i32* %536
%538 = icmp slt i32 %535, %537
br i1 %538, label %539, label %542
539: ; preds = %528
%540 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%541 = load i32, i32* %540
br label %545
542: ; preds = %528
%543 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%544 = load i32, i32* %543
br label %545
545: ; preds = %542, %539
%546 = phi i32 [ %541, %539 ], [ %544, %542 ]
store i32 %546, i32* %3
%547 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%548 = load i32, i32* %547
%549 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%550 = load i32, i32* %549
%551 = icmp slt i32 %548, %550
br i1 %551, label %552, label %555
552: ; preds = %545
%553 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%554 = load i32, i32* %553
br label %558
555: ; preds = %545
%556 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%557 = load i32, i32* %556
br label %558
558: ; preds = %555, %552
%559 = phi i32 [ %554, %552 ], [ %557, %555 ]
store i32 %559, i32* %4
%560 = load i32, i32* %3
%561 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %560, i32* %561
%562 = load i32, i32* %4
%563 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %562, i32* %563
%564 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%565 = load i32, i32* %564
%566 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%567 = load i32, i32* %566
%568 = icmp slt i32 %565, %567
br i1 %568, label %569, label %572
569: ; preds = %558
%570 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%571 = load i32, i32* %570
br label %575
572: ; preds = %558
%573 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%574 = load i32, i32* %573
br label %575
575: ; preds = %572, %569
%576 = phi i32 [ %571, %569 ], [ %574, %572 ]
store i32 %576, i32* %3
%577 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%578 = load i32, i32* %577
%579 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%580 = load i32, i32* %579
%581 = icmp slt i32 %578, %580
br i1 %581, label %582, label %585
582: ; preds = %575
%583 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%584 = load i32, i32* %583
br label %588
585: ; preds = %575
%586 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%587 = load i32, i32* %586
br label %588
588: ; preds = %585, %582
%589 = phi i32 [ %584, %582 ], [ %587, %585 ]
store i32 %589, i32* %4
%590 = load i32, i32* %3
%591 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
store i32 %590, i32* %591
%592 = load i32, i32* %4
%593 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %592, i32* %593
%594 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%595 = load i32, i32* %594
%596 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%597 = load i32, i32* %596
%598 = icmp slt i32 %595, %597
br i1 %598, label %599, label %602
599: ; preds = %588
%600 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%601 = load i32, i32* %600
br label %605
602: ; preds = %588
%603 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%604 = load i32, i32* %603
br label %605
605: ; preds = %602, %599
%606 = phi i32 [ %601, %599 ], [ %604, %602 ]
store i32 %606, i32* %3
%607 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%608 = load i32, i32* %607
%609 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%610 = load i32, i32* %609
%611 = icmp slt i32 %608, %610
br i1 %611, label %612, label %615
612: ; preds = %605
%613 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%614 = load i32, i32* %613
br label %618
615: ; preds = %605
%616 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%617 = load i32, i32* %616
br label %618
618: ; preds = %615, %612
%619 = phi i32 [ %614, %612 ], [ %617, %615 ]
store i32 %619, i32* %4
%620 = load i32, i32* %3
%621 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %620, i32* %621
%622 = load i32, i32* %4
%623 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
store i32 %622, i32* %623
%624 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%625 = load i32, i32* %624
%626 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%627 = load i32, i32* %626
%628 = icmp slt i32 %625, %627
br i1 %628, label %629, label %632
629: ; preds = %618
%630 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%631 = load i32, i32* %630
br label %635
632: ; preds = %618
%633 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%634 = load i32, i32* %633
br label %635
635: ; preds = %632, %629
%636 = phi i32 [ %631, %629 ], [ %634, %632 ]
store i32 %636, i32* %3
%637 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%638 = load i32, i32* %637
%639 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%640 = load i32, i32* %639
%641 = icmp slt i32 %638, %640
br i1 %641, label %642, label %645
642: ; preds = %635
%643 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%644 = load i32, i32* %643
br label %648
645: ; preds = %635
%646 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%647 = load i32, i32* %646
br label %648
648: ; preds = %645, %642
%649 = phi i32 [ %644, %642 ], [ %647, %645 ]
store i32 %649, i32* %4
%650 = load i32, i32* %3
%651 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
store i32 %650, i32* %651
%652 = load i32, i32* %4
%653 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %652, i32* %653
%654 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%655 = load i32, i32* %654
%656 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%657 = load i32, i32* %656
%658 = icmp slt i32 %655, %657
br i1 %658, label %659, label %662
659: ; preds = %648
%660 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%661 = load i32, i32* %660
br label %665
662: ; preds = %648
%663 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%664 = load i32, i32* %663
br label %665
665: ; preds = %662, %659
%666 = phi i32 [ %661, %659 ], [ %664, %662 ]
store i32 %666, i32* %3
%667 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%668 = load i32, i32* %667
%669 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%670 = load i32, i32* %669
%671 = icmp slt i32 %668, %670
br i1 %671, label %672, label %675
672: ; preds = %665
%673 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%674 = load i32, i32* %673
br label %678
675: ; preds = %665
%676 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%677 = load i32, i32* %676
br label %678
678: ; preds = %675, %672
%679 = phi i32 [ %674, %672 ], [ %677, %675 ]
store i32 %679, i32* %4
%680 = load i32, i32* %3
%681 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %680, i32* %681
%682 = load i32, i32* %4
%683 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
store i32 %682, i32* %683
%684 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%685 = load i32, i32* %684
%686 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%687 = load i32, i32* %686
%688 = icmp slt i32 %685, %687
br i1 %688, label %689, label %692
689: ; preds = %678
%690 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%691 = load i32, i32* %690
br label %695
692: ; preds = %678
%693 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%694 = load i32, i32* %693
br label %695
695: ; preds = %692, %689
%696 = phi i32 [ %691, %689 ], [ %694, %692 ]
store i32 %696, i32* %3
%697 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%698 = load i32, i32* %697
%699 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%700 = load i32, i32* %699
%701 = icmp slt i32 %698, %700
br i1 %701, label %702, label %705
702: ; preds = %695
%703 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%704 = load i32, i32* %703
br label %708
705: ; preds = %695
%706 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%707 = load i32, i32* %706
br label %708
708: ; preds = %705, %702
%709 = phi i32 [ %704, %702 ], [ %707, %705 ]
store i32 %709, i32* %4
%710 = load i32, i32* %3
%711 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %710, i32* %711
%712 = load i32, i32* %4
%713 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %712, i32* %713
%714 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%715 = load i32, i32* %714
%716 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%717 = load i32, i32* %716
%718 = icmp slt i32 %715, %717
br i1 %718, label %719, label %722
719: ; preds = %708
%720 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%721 = load i32, i32* %720
br label %725
722: ; preds = %708
%723 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%724 = load i32, i32* %723
br label %725
725: ; preds = %722, %719
%726 = phi i32 [ %721, %719 ], [ %724, %722 ]
store i32 %726, i32* %3
%727 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%728 = load i32, i32* %727
%729 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%730 = load i32, i32* %729
%731 = icmp slt i32 %728, %730
br i1 %731, label %732, label %735
732: ; preds = %725
%733 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%734 = load i32, i32* %733
br label %738
735: ; preds = %725
%736 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%737 = load i32, i32* %736
br label %738
738: ; preds = %735, %732
%739 = phi i32 [ %734, %732 ], [ %737, %735 ]
store i32 %739, i32* %4
%740 = load i32, i32* %3
%741 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %740, i32* %741
%742 = load i32, i32* %4
%743 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
store i32 %742, i32* %743
%744 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%745 = load i32, i32* %744
%746 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%747 = load i32, i32* %746
%748 = icmp slt i32 %745, %747
br i1 %748, label %749, label %752
749: ; preds = %738
%750 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%751 = load i32, i32* %750
br label %755
752: ; preds = %738
%753 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%754 = load i32, i32* %753
br label %755
755: ; preds = %752, %749
%756 = phi i32 [ %751, %749 ], [ %754, %752 ]
store i32 %756, i32* %3
%757 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%758 = load i32, i32* %757
%759 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%760 = load i32, i32* %759
%761 = icmp slt i32 %758, %760
br i1 %761, label %762, label %765
762: ; preds = %755
%763 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%764 = load i32, i32* %763
br label %768
765: ; preds = %755
%766 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
%767 = load i32, i32* %766
br label %768
768: ; preds = %765, %762
%769 = phi i32 [ %764, %762 ], [ %767, %765 ]
store i32 %769, i32* %4
%770 = load i32, i32* %3
%771 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 0
store i32 %770, i32* %771
%772 = load i32, i32* %4
%773 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %772, i32* %773
%774 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%775 = load i32, i32* %774
%776 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%777 = load i32, i32* %776
%778 = icmp slt i32 %775, %777
br i1 %778, label %779, label %782
779: ; preds = %768
%780 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%781 = load i32, i32* %780
br label %785
782: ; preds = %768
%783 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%784 = load i32, i32* %783
br label %785
785: ; preds = %782, %779
%786 = phi i32 [ %781, %779 ], [ %784, %782 ]
store i32 %786, i32* %3
%787 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%788 = load i32, i32* %787
%789 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%790 = load i32, i32* %789
%791 = icmp slt i32 %788, %790
br i1 %791, label %792, label %795
792: ; preds = %785
%793 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%794 = load i32, i32* %793
br label %798
795: ; preds = %785
%796 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%797 = load i32, i32* %796
br label %798
798: ; preds = %795, %792
%799 = phi i32 [ %794, %792 ], [ %797, %795 ]
store i32 %799, i32* %4
%800 = load i32, i32* %3
%801 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
store i32 %800, i32* %801
%802 = load i32, i32* %4
%803 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %802, i32* %803
%804 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%805 = load i32, i32* %804
%806 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%807 = load i32, i32* %806
%808 = icmp slt i32 %805, %807
br i1 %808, label %809, label %812
809: ; preds = %798
%810 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%811 = load i32, i32* %810
br label %815
812: ; preds = %798
%813 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%814 = load i32, i32* %813
br label %815
815: ; preds = %812, %809
%816 = phi i32 [ %811, %809 ], [ %814, %812 ]
store i32 %816, i32* %3
%817 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%818 = load i32, i32* %817
%819 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%820 = load i32, i32* %819
%821 = icmp slt i32 %818, %820
br i1 %821, label %822, label %825
822: ; preds = %815
%823 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%824 = load i32, i32* %823
br label %828
825: ; preds = %815
%826 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%827 = load i32, i32* %826
br label %828
828: ; preds = %825, %822
%829 = phi i32 [ %824, %822 ], [ %827, %825 ]
store i32 %829, i32* %4
%830 = load i32, i32* %3
%831 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
store i32 %830, i32* %831
%832 = load i32, i32* %4
%833 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %832, i32* %833
%834 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%835 = load i32, i32* %834
%836 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%837 = load i32, i32* %836
%838 = icmp slt i32 %835, %837
br i1 %838, label %839, label %842
839: ; preds = %828
%840 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%841 = load i32, i32* %840
br label %845
842: ; preds = %828
%843 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%844 = load i32, i32* %843
br label %845
845: ; preds = %842, %839
%846 = phi i32 [ %841, %839 ], [ %844, %842 ]
store i32 %846, i32* %3
%847 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%848 = load i32, i32* %847
%849 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%850 = load i32, i32* %849
%851 = icmp slt i32 %848, %850
br i1 %851, label %852, label %855
852: ; preds = %845
%853 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%854 = load i32, i32* %853
br label %858
855: ; preds = %845
%856 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%857 = load i32, i32* %856
br label %858
858: ; preds = %855, %852
%859 = phi i32 [ %854, %852 ], [ %857, %855 ]
store i32 %859, i32* %4
%860 = load i32, i32* %3
%861 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %860, i32* %861
%862 = load i32, i32* %4
%863 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %862, i32* %863
%864 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%865 = load i32, i32* %864
%866 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%867 = load i32, i32* %866
%868 = icmp slt i32 %865, %867
br i1 %868, label %869, label %872
869: ; preds = %858
%870 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%871 = load i32, i32* %870
br label %875
872: ; preds = %858
%873 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%874 = load i32, i32* %873
br label %875
875: ; preds = %872, %869
%876 = phi i32 [ %871, %869 ], [ %874, %872 ]
store i32 %876, i32* %3
%877 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%878 = load i32, i32* %877
%879 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%880 = load i32, i32* %879
%881 = icmp slt i32 %878, %880
br i1 %881, label %882, label %885
882: ; preds = %875
%883 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%884 = load i32, i32* %883
br label %888
885: ; preds = %875
%886 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%887 = load i32, i32* %886
br label %888
888: ; preds = %885, %882
%889 = phi i32 [ %884, %882 ], [ %887, %885 ]
store i32 %889, i32* %4
%890 = load i32, i32* %3
%891 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %890, i32* %891
%892 = load i32, i32* %4
%893 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %892, i32* %893
%894 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%895 = load i32, i32* %894
%896 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%897 = load i32, i32* %896
%898 = icmp slt i32 %895, %897
br i1 %898, label %899, label %902
899: ; preds = %888
%900 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%901 = load i32, i32* %900
br label %905
902: ; preds = %888
%903 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%904 = load i32, i32* %903
br label %905
905: ; preds = %902, %899
%906 = phi i32 [ %901, %899 ], [ %904, %902 ]
store i32 %906, i32* %3
%907 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%908 = load i32, i32* %907
%909 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%910 = load i32, i32* %909
%911 = icmp slt i32 %908, %910
br i1 %911, label %912, label %915
912: ; preds = %905
%913 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%914 = load i32, i32* %913
br label %918
915: ; preds = %905
%916 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%917 = load i32, i32* %916
br label %918
918: ; preds = %915, %912
%919 = phi i32 [ %914, %912 ], [ %917, %915 ]
store i32 %919, i32* %4
%920 = load i32, i32* %3
%921 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %920, i32* %921
%922 = load i32, i32* %4
%923 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
store i32 %922, i32* %923
%924 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%925 = load i32, i32* %924
%926 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%927 = load i32, i32* %926
%928 = icmp slt i32 %925, %927
br i1 %928, label %929, label %932
929: ; preds = %918
%930 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%931 = load i32, i32* %930
br label %935
932: ; preds = %918
%933 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%934 = load i32, i32* %933
br label %935
935: ; preds = %932, %929
%936 = phi i32 [ %931, %929 ], [ %934, %932 ]
store i32 %936, i32* %3
%937 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%938 = load i32, i32* %937
%939 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%940 = load i32, i32* %939
%941 = icmp slt i32 %938, %940
br i1 %941, label %942, label %945
942: ; preds = %935
%943 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%944 = load i32, i32* %943
br label %948
945: ; preds = %935
%946 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%947 = load i32, i32* %946
br label %948
948: ; preds = %945, %942
%949 = phi i32 [ %944, %942 ], [ %947, %945 ]
store i32 %949, i32* %4
%950 = load i32, i32* %3
%951 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %950, i32* %951
%952 = load i32, i32* %4
%953 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
store i32 %952, i32* %953
%954 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%955 = load i32, i32* %954
%956 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%957 = load i32, i32* %956
%958 = icmp slt i32 %955, %957
br i1 %958, label %959, label %962
959: ; preds = %948
%960 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%961 = load i32, i32* %960
br label %965
962: ; preds = %948
%963 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%964 = load i32, i32* %963
br label %965
965: ; preds = %962, %959
%966 = phi i32 [ %961, %959 ], [ %964, %962 ]
store i32 %966, i32* %3
%967 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%968 = load i32, i32* %967
%969 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%970 = load i32, i32* %969
%971 = icmp slt i32 %968, %970
br i1 %971, label %972, label %975
972: ; preds = %965
%973 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
%974 = load i32, i32* %973
br label %978
975: ; preds = %965
%976 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%977 = load i32, i32* %976
br label %978
978: ; preds = %975, %972
%979 = phi i32 [ %974, %972 ], [ %977, %975 ]
store i32 %979, i32* %4
%980 = load i32, i32* %3
%981 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %980, i32* %981
%982 = load i32, i32* %4
%983 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 15
store i32 %982, i32* %983
%984 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%985 = load i32, i32* %984
%986 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%987 = load i32, i32* %986
%988 = icmp slt i32 %985, %987
br i1 %988, label %989, label %992
989: ; preds = %978
%990 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%991 = load i32, i32* %990
br label %995
992: ; preds = %978
%993 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%994 = load i32, i32* %993
br label %995
995: ; preds = %992, %989
%996 = phi i32 [ %991, %989 ], [ %994, %992 ]
store i32 %996, i32* %3
%997 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%998 = load i32, i32* %997
%999 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1000 = load i32, i32* %999
%1001 = icmp slt i32 %998, %1000
br i1 %1001, label %1002, label %1005
1002: ; preds = %995
%1003 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1004 = load i32, i32* %1003
br label %1008
1005: ; preds = %995
%1006 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1007 = load i32, i32* %1006
br label %1008
1008: ; preds = %1005, %1002
%1009 = phi i32 [ %1004, %1002 ], [ %1007, %1005 ]
store i32 %1009, i32* %4
%1010 = load i32, i32* %3
%1011 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %1010, i32* %1011
%1012 = load i32, i32* %4
%1013 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %1012, i32* %1013
%1014 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1015 = load i32, i32* %1014
%1016 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1017 = load i32, i32* %1016
%1018 = icmp slt i32 %1015, %1017
br i1 %1018, label %1019, label %1022
1019: ; preds = %1008
%1020 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1021 = load i32, i32* %1020
br label %1025
1022: ; preds = %1008
%1023 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1024 = load i32, i32* %1023
br label %1025
1025: ; preds = %1022, %1019
%1026 = phi i32 [ %1021, %1019 ], [ %1024, %1022 ]
store i32 %1026, i32* %3
%1027 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1028 = load i32, i32* %1027
%1029 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1030 = load i32, i32* %1029
%1031 = icmp slt i32 %1028, %1030
br i1 %1031, label %1032, label %1035
1032: ; preds = %1025
%1033 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1034 = load i32, i32* %1033
br label %1038
1035: ; preds = %1025
%1036 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1037 = load i32, i32* %1036
br label %1038
1038: ; preds = %1035, %1032
%1039 = phi i32 [ %1034, %1032 ], [ %1037, %1035 ]
store i32 %1039, i32* %4
%1040 = load i32, i32* %3
%1041 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %1040, i32* %1041
%1042 = load i32, i32* %4
%1043 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %1042, i32* %1043
%1044 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1045 = load i32, i32* %1044
%1046 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1047 = load i32, i32* %1046
%1048 = icmp slt i32 %1045, %1047
br i1 %1048, label %1049, label %1052
1049: ; preds = %1038
%1050 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1051 = load i32, i32* %1050
br label %1055
1052: ; preds = %1038
%1053 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1054 = load i32, i32* %1053
br label %1055
1055: ; preds = %1052, %1049
%1056 = phi i32 [ %1051, %1049 ], [ %1054, %1052 ]
store i32 %1056, i32* %3
%1057 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1058 = load i32, i32* %1057
%1059 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1060 = load i32, i32* %1059
%1061 = icmp slt i32 %1058, %1060
br i1 %1061, label %1062, label %1065
1062: ; preds = %1055
%1063 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1064 = load i32, i32* %1063
br label %1068
1065: ; preds = %1055
%1066 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1067 = load i32, i32* %1066
br label %1068
1068: ; preds = %1065, %1062
%1069 = phi i32 [ %1064, %1062 ], [ %1067, %1065 ]
store i32 %1069, i32* %4
%1070 = load i32, i32* %3
%1071 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %1070, i32* %1071
%1072 = load i32, i32* %4
%1073 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %1072, i32* %1073
%1074 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1075 = load i32, i32* %1074
%1076 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1077 = load i32, i32* %1076
%1078 = icmp slt i32 %1075, %1077
br i1 %1078, label %1079, label %1082
1079: ; preds = %1068
%1080 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1081 = load i32, i32* %1080
br label %1085
1082: ; preds = %1068
%1083 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1084 = load i32, i32* %1083
br label %1085
1085: ; preds = %1082, %1079
%1086 = phi i32 [ %1081, %1079 ], [ %1084, %1082 ]
store i32 %1086, i32* %3
%1087 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1088 = load i32, i32* %1087
%1089 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1090 = load i32, i32* %1089
%1091 = icmp slt i32 %1088, %1090
br i1 %1091, label %1092, label %1095
1092: ; preds = %1085
%1093 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1094 = load i32, i32* %1093
br label %1098
1095: ; preds = %1085
%1096 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1097 = load i32, i32* %1096
br label %1098
1098: ; preds = %1095, %1092
%1099 = phi i32 [ %1094, %1092 ], [ %1097, %1095 ]
store i32 %1099, i32* %4
%1100 = load i32, i32* %3
%1101 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
store i32 %1100, i32* %1101
%1102 = load i32, i32* %4
%1103 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
store i32 %1102, i32* %1103
%1104 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1105 = load i32, i32* %1104
%1106 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1107 = load i32, i32* %1106
%1108 = icmp slt i32 %1105, %1107
br i1 %1108, label %1109, label %1112
1109: ; preds = %1098
%1110 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1111 = load i32, i32* %1110
br label %1115
1112: ; preds = %1098
%1113 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1114 = load i32, i32* %1113
br label %1115
1115: ; preds = %1112, %1109
%1116 = phi i32 [ %1111, %1109 ], [ %1114, %1112 ]
store i32 %1116, i32* %3
%1117 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1118 = load i32, i32* %1117
%1119 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1120 = load i32, i32* %1119
%1121 = icmp slt i32 %1118, %1120
br i1 %1121, label %1122, label %1125
1122: ; preds = %1115
%1123 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1124 = load i32, i32* %1123
br label %1128
1125: ; preds = %1115
%1126 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1127 = load i32, i32* %1126
br label %1128
1128: ; preds = %1125, %1122
%1129 = phi i32 [ %1124, %1122 ], [ %1127, %1125 ]
store i32 %1129, i32* %4
%1130 = load i32, i32* %3
%1131 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %1130, i32* %1131
%1132 = load i32, i32* %4
%1133 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %1132, i32* %1133
%1134 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1135 = load i32, i32* %1134
%1136 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1137 = load i32, i32* %1136
%1138 = icmp slt i32 %1135, %1137
br i1 %1138, label %1139, label %1142
1139: ; preds = %1128
%1140 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1141 = load i32, i32* %1140
br label %1145
1142: ; preds = %1128
%1143 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1144 = load i32, i32* %1143
br label %1145
1145: ; preds = %1142, %1139
%1146 = phi i32 [ %1141, %1139 ], [ %1144, %1142 ]
store i32 %1146, i32* %3
%1147 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1148 = load i32, i32* %1147
%1149 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1150 = load i32, i32* %1149
%1151 = icmp slt i32 %1148, %1150
br i1 %1151, label %1152, label %1155
1152: ; preds = %1145
%1153 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1154 = load i32, i32* %1153
br label %1158
1155: ; preds = %1145
%1156 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1157 = load i32, i32* %1156
br label %1158
1158: ; preds = %1155, %1152
%1159 = phi i32 [ %1154, %1152 ], [ %1157, %1155 ]
store i32 %1159, i32* %4
%1160 = load i32, i32* %3
%1161 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
store i32 %1160, i32* %1161
%1162 = load i32, i32* %4
%1163 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
store i32 %1162, i32* %1163
%1164 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1165 = load i32, i32* %1164
%1166 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1167 = load i32, i32* %1166
%1168 = icmp slt i32 %1165, %1167
br i1 %1168, label %1169, label %1172
1169: ; preds = %1158
%1170 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1171 = load i32, i32* %1170
br label %1175
1172: ; preds = %1158
%1173 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1174 = load i32, i32* %1173
br label %1175
1175: ; preds = %1172, %1169
%1176 = phi i32 [ %1171, %1169 ], [ %1174, %1172 ]
store i32 %1176, i32* %3
%1177 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1178 = load i32, i32* %1177
%1179 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1180 = load i32, i32* %1179
%1181 = icmp slt i32 %1178, %1180
br i1 %1181, label %1182, label %1185
1182: ; preds = %1175
%1183 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1184 = load i32, i32* %1183
br label %1188
1185: ; preds = %1175
%1186 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1187 = load i32, i32* %1186
br label %1188
1188: ; preds = %1185, %1182
%1189 = phi i32 [ %1184, %1182 ], [ %1187, %1185 ]
store i32 %1189, i32* %4
%1190 = load i32, i32* %3
%1191 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %1190, i32* %1191
%1192 = load i32, i32* %4
%1193 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %1192, i32* %1193
%1194 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1195 = load i32, i32* %1194
%1196 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1197 = load i32, i32* %1196
%1198 = icmp slt i32 %1195, %1197
br i1 %1198, label %1199, label %1202
1199: ; preds = %1188
%1200 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1201 = load i32, i32* %1200
br label %1205
1202: ; preds = %1188
%1203 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1204 = load i32, i32* %1203
br label %1205
1205: ; preds = %1202, %1199
%1206 = phi i32 [ %1201, %1199 ], [ %1204, %1202 ]
store i32 %1206, i32* %3
%1207 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1208 = load i32, i32* %1207
%1209 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1210 = load i32, i32* %1209
%1211 = icmp slt i32 %1208, %1210
br i1 %1211, label %1212, label %1215
1212: ; preds = %1205
%1213 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1214 = load i32, i32* %1213
br label %1218
1215: ; preds = %1205
%1216 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
%1217 = load i32, i32* %1216
br label %1218
1218: ; preds = %1215, %1212
%1219 = phi i32 [ %1214, %1212 ], [ %1217, %1215 ]
store i32 %1219, i32* %4
%1220 = load i32, i32* %3
%1221 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 1
store i32 %1220, i32* %1221
%1222 = load i32, i32* %4
%1223 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %1222, i32* %1223
%1224 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1225 = load i32, i32* %1224
%1226 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1227 = load i32, i32* %1226
%1228 = icmp slt i32 %1225, %1227
br i1 %1228, label %1229, label %1232
1229: ; preds = %1218
%1230 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1231 = load i32, i32* %1230
br label %1235
1232: ; preds = %1218
%1233 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1234 = load i32, i32* %1233
br label %1235
1235: ; preds = %1232, %1229
%1236 = phi i32 [ %1231, %1229 ], [ %1234, %1232 ]
store i32 %1236, i32* %3
%1237 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1238 = load i32, i32* %1237
%1239 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1240 = load i32, i32* %1239
%1241 = icmp slt i32 %1238, %1240
br i1 %1241, label %1242, label %1245
1242: ; preds = %1235
%1243 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1244 = load i32, i32* %1243
br label %1248
1245: ; preds = %1235
%1246 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1247 = load i32, i32* %1246
br label %1248
1248: ; preds = %1245, %1242
%1249 = phi i32 [ %1244, %1242 ], [ %1247, %1245 ]
store i32 %1249, i32* %4
%1250 = load i32, i32* %3
%1251 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %1250, i32* %1251
%1252 = load i32, i32* %4
%1253 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
store i32 %1252, i32* %1253
%1254 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1255 = load i32, i32* %1254
%1256 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1257 = load i32, i32* %1256
%1258 = icmp slt i32 %1255, %1257
br i1 %1258, label %1259, label %1262
1259: ; preds = %1248
%1260 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1261 = load i32, i32* %1260
br label %1265
1262: ; preds = %1248
%1263 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1264 = load i32, i32* %1263
br label %1265
1265: ; preds = %1262, %1259
%1266 = phi i32 [ %1261, %1259 ], [ %1264, %1262 ]
store i32 %1266, i32* %3
%1267 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1268 = load i32, i32* %1267
%1269 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1270 = load i32, i32* %1269
%1271 = icmp slt i32 %1268, %1270
br i1 %1271, label %1272, label %1275
1272: ; preds = %1265
%1273 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1274 = load i32, i32* %1273
br label %1278
1275: ; preds = %1265
%1276 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1277 = load i32, i32* %1276
br label %1278
1278: ; preds = %1275, %1272
%1279 = phi i32 [ %1274, %1272 ], [ %1277, %1275 ]
store i32 %1279, i32* %4
%1280 = load i32, i32* %3
%1281 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
store i32 %1280, i32* %1281
%1282 = load i32, i32* %4
%1283 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %1282, i32* %1283
%1284 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1285 = load i32, i32* %1284
%1286 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1287 = load i32, i32* %1286
%1288 = icmp slt i32 %1285, %1287
br i1 %1288, label %1289, label %1292
1289: ; preds = %1278
%1290 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1291 = load i32, i32* %1290
br label %1295
1292: ; preds = %1278
%1293 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1294 = load i32, i32* %1293
br label %1295
1295: ; preds = %1292, %1289
%1296 = phi i32 [ %1291, %1289 ], [ %1294, %1292 ]
store i32 %1296, i32* %3
%1297 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1298 = load i32, i32* %1297
%1299 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1300 = load i32, i32* %1299
%1301 = icmp slt i32 %1298, %1300
br i1 %1301, label %1302, label %1305
1302: ; preds = %1295
%1303 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
%1304 = load i32, i32* %1303
br label %1308
1305: ; preds = %1295
%1306 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1307 = load i32, i32* %1306
br label %1308
1308: ; preds = %1305, %1302
%1309 = phi i32 [ %1304, %1302 ], [ %1307, %1305 ]
store i32 %1309, i32* %4
%1310 = load i32, i32* %3
%1311 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %1310, i32* %1311
%1312 = load i32, i32* %4
%1313 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 14
store i32 %1312, i32* %1313
%1314 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1315 = load i32, i32* %1314
%1316 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1317 = load i32, i32* %1316
%1318 = icmp slt i32 %1315, %1317
br i1 %1318, label %1319, label %1322
1319: ; preds = %1308
%1320 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1321 = load i32, i32* %1320
br label %1325
1322: ; preds = %1308
%1323 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1324 = load i32, i32* %1323
br label %1325
1325: ; preds = %1322, %1319
%1326 = phi i32 [ %1321, %1319 ], [ %1324, %1322 ]
store i32 %1326, i32* %3
%1327 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1328 = load i32, i32* %1327
%1329 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1330 = load i32, i32* %1329
%1331 = icmp slt i32 %1328, %1330
br i1 %1331, label %1332, label %1335
1332: ; preds = %1325
%1333 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1334 = load i32, i32* %1333
br label %1338
1335: ; preds = %1325
%1336 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1337 = load i32, i32* %1336
br label %1338
1338: ; preds = %1335, %1332
%1339 = phi i32 [ %1334, %1332 ], [ %1337, %1335 ]
store i32 %1339, i32* %4
%1340 = load i32, i32* %3
%1341 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %1340, i32* %1341
%1342 = load i32, i32* %4
%1343 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %1342, i32* %1343
%1344 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1345 = load i32, i32* %1344
%1346 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1347 = load i32, i32* %1346
%1348 = icmp slt i32 %1345, %1347
br i1 %1348, label %1349, label %1352
1349: ; preds = %1338
%1350 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1351 = load i32, i32* %1350
br label %1355
1352: ; preds = %1338
%1353 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1354 = load i32, i32* %1353
br label %1355
1355: ; preds = %1352, %1349
%1356 = phi i32 [ %1351, %1349 ], [ %1354, %1352 ]
store i32 %1356, i32* %3
%1357 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1358 = load i32, i32* %1357
%1359 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1360 = load i32, i32* %1359
%1361 = icmp slt i32 %1358, %1360
br i1 %1361, label %1362, label %1365
1362: ; preds = %1355
%1363 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1364 = load i32, i32* %1363
br label %1368
1365: ; preds = %1355
%1366 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1367 = load i32, i32* %1366
br label %1368
1368: ; preds = %1365, %1362
%1369 = phi i32 [ %1364, %1362 ], [ %1367, %1365 ]
store i32 %1369, i32* %4
%1370 = load i32, i32* %3
%1371 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %1370, i32* %1371
%1372 = load i32, i32* %4
%1373 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %1372, i32* %1373
%1374 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1375 = load i32, i32* %1374
%1376 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1377 = load i32, i32* %1376
%1378 = icmp slt i32 %1375, %1377
br i1 %1378, label %1379, label %1382
1379: ; preds = %1368
%1380 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1381 = load i32, i32* %1380
br label %1385
1382: ; preds = %1368
%1383 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1384 = load i32, i32* %1383
br label %1385
1385: ; preds = %1382, %1379
%1386 = phi i32 [ %1381, %1379 ], [ %1384, %1382 ]
store i32 %1386, i32* %3
%1387 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1388 = load i32, i32* %1387
%1389 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1390 = load i32, i32* %1389
%1391 = icmp slt i32 %1388, %1390
br i1 %1391, label %1392, label %1395
1392: ; preds = %1385
%1393 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1394 = load i32, i32* %1393
br label %1398
1395: ; preds = %1385
%1396 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
%1397 = load i32, i32* %1396
br label %1398
1398: ; preds = %1395, %1392
%1399 = phi i32 [ %1394, %1392 ], [ %1397, %1395 ]
store i32 %1399, i32* %4
%1400 = load i32, i32* %3
%1401 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 2
store i32 %1400, i32* %1401
%1402 = load i32, i32* %4
%1403 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %1402, i32* %1403
%1404 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1405 = load i32, i32* %1404
%1406 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1407 = load i32, i32* %1406
%1408 = icmp slt i32 %1405, %1407
br i1 %1408, label %1409, label %1412
1409: ; preds = %1398
%1410 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1411 = load i32, i32* %1410
br label %1415
1412: ; preds = %1398
%1413 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1414 = load i32, i32* %1413
br label %1415
1415: ; preds = %1412, %1409
%1416 = phi i32 [ %1411, %1409 ], [ %1414, %1412 ]
store i32 %1416, i32* %3
%1417 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1418 = load i32, i32* %1417
%1419 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1420 = load i32, i32* %1419
%1421 = icmp slt i32 %1418, %1420
br i1 %1421, label %1422, label %1425
1422: ; preds = %1415
%1423 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
%1424 = load i32, i32* %1423
br label %1428
1425: ; preds = %1415
%1426 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1427 = load i32, i32* %1426
br label %1428
1428: ; preds = %1425, %1422
%1429 = phi i32 [ %1424, %1422 ], [ %1427, %1425 ]
store i32 %1429, i32* %4
%1430 = load i32, i32* %3
%1431 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %1430, i32* %1431
%1432 = load i32, i32* %4
%1433 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 13
store i32 %1432, i32* %1433
%1434 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1435 = load i32, i32* %1434
%1436 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1437 = load i32, i32* %1436
%1438 = icmp slt i32 %1435, %1437
br i1 %1438, label %1439, label %1442
1439: ; preds = %1428
%1440 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1441 = load i32, i32* %1440
br label %1445
1442: ; preds = %1428
%1443 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1444 = load i32, i32* %1443
br label %1445
1445: ; preds = %1442, %1439
%1446 = phi i32 [ %1441, %1439 ], [ %1444, %1442 ]
store i32 %1446, i32* %3
%1447 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1448 = load i32, i32* %1447
%1449 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1450 = load i32, i32* %1449
%1451 = icmp slt i32 %1448, %1450
br i1 %1451, label %1452, label %1455
1452: ; preds = %1445
%1453 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1454 = load i32, i32* %1453
br label %1458
1455: ; preds = %1445
%1456 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1457 = load i32, i32* %1456
br label %1458
1458: ; preds = %1455, %1452
%1459 = phi i32 [ %1454, %1452 ], [ %1457, %1455 ]
store i32 %1459, i32* %4
%1460 = load i32, i32* %3
%1461 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %1460, i32* %1461
%1462 = load i32, i32* %4
%1463 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %1462, i32* %1463
%1464 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1465 = load i32, i32* %1464
%1466 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1467 = load i32, i32* %1466
%1468 = icmp slt i32 %1465, %1467
br i1 %1468, label %1469, label %1472
1469: ; preds = %1458
%1470 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1471 = load i32, i32* %1470
br label %1475
1472: ; preds = %1458
%1473 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1474 = load i32, i32* %1473
br label %1475
1475: ; preds = %1472, %1469
%1476 = phi i32 [ %1471, %1469 ], [ %1474, %1472 ]
store i32 %1476, i32* %3
%1477 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1478 = load i32, i32* %1477
%1479 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1480 = load i32, i32* %1479
%1481 = icmp slt i32 %1478, %1480
br i1 %1481, label %1482, label %1485
1482: ; preds = %1475
%1483 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1484 = load i32, i32* %1483
br label %1488
1485: ; preds = %1475
%1486 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1487 = load i32, i32* %1486
br label %1488
1488: ; preds = %1485, %1482
%1489 = phi i32 [ %1484, %1482 ], [ %1487, %1485 ]
store i32 %1489, i32* %4
%1490 = load i32, i32* %3
%1491 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %1490, i32* %1491
%1492 = load i32, i32* %4
%1493 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %1492, i32* %1493
%1494 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1495 = load i32, i32* %1494
%1496 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1497 = load i32, i32* %1496
%1498 = icmp slt i32 %1495, %1497
br i1 %1498, label %1499, label %1502
1499: ; preds = %1488
%1500 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1501 = load i32, i32* %1500
br label %1505
1502: ; preds = %1488
%1503 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1504 = load i32, i32* %1503
br label %1505
1505: ; preds = %1502, %1499
%1506 = phi i32 [ %1501, %1499 ], [ %1504, %1502 ]
store i32 %1506, i32* %3
%1507 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1508 = load i32, i32* %1507
%1509 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1510 = load i32, i32* %1509
%1511 = icmp slt i32 %1508, %1510
br i1 %1511, label %1512, label %1515
1512: ; preds = %1505
%1513 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1514 = load i32, i32* %1513
br label %1518
1515: ; preds = %1505
%1516 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1517 = load i32, i32* %1516
br label %1518
1518: ; preds = %1515, %1512
%1519 = phi i32 [ %1514, %1512 ], [ %1517, %1515 ]
store i32 %1519, i32* %4
%1520 = load i32, i32* %3
%1521 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %1520, i32* %1521
%1522 = load i32, i32* %4
%1523 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %1522, i32* %1523
%1524 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1525 = load i32, i32* %1524
%1526 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1527 = load i32, i32* %1526
%1528 = icmp slt i32 %1525, %1527
br i1 %1528, label %1529, label %1532
1529: ; preds = %1518
%1530 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1531 = load i32, i32* %1530
br label %1535
1532: ; preds = %1518
%1533 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1534 = load i32, i32* %1533
br label %1535
1535: ; preds = %1532, %1529
%1536 = phi i32 [ %1531, %1529 ], [ %1534, %1532 ]
store i32 %1536, i32* %3
%1537 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1538 = load i32, i32* %1537
%1539 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1540 = load i32, i32* %1539
%1541 = icmp slt i32 %1538, %1540
br i1 %1541, label %1542, label %1545
1542: ; preds = %1535
%1543 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1544 = load i32, i32* %1543
br label %1548
1545: ; preds = %1535
%1546 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1547 = load i32, i32* %1546
br label %1548
1548: ; preds = %1545, %1542
%1549 = phi i32 [ %1544, %1542 ], [ %1547, %1545 ]
store i32 %1549, i32* %4
%1550 = load i32, i32* %3
%1551 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %1550, i32* %1551
%1552 = load i32, i32* %4
%1553 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %1552, i32* %1553
%1554 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1555 = load i32, i32* %1554
%1556 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1557 = load i32, i32* %1556
%1558 = icmp slt i32 %1555, %1557
br i1 %1558, label %1559, label %1562
1559: ; preds = %1548
%1560 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1561 = load i32, i32* %1560
br label %1565
1562: ; preds = %1548
%1563 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1564 = load i32, i32* %1563
br label %1565
1565: ; preds = %1562, %1559
%1566 = phi i32 [ %1561, %1559 ], [ %1564, %1562 ]
store i32 %1566, i32* %3
%1567 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1568 = load i32, i32* %1567
%1569 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1570 = load i32, i32* %1569
%1571 = icmp slt i32 %1568, %1570
br i1 %1571, label %1572, label %1575
1572: ; preds = %1565
%1573 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1574 = load i32, i32* %1573
br label %1578
1575: ; preds = %1565
%1576 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1577 = load i32, i32* %1576
br label %1578
1578: ; preds = %1575, %1572
%1579 = phi i32 [ %1574, %1572 ], [ %1577, %1575 ]
store i32 %1579, i32* %4
%1580 = load i32, i32* %3
%1581 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %1580, i32* %1581
%1582 = load i32, i32* %4
%1583 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %1582, i32* %1583
%1584 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1585 = load i32, i32* %1584
%1586 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1587 = load i32, i32* %1586
%1588 = icmp slt i32 %1585, %1587
br i1 %1588, label %1589, label %1592
1589: ; preds = %1578
%1590 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1591 = load i32, i32* %1590
br label %1595
1592: ; preds = %1578
%1593 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1594 = load i32, i32* %1593
br label %1595
1595: ; preds = %1592, %1589
%1596 = phi i32 [ %1591, %1589 ], [ %1594, %1592 ]
store i32 %1596, i32* %3
%1597 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1598 = load i32, i32* %1597
%1599 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1600 = load i32, i32* %1599
%1601 = icmp slt i32 %1598, %1600
br i1 %1601, label %1602, label %1605
1602: ; preds = %1595
%1603 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1604 = load i32, i32* %1603
br label %1608
1605: ; preds = %1595
%1606 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1607 = load i32, i32* %1606
br label %1608
1608: ; preds = %1605, %1602
%1609 = phi i32 [ %1604, %1602 ], [ %1607, %1605 ]
store i32 %1609, i32* %4
%1610 = load i32, i32* %3
%1611 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %1610, i32* %1611
%1612 = load i32, i32* %4
%1613 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %1612, i32* %1613
%1614 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1615 = load i32, i32* %1614
%1616 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1617 = load i32, i32* %1616
%1618 = icmp slt i32 %1615, %1617
br i1 %1618, label %1619, label %1622
1619: ; preds = %1608
%1620 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1621 = load i32, i32* %1620
br label %1625
1622: ; preds = %1608
%1623 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1624 = load i32, i32* %1623
br label %1625
1625: ; preds = %1622, %1619
%1626 = phi i32 [ %1621, %1619 ], [ %1624, %1622 ]
store i32 %1626, i32* %3
%1627 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1628 = load i32, i32* %1627
%1629 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1630 = load i32, i32* %1629
%1631 = icmp slt i32 %1628, %1630
br i1 %1631, label %1632, label %1635
1632: ; preds = %1625
%1633 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
%1634 = load i32, i32* %1633
br label %1638
1635: ; preds = %1625
%1636 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
%1637 = load i32, i32* %1636
br label %1638
1638: ; preds = %1635, %1632
%1639 = phi i32 [ %1634, %1632 ], [ %1637, %1635 ]
store i32 %1639, i32* %4
%1640 = load i32, i32* %3
%1641 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 3
store i32 %1640, i32* %1641
%1642 = load i32, i32* %4
%1643 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 4
store i32 %1642, i32* %1643
%1644 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1645 = load i32, i32* %1644
%1646 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1647 = load i32, i32* %1646
%1648 = icmp slt i32 %1645, %1647
br i1 %1648, label %1649, label %1652
1649: ; preds = %1638
%1650 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1651 = load i32, i32* %1650
br label %1655
1652: ; preds = %1638
%1653 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1654 = load i32, i32* %1653
br label %1655
1655: ; preds = %1652, %1649
%1656 = phi i32 [ %1651, %1649 ], [ %1654, %1652 ]
store i32 %1656, i32* %3
%1657 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1658 = load i32, i32* %1657
%1659 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1660 = load i32, i32* %1659
%1661 = icmp slt i32 %1658, %1660
br i1 %1661, label %1662, label %1665
1662: ; preds = %1655
%1663 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1664 = load i32, i32* %1663
br label %1668
1665: ; preds = %1655
%1666 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
%1667 = load i32, i32* %1666
br label %1668
1668: ; preds = %1665, %1662
%1669 = phi i32 [ %1664, %1662 ], [ %1667, %1665 ]
store i32 %1669, i32* %4
%1670 = load i32, i32* %3
%1671 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 5
store i32 %1670, i32* %1671
%1672 = load i32, i32* %4
%1673 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %1672, i32* %1673
%1674 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1675 = load i32, i32* %1674
%1676 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1677 = load i32, i32* %1676
%1678 = icmp slt i32 %1675, %1677
br i1 %1678, label %1679, label %1682
1679: ; preds = %1668
%1680 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1681 = load i32, i32* %1680
br label %1685
1682: ; preds = %1668
%1683 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1684 = load i32, i32* %1683
br label %1685
1685: ; preds = %1682, %1679
%1686 = phi i32 [ %1681, %1679 ], [ %1684, %1682 ]
store i32 %1686, i32* %3
%1687 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1688 = load i32, i32* %1687
%1689 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1690 = load i32, i32* %1689
%1691 = icmp slt i32 %1688, %1690
br i1 %1691, label %1692, label %1695
1692: ; preds = %1685
%1693 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1694 = load i32, i32* %1693
br label %1698
1695: ; preds = %1685
%1696 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1697 = load i32, i32* %1696
br label %1698
1698: ; preds = %1695, %1692
%1699 = phi i32 [ %1694, %1692 ], [ %1697, %1695 ]
store i32 %1699, i32* %4
%1700 = load i32, i32* %3
%1701 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %1700, i32* %1701
%1702 = load i32, i32* %4
%1703 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %1702, i32* %1703
%1704 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1705 = load i32, i32* %1704
%1706 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1707 = load i32, i32* %1706
%1708 = icmp slt i32 %1705, %1707
br i1 %1708, label %1709, label %1712
1709: ; preds = %1698
%1710 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1711 = load i32, i32* %1710
br label %1715
1712: ; preds = %1698
%1713 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1714 = load i32, i32* %1713
br label %1715
1715: ; preds = %1712, %1709
%1716 = phi i32 [ %1711, %1709 ], [ %1714, %1712 ]
store i32 %1716, i32* %3
%1717 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1718 = load i32, i32* %1717
%1719 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1720 = load i32, i32* %1719
%1721 = icmp slt i32 %1718, %1720
br i1 %1721, label %1722, label %1725
1722: ; preds = %1715
%1723 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
%1724 = load i32, i32* %1723
br label %1728
1725: ; preds = %1715
%1726 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1727 = load i32, i32* %1726
br label %1728
1728: ; preds = %1725, %1722
%1729 = phi i32 [ %1724, %1722 ], [ %1727, %1725 ]
store i32 %1729, i32* %4
%1730 = load i32, i32* %3
%1731 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %1730, i32* %1731
%1732 = load i32, i32* %4
%1733 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 10
store i32 %1732, i32* %1733
%1734 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1735 = load i32, i32* %1734
%1736 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1737 = load i32, i32* %1736
%1738 = icmp slt i32 %1735, %1737
br i1 %1738, label %1739, label %1742
1739: ; preds = %1728
%1740 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1741 = load i32, i32* %1740
br label %1745
1742: ; preds = %1728
%1743 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1744 = load i32, i32* %1743
br label %1745
1745: ; preds = %1742, %1739
%1746 = phi i32 [ %1741, %1739 ], [ %1744, %1742 ]
store i32 %1746, i32* %3
%1747 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1748 = load i32, i32* %1747
%1749 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1750 = load i32, i32* %1749
%1751 = icmp slt i32 %1748, %1750
br i1 %1751, label %1752, label %1755
1752: ; preds = %1745
%1753 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
%1754 = load i32, i32* %1753
br label %1758
1755: ; preds = %1745
%1756 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
%1757 = load i32, i32* %1756
br label %1758
1758: ; preds = %1755, %1752
%1759 = phi i32 [ %1754, %1752 ], [ %1757, %1755 ]
store i32 %1759, i32* %4
%1760 = load i32, i32* %3
%1761 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 11
store i32 %1760, i32* %1761
%1762 = load i32, i32* %4
%1763 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 12
store i32 %1762, i32* %1763
%1764 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1765 = load i32, i32* %1764
%1766 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1767 = load i32, i32* %1766
%1768 = icmp slt i32 %1765, %1767
br i1 %1768, label %1769, label %1772
1769: ; preds = %1758
%1770 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1771 = load i32, i32* %1770
br label %1775
1772: ; preds = %1758
%1773 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1774 = load i32, i32* %1773
br label %1775
1775: ; preds = %1772, %1769
%1776 = phi i32 [ %1771, %1769 ], [ %1774, %1772 ]
store i32 %1776, i32* %3
%1777 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1778 = load i32, i32* %1777
%1779 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1780 = load i32, i32* %1779
%1781 = icmp slt i32 %1778, %1780
br i1 %1781, label %1782, label %1785
1782: ; preds = %1775
%1783 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
%1784 = load i32, i32* %1783
br label %1788
1785: ; preds = %1775
%1786 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
%1787 = load i32, i32* %1786
br label %1788
1788: ; preds = %1785, %1782
%1789 = phi i32 [ %1784, %1782 ], [ %1787, %1785 ]
store i32 %1789, i32* %4
%1790 = load i32, i32* %3
%1791 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 6
store i32 %1790, i32* %1791
%1792 = load i32, i32* %4
%1793 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 7
store i32 %1792, i32* %1793
%1794 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1795 = load i32, i32* %1794
%1796 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1797 = load i32, i32* %1796
%1798 = icmp slt i32 %1795, %1797
br i1 %1798, label %1799, label %1802
1799: ; preds = %1788
%1800 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1801 = load i32, i32* %1800
br label %1805
1802: ; preds = %1788
%1803 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1804 = load i32, i32* %1803
br label %1805
1805: ; preds = %1802, %1799
%1806 = phi i32 [ %1801, %1799 ], [ %1804, %1802 ]
store i32 %1806, i32* %3
%1807 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1808 = load i32, i32* %1807
%1809 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1810 = load i32, i32* %1809
%1811 = icmp slt i32 %1808, %1810
br i1 %1811, label %1812, label %1815
1812: ; preds = %1805
%1813 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
%1814 = load i32, i32* %1813
br label %1818
1815: ; preds = %1805
%1816 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
%1817 = load i32, i32* %1816
br label %1818
1818: ; preds = %1815, %1812
%1819 = phi i32 [ %1814, %1812 ], [ %1817, %1815 ]
store i32 %1819, i32* %4
%1820 = load i32, i32* %3
%1821 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 8
store i32 %1820, i32* %1821
%1822 = load i32, i32* %4
%1823 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 9
store i32 %1822, i32* %1823
store i32 15, i32* %7
br label %1824
1824: ; preds = %1837, %1818
%1825 = load i32, i32* %7
%1826 = icmp sge i32 %1825, 0
br i1 %1826, label %1827, label %1840
1827: ; preds = %1824
%1828 = load i64, i64* %2
%1829 = shl i64 %1828, 4
store i64 %1829, i64* %2
%1830 = load i32, i32* %7
%1831 = sext i32 %1830 to i64
%1832 = getelementptr inbounds [16 x i32], [16 x i32]* %5, i64 0, i64 %1831
%1833 = load i32, i32* %1832
%1834 = sext i32 %1833 to i64
%1835 = load i64, i64* %2
%1836 = or i64 %1835, %1834
store i64 %1836, i64* %2
br label %1837
1837: ; preds = %1827
%1838 = load i32, i32* %7
%1839 = add nsw i32 %1838, -1
store i32 %1839, i32* %7
br label %1824
1840: ; preds = %1824
%1841 = load i64, i64* %2
ret i64 %1841
}

LLVM IR (-O2):
define i64 @nibble_sort_word(i64 %0) {
%2 = trunc i64 %0 to i32
%3 = and i32 %2, 15
%4 = trunc i64 %0 to i32
%5 = lshr i32 %4, 4
%6 = and i32 %5, 15
%7 = trunc i64 %0 to i32
%8 = lshr i32 %7, 8
%9 = and i32 %8, 15
%10 = trunc i64 %0 to i32
%11 = lshr i32 %10, 12
%12 = and i32 %11, 15
%13 = trunc i64 %0 to i32
%14 = lshr i32 %13, 16
%15 = and i32 %14, 15
%16 = trunc i64 %0 to i32
%17 = lshr i32 %16, 20
%18 = and i32 %17, 15
%19 = trunc i64 %0 to i32
%20 = lshr i32 %19, 24
%21 = and i32 %20, 15
%22 = trunc i64 %0 to i32
%23 = lshr i32 %22, 28
%24 = lshr i64 %0, 32
%25 = trunc i64 %24 to i32
%26 = and i32 %25, 15
%27 = lshr i64 %0, 36
%28 = trunc i64 %27 to i32
%29 = and i32 %28, 15
%30 = lshr i64 %0, 40
%31 = trunc i64 %30 to i32
%32 = and i32 %31, 15
%33 = lshr i64 %0, 44
%34 = trunc i64 %33 to i32
%35 = and i32 %34, 15
%36 = lshr i64 %0, 48
%37 = trunc i64 %36 to i32
%38 = and i32 %37, 15
%39 = lshr i64 %0, 52
%40 = trunc i64 %39 to i32
%41 = and i32 %40, 15
%42 = lshr i64 %0, 56
%43 = trunc i64 %42 to i32
%44 = and i32 %43, 15
%45 = lshr i64 %0, 60
%46 = trunc i64 %45 to i32
%47 = icmp ult i32 %3, %6
%48 = select i1 %47, i32 %3, i32 %6
%49 = select i1 %47, i32 %6, i32 %3
%50 = icmp ult i32 %9, %12
%51 = select i1 %50, i32 %9, i32 %12
%52 = select i1 %50, i32 %12, i32 %9
%53 = icmp ult i32 %15, %18
%54 = select i1 %53, i32 %15, i32 %18
%55 = select i1 %53, i32 %18, i32 %15
%56 = icmp ult i32 %21, %23
%57 = select i1 %56, i32 %21, i32 %23
%58 = select i1 %56, i32 %23, i32 %21
%59 = icmp ult i32 %26, %29
%60 = select i1 %59, i32 %26, i32 %29
%61 = select i1 %59, i32 %29, i32 %26
%62 = icmp ult i32 %32, %35
%63 = select i1 %62, i32 %32, i32 %35
%64 = select i1 %62, i32 %35, i32 %32
%65 = icmp ult i32 %38, %41
%66 = select i1 %65, i32 %38, i32 %41
%67 = select i1 %65, i32 %41, i32 %38
%68 = icmp ult i32 %44, %46
%69 = select i1 %68, i32 %44, i32 %46
%70 = select i1 %68, i32 %46, i32 %44
%71 = icmp ult i32 %48, %51
%72 = select i1 %71, i32 %48, i32 %51
%73 = select i1 %71, i32 %51, i32 %48
%74 = icmp ult i32 %54, %57
%75 = select i1 %74, i32 %54, i32 %57
%76 = select i1 %74, i32 %57, i32 %54
%77 = icmp ult i32 %60, %63
%78 = select i1 %77, i32 %60, i32 %63
%79 = select i1 %77, i32 %63, i32 %60
%80 = icmp ult i32 %66, %69
%81 = select i1 %80, i32 %66, i32 %69
%82 = select i1 %80, i32 %69, i32 %66
%83 = icmp ult i32 %49, %52
%84 = select i1 %83, i32 %49, i32 %52
%85 = select i1 %83, i32 %52, i32 %49
%86 = icmp ult i32 %55, %58
%87 = select i1 %86, i32 %55, i32 %58
%88 = select i1 %86, i32 %58, i32 %55
%89 = icmp ult i32 %61, %64
%90 = select i1 %89, i32 %61, i32 %64
%91 = select i1 %89, i32 %64, i32 %61
%92 = icmp ult i32 %67, %70
%93 = select i1 %92, i32 %67, i32 %70
%94 = select i1 %92, i32 %70, i32 %67
%95 = icmp ult i32 %72, %75
%96 = select i1 %95, i32 %72, i32 %75
%97 = select i1 %95, i32 %75, i32 %72
%98 = icmp ult i32 %78, %81
%99 = select i1 %98, i32 %78, i32 %81
%100 = select i1 %98, i32 %81, i32 %78
%101 = icmp ult i32 %84, %87
%102 = select i1 %101, i32 %84, i32 %87
%103 = select i1 %101, i32 %87, i32 %84
%104 = icmp ult i32 %90, %93
%105 = select i1 %104, i32 %90, i32 %93
%106 = select i1 %104, i32 %93, i32 %90
%107 = icmp ult i32 %73, %76
%108 = select i1 %107, i32 %73, i32 %76
%109 = select i1 %107, i32 %76, i32 %73
%110 = icmp ult i32 %79, %82
%111 = select i1 %110, i32 %79, i32 %82
%112 = select i1 %110, i32 %82, i32 %79
%113 = icmp ult i32 %85, %88
%114 = select i1 %113, i32 %85, i32 %88
%115 = select i1 %113, i32 %88, i32 %85
%116 = icmp ult i32 %91, %94
%117 = select i1 %116, i32 %91, i32 %94
%118 = select i1 %116, i32 %94, i32 %91
%119 = icmp ult i32 %96, %99
%120 = select i1 %119, i32 %96, i32 %99
%121 = select i1 %119, i32 %99, i32 %96
%122 = icmp ult i32 %102, %105
%123 = select i1 %122, i32 %102, i32 %105
%124 = select i1 %122, i32 %105, i32 %102
%125 = icmp ult i32 %108, %111
%126 = select i1 %125, i32 %108, i32 %111
%127 = select i1 %125, i32 %111, i32 %108
%128 = icmp ult i32 %114, %117
%129 = select i1 %128, i32 %114, i32 %117
%130 = select i1 %128, i32 %117, i32 %114
%131 = icmp ult i32 %97, %100
%132 = select i1 %131, i32 %97, i32 %100
%133 = select i1 %131, i32 %100, i32 %97
%134 = icmp ult i32 %103, %106
%135 = select i1 %134, i32 %103, i32 %106
%136 = select i1 %134, i32 %106, i32 %103
%137 = icmp ult i32 %109, %112
%138 = select i1 %137, i32 %109, i32 %112
%139 = select i1 %137, i32 %112, i32 %109
%140 = icmp ult i32 %115, %118
%141 = select i1 %140, i32 %115, i32 %118
%142 = select i1 %140, i32 %118, i32 %115
%143 = icmp ult i32 %135, %127
%144 = select i1 %143, i32 %135, i32 %127
%145 = select i1 %143, i32 %127, i32 %135
%146 = icmp ult i32 %138, %124
%147 = select i1 %146, i32 %138, i32 %124
%148 = select i1 %146, i32 %124, i32 %138
%149 = icmp ult i32 %129, %133
%150 = select i1 %149, i32 %129, i32 %133
%151 = select i1 %149, i32 %133, i32 %129
%152 = icmp ult i32 %136, %139
%153 = select i1 %152, i32 %136, i32 %139
%154 = select i1 %152, i32 %139, i32 %136
%155 = icmp ult i32 %141, %130
%156 = select i1 %155, i32 %141, i32 %130
%157 = select i1 %155, i32 %130, i32 %141
%158 = icmp ult i32 %123, %126
%159 = select i1 %158, i32 %123, i32 %126
%160 = select i1 %158, i32 %126, i32 %123
%161 = icmp ult i32 %132, %121
%162 = select i1 %161, i32 %132, i32 %121
%163 = select i1 %161, i32 %121, i32 %132
%164 = icmp ult i32 %159, %162
%165 = select i1 %164, i32 %159, i32 %162
%166 = select i1 %164, i32 %162, i32 %159
%167 = icmp ult i32 %156, %153
%168 = select i1 %167, i32 %156, i32 %153
%169 = select i1 %167, i32 %153, i32 %156
%170 = icmp ult i32 %160, %163
%171 = select i1 %170, i32 %160, i32 %163
%172 = select i1 %170, i32 %163, i32 %160
%173 = icmp ult i32 %157, %154
%174 = select i1 %173, i32 %157, i32 %154
%175 = select i1 %173, i32 %154, i32 %157
%176 = icmp ult i32 %144, %147
%177 = select i1 %176, i32 %144, i32 %147
%178 = select i1 %176, i32 %147, i32 %144
%179 = icmp ult i32 %148, %145
%180 = select i1 %179, i32 %148, i32 %145
%181 = select i1 %179, i32 %145, i32 %148
%182 = icmp ult i32 %171, %166
%183 = select i1 %182, i32 %171, i32 %166
%184 = select i1 %182, i32 %166, i32 %171
%185 = icmp ult i32 %174, %169
%186 = select i1 %185, i32 %174, i32 %169
%187 = select i1 %185, i32 %169, i32 %174
%188 = icmp ult i32 %150, %172
%189 = select i1 %188, i32 %150, i32 %172
%190 = select i1 %188, i32 %172, i32 %150
%191 = icmp ult i32 %168, %151
%192 = select i1 %191, i32 %168, i32 %151
%193 = select i1 %191, i32 %151, i32 %168
%194 = icmp ult i32 %178, %190
%195 = select i1 %194, i32 %178, i32 %190
%196 = select i1 %194, i32 %190, i32 %178
%197 = icmp ult i32 %181, %193
%198 = select i1 %197, i32 %181, i32 %193
%199 = select i1 %197, i32 %193, i32 %181
%200 = icmp ult i32 %189, %177
%201 = select i1 %200, i32 %189, i32 %177
%202 = select i1 %200, i32 %177, i32 %189
%203 = icmp ult i32 %192, %180
%204 = select i1 %203, i32 %192, i32 %180
%205 = select i1 %203, i32 %180, i32 %192
%206 = icmp ult i32 %201, %184
%207 = select i1 %206, i32 %201, i32 %184
%208 = select i1 %206, i32 %184, i32 %201
%209 = icmp ult i32 %202, %195
%210 = select i1 %209, i32 %202, i32 %195
%211 = select i1 %209, i32 %195, i32 %202
%212 = icmp ult i32 %204, %196
%213 = select i1 %212, i32 %204, i32 %196
%214 = select i1 %212, i32 %196, i32 %204
%215 = icmp ult i32 %205, %198
%216 = select i1 %215, i32 %205, i32 %198
%217 = select i1 %215, i32 %198, i32 %205
%218 = icmp ult i32 %186, %199
%219 = select i1 %218, i32 %186, i32 %199
%220 = select i1 %218, i32 %199, i32 %186
%221 = icmp ult i32 %211, %213
%222 = select i1 %221, i32 %211, i32 %213
%223 = select i1 %221, i32 %213, i32 %211
%224 = icmp ult i32 %214, %216
%225 = select i1 %224, i32 %214, i32 %216
%226 = select i1 %224, i32 %216, i32 %214
%227 = shl nuw nsw i32 %142, 4
%228 = or i32 %227, %175
%229 = zext i32 %228 to i64
%230 = zext i32 %187 to i64
%231 = shl nuw nsw i64 %229, 8
%232 = shl nuw nsw i64 %230, 4
%233 = or i64 %231, %232
%234 = zext i32 %220 to i64
%235 = or i64 %233, %234
%236 = zext i32 %219 to i64
%237 = shl nuw nsw i64 %235, 8
%238 = shl nuw nsw i64 %236, 4
%239 = or i64 %237, %238
%240 = zext i32 %217 to i64
%241 = or i64 %239, %240
%242 = zext i32 %226 to i64
%243 = shl i64 %241, 8
%244 = shl nuw nsw i64 %242, 4
%245 = or i64 %243, %244
%246 = zext i32 %225 to i64
%247 = or i64 %245, %246
%248 = zext i32 %223 to i64
%249 = shl i64 %247, 8
%250 = shl nuw nsw i64 %248, 4
%251 = or i64 %249, %250
%252 = zext i32 %222 to i64
%253 = or i64 %251, %252
%254 = zext i32 %210 to i64
%255 = shl i64 %253, 8
%256 = shl nuw nsw i64 %254, 4
%257 = or i64 %255, %256
%258 = zext i32 %208 to i64
%259 = or i64 %257, %258
%260 = zext i32 %207 to i64
%261 = shl i64 %259, 8
%262 = shl nuw nsw i64 %260, 4
%263 = or i64 %261, %262
%264 = zext i32 %183 to i64
%265 = or i64 %263, %264
%266 = zext i32 %165 to i64
%267 = shl i64 %265, 8
%268 = shl nuw nsw i64 %266, 4
%269 = or i64 %267, %268
%270 = zext i32 %120 to i64
%271 = or i64 %269, %270
ret i64 %271
}