int main(void) {
  int a;
  int b;
  int c;
  int d;
  int e;
  int f;
  {
    a = 6;
    b = 6;
    c = 6;
    d = 6;
    e = 6;
    f = 6;
    a = 0;
    {
      while (1) {
      while_0_continue:;
        if (a < 6) {
        } else {
          goto while_0_break;
        }
        b = 0;
        {
          while (1) {
          while_1_continue:;
            if (b < 6) {
            } else {
              goto while_1_break;
            }
            c = 0;
            {
              while (1) {
              while_2_continue:;
                if (c < 6) {
                } else {
                  goto while_2_break;
                }
                d = 0;
                {
                  while (1) {
                  while_3_continue:;
                    if (d < 6) {
                    } else {
                      goto while_3_break;
                    }
                    e = 0;
                    {
                      while (1) {
                      while_4_continue:;
                        if (e < 6) {
                        } else {
                          goto while_4_break;
                        }
                        f = 0;
                        {
                          while (1) {
                          while_5_continue:;
                            if (f < 6) {
                            } else {
                              goto while_5_break;
                            }
                            f = f + 1;
                          }
                        while_5_break:;
                        }
                        e = e + 1;
                      }
                    while_4_break:;
                    }
                    d = d + 1;
                  }
                while_3_break:;
                }
                c = c + 1;
              }
            while_2_break:;
            }
            b = b + 1;
          }
        while_1_break:;
        }
        a = a + 1;
      }
    while_0_break:;
    }
    if (a == 6) {
      if (b == 6) {
        if (c == 6) {
          if (d == 6) {
            if (e == 6) {
              if (f == 6) {
              } else {
                goto ERROR;
              }
            } else {
              goto ERROR;
            }
          } else {
            goto ERROR;
          }
        } else {
          goto ERROR;
        }
      } else {
        goto ERROR;
      }
    } else {
    ERROR:
      goto ERROR;
    }
    return (1);
  }
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
movl   $0x0,-0x4(%rbp)
movl   $0x6,-0x8(%rbp)
movl   $0x6,-0xc(%rbp)
movl   $0x6,-0x10(%rbp)
movl   $0x6,-0x14(%rbp)
movl   $0x6,-0x18(%rbp)
movl   $0x6,-0x1c(%rbp)
movl   $0x0,-0x8(%rbp)
jmp    1141 <main+0x41>
cmpl   $0x6,-0x8(%rbp)
jge    1150 <main+0x50>
jmp    1155 <main+0x55>
jmp    1249 <main+0x149>
movl   $0x0,-0xc(%rbp)
jmp    1161 <main+0x61>
cmpl   $0x6,-0xc(%rbp)
jge    1170 <main+0x70>
jmp    1175 <main+0x75>
jmp    123b <main+0x13b>
movl   $0x0,-0x10(%rbp)
jmp    1181 <main+0x81>
cmpl   $0x6,-0x10(%rbp)
jge    1190 <main+0x90>
jmp    1195 <main+0x95>
jmp    122d <main+0x12d>
movl   $0x0,-0x14(%rbp)
jmp    11a1 <main+0xa1>
cmpl   $0x6,-0x14(%rbp)
jge    11b0 <main+0xb0>
jmp    11b5 <main+0xb5>
jmp    121f <main+0x11f>
movl   $0x0,-0x18(%rbp)
jmp    11c1 <main+0xc1>
cmpl   $0x6,-0x18(%rbp)
jge    11d0 <main+0xd0>
jmp    11d5 <main+0xd5>
jmp    1211 <main+0x111>
movl   $0x0,-0x1c(%rbp)
jmp    11e1 <main+0xe1>
cmpl   $0x6,-0x1c(%rbp)
jge    11f0 <main+0xf0>
jmp    11f5 <main+0xf5>
jmp    1203 <main+0x103>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    11dc <main+0xdc>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    11bc <main+0xbc>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    119c <main+0x9c>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    117c <main+0x7c>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    115c <main+0x5c>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    113c <main+0x3c>
cmpl   $0x6,-0x8(%rbp)
jne    12bc <main+0x1bc>
cmpl   $0x6,-0xc(%rbp)
jne    12b2 <main+0x1b2>
cmpl   $0x6,-0x10(%rbp)
jne    12a8 <main+0x1a8>
cmpl   $0x6,-0x14(%rbp)
jne    129e <main+0x19e>
cmpl   $0x6,-0x18(%rbp)
jne    1294 <main+0x194>
cmpl   $0x6,-0x1c(%rbp)
jne    128a <main+0x18a>
jmp    128f <main+0x18f>
jmp    12c1 <main+0x1c1>
jmp    1299 <main+0x199>
jmp    12c1 <main+0x1c1>
jmp    12a3 <main+0x1a3>
jmp    12c1 <main+0x1c1>
jmp    12ad <main+0x1ad>
jmp    12c1 <main+0x1c1>
jmp    12b7 <main+0x1b7>
jmp    12c1 <main+0x1c1>
jmp    12c6 <main+0x1c6>
jmp    12c1 <main+0x1c1>
jmp    12c1 <main+0x1c1>
mov    $0x1,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
store i32 0, i32* %1
store i32 6, i32* %2
store i32 6, i32* %3
store i32 6, i32* %4
store i32 6, i32* %5
store i32 6, i32* %6
store i32 6, i32* %7
store i32 0, i32* %2
br label %8
8: ; preds = %0, %64
br label %9
9: ; preds = %8
%10 = load i32, i32* %2
%11 = icmp slt i32 %10, 6
br i1 %11, label %12, label %13
12: ; preds = %9
br label %14
13: ; preds = %9
br label %67
14: ; preds = %12
store i32 0, i32* %3
br label %15
15: ; preds = %14, %61
br label %16
16: ; preds = %15
%17 = load i32, i32* %3
%18 = icmp slt i32 %17, 6
br i1 %18, label %19, label %20
19: ; preds = %16
br label %21
20: ; preds = %16
br label %64
21: ; preds = %19
store i32 0, i32* %4
br label %22
22: ; preds = %21, %58
br label %23
23: ; preds = %22
%24 = load i32, i32* %4
%25 = icmp slt i32 %24, 6
br i1 %25, label %26, label %27
26: ; preds = %23
br label %28
27: ; preds = %23
br label %61
28: ; preds = %26
store i32 0, i32* %5
br label %29
29: ; preds = %28, %55
br label %30
30: ; preds = %29
%31 = load i32, i32* %5
%32 = icmp slt i32 %31, 6
br i1 %32, label %33, label %34
33: ; preds = %30
br label %35
34: ; preds = %30
br label %58
35: ; preds = %33
store i32 0, i32* %6
br label %36
36: ; preds = %35, %52
br label %37
37: ; preds = %36
%38 = load i32, i32* %6
%39 = icmp slt i32 %38, 6
br i1 %39, label %40, label %41
40: ; preds = %37
br label %42
41: ; preds = %37
br label %55
42: ; preds = %40
store i32 0, i32* %7
br label %43
43: ; preds = %42, %49
br label %44
44: ; preds = %43
%45 = load i32, i32* %7
%46 = icmp slt i32 %45, 6
br i1 %46, label %47, label %48
47: ; preds = %44
br label %49
48: ; preds = %44
br label %52
49: ; preds = %47
%50 = load i32, i32* %7
%51 = add nsw i32 %50, 1
store i32 %51, i32* %7
br label %43
52: ; preds = %48
%53 = load i32, i32* %6
%54 = add nsw i32 %53, 1
store i32 %54, i32* %6
br label %36
55: ; preds = %41
%56 = load i32, i32* %5
%57 = add nsw i32 %56, 1
store i32 %57, i32* %5
br label %29
58: ; preds = %34
%59 = load i32, i32* %4
%60 = add nsw i32 %59, 1
store i32 %60, i32* %4
br label %22
61: ; preds = %27
%62 = load i32, i32* %3
%63 = add nsw i32 %62, 1
store i32 %63, i32* %3
br label %15
64: ; preds = %20
%65 = load i32, i32* %2
%66 = add nsw i32 %65, 1
store i32 %66, i32* %2
br label %8
67: ; preds = %13
%68 = load i32, i32* %2
%69 = icmp eq i32 %68, 6
br i1 %69, label %70, label %96
70: ; preds = %67
%71 = load i32, i32* %3
%72 = icmp eq i32 %71, 6
br i1 %72, label %73, label %94
73: ; preds = %70
%74 = load i32, i32* %4
%75 = icmp eq i32 %74, 6
br i1 %75, label %76, label %92
76: ; preds = %73
%77 = load i32, i32* %5
%78 = icmp eq i32 %77, 6
br i1 %78, label %79, label %90
79: ; preds = %76
%80 = load i32, i32* %6
%81 = icmp eq i32 %80, 6
br i1 %81, label %82, label %88
82: ; preds = %79
%83 = load i32, i32* %7
%84 = icmp eq i32 %83, 6
br i1 %84, label %85, label %86
85: ; preds = %82
br label %87
86: ; preds = %82
br label %97
87: ; preds = %85
br label %89
88: ; preds = %79
br label %97
89: ; preds = %87
br label %91
90: ; preds = %76
br label %97
91: ; preds = %89
br label %93
92: ; preds = %73
br label %97
93: ; preds = %91
br label %95
94: ; preds = %70
br label %97
95: ; preds = %93
br label %98
96: ; preds = %67
br label %97
97: ; preds = %97, %96, %94, %92, %90, %88, %86
br label %97
98: ; preds = %95
ret i32 1
}

LLVM IR (-O2):