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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int __VERIFIER_nondet_int();
int /*<<< orphan*/ bobToRjh();
int /*<<< orphan*/ rjhEnableForwarding();
void test(void) {
  int op1;
  int op2;
  int op3;
  int op4;
  int op5;
  int op6;
  int op7;
  int op8;
  int op9;
  int op10;
  int op11;
  int splverifierCounter;
  int tmp;
  int tmp___0;
  int tmp___1;
  int tmp___2;
  int tmp___3;
  int tmp___4;
  int tmp___5;
  int tmp___6;
  int tmp___7;
  int tmp___8;
  int tmp___9;
  {
    op1 = 0;
    op2 = 0;
    op3 = 0;
    op4 = 0;
    op5 = 0;
    op6 = 0;
    op7 = 0;
    op8 = 0;
    op9 = 0;
    op10 = 0;
    op11 = 0;
    splverifierCounter = 0;
    {
      while (1) {
      while_0_continue:;
        if (splverifierCounter < 4) {
        } else {
          goto while_0_break;
        }
        splverifierCounter = splverifierCounter + 1;
        if (!op1) {
          { tmp___9 = __VERIFIER_nondet_int(); }
          if (tmp___9) {
            op1 = 1;
          } else {
            goto _L___8;
          }
        } else {
        _L___8:
          if (!op2) {
            { tmp___8 = __VERIFIER_nondet_int(); }
            if (tmp___8) {
              op2 = 1;
            } else {
              goto _L___7;
            }
          } else {
          _L___7:
            if (!op3) {
              { tmp___7 = __VERIFIER_nondet_int(); }
              if (tmp___7) {
                op3 = 1;
              } else {
                goto _L___6;
              }
            } else {
            _L___6:
              if (!op4) {
                { tmp___6 = __VERIFIER_nondet_int(); }
                if (tmp___6) {
                  op4 = 1;
                } else {
                  goto _L___5;
                }
              } else {
              _L___5:
                if (!op5) {
                  { tmp___5 = __VERIFIER_nondet_int(); }
                  if (tmp___5) {
                    op5 = 1;
                  } else {
                    goto _L___4;
                  }
                } else {
                _L___4:
                  if (!op6) {
                    { tmp___4 = __VERIFIER_nondet_int(); }
                    if (tmp___4) {
                      {
                        rjhEnableForwarding();
                        op6 = 1;
                      }
                    } else {
                      goto _L___3;
                    }
                  } else {
                  _L___3:
                    if (!op7) {
                      { tmp___3 = __VERIFIER_nondet_int(); }
                      if (tmp___3) {
                        op7 = 1;
                      } else {
                        goto _L___2;
                      }
                    } else {
                    _L___2:
                      if (!op8) {
                        { tmp___2 = __VERIFIER_nondet_int(); }
                        if (tmp___2) {
                          op8 = 1;
                        } else {
                          goto _L___1;
                        }
                      } else {
                      _L___1:
                        if (!op9) {
                          { tmp___1 = __VERIFIER_nondet_int(); }
                          if (tmp___1) {
                            op9 = 1;
                          } else {
                            goto _L___0;
                          }
                        } else {
                        _L___0:
                          if (!op10) {
                            { tmp___0 = __VERIFIER_nondet_int(); }
                            if (tmp___0) {
                              op10 = 1;
                            } else {
                              goto _L;
                            }
                          } else {
                          _L:
                            if (!op11) {
                              { tmp = __VERIFIER_nondet_int(); }
                              if (tmp) {
                                op11 = 1;
                              } else {
                                goto while_0_break;
                              }
                            } else {
                              goto while_0_break;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    while_0_break:;
    }
    { bobToRjh(); }
    return;
  }
}


x86 assembly (clang, -O0):
<test>:
push   %rbp
mov    %rsp,%rbp
sub    $0x60,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x8(%rbp)
movl   $0x0,-0xc(%rbp)
movl   $0x0,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
movl   $0x0,-0x18(%rbp)
movl   $0x0,-0x1c(%rbp)
movl   $0x0,-0x20(%rbp)
movl   $0x0,-0x24(%rbp)
movl   $0x0,-0x28(%rbp)
movl   $0x0,-0x2c(%rbp)
movl   $0x0,-0x30(%rbp)
jmp    1191 <test+0x61>
cmpl   $0x4,-0x30(%rbp)
jge    11a0 <test+0x70>
jmp    11a5 <test+0x75>
jmp    145f <test+0x32f>
mov    -0x30(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
cmpl   $0x0,-0x4(%rbp)
jne    11e2 <test+0xb2>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x5c(%rbp)
cmpl   $0x0,-0x5c(%rbp)
je     11d8 <test+0xa8>
movl   $0x1,-0x4(%rbp)
jmp    11dd <test+0xad>
jmp    11e7 <test+0xb7>
jmp    145a <test+0x32a>
jmp    11e7 <test+0xb7>
cmpl   $0x0,-0x8(%rbp)
jne    121b <test+0xeb>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x58(%rbp)
cmpl   $0x0,-0x58(%rbp)
je     1211 <test+0xe1>
movl   $0x1,-0x8(%rbp)
jmp    1216 <test+0xe6>
jmp    1220 <test+0xf0>
jmp    1455 <test+0x325>
jmp    1220 <test+0xf0>
cmpl   $0x0,-0xc(%rbp)
jne    1254 <test+0x124>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x54(%rbp)
cmpl   $0x0,-0x54(%rbp)
je     124a <test+0x11a>
movl   $0x1,-0xc(%rbp)
jmp    124f <test+0x11f>
jmp    1259 <test+0x129>
jmp    1450 <test+0x320>
jmp    1259 <test+0x129>
cmpl   $0x0,-0x10(%rbp)
jne    128d <test+0x15d>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x50(%rbp)
cmpl   $0x0,-0x50(%rbp)
je     1283 <test+0x153>
movl   $0x1,-0x10(%rbp)
jmp    1288 <test+0x158>
jmp    1292 <test+0x162>
jmp    144b <test+0x31b>
jmp    1292 <test+0x162>
cmpl   $0x0,-0x14(%rbp)
jne    12c6 <test+0x196>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x4c(%rbp)
cmpl   $0x0,-0x4c(%rbp)
je     12bc <test+0x18c>
movl   $0x1,-0x14(%rbp)
jmp    12c1 <test+0x191>
jmp    12cb <test+0x19b>
jmp    1446 <test+0x316>
jmp    12cb <test+0x19b>
cmpl   $0x0,-0x18(%rbp)
jne    1306 <test+0x1d6>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x48(%rbp)
cmpl   $0x0,-0x48(%rbp)
je     12fc <test+0x1cc>
mov    $0x0,%al
call   1040 <rjhEnableForwarding@plt>
movl   $0x1,-0x18(%rbp)
jmp    1301 <test+0x1d1>
jmp    130b <test+0x1db>
jmp    1441 <test+0x311>
jmp    130b <test+0x1db>
cmpl   $0x0,-0x1c(%rbp)
jne    133f <test+0x20f>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x44(%rbp)
cmpl   $0x0,-0x44(%rbp)
je     1335 <test+0x205>
movl   $0x1,-0x1c(%rbp)
jmp    133a <test+0x20a>
jmp    1344 <test+0x214>
jmp    143c <test+0x30c>
jmp    1344 <test+0x214>
cmpl   $0x0,-0x20(%rbp)
jne    1378 <test+0x248>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x40(%rbp)
cmpl   $0x0,-0x40(%rbp)
je     136e <test+0x23e>
movl   $0x1,-0x20(%rbp)
jmp    1373 <test+0x243>
jmp    137d <test+0x24d>
jmp    1437 <test+0x307>
jmp    137d <test+0x24d>
cmpl   $0x0,-0x24(%rbp)
jne    13b1 <test+0x281>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x3c(%rbp)
cmpl   $0x0,-0x3c(%rbp)
je     13a7 <test+0x277>
movl   $0x1,-0x24(%rbp)
jmp    13ac <test+0x27c>
jmp    13b6 <test+0x286>
jmp    1432 <test+0x302>
jmp    13b6 <test+0x286>
cmpl   $0x0,-0x28(%rbp)
jne    13ea <test+0x2ba>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x38(%rbp)
cmpl   $0x0,-0x38(%rbp)
je     13e0 <test+0x2b0>
movl   $0x1,-0x28(%rbp)
jmp    13e5 <test+0x2b5>
jmp    13ef <test+0x2bf>
jmp    142d <test+0x2fd>
jmp    13ef <test+0x2bf>
cmpl   $0x0,-0x2c(%rbp)
jne    1423 <test+0x2f3>
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x34(%rbp)
cmpl   $0x0,-0x34(%rbp)
je     1419 <test+0x2e9>
movl   $0x1,-0x2c(%rbp)
jmp    141e <test+0x2ee>
jmp    145f <test+0x32f>
jmp    1428 <test+0x2f8>
jmp    145f <test+0x32f>
jmp    142d <test+0x2fd>
jmp    1432 <test+0x302>
jmp    1437 <test+0x307>
jmp    143c <test+0x30c>
jmp    1441 <test+0x311>
jmp    1446 <test+0x316>
jmp    144b <test+0x31b>
jmp    1450 <test+0x320>
jmp    1455 <test+0x325>
jmp    145a <test+0x32a>
jmp    118c <test+0x5c>
mov    $0x0,%al
call   1050 <bobToRjh@plt>
add    $0x60,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x18,%rsp
mov    $0x4,%ebx
xor    %ebp,%ebp
xor    %r14d,%r14d
xor    %r15d,%r15d
xor    %r12d,%r12d
xor    %r13d,%r13d
movl   $0x0,0x14(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x0,0xc(%rsp)
movl   $0x0,0x8(%rsp)
movl   $0x0,(%rsp)
movl   $0x0,0x4(%rsp)
jmp    11a9 <test+0x79>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11ad <test+0x7d>
mov    $0x1,%ebp
add    $0xffffffff,%ebx
je     1330 <test+0x200>
test   %ebp,%ebp
je     1190 <test+0x60>
test   %r14d,%r14d
je     1230 <test+0x100>
test   %r15d,%r15d
je     1250 <test+0x120>
test   %r12d,%r12d
je     126a <test+0x13a>
test   %r13d,%r13d
je     1284 <test+0x154>
cmpl   $0x0,0x14(%rsp)
je     129e <test+0x16e>
cmpl   $0x0,0x10(%rsp)
je     12c1 <test+0x191>
cmpl   $0x0,0xc(%rsp)
je     12dd <test+0x1ad>
cmpl   $0x0,0x8(%rsp)
je     12f9 <test+0x1c9>
cmpl   $0x0,(%rsp)
je     1315 <test+0x1e5>
cmpl   $0x0,0x4(%rsp)
jne    1330 <test+0x200>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
movl   $0x1,0x4(%rsp)
test   %eax,%eax
jne    11a0 <test+0x70>
jmp    1330 <test+0x200>
nopw   0x0(%rax,%rax,1)
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11b2 <test+0x82>
mov    $0x1,%r14d
jmp    11a0 <test+0x70>
nopw   0x0(%rax,%rax,1)
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11bb <test+0x8b>
mov    $0x1,%r15d
jmp    11a0 <test+0x70>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11c4 <test+0x94>
mov    $0x1,%r12d
jmp    11a0 <test+0x70>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11cd <test+0x9d>
mov    $0x1,%r13d
jmp    11a0 <test+0x70>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11d8 <test+0xa8>
xor    %eax,%eax
call   1040 <rjhEnableForwarding@plt>
movl   $0x1,0x14(%rsp)
jmp    11a0 <test+0x70>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11e3 <test+0xb3>
movl   $0x1,0x10(%rsp)
jmp    11a0 <test+0x70>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11ee <test+0xbe>
movl   $0x1,0xc(%rsp)
jmp    11a0 <test+0x70>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     11f9 <test+0xc9>
movl   $0x1,0x8(%rsp)
jmp    11a0 <test+0x70>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
je     1203 <test+0xd3>
movl   $0x1,(%rsp)
jmp    11a0 <test+0x70>
xor    %eax,%eax
add    $0x18,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1050 <bobToRjh@plt>

LLVM IR (-O0):
define void @test() {
%1 = alloca i32
%2 = alloca i32
%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
store i32 0, i32* %1
store i32 0, i32* %2
store i32 0, i32* %3
store i32 0, i32* %4
store i32 0, i32* %5
store i32 0, i32* %6
store i32 0, i32* %7
store i32 0, i32* %8
store i32 0, i32* %9
store i32 0, i32* %10
store i32 0, i32* %11
store i32 0, i32* %12
br label %24
24: ; preds = %0, %164
br label %25
25: ; preds = %24
%26 = load i32, i32* %12
%27 = icmp slt i32 %26, 4
br i1 %27, label %28, label %29
28: ; preds = %25
br label %30
29: ; preds = %25
br label %165
30: ; preds = %28
%31 = load i32, i32* %12
%32 = add nsw i32 %31, 1
store i32 %32, i32* %12
%33 = load i32, i32* %1
%34 = icmp ne i32 %33, 0
br i1 %34, label %42, label %35
35: ; preds = %30
%36 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %36, i32* %23
%37 = load i32, i32* %23
%38 = icmp ne i32 %37, 0
br i1 %38, label %39, label %40
39: ; preds = %35
store i32 1, i32* %1
br label %41
40: ; preds = %35
br label %43
41: ; preds = %39
br label %164
42: ; preds = %30
br label %43
43: ; preds = %42, %40
%44 = load i32, i32* %2
%45 = icmp ne i32 %44, 0
br i1 %45, label %53, label %46
46: ; preds = %43
%47 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %47, i32* %22
%48 = load i32, i32* %22
%49 = icmp ne i32 %48, 0
br i1 %49, label %50, label %51
50: ; preds = %46
store i32 1, i32* %2
br label %52
51: ; preds = %46
br label %54
52: ; preds = %50
br label %163
53: ; preds = %43
br label %54
54: ; preds = %53, %51
%55 = load i32, i32* %3
%56 = icmp ne i32 %55, 0
br i1 %56, label %64, label %57
57: ; preds = %54
%58 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %58, i32* %21
%59 = load i32, i32* %21
%60 = icmp ne i32 %59, 0
br i1 %60, label %61, label %62
61: ; preds = %57
store i32 1, i32* %3
br label %63
62: ; preds = %57
br label %65
63: ; preds = %61
br label %162
64: ; preds = %54
br label %65
65: ; preds = %64, %62
%66 = load i32, i32* %4
%67 = icmp ne i32 %66, 0
br i1 %67, label %75, label %68
68: ; preds = %65
%69 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %69, i32* %20
%70 = load i32, i32* %20
%71 = icmp ne i32 %70, 0
br i1 %71, label %72, label %73
72: ; preds = %68
store i32 1, i32* %4
br label %74
73: ; preds = %68
br label %76
74: ; preds = %72
br label %161
75: ; preds = %65
br label %76
76: ; preds = %75, %73
%77 = load i32, i32* %5
%78 = icmp ne i32 %77, 0
br i1 %78, label %86, label %79
79: ; preds = %76
%80 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %80, i32* %19
%81 = load i32, i32* %19
%82 = icmp ne i32 %81, 0
br i1 %82, label %83, label %84
83: ; preds = %79
store i32 1, i32* %5
br label %85
84: ; preds = %79
br label %87
85: ; preds = %83
br label %160
86: ; preds = %76
br label %87
87: ; preds = %86, %84
%88 = load i32, i32* %6
%89 = icmp ne i32 %88, 0
br i1 %89, label %98, label %90
90: ; preds = %87
%91 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %91, i32* %18
%92 = load i32, i32* %18
%93 = icmp ne i32 %92, 0
br i1 %93, label %94, label %96
94: ; preds = %90
%95 = call i32 (...) @rjhEnableForwarding()
store i32 1, i32* %6
br label %97
96: ; preds = %90
br label %99
97: ; preds = %94
br label %159
98: ; preds = %87
br label %99
99: ; preds = %98, %96
%100 = load i32, i32* %7
%101 = icmp ne i32 %100, 0
br i1 %101, label %109, label %102
102: ; preds = %99
%103 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %103, i32* %17
%104 = load i32, i32* %17
%105 = icmp ne i32 %104, 0
br i1 %105, label %106, label %107
106: ; preds = %102
store i32 1, i32* %7
br label %108
107: ; preds = %102
br label %110
108: ; preds = %106
br label %158
109: ; preds = %99
br label %110
110: ; preds = %109, %107
%111 = load i32, i32* %8
%112 = icmp ne i32 %111, 0
br i1 %112, label %120, label %113
113: ; preds = %110
%114 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %114, i32* %16
%115 = load i32, i32* %16
%116 = icmp ne i32 %115, 0
br i1 %116, label %117, label %118
117: ; preds = %113
store i32 1, i32* %8
br label %119
118: ; preds = %113
br label %121
119: ; preds = %117
br label %157
120: ; preds = %110
br label %121
121: ; preds = %120, %118
%122 = load i32, i32* %9
%123 = icmp ne i32 %122, 0
br i1 %123, label %131, label %124
124: ; preds = %121
%125 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %125, i32* %15
%126 = load i32, i32* %15
%127 = icmp ne i32 %126, 0
br i1 %127, label %128, label %129
128: ; preds = %124
store i32 1, i32* %9
br label %130
129: ; preds = %124
br label %132
130: ; preds = %128
br label %156
131: ; preds = %121
br label %132
132: ; preds = %131, %129
%133 = load i32, i32* %10
%134 = icmp ne i32 %133, 0
br i1 %134, label %142, label %135
135: ; preds = %132
%136 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %136, i32* %14
%137 = load i32, i32* %14
%138 = icmp ne i32 %137, 0
br i1 %138, label %139, label %140
139: ; preds = %135
store i32 1, i32* %10
br label %141
140: ; preds = %135
br label %143
141: ; preds = %139
br label %155
142: ; preds = %132
br label %143
143: ; preds = %142, %140
%144 = load i32, i32* %11
%145 = icmp ne i32 %144, 0
br i1 %145, label %153, label %146
146: ; preds = %143
%147 = call i32 (...) @__VERIFIER_nondet_int()
store i32 %147, i32* %13
%148 = load i32, i32* %13
%149 = icmp ne i32 %148, 0
br i1 %149, label %150, label %151
150: ; preds = %146
store i32 1, i32* %11
br label %152
151: ; preds = %146
br label %165
152: ; preds = %150
br label %154
153: ; preds = %143
br label %165
154: ; preds = %152
br label %155
155: ; preds = %154, %141
br label %156
156: ; preds = %155, %130
br label %157
157: ; preds = %156, %119
br label %158
158: ; preds = %157, %108
br label %159
159: ; preds = %158, %97
br label %160
160: ; preds = %159, %85
br label %161
161: ; preds = %160, %74
br label %162
162: ; preds = %161, %63
br label %163
163: ; preds = %162, %52
br label %164
164: ; preds = %163, %41
br label %24
165: ; preds = %153, %151, %29
%166 = call i32 (...) @bobToRjh()
ret void
}

LLVM IR (-O2):
define void @test() {
br label %1
1: ; preds = %0, %71
%2 = phi i32 [ 0, %0 ], [ %82, %71 ]
%3 = phi i32 [ 0, %0 ], [ %81, %71 ]
%4 = phi i32 [ 0, %0 ], [ %80, %71 ]
%5 = phi i32 [ 0, %0 ], [ %79, %71 ]
%6 = phi i32 [ 0, %0 ], [ %78, %71 ]
%7 = phi i32 [ 0, %0 ], [ %77, %71 ]
%8 = phi i32 [ 0, %0 ], [ %76, %71 ]
%9 = phi i32 [ 0, %0 ], [ %75, %71 ]
%10 = phi i32 [ 0, %0 ], [ %74, %71 ]
%11 = phi i32 [ 0, %0 ], [ %73, %71 ]
%12 = phi i32 [ 0, %0 ], [ %72, %71 ]
%13 = phi i32 [ 0, %0 ], [ %14, %71 ]
%14 = add nuw nsw i32 %13, 1
%15 = icmp eq i32 %2, 0
br i1 %15, label %16, label %19
16: ; preds = %1
%17 = tail call i32 (...) @__VERIFIER_nondet_int()
%18 = icmp eq i32 %17, 0
br i1 %18, label %19, label %71
19: ; preds = %1, %16
%20 = icmp eq i32 %3, 0
br i1 %20, label %21, label %24
21: ; preds = %19
%22 = tail call i32 (...) @__VERIFIER_nondet_int()
%23 = icmp eq i32 %22, 0
br i1 %23, label %24, label %71
24: ; preds = %19, %21
%25 = icmp eq i32 %4, 0
br i1 %25, label %26, label %29
26: ; preds = %24
%27 = tail call i32 (...) @__VERIFIER_nondet_int()
%28 = icmp eq i32 %27, 0
br i1 %28, label %29, label %71
29: ; preds = %24, %26
%30 = icmp eq i32 %5, 0
br i1 %30, label %31, label %34
31: ; preds = %29
%32 = tail call i32 (...) @__VERIFIER_nondet_int()
%33 = icmp eq i32 %32, 0
br i1 %33, label %34, label %71
34: ; preds = %29, %31
%35 = icmp eq i32 %6, 0
br i1 %35, label %36, label %39
36: ; preds = %34
%37 = tail call i32 (...) @__VERIFIER_nondet_int()
%38 = icmp eq i32 %37, 0
br i1 %38, label %39, label %71
39: ; preds = %34, %36
%40 = icmp eq i32 %7, 0
br i1 %40, label %41, label %46
41: ; preds = %39
%42 = tail call i32 (...) @__VERIFIER_nondet_int()
%43 = icmp eq i32 %42, 0
br i1 %43, label %46, label %44
44: ; preds = %41
%45 = tail call i32 (...) @rjhEnableForwarding()
br label %71
46: ; preds = %39, %41
%47 = icmp eq i32 %8, 0
br i1 %47, label %48, label %51
48: ; preds = %46
%49 = tail call i32 (...) @__VERIFIER_nondet_int()
%50 = icmp eq i32 %49, 0
br i1 %50, label %51, label %71
51: ; preds = %46, %48
%52 = icmp eq i32 %9, 0
br i1 %52, label %53, label %56
53: ; preds = %51
%54 = tail call i32 (...) @__VERIFIER_nondet_int()
%55 = icmp eq i32 %54, 0
br i1 %55, label %56, label %71
56: ; preds = %51, %53
%57 = icmp eq i32 %10, 0
br i1 %57, label %58, label %61
58: ; preds = %56
%59 = tail call i32 (...) @__VERIFIER_nondet_int()
%60 = icmp eq i32 %59, 0
br i1 %60, label %61, label %71
61: ; preds = %56, %58
%62 = icmp eq i32 %11, 0
br i1 %62, label %63, label %66
63: ; preds = %61
%64 = tail call i32 (...) @__VERIFIER_nondet_int()
%65 = icmp eq i32 %64, 0
br i1 %65, label %66, label %71
66: ; preds = %61, %63
%67 = icmp eq i32 %12, 0
br i1 %67, label %68, label %84
68: ; preds = %66
%69 = tail call i32 (...) @__VERIFIER_nondet_int()
%70 = icmp eq i32 %69, 0
br i1 %70, label %84, label %71
71: ; preds = %68, %63, %58, %53, %48, %36, %31, %26, %21, %16, %44
%72 = phi i32 [ %12, %44 ], [ %12, %16 ], [ %12, %21 ], [ %12, %26 ], [ %12, %31 ], [ %12, %36 ], [ %12, %48 ], [ %12, %53 ], [ %12, %58 ], [ %12, %63 ], [ 1, %68 ]
%73 = phi i32 [ %11, %44 ], [ %11, %16 ], [ %11, %21 ], [ %11, %26 ], [ %11, %31 ], [ %11, %36 ], [ %11, %48 ], [ %11, %53 ], [ %11, %58 ], [ 1, %63 ], [ %11, %68 ]
%74 = phi i32 [ %10, %44 ], [ %10, %16 ], [ %10, %21 ], [ %10, %26 ], [ %10, %31 ], [ %10, %36 ], [ %10, %48 ], [ %10, %53 ], [ 1, %58 ], [ %10, %63 ], [ %10, %68 ]
%75 = phi i32 [ %9, %44 ], [ %9, %16 ], [ %9, %21 ], [ %9, %26 ], [ %9, %31 ], [ %9, %36 ], [ %9, %48 ], [ 1, %53 ], [ %9, %58 ], [ %9, %63 ], [ %9, %68 ]
%76 = phi i32 [ %8, %44 ], [ %8, %16 ], [ %8, %21 ], [ %8, %26 ], [ %8, %31 ], [ %8, %36 ], [ 1, %48 ], [ %8, %53 ], [ %8, %58 ], [ %8, %63 ], [ %8, %68 ]
%77 = phi i32 [ 1, %44 ], [ %7, %16 ], [ %7, %21 ], [ %7, %26 ], [ %7, %31 ], [ %7, %36 ], [ %7, %48 ], [ %7, %53 ], [ %7, %58 ], [ %7, %63 ], [ %7, %68 ]
%78 = phi i32 [ %6, %44 ], [ %6, %16 ], [ %6, %21 ], [ %6, %26 ], [ %6, %31 ], [ 1, %36 ], [ %6, %48 ], [ %6, %53 ], [ %6, %58 ], [ %6, %63 ], [ %6, %68 ]
%79 = phi i32 [ %5, %44 ], [ %5, %16 ], [ %5, %21 ], [ %5, %26 ], [ 1, %31 ], [ %5, %36 ], [ %5, %48 ], [ %5, %53 ], [ %5, %58 ], [ %5, %63 ], [ %5, %68 ]
%80 = phi i32 [ %4, %44 ], [ %4, %16 ], [ %4, %21 ], [ 1, %26 ], [ %4, %31 ], [ %4, %36 ], [ %4, %48 ], [ %4, %53 ], [ %4, %58 ], [ %4, %63 ], [ %4, %68 ]
%81 = phi i32 [ %3, %44 ], [ %3, %16 ], [ 1, %21 ], [ %3, %26 ], [ %3, %31 ], [ %3, %36 ], [ %3, %48 ], [ %3, %53 ], [ %3, %58 ], [ %3, %63 ], [ %3, %68 ]
%82 = phi i32 [ %2, %44 ], [ 1, %16 ], [ %2, %21 ], [ %2, %26 ], [ %2, %31 ], [ %2, %36 ], [ %2, %48 ], [ %2, %53 ], [ %2, %58 ], [ %2, %63 ], [ %2, %68 ]
%83 = icmp eq i32 %14, 4
br i1 %83, label %84, label %1
84: ; preds = %66, %68, %71
%85 = tail call i32 (...) @bobToRjh()
ret void
}