int main() {
  int s;
  s = 12292;
  int initial_state;
  initial_state = s;
  int s__info_callback;
  int s__in_handshake;
  int s__state;
  int s__new_session;
  int s__server;
  int s__version;
  int s__type;
  int s__init_num;
  int s__bbio;
  int s__wbio;
  int s__hit;
  int s__rwstate;
  int s__init_buf___0;
  int s__debug;
  int s__shutdown;
  int s__ctx__info_callback;
  int s__ctx__stats__sess_connect_renegotiate;
  int s__ctx__stats__sess_connect;
  int s__ctx__stats__sess_hit;
  int s__ctx__stats__sess_connect_good;
  int s__s3__change_cipher_spec;
  int s__s3__flags;
  int s__s3__delay_buf_pop_ret;
  int s__s3__tmp__cert_req;
  int s__s3__tmp__new_compression;
  int s__s3__tmp__reuse_message;
  int s__s3__tmp__new_cipher;
  int s__s3__tmp__new_cipher__algorithms;
  int s__s3__tmp__next_state___0;
  int s__s3__tmp__new_compression__id;
  int s__session__cipher;
  int s__session__compress_meth;
  int buf;
  unsigned long tmp;
  unsigned long l;
  int num1;
  int cb;
  int ret;
  int new_state;
  int state;
  int skip;
  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;
  int __BLAST_NONDET;
  int blastFlag;
  int __cil_tmp55;
  void *__cil_tmp56;
  unsigned long __cil_tmp57;
  unsigned long __cil_tmp58;
  void *__cil_tmp59;
  unsigned long __cil_tmp60;
  unsigned long __cil_tmp61;
  unsigned long __cil_tmp62;
  unsigned long __cil_tmp63;
  unsigned long __cil_tmp64;
  long __cil_tmp65;
  long __cil_tmp66;
  long __cil_tmp67;
  long __cil_tmp68;
  long __cil_tmp69;
  long __cil_tmp70;
  long __cil_tmp71;
  long __cil_tmp72;
  long __cil_tmp73;
  long __cil_tmp74;
  __BLAST_NONDET = random();
  s__state = initial_state;
  blastFlag = 0;
  tmp = (unsigned long)__BLAST_NONDET;
  cb = 0;
  ret = -1;
  skip = 0;
  tmp___0 = 0;
  __CPROVER_assume(s__info_callback != 0);
  cb = s__info_callback;
  s__in_handshake++;
  __CPROVER_assume(!(tmp___1 + 12288));
  state = s__state;
  __CPROVER_assume(s__state == 12292);
  s__new_session = 1;
  s__state = 4096;
  s__ctx__stats__sess_connect_renegotiate++;
  s__server = 0;
  __CPROVER_assume(cb != 0);
  __cil_tmp55 = s__version + 65280;
  __CPROVER_assume(!(__cil_tmp55 != 768));
  s__type = 4096;
  __cil_tmp56 = (void *)0;
  __cil_tmp57 = (unsigned long)__cil_tmp56;
  __cil_tmp58 = (unsigned long)s__init_buf___0;
  __CPROVER_assume(!(__cil_tmp58 == __cil_tmp57));
  __CPROVER_assume(!(!tmp___4));
  __CPROVER_assume(!(!tmp___5));
  s__state = 4368;
  s__ctx__stats__sess_connect++;
  s__init_num = 0;
  __CPROVER_assume(!(!s__s3__tmp__reuse_message));
  skip = 0;
  state = s__state;
  __CPROVER_assume(!(s__state == 12292));
  __CPROVER_assume(!(s__state == 16384));
  __CPROVER_assume(!(s__state == 4096));
  __CPROVER_assume(!(s__state == 20480));
  __CPROVER_assume(!(s__state == 4099));
  __CPROVER_assume(s__state == 4368);
  s__shutdown = 0;
  ret = __BLAST_NONDET;
  __CPROVER_assume(blastFlag == 0);
  blastFlag = 1;
  __CPROVER_assume(!(ret <= 0));
  s__state = 4384;
  s__init_num = 0;
  __cil_tmp62 = (unsigned long)s__wbio;
  __cil_tmp63 = (unsigned long)s__bbio;
  __CPROVER_assume(__cil_tmp63 != __cil_tmp62);
  __CPROVER_assume(!(!s__s3__tmp__reuse_message));
  skip = 0;
  state = s__state;
  __CPROVER_assume(!(s__state == 12292));
  __CPROVER_assume(!(s__state == 16384));
  __CPROVER_assume(!(s__state == 4096));
  __CPROVER_assume(!(s__state == 20480));
  __CPROVER_assume(!(s__state == 4099));
  __CPROVER_assume(!(s__state == 4368));
  __CPROVER_assume(!(s__state == 4369));
  __CPROVER_assume(s__state == 4384);
  ret = __BLAST_NONDET;
  __CPROVER_assume(blastFlag == 1);
  blastFlag = 2;
  __CPROVER_assume(!(ret <= 0));
  __CPROVER_assume(!(s__hit));
  s__state = 4400;
  s__init_num = 0;
  __CPROVER_assume(!(!s__s3__tmp__reuse_message));
  skip = 0;
  state = s__state;
  __CPROVER_assume(!(s__state == 12292));
  __CPROVER_assume(!(s__state == 16384));
  __CPROVER_assume(!(s__state == 4096));
  __CPROVER_assume(!(s__state == 20480));
  __CPROVER_assume(!(s__state == 4099));
  __CPROVER_assume(!(s__state == 4368));
  __CPROVER_assume(!(s__state == 4369));
  __CPROVER_assume(!(s__state == 4384));
  __CPROVER_assume(!(s__state == 4385));
  __CPROVER_assume(s__state == 4400);
  __cil_tmp64 = (unsigned long)s__s3__tmp__new_cipher__algorithms;
  __CPROVER_assume(!(__cil_tmp64 + 256UL));
  ret = __BLAST_NONDET;
  __CPROVER_assume(blastFlag == 2);
  blastFlag = 3;
  __CPROVER_assume(!(ret <= 0));
  s__state = 4416;
  s__init_num = 0;
  __CPROVER_assume(!(!s__s3__tmp__reuse_message));
  skip = 0;
  state = s__state;
  __CPROVER_assume(!(s__state == 12292));
  __CPROVER_assume(!(s__state == 16384));
  __CPROVER_assume(!(s__state == 4096));
  __CPROVER_assume(!(s__state == 20480));
  __CPROVER_assume(!(s__state == 4099));
  __CPROVER_assume(!(s__state == 4368));
  __CPROVER_assume(!(s__state == 4369));
  __CPROVER_assume(!(s__state == 4384));
  __CPROVER_assume(!(s__state == 4385));
  __CPROVER_assume(!(s__state == 4400));
  __CPROVER_assume(!(s__state == 4401));
  __CPROVER_assume(s__state == 4416);
  ret = __BLAST_NONDET;
  __CPROVER_assume(blastFlag == 3);
  blastFlag = 4;
  __CPROVER_assume(!(ret <= 0));
  s__state = 4432;
  s__init_num = 0;
  __CPROVER_assume(!(!tmp___6));
  __CPROVER_assume(!(!s__s3__tmp__reuse_message));
  skip = 0;
  state = s__state;
  __CPROVER_assume(!(s__state == 12292));
  __CPROVER_assume(!(s__state == 16384));
  __CPROVER_assume(!(s__state == 4096));
  __CPROVER_assume(!(s__state == 20480));
  __CPROVER_assume(!(s__state == 4099));
  __CPROVER_assume(!(s__state == 4368));
  __CPROVER_assume(!(s__state == 4369));
  __CPROVER_assume(!(s__state == 4384));
  __CPROVER_assume(!(s__state == 4385));
  __CPROVER_assume(!(s__state == 4400));
  __CPROVER_assume(!(s__state == 4401));
  __CPROVER_assume(!(s__state == 4416));
  __CPROVER_assume(!(s__state == 4417));
  __CPROVER_assume(s__state == 4432);
  ret = __BLAST_NONDET;
  __CPROVER_assume(blastFlag == 4);
  goto ERROR;
ERROR:
  return (-1);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x190,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x3004,-0x8(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    $0x0,%al
call   1040 <random@plt>
mov    %eax,-0xe4(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x18(%rbp)
movl   $0x0,-0xe8(%rbp)
movslq -0xe4(%rbp),%rax
mov    %rax,-0x98(%rbp)
movl   $0x0,-0xa8(%rbp)
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
movl   $0x0,-0xb8(%rbp)
movl   $0x0,-0xbc(%rbp)
cmpl   $0x0,-0x10(%rbp)
setne  %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    -0x10(%rbp),%eax
mov    %eax,-0xa8(%rbp)
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
mov    -0xc0(%rbp),%eax
add    $0x3000,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    -0x18(%rbp),%eax
mov    %eax,-0xb4(%rbp)
cmpl   $0x3004,-0x18(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1,-0x1c(%rbp)
movl   $0x1000,-0x18(%rbp)
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
movl   $0x0,-0x20(%rbp)
cmpl   $0x0,-0xa8(%rbp)
setne  %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    -0x24(%rbp),%eax
add    $0xff00,%eax
mov    %eax,-0xec(%rbp)
cmpl   $0x300,-0xec(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1000,-0x28(%rbp)
movq   $0x0,-0xf8(%rbp)
mov    -0xf8(%rbp),%rax
mov    %rax,-0x100(%rbp)
movslq -0x40(%rbp),%rax
mov    %rax,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    -0x100(%rbp),%rax
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x0,-0xcc(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x0,-0xd0(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1110,-0x18(%rbp)
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
movl   $0x0,-0x2c(%rbp)
cmpl   $0x0,-0x74(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x0,-0xb8(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0xb4(%rbp)
cmpl   $0x3004,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x4000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x5000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1003,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1110,-0x18(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x0,-0x48(%rbp)
mov    -0xe4(%rbp),%eax
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xe8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1,-0xe8(%rbp)
cmpl   $0x0,-0xac(%rbp)
setle  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1120,-0x18(%rbp)
movl   $0x0,-0x2c(%rbp)
movslq -0x34(%rbp),%rax
mov    %rax,-0x128(%rbp)
movslq -0x30(%rbp),%rax
mov    %rax,-0x130(%rbp)
mov    -0x130(%rbp),%rax
cmp    -0x128(%rbp),%rax
setne  %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x0,-0x74(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x0,-0xb8(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0xb4(%rbp)
cmpl   $0x3004,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x4000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x5000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1003,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1110,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1111,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1120,-0x18(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    -0xe4(%rbp),%eax
mov    %eax,-0xac(%rbp)
cmpl   $0x1,-0xe8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x2,-0xe8(%rbp)
cmpl   $0x0,-0xac(%rbp)
setle  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x0,-0x38(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1130,-0x18(%rbp)
movl   $0x0,-0x2c(%rbp)
cmpl   $0x0,-0x74(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x0,-0xb8(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0xb4(%rbp)
cmpl   $0x3004,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x4000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x5000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1003,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1110,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1111,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1120,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1121,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1130,-0x18(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movslq -0x7c(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
add    $0x100,%rax
cmp    $0x0,%rax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    -0xe4(%rbp),%eax
mov    %eax,-0xac(%rbp)
cmpl   $0x2,-0xe8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x3,-0xe8(%rbp)
cmpl   $0x0,-0xac(%rbp)
setle  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1140,-0x18(%rbp)
movl   $0x0,-0x2c(%rbp)
cmpl   $0x0,-0x74(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x0,-0xb8(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0xb4(%rbp)
cmpl   $0x3004,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x4000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x5000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1003,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1110,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1111,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1120,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1121,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1130,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1131,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1140,-0x18(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    -0xe4(%rbp),%eax
mov    %eax,-0xac(%rbp)
cmpl   $0x3,-0xe8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x4,-0xe8(%rbp)
cmpl   $0x0,-0xac(%rbp)
setle  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x1150,-0x18(%rbp)
movl   $0x0,-0x2c(%rbp)
cmpl   $0x0,-0xd4(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x0,-0x74(%rbp)
setne  %al
xor    $0xff,%al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
movl   $0x0,-0xb8(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0xb4(%rbp)
cmpl   $0x3004,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x4000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x5000,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1003,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1110,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1111,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1120,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1121,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1130,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1131,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1140,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1141,-0x18(%rbp)
sete   %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
cmpl   $0x1150,-0x18(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    -0xe4(%rbp),%eax
mov    %eax,-0xac(%rbp)
cmpl   $0x4,-0xe8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1030 <__CPROVER_assume@plt>
mov    $0xffffffff,%eax
add    $0x190,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %rbx
push   %rax
xor    %eax,%eax
call   1040 <random@plt>
mov    %eax,%ebp
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %ebx,%ebx
test   %ebp,%ebp
setg   %bl
mov    %ebx,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    %ebx,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    %ebx,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    %ebx,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
xor    %edi,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0x1,%edi
xor    %eax,%eax
call   1030 <__CPROVER_assume@plt>
mov    $0xffffffff,%eax
add    $0x8,%rsp
pop    %rbx
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 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
%27 = alloca i32
%28 = alloca i32
%29 = alloca i32
%30 = alloca i32
%31 = alloca i32
%32 = alloca i32
%33 = alloca i32
%34 = alloca i32
%35 = alloca i32
%36 = alloca i32
%37 = alloca i64
%38 = alloca i64
%39 = alloca i32
%40 = alloca i32
%41 = alloca i32
%42 = alloca i32
%43 = alloca i32
%44 = alloca i32
%45 = alloca i32
%46 = alloca i32
%47 = alloca i32
%48 = alloca i32
%49 = alloca i32
%50 = alloca i32
%51 = alloca i32
%52 = alloca i32
%53 = alloca i32
%54 = alloca i32
%55 = alloca i32
%56 = alloca i32
%57 = alloca i32
%58 = alloca i8*
%59 = alloca i64
%60 = alloca i64
%61 = alloca i8*
%62 = alloca i64
%63 = alloca i64
%64 = alloca i64
%65 = alloca i64
%66 = alloca i64
%67 = alloca i64
%68 = alloca i64
%69 = alloca i64
%70 = alloca i64
%71 = alloca i64
%72 = alloca i64
%73 = alloca i64
%74 = alloca i64
%75 = alloca i64
%76 = alloca i64
store i32 0, i32* %1
store i32 12292, i32* %2
%77 = load i32, i32* %2
store i32 %77, i32* %3
%78 = call i32 (...) @random()
store i32 %78, i32* %55
%79 = load i32, i32* %3
store i32 %79, i32* %6
store i32 0, i32* %56
%80 = load i32, i32* %55
%81 = sext i32 %80 to i64
store i64 %81, i64* %37
store i32 0, i32* %40
store i32 -1, i32* %41
store i32 0, i32* %44
store i32 0, i32* %45
%82 = load i32, i32* %4
%83 = icmp ne i32 %82, 0
%84 = zext i1 %83 to i32
%85 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %84)
%86 = load i32, i32* %4
store i32 %86, i32* %40
%87 = load i32, i32* %5
%88 = add nsw i32 %87, 1
store i32 %88, i32* %5
%89 = load i32, i32* %46
%90 = add nsw i32 %89, 12288
%91 = icmp ne i32 %90, 0
%92 = xor i1 %91, true
%93 = zext i1 %92 to i32
%94 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %93)
%95 = load i32, i32* %6
store i32 %95, i32* %43
%96 = load i32, i32* %6
%97 = icmp eq i32 %96, 12292
%98 = zext i1 %97 to i32
%99 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %98)
store i32 1, i32* %7
store i32 4096, i32* %6
%100 = load i32, i32* %20
%101 = add nsw i32 %100, 1
store i32 %101, i32* %20
store i32 0, i32* %8
%102 = load i32, i32* %40
%103 = icmp ne i32 %102, 0
%104 = zext i1 %103 to i32
%105 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %104)
%106 = load i32, i32* %9
%107 = add nsw i32 %106, 65280
store i32 %107, i32* %57
%108 = load i32, i32* %57
%109 = icmp ne i32 %108, 768
%110 = xor i1 %109, true
%111 = zext i1 %110 to i32
%112 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %111)
store i32 4096, i32* %10
store i8* null, i8** %58
%113 = load i8*, i8** %58
%114 = ptrtoint i8* %113 to i64
store i64 %114, i64* %59
%115 = load i32, i32* %16
%116 = sext i32 %115 to i64
store i64 %116, i64* %60
%117 = load i64, i64* %60
%118 = load i64, i64* %59
%119 = icmp eq i64 %117, %118
%120 = xor i1 %119, true
%121 = zext i1 %120 to i32
%122 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %121)
%123 = load i32, i32* %49
%124 = icmp ne i32 %123, 0
%125 = xor i1 %124, true
%126 = xor i1 %125, true
%127 = zext i1 %126 to i32
%128 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %127)
%129 = load i32, i32* %50
%130 = icmp ne i32 %129, 0
%131 = xor i1 %130, true
%132 = xor i1 %131, true
%133 = zext i1 %132 to i32
%134 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %133)
store i32 4368, i32* %6
%135 = load i32, i32* %21
%136 = add nsw i32 %135, 1
store i32 %136, i32* %21
store i32 0, i32* %11
%137 = load i32, i32* %29
%138 = icmp ne i32 %137, 0
%139 = xor i1 %138, true
%140 = xor i1 %139, true
%141 = zext i1 %140 to i32
%142 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %141)
store i32 0, i32* %44
%143 = load i32, i32* %6
store i32 %143, i32* %43
%144 = load i32, i32* %6
%145 = icmp eq i32 %144, 12292
%146 = xor i1 %145, true
%147 = zext i1 %146 to i32
%148 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %147)
%149 = load i32, i32* %6
%150 = icmp eq i32 %149, 16384
%151 = xor i1 %150, true
%152 = zext i1 %151 to i32
%153 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %152)
%154 = load i32, i32* %6
%155 = icmp eq i32 %154, 4096
%156 = xor i1 %155, true
%157 = zext i1 %156 to i32
%158 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %157)
%159 = load i32, i32* %6
%160 = icmp eq i32 %159, 20480
%161 = xor i1 %160, true
%162 = zext i1 %161 to i32
%163 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %162)
%164 = load i32, i32* %6
%165 = icmp eq i32 %164, 4099
%166 = xor i1 %165, true
%167 = zext i1 %166 to i32
%168 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %167)
%169 = load i32, i32* %6
%170 = icmp eq i32 %169, 4368
%171 = zext i1 %170 to i32
%172 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %171)
store i32 0, i32* %18
%173 = load i32, i32* %55
store i32 %173, i32* %41
%174 = load i32, i32* %56
%175 = icmp eq i32 %174, 0
%176 = zext i1 %175 to i32
%177 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %176)
store i32 1, i32* %56
%178 = load i32, i32* %41
%179 = icmp sle i32 %178, 0
%180 = xor i1 %179, true
%181 = zext i1 %180 to i32
%182 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %181)
store i32 4384, i32* %6
store i32 0, i32* %11
%183 = load i32, i32* %13
%184 = sext i32 %183 to i64
store i64 %184, i64* %64
%185 = load i32, i32* %12
%186 = sext i32 %185 to i64
store i64 %186, i64* %65
%187 = load i64, i64* %65
%188 = load i64, i64* %64
%189 = icmp ne i64 %187, %188
%190 = zext i1 %189 to i32
%191 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %190)
%192 = load i32, i32* %29
%193 = icmp ne i32 %192, 0
%194 = xor i1 %193, true
%195 = xor i1 %194, true
%196 = zext i1 %195 to i32
%197 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %196)
store i32 0, i32* %44
%198 = load i32, i32* %6
store i32 %198, i32* %43
%199 = load i32, i32* %6
%200 = icmp eq i32 %199, 12292
%201 = xor i1 %200, true
%202 = zext i1 %201 to i32
%203 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %202)
%204 = load i32, i32* %6
%205 = icmp eq i32 %204, 16384
%206 = xor i1 %205, true
%207 = zext i1 %206 to i32
%208 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %207)
%209 = load i32, i32* %6
%210 = icmp eq i32 %209, 4096
%211 = xor i1 %210, true
%212 = zext i1 %211 to i32
%213 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %212)
%214 = load i32, i32* %6
%215 = icmp eq i32 %214, 20480
%216 = xor i1 %215, true
%217 = zext i1 %216 to i32
%218 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %217)
%219 = load i32, i32* %6
%220 = icmp eq i32 %219, 4099
%221 = xor i1 %220, true
%222 = zext i1 %221 to i32
%223 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %222)
%224 = load i32, i32* %6
%225 = icmp eq i32 %224, 4368
%226 = xor i1 %225, true
%227 = zext i1 %226 to i32
%228 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %227)
%229 = load i32, i32* %6
%230 = icmp eq i32 %229, 4369
%231 = xor i1 %230, true
%232 = zext i1 %231 to i32
%233 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %232)
%234 = load i32, i32* %6
%235 = icmp eq i32 %234, 4384
%236 = zext i1 %235 to i32
%237 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %236)
%238 = load i32, i32* %55
store i32 %238, i32* %41
%239 = load i32, i32* %56
%240 = icmp eq i32 %239, 1
%241 = zext i1 %240 to i32
%242 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %241)
store i32 2, i32* %56
%243 = load i32, i32* %41
%244 = icmp sle i32 %243, 0
%245 = xor i1 %244, true
%246 = zext i1 %245 to i32
%247 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %246)
%248 = load i32, i32* %14
%249 = icmp ne i32 %248, 0
%250 = xor i1 %249, true
%251 = zext i1 %250 to i32
%252 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %251)
store i32 4400, i32* %6
store i32 0, i32* %11
%253 = load i32, i32* %29
%254 = icmp ne i32 %253, 0
%255 = xor i1 %254, true
%256 = xor i1 %255, true
%257 = zext i1 %256 to i32
%258 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %257)
store i32 0, i32* %44
%259 = load i32, i32* %6
store i32 %259, i32* %43
%260 = load i32, i32* %6
%261 = icmp eq i32 %260, 12292
%262 = xor i1 %261, true
%263 = zext i1 %262 to i32
%264 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %263)
%265 = load i32, i32* %6
%266 = icmp eq i32 %265, 16384
%267 = xor i1 %266, true
%268 = zext i1 %267 to i32
%269 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %268)
%270 = load i32, i32* %6
%271 = icmp eq i32 %270, 4096
%272 = xor i1 %271, true
%273 = zext i1 %272 to i32
%274 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %273)
%275 = load i32, i32* %6
%276 = icmp eq i32 %275, 20480
%277 = xor i1 %276, true
%278 = zext i1 %277 to i32
%279 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %278)
%280 = load i32, i32* %6
%281 = icmp eq i32 %280, 4099
%282 = xor i1 %281, true
%283 = zext i1 %282 to i32
%284 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %283)
%285 = load i32, i32* %6
%286 = icmp eq i32 %285, 4368
%287 = xor i1 %286, true
%288 = zext i1 %287 to i32
%289 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %288)
%290 = load i32, i32* %6
%291 = icmp eq i32 %290, 4369
%292 = xor i1 %291, true
%293 = zext i1 %292 to i32
%294 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %293)
%295 = load i32, i32* %6
%296 = icmp eq i32 %295, 4384
%297 = xor i1 %296, true
%298 = zext i1 %297 to i32
%299 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %298)
%300 = load i32, i32* %6
%301 = icmp eq i32 %300, 4385
%302 = xor i1 %301, true
%303 = zext i1 %302 to i32
%304 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %303)
%305 = load i32, i32* %6
%306 = icmp eq i32 %305, 4400
%307 = zext i1 %306 to i32
%308 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %307)
%309 = load i32, i32* %31
%310 = sext i32 %309 to i64
store i64 %310, i64* %66
%311 = load i64, i64* %66
%312 = add i64 %311, 256
%313 = icmp ne i64 %312, 0
%314 = xor i1 %313, true
%315 = zext i1 %314 to i32
%316 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %315)
%317 = load i32, i32* %55
store i32 %317, i32* %41
%318 = load i32, i32* %56
%319 = icmp eq i32 %318, 2
%320 = zext i1 %319 to i32
%321 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %320)
store i32 3, i32* %56
%322 = load i32, i32* %41
%323 = icmp sle i32 %322, 0
%324 = xor i1 %323, true
%325 = zext i1 %324 to i32
%326 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %325)
store i32 4416, i32* %6
store i32 0, i32* %11
%327 = load i32, i32* %29
%328 = icmp ne i32 %327, 0
%329 = xor i1 %328, true
%330 = xor i1 %329, true
%331 = zext i1 %330 to i32
%332 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %331)
store i32 0, i32* %44
%333 = load i32, i32* %6
store i32 %333, i32* %43
%334 = load i32, i32* %6
%335 = icmp eq i32 %334, 12292
%336 = xor i1 %335, true
%337 = zext i1 %336 to i32
%338 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %337)
%339 = load i32, i32* %6
%340 = icmp eq i32 %339, 16384
%341 = xor i1 %340, true
%342 = zext i1 %341 to i32
%343 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %342)
%344 = load i32, i32* %6
%345 = icmp eq i32 %344, 4096
%346 = xor i1 %345, true
%347 = zext i1 %346 to i32
%348 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %347)
%349 = load i32, i32* %6
%350 = icmp eq i32 %349, 20480
%351 = xor i1 %350, true
%352 = zext i1 %351 to i32
%353 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %352)
%354 = load i32, i32* %6
%355 = icmp eq i32 %354, 4099
%356 = xor i1 %355, true
%357 = zext i1 %356 to i32
%358 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %357)
%359 = load i32, i32* %6
%360 = icmp eq i32 %359, 4368
%361 = xor i1 %360, true
%362 = zext i1 %361 to i32
%363 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %362)
%364 = load i32, i32* %6
%365 = icmp eq i32 %364, 4369
%366 = xor i1 %365, true
%367 = zext i1 %366 to i32
%368 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %367)
%369 = load i32, i32* %6
%370 = icmp eq i32 %369, 4384
%371 = xor i1 %370, true
%372 = zext i1 %371 to i32
%373 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %372)
%374 = load i32, i32* %6
%375 = icmp eq i32 %374, 4385
%376 = xor i1 %375, true
%377 = zext i1 %376 to i32
%378 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %377)
%379 = load i32, i32* %6
%380 = icmp eq i32 %379, 4400
%381 = xor i1 %380, true
%382 = zext i1 %381 to i32
%383 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %382)
%384 = load i32, i32* %6
%385 = icmp eq i32 %384, 4401
%386 = xor i1 %385, true
%387 = zext i1 %386 to i32
%388 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %387)
%389 = load i32, i32* %6
%390 = icmp eq i32 %389, 4416
%391 = zext i1 %390 to i32
%392 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %391)
%393 = load i32, i32* %55
store i32 %393, i32* %41
%394 = load i32, i32* %56
%395 = icmp eq i32 %394, 3
%396 = zext i1 %395 to i32
%397 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %396)
store i32 4, i32* %56
%398 = load i32, i32* %41
%399 = icmp sle i32 %398, 0
%400 = xor i1 %399, true
%401 = zext i1 %400 to i32
%402 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %401)
store i32 4432, i32* %6
store i32 0, i32* %11
%403 = load i32, i32* %51
%404 = icmp ne i32 %403, 0
%405 = xor i1 %404, true
%406 = xor i1 %405, true
%407 = zext i1 %406 to i32
%408 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %407)
%409 = load i32, i32* %29
%410 = icmp ne i32 %409, 0
%411 = xor i1 %410, true
%412 = xor i1 %411, true
%413 = zext i1 %412 to i32
%414 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %413)
store i32 0, i32* %44
%415 = load i32, i32* %6
store i32 %415, i32* %43
%416 = load i32, i32* %6
%417 = icmp eq i32 %416, 12292
%418 = xor i1 %417, true
%419 = zext i1 %418 to i32
%420 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %419)
%421 = load i32, i32* %6
%422 = icmp eq i32 %421, 16384
%423 = xor i1 %422, true
%424 = zext i1 %423 to i32
%425 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %424)
%426 = load i32, i32* %6
%427 = icmp eq i32 %426, 4096
%428 = xor i1 %427, true
%429 = zext i1 %428 to i32
%430 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %429)
%431 = load i32, i32* %6
%432 = icmp eq i32 %431, 20480
%433 = xor i1 %432, true
%434 = zext i1 %433 to i32
%435 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %434)
%436 = load i32, i32* %6
%437 = icmp eq i32 %436, 4099
%438 = xor i1 %437, true
%439 = zext i1 %438 to i32
%440 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %439)
%441 = load i32, i32* %6
%442 = icmp eq i32 %441, 4368
%443 = xor i1 %442, true
%444 = zext i1 %443 to i32
%445 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %444)
%446 = load i32, i32* %6
%447 = icmp eq i32 %446, 4369
%448 = xor i1 %447, true
%449 = zext i1 %448 to i32
%450 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %449)
%451 = load i32, i32* %6
%452 = icmp eq i32 %451, 4384
%453 = xor i1 %452, true
%454 = zext i1 %453 to i32
%455 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %454)
%456 = load i32, i32* %6
%457 = icmp eq i32 %456, 4385
%458 = xor i1 %457, true
%459 = zext i1 %458 to i32
%460 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %459)
%461 = load i32, i32* %6
%462 = icmp eq i32 %461, 4400
%463 = xor i1 %462, true
%464 = zext i1 %463 to i32
%465 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %464)
%466 = load i32, i32* %6
%467 = icmp eq i32 %466, 4401
%468 = xor i1 %467, true
%469 = zext i1 %468 to i32
%470 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %469)
%471 = load i32, i32* %6
%472 = icmp eq i32 %471, 4416
%473 = xor i1 %472, true
%474 = zext i1 %473 to i32
%475 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %474)
%476 = load i32, i32* %6
%477 = icmp eq i32 %476, 4417
%478 = xor i1 %477, true
%479 = zext i1 %478 to i32
%480 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %479)
%481 = load i32, i32* %6
%482 = icmp eq i32 %481, 4432
%483 = zext i1 %482 to i32
%484 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %483)
%485 = load i32, i32* %55
store i32 %485, i32* %41
%486 = load i32, i32* %56
%487 = icmp eq i32 %486, 4
%488 = zext i1 %487 to i32
%489 = call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %488)
br label %490
490: ; preds = %0
ret i32 -1
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 (...) @random()
%2 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%3 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%4 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%5 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%6 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%7 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%8 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%9 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%10 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%11 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%12 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%13 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%14 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%15 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%16 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%17 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%18 = icmp sgt i32 %1, 0
%19 = zext i1 %18 to i32
%20 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %19)
%21 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%22 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%23 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%24 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%25 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%26 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%27 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%28 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%29 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%30 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%31 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%32 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %19)
%33 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%34 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%35 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%36 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%37 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%38 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%39 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%40 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%41 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%42 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%43 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%44 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%45 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%46 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%47 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %19)
%48 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%49 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%50 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%51 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%52 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%53 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%54 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%55 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%56 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%57 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%58 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%59 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%60 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%61 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%62 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 %19)
%63 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%64 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 0)
%65 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%66 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%67 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%68 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%69 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%70 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%71 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%72 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%73 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%74 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%75 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%76 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%77 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%78 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
%79 = tail call i32 (i32, ...) bitcast (i32 (...)* @__CPROVER_assume to i32 (i32, ...)*)(i32 1)
ret i32 -1
}