#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 */
int /*<<< orphan*/ printf(char *, unsigned int);
unsigned char rand();
int /*<<< orphan*/ srand(unsigned int);
scalar_t__ time(int /*<<< orphan*/ *);
int main() {
  unsigned int data[2048];
  unsigned int amt[16];
  srand((unsigned int)time(NULL));
  for (int i = 0; i < 2048; i++) {
    unsigned char num = ((unsigned char)0xFF & rand());
    printf("%d  ", num);
    if (num < 80) {
      data[i] = 0;
      amt[0]++;
    } else if (num < 130) {
      data[i] = 1;
      amt[1]++;
    } else if (num < 150) {
      data[i] = 2;
      amt[2]++;
    } else if (num < 170) {
      data[i] = 3;
      amt[3]++;
    } else if (num < 185) {
      data[i] = 4;
      amt[4]++;
    } else if (num < 200) {
      data[i] = 5;
      amt[5]++;
    } else if (num < 210) {
      data[i] = 6;
      amt[6]++;
    } else if (num < 220) {
      data[i] = 7;
      amt[7]++;
    } else if (num < 225) {
      data[i] = 8;
      amt[8]++;
    } else if (num < 230) {
      data[i] = 9;
      amt[9]++;
    } else if (num < 235) {
      data[i] = 10;
      amt[10]++;
    } else if (num < 240) {
      data[i] = 11;
      amt[11]++;
    } else if (num < 245) {
      data[i] = 12;
      amt[12]++;
    } else if (num < 250) {
      data[i] = 13;
      amt[13]++;
    } else if (num < 255) {
      data[i] = 14;
      amt[14]++;
    } else if (num < 256) {
      data[i] = 15;
      amt[15]++;
    }
  }
  printf("\n0:%d\n", amt[0]);
  printf("1:%d\n", amt[1]);
  printf("2:%d\n", amt[2]);
  printf("3:%d\n", amt[3]);
  printf("4:%d\n", amt[4]);
  printf("5:%d\n", amt[5]);
  printf("6:%d\n", amt[6]);
  printf("7:%d\n", amt[7]);
  printf("8:%d\n", amt[8]);
  printf("9:%d\n", amt[9]);
  printf("10:%d\n", amt[10]);
  printf("11:%d\n", amt[11]);
  printf("12:%d\n", amt[12]);
  printf("13:%d\n", amt[13]);
  printf("14:%d\n", amt[14]);
  printf("15:%d\n", amt[15]);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2060,%rsp
movl   $0x0,-0x4(%rbp)
xor    %eax,%eax
mov    %eax,%edi
call   1050 <time@plt>
mov    %eax,%edi
call   1040 <srand@plt>
movl   $0x0,-0x2054(%rbp)
cmpl   $0x800,-0x2054(%rbp)
jge    1581 <main+0x441>
mov    $0x0,%al
call   1060 <rand@plt>
movzbl %al,%eax
and    $0xff,%eax
mov    %al,-0x2055(%rbp)
movzbl -0x2055(%rbp),%esi
lea    0xe61(%rip),%rdi
call   1030 <printf@plt>
movzbl -0x2055(%rbp),%eax
cmp    $0x50,%eax
jge    11da <main+0x9a>
movslq -0x2054(%rbp),%rax
movl   $0x0,-0x2010(%rbp,%rax,4)
mov    -0x2050(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2050(%rbp)
jmp    1568 <main+0x428>
movzbl -0x2055(%rbp),%eax
cmp    $0x82,%eax
jge    1212 <main+0xd2>
movslq -0x2054(%rbp),%rax
movl   $0x1,-0x2010(%rbp,%rax,4)
mov    -0x204c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x204c(%rbp)
jmp    1563 <main+0x423>
movzbl -0x2055(%rbp),%eax
cmp    $0x96,%eax
jge    124a <main+0x10a>
movslq -0x2054(%rbp),%rax
movl   $0x2,-0x2010(%rbp,%rax,4)
mov    -0x2048(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2048(%rbp)
jmp    155e <main+0x41e>
movzbl -0x2055(%rbp),%eax
cmp    $0xaa,%eax
jge    1282 <main+0x142>
movslq -0x2054(%rbp),%rax
movl   $0x3,-0x2010(%rbp,%rax,4)
mov    -0x2044(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2044(%rbp)
jmp    1559 <main+0x419>
movzbl -0x2055(%rbp),%eax
cmp    $0xb9,%eax
jge    12ba <main+0x17a>
movslq -0x2054(%rbp),%rax
movl   $0x4,-0x2010(%rbp,%rax,4)
mov    -0x2040(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2040(%rbp)
jmp    1554 <main+0x414>
movzbl -0x2055(%rbp),%eax
cmp    $0xc8,%eax
jge    12f2 <main+0x1b2>
movslq -0x2054(%rbp),%rax
movl   $0x5,-0x2010(%rbp,%rax,4)
mov    -0x203c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x203c(%rbp)
jmp    154f <main+0x40f>
movzbl -0x2055(%rbp),%eax
cmp    $0xd2,%eax
jge    132a <main+0x1ea>
movslq -0x2054(%rbp),%rax
movl   $0x6,-0x2010(%rbp,%rax,4)
mov    -0x2038(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2038(%rbp)
jmp    154a <main+0x40a>
movzbl -0x2055(%rbp),%eax
cmp    $0xdc,%eax
jge    1362 <main+0x222>
movslq -0x2054(%rbp),%rax
movl   $0x7,-0x2010(%rbp,%rax,4)
mov    -0x2034(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2034(%rbp)
jmp    1545 <main+0x405>
movzbl -0x2055(%rbp),%eax
cmp    $0xe1,%eax
jge    139a <main+0x25a>
movslq -0x2054(%rbp),%rax
movl   $0x8,-0x2010(%rbp,%rax,4)
mov    -0x2030(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2030(%rbp)
jmp    1540 <main+0x400>
movzbl -0x2055(%rbp),%eax
cmp    $0xe6,%eax
jge    13d2 <main+0x292>
movslq -0x2054(%rbp),%rax
movl   $0x9,-0x2010(%rbp,%rax,4)
mov    -0x202c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x202c(%rbp)
jmp    153b <main+0x3fb>
movzbl -0x2055(%rbp),%eax
cmp    $0xeb,%eax
jge    140a <main+0x2ca>
movslq -0x2054(%rbp),%rax
movl   $0xa,-0x2010(%rbp,%rax,4)
mov    -0x2028(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2028(%rbp)
jmp    1536 <main+0x3f6>
movzbl -0x2055(%rbp),%eax
cmp    $0xf0,%eax
jge    1442 <main+0x302>
movslq -0x2054(%rbp),%rax
movl   $0xb,-0x2010(%rbp,%rax,4)
mov    -0x2024(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2024(%rbp)
jmp    1531 <main+0x3f1>
movzbl -0x2055(%rbp),%eax
cmp    $0xf5,%eax
jge    147a <main+0x33a>
movslq -0x2054(%rbp),%rax
movl   $0xc,-0x2010(%rbp,%rax,4)
mov    -0x2020(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2020(%rbp)
jmp    152c <main+0x3ec>
movzbl -0x2055(%rbp),%eax
cmp    $0xfa,%eax
jge    14b2 <main+0x372>
movslq -0x2054(%rbp),%rax
movl   $0xd,-0x2010(%rbp,%rax,4)
mov    -0x201c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x201c(%rbp)
jmp    1527 <main+0x3e7>
movzbl -0x2055(%rbp),%eax
cmp    $0xff,%eax
jge    14ea <main+0x3aa>
movslq -0x2054(%rbp),%rax
movl   $0xe,-0x2010(%rbp,%rax,4)
mov    -0x2018(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2018(%rbp)
jmp    1522 <main+0x3e2>
movzbl -0x2055(%rbp),%eax
cmp    $0x100,%eax
jge    151d <main+0x3dd>
movslq -0x2054(%rbp),%rax
movl   $0xf,-0x2010(%rbp,%rax,4)
mov    -0x2014(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2014(%rbp)
jmp    1522 <main+0x3e2>
jmp    1527 <main+0x3e7>
jmp    152c <main+0x3ec>
jmp    1531 <main+0x3f1>
jmp    1536 <main+0x3f6>
jmp    153b <main+0x3fb>
jmp    1540 <main+0x400>
jmp    1545 <main+0x405>
jmp    154a <main+0x40a>
jmp    154f <main+0x40f>
jmp    1554 <main+0x414>
jmp    1559 <main+0x419>
jmp    155e <main+0x41e>
jmp    1563 <main+0x423>
jmp    1568 <main+0x428>
jmp    156d <main+0x42d>
mov    -0x2054(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2054(%rbp)
jmp    116c <main+0x2c>
mov    -0x2050(%rbp),%esi
lea    0xa77(%rip),%rdi
call   1030 <printf@plt>
mov    -0x204c(%rbp),%esi
lea    0xa8c(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2048(%rbp),%esi
lea    0xa81(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2044(%rbp),%esi
lea    0xa76(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2040(%rbp),%esi
lea    0xa6b(%rip),%rdi
call   1030 <printf@plt>
mov    -0x203c(%rbp),%esi
lea    0xa60(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2038(%rbp),%esi
lea    0xa12(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2034(%rbp),%esi
lea    0xa06(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2030(%rbp),%esi
lea    0x9fa(%rip),%rdi
call   1030 <printf@plt>
mov    -0x202c(%rbp),%esi
lea    0x9ee(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2028(%rbp),%esi
lea    0x9e2(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2024(%rbp),%esi
lea    0x9d7(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2020(%rbp),%esi
lea    0x9cc(%rip),%rdi
call   1030 <printf@plt>
mov    -0x201c(%rbp),%esi
lea    0x9c1(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2018(%rbp),%esi
lea    0x9b6(%rip),%rdi
call   1030 <printf@plt>
mov    -0x2014(%rbp),%esi
lea    0x9ab(%rip),%rdi
call   1030 <printf@plt>
mov    -0x4(%rbp),%eax
add    $0x2060,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x38,%rsp
xor    %edi,%edi
call   1050 <time@plt>
mov    %eax,%edi
call   1040 <srand@plt>
mov    $0x800,%r15d
lea    0xe97(%rip),%rbx
jmp    117e <main+0x3e>
nopl   0x0(%rax,%rax,1)
add    $0x1,%r13d
add    $0xffffffff,%r15d
je     12a6 <main+0x166>
xor    %eax,%eax
call   1060 <rand@plt>
mov    %eax,%ebp
movzbl %al,%r14d
mov    %rbx,%rdi
mov    %r14d,%esi
call   1030 <printf@plt>
cmp    $0x4f,%r14b
jbe    1170 <main+0x30>
cmp    $0x81,%bpl
ja     11b0 <main+0x70>
add    $0x1,%r12d
jmp    1174 <main+0x34>
nopl   0x0(%rax,%rax,1)
cmp    $0x95,%bpl
ja     11bd <main+0x7d>
addl   $0x1,0x34(%rsp)
jmp    1174 <main+0x34>
cmp    $0xa9,%bpl
ja     11ca <main+0x8a>
addl   $0x1,0x30(%rsp)
jmp    1174 <main+0x34>
cmp    $0xb8,%bpl
ja     11d7 <main+0x97>
addl   $0x1,0x2c(%rsp)
jmp    1174 <main+0x34>
cmp    $0xc7,%bpl
mov    0x18(%rsp),%eax
ja     11ea <main+0xaa>
add    $0x1,%eax
mov    %eax,0x18(%rsp)
jmp    1174 <main+0x34>
cmp    $0xd1,%bpl
ja     11fa <main+0xba>
addl   $0x1,0x28(%rsp)
jmp    1174 <main+0x34>
cmp    $0xdb,%bpl
mov    0x14(%rsp),%eax
ja     1210 <main+0xd0>
add    $0x1,%eax
mov    %eax,0x14(%rsp)
jmp    1174 <main+0x34>
cmp    $0xe0,%bpl
ja     1220 <main+0xe0>
addl   $0x1,0x24(%rsp)
jmp    1174 <main+0x34>
cmp    $0xe5,%bpl
mov    0x10(%rsp),%eax
ja     1236 <main+0xf6>
add    $0x1,%eax
mov    %eax,0x10(%rsp)
jmp    1174 <main+0x34>
cmp    $0xea,%bpl
ja     1246 <main+0x106>
addl   $0x1,0x20(%rsp)
jmp    1174 <main+0x34>
cmp    $0xef,%bpl
mov    0xc(%rsp),%eax
ja     125c <main+0x11c>
add    $0x1,%eax
mov    %eax,0xc(%rsp)
jmp    1174 <main+0x34>
cmp    $0xf4,%bpl
mov    0x8(%rsp),%eax
ja     1272 <main+0x132>
add    $0x1,%eax
mov    %eax,0x8(%rsp)
jmp    1174 <main+0x34>
cmp    $0xf9,%bpl
mov    0x4(%rsp),%eax
ja     1288 <main+0x148>
add    $0x1,%eax
mov    %eax,0x4(%rsp)
jmp    1174 <main+0x34>
cmp    $0xff,%bpl
mov    (%rsp),%eax
je     129c <main+0x15c>
add    $0x1,%eax
mov    %eax,(%rsp)
jmp    1174 <main+0x34>
addl   $0x1,0x1c(%rsp)
jmp    1174 <main+0x34>
lea    0xd58(%rip),%rdi
mov    %r13d,%esi
call   1030 <printf@plt>
lea    0xd70(%rip),%rdi
mov    %r12d,%esi
call   1030 <printf@plt>
lea    0xd68(%rip),%rdi
mov    0x34(%rsp),%esi
call   1030 <printf@plt>
lea    0xd5f(%rip),%rdi
mov    0x30(%rsp),%esi
call   1030 <printf@plt>
lea    0xd56(%rip),%rdi
mov    0x2c(%rsp),%esi
call   1030 <printf@plt>
lea    0xd4d(%rip),%rdi
mov    0x18(%rsp),%esi
call   1030 <printf@plt>
lea    0xd01(%rip),%rdi
mov    0x28(%rsp),%esi
call   1030 <printf@plt>
lea    0xcf7(%rip),%rdi
mov    0x14(%rsp),%esi
call   1030 <printf@plt>
lea    0xced(%rip),%rdi
mov    0x24(%rsp),%esi
call   1030 <printf@plt>
lea    0xce3(%rip),%rdi
mov    0x10(%rsp),%esi
call   1030 <printf@plt>
lea    0xcd9(%rip),%rdi
mov    0x20(%rsp),%esi
call   1030 <printf@plt>
lea    0xcd0(%rip),%rdi
mov    0xc(%rsp),%esi
call   1030 <printf@plt>
lea    0xcc7(%rip),%rdi
mov    0x8(%rsp),%esi
call   1030 <printf@plt>
lea    0xcbe(%rip),%rdi
mov    0x4(%rsp),%esi
call   1030 <printf@plt>
lea    0xcb5(%rip),%rdi
mov    (%rsp),%esi
call   1030 <printf@plt>
lea    0xcad(%rip),%rdi
mov    0x1c(%rsp),%esi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x38,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
@.str = [5 x i8] c"%d \00"
@.str.1 = [7 x i8] c"\0A0:%d\0A\00"
@.str.2 = [6 x i8] c"1:%d\0A\00"
@.str.3 = [6 x i8] c"2:%d\0A\00"
@.str.4 = [6 x i8] c"3:%d\0A\00"
@.str.5 = [6 x i8] c"4:%d\0A\00"
@.str.6 = [6 x i8] c"5:%d\0A\00"
@.str.7 = [6 x i8] c"6:%d\0A\00"
@.str.8 = [6 x i8] c"7:%d\0A\00"
@.str.9 = [6 x i8] c"8:%d\0A\00"
@.str.10 = [6 x i8] c"9:%d\0A\00"
@.str.11 = [7 x i8] c"10:%d\0A\00"
@.str.12 = [7 x i8] c"11:%d\0A\00"
@.str.13 = [7 x i8] c"12:%d\0A\00"
@.str.14 = [7 x i8] c"13:%d\0A\00"
@.str.15 = [7 x i8] c"14:%d\0A\00"
@.str.16 = [7 x i8] c"15:%d\0A\00"
define i32 @main() {
%1 = tail call i64 @time(i32* null)
%2 = trunc i64 %1 to i32
%3 = tail call i32 @srand(i32 %2)
br label %21
4: ; preds = %103
%5 = tail call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), i32 %118)
%6 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), i32 %117)
%7 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), i32 %116)
%8 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0), i32 %115)
%9 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i64 0, i64 0), i32 %114)
%10 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0), i32 %113)
%11 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7, i64 0, i64 0), i32 %112)
%12 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.8, i64 0, i64 0), i32 %111)
%13 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.9, i64 0, i64 0), i32 %110)
%14 = tail call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.10, i64 0, i64 0), i32 %109)
%15 = tail call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0), i32 %108)
%16 = tail call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0), i32 %107)
%17 = tail call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.13, i64 0, i64 0), i32 %106)
%18 = tail call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), i32 %105)
%19 = tail call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.15, i64 0, i64 0), i32 %104)
%20 = tail call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.16, i64 0, i64 0), i32 %119)
ret i32 0
21: ; preds = %0, %103
%22 = phi i32 [ undef, %0 ], [ %119, %103 ]
%23 = phi i32 [ 0, %0 ], [ %120, %103 ]
%24 = phi i32 [ undef, %0 ], [ %118, %103 ]
%25 = phi i32 [ undef, %0 ], [ %117, %103 ]
%26 = phi i32 [ undef, %0 ], [ %116, %103 ]
%27 = phi i32 [ undef, %0 ], [ %115, %103 ]
%28 = phi i32 [ undef, %0 ], [ %114, %103 ]
%29 = phi i32 [ undef, %0 ], [ %113, %103 ]
%30 = phi i32 [ undef, %0 ], [ %112, %103 ]
%31 = phi i32 [ undef, %0 ], [ %111, %103 ]
%32 = phi i32 [ undef, %0 ], [ %110, %103 ]
%33 = phi i32 [ undef, %0 ], [ %109, %103 ]
%34 = phi i32 [ undef, %0 ], [ %108, %103 ]
%35 = phi i32 [ undef, %0 ], [ %107, %103 ]
%36 = phi i32 [ undef, %0 ], [ %106, %103 ]
%37 = phi i32 [ undef, %0 ], [ %105, %103 ]
%38 = phi i32 [ undef, %0 ], [ %104, %103 ]
%39 = tail call zeroext i8 (...) @rand()
%40 = zext i8 %39 to i32
%41 = tail call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i32 %40)
%42 = icmp ult i8 %39, 80
br i1 %42, label %43, label %45
43: ; preds = %21
%44 = add i32 %24, 1
br label %103
45: ; preds = %21
%46 = icmp ult i8 %39, -126
br i1 %46, label %47, label %49
47: ; preds = %45
%48 = add i32 %25, 1
br label %103
49: ; preds = %45
%50 = icmp ult i8 %39, -106
br i1 %50, label %51, label %53
51: ; preds = %49
%52 = add i32 %26, 1
br label %103
53: ; preds = %49
%54 = icmp ult i8 %39, -86
br i1 %54, label %55, label %57
55: ; preds = %53
%56 = add i32 %27, 1
br label %103
57: ; preds = %53
%58 = icmp ult i8 %39, -71
br i1 %58, label %59, label %61
59: ; preds = %57
%60 = add i32 %28, 1
br label %103
61: ; preds = %57
%62 = icmp ult i8 %39, -56
br i1 %62, label %63, label %65
63: ; preds = %61
%64 = add i32 %29, 1
br label %103
65: ; preds = %61
%66 = icmp ult i8 %39, -46
br i1 %66, label %67, label %69
67: ; preds = %65
%68 = add i32 %30, 1
br label %103
69: ; preds = %65
%70 = icmp ult i8 %39, -36
br i1 %70, label %71, label %73
71: ; preds = %69
%72 = add i32 %31, 1
br label %103
73: ; preds = %69
%74 = icmp ult i8 %39, -31
br i1 %74, label %75, label %77
75: ; preds = %73
%76 = add i32 %32, 1
br label %103
77: ; preds = %73
%78 = icmp ult i8 %39, -26
br i1 %78, label %79, label %81
79: ; preds = %77
%80 = add i32 %33, 1
br label %103
81: ; preds = %77
%82 = icmp ult i8 %39, -21
br i1 %82, label %83, label %85
83: ; preds = %81
%84 = add i32 %34, 1
br label %103
85: ; preds = %81
%86 = icmp ult i8 %39, -16
br i1 %86, label %87, label %89
87: ; preds = %85
%88 = add i32 %35, 1
br label %103
89: ; preds = %85
%90 = icmp ult i8 %39, -11
br i1 %90, label %91, label %93
91: ; preds = %89
%92 = add i32 %36, 1
br label %103
93: ; preds = %89
%94 = icmp ult i8 %39, -6
br i1 %94, label %95, label %97
95: ; preds = %93
%96 = add i32 %37, 1
br label %103
97: ; preds = %93
%98 = icmp eq i8 %39, -1
br i1 %98, label %101, label %99
99: ; preds = %97
%100 = add i32 %38, 1
br label %103
101: ; preds = %97
%102 = add i32 %22, 1
br label %103
103: ; preds = %47, %55, %63, %71, %79, %87, %95, %101, %99, %91, %83, %75, %67, %59, %51, %43
%104 = phi i32 [ %38, %43 ], [ %38, %47 ], [ %38, %51 ], [ %38, %55 ], [ %38, %59 ], [ %38, %63 ], [ %38, %67 ], [ %38, %71 ], [ %38, %75 ], [ %38, %79 ], [ %38, %83 ], [ %38, %87 ], [ %38, %91 ], [ %38, %95 ], [ %100, %99 ], [ %38, %101 ]
%105 = phi i32 [ %37, %43 ], [ %37, %47 ], [ %37, %51 ], [ %37, %55 ], [ %37, %59 ], [ %37, %63 ], [ %37, %67 ], [ %37, %71 ], [ %37, %75 ], [ %37, %79 ], [ %37, %83 ], [ %37, %87 ], [ %37, %91 ], [ %96, %95 ], [ %37, %99 ], [ %37, %101 ]
%106 = phi i32 [ %36, %43 ], [ %36, %47 ], [ %36, %51 ], [ %36, %55 ], [ %36, %59 ], [ %36, %63 ], [ %36, %67 ], [ %36, %71 ], [ %36, %75 ], [ %36, %79 ], [ %36, %83 ], [ %36, %87 ], [ %92, %91 ], [ %36, %95 ], [ %36, %99 ], [ %36, %101 ]
%107 = phi i32 [ %35, %43 ], [ %35, %47 ], [ %35, %51 ], [ %35, %55 ], [ %35, %59 ], [ %35, %63 ], [ %35, %67 ], [ %35, %71 ], [ %35, %75 ], [ %35, %79 ], [ %35, %83 ], [ %88, %87 ], [ %35, %91 ], [ %35, %95 ], [ %35, %99 ], [ %35, %101 ]
%108 = phi i32 [ %34, %43 ], [ %34, %47 ], [ %34, %51 ], [ %34, %55 ], [ %34, %59 ], [ %34, %63 ], [ %34, %67 ], [ %34, %71 ], [ %34, %75 ], [ %34, %79 ], [ %84, %83 ], [ %34, %87 ], [ %34, %91 ], [ %34, %95 ], [ %34, %99 ], [ %34, %101 ]
%109 = phi i32 [ %33, %43 ], [ %33, %47 ], [ %33, %51 ], [ %33, %55 ], [ %33, %59 ], [ %33, %63 ], [ %33, %67 ], [ %33, %71 ], [ %33, %75 ], [ %80, %79 ], [ %33, %83 ], [ %33, %87 ], [ %33, %91 ], [ %33, %95 ], [ %33, %99 ], [ %33, %101 ]
%110 = phi i32 [ %32, %43 ], [ %32, %47 ], [ %32, %51 ], [ %32, %55 ], [ %32, %59 ], [ %32, %63 ], [ %32, %67 ], [ %32, %71 ], [ %76, %75 ], [ %32, %79 ], [ %32, %83 ], [ %32, %87 ], [ %32, %91 ], [ %32, %95 ], [ %32, %99 ], [ %32, %101 ]
%111 = phi i32 [ %31, %43 ], [ %31, %47 ], [ %31, %51 ], [ %31, %55 ], [ %31, %59 ], [ %31, %63 ], [ %31, %67 ], [ %72, %71 ], [ %31, %75 ], [ %31, %79 ], [ %31, %83 ], [ %31, %87 ], [ %31, %91 ], [ %31, %95 ], [ %31, %99 ], [ %31, %101 ]
%112 = phi i32 [ %30, %43 ], [ %30, %47 ], [ %30, %51 ], [ %30, %55 ], [ %30, %59 ], [ %30, %63 ], [ %68, %67 ], [ %30, %71 ], [ %30, %75 ], [ %30, %79 ], [ %30, %83 ], [ %30, %87 ], [ %30, %91 ], [ %30, %95 ], [ %30, %99 ], [ %30, %101 ]
%113 = phi i32 [ %29, %43 ], [ %29, %47 ], [ %29, %51 ], [ %29, %55 ], [ %29, %59 ], [ %64, %63 ], [ %29, %67 ], [ %29, %71 ], [ %29, %75 ], [ %29, %79 ], [ %29, %83 ], [ %29, %87 ], [ %29, %91 ], [ %29, %95 ], [ %29, %99 ], [ %29, %101 ]
%114 = phi i32 [ %28, %43 ], [ %28, %47 ], [ %28, %51 ], [ %28, %55 ], [ %60, %59 ], [ %28, %63 ], [ %28, %67 ], [ %28, %71 ], [ %28, %75 ], [ %28, %79 ], [ %28, %83 ], [ %28, %87 ], [ %28, %91 ], [ %28, %95 ], [ %28, %99 ], [ %28, %101 ]
%115 = phi i32 [ %27, %43 ], [ %27, %47 ], [ %27, %51 ], [ %56, %55 ], [ %27, %59 ], [ %27, %63 ], [ %27, %67 ], [ %27, %71 ], [ %27, %75 ], [ %27, %79 ], [ %27, %83 ], [ %27, %87 ], [ %27, %91 ], [ %27, %95 ], [ %27, %99 ], [ %27, %101 ]
%116 = phi i32 [ %26, %43 ], [ %26, %47 ], [ %52, %51 ], [ %26, %55 ], [ %26, %59 ], [ %26, %63 ], [ %26, %67 ], [ %26, %71 ], [ %26, %75 ], [ %26, %79 ], [ %26, %83 ], [ %26, %87 ], [ %26, %91 ], [ %26, %95 ], [ %26, %99 ], [ %26, %101 ]
%117 = phi i32 [ %25, %43 ], [ %48, %47 ], [ %25, %51 ], [ %25, %55 ], [ %25, %59 ], [ %25, %63 ], [ %25, %67 ], [ %25, %71 ], [ %25, %75 ], [ %25, %79 ], [ %25, %83 ], [ %25, %87 ], [ %25, %91 ], [ %25, %95 ], [ %25, %99 ], [ %25, %101 ]
%118 = phi i32 [ %44, %43 ], [ %24, %47 ], [ %24, %51 ], [ %24, %55 ], [ %24, %59 ], [ %24, %63 ], [ %24, %67 ], [ %24, %71 ], [ %24, %75 ], [ %24, %79 ], [ %24, %83 ], [ %24, %87 ], [ %24, %91 ], [ %24, %95 ], [ %24, %99 ], [ %24, %101 ]
%119 = phi i32 [ %22, %43 ], [ %22, %47 ], [ %22, %51 ], [ %22, %55 ], [ %22, %59 ], [ %22, %63 ], [ %22, %67 ], [ %22, %71 ], [ %22, %75 ], [ %22, %79 ], [ %22, %83 ], [ %22, %87 ], [ %22, %91 ], [ %22, %95 ], [ %22, %99 ], [ %102, %101 ]
%120 = add nuw nsw i32 %23, 1
%121 = icmp eq i32 %120, 2048
br i1 %121, label %4, label %21
}