#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 /*<<< orphan*/ __VERIFIER_error();
int __VERIFIER_nondet_int();
unsigned long __VERIFIER_nondet_long();
int main() {
  int s__state;
  int s__hit = __VERIFIER_nondet_int();
  int s__verify_mode = __VERIFIER_nondet_int();
  int s__session__peer = __VERIFIER_nondet_int();
  unsigned long s__s3__tmp__new_cipher__algorithms = __VERIFIER_nondet_long();
  int buf;
  int cb;
  int blastFlag;
  int tmp___1;
  s__state = 8466;
  blastFlag = 0;
  while (1) {
    if (s__state <= 8512 && blastFlag > 2) {
      goto ERROR;
    }
    {
      {
        {
          {
            {
              if (s__state == 8466) {
                goto switch_1_8466;
              } else {
                if (s__state == 8496) {
                  goto switch_1_8496;
                } else {
                  {
                    if (s__state == 8512) {
                      goto switch_1_8512;
                    } else {
                      {
                        if (s__state == 8528) {
                          goto switch_1_8528;
                        } else {
                          {
                            if (s__state == 8544) {
                              goto switch_1_8544;
                            } else {
                              {
                                if (s__state == 8560) {
                                  goto switch_1_8560;
                                } else {
                                  {
                                    if (s__state == 8576) {
                                      goto switch_1_8576;
                                    } else {
                                      {
                                        if (s__state == 8592) {
                                          goto switch_1_8592;
                                        } else {
                                          {
                                            if (s__state == 8608) {
                                              goto switch_1_8608;
                                            } else {
                                              {
                                                if (s__state == 8640) {
                                                  goto switch_1_8640;
                                                } else {
                                                  {
                                                    if (s__state == 8656) {
                                                      goto switch_1_8656;
                                                    } else {
                                                      {
                                                        if (s__state == 8672) {
                                                          goto switch_1_8672;
                                                        } else {
                                                          goto end;
                                                        switch_1_8466:
                                                          if (blastFlag == 0) {
                                                            blastFlag = 1;
                                                          }
                                                          s__state = 8496;
                                                          goto switch_1_break;
                                                        switch_1_8496:
                                                          if (blastFlag == 1) {
                                                            blastFlag = 2;
                                                          }
                                                          if (s__hit) {
                                                            s__state = 8656;
                                                          } else {
                                                            s__state = 8512;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8512:
                                                          s__state = 8528;
                                                          goto switch_1_break;
                                                        switch_1_8528:
                                                          s__state = 8544;
                                                          goto switch_1_break;
                                                        switch_1_8544:
                                                          if (s__verify_mode +
                                                              1) {
                                                            if (s__session__peer !=
                                                                0) {
                                                              if (s__verify_mode +
                                                                  4) {
                                                                s__state = 8560;
                                                              } else {
                                                                goto _L___2;
                                                              }
                                                            } else {
                                                            _L___2:
                                                              if (s__s3__tmp__new_cipher__algorithms +
                                                                  256UL) {
                                                                if (s__verify_mode +
                                                                    2) {
                                                                  goto _L___1;
                                                                } else {
                                                                  s__state =
                                                                      8560;
                                                                }
                                                              } else {
                                                              _L___1:
                                                                s__state = 8576;
                                                              }
                                                            }
                                                          } else {
                                                            s__state = 8560;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8560:
                                                          s__state = 8576;
                                                          goto switch_1_break;
                                                        switch_1_8576:
                                                          tmp___1 =
                                                              __VERIFIER_nondet_int();
                                                          if (tmp___1 == 2) {
                                                            s__state = 8466;
                                                          } else {
                                                            s__state = 8592;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8592:
                                                          s__state = 8608;
                                                          goto switch_1_break;
                                                        switch_1_8608:
                                                          s__state = 8640;
                                                          goto switch_1_break;
                                                        switch_1_8640:
                                                          if (blastFlag == 3) {
                                                            blastFlag = 4;
                                                          }
                                                          if (s__hit) {
                                                            goto end;
                                                          } else {
                                                            s__state = 8656;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8656:
                                                          if (blastFlag == 2) {
                                                            blastFlag = 3;
                                                          }
                                                          s__state = 8672;
                                                          goto switch_1_break;
                                                        switch_1_8672:
                                                          if (blastFlag == 4) {
                                                            blastFlag = 5;
                                                          } else {
                                                            if (blastFlag ==
                                                                5) {
                                                              goto ERROR;
                                                            }
                                                          }
                                                          if (s__hit) {
                                                            s__state = 8640;
                                                          } else {
                                                            goto end;
                                                          }
                                                          goto switch_1_break;
                                                        }
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  switch_1_break:;
  }
end:
  return (-1);
ERROR:
  __VERIFIER_error();
  return (-1);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xc(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x10(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x14(%rbp)
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,-0x20(%rbp)
movl   $0x2112,-0x8(%rbp)
movl   $0x0,-0x2c(%rbp)
cmpl   $0x2140,-0x8(%rbp)
jg     1192 <main+0x62>
cmpl   $0x2,-0x2c(%rbp)
jle    1192 <main+0x62>
jmp    1464 <main+0x334>
cmpl   $0x2112,-0x8(%rbp)
jne    11a4 <main+0x74>
jmp    126f <main+0x13f>
cmpl   $0x2130,-0x8(%rbp)
jne    11b6 <main+0x86>
jmp    128c <main+0x15c>
cmpl   $0x2140,-0x8(%rbp)
jne    11c8 <main+0x98>
jmp    12bf <main+0x18f>
cmpl   $0x2150,-0x8(%rbp)
jne    11da <main+0xaa>
jmp    12cb <main+0x19b>
cmpl   $0x2160,-0x8(%rbp)
jne    11ec <main+0xbc>
jmp    12d7 <main+0x1a7>
cmpl   $0x2170,-0x8(%rbp)
jne    11fe <main+0xce>
jmp    1370 <main+0x240>
cmpl   $0x2180,-0x8(%rbp)
jne    1210 <main+0xe0>
jmp    137c <main+0x24c>
cmpl   $0x2190,-0x8(%rbp)
jne    1222 <main+0xf2>
jmp    13a8 <main+0x278>
cmpl   $0x21a0,-0x8(%rbp)
jne    1234 <main+0x104>
jmp    13b4 <main+0x284>
cmpl   $0x21c0,-0x8(%rbp)
jne    1246 <main+0x116>
jmp    13c0 <main+0x290>
cmpl   $0x21d0,-0x8(%rbp)
jne    1258 <main+0x128>
jmp    13ec <main+0x2bc>
cmpl   $0x21e0,-0x8(%rbp)
jne    126a <main+0x13a>
jmp    1409 <main+0x2d9>
jmp    1458 <main+0x328>
cmpl   $0x0,-0x2c(%rbp)
jne    1280 <main+0x150>
movl   $0x1,-0x2c(%rbp)
movl   $0x2130,-0x8(%rbp)
jmp    1453 <main+0x323>
cmpl   $0x1,-0x2c(%rbp)
jne    129d <main+0x16d>
movl   $0x2,-0x2c(%rbp)
cmpl   $0x0,-0xc(%rbp)
je     12b3 <main+0x183>
movl   $0x21d0,-0x8(%rbp)
jmp    12ba <main+0x18a>
movl   $0x2140,-0x8(%rbp)
jmp    1453 <main+0x323>
movl   $0x2150,-0x8(%rbp)
jmp    1453 <main+0x323>
movl   $0x2160,-0x8(%rbp)
jmp    1453 <main+0x323>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
cmp    $0x0,%eax
je     1364 <main+0x234>
cmpl   $0x0,-0x14(%rbp)
je     1315 <main+0x1e5>
mov    -0x10(%rbp),%eax
add    $0x4,%eax
cmp    $0x0,%eax
je     130b <main+0x1db>
movl   $0x2170,-0x8(%rbp)
jmp    1310 <main+0x1e0>
jmp    131a <main+0x1ea>
jmp    135f <main+0x22f>
jmp    131a <main+0x1ea>
mov    -0x20(%rbp),%rax
add    $0x100,%rax
cmp    $0x0,%rax
je     134e <main+0x21e>
mov    -0x10(%rbp),%eax
add    $0x2,%eax
cmp    $0x0,%eax
je     1342 <main+0x212>
jmp    1353 <main+0x223>
movl   $0x2170,-0x8(%rbp)
jmp    135a <main+0x22a>
jmp    1353 <main+0x223>
movl   $0x2180,-0x8(%rbp)
jmp    135f <main+0x22f>
jmp    136b <main+0x23b>
movl   $0x2170,-0x8(%rbp)
jmp    1453 <main+0x323>
movl   $0x2180,-0x8(%rbp)
jmp    1453 <main+0x323>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x30(%rbp)
cmpl   $0x2,-0x30(%rbp)
jne    139c <main+0x26c>
movl   $0x2112,-0x8(%rbp)
jmp    13a3 <main+0x273>
movl   $0x2190,-0x8(%rbp)
jmp    1453 <main+0x323>
movl   $0x21a0,-0x8(%rbp)
jmp    1453 <main+0x323>
movl   $0x21c0,-0x8(%rbp)
jmp    1453 <main+0x323>
cmpl   $0x3,-0x2c(%rbp)
jne    13d1 <main+0x2a1>
movl   $0x4,-0x2c(%rbp)
cmpl   $0x0,-0xc(%rbp)
je     13e0 <main+0x2b0>
jmp    1458 <main+0x328>
movl   $0x21d0,-0x8(%rbp)
jmp    1453 <main+0x323>
cmpl   $0x2,-0x2c(%rbp)
jne    13fd <main+0x2cd>
movl   $0x3,-0x2c(%rbp)
movl   $0x21e0,-0x8(%rbp)
jmp    1453 <main+0x323>
cmpl   $0x4,-0x2c(%rbp)
jne    141f <main+0x2ef>
movl   $0x5,-0x2c(%rbp)
jmp    1433 <main+0x303>
cmpl   $0x5,-0x2c(%rbp)
jne    142e <main+0x2fe>
jmp    1464 <main+0x334>
jmp    1433 <main+0x303>
cmpl   $0x0,-0xc(%rbp)
je     1449 <main+0x319>
movl   $0x21c0,-0x8(%rbp)
jmp    144e <main+0x31e>
jmp    1458 <main+0x328>
jmp    1453 <main+0x323>
jmp    1176 <main+0x46>
movl   $0xffffffff,-0x4(%rbp)
jmp    1472 <main+0x342>
mov    $0x0,%al
call   1050 <__VERIFIER_error@plt>
movl   $0xffffffff,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
push   %rax
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,%r14d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,%ebp
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,%r12d
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_long@plt>
cmp    $0xffffffffffffff00,%rax
sete   %al
cmp    $0xfffffffe,%ebp
setne  %cl
or     %al,%cl
movzbl %cl,%eax
shl    $0x4,%eax
add    $0x2170,%eax
test   %r14d,%r14d
mov    $0x2140,%ecx
mov    $0x21d0,%r15d
cmove  %ecx,%r15d
cmp    $0xfffffffc,%ebp
mov    $0x2170,%ecx
mov    $0x2170,%ebx
cmove  %eax,%ebx
test   %r12d,%r12d
cmove  %eax,%ebx
cmp    $0xffffffff,%ebp
cmove  %ecx,%ebx
mov    $0x2112,%ecx
mov    $0x2,%ebp
mov    $0x3,%r13d
xor    %r12d,%r12d
nopl   0x0(%rax)
cmp    $0x217f,%ecx
jg     1200 <main+0xd0>
cmp    $0x214f,%ecx
jg     1240 <main+0x110>
cmp    $0x2112,%ecx
je     12d2 <main+0x1a2>
cmp    $0x2130,%ecx
je     12f4 <main+0x1c4>
cmp    $0x2140,%ecx
mov    $0x2150,%ecx
je     1380 <main+0x250>
jmp    13b9 <main+0x289>
xchg   %ax,%ax
cmp    $0x21bf,%ecx
jg     1280 <main+0x150>
cmp    $0x2180,%ecx
je     1310 <main+0x1e0>
cmp    $0x2190,%ecx
je     1333 <main+0x203>
cmp    $0x21a0,%ecx
jne    13b9 <main+0x289>
mov    $0x21c0,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
nop
cmp    $0x2150,%ecx
je     1345 <main+0x215>
cmp    $0x2160,%ecx
je     1357 <main+0x227>
cmp    $0x2170,%ecx
jne    13b9 <main+0x289>
mov    $0x2180,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
nopw   0x0(%rax,%rax,1)
cmp    $0x21c0,%ecx
je     1366 <main+0x236>
cmp    $0x21d0,%ecx
je     1398 <main+0x268>
cmp    $0x21e0,%ecx
jne    13b9 <main+0x289>
mov    $0x5,%eax
cmp    $0x4,%r12d
je     12bc <main+0x18c>
cmp    $0x5,%r12d
je     13b2 <main+0x282>
mov    %r12d,%eax
mov    $0x21c0,%ecx
mov    %eax,%r12d
test   %r14d,%r14d
jne    1380 <main+0x250>
jmp    13b9 <main+0x289>
test   %r12d,%r12d
mov    $0x1,%eax
cmove  %eax,%r12d
mov    $0x2130,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
cmp    $0x1,%r12d
cmove  %ebp,%r12d
mov    %r15d,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    $0x2112,%ecx
cmp    $0x2,%eax
je     1380 <main+0x250>
mov    $0x2190,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
mov    $0x21a0,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
mov    $0x2160,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
mov    %ebx,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
test   %r14d,%r14d
jne    13b9 <main+0x289>
cmp    $0x3,%r12d
mov    $0x4,%eax
cmove  %eax,%r12d
mov    $0x21d0,%ecx
nopl   (%rax)
cmp    $0x2140,%ecx
ja     11c0 <main+0x90>
cmp    $0x3,%r12d
jl     11c0 <main+0x90>
jmp    13b2 <main+0x282>
cmp    $0x2,%r12d
cmove  %r13d,%r12d
mov    $0x21e0,%ecx
cmp    $0x2140,%ecx
jbe    138c <main+0x25c>
jmp    11c0 <main+0x90>
xor    %eax,%eax
call   1050 <__VERIFIER_error@plt>
mov    $0xffffffff,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 (...) @__VERIFIER_nondet_int()
%2 = tail call i32 (...) @__VERIFIER_nondet_int()
%3 = tail call i32 (...) @__VERIFIER_nondet_int()
%4 = tail call i64 (...) @__VERIFIER_nondet_long()
%5 = icmp eq i32 %1, 0
%6 = icmp eq i32 %2, -1
%7 = icmp eq i32 %3, 0
%8 = icmp eq i32 %2, -4
%9 = select i1 %7, i1 true, i1 %8
%10 = icmp ne i64 %4, -256
%11 = icmp eq i32 %2, -2
%12 = select i1 %10, i1 %11, i1 false
%13 = select i1 %12, i32 8560, i32 8576
%14 = select i1 %5, i32 8512, i32 8656
%15 = select i1 %9, i32 %13, i32 8560
%16 = select i1 %6, i32 8560, i32 %15
br label %17
17: ; preds = %0, %46
%18 = phi i32 [ 0, %0 ], [ %48, %46 ]
%19 = phi i32 [ 8466, %0 ], [ %47, %46 ]
switch i32 %19, label %54 [
i32 8466, label %20
i32 8496, label %23
i32 8512, label %46
i32 8528, label %26
i32 8544, label %27
i32 8560, label %28
i32 8576, label %29
i32 8592, label %33
i32 8608, label %34
i32 8640, label %35
i32 8656, label %39
i32 8672, label %42
]
20: ; preds = %17
%21 = icmp eq i32 %18, 0
%22 = select i1 %21, i32 1, i32 %18
br label %46
23: ; preds = %17
%24 = icmp eq i32 %18, 1
%25 = select i1 %24, i32 2, i32 %18
br label %46
26: ; preds = %17
br label %46
27: ; preds = %17
br label %46
28: ; preds = %17
br label %46
29: ; preds = %17
%30 = tail call i32 (...) @__VERIFIER_nondet_int()
%31 = icmp eq i32 %30, 2
%32 = select i1 %31, i32 8466, i32 8592
br label %46
33: ; preds = %17
br label %46
34: ; preds = %17
br label %46
35: ; preds = %17
br i1 %5, label %36, label %54
36: ; preds = %35
%37 = icmp eq i32 %18, 3
%38 = select i1 %37, i32 4, i32 %18
br label %46
39: ; preds = %17
%40 = icmp eq i32 %18, 2
%41 = select i1 %40, i32 3, i32 %18
br label %46
42: ; preds = %17
switch i32 %18, label %43 [
i32 4, label %44
i32 5, label %52
]
43: ; preds = %42
br label %44
44: ; preds = %42, %43
%45 = phi i32 [ 5, %42 ], [ %18, %43 ]
br i1 %5, label %54, label %46
46: ; preds = %27, %44, %29, %17, %23, %39, %36, %34, %33, %28, %26, %20
%47 = phi i32 [ 8496, %20 ], [ 8544, %26 ], [ 8576, %28 ], [ 8608, %33 ], [ 8640, %34 ], [ 8656, %36 ], [ 8672, %39 ], [ %14, %23 ], [ 8528, %17 ], [ %32, %29 ], [ 8640, %44 ], [ %16, %27 ]
%48 = phi i32 [ %22, %20 ], [ %18, %26 ], [ %18, %28 ], [ %18, %33 ], [ %18, %34 ], [ %38, %36 ], [ %41, %39 ], [ %25, %23 ], [ %18, %17 ], [ %18, %29 ], [ %45, %44 ], [ %18, %27 ]
%49 = icmp ult i32 %47, 8513
%50 = icmp sgt i32 %48, 2
%51 = select i1 %49, i1 %50, i1 false
br i1 %51, label %52, label %17
52: ; preds = %42, %46
%53 = tail call i32 (...) @__VERIFIER_error()
br label %54
54: ; preds = %35, %44, %17, %52
ret i32 -1
}