#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 *);
int main() {
  int i;
  int a[100];
  char flag;
  for (i = 0; i < 100; i++)
    a[i] = 0;
#pragma acc data copy(a) if (4)
  {
    for (i = 0; i < 100; i++)
      a[i] = 1;
#pragma acc parallel loop
    for (i = 0; i < 100; i++)
      a[i] += 1;
  }
  for (i = 0; i < 100; i++) {
    if (a[i] != 1)
      return 1;
  }
  flag = 12;
  for (i = 0; i < 100; i++)
    a[i] = 0;
#pragma acc data copy(a) if (flag)
  {
    for (i = 0; i < 100; i++)
      a[i] = 1;
#pragma acc parallel loop
    for (i = 0; i < 100; i++)
      a[i] += 1;
  }
  for (i = 0; i < 100; i++) {
    if (a[i] != 1)
      return 3;
  }
  printf("PASS\n");
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1b0,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    1150 <main+0x40>
movslq -0x8(%rbp),%rax
movl   $0x0,-0x1a0(%rbp,%rax,4)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1129 <main+0x19>
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    117e <main+0x6e>
movslq -0x8(%rbp),%rax
movl   $0x1,-0x1a0(%rbp,%rax,4)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1157 <main+0x47>
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    11b2 <main+0xa2>
movslq -0x8(%rbp),%rax
mov    -0x1a0(%rbp,%rax,4),%ecx
add    $0x1,%ecx
mov    %ecx,-0x1a0(%rbp,%rax,4)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1185 <main+0x75>
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    11f4 <main+0xe4>
movslq -0x8(%rbp),%rax
cmpl   $0x1,-0x1a0(%rbp,%rax,4)
01
je     11e1 <main+0xd1>
movl   $0x1,-0x4(%rbp)
jmp    12e0 <main+0x1d0>
jmp    11e6 <main+0xd6>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    11b9 <main+0xa9>
movb   $0xc,-0x1a1(%rbp)
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    1229 <main+0x119>
movslq -0x8(%rbp),%rax
movl   $0x0,-0x1a0(%rbp,%rax,4)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1202 <main+0xf2>
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    1257 <main+0x147>
movslq -0x8(%rbp),%rax
movl   $0x1,-0x1a0(%rbp,%rax,4)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1230 <main+0x120>
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    128b <main+0x17b>
movslq -0x8(%rbp),%rax
mov    -0x1a0(%rbp,%rax,4),%ecx
add    $0x1,%ecx
mov    %ecx,-0x1a0(%rbp,%rax,4)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    125e <main+0x14e>
movl   $0x0,-0x8(%rbp)
cmpl   $0x64,-0x8(%rbp)
jge    12cd <main+0x1bd>
movslq -0x8(%rbp),%rax
cmpl   $0x1,-0x1a0(%rbp,%rax,4)
01
je     12ba <main+0x1aa>
movl   $0x3,-0x4(%rbp)
jmp    12e0 <main+0x1d0>
jmp    12bf <main+0x1af>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1292 <main+0x182>
lea    0xd2c(%rip),%rdi
call   1030 <printf@plt>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x1b0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
sub    $0x198,%rsp
mov    %rsp,%rdi
mov    $0x190,%edx
xor    %esi,%esi
call   1040 <memset@plt>
movdqa 0xec2(%rip),%xmm0
movdqa %xmm0,(%rsp)
movdqa %xmm0,0x10(%rsp)
movdqa %xmm0,0x20(%rsp)
movdqa %xmm0,0x30(%rsp)
movdqa %xmm0,0x40(%rsp)
movdqa %xmm0,0x50(%rsp)
movdqa %xmm0,0x60(%rsp)
movdqa %xmm0,0x70(%rsp)
movdqa %xmm0,0x80(%rsp)
movdqa %xmm0,0x90(%rsp)
movdqa %xmm0,0xa0(%rsp)
movdqa %xmm0,0xb0(%rsp)
movdqa %xmm0,0xc0(%rsp)
movdqa %xmm0,0xd0(%rsp)
movdqa %xmm0,0xe0(%rsp)
movdqa %xmm0,0xf0(%rsp)
movdqa %xmm0,0x100(%rsp)
movdqa %xmm0,0x110(%rsp)
movdqa %xmm0,0x120(%rsp)
movdqa %xmm0,0x130(%rsp)
movdqa %xmm0,0x140(%rsp)
movdqa %xmm0,0x150(%rsp)
movdqa %xmm0,0x160(%rsp)
movdqa %xmm0,0x170(%rsp)
movdqa %xmm0,0x180(%rsp)
pcmpeqd %xmm0,%xmm0
movdqa (%rsp),%xmm1
movdqa 0x10(%rsp),%xmm2
movdqa 0x20(%rsp),%xmm3
movdqa 0x30(%rsp),%xmm4
psubd  %xmm0,%xmm1
movdqa %xmm1,(%rsp)
psubd  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
psubd  %xmm0,%xmm3
movdqa %xmm3,0x20(%rsp)
psubd  %xmm0,%xmm4
movdqa %xmm4,0x30(%rsp)
movdqa 0x40(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x40(%rsp)
movdqa 0x50(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x50(%rsp)
movdqa 0x60(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x60(%rsp)
movdqa 0x70(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x70(%rsp)
movdqa 0x80(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x80(%rsp)
movdqa 0x90(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x90(%rsp)
movdqa 0xa0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xa0(%rsp)
movdqa 0xb0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xb0(%rsp)
movdqa 0xc0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xc0(%rsp)
movdqa 0xd0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xd0(%rsp)
movdqa 0xe0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xe0(%rsp)
movdqa 0xf0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xf0(%rsp)
movdqa 0x100(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x100(%rsp)
movdqa 0x110(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x110(%rsp)
movdqa 0x120(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x120(%rsp)
movdqa 0x130(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x130(%rsp)
movdqa 0x140(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x140(%rsp)
movdqa 0x150(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x150(%rsp)
movdqa 0x160(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x160(%rsp)
movdqa 0x170(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x170(%rsp)
movdqa 0x180(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x180(%rsp)
mov    $0x4,%ecx
mov    $0x1,%eax
nopl   0x0(%rax,%rax,1)
cmpl   $0x1,-0x10(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,-0xc(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,-0x8(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,-0x4(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,(%rsp,%rcx,4)
jne    177a <main+0x65a>
add    $0x5,%rcx
cmp    $0x68,%rcx
jne    1410 <main+0x2f0>
mov    %rsp,%rdi
mov    $0x190,%edx
xor    %esi,%esi
call   1040 <memset@plt>
movdqa 0xb99(%rip),%xmm0
movdqa %xmm0,(%rsp)
movdqa %xmm0,0x10(%rsp)
movdqa %xmm0,0x20(%rsp)
movdqa %xmm0,0x30(%rsp)
movdqa %xmm0,0x40(%rsp)
movdqa %xmm0,0x50(%rsp)
movdqa %xmm0,0x60(%rsp)
movdqa %xmm0,0x70(%rsp)
movdqa %xmm0,0x80(%rsp)
movdqa %xmm0,0x90(%rsp)
movdqa %xmm0,0xa0(%rsp)
movdqa %xmm0,0xb0(%rsp)
movdqa %xmm0,0xc0(%rsp)
movdqa %xmm0,0xd0(%rsp)
movdqa %xmm0,0xe0(%rsp)
movdqa %xmm0,0xf0(%rsp)
movdqa %xmm0,0x100(%rsp)
movdqa %xmm0,0x110(%rsp)
movdqa %xmm0,0x120(%rsp)
movdqa %xmm0,0x130(%rsp)
movdqa %xmm0,0x140(%rsp)
movdqa %xmm0,0x150(%rsp)
movdqa %xmm0,0x160(%rsp)
movdqa %xmm0,0x170(%rsp)
movdqa %xmm0,0x180(%rsp)
pcmpeqd %xmm0,%xmm0
movdqa (%rsp),%xmm1
movdqa 0x10(%rsp),%xmm2
movdqa 0x20(%rsp),%xmm3
movdqa 0x30(%rsp),%xmm4
psubd  %xmm0,%xmm1
movdqa %xmm1,(%rsp)
psubd  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
psubd  %xmm0,%xmm3
movdqa %xmm3,0x20(%rsp)
psubd  %xmm0,%xmm4
movdqa %xmm4,0x30(%rsp)
movdqa 0x40(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x40(%rsp)
movdqa 0x50(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x50(%rsp)
movdqa 0x60(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x60(%rsp)
movdqa 0x70(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x70(%rsp)
movdqa 0x80(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x80(%rsp)
movdqa 0x90(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x90(%rsp)
movdqa 0xa0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xa0(%rsp)
movdqa 0xb0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xb0(%rsp)
movdqa 0xc0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xc0(%rsp)
movdqa 0xd0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xd0(%rsp)
movdqa 0xe0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xe0(%rsp)
movdqa 0xf0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0xf0(%rsp)
movdqa 0x100(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x100(%rsp)
movdqa 0x110(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x110(%rsp)
movdqa 0x120(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x120(%rsp)
movdqa 0x130(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x130(%rsp)
movdqa 0x140(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x140(%rsp)
movdqa 0x150(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x150(%rsp)
movdqa 0x160(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x160(%rsp)
movdqa 0x170(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x170(%rsp)
movdqa 0x180(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x180(%rsp)
mov    $0x4,%ecx
mov    $0x3,%eax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
cmpl   $0x1,-0x10(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,-0xc(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,-0x8(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,-0x4(%rsp,%rcx,4)
jne    177a <main+0x65a>
cmpl   $0x1,(%rsp,%rcx,4)
jne    177a <main+0x65a>
add    $0x5,%rcx
cmp    $0x68,%rcx
jne    1740 <main+0x620>
lea    0x89d(%rip),%rdi
call   1030 <puts@plt>
xor    %eax,%eax
add    $0x198,%rsp
ret

LLVM IR (-O0):
@.str = [6 x i8] c"PASS\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca [100 x i32]
%4 = alloca i8
store i32 0, i32* %1
store i32 0, i32* %2
br label %5
5: ; preds = %12, %0
%6 = load i32, i32* %2
%7 = icmp slt i32 %6, 100
br i1 %7, label %8, label %15
8: ; preds = %5
%9 = load i32, i32* %2
%10 = sext i32 %9 to i64
%11 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %10
store i32 0, i32* %11
br label %12
12: ; preds = %8
%13 = load i32, i32* %2
%14 = add nsw i32 %13, 1
store i32 %14, i32* %2
br label %5
15: ; preds = %5
store i32 0, i32* %2
br label %16
16: ; preds = %23, %15
%17 = load i32, i32* %2
%18 = icmp slt i32 %17, 100
br i1 %18, label %19, label %26
19: ; preds = %16
%20 = load i32, i32* %2
%21 = sext i32 %20 to i64
%22 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %21
store i32 1, i32* %22
br label %23
23: ; preds = %19
%24 = load i32, i32* %2
%25 = add nsw i32 %24, 1
store i32 %25, i32* %2
br label %16
26: ; preds = %16
store i32 0, i32* %2
br label %27
27: ; preds = %36, %26
%28 = load i32, i32* %2
%29 = icmp slt i32 %28, 100
br i1 %29, label %30, label %39
30: ; preds = %27
%31 = load i32, i32* %2
%32 = sext i32 %31 to i64
%33 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %32
%34 = load i32, i32* %33
%35 = add nsw i32 %34, 1
store i32 %35, i32* %33
br label %36
36: ; preds = %30
%37 = load i32, i32* %2
%38 = add nsw i32 %37, 1
store i32 %38, i32* %2
br label %27
39: ; preds = %27
store i32 0, i32* %2
br label %40
40: ; preds = %51, %39
%41 = load i32, i32* %2
%42 = icmp slt i32 %41, 100
br i1 %42, label %43, label %54
43: ; preds = %40
%44 = load i32, i32* %2
%45 = sext i32 %44 to i64
%46 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %45
%47 = load i32, i32* %46
%48 = icmp ne i32 %47, 1
br i1 %48, label %49, label %50
49: ; preds = %43
store i32 1, i32* %1
br label %106
50: ; preds = %43
br label %51
51: ; preds = %50
%52 = load i32, i32* %2
%53 = add nsw i32 %52, 1
store i32 %53, i32* %2
br label %40
54: ; preds = %40
store i8 12, i8* %4
store i32 0, i32* %2
br label %55
55: ; preds = %62, %54
%56 = load i32, i32* %2
%57 = icmp slt i32 %56, 100
br i1 %57, label %58, label %65
58: ; preds = %55
%59 = load i32, i32* %2
%60 = sext i32 %59 to i64
%61 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %60
store i32 0, i32* %61
br label %62
62: ; preds = %58
%63 = load i32, i32* %2
%64 = add nsw i32 %63, 1
store i32 %64, i32* %2
br label %55
65: ; preds = %55
store i32 0, i32* %2
br label %66
66: ; preds = %73, %65
%67 = load i32, i32* %2
%68 = icmp slt i32 %67, 100
br i1 %68, label %69, label %76
69: ; preds = %66
%70 = load i32, i32* %2
%71 = sext i32 %70 to i64
%72 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %71
store i32 1, i32* %72
br label %73
73: ; preds = %69
%74 = load i32, i32* %2
%75 = add nsw i32 %74, 1
store i32 %75, i32* %2
br label %66
76: ; preds = %66
store i32 0, i32* %2
br label %77
77: ; preds = %86, %76
%78 = load i32, i32* %2
%79 = icmp slt i32 %78, 100
br i1 %79, label %80, label %89
80: ; preds = %77
%81 = load i32, i32* %2
%82 = sext i32 %81 to i64
%83 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %82
%84 = load i32, i32* %83
%85 = add nsw i32 %84, 1
store i32 %85, i32* %83
br label %86
86: ; preds = %80
%87 = load i32, i32* %2
%88 = add nsw i32 %87, 1
store i32 %88, i32* %2
br label %77
89: ; preds = %77
store i32 0, i32* %2
br label %90
90: ; preds = %101, %89
%91 = load i32, i32* %2
%92 = icmp slt i32 %91, 100
br i1 %92, label %93, label %104
93: ; preds = %90
%94 = load i32, i32* %2
%95 = sext i32 %94 to i64
%96 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %95
%97 = load i32, i32* %96
%98 = icmp ne i32 %97, 1
br i1 %98, label %99, label %100
99: ; preds = %93
store i32 3, i32* %1
br label %106
100: ; preds = %93
br label %101
101: ; preds = %100
%102 = load i32, i32* %2
%103 = add nsw i32 %102, 1
store i32 %103, i32* %2
br label %90
104: ; preds = %90
%105 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
store i32 0, i32* %1
br label %106
106: ; preds = %104, %99, %49
%107 = load i32, i32* %1
ret i32 %107
}

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