int main() {
  unsigned char a, b;
  unsigned char c_active_else, c_inactive_else;
  unsigned char c_active_then, c_inactive_then;
  c_active_then = 0;
  c_active_else = 0;
  c_inactive_then = 0;
  c_inactive_else = 0;
  a = 0x00;
  b = 0xFF;
  if (a > b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a < b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  if (a == b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a >= b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a <= b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  c_active_then = 0;
  c_active_else = 0;
  c_inactive_then = 0;
  c_inactive_else = 0;
  a = 0xFF;
  b = 0xFE;
  if (a > b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  if (a < b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a == b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a >= b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  if (a <= b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  c_active_then = 0;
  c_active_else = 0;
  c_inactive_then = 0;
  c_inactive_else = 0;
  a = 0x01;
  b = 0x02;
  if (a > b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a < b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  if (a == b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a >= b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a <= b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  c_active_then = 0;
  c_active_else = 0;
  c_inactive_then = 0;
  c_inactive_else = 0;
  a = 0x0F;
  b = 0x0F;
  if (a > b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a < b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a == b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  if (a >= b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  if (a <= b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  c_active_then = 0;
  c_active_else = 0;
  c_inactive_then = 0;
  c_inactive_else = 0;
  a = 0x01;
  b = 0xFF;
  if (a > b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a < b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  if (a == b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a >= b) {
    c_inactive_then++;
  } else {
    c_active_else++;
  }
  if (a <= b) {
    c_active_then++;
  } else {
    c_inactive_else++;
  }
  c_active_then = 0;
  c_active_else = 0;
  c_inactive_then = 0;
  c_inactive_else = 0;
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
movl   $0x0,-0x4(%rbp)
movb   $0x0,-0x9(%rbp)
movb   $0x0,-0x7(%rbp)
movb   $0x0,-0xa(%rbp)
movb   $0x0,-0x8(%rbp)
movb   $0x0,-0x5(%rbp)
movb   $0xff,-0x6(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jle    1140 <main+0x40>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1148 <main+0x48>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jge    1165 <main+0x65>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    116d <main+0x6d>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    118a <main+0x8a>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1192 <main+0x92>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jl     11af <main+0xaf>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    11b7 <main+0xb7>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jg     11d4 <main+0xd4>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    11dc <main+0xdc>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movb   $0x0,-0x9(%rbp)
movb   $0x0,-0x7(%rbp)
movb   $0x0,-0xa(%rbp)
movb   $0x0,-0x8(%rbp)
movb   $0xff,-0x5(%rbp)
movb   $0xfe,-0x6(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jle    1211 <main+0x111>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    1219 <main+0x119>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jge    1236 <main+0x136>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    123e <main+0x13e>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    125b <main+0x15b>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1263 <main+0x163>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jl     1280 <main+0x180>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    1288 <main+0x188>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jg     12a5 <main+0x1a5>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    12ad <main+0x1ad>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movb   $0x0,-0x9(%rbp)
movb   $0x0,-0x7(%rbp)
movb   $0x0,-0xa(%rbp)
movb   $0x0,-0x8(%rbp)
movb   $0x1,-0x5(%rbp)
movb   $0x2,-0x6(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jle    12e2 <main+0x1e2>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    12ea <main+0x1ea>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jge    1307 <main+0x207>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    130f <main+0x20f>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    132c <main+0x22c>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1334 <main+0x234>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jl     1351 <main+0x251>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1359 <main+0x259>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jg     1376 <main+0x276>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    137e <main+0x27e>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movb   $0x0,-0x9(%rbp)
movb   $0x0,-0x7(%rbp)
movb   $0x0,-0xa(%rbp)
movb   $0x0,-0x8(%rbp)
movb   $0xf,-0x5(%rbp)
movb   $0xf,-0x6(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jle    13b3 <main+0x2b3>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    13bb <main+0x2bb>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jge    13d8 <main+0x2d8>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    13e0 <main+0x2e0>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    13fd <main+0x2fd>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    1405 <main+0x305>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jl     1422 <main+0x322>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    142a <main+0x32a>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jg     1447 <main+0x347>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    144f <main+0x34f>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movb   $0x0,-0x9(%rbp)
movb   $0x0,-0x7(%rbp)
movb   $0x0,-0xa(%rbp)
movb   $0x0,-0x8(%rbp)
movb   $0x1,-0x5(%rbp)
movb   $0xff,-0x6(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jle    1484 <main+0x384>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    148c <main+0x38c>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jge    14a9 <main+0x3a9>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    14b1 <main+0x3b1>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jne    14ce <main+0x3ce>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    14d6 <main+0x3d6>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jl     14f3 <main+0x3f3>
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    14fb <main+0x3fb>
mov    -0x7(%rbp),%al
add    $0x1,%al
mov    %al,-0x7(%rbp)
movzbl -0x5(%rbp),%eax
movzbl -0x6(%rbp),%ecx
cmp    %ecx,%eax
jg     1518 <main+0x418>
mov    -0x9(%rbp),%al
add    $0x1,%al
mov    %al,-0x9(%rbp)
jmp    1520 <main+0x420>
mov    -0x8(%rbp),%al
add    $0x1,%al
mov    %al,-0x8(%rbp)
movb   $0x0,-0x9(%rbp)
movb   $0x0,-0x7(%rbp)
movb   $0x0,-0xa(%rbp)
movb   $0x0,-0x8(%rbp)
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
xor    %eax,%eax
ret

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

LLVM IR (-O2):
define i32 @main() {
ret i32 0
}