#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 char *xodirectline(int);
int /*<<< orphan*/ xoinit(int);
int /*<<< orphan*/ xopalette(int /*<<< orphan*/);
int main() {
  int i, y;
  unsigned char *p;
  xoinit(4);
  xopalette(0);
  for (y = 0; y < 200; y++) {
    p = xodirectline(y);
    if (y < 2 || y >= 198) {
      for (i = 0; i < 80; i++)
        p[i] = 0xFF;
      continue;
    }
    p[0] = 0xF0;
    for (i = 1; i < 5; i++)
      p[i] = 0x00;
    for (i = 5; i < 10; i++)
      p[i] = 0x11;
    for (i = 10; i < 15; i++)
      p[i] = 0x22;
    for (i = 15; i < 20; i++)
      p[i] = 0x33;
    for (i = 20; i < 25; i++)
      p[i] = 0x44;
    for (i = 25; i < 30; i++)
      p[i] = 0x55;
    for (i = 30; i < 35; i++)
      p[i] = 0x66;
    for (i = 35; i < 40; i++)
      p[i] = 0x77;
    for (i = 40; i < 45; i++)
      p[i] = 0x88;
    for (i = 45; i < 50; i++)
      p[i] = 0x99;
    for (i = 50; i < 55; i++)
      p[i] = 0xAA;
    for (i = 55; i < 60; i++)
      p[i] = 0xBB;
    for (i = 60; i < 65; i++)
      p[i] = 0xCC;
    for (i = 65; i < 70; i++)
      p[i] = 0xDD;
    for (i = 70; i < 75; i++)
      p[i] = 0xEE;
    for (i = 75; i < 80; i++)
      p[i] = 0xFF;
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x4,%edi
call   1050 <xoinit@plt>
xor    %edi,%edi
call   1040 <xopalette@plt>
movl   $0x0,-0xc(%rbp)
cmpl   $0xc8,-0xc(%rbp)
jge    1481 <main+0x351>
mov    -0xc(%rbp),%edi
call   1030 <xodirectline@plt>
mov    %rax,-0x18(%rbp)
cmpl   $0x2,-0xc(%rbp)
jl     1187 <main+0x57>
cmpl   $0xc6,-0xc(%rbp)
jl     11b7 <main+0x87>
movl   $0x0,-0x8(%rbp)
cmpl   $0x50,-0x8(%rbp)
jge    11b2 <main+0x82>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0xff,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    118e <main+0x5e>
jmp    1473 <main+0x343>
mov    -0x18(%rbp),%rax
movb   $0xf0,(%rax)
movl   $0x1,-0x8(%rbp)
cmpl   $0x5,-0x8(%rbp)
jge    11e9 <main+0xb9>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    11c5 <main+0x95>
movl   $0x5,-0x8(%rbp)
cmpl   $0xa,-0x8(%rbp)
jge    1214 <main+0xe4>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x11,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    11f0 <main+0xc0>
movl   $0xa,-0x8(%rbp)
cmpl   $0xf,-0x8(%rbp)
jge    123f <main+0x10f>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x22,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    121b <main+0xeb>
movl   $0xf,-0x8(%rbp)
cmpl   $0x14,-0x8(%rbp)
jge    126a <main+0x13a>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x33,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1246 <main+0x116>
movl   $0x14,-0x8(%rbp)
cmpl   $0x19,-0x8(%rbp)
jge    1295 <main+0x165>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x44,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1271 <main+0x141>
movl   $0x19,-0x8(%rbp)
cmpl   $0x1e,-0x8(%rbp)
jge    12c0 <main+0x190>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x55,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    129c <main+0x16c>
movl   $0x1e,-0x8(%rbp)
cmpl   $0x23,-0x8(%rbp)
jge    12eb <main+0x1bb>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x66,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    12c7 <main+0x197>
movl   $0x23,-0x8(%rbp)
cmpl   $0x28,-0x8(%rbp)
jge    1316 <main+0x1e6>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x77,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    12f2 <main+0x1c2>
movl   $0x28,-0x8(%rbp)
cmpl   $0x2d,-0x8(%rbp)
jge    1341 <main+0x211>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x88,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    131d <main+0x1ed>
movl   $0x2d,-0x8(%rbp)
cmpl   $0x32,-0x8(%rbp)
jge    136c <main+0x23c>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0x99,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1348 <main+0x218>
movl   $0x32,-0x8(%rbp)
cmpl   $0x37,-0x8(%rbp)
jge    1397 <main+0x267>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0xaa,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1373 <main+0x243>
movl   $0x37,-0x8(%rbp)
cmpl   $0x3c,-0x8(%rbp)
jge    13c2 <main+0x292>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0xbb,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    139e <main+0x26e>
movl   $0x3c,-0x8(%rbp)
cmpl   $0x41,-0x8(%rbp)
jge    13ed <main+0x2bd>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0xcc,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    13c9 <main+0x299>
movl   $0x41,-0x8(%rbp)
cmpl   $0x46,-0x8(%rbp)
jge    1418 <main+0x2e8>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0xdd,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    13f4 <main+0x2c4>
movl   $0x46,-0x8(%rbp)
cmpl   $0x4b,-0x8(%rbp)
jge    1443 <main+0x313>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0xee,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    141f <main+0x2ef>
movl   $0x4b,-0x8(%rbp)
cmpl   $0x50,-0x8(%rbp)
jge    146e <main+0x33e>
mov    -0x18(%rbp),%rax
movslq -0x8(%rbp),%rcx
movb   $0xff,(%rax,%rcx,1)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    144a <main+0x31a>
jmp    1473 <main+0x343>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1157 <main+0x27>
xor    %eax,%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
push   %rax
mov    $0x4,%edi
call   1050 <xoinit@plt>
xor    %ebx,%ebx
xor    %edi,%edi
call   1040 <xopalette@plt>
movabs $0x1111111100000000,%r14
11 11 11
jmp    1213 <main+0xe3>
cs nopw 0x0(%rax,%rax,1)
movb   $0xf0,(%rax)
mov    %r14,0x1(%rax)
movb   $0x11,0x9(%rax)
movl   $0x22222222,0xa(%rax)
movb   $0x22,0xe(%rax)
movl   $0x33333333,0xf(%rax)
movb   $0x33,0x13(%rax)
movl   $0x44444444,0x14(%rax)
movb   $0x44,0x18(%rax)
movl   $0x55555555,0x19(%rax)
movb   $0x55,0x1d(%rax)
movl   $0x66666666,0x1e(%rax)
movb   $0x66,0x22(%rax)
movb   $0x77,0x27(%rax)
movl   $0x77777777,0x23(%rax)
movb   $0x88,0x2c(%rax)
movl   $0x88888888,0x28(%rax)
movb   $0x99,0x31(%rax)
movl   $0x99999999,0x2d(%rax)
movb   $0xaa,0x36(%rax)
movl   $0xaaaaaaaa,0x32(%rax)
movb   $0xbb,0x3b(%rax)
movl   $0xbbbbbbbb,0x37(%rax)
movb   $0xcc,0x40(%rax)
movl   $0xcccccccc,0x3c(%rax)
movb   $0xdd,0x45(%rax)
movl   $0xdddddddd,0x41(%rax)
movb   $0xee,0x4a(%rax)
movl   $0xeeeeeeee,0x46(%rax)
movb   $0xff,0x4f(%rax)
movl   $0xffffffff,0x4b(%rax)
add    $0xc7,%ebx
cmp    $0xc8,%ebx
je     124a <main+0x11a>
mov    %ebx,%edi
call   1030 <xodirectline@plt>
add    $0xffffff3a,%ebx
cmp    $0xffffff3b,%ebx
ja     1160 <main+0x30>
pcmpeqd %xmm0,%xmm0
movdqu %xmm0,0x40(%rax)
movdqu %xmm0,0x30(%rax)
movdqu %xmm0,0x20(%rax)
movdqu %xmm0,0x10(%rax)
movdqu %xmm0,(%rax)
jmp    1205 <main+0xd5>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i8*
store i32 0, i32* %1
%5 = call i32 @xoinit(i32 4)
%6 = call i32 @xopalette(i32 0)
store i32 0, i32* %3
br label %7
7: ; preds = %226, %0
%8 = load i32, i32* %3
%9 = icmp slt i32 %8, 200
br i1 %9, label %10, label %229
10: ; preds = %7
%11 = load i32, i32* %3
%12 = call i8* @xodirectline(i32 %11)
store i8* %12, i8** %4
%13 = load i32, i32* %3
%14 = icmp slt i32 %13, 2
br i1 %14, label %18, label %15
15: ; preds = %10
%16 = load i32, i32* %3
%17 = icmp sge i32 %16, 198
br i1 %17, label %18, label %31
18: ; preds = %15, %10
store i32 0, i32* %2
br label %19
19: ; preds = %27, %18
%20 = load i32, i32* %2
%21 = icmp slt i32 %20, 80
br i1 %21, label %22, label %30
22: ; preds = %19
%23 = load i8*, i8** %4
%24 = load i32, i32* %2
%25 = sext i32 %24 to i64
%26 = getelementptr inbounds i8, i8* %23, i64 %25
store i8 -1, i8* %26
br label %27
27: ; preds = %22
%28 = load i32, i32* %2
%29 = add nsw i32 %28, 1
store i32 %29, i32* %2
br label %19
30: ; preds = %19
br label %226
31: ; preds = %15
%32 = load i8*, i8** %4
%33 = getelementptr inbounds i8, i8* %32, i64 0
store i8 -16, i8* %33
store i32 1, i32* %2
br label %34
34: ; preds = %42, %31
%35 = load i32, i32* %2
%36 = icmp slt i32 %35, 5
br i1 %36, label %37, label %45
37: ; preds = %34
%38 = load i8*, i8** %4
%39 = load i32, i32* %2
%40 = sext i32 %39 to i64
%41 = getelementptr inbounds i8, i8* %38, i64 %40
store i8 0, i8* %41
br label %42
42: ; preds = %37
%43 = load i32, i32* %2
%44 = add nsw i32 %43, 1
store i32 %44, i32* %2
br label %34
45: ; preds = %34
store i32 5, i32* %2
br label %46
46: ; preds = %54, %45
%47 = load i32, i32* %2
%48 = icmp slt i32 %47, 10
br i1 %48, label %49, label %57
49: ; preds = %46
%50 = load i8*, i8** %4
%51 = load i32, i32* %2
%52 = sext i32 %51 to i64
%53 = getelementptr inbounds i8, i8* %50, i64 %52
store i8 17, i8* %53
br label %54
54: ; preds = %49
%55 = load i32, i32* %2
%56 = add nsw i32 %55, 1
store i32 %56, i32* %2
br label %46
57: ; preds = %46
store i32 10, i32* %2
br label %58
58: ; preds = %66, %57
%59 = load i32, i32* %2
%60 = icmp slt i32 %59, 15
br i1 %60, label %61, label %69
61: ; preds = %58
%62 = load i8*, i8** %4
%63 = load i32, i32* %2
%64 = sext i32 %63 to i64
%65 = getelementptr inbounds i8, i8* %62, i64 %64
store i8 34, i8* %65
br label %66
66: ; preds = %61
%67 = load i32, i32* %2
%68 = add nsw i32 %67, 1
store i32 %68, i32* %2
br label %58
69: ; preds = %58
store i32 15, i32* %2
br label %70
70: ; preds = %78, %69
%71 = load i32, i32* %2
%72 = icmp slt i32 %71, 20
br i1 %72, label %73, label %81
73: ; preds = %70
%74 = load i8*, i8** %4
%75 = load i32, i32* %2
%76 = sext i32 %75 to i64
%77 = getelementptr inbounds i8, i8* %74, i64 %76
store i8 51, i8* %77
br label %78
78: ; preds = %73
%79 = load i32, i32* %2
%80 = add nsw i32 %79, 1
store i32 %80, i32* %2
br label %70
81: ; preds = %70
store i32 20, i32* %2
br label %82
82: ; preds = %90, %81
%83 = load i32, i32* %2
%84 = icmp slt i32 %83, 25
br i1 %84, label %85, label %93
85: ; preds = %82
%86 = load i8*, i8** %4
%87 = load i32, i32* %2
%88 = sext i32 %87 to i64
%89 = getelementptr inbounds i8, i8* %86, i64 %88
store i8 68, i8* %89
br label %90
90: ; preds = %85
%91 = load i32, i32* %2
%92 = add nsw i32 %91, 1
store i32 %92, i32* %2
br label %82
93: ; preds = %82
store i32 25, i32* %2
br label %94
94: ; preds = %102, %93
%95 = load i32, i32* %2
%96 = icmp slt i32 %95, 30
br i1 %96, label %97, label %105
97: ; preds = %94
%98 = load i8*, i8** %4
%99 = load i32, i32* %2
%100 = sext i32 %99 to i64
%101 = getelementptr inbounds i8, i8* %98, i64 %100
store i8 85, i8* %101
br label %102
102: ; preds = %97
%103 = load i32, i32* %2
%104 = add nsw i32 %103, 1
store i32 %104, i32* %2
br label %94
105: ; preds = %94
store i32 30, i32* %2
br label %106
106: ; preds = %114, %105
%107 = load i32, i32* %2
%108 = icmp slt i32 %107, 35
br i1 %108, label %109, label %117
109: ; preds = %106
%110 = load i8*, i8** %4
%111 = load i32, i32* %2
%112 = sext i32 %111 to i64
%113 = getelementptr inbounds i8, i8* %110, i64 %112
store i8 102, i8* %113
br label %114
114: ; preds = %109
%115 = load i32, i32* %2
%116 = add nsw i32 %115, 1
store i32 %116, i32* %2
br label %106
117: ; preds = %106
store i32 35, i32* %2
br label %118
118: ; preds = %126, %117
%119 = load i32, i32* %2
%120 = icmp slt i32 %119, 40
br i1 %120, label %121, label %129
121: ; preds = %118
%122 = load i8*, i8** %4
%123 = load i32, i32* %2
%124 = sext i32 %123 to i64
%125 = getelementptr inbounds i8, i8* %122, i64 %124
store i8 119, i8* %125
br label %126
126: ; preds = %121
%127 = load i32, i32* %2
%128 = add nsw i32 %127, 1
store i32 %128, i32* %2
br label %118
129: ; preds = %118
store i32 40, i32* %2
br label %130
130: ; preds = %138, %129
%131 = load i32, i32* %2
%132 = icmp slt i32 %131, 45
br i1 %132, label %133, label %141
133: ; preds = %130
%134 = load i8*, i8** %4
%135 = load i32, i32* %2
%136 = sext i32 %135 to i64
%137 = getelementptr inbounds i8, i8* %134, i64 %136
store i8 -120, i8* %137
br label %138
138: ; preds = %133
%139 = load i32, i32* %2
%140 = add nsw i32 %139, 1
store i32 %140, i32* %2
br label %130
141: ; preds = %130
store i32 45, i32* %2
br label %142
142: ; preds = %150, %141
%143 = load i32, i32* %2
%144 = icmp slt i32 %143, 50
br i1 %144, label %145, label %153
145: ; preds = %142
%146 = load i8*, i8** %4
%147 = load i32, i32* %2
%148 = sext i32 %147 to i64
%149 = getelementptr inbounds i8, i8* %146, i64 %148
store i8 -103, i8* %149
br label %150
150: ; preds = %145
%151 = load i32, i32* %2
%152 = add nsw i32 %151, 1
store i32 %152, i32* %2
br label %142
153: ; preds = %142
store i32 50, i32* %2
br label %154
154: ; preds = %162, %153
%155 = load i32, i32* %2
%156 = icmp slt i32 %155, 55
br i1 %156, label %157, label %165
157: ; preds = %154
%158 = load i8*, i8** %4
%159 = load i32, i32* %2
%160 = sext i32 %159 to i64
%161 = getelementptr inbounds i8, i8* %158, i64 %160
store i8 -86, i8* %161
br label %162
162: ; preds = %157
%163 = load i32, i32* %2
%164 = add nsw i32 %163, 1
store i32 %164, i32* %2
br label %154
165: ; preds = %154
store i32 55, i32* %2
br label %166
166: ; preds = %174, %165
%167 = load i32, i32* %2
%168 = icmp slt i32 %167, 60
br i1 %168, label %169, label %177
169: ; preds = %166
%170 = load i8*, i8** %4
%171 = load i32, i32* %2
%172 = sext i32 %171 to i64
%173 = getelementptr inbounds i8, i8* %170, i64 %172
store i8 -69, i8* %173
br label %174
174: ; preds = %169
%175 = load i32, i32* %2
%176 = add nsw i32 %175, 1
store i32 %176, i32* %2
br label %166
177: ; preds = %166
store i32 60, i32* %2
br label %178
178: ; preds = %186, %177
%179 = load i32, i32* %2
%180 = icmp slt i32 %179, 65
br i1 %180, label %181, label %189
181: ; preds = %178
%182 = load i8*, i8** %4
%183 = load i32, i32* %2
%184 = sext i32 %183 to i64
%185 = getelementptr inbounds i8, i8* %182, i64 %184
store i8 -52, i8* %185
br label %186
186: ; preds = %181
%187 = load i32, i32* %2
%188 = add nsw i32 %187, 1
store i32 %188, i32* %2
br label %178
189: ; preds = %178
store i32 65, i32* %2
br label %190
190: ; preds = %198, %189
%191 = load i32, i32* %2
%192 = icmp slt i32 %191, 70
br i1 %192, label %193, label %201
193: ; preds = %190
%194 = load i8*, i8** %4
%195 = load i32, i32* %2
%196 = sext i32 %195 to i64
%197 = getelementptr inbounds i8, i8* %194, i64 %196
store i8 -35, i8* %197
br label %198
198: ; preds = %193
%199 = load i32, i32* %2
%200 = add nsw i32 %199, 1
store i32 %200, i32* %2
br label %190
201: ; preds = %190
store i32 70, i32* %2
br label %202
202: ; preds = %210, %201
%203 = load i32, i32* %2
%204 = icmp slt i32 %203, 75
br i1 %204, label %205, label %213
205: ; preds = %202
%206 = load i8*, i8** %4
%207 = load i32, i32* %2
%208 = sext i32 %207 to i64
%209 = getelementptr inbounds i8, i8* %206, i64 %208
store i8 -18, i8* %209
br label %210
210: ; preds = %205
%211 = load i32, i32* %2
%212 = add nsw i32 %211, 1
store i32 %212, i32* %2
br label %202
213: ; preds = %202
store i32 75, i32* %2
br label %214
214: ; preds = %222, %213
%215 = load i32, i32* %2
%216 = icmp slt i32 %215, 80
br i1 %216, label %217, label %225
217: ; preds = %214
%218 = load i8*, i8** %4
%219 = load i32, i32* %2
%220 = sext i32 %219 to i64
%221 = getelementptr inbounds i8, i8* %218, i64 %220
store i8 -1, i8* %221
br label %222
222: ; preds = %217
%223 = load i32, i32* %2
%224 = add nsw i32 %223, 1
store i32 %224, i32* %2
br label %214
225: ; preds = %214
br label %226
226: ; preds = %225, %30
%227 = load i32, i32* %3
%228 = add nsw i32 %227, 1
store i32 %228, i32* %3
br label %7
229: ; preds = %7
ret i32 0
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 @xoinit(i32 4)
%2 = tail call i32 @xopalette(i32 0)
br label %3
3: ; preds = %0, %27
%4 = phi i32 [ 0, %0 ], [ %28, %27 ]
%5 = tail call i8* @xodirectline(i32 %4)
%6 = add nsw i32 %4, -198
%7 = icmp ult i32 %6, -196
br i1 %7, label %8, label %9
8: ; preds = %3
br label %27
9: ; preds = %3
store i8 -16, i8* %5
%10 = getelementptr i8, i8* %5, i64 1
%11 = bitcast i8* %10 to i32*
store i32 0, i32* %11
%12 = getelementptr i8, i8* %5, i64 5
%13 = getelementptr i8, i8* %5, i64 10
%14 = getelementptr i8, i8* %5, i64 15
%15 = getelementptr i8, i8* %5, i64 20
%16 = getelementptr i8, i8* %5, i64 25
%17 = getelementptr i8, i8* %5, i64 30
%18 = getelementptr i8, i8* %5, i64 35
%19 = getelementptr i8, i8* %5, i64 40
%20 = getelementptr i8, i8* %5, i64 45
%21 = getelementptr i8, i8* %5, i64 50
%22 = getelementptr i8, i8* %5, i64 55
%23 = getelementptr i8, i8* %5, i64 60
%24 = getelementptr i8, i8* %5, i64 65
%25 = getelementptr i8, i8* %5, i64 70
%26 = getelementptr i8, i8* %5, i64 75
br label %27
27: ; preds = %9, %8
%28 = add nuw nsw i32 %4, 1
%29 = icmp eq i32 %28, 200
br i1 %29, label %30, label %3
30: ; preds = %27
ret i32 0
}