void sort6_sorting_network_simple_swap(char *d) {
  {
    const int a = (d[1] < d[2] ? d[1] : d[2]);
    const int b = (d[1] < d[2] ? d[2] : d[1]);
    d[1] = a;
    d[2] = b;
  };
  {
    const int a = (d[4] < d[5] ? d[4] : d[5]);
    const int b = (d[4] < d[5] ? d[5] : d[4]);
    d[4] = a;
    d[5] = b;
  };
  {
    const int a = (d[0] < d[2] ? d[0] : d[2]);
    const int b = (d[0] < d[2] ? d[2] : d[0]);
    d[0] = a;
    d[2] = b;
  };
  {
    const int a = (d[3] < d[5] ? d[3] : d[5]);
    const int b = (d[3] < d[5] ? d[5] : d[3]);
    d[3] = a;
    d[5] = b;
  };
  {
    const int a = (d[0] < d[1] ? d[0] : d[1]);
    const int b = (d[0] < d[1] ? d[1] : d[0]);
    d[0] = a;
    d[1] = b;
  };
  {
    const int a = (d[3] < d[4] ? d[3] : d[4]);
    const int b = (d[3] < d[4] ? d[4] : d[3]);
    d[3] = a;
    d[4] = b;
  };
  {
    const int a = (d[1] < d[4] ? d[1] : d[4]);
    const int b = (d[1] < d[4] ? d[4] : d[1]);
    d[1] = a;
    d[4] = b;
  };
  {
    const int a = (d[0] < d[3] ? d[0] : d[3]);
    const int b = (d[0] < d[3] ? d[3] : d[0]);
    d[0] = a;
    d[3] = b;
  };
  {
    const int a = (d[2] < d[5] ? d[2] : d[5]);
    const int b = (d[2] < d[5] ? d[5] : d[2]);
    d[2] = a;
    d[5] = b;
  };
  {
    const int a = (d[1] < d[3] ? d[1] : d[3]);
    const int b = (d[1] < d[3] ? d[3] : d[1]);
    d[1] = a;
    d[3] = b;
  };
  {
    const int a = (d[2] < d[4] ? d[2] : d[4]);
    const int b = (d[2] < d[4] ? d[4] : d[2]);
    d[2] = a;
    d[4] = b;
  };
  {
    const int a = (d[2] < d[3] ? d[2] : d[3]);
    const int b = (d[2] < d[3] ? d[3] : d[2]);
    d[2] = a;
    d[3] = b;
  };
}


x86 assembly (clang, -O0):
<sort6_sorting_network_simple_swap>:
push   %rbp
mov    %rsp,%rbp
sub    $0x48,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x2(%rcx),%ecx
cmp    %ecx,%eax
jge    1134 <sort6_sorting_network_simple_swap+0x34>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0x6c(%rbp)
jmp    113f <sort6_sorting_network_simple_swap+0x3f>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x2(%rcx),%ecx
cmp    %ecx,%eax
jge    116d <sort6_sorting_network_simple_swap+0x6d>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0x70(%rbp)
jmp    1178 <sort6_sorting_network_simple_swap+0x78>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0x70(%rbp)
mov    -0x70(%rbp),%eax
mov    %eax,-0x10(%rbp)
mov    -0xc(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x1(%rax)
mov    -0x10(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x2(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x5(%rcx),%ecx
cmp    %ecx,%eax
jge    11be <sort6_sorting_network_simple_swap+0xbe>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0x74(%rbp)
jmp    11c9 <sort6_sorting_network_simple_swap+0xc9>
mov    -0x8(%rbp),%rax
movsbl 0x5(%rax),%eax
mov    %eax,-0x74(%rbp)
mov    -0x74(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x5(%rcx),%ecx
cmp    %ecx,%eax
jge    11f7 <sort6_sorting_network_simple_swap+0xf7>
mov    -0x8(%rbp),%rax
movsbl 0x5(%rax),%eax
mov    %eax,-0x78(%rbp)
jmp    1202 <sort6_sorting_network_simple_swap+0x102>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0x78(%rbp)
mov    -0x78(%rbp),%eax
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x4(%rax)
mov    -0x18(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x5(%rax)
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x2(%rcx),%ecx
cmp    %ecx,%eax
jge    1246 <sort6_sorting_network_simple_swap+0x146>
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x7c(%rbp)
jmp    1251 <sort6_sorting_network_simple_swap+0x151>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x7c(%rbp),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x2(%rcx),%ecx
cmp    %ecx,%eax
jge    127e <sort6_sorting_network_simple_swap+0x17e>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0x80(%rbp)
jmp    1288 <sort6_sorting_network_simple_swap+0x188>
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x80(%rbp)
mov    -0x80(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x1c(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,(%rax)
mov    -0x20(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x2(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x5(%rcx),%ecx
cmp    %ecx,%eax
jge    12d0 <sort6_sorting_network_simple_swap+0x1d0>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0x84(%rbp)
jmp    12de <sort6_sorting_network_simple_swap+0x1de>
mov    -0x8(%rbp),%rax
movsbl 0x5(%rax),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x5(%rcx),%ecx
cmp    %ecx,%eax
jge    1312 <sort6_sorting_network_simple_swap+0x212>
mov    -0x8(%rbp),%rax
movsbl 0x5(%rax),%eax
mov    %eax,-0x88(%rbp)
jmp    1320 <sort6_sorting_network_simple_swap+0x220>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0x88(%rbp)
mov    -0x88(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x24(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x3(%rax)
mov    -0x28(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x5(%rax)
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x1(%rcx),%ecx
cmp    %ecx,%eax
jge    136a <sort6_sorting_network_simple_swap+0x26a>
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x8c(%rbp)
jmp    1378 <sort6_sorting_network_simple_swap+0x278>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0x8c(%rbp)
mov    -0x8c(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x1(%rcx),%ecx
cmp    %ecx,%eax
jge    13ab <sort6_sorting_network_simple_swap+0x2ab>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0x90(%rbp)
jmp    13b8 <sort6_sorting_network_simple_swap+0x2b8>
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x90(%rbp)
mov    -0x90(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x2c(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,(%rax)
mov    -0x30(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x1(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x4(%rcx),%ecx
cmp    %ecx,%eax
jge    1403 <sort6_sorting_network_simple_swap+0x303>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0x94(%rbp)
jmp    1411 <sort6_sorting_network_simple_swap+0x311>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0x94(%rbp)
mov    -0x94(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x4(%rcx),%ecx
cmp    %ecx,%eax
jge    1445 <sort6_sorting_network_simple_swap+0x345>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0x98(%rbp)
jmp    1453 <sort6_sorting_network_simple_swap+0x353>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0x98(%rbp)
mov    -0x98(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x3(%rax)
mov    -0x38(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x4(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x4(%rcx),%ecx
cmp    %ecx,%eax
jge    149f <sort6_sorting_network_simple_swap+0x39f>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0x9c(%rbp)
jmp    14ad <sort6_sorting_network_simple_swap+0x3ad>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0x9c(%rbp)
mov    -0x9c(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x4(%rcx),%ecx
cmp    %ecx,%eax
jge    14e1 <sort6_sorting_network_simple_swap+0x3e1>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0xa0(%rbp)
jmp    14ef <sort6_sorting_network_simple_swap+0x3ef>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0xa0(%rbp)
mov    -0xa0(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x3c(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x1(%rax)
mov    -0x40(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x4(%rax)
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x3(%rcx),%ecx
cmp    %ecx,%eax
jge    1539 <sort6_sorting_network_simple_swap+0x439>
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0xa4(%rbp)
jmp    1547 <sort6_sorting_network_simple_swap+0x447>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0xa4(%rbp)
mov    -0xa4(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x3(%rcx),%ecx
cmp    %ecx,%eax
jge    157a <sort6_sorting_network_simple_swap+0x47a>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0xa8(%rbp)
jmp    1587 <sort6_sorting_network_simple_swap+0x487>
mov    -0x8(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0xa8(%rbp)
mov    -0xa8(%rbp),%eax
mov    %eax,-0x48(%rbp)
mov    -0x44(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,(%rax)
mov    -0x48(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x3(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x5(%rcx),%ecx
cmp    %ecx,%eax
jge    15d2 <sort6_sorting_network_simple_swap+0x4d2>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0xac(%rbp)
jmp    15e0 <sort6_sorting_network_simple_swap+0x4e0>
mov    -0x8(%rbp),%rax
movsbl 0x5(%rax),%eax
mov    %eax,-0xac(%rbp)
mov    -0xac(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x5(%rcx),%ecx
cmp    %ecx,%eax
jge    1614 <sort6_sorting_network_simple_swap+0x514>
mov    -0x8(%rbp),%rax
movsbl 0x5(%rax),%eax
mov    %eax,-0xb0(%rbp)
jmp    1622 <sort6_sorting_network_simple_swap+0x522>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0xb0(%rbp)
mov    -0xb0(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x4c(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x2(%rax)
mov    -0x50(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x5(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x3(%rcx),%ecx
cmp    %ecx,%eax
jge    166e <sort6_sorting_network_simple_swap+0x56e>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0xb4(%rbp)
jmp    167c <sort6_sorting_network_simple_swap+0x57c>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
mov    %eax,-0x54(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x3(%rcx),%ecx
cmp    %ecx,%eax
jge    16b0 <sort6_sorting_network_simple_swap+0x5b0>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0xb8(%rbp)
jmp    16be <sort6_sorting_network_simple_swap+0x5be>
mov    -0x8(%rbp),%rax
movsbl 0x1(%rax),%eax
mov    %eax,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
mov    %eax,-0x58(%rbp)
mov    -0x54(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x1(%rax)
mov    -0x58(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x3(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x4(%rcx),%ecx
cmp    %ecx,%eax
jge    170a <sort6_sorting_network_simple_swap+0x60a>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0xbc(%rbp)
jmp    1718 <sort6_sorting_network_simple_swap+0x618>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
mov    %eax,-0x5c(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x4(%rcx),%ecx
cmp    %ecx,%eax
jge    174c <sort6_sorting_network_simple_swap+0x64c>
mov    -0x8(%rbp),%rax
movsbl 0x4(%rax),%eax
mov    %eax,-0xc0(%rbp)
jmp    175a <sort6_sorting_network_simple_swap+0x65a>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0xc0(%rbp)
mov    -0xc0(%rbp),%eax
mov    %eax,-0x60(%rbp)
mov    -0x5c(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x2(%rax)
mov    -0x60(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x4(%rax)
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x3(%rcx),%ecx
cmp    %ecx,%eax
jge    17a6 <sort6_sorting_network_simple_swap+0x6a6>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0xc4(%rbp)
jmp    17b4 <sort6_sorting_network_simple_swap+0x6b4>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0xc4(%rbp)
mov    -0xc4(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    -0x8(%rbp),%rcx
movsbl 0x3(%rcx),%ecx
cmp    %ecx,%eax
jge    17e8 <sort6_sorting_network_simple_swap+0x6e8>
mov    -0x8(%rbp),%rax
movsbl 0x3(%rax),%eax
mov    %eax,-0xc8(%rbp)
jmp    17f6 <sort6_sorting_network_simple_swap+0x6f6>
mov    -0x8(%rbp),%rax
movsbl 0x2(%rax),%eax
mov    %eax,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x64(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x2(%rax)
mov    -0x68(%rbp),%eax
mov    %al,%cl
mov    -0x8(%rbp),%rax
mov    %cl,0x3(%rax)
add    $0x48,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<sort6_sorting_network_simple_swap>:
movzbl 0x1(%rdi),%r9d
movzbl 0x2(%rdi),%eax
cmp    %al,%r9b
mov    %eax,%r10d
cmovl  %r9d,%r10d
cmovl  %eax,%r9d
movzbl 0x4(%rdi),%ecx
movzbl 0x5(%rdi),%eax
cmp    %al,%cl
mov    %eax,%r8d
cmovl  %ecx,%r8d
cmovl  %eax,%ecx
movzbl (%rdi),%edx
cmp    %r9b,%dl
mov    %r9d,%eax
cmovl  %edx,%eax
cmovge %edx,%r9d
movzbl 0x3(%rdi),%esi
cmp    %cl,%sil
mov    %ecx,%edx
cmovl  %esi,%edx
cmovge %esi,%ecx
cmp    %r10b,%al
mov    %r10d,%r11d
cmovl  %eax,%r11d
cmovl  %r10d,%eax
cmp    %r8b,%dl
mov    %r8d,%esi
cmovl  %edx,%esi
cmovl  %r8d,%edx
cmp    %dl,%al
mov    %edx,%r8d
cmovl  %eax,%r8d
cmovge %eax,%edx
cmp    %sil,%r11b
mov    %esi,%eax
cmovl  %r11d,%eax
cmovge %r11d,%esi
mov    %al,(%rdi)
cmp    %cl,%r9b
mov    %ecx,%eax
cmovl  %r9d,%eax
cmovge %r9d,%ecx
mov    %cl,0x5(%rdi)
cmp    %sil,%r8b
mov    %esi,%ecx
cmovl  %r8d,%ecx
cmovge %r8d,%esi
mov    %cl,0x1(%rdi)
cmp    %dl,%al
mov    %edx,%ecx
cmovl  %eax,%ecx
cmovl  %edx,%eax
mov    %al,0x4(%rdi)
cmp    %sil,%cl
mov    %esi,%eax
cmovl  %ecx,%eax
cmovl  %esi,%ecx
mov    %al,0x2(%rdi)
mov    %cl,0x3(%rdi)
ret

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

LLVM IR (-O2):
define void @sort6_sorting_network_simple_swap(i8* nocapture %0) {
%2 = getelementptr inbounds i8, i8* %0, i64 1
%3 = load i8, i8* %2
%4 = getelementptr inbounds i8, i8* %0, i64 2
%5 = load i8, i8* %4
%6 = icmp slt i8 %3, %5
%7 = select i1 %6, i8 %3, i8 %5
%8 = select i1 %6, i8 %5, i8 %3
%9 = getelementptr inbounds i8, i8* %0, i64 4
%10 = load i8, i8* %9
%11 = getelementptr inbounds i8, i8* %0, i64 5
%12 = load i8, i8* %11
%13 = icmp slt i8 %10, %12
%14 = select i1 %13, i8 %10, i8 %12
%15 = select i1 %13, i8 %12, i8 %10
%16 = load i8, i8* %0
%17 = icmp slt i8 %16, %8
%18 = select i1 %17, i8 %16, i8 %8
%19 = select i1 %17, i8 %8, i8 %16
%20 = getelementptr inbounds i8, i8* %0, i64 3
%21 = load i8, i8* %20
%22 = icmp slt i8 %21, %15
%23 = select i1 %22, i8 %21, i8 %15
%24 = select i1 %22, i8 %15, i8 %21
%25 = icmp slt i8 %18, %7
%26 = select i1 %25, i8 %18, i8 %7
%27 = select i1 %25, i8 %7, i8 %18
%28 = icmp slt i8 %23, %14
%29 = select i1 %28, i8 %23, i8 %14
%30 = select i1 %28, i8 %14, i8 %23
%31 = icmp slt i8 %27, %30
%32 = select i1 %31, i8 %27, i8 %30
%33 = select i1 %31, i8 %30, i8 %27
%34 = icmp slt i8 %26, %29
%35 = select i1 %34, i8 %26, i8 %29
%36 = select i1 %34, i8 %29, i8 %26
store i8 %35, i8* %0
%37 = icmp slt i8 %19, %24
%38 = select i1 %37, i8 %19, i8 %24
%39 = select i1 %37, i8 %24, i8 %19
store i8 %39, i8* %11
%40 = icmp slt i8 %32, %36
%41 = select i1 %40, i8 %32, i8 %36
%42 = select i1 %40, i8 %36, i8 %32
store i8 %41, i8* %2
%43 = icmp slt i8 %38, %33
%44 = select i1 %43, i8 %38, i8 %33
%45 = select i1 %43, i8 %33, i8 %38
store i8 %45, i8* %9
%46 = icmp slt i8 %44, %42
%47 = select i1 %46, i8 %44, i8 %42
%48 = select i1 %46, i8 %42, i8 %44
store i8 %47, i8* %4
store i8 %48, i8* %20
ret void
}