int PathDecl_59_6(char *t1) {
  char t2[8];
  char t11[8];
  char t25[8];
  char t32[8];
  int t0;
  char *t3;
  char *t4;
  unsigned int t5;
  unsigned int t6;
  unsigned int t7;
  unsigned int t8;
  unsigned int t9;
  char *t10;
  char *t12;
  unsigned int t13;
  unsigned int t14;
  unsigned int t15;
  unsigned int t16;
  unsigned int t17;
  char *t18;
  char *t19;
  unsigned int t20;
  unsigned int t21;
  unsigned int t22;
  char *t23;
  char *t24;
  unsigned int t26;
  unsigned int t27;
  unsigned int t28;
  unsigned int t29;
  unsigned int t30;
  char *t31;
  unsigned int t33;
  unsigned int t34;
  unsigned int t35;
  char *t36;
  char *t37;
  char *t38;
  unsigned int t39;
  unsigned int t40;
  unsigned int t41;
  unsigned int t42;
  unsigned int t43;
  unsigned int t44;
  unsigned int t45;
  char *t46;
  char *t47;
  unsigned int t48;
  unsigned int t49;
  unsigned int t50;
  unsigned int t51;
  unsigned int t52;
  unsigned int t53;
  unsigned int t54;
  unsigned int t55;
  int t56;
  int t57;
  unsigned int t58;
  unsigned int t59;
  unsigned int t60;
  unsigned int t61;
  unsigned int t62;
  unsigned int t63;
  char *t64;
  unsigned int t65;
  unsigned int t66;
  unsigned int t67;
  unsigned int t68;
  unsigned int t69;
LAB0:
  t3 = (t1 + 1824U);
  t4 = *((char **)t3);
  memset(t2, 0, 8);
  t3 = (t4 + 4);
  t5 = *((unsigned int *)t3);
  t6 = (~(t5));
  t7 = *((unsigned int *)t4);
  t8 = (t7 & t6);
  t9 = (t8 & 1U);
  if (t9 != 0)
    goto LAB5;
LAB3:
  if (*((unsigned int *)t3) == 0)
    goto LAB2;
LAB4:
  t10 = (t2 + 4);
  *((unsigned int *)t2) = 1;
  *((unsigned int *)t10) = 1;
LAB5:
  memset(t11, 0, 8);
  t12 = (t2 + 4);
  t13 = *((unsigned int *)t12);
  t14 = (~(t13));
  t15 = *((unsigned int *)t2);
  t16 = (t15 & t14);
  t17 = (t16 & 1U);
  if (t17 != 0)
    goto LAB6;
LAB7:
  if (*((unsigned int *)t12) != 0)
    goto LAB8;
LAB9:
  t19 = (t11 + 4);
  t20 = *((unsigned int *)t11);
  t21 = *((unsigned int *)t19);
  t22 = (t20 || t21);
  if (t22 > 0)
    goto LAB10;
LAB11:
  memcpy(t32, t11, 8);
LAB12:
  t64 = (t32 + 4);
  t65 = *((unsigned int *)t64);
  t66 = (~(t65));
  t67 = *((unsigned int *)t32);
  t68 = (t67 & t66);
  t69 = (t68 != 0);
  t0 = t69;
LAB1:
  return t0;
LAB2:
  *((unsigned int *)t2) = 1;
  goto LAB5;
LAB6:
  *((unsigned int *)t11) = 1;
  goto LAB9;
LAB8:
  t18 = (t11 + 4);
  *((unsigned int *)t11) = 1;
  *((unsigned int *)t18) = 1;
  goto LAB9;
LAB10:
  t23 = (t1 + 1504U);
  t24 = *((char **)t23);
  memset(t25, 0, 8);
  t23 = (t24 + 4);
  t26 = *((unsigned int *)t23);
  t27 = (~(t26));
  t28 = *((unsigned int *)t24);
  t29 = (t28 & t27);
  t30 = (t29 & 1U);
  if (t30 != 0)
    goto LAB13;
LAB14:
  if (*((unsigned int *)t23) != 0)
    goto LAB15;
LAB16:
  t33 = *((unsigned int *)t11);
  t34 = *((unsigned int *)t25);
  t35 = (t33 & t34);
  *((unsigned int *)t32) = t35;
  t36 = (t11 + 4);
  t37 = (t25 + 4);
  t38 = (t32 + 4);
  t39 = *((unsigned int *)t36);
  t40 = *((unsigned int *)t37);
  t41 = (t39 | t40);
  *((unsigned int *)t38) = t41;
  t42 = *((unsigned int *)t38);
  t43 = (t42 != 0);
  if (t43 == 1)
    goto LAB17;
LAB18:
LAB19:
  goto LAB12;
LAB13:
  *((unsigned int *)t25) = 1;
  goto LAB16;
LAB15:
  t31 = (t25 + 4);
  *((unsigned int *)t25) = 1;
  *((unsigned int *)t31) = 1;
  goto LAB16;
LAB17:
  t44 = *((unsigned int *)t32);
  t45 = *((unsigned int *)t38);
  *((unsigned int *)t32) = (t44 | t45);
  t46 = (t11 + 4);
  t47 = (t25 + 4);
  t48 = *((unsigned int *)t11);
  t49 = (~(t48));
  t50 = *((unsigned int *)t46);
  t51 = (~(t50));
  t52 = *((unsigned int *)t25);
  t53 = (~(t52));
  t54 = *((unsigned int *)t47);
  t55 = (~(t54));
  t56 = (t49 & t51);
  t57 = (t53 & t55);
  t58 = (~(t56));
  t59 = (~(t57));
  t60 = *((unsigned int *)t38);
  *((unsigned int *)t38) = (t60 & t58);
  t61 = *((unsigned int *)t38);
  *((unsigned int *)t38) = (t61 & t59);
  t62 = *((unsigned int *)t32);
  *((unsigned int *)t32) = (t62 & t58);
  t63 = *((unsigned int *)t32);
  *((unsigned int *)t32) = (t63 & t59);
  goto LAB19;
}


x86 assembly (clang, -O0):
<PathDecl_59_6>:
push   %rbp
mov    %rsp,%rbp
sub    $0x190,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0x720,%rax
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x40(%rbp)
lea    -0x10(%rbp),%rdi
xor    %esi,%esi
mov    $0x8,%edx
call   1030 <memset@plt>
mov    -0x40(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x44(%rbp)
mov    -0x44(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x48(%rbp)
mov    -0x40(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
and    -0x48(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x50(%rbp),%eax
and    $0x1,%eax
mov    %eax,-0x54(%rbp)
cmpl   $0x0,-0x54(%rbp)
je     1190 <PathDecl_59_6+0x80>
jmp    11c9 <PathDecl_59_6+0xb9>
jmp    1195 <PathDecl_59_6+0x85>
mov    -0x38(%rbp),%rax
cmpl   $0x0,(%rax)
jne    11a7 <PathDecl_59_6+0x97>
jmp    1328 <PathDecl_59_6+0x218>
jmp    11ac <PathDecl_59_6+0x9c>
lea    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x60(%rbp)
movl   $0x1,-0x10(%rbp)
mov    -0x60(%rbp),%rax
movl   $0x1,(%rax)
lea    -0x18(%rbp),%rdi
xor    %esi,%esi
mov    $0x8,%edx
call   1030 <memset@plt>
lea    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x70(%rbp)
mov    -0x10(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x74(%rbp),%eax
and    -0x70(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x78(%rbp),%eax
and    $0x1,%eax
mov    %eax,-0x7c(%rbp)
cmpl   $0x0,-0x7c(%rbp)
je     121e <PathDecl_59_6+0x10e>
jmp    1334 <PathDecl_59_6+0x224>
jmp    1223 <PathDecl_59_6+0x113>
mov    -0x68(%rbp),%rax
cmpl   $0x0,(%rax)
je     1235 <PathDecl_59_6+0x125>
jmp    1340 <PathDecl_59_6+0x230>
jmp    123a <PathDecl_59_6+0x12a>
lea    -0x18(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x90(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x90(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x98(%rbp)
mov    $0x1,%al
cmpl   $0x0,-0x94(%rbp)
mov    %al,-0x185(%rbp)
jne    1286 <PathDecl_59_6+0x176>
cmpl   $0x0,-0x98(%rbp)
setne  %al
mov    %al,-0x185(%rbp)
mov    -0x185(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x9c(%rbp)
cmpl   $0x0,-0x9c(%rbp)
jbe    12a9 <PathDecl_59_6+0x199>
jmp    1368 <PathDecl_59_6+0x258>
jmp    12ae <PathDecl_59_6+0x19e>
mov    -0x18(%rbp),%rax
mov    %rax,-0x28(%rbp)
lea    -0x28(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x170(%rbp)
mov    -0x170(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x174(%rbp)
mov    -0x174(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x178(%rbp)
mov    -0x28(%rbp),%eax
mov    %eax,-0x17c(%rbp)
mov    -0x17c(%rbp),%eax
and    -0x178(%rbp),%eax
mov    %eax,-0x180(%rbp)
cmpl   $0x0,-0x180(%rbp)
setne  %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x184(%rbp)
mov    -0x184(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
add    $0x190,%rsp
pop    %rbp
ret
movl   $0x1,-0x10(%rbp)
jmp    11c9 <PathDecl_59_6+0xb9>
movl   $0x1,-0x18(%rbp)
jmp    123a <PathDecl_59_6+0x12a>
lea    -0x18(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x88(%rbp)
movl   $0x1,-0x18(%rbp)
mov    -0x88(%rbp),%rax
movl   $0x1,(%rax)
jmp    123a <PathDecl_59_6+0x12a>
mov    -0x8(%rbp),%rax
add    $0x5e0,%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0xb0(%rbp)
lea    -0x20(%rbp),%rdi
xor    %esi,%esi
mov    $0x8,%edx
call   1030 <memset@plt>
mov    -0xb0(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0xb8(%rbp)
mov    -0xb0(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
and    -0xb8(%rbp),%eax
mov    %eax,-0xc0(%rbp)
mov    -0xc0(%rbp),%eax
and    $0x1,%eax
mov    %eax,-0xc4(%rbp)
cmpl   $0x0,-0xc4(%rbp)
je     140c <PathDecl_59_6+0x2fc>
jmp    1509 <PathDecl_59_6+0x3f9>
jmp    1411 <PathDecl_59_6+0x301>
mov    -0xa8(%rbp),%rax
cmpl   $0x0,(%rax)
je     1426 <PathDecl_59_6+0x316>
jmp    1515 <PathDecl_59_6+0x405>
jmp    142b <PathDecl_59_6+0x31b>
mov    -0x18(%rbp),%eax
mov    %eax,-0xd4(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0xd8(%rbp)
mov    -0xd4(%rbp),%eax
and    -0xd8(%rbp),%eax
mov    %eax,-0xdc(%rbp)
mov    -0xdc(%rbp),%eax
mov    %eax,-0x28(%rbp)
lea    -0x18(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xe8(%rbp)
lea    -0x20(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xf0(%rbp)
lea    -0x28(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xf8(%rbp)
mov    -0xe8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xfc(%rbp)
mov    -0xf0(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x100(%rbp)
mov    -0xfc(%rbp),%eax
or     -0x100(%rbp),%eax
mov    %eax,-0x104(%rbp)
mov    -0x104(%rbp),%ecx
mov    -0xf8(%rbp),%rax
mov    %ecx,(%rax)
mov    -0xf8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x108(%rbp)
cmpl   $0x0,-0x108(%rbp)
setne  %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x10c(%rbp)
cmpl   $0x1,-0x10c(%rbp)
jne    14fa <PathDecl_59_6+0x3ea>
jmp    153d <PathDecl_59_6+0x42d>
jmp    14ff <PathDecl_59_6+0x3ef>
jmp    1504 <PathDecl_59_6+0x3f4>
jmp    12b6 <PathDecl_59_6+0x1a6>
movl   $0x1,-0x20(%rbp)
jmp    142b <PathDecl_59_6+0x31b>
lea    -0x20(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xd0(%rbp)
movl   $0x1,-0x20(%rbp)
mov    -0xd0(%rbp),%rax
movl   $0x1,(%rax)
jmp    142b <PathDecl_59_6+0x31b>
mov    -0x28(%rbp),%eax
mov    %eax,-0x110(%rbp)
mov    -0xf8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x114(%rbp)
mov    -0x110(%rbp),%eax
or     -0x114(%rbp),%eax
mov    %eax,-0x28(%rbp)
lea    -0x18(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x120(%rbp)
lea    -0x20(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x128(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x12c(%rbp)
mov    -0x12c(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x130(%rbp)
mov    -0x120(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x134(%rbp)
mov    -0x134(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x138(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x13c(%rbp)
mov    -0x13c(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x140(%rbp)
mov    -0x128(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x144(%rbp)
mov    -0x144(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x148(%rbp)
mov    -0x130(%rbp),%eax
and    -0x138(%rbp),%eax
mov    %eax,-0x14c(%rbp)
mov    -0x140(%rbp),%eax
and    -0x148(%rbp),%eax
mov    %eax,-0x150(%rbp)
mov    -0x14c(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x154(%rbp)
mov    -0x150(%rbp),%eax
xor    $0xffffffff,%eax
mov    %eax,-0x158(%rbp)
mov    -0xf8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x15c(%rbp)
mov    -0x15c(%rbp),%ecx
and    -0x154(%rbp),%ecx
mov    -0xf8(%rbp),%rax
mov    %ecx,(%rax)
mov    -0xf8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x160(%rbp)
mov    -0x160(%rbp),%ecx
and    -0x158(%rbp),%ecx
mov    -0xf8(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x28(%rbp),%eax
mov    %eax,-0x164(%rbp)
mov    -0x164(%rbp),%eax
and    -0x154(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x28(%rbp),%eax
mov    %eax,-0x168(%rbp)
mov    -0x168(%rbp),%eax
and    -0x158(%rbp),%eax
mov    %eax,-0x28(%rbp)
jmp    1504 <PathDecl_59_6+0x3f4>

x86 assembly (clang, -O2):
<PathDecl_59_6>:
mov    0x720(%rdi),%rax
mov    0x4(%rax),%ecx
mov    %ecx,%esi
not    %esi
and    (%rax),%esi
test   $0x1,%sil
sete   %dl
test   %ecx,%ecx
setne  %r8b
sete   %al
or     %sil,%al
mov    %esi,%ecx
not    %ecx
movzbl %al,%esi
and    %ecx,%esi
mov    $0xffffffff,%eax
and    $0x1,%esi
jne    1140 <PathDecl_59_6+0x40>
xor    %ecx,%ecx
and    %r8b,%dl
jne    1140 <PathDecl_59_6+0x40>
and    %ecx,%eax
ret
xor    %r8d,%r8d
test   %esi,%esi
sete   %r8b
mov    0x5e0(%rdi),%rcx
mov    0x4(%rcx),%edx
mov    %edx,%esi
not    %esi
and    (%rcx),%esi
xor    %edi,%edi
test   %edx,%edx
setne  %dil
xor    %edx,%edx
test   $0x1,%sil
mov    $0x1,%ecx
cmove  %edi,%ecx
cmove  %edi,%edx
or     %r8d,%edx
je     113d <PathDecl_59_6+0x3d>
and    %ecx,%edx
not    %edx
mov    %edx,%eax
and    %ecx,%eax
ret

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

LLVM IR (-O2):
define i32 @PathDecl_59_6(i8* nocapture %0) {
%2 = getelementptr inbounds i8, i8* %0, i64 1824
%3 = bitcast i8* %2 to i8**
%4 = load i8*, i8** %3
%5 = getelementptr inbounds i8, i8* %4, i64 4
%6 = bitcast i8* %5 to i32*
%7 = load i32, i32* %6
%8 = bitcast i8* %4 to i32*
%9 = load i32, i32* %8
%10 = and i32 %7, 1
%11 = xor i32 %10, 1
%12 = and i32 %11, %9
%13 = icmp eq i32 %12, 0
%14 = icmp eq i32 %7, 0
%15 = xor i32 %12, -1
%16 = xor i1 %13, true
%17 = select i1 %16, i1 true, i1 %14
%18 = zext i1 %17 to i32
%19 = and i32 %15, %18
%20 = icmp ne i32 %19, 0
%21 = xor i1 %14, true
%22 = select i1 %13, i1 %21, i1 false
%23 = select i1 %20, i1 true, i1 %22
br i1 %23, label %30, label %24
24: ; preds = %1, %51, %30
%25 = phi i32 [ %53, %51 ], [ -1, %30 ], [ -1, %1 ]
%26 = phi i32 [ %47, %51 ], [ %47, %30 ], [ 0, %1 ]
%27 = and i32 %26, %25
%28 = icmp ne i32 %27, 0
%29 = zext i1 %28 to i32
ret i32 %29
30: ; preds = %1
%31 = xor i1 %20, true
%32 = zext i1 %31 to i32
%33 = getelementptr inbounds i8, i8* %0, i64 1504
%34 = bitcast i8* %33 to i8**
%35 = load i8*, i8** %34
%36 = getelementptr inbounds i8, i8* %35, i64 4
%37 = bitcast i8* %36 to i32*
%38 = load i32, i32* %37
%39 = bitcast i8* %35 to i32*
%40 = load i32, i32* %39
%41 = and i32 %38, 1
%42 = xor i32 %41, 1
%43 = and i32 %42, %40
%44 = icmp eq i32 %43, 0
%45 = icmp ne i32 %38, 0
%46 = zext i1 %45 to i32
%47 = select i1 %44, i32 %46, i32 1
%48 = select i1 %44, i32 %46, i32 0
%49 = or i32 %48, %32
%50 = icmp eq i32 %49, 0
br i1 %50, label %24, label %51
51: ; preds = %30
%52 = and i32 %47, %49
%53 = xor i32 %52, -1
br label %24
}