int ConfigCoorMulti(int data[]) {
  int i, j;
  int n = 0;
  for (i = 0; i < 4; i++) {
    if (data[247 + i] != 0) {
      if ((data[247 + i] & 63) == 0 && (data[247 + i] >> 16) < 4)
        n++;
      else
        return 0;
    }
    if (data[251 + i] != 0) {
      if ((data[251 + i] & 63) == 0 && (data[251 + i] >> 16) < 4)
        n++;
      else
        return 0;
    }
  }
  if (n == 0 || n > 4)
    return 0;
  for (j = 0; j < n; j++) {
    for (i = 0; i < 64; i++) {
      if (data[256 + j * 64 + i] >= 64)
        return 0;
      if (i) {
        if (data[256 + j * 64 + i] < data[256 + j * 64 + i - 1])
          return 0;
      }
    }
  }
  return 1;
}


x86 assembly (clang, -O0):
<ConfigCoorMulti>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x10(%rbp)
movl   $0x0,-0x1c(%rbp)
movl   $0x0,-0x14(%rbp)
cmpl   $0x4,-0x14(%rbp)
jge    1221 <ConfigCoorMulti+0x121>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0xf7,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1197 <ConfigCoorMulti+0x97>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0xf7,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%eax
and    $0x3f,%eax
cmp    $0x0,%eax
jne    1186 <ConfigCoorMulti+0x86>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0xf7,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%eax
sar    $0x10,%eax
cmp    $0x4,%eax
jge    1186 <ConfigCoorMulti+0x86>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1192 <ConfigCoorMulti+0x92>
movl   $0x0,-0x4(%rbp)
jmp    1314 <ConfigCoorMulti+0x214>
jmp    1197 <ConfigCoorMulti+0x97>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0xfb,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     120e <ConfigCoorMulti+0x10e>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0xfb,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%eax
and    $0x3f,%eax
cmp    $0x0,%eax
jne    11fd <ConfigCoorMulti+0xfd>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0xfb,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%eax
sar    $0x10,%eax
cmp    $0x4,%eax
jge    11fd <ConfigCoorMulti+0xfd>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1209 <ConfigCoorMulti+0x109>
movl   $0x0,-0x4(%rbp)
jmp    1314 <ConfigCoorMulti+0x214>
jmp    120e <ConfigCoorMulti+0x10e>
jmp    1213 <ConfigCoorMulti+0x113>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1116 <ConfigCoorMulti+0x16>
cmpl   $0x0,-0x1c(%rbp)
je     1235 <ConfigCoorMulti+0x135>
cmpl   $0x4,-0x1c(%rbp)
jle    1241 <ConfigCoorMulti+0x141>
movl   $0x0,-0x4(%rbp)
jmp    1314 <ConfigCoorMulti+0x214>
movl   $0x0,-0x18(%rbp)
mov    -0x18(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    130d <ConfigCoorMulti+0x20d>
movl   $0x0,-0x14(%rbp)
cmpl   $0x40,-0x14(%rbp)
jge    12fa <ConfigCoorMulti+0x1fa>
mov    -0x10(%rbp),%rax
mov    -0x18(%rbp),%ecx
shl    $0x6,%ecx
add    $0x100,%ecx
add    -0x14(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x40,(%rax,%rcx,4)
jl     1291 <ConfigCoorMulti+0x191>
movl   $0x0,-0x4(%rbp)
jmp    1314 <ConfigCoorMulti+0x214>
cmpl   $0x0,-0x14(%rbp)
je     12e7 <ConfigCoorMulti+0x1e7>
mov    -0x10(%rbp),%rax
mov    -0x18(%rbp),%ecx
shl    $0x6,%ecx
add    $0x100,%ecx
add    -0x14(%rbp),%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x10(%rbp),%rcx
mov    -0x18(%rbp),%edx
shl    $0x6,%edx
add    $0x100,%edx
add    -0x14(%rbp),%edx
sub    $0x1,%edx
movslq %edx,%rdx
cmp    (%rcx,%rdx,4),%eax
jge    12e2 <ConfigCoorMulti+0x1e2>
movl   $0x0,-0x4(%rbp)
jmp    1314 <ConfigCoorMulti+0x214>
jmp    12e7 <ConfigCoorMulti+0x1e7>
jmp    12ec <ConfigCoorMulti+0x1ec>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    125b <ConfigCoorMulti+0x15b>
jmp    12ff <ConfigCoorMulti+0x1ff>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1248 <ConfigCoorMulti+0x148>
movl   $0x1,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<ConfigCoorMulti>:
mov    0x3dc(%rdi),%edx
test   %edx,%edx
je     1127 <ConfigCoorMulti+0x27>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
mov    $0x1,%ecx
and    $0x3f,%edx
je     1129 <ConfigCoorMulti+0x29>
jmp    120b <ConfigCoorMulti+0x10b>
xor    %ecx,%ecx
mov    0x3ec(%rdi),%edx
test   %edx,%edx
je     114d <ConfigCoorMulti+0x4d>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
and    $0x3f,%edx
jne    120b <ConfigCoorMulti+0x10b>
add    $0x1,%ecx
mov    0x3e0(%rdi),%edx
test   %edx,%edx
je     1171 <ConfigCoorMulti+0x71>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
and    $0x3f,%edx
jne    120b <ConfigCoorMulti+0x10b>
add    $0x1,%ecx
mov    0x3f0(%rdi),%edx
test   %edx,%edx
je     1191 <ConfigCoorMulti+0x91>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
and    $0x3f,%edx
jne    120b <ConfigCoorMulti+0x10b>
add    $0x1,%ecx
mov    0x3e4(%rdi),%edx
test   %edx,%edx
je     11ad <ConfigCoorMulti+0xad>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
and    $0x3f,%edx
jne    120b <ConfigCoorMulti+0x10b>
add    $0x1,%ecx
mov    0x3f4(%rdi),%edx
test   %edx,%edx
je     11c9 <ConfigCoorMulti+0xc9>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
and    $0x3f,%edx
jne    120b <ConfigCoorMulti+0x10b>
add    $0x1,%ecx
mov    0x3e8(%rdi),%edx
test   %edx,%edx
je     11e5 <ConfigCoorMulti+0xe5>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
and    $0x3f,%edx
jne    120b <ConfigCoorMulti+0x10b>
add    $0x1,%ecx
mov    0x3f8(%rdi),%edx
test   %edx,%edx
je     1201 <ConfigCoorMulti+0x101>
xor    %eax,%eax
cmp    $0x3ffff,%edx
jg     120b <ConfigCoorMulti+0x10b>
and    $0x3f,%edx
jne    120b <ConfigCoorMulti+0x10b>
add    $0x1,%ecx
lea    -0x5(%rcx),%edx
xor    %eax,%eax
cmp    $0xfffffffc,%edx
jae    120c <ConfigCoorMulti+0x10c>
ret
xor    %eax,%eax
xor    %edx,%edx
mov    0x400(%rdi,%rdx,4),%esi
cmp    $0x3f,%esi
jg     120b <ConfigCoorMulti+0x10b>
test   %rdx,%rdx
je     122a <ConfigCoorMulti+0x12a>
cmp    0x3fc(%rdi,%rdx,4),%esi
jl     120b <ConfigCoorMulti+0x10b>
mov    0x404(%rdi,%rdx,4),%esi
cmp    $0x3f,%esi
jg     120b <ConfigCoorMulti+0x10b>
cmp    0x400(%rdi,%rdx,4),%esi
jl     120b <ConfigCoorMulti+0x10b>
add    $0x2,%rdx
cmp    $0x40,%rdx
jne    1210 <ConfigCoorMulti+0x110>
mov    $0x1,%eax
cmp    $0x1,%ecx
je     120b <ConfigCoorMulti+0x10b>
xor    %edx,%edx
mov    0x500(%rdi,%rdx,4),%esi
cmp    $0x3f,%esi
jg     132b <ConfigCoorMulti+0x22b>
test   %rdx,%rdx
je     1277 <ConfigCoorMulti+0x177>
cmp    0x4fc(%rdi,%rdx,4),%esi
jl     132b <ConfigCoorMulti+0x22b>
mov    0x504(%rdi,%rdx,4),%esi
cmp    $0x3f,%esi
jg     132b <ConfigCoorMulti+0x22b>
cmp    0x500(%rdi,%rdx,4),%esi
jl     132b <ConfigCoorMulti+0x22b>
add    $0x2,%rdx
cmp    $0x40,%rdx
jne    1255 <ConfigCoorMulti+0x155>
cmp    $0x2,%ecx
je     120b <ConfigCoorMulti+0x10b>
xor    %edx,%edx
mov    0x600(%rdi,%rdx,4),%esi
cmp    $0x3f,%esi
jg     132b <ConfigCoorMulti+0x22b>
test   %rdx,%rdx
je     12c3 <ConfigCoorMulti+0x1c3>
cmp    0x5fc(%rdi,%rdx,4),%esi
jl     132b <ConfigCoorMulti+0x22b>
mov    0x604(%rdi,%rdx,4),%esi
cmp    $0x3f,%esi
jg     132b <ConfigCoorMulti+0x22b>
cmp    0x600(%rdi,%rdx,4),%esi
jl     132b <ConfigCoorMulti+0x22b>
add    $0x2,%rdx
cmp    $0x40,%rdx
jne    12a9 <ConfigCoorMulti+0x1a9>
cmp    $0x3,%ecx
je     120b <ConfigCoorMulti+0x10b>
xor    %ecx,%ecx
mov    0x700(%rdi,%rcx,4),%edx
cmp    $0x3f,%edx
jg     132b <ConfigCoorMulti+0x22b>
test   %rcx,%rcx
je     1307 <ConfigCoorMulti+0x207>
cmp    0x6fc(%rdi,%rcx,4),%edx
jl     132b <ConfigCoorMulti+0x22b>
mov    0x704(%rdi,%rcx,4),%edx
cmp    $0x3f,%edx
jg     132b <ConfigCoorMulti+0x22b>
cmp    0x700(%rdi,%rcx,4),%edx
jl     132b <ConfigCoorMulti+0x22b>
add    $0x2,%rcx
cmp    $0x40,%rcx
jne    12ed <ConfigCoorMulti+0x1ed>
jmp    120b <ConfigCoorMulti+0x10b>
xor    %eax,%eax
ret

LLVM IR (-O0):
define i32 @ConfigCoorMulti(i32* %0) {
%2 = alloca i32
%3 = alloca i32*
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
store i32* %0, i32** %3
store i32 0, i32* %6
store i32 0, i32* %4
br label %7
7: ; preds = %73, %1
%8 = load i32, i32* %4
%9 = icmp slt i32 %8, 4
br i1 %9, label %10, label %76
10: ; preds = %7
%11 = load i32*, i32** %3
%12 = load i32, i32* %4
%13 = add nsw i32 247, %12
%14 = sext i32 %13 to i64
%15 = getelementptr inbounds i32, i32* %11, i64 %14
%16 = load i32, i32* %15
%17 = icmp ne i32 %16, 0
br i1 %17, label %18, label %41
18: ; preds = %10
%19 = load i32*, i32** %3
%20 = load i32, i32* %4
%21 = add nsw i32 247, %20
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds i32, i32* %19, i64 %22
%24 = load i32, i32* %23
%25 = and i32 %24, 63
%26 = icmp eq i32 %25, 0
br i1 %26, label %27, label %39
27: ; preds = %18
%28 = load i32*, i32** %3
%29 = load i32, i32* %4
%30 = add nsw i32 247, %29
%31 = sext i32 %30 to i64
%32 = getelementptr inbounds i32, i32* %28, i64 %31
%33 = load i32, i32* %32
%34 = ashr i32 %33, 16
%35 = icmp slt i32 %34, 4
br i1 %35, label %36, label %39
36: ; preds = %27
%37 = load i32, i32* %6
%38 = add nsw i32 %37, 1
store i32 %38, i32* %6
br label %40
39: ; preds = %27, %18
store i32 0, i32* %2
br label %139
40: ; preds = %36
br label %41
41: ; preds = %40, %10
%42 = load i32*, i32** %3
%43 = load i32, i32* %4
%44 = add nsw i32 251, %43
%45 = sext i32 %44 to i64
%46 = getelementptr inbounds i32, i32* %42, i64 %45
%47 = load i32, i32* %46
%48 = icmp ne i32 %47, 0
br i1 %48, label %49, label %72
49: ; preds = %41
%50 = load i32*, i32** %3
%51 = load i32, i32* %4
%52 = add nsw i32 251, %51
%53 = sext i32 %52 to i64
%54 = getelementptr inbounds i32, i32* %50, i64 %53
%55 = load i32, i32* %54
%56 = and i32 %55, 63
%57 = icmp eq i32 %56, 0
br i1 %57, label %58, label %70
58: ; preds = %49
%59 = load i32*, i32** %3
%60 = load i32, i32* %4
%61 = add nsw i32 251, %60
%62 = sext i32 %61 to i64
%63 = getelementptr inbounds i32, i32* %59, i64 %62
%64 = load i32, i32* %63
%65 = ashr i32 %64, 16
%66 = icmp slt i32 %65, 4
br i1 %66, label %67, label %70
67: ; preds = %58
%68 = load i32, i32* %6
%69 = add nsw i32 %68, 1
store i32 %69, i32* %6
br label %71
70: ; preds = %58, %49
store i32 0, i32* %2
br label %139
71: ; preds = %67
br label %72
72: ; preds = %71, %41
br label %73
73: ; preds = %72
%74 = load i32, i32* %4
%75 = add nsw i32 %74, 1
store i32 %75, i32* %4
br label %7
76: ; preds = %7
%77 = load i32, i32* %6
%78 = icmp eq i32 %77, 0
br i1 %78, label %82, label %79
79: ; preds = %76
%80 = load i32, i32* %6
%81 = icmp sgt i32 %80, 4
br i1 %81, label %82, label %83
82: ; preds = %79, %76
store i32 0, i32* %2
br label %139
83: ; preds = %79
store i32 0, i32* %5
br label %84
84: ; preds = %135, %83
%85 = load i32, i32* %5
%86 = load i32, i32* %6
%87 = icmp slt i32 %85, %86
br i1 %87, label %88, label %138
88: ; preds = %84
store i32 0, i32* %4
br label %89
89: ; preds = %131, %88
%90 = load i32, i32* %4
%91 = icmp slt i32 %90, 64
br i1 %91, label %92, label %134
92: ; preds = %89
%93 = load i32*, i32** %3
%94 = load i32, i32* %5
%95 = mul nsw i32 %94, 64
%96 = add nsw i32 256, %95
%97 = load i32, i32* %4
%98 = add nsw i32 %96, %97
%99 = sext i32 %98 to i64
%100 = getelementptr inbounds i32, i32* %93, i64 %99
%101 = load i32, i32* %100
%102 = icmp sge i32 %101, 64
br i1 %102, label %103, label %104
103: ; preds = %92
store i32 0, i32* %2
br label %139
104: ; preds = %92
%105 = load i32, i32* %4
%106 = icmp ne i32 %105, 0
br i1 %106, label %107, label %130
107: ; preds = %104
%108 = load i32*, i32** %3
%109 = load i32, i32* %5
%110 = mul nsw i32 %109, 64
%111 = add nsw i32 256, %110
%112 = load i32, i32* %4
%113 = add nsw i32 %111, %112
%114 = sext i32 %113 to i64
%115 = getelementptr inbounds i32, i32* %108, i64 %114
%116 = load i32, i32* %115
%117 = load i32*, i32** %3
%118 = load i32, i32* %5
%119 = mul nsw i32 %118, 64
%120 = add nsw i32 256, %119
%121 = load i32, i32* %4
%122 = add nsw i32 %120, %121
%123 = sub nsw i32 %122, 1
%124 = sext i32 %123 to i64
%125 = getelementptr inbounds i32, i32* %117, i64 %124
%126 = load i32, i32* %125
%127 = icmp slt i32 %116, %126
br i1 %127, label %128, label %129
128: ; preds = %107
store i32 0, i32* %2
br label %139
129: ; preds = %107
br label %130
130: ; preds = %129, %104
br label %131
131: ; preds = %130
%132 = load i32, i32* %4
%133 = add nsw i32 %132, 1
store i32 %133, i32* %4
br label %89
134: ; preds = %89
br label %135
135: ; preds = %134
%136 = load i32, i32* %5
%137 = add nsw i32 %136, 1
store i32 %137, i32* %5
br label %84
138: ; preds = %84
store i32 1, i32* %2
br label %139
139: ; preds = %138, %128, %103, %82, %70, %39
%140 = load i32, i32* %2
ret i32 %140
}

LLVM IR (-O2):
define i32 @ConfigCoorMulti(i32* nocapture %0) {
%2 = getelementptr inbounds i32, i32* %0, i64 247
%3 = load i32, i32* %2
%4 = icmp eq i32 %3, 0
br i1 %4, label %10, label %5
5: ; preds = %1
%6 = and i32 %3, 63
%7 = icmp eq i32 %6, 0
%8 = icmp slt i32 %3, 262144
%9 = and i1 %8, %7
br i1 %9, label %10, label %208
10: ; preds = %5, %1
%11 = phi i32 [ 0, %1 ], [ 1, %5 ]
%12 = getelementptr inbounds i32, i32* %0, i64 251
%13 = load i32, i32* %12
%14 = icmp eq i32 %13, 0
br i1 %14, label %22, label %15
15: ; preds = %10
%16 = and i32 %13, 63
%17 = icmp eq i32 %16, 0
%18 = icmp slt i32 %13, 262144
%19 = and i1 %18, %17
br i1 %19, label %20, label %208
20: ; preds = %15
%21 = add nuw nsw i32 %11, 1
br label %22
22: ; preds = %10, %20
%23 = phi i32 [ %21, %20 ], [ %11, %10 ]
%24 = getelementptr inbounds i32, i32* %0, i64 248
%25 = load i32, i32* %24
%26 = icmp eq i32 %25, 0
br i1 %26, label %34, label %27
27: ; preds = %22
%28 = and i32 %25, 63
%29 = icmp eq i32 %28, 0
%30 = icmp slt i32 %25, 262144
%31 = and i1 %30, %29
br i1 %31, label %32, label %208
32: ; preds = %27
%33 = add nuw nsw i32 %23, 1
br label %34
34: ; preds = %32, %22
%35 = phi i32 [ %33, %32 ], [ %23, %22 ]
%36 = getelementptr inbounds i32, i32* %0, i64 252
%37 = load i32, i32* %36
%38 = icmp eq i32 %37, 0
br i1 %38, label %46, label %39
39: ; preds = %34
%40 = and i32 %37, 63
%41 = icmp eq i32 %40, 0
%42 = icmp slt i32 %37, 262144
%43 = and i1 %42, %41
br i1 %43, label %44, label %208
44: ; preds = %39
%45 = add nuw nsw i32 %35, 1
br label %46
46: ; preds = %44, %34
%47 = phi i32 [ %45, %44 ], [ %35, %34 ]
%48 = getelementptr inbounds i32, i32* %0, i64 249
%49 = load i32, i32* %48
%50 = icmp eq i32 %49, 0
br i1 %50, label %58, label %51
51: ; preds = %46
%52 = and i32 %49, 63
%53 = icmp eq i32 %52, 0
%54 = icmp slt i32 %49, 262144
%55 = and i1 %54, %53
br i1 %55, label %56, label %208
56: ; preds = %51
%57 = add nuw nsw i32 %47, 1
br label %58
58: ; preds = %56, %46
%59 = phi i32 [ %57, %56 ], [ %47, %46 ]
%60 = getelementptr inbounds i32, i32* %0, i64 253
%61 = load i32, i32* %60
%62 = icmp eq i32 %61, 0
br i1 %62, label %70, label %63
63: ; preds = %58
%64 = and i32 %61, 63
%65 = icmp eq i32 %64, 0
%66 = icmp slt i32 %61, 262144
%67 = and i1 %66, %65
br i1 %67, label %68, label %208
68: ; preds = %63
%69 = add nuw nsw i32 %59, 1
br label %70
70: ; preds = %68, %58
%71 = phi i32 [ %69, %68 ], [ %59, %58 ]
%72 = getelementptr inbounds i32, i32* %0, i64 250
%73 = load i32, i32* %72
%74 = icmp eq i32 %73, 0
br i1 %74, label %82, label %75
75: ; preds = %70
%76 = and i32 %73, 63
%77 = icmp eq i32 %76, 0
%78 = icmp slt i32 %73, 262144
%79 = and i1 %78, %77
br i1 %79, label %80, label %208
80: ; preds = %75
%81 = add nuw nsw i32 %71, 1
br label %82
82: ; preds = %80, %70
%83 = phi i32 [ %81, %80 ], [ %71, %70 ]
%84 = getelementptr inbounds i32, i32* %0, i64 254
%85 = load i32, i32* %84
%86 = icmp eq i32 %85, 0
br i1 %86, label %94, label %87
87: ; preds = %82
%88 = and i32 %85, 63
%89 = icmp eq i32 %88, 0
%90 = icmp slt i32 %85, 262144
%91 = and i1 %90, %89
br i1 %91, label %92, label %208
92: ; preds = %87
%93 = add nuw nsw i32 %83, 1
br label %94
94: ; preds = %92, %82
%95 = phi i32 [ %93, %92 ], [ %83, %82 ]
%96 = add i32 %95, -5
%97 = icmp ult i32 %96, -4
br i1 %97, label %208, label %98
98: ; preds = %94, %121
%99 = phi i64 [ %122, %121 ], [ 0, %94 ]
%100 = add nuw nsw i64 %99, 256
%101 = getelementptr inbounds i32, i32* %0, i64 %100
%102 = load i32, i32* %101
%103 = icmp sgt i32 %102, 63
br i1 %103, label %208, label %104
104: ; preds = %98
%105 = icmp eq i64 %99, 0
br i1 %105, label %111, label %106
106: ; preds = %104
%107 = add nuw nsw i64 %99, 255
%108 = getelementptr inbounds i32, i32* %0, i64 %107
%109 = load i32, i32* %108
%110 = icmp slt i32 %102, %109
br i1 %110, label %208, label %111
111: ; preds = %104, %106
%112 = add nuw nsw i64 %99, 257
%113 = getelementptr inbounds i32, i32* %0, i64 %112
%114 = load i32, i32* %113
%115 = icmp sgt i32 %114, 63
br i1 %115, label %208, label %116
116: ; preds = %111
%117 = add nuw nsw i64 %99, 256
%118 = getelementptr inbounds i32, i32* %0, i64 %117
%119 = load i32, i32* %118
%120 = icmp slt i32 %114, %119
br i1 %120, label %208, label %121
121: ; preds = %116
%122 = add nuw nsw i64 %99, 2
%123 = icmp eq i64 %122, 64
br i1 %123, label %124, label %98
124: ; preds = %121
%125 = icmp eq i32 %95, 1
br i1 %125, label %208, label %126
126: ; preds = %124, %149
%127 = phi i64 [ %150, %149 ], [ 0, %124 ]
%128 = add nuw nsw i64 %127, 320
%129 = getelementptr inbounds i32, i32* %0, i64 %128
%130 = load i32, i32* %129
%131 = icmp sgt i32 %130, 63
br i1 %131, label %208, label %132
132: ; preds = %126
%133 = icmp eq i64 %127, 0
br i1 %133, label %139, label %134
134: ; preds = %132
%135 = add nuw nsw i64 %127, 319
%136 = getelementptr inbounds i32, i32* %0, i64 %135
%137 = load i32, i32* %136
%138 = icmp slt i32 %130, %137
br i1 %138, label %208, label %139
139: ; preds = %134, %132
%140 = add nuw nsw i64 %127, 321
%141 = getelementptr inbounds i32, i32* %0, i64 %140
%142 = load i32, i32* %141
%143 = icmp sgt i32 %142, 63
br i1 %143, label %208, label %144
144: ; preds = %139
%145 = add nuw nsw i64 %127, 320
%146 = getelementptr inbounds i32, i32* %0, i64 %145
%147 = load i32, i32* %146
%148 = icmp slt i32 %142, %147
br i1 %148, label %208, label %149
149: ; preds = %144
%150 = add nuw nsw i64 %127, 2
%151 = icmp eq i64 %150, 64
br i1 %151, label %152, label %126
152: ; preds = %149
%153 = icmp eq i32 %95, 2
br i1 %153, label %208, label %154
154: ; preds = %152, %177
%155 = phi i64 [ %178, %177 ], [ 0, %152 ]
%156 = add nuw nsw i64 %155, 384
%157 = getelementptr inbounds i32, i32* %0, i64 %156
%158 = load i32, i32* %157
%159 = icmp sgt i32 %158, 63
br i1 %159, label %208, label %160
160: ; preds = %154
%161 = icmp eq i64 %155, 0
br i1 %161, label %167, label %162
162: ; preds = %160
%163 = add nuw nsw i64 %155, 383
%164 = getelementptr inbounds i32, i32* %0, i64 %163
%165 = load i32, i32* %164
%166 = icmp slt i32 %158, %165
br i1 %166, label %208, label %167
167: ; preds = %162, %160
%168 = add nuw nsw i64 %155, 385
%169 = getelementptr inbounds i32, i32* %0, i64 %168
%170 = load i32, i32* %169
%171 = icmp sgt i32 %170, 63
br i1 %171, label %208, label %172
172: ; preds = %167
%173 = add nuw nsw i64 %155, 384
%174 = getelementptr inbounds i32, i32* %0, i64 %173
%175 = load i32, i32* %174
%176 = icmp slt i32 %170, %175
br i1 %176, label %208, label %177
177: ; preds = %172
%178 = add nuw nsw i64 %155, 2
%179 = icmp eq i64 %178, 64
br i1 %179, label %180, label %154
180: ; preds = %177
%181 = icmp eq i32 %95, 3
br i1 %181, label %208, label %182
182: ; preds = %180, %205
%183 = phi i64 [ %206, %205 ], [ 0, %180 ]
%184 = add nuw nsw i64 %183, 448
%185 = getelementptr inbounds i32, i32* %0, i64 %184
%186 = load i32, i32* %185
%187 = icmp sgt i32 %186, 63
br i1 %187, label %208, label %188
188: ; preds = %182
%189 = icmp eq i64 %183, 0
br i1 %189, label %195, label %190
190: ; preds = %188
%191 = add nuw nsw i64 %183, 447
%192 = getelementptr inbounds i32, i32* %0, i64 %191
%193 = load i32, i32* %192
%194 = icmp slt i32 %186, %193
br i1 %194, label %208, label %195
195: ; preds = %190, %188
%196 = add nuw nsw i64 %183, 449
%197 = getelementptr inbounds i32, i32* %0, i64 %196
%198 = load i32, i32* %197
%199 = icmp sgt i32 %198, 63
br i1 %199, label %208, label %200
200: ; preds = %195
%201 = add nuw nsw i64 %183, 448
%202 = getelementptr inbounds i32, i32* %0, i64 %201
%203 = load i32, i32* %202
%204 = icmp slt i32 %198, %203
br i1 %204, label %208, label %205
205: ; preds = %200
%206 = add nuw nsw i64 %183, 2
%207 = icmp eq i64 %206, 64
br i1 %207, label %208, label %182
208: ; preds = %124, %152, %180, %205, %106, %98, %111, %116, %126, %134, %139, %144, %154, %162, %167, %172, %182, %190, %195, %200, %15, %5, %27, %39, %51, %63, %75, %87, %94
%209 = phi i32 [ 0, %94 ], [ 0, %87 ], [ 0, %75 ], [ 0, %63 ], [ 0, %51 ], [ 0, %39 ], [ 0, %27 ], [ 0, %5 ], [ 0, %15 ], [ 0, %200 ], [ 0, %195 ], [ 0, %190 ], [ 0, %182 ], [ 0, %172 ], [ 0, %167 ], [ 0, %162 ], [ 0, %154 ], [ 0, %144 ], [ 0, %139 ], [ 0, %134 ], [ 0, %126 ], [ 0, %116 ], [ 0, %111 ], [ 0, %98 ], [ 0, %106 ], [ 1, %205 ], [ 1, %180 ], [ 1, %152 ], [ 1, %124 ]
ret i32 %209
}