#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 */
unsigned short **__ctype_b_loc();
int _all_whitespace(char const *z) {
  unsigned short const **tmp;
  unsigned char *__cil_tmp3;
  unsigned char __cil_tmp4;
  int __cil_tmp5;
  unsigned short const *__cil_tmp6;
  unsigned short const *__cil_tmp7;
  unsigned short __cil_tmp8;
  int __cil_tmp9;
  char __cil_tmp10;
  int __cil_tmp11;
  char const *__cil_tmp12;
  char __cil_tmp13;
  int __cil_tmp14;
  char __cil_tmp15;
  int __cil_tmp16;
  char const *__cil_tmp17;
  char __cil_tmp18;
  int __cil_tmp19;
  char __cil_tmp20;
  int __cil_tmp21;
  char __cil_tmp22;
  int __cil_tmp23;
  char const *__cil_tmp24;
  char __cil_tmp25;
  int __cil_tmp26;
  char __cil_tmp27;
  int __cil_tmp28;
  char __cil_tmp29;
  int __cil_tmp30;
  {
    {
      while (1) {
      while_52_continue:;
        if (*z) {
        } else {
          goto while_52_break;
        }
        { tmp = __ctype_b_loc(); }
        {
          __cil_tmp3 = (unsigned char *)z;
          __cil_tmp4 = *__cil_tmp3;
          __cil_tmp5 = (int)__cil_tmp4;
          __cil_tmp6 = *tmp;
          __cil_tmp7 = __cil_tmp6 + __cil_tmp5;
          __cil_tmp8 = *__cil_tmp7;
          __cil_tmp9 = (int const)__cil_tmp8;
          if (__cil_tmp9 & 8192) {
            goto __Cont;
          } else {
          }
        }
        {
          __cil_tmp10 = *z;
          __cil_tmp11 = (int const)__cil_tmp10;
          if (__cil_tmp11 == 47) {
            {
              __cil_tmp12 = z + 1;
              __cil_tmp13 = *__cil_tmp12;
              __cil_tmp14 = (int const)__cil_tmp13;
              if (__cil_tmp14 == 42) {
                z = z + 2;
                {
                  while (1) {
                  while_53_continue:;
                    if (*z) {
                      {
                        __cil_tmp15 = *z;
                        __cil_tmp16 = (int const)__cil_tmp15;
                        if (__cil_tmp16 != 42) {
                        } else {
                          {
                            __cil_tmp17 = z + 1;
                            __cil_tmp18 = *__cil_tmp17;
                            __cil_tmp19 = (int const)__cil_tmp18;
                            if (__cil_tmp19 != 47) {
                            } else {
                              goto while_53_break;
                            }
                          }
                        }
                      }
                    } else {
                      goto while_53_break;
                    }
                    z = z + 1;
                  }
                while_53_break:;
                }
                {
                  __cil_tmp20 = *z;
                  __cil_tmp21 = (int const)__cil_tmp20;
                  if (__cil_tmp21 == 0) {
                    return (0);
                  } else {
                  }
                }
                z = z + 1;
                goto __Cont;
              } else {
              }
            }
          } else {
          }
        }
        {
          __cil_tmp22 = *z;
          __cil_tmp23 = (int const)__cil_tmp22;
          if (__cil_tmp23 == 45) {
            {
              __cil_tmp24 = z + 1;
              __cil_tmp25 = *__cil_tmp24;
              __cil_tmp26 = (int const)__cil_tmp25;
              if (__cil_tmp26 == 45) {
                z = z + 2;
                {
                  while (1) {
                  while_54_continue:;
                    if (*z) {
                      {
                        __cil_tmp27 = *z;
                        __cil_tmp28 = (int const)__cil_tmp27;
                        if (__cil_tmp28 != 10) {
                        } else {
                          goto while_54_break;
                        }
                      }
                    } else {
                      goto while_54_break;
                    }
                    z = z + 1;
                  }
                while_54_break:;
                }
                {
                  __cil_tmp29 = *z;
                  __cil_tmp30 = (int const)__cil_tmp29;
                  if (__cil_tmp30 == 0) {
                    return (1);
                  } else {
                  }
                }
                goto __Cont;
              } else {
              }
            }
          } else {
          }
        }
        return (0);
      __Cont:
        z = z + 1;
      }
    while_52_break:;
    }
    return (1);
  }
}


x86 assembly (clang, -O0):
<_all_whitespace>:
push   %rbp
mov    %rsp,%rbp
sub    $0xa0,%rsp
mov    %rdi,-0x10(%rbp)
jmp    1124 <_all_whitespace+0x14>
mov    -0x10(%rbp),%rax
cmpb   $0x0,(%rax)
je     1136 <_all_whitespace+0x26>
jmp    113b <_all_whitespace+0x2b>
jmp    13e4 <_all_whitespace+0x2d4>
mov    $0x0,%al
call   1030 <__ctype_b_loc@plt>
mov    %rax,-0x18(%rbp)
mov    -0x10(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x21(%rbp)
movzbl -0x21(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
movslq -0x28(%rbp),%rcx
shl    $0x1,%rcx
add    %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
mov    (%rax),%ax
mov    %ax,-0x3a(%rbp)
movzwl -0x3a(%rbp),%eax
mov    %eax,-0x40(%rbp)
mov    -0x40(%rbp),%eax
and    $0x2000,%eax
cmp    $0x0,%eax
je     11a4 <_all_whitespace+0x94>
jmp    13d3 <_all_whitespace+0x2c3>
jmp    11a9 <_all_whitespace+0x99>
mov    -0x10(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x41(%rbp)
movsbl -0x41(%rbp),%eax
mov    %eax,-0x48(%rbp)
cmpl   $0x2f,-0x48(%rbp)
jne    12bc <_all_whitespace+0x1ac>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x51(%rbp)
movsbl -0x51(%rbp),%eax
mov    %eax,-0x58(%rbp)
cmpl   $0x2a,-0x58(%rbp)
jne    12b2 <_all_whitespace+0x1a2>
mov    -0x10(%rbp),%rax
add    $0x2,%rax
mov    %rax,-0x10(%rbp)
jmp    11fa <_all_whitespace+0xea>
mov    -0x10(%rbp),%rax
cmpb   $0x0,(%rax)
je     1260 <_all_whitespace+0x150>
mov    -0x10(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x59(%rbp)
movsbl -0x59(%rbp),%eax
mov    %eax,-0x60(%rbp)
cmpl   $0x2a,-0x60(%rbp)
je     1226 <_all_whitespace+0x116>
jmp    125b <_all_whitespace+0x14b>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x69(%rbp)
movsbl -0x69(%rbp),%eax
mov    %eax,-0x70(%rbp)
cmpl   $0x2f,-0x70(%rbp)
je     1251 <_all_whitespace+0x141>
jmp    1256 <_all_whitespace+0x146>
jmp    1276 <_all_whitespace+0x166>
jmp    125b <_all_whitespace+0x14b>
jmp    1265 <_all_whitespace+0x155>
jmp    1276 <_all_whitespace+0x166>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
jmp    11f5 <_all_whitespace+0xe5>
mov    -0x10(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x71(%rbp)
movsbl -0x71(%rbp),%eax
mov    %eax,-0x78(%rbp)
cmpl   $0x0,-0x78(%rbp)
jne    129c <_all_whitespace+0x18c>
movl   $0x0,-0x4(%rbp)
jmp    13eb <_all_whitespace+0x2db>
jmp    12a1 <_all_whitespace+0x191>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
jmp    13d3 <_all_whitespace+0x2c3>
jmp    12b7 <_all_whitespace+0x1a7>
jmp    12c1 <_all_whitespace+0x1b1>
jmp    12c1 <_all_whitespace+0x1b1>
mov    -0x10(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x79(%rbp)
movsbl -0x79(%rbp),%eax
mov    %eax,-0x80(%rbp)
cmpl   $0x2d,-0x80(%rbp)
jne    13c2 <_all_whitespace+0x2b2>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x89(%rbp)
movsbl -0x89(%rbp),%eax
mov    %eax,-0x90(%rbp)
cmpl   $0x2d,-0x90(%rbp)
jne    13b8 <_all_whitespace+0x2a8>
mov    -0x10(%rbp),%rax
add    $0x2,%rax
mov    %rax,-0x10(%rbp)
jmp    1324 <_all_whitespace+0x214>
mov    -0x10(%rbp),%rax
cmpb   $0x0,(%rax)
je     1366 <_all_whitespace+0x256>
mov    -0x10(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x91(%rbp)
movsbl -0x91(%rbp),%eax
mov    %eax,-0x98(%rbp)
cmpl   $0xa,-0x98(%rbp)
je     135c <_all_whitespace+0x24c>
jmp    1361 <_all_whitespace+0x251>
jmp    137c <_all_whitespace+0x26c>
jmp    136b <_all_whitespace+0x25b>
jmp    137c <_all_whitespace+0x26c>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
jmp    131f <_all_whitespace+0x20f>
mov    -0x10(%rbp),%rax
mov    (%rax),%al
mov    %al,-0x99(%rbp)
movsbl -0x99(%rbp),%eax
mov    %eax,-0xa0(%rbp)
cmpl   $0x0,-0xa0(%rbp)
jne    13ae <_all_whitespace+0x29e>
movl   $0x1,-0x4(%rbp)
jmp    13eb <_all_whitespace+0x2db>
jmp    13b3 <_all_whitespace+0x2a3>
jmp    13d3 <_all_whitespace+0x2c3>
jmp    13bd <_all_whitespace+0x2ad>
jmp    13c7 <_all_whitespace+0x2b7>
jmp    13c7 <_all_whitespace+0x2b7>
movl   $0x0,-0x4(%rbp)
jmp    13eb <_all_whitespace+0x2db>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
jmp    111f <_all_whitespace+0xf>
movl   $0x1,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0xa0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<_all_whitespace>:
push   %rbx
cmpb   $0x0,(%rdi)
je     11a1 <_all_whitespace+0x91>
mov    %rdi,%rbx
jmp    112a <_all_whitespace+0x1a>
nop
cmpb   $0x0,0x1(%rbx)
lea    0x1(%rbx),%rbx
je     11a1 <_all_whitespace+0x91>
xor    %eax,%eax
call   1030 <__ctype_b_loc@plt>
movzbl (%rbx),%ecx
mov    (%rax),%rax
testb  $0x20,0x1(%rax,%rcx,2)
jne    1120 <_all_whitespace+0x10>
xor    %eax,%eax
cmp    $0x2d,%cl
je     1180 <_all_whitespace+0x70>
cmp    $0x2f,%cl
jne    11a6 <_all_whitespace+0x96>
cmpb   $0x2a,0x1(%rbx)
jne    11a6 <_all_whitespace+0x96>
add    $0x3,%rbx
jmp    1169 <_all_whitespace+0x59>
cs nopw 0x0(%rax,%rax,1)
cmpb   $0x2f,(%rbx)
je     1120 <_all_whitespace+0x10>
add    $0x1,%rbx
movzbl -0x1(%rbx),%ecx
cmp    $0x2a,%cl
je     1160 <_all_whitespace+0x50>
test   %cl,%cl
jne    1165 <_all_whitespace+0x55>
jmp    11a6 <_all_whitespace+0x96>
nopl   0x0(%rax,%rax,1)
cmpb   $0x2d,0x1(%rbx)
jne    11a6 <_all_whitespace+0x96>
add    $0x2,%rbx
nopw   0x0(%rax,%rax,1)
movzbl (%rbx),%eax
test   %al,%al
je     11a1 <_all_whitespace+0x91>
cmp    $0xa,%al
je     1120 <_all_whitespace+0x10>
add    $0x1,%rbx
jmp    1190 <_all_whitespace+0x80>
mov    $0x1,%eax
pop    %rbx
ret

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

LLVM IR (-O2):
define i32 @_all_whitespace(i8* nocapture %0) {
%2 = load i8, i8* %0
%3 = icmp eq i8 %2, 0
br i1 %3, label %48, label %4
4: ; preds = %1, %43
%5 = phi i8* [ %45, %43 ], [ %0, %1 ]
%6 = tail call i16** (...) @__ctype_b_loc()
%7 = load i8, i8* %5
%8 = load i16*, i16** %6
%9 = zext i8 %7 to i64
%10 = getelementptr inbounds i16, i16* %8, i64 %9
%11 = load i16, i16* %10
%12 = and i16 %11, 8192
%13 = icmp eq i16 %12, 0
br i1 %13, label %14, label %43
14: ; preds = %4
switch i8 %7, label %48 [
i8 47, label %15
i8 45, label %30
]
15: ; preds = %14
%16 = getelementptr inbounds i8, i8* %5, i64 1
%17 = load i8, i8* %16
%18 = icmp eq i8 %17, 42
br i1 %18, label %19, label %48
19: ; preds = %15
%20 = getelementptr inbounds i8, i8* %5, i64 2
br label %21
21: ; preds = %28, %19
%22 = phi i8* [ %20, %19 ], [ %29, %28 ]
%23 = load i8, i8* %22
switch i8 %23, label %28 [
i8 0, label %48
i8 42, label %24
]
24: ; preds = %21
%25 = getelementptr inbounds i8, i8* %22, i64 1
%26 = load i8, i8* %25
%27 = icmp eq i8 %26, 47
br i1 %27, label %41, label %28
28: ; preds = %21, %24
%29 = getelementptr inbounds i8, i8* %22, i64 1
br label %21
30: ; preds = %14
%31 = getelementptr inbounds i8, i8* %5, i64 1
%32 = load i8, i8* %31
%33 = icmp eq i8 %32, 45
br i1 %33, label %34, label %48
34: ; preds = %30
%35 = getelementptr inbounds i8, i8* %5, i64 2
br label %36
36: ; preds = %39, %34
%37 = phi i8* [ %35, %34 ], [ %40, %39 ]
%38 = load i8, i8* %37
switch i8 %38, label %39 [
i8 0, label %48
i8 10, label %43
]
39: ; preds = %36
%40 = getelementptr inbounds i8, i8* %37, i64 1
br label %36
41: ; preds = %24
%42 = getelementptr inbounds i8, i8* %22, i64 1
br label %43
43: ; preds = %36, %41, %4
%44 = phi i8* [ %5, %4 ], [ %42, %41 ], [ %37, %36 ]
%45 = getelementptr inbounds i8, i8* %44, i64 1
%46 = load i8, i8* %45
%47 = icmp eq i8 %46, 0
br i1 %47, label %48, label %4
48: ; preds = %30, %43, %15, %14, %36, %21, %1
%49 = phi i32 [ 1, %1 ], [ 0, %21 ], [ 1, %36 ], [ 0, %30 ], [ 1, %43 ], [ 0, %15 ], [ 0, %14 ]
ret i32 %49
}