#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*/ test(int *, int *, int);
int main() {
  int a[100], b[100];
  int i;
  for (i = 0; i < 100; i++)
    b[i] = i + 1;
#pragma acc parallel loop gang(static : *) num_gangs(10)
  for (i = 0; i < 100; i++)
    a[i] = b[i] + 0;
  test(a, b, 0);
#pragma acc parallel loop gang(static : 1) num_gangs(10)
  for (i = 0; i < 100; i++)
    a[i] = b[i] + 1;
  test(a, b, 1);
#pragma acc parallel loop gang(static : 5) num_gangs(10)
  for (i = 0; i < 100; i++)
    a[i] = b[i] + 5;
  test(a, b, 5);
#pragma acc parallel loop gang(static : 20) num_gangs(10)
  for (i = 0; i < 100; i++)
    a[i] = b[i] + 20;
  test(a, b, 20);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x340,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x334(%rbp)
cmpl   $0x64,-0x334(%rbp)
jge    1164 <main+0x54>
mov    -0x334(%rbp),%ecx
add    $0x1,%ecx
movslq -0x334(%rbp),%rax
mov    %ecx,-0x330(%rbp,%rax,4)
mov    -0x334(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x334(%rbp)
jmp    112c <main+0x1c>
movl   $0x0,-0x334(%rbp)
cmpl   $0x64,-0x334(%rbp)
jge    11ae <main+0x9e>
movslq -0x334(%rbp),%rax
mov    -0x330(%rbp,%rax,4),%ecx
add    $0x0,%ecx
movslq -0x334(%rbp),%rax
mov    %ecx,-0x1a0(%rbp,%rax,4)
mov    -0x334(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x334(%rbp)
jmp    116e <main+0x5e>
lea    -0x1a0(%rbp),%rdi
lea    -0x330(%rbp),%rsi
xor    %edx,%edx
call   1030 <test@plt>
movl   $0x0,-0x334(%rbp)
cmpl   $0x64,-0x334(%rbp)
jge    120d <main+0xfd>
movslq -0x334(%rbp),%rax
mov    -0x330(%rbp,%rax,4),%ecx
add    $0x1,%ecx
movslq -0x334(%rbp),%rax
mov    %ecx,-0x1a0(%rbp,%rax,4)
mov    -0x334(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x334(%rbp)
jmp    11cd <main+0xbd>
lea    -0x1a0(%rbp),%rdi
lea    -0x330(%rbp),%rsi
mov    $0x1,%edx
call   1030 <test@plt>
movl   $0x0,-0x334(%rbp)
cmpl   $0x64,-0x334(%rbp)
jge    126f <main+0x15f>
movslq -0x334(%rbp),%rax
mov    -0x330(%rbp,%rax,4),%ecx
add    $0x5,%ecx
movslq -0x334(%rbp),%rax
mov    %ecx,-0x1a0(%rbp,%rax,4)
mov    -0x334(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x334(%rbp)
jmp    122f <main+0x11f>
lea    -0x1a0(%rbp),%rdi
lea    -0x330(%rbp),%rsi
mov    $0x5,%edx
call   1030 <test@plt>
movl   $0x0,-0x334(%rbp)
cmpl   $0x64,-0x334(%rbp)
jge    12d1 <main+0x1c1>
movslq -0x334(%rbp),%rax
mov    -0x330(%rbp,%rax,4),%ecx
add    $0x14,%ecx
movslq -0x334(%rbp),%rax
mov    %ecx,-0x1a0(%rbp,%rax,4)
mov    -0x334(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x334(%rbp)
jmp    1291 <main+0x181>
lea    -0x1a0(%rbp),%rdi
lea    -0x330(%rbp),%rsi
mov    $0x14,%edx
call   1030 <test@plt>
xor    %eax,%eax
add    $0x340,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
sub    $0x328,%rsp
movaps 0xecf(%rip),%xmm0
movaps %xmm0,(%rsp)
movaps 0xed4(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
movaps 0xed8(%rip),%xmm0
movaps %xmm0,0x20(%rsp)
movaps 0xedc(%rip),%xmm0
movaps %xmm0,0x30(%rsp)
movaps 0xee0(%rip),%xmm0
movaps %xmm0,0x40(%rsp)
movaps 0xee4(%rip),%xmm0
movaps %xmm0,0x50(%rsp)
movaps 0xee8(%rip),%xmm0
movaps %xmm0,0x60(%rsp)
movaps 0xeec(%rip),%xmm0
movaps %xmm0,0x70(%rsp)
movaps 0xef0(%rip),%xmm0
movaps %xmm0,0x80(%rsp)
movaps 0xef1(%rip),%xmm0
movaps %xmm0,0x90(%rsp)
movaps 0xef2(%rip),%xmm0
movaps %xmm0,0xa0(%rsp)
movaps 0xef3(%rip),%xmm0
movaps %xmm0,0xb0(%rsp)
movaps 0xef4(%rip),%xmm0
movaps %xmm0,0xc0(%rsp)
movaps 0xef5(%rip),%xmm0
movaps %xmm0,0xd0(%rsp)
movaps 0xef6(%rip),%xmm0
movaps %xmm0,0xe0(%rsp)
movaps 0xef7(%rip),%xmm0
movaps %xmm0,0xf0(%rsp)
movaps 0xef8(%rip),%xmm0
movaps %xmm0,0x100(%rsp)
movaps 0xef9(%rip),%xmm0
movaps %xmm0,0x110(%rsp)
movaps 0xefa(%rip),%xmm0
movaps %xmm0,0x120(%rsp)
movaps 0xefb(%rip),%xmm0
movaps %xmm0,0x130(%rsp)
movaps 0xefc(%rip),%xmm0
movaps %xmm0,0x140(%rsp)
movaps 0xefd(%rip),%xmm0
movaps %xmm0,0x150(%rsp)
movaps 0xefe(%rip),%xmm0
movaps %xmm0,0x160(%rsp)
movaps 0xeff(%rip),%xmm0
movaps %xmm0,0x170(%rsp)
movdqa 0xeff(%rip),%xmm0
movdqa %xmm0,0x180(%rsp)
lea    0x190(%rsp),%rbx
mov    %rsp,%r14
mov    $0x190,%edx
mov    %rbx,%rdi
mov    %r14,%rsi
call   1030 <memcpy@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
call   1040 <test@plt>
pcmpeqd %xmm0,%xmm0
movdqa (%rsp),%xmm1
movdqa 0x10(%rsp),%xmm2
movdqa 0x20(%rsp),%xmm3
movdqa 0x30(%rsp),%xmm4
psubd  %xmm0,%xmm1
movdqa %xmm1,0x190(%rsp)
psubd  %xmm0,%xmm2
movdqa %xmm2,0x1a0(%rsp)
psubd  %xmm0,%xmm3
movdqa %xmm3,0x1b0(%rsp)
psubd  %xmm0,%xmm4
movdqa %xmm4,0x1c0(%rsp)
movdqa 0x40(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x1d0(%rsp)
movdqa 0x50(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x1e0(%rsp)
movdqa 0x60(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x1f0(%rsp)
movdqa 0x70(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x200(%rsp)
movdqa 0x80(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x210(%rsp)
movdqa 0x90(%rsp),%xmm1
movdqa 0xa0(%rsp),%xmm2
movdqa 0xb0(%rsp),%xmm3
movdqa 0xc0(%rsp),%xmm4
psubd  %xmm0,%xmm1
movdqa %xmm1,0x220(%rsp)
psubd  %xmm0,%xmm2
movdqa %xmm2,0x230(%rsp)
psubd  %xmm0,%xmm3
movdqa %xmm3,0x240(%rsp)
psubd  %xmm0,%xmm4
movdqa %xmm4,0x250(%rsp)
movdqa 0xd0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x260(%rsp)
movdqa 0xe0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x270(%rsp)
movdqa 0xf0(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x280(%rsp)
movdqa 0x100(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x290(%rsp)
movdqa 0x110(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x2a0(%rsp)
movdqa 0x120(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x2b0(%rsp)
movdqa 0x130(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x2c0(%rsp)
movdqa 0x140(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x2d0(%rsp)
movdqa 0x150(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x2e0(%rsp)
movdqa 0x160(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x2f0(%rsp)
movdqa 0x170(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x300(%rsp)
movdqa 0x180(%rsp),%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm1,0x310(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
call   1040 <test@plt>
movdqa 0xcb5(%rip),%xmm0
movdqa (%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x190(%rsp)
movdqa 0x10(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1a0(%rsp)
movdqa 0x20(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1b0(%rsp)
movdqa 0x30(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1c0(%rsp)
movdqa 0x40(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1d0(%rsp)
movdqa 0x50(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1e0(%rsp)
movdqa 0x60(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1f0(%rsp)
movdqa 0x70(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x200(%rsp)
movdqa 0x80(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x210(%rsp)
movdqa 0x90(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x220(%rsp)
movdqa 0xa0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x230(%rsp)
movdqa 0xb0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x240(%rsp)
movdqa 0xc0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x250(%rsp)
movdqa 0xd0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x260(%rsp)
movdqa 0xe0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x270(%rsp)
movdqa 0xf0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x280(%rsp)
movdqa 0x100(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x290(%rsp)
movdqa 0x110(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2a0(%rsp)
movdqa 0x120(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2b0(%rsp)
movdqa 0x130(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2c0(%rsp)
movdqa 0x140(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2d0(%rsp)
movdqa 0x150(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2e0(%rsp)
movdqa 0x160(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2f0(%rsp)
movdqa 0x170(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x300(%rsp)
paddd  0x180(%rsp),%xmm0
movdqa %xmm0,0x310(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x5,%edx
call   1040 <test@plt>
movdqa 0xaa4(%rip),%xmm0
movdqa (%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x190(%rsp)
movdqa 0x10(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1a0(%rsp)
movdqa 0x20(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1b0(%rsp)
movdqa 0x30(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1c0(%rsp)
movdqa 0x40(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1d0(%rsp)
movdqa 0x50(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1e0(%rsp)
movdqa 0x60(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x1f0(%rsp)
movdqa 0x70(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x200(%rsp)
movdqa 0x80(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x210(%rsp)
movdqa 0x90(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x220(%rsp)
movdqa 0xa0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x230(%rsp)
movdqa 0xb0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x240(%rsp)
movdqa 0xc0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x250(%rsp)
movdqa 0xd0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x260(%rsp)
movdqa 0xe0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x270(%rsp)
movdqa 0xf0(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x280(%rsp)
movdqa 0x100(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x290(%rsp)
movdqa 0x110(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2a0(%rsp)
movdqa 0x120(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2b0(%rsp)
movdqa 0x130(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2c0(%rsp)
movdqa 0x140(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2d0(%rsp)
movdqa 0x150(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2e0(%rsp)
movdqa 0x160(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x2f0(%rsp)
movdqa 0x170(%rsp),%xmm1
paddd  %xmm0,%xmm1
movdqa %xmm1,0x300(%rsp)
paddd  0x180(%rsp),%xmm0
movdqa %xmm0,0x310(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x14,%edx
call   1040 <test@plt>
xor    %eax,%eax
add    $0x328,%rsp
pop    %rbx
pop    %r14
ret

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

LLVM IR (-O2):
define i32 @main() {
%1 = alloca [100 x i32]
%2 = bitcast [100 x i32]* %1 to i8*
%3 = alloca [100 x i32]
%4 = bitcast [100 x i32]* %3 to i8*
%5 = bitcast [100 x i32]* %3 to <4 x i32>*
store <4 x i32> <i32 1, i32 2, i32 3, i32 4>, <4 x i32>* %5
%6 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 4
%7 = bitcast i32* %6 to <4 x i32>*
store <4 x i32> <i32 5, i32 6, i32 7, i32 8>, <4 x i32>* %7
%8 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 8
%9 = bitcast i32* %8 to <4 x i32>*
store <4 x i32> <i32 9, i32 10, i32 11, i32 12>, <4 x i32>* %9
%10 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 12
%11 = bitcast i32* %10 to <4 x i32>*
store <4 x i32> <i32 13, i32 14, i32 15, i32 16>, <4 x i32>* %11
%12 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 16
%13 = bitcast i32* %12 to <4 x i32>*
store <4 x i32> <i32 17, i32 18, i32 19, i32 20>, <4 x i32>* %13
%14 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 20
%15 = bitcast i32* %14 to <4 x i32>*
store <4 x i32> <i32 21, i32 22, i32 23, i32 24>, <4 x i32>* %15
%16 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 24
%17 = bitcast i32* %16 to <4 x i32>*
store <4 x i32> <i32 25, i32 26, i32 27, i32 28>, <4 x i32>* %17
%18 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 28
%19 = bitcast i32* %18 to <4 x i32>*
store <4 x i32> <i32 29, i32 30, i32 31, i32 32>, <4 x i32>* %19
%20 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 32
%21 = bitcast i32* %20 to <4 x i32>*
store <4 x i32> <i32 33, i32 34, i32 35, i32 36>, <4 x i32>* %21
%22 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 36
%23 = bitcast i32* %22 to <4 x i32>*
store <4 x i32> <i32 37, i32 38, i32 39, i32 40>, <4 x i32>* %23
%24 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 40
%25 = bitcast i32* %24 to <4 x i32>*
store <4 x i32> <i32 41, i32 42, i32 43, i32 44>, <4 x i32>* %25
%26 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 44
%27 = bitcast i32* %26 to <4 x i32>*
store <4 x i32> <i32 45, i32 46, i32 47, i32 48>, <4 x i32>* %27
%28 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 48
%29 = bitcast i32* %28 to <4 x i32>*
store <4 x i32> <i32 49, i32 50, i32 51, i32 52>, <4 x i32>* %29
%30 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 52
%31 = bitcast i32* %30 to <4 x i32>*
store <4 x i32> <i32 53, i32 54, i32 55, i32 56>, <4 x i32>* %31
%32 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 56
%33 = bitcast i32* %32 to <4 x i32>*
store <4 x i32> <i32 57, i32 58, i32 59, i32 60>, <4 x i32>* %33
%34 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 60
%35 = bitcast i32* %34 to <4 x i32>*
store <4 x i32> <i32 61, i32 62, i32 63, i32 64>, <4 x i32>* %35
%36 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 64
%37 = bitcast i32* %36 to <4 x i32>*
store <4 x i32> <i32 65, i32 66, i32 67, i32 68>, <4 x i32>* %37
%38 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 68
%39 = bitcast i32* %38 to <4 x i32>*
store <4 x i32> <i32 69, i32 70, i32 71, i32 72>, <4 x i32>* %39
%40 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 72
%41 = bitcast i32* %40 to <4 x i32>*
store <4 x i32> <i32 73, i32 74, i32 75, i32 76>, <4 x i32>* %41
%42 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 76
%43 = bitcast i32* %42 to <4 x i32>*
store <4 x i32> <i32 77, i32 78, i32 79, i32 80>, <4 x i32>* %43
%44 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 80
%45 = bitcast i32* %44 to <4 x i32>*
store <4 x i32> <i32 81, i32 82, i32 83, i32 84>, <4 x i32>* %45
%46 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 84
%47 = bitcast i32* %46 to <4 x i32>*
store <4 x i32> <i32 85, i32 86, i32 87, i32 88>, <4 x i32>* %47
%48 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 88
%49 = bitcast i32* %48 to <4 x i32>*
store <4 x i32> <i32 89, i32 90, i32 91, i32 92>, <4 x i32>* %49
%50 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 92
%51 = bitcast i32* %50 to <4 x i32>*
store <4 x i32> <i32 93, i32 94, i32 95, i32 96>, <4 x i32>* %51
%52 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 96
%53 = bitcast i32* %52 to <4 x i32>*
store <4 x i32> <i32 97, i32 98, i32 99, i32 100>, <4 x i32>* %53
%54 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 0
%55 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 0
%56 = call i32 @test(i32* %54, i32* %55, i32 0)
%57 = bitcast [100 x i32]* %3 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 [100 x i32]* %1 to <4 x i32>*
store <4 x i32> %59, <4 x i32>* %60
%61 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 4
%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 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 4
%66 = bitcast i32* %65 to <4 x i32>*
store <4 x i32> %64, <4 x i32>* %66
%67 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 8
%68 = bitcast i32* %67 to <4 x i32>*
%69 = load <4 x i32>, <4 x i32>* %68
%70 = add nsw <4 x i32> %69, <i32 1, i32 1, i32 1, i32 1>
%71 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 8
%72 = bitcast i32* %71 to <4 x i32>*
store <4 x i32> %70, <4 x i32>* %72
%73 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 12
%74 = bitcast i32* %73 to <4 x i32>*
%75 = load <4 x i32>, <4 x i32>* %74
%76 = add nsw <4 x i32> %75, <i32 1, i32 1, i32 1, i32 1>
%77 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 12
%78 = bitcast i32* %77 to <4 x i32>*
store <4 x i32> %76, <4 x i32>* %78
%79 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 16
%80 = bitcast i32* %79 to <4 x i32>*
%81 = load <4 x i32>, <4 x i32>* %80
%82 = add nsw <4 x i32> %81, <i32 1, i32 1, i32 1, i32 1>
%83 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 16
%84 = bitcast i32* %83 to <4 x i32>*
store <4 x i32> %82, <4 x i32>* %84
%85 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 20
%86 = bitcast i32* %85 to <4 x i32>*
%87 = load <4 x i32>, <4 x i32>* %86
%88 = add nsw <4 x i32> %87, <i32 1, i32 1, i32 1, i32 1>
%89 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 20
%90 = bitcast i32* %89 to <4 x i32>*
store <4 x i32> %88, <4 x i32>* %90
%91 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 24
%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 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 24
%96 = bitcast i32* %95 to <4 x i32>*
store <4 x i32> %94, <4 x i32>* %96
%97 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 28
%98 = bitcast i32* %97 to <4 x i32>*
%99 = load <4 x i32>, <4 x i32>* %98
%100 = add nsw <4 x i32> %99, <i32 1, i32 1, i32 1, i32 1>
%101 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 28
%102 = bitcast i32* %101 to <4 x i32>*
store <4 x i32> %100, <4 x i32>* %102
%103 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 32
%104 = bitcast i32* %103 to <4 x i32>*
%105 = load <4 x i32>, <4 x i32>* %104
%106 = add nsw <4 x i32> %105, <i32 1, i32 1, i32 1, i32 1>
%107 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 32
%108 = bitcast i32* %107 to <4 x i32>*
store <4 x i32> %106, <4 x i32>* %108
%109 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 36
%110 = bitcast i32* %109 to <4 x i32>*
%111 = load <4 x i32>, <4 x i32>* %110
%112 = add nsw <4 x i32> %111, <i32 1, i32 1, i32 1, i32 1>
%113 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 36
%114 = bitcast i32* %113 to <4 x i32>*
store <4 x i32> %112, <4 x i32>* %114
%115 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 40
%116 = bitcast i32* %115 to <4 x i32>*
%117 = load <4 x i32>, <4 x i32>* %116
%118 = add nsw <4 x i32> %117, <i32 1, i32 1, i32 1, i32 1>
%119 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 40
%120 = bitcast i32* %119 to <4 x i32>*
store <4 x i32> %118, <4 x i32>* %120
%121 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 44
%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 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 44
%126 = bitcast i32* %125 to <4 x i32>*
store <4 x i32> %124, <4 x i32>* %126
%127 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 48
%128 = bitcast i32* %127 to <4 x i32>*
%129 = load <4 x i32>, <4 x i32>* %128
%130 = add nsw <4 x i32> %129, <i32 1, i32 1, i32 1, i32 1>
%131 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 48
%132 = bitcast i32* %131 to <4 x i32>*
store <4 x i32> %130, <4 x i32>* %132
%133 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 52
%134 = bitcast i32* %133 to <4 x i32>*
%135 = load <4 x i32>, <4 x i32>* %134
%136 = add nsw <4 x i32> %135, <i32 1, i32 1, i32 1, i32 1>
%137 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 52
%138 = bitcast i32* %137 to <4 x i32>*
store <4 x i32> %136, <4 x i32>* %138
%139 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 56
%140 = bitcast i32* %139 to <4 x i32>*
%141 = load <4 x i32>, <4 x i32>* %140
%142 = add nsw <4 x i32> %141, <i32 1, i32 1, i32 1, i32 1>
%143 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 56
%144 = bitcast i32* %143 to <4 x i32>*
store <4 x i32> %142, <4 x i32>* %144
%145 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 60
%146 = bitcast i32* %145 to <4 x i32>*
%147 = load <4 x i32>, <4 x i32>* %146
%148 = add nsw <4 x i32> %147, <i32 1, i32 1, i32 1, i32 1>
%149 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 60
%150 = bitcast i32* %149 to <4 x i32>*
store <4 x i32> %148, <4 x i32>* %150
%151 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 64
%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 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 64
%156 = bitcast i32* %155 to <4 x i32>*
store <4 x i32> %154, <4 x i32>* %156
%157 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 68
%158 = bitcast i32* %157 to <4 x i32>*
%159 = load <4 x i32>, <4 x i32>* %158
%160 = add nsw <4 x i32> %159, <i32 1, i32 1, i32 1, i32 1>
%161 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 68
%162 = bitcast i32* %161 to <4 x i32>*
store <4 x i32> %160, <4 x i32>* %162
%163 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 72
%164 = bitcast i32* %163 to <4 x i32>*
%165 = load <4 x i32>, <4 x i32>* %164
%166 = add nsw <4 x i32> %165, <i32 1, i32 1, i32 1, i32 1>
%167 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 72
%168 = bitcast i32* %167 to <4 x i32>*
store <4 x i32> %166, <4 x i32>* %168
%169 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 76
%170 = bitcast i32* %169 to <4 x i32>*
%171 = load <4 x i32>, <4 x i32>* %170
%172 = add nsw <4 x i32> %171, <i32 1, i32 1, i32 1, i32 1>
%173 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 76
%174 = bitcast i32* %173 to <4 x i32>*
store <4 x i32> %172, <4 x i32>* %174
%175 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 80
%176 = bitcast i32* %175 to <4 x i32>*
%177 = load <4 x i32>, <4 x i32>* %176
%178 = add nsw <4 x i32> %177, <i32 1, i32 1, i32 1, i32 1>
%179 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 80
%180 = bitcast i32* %179 to <4 x i32>*
store <4 x i32> %178, <4 x i32>* %180
%181 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 84
%182 = bitcast i32* %181 to <4 x i32>*
%183 = load <4 x i32>, <4 x i32>* %182
%184 = add nsw <4 x i32> %183, <i32 1, i32 1, i32 1, i32 1>
%185 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 84
%186 = bitcast i32* %185 to <4 x i32>*
store <4 x i32> %184, <4 x i32>* %186
%187 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 88
%188 = bitcast i32* %187 to <4 x i32>*
%189 = load <4 x i32>, <4 x i32>* %188
%190 = add nsw <4 x i32> %189, <i32 1, i32 1, i32 1, i32 1>
%191 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 88
%192 = bitcast i32* %191 to <4 x i32>*
store <4 x i32> %190, <4 x i32>* %192
%193 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 92
%194 = bitcast i32* %193 to <4 x i32>*
%195 = load <4 x i32>, <4 x i32>* %194
%196 = add nsw <4 x i32> %195, <i32 1, i32 1, i32 1, i32 1>
%197 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 92
%198 = bitcast i32* %197 to <4 x i32>*
store <4 x i32> %196, <4 x i32>* %198
%199 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 96
%200 = bitcast i32* %199 to <4 x i32>*
%201 = load <4 x i32>, <4 x i32>* %200
%202 = add nsw <4 x i32> %201, <i32 1, i32 1, i32 1, i32 1>
%203 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 96
%204 = bitcast i32* %203 to <4 x i32>*
store <4 x i32> %202, <4 x i32>* %204
%205 = call i32 @test(i32* %54, i32* %55, i32 1)
%206 = bitcast [100 x i32]* %3 to <4 x i32>*
%207 = load <4 x i32>, <4 x i32>* %206
%208 = add nsw <4 x i32> %207, <i32 5, i32 5, i32 5, i32 5>
%209 = bitcast [100 x i32]* %1 to <4 x i32>*
store <4 x i32> %208, <4 x i32>* %209
%210 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 4
%211 = bitcast i32* %210 to <4 x i32>*
%212 = load <4 x i32>, <4 x i32>* %211
%213 = add nsw <4 x i32> %212, <i32 5, i32 5, i32 5, i32 5>
%214 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 4
%215 = bitcast i32* %214 to <4 x i32>*
store <4 x i32> %213, <4 x i32>* %215
%216 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 8
%217 = bitcast i32* %216 to <4 x i32>*
%218 = load <4 x i32>, <4 x i32>* %217
%219 = add nsw <4 x i32> %218, <i32 5, i32 5, i32 5, i32 5>
%220 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 8
%221 = bitcast i32* %220 to <4 x i32>*
store <4 x i32> %219, <4 x i32>* %221
%222 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 12
%223 = bitcast i32* %222 to <4 x i32>*
%224 = load <4 x i32>, <4 x i32>* %223
%225 = add nsw <4 x i32> %224, <i32 5, i32 5, i32 5, i32 5>
%226 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 12
%227 = bitcast i32* %226 to <4 x i32>*
store <4 x i32> %225, <4 x i32>* %227
%228 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 16
%229 = bitcast i32* %228 to <4 x i32>*
%230 = load <4 x i32>, <4 x i32>* %229
%231 = add nsw <4 x i32> %230, <i32 5, i32 5, i32 5, i32 5>
%232 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 16
%233 = bitcast i32* %232 to <4 x i32>*
store <4 x i32> %231, <4 x i32>* %233
%234 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 20
%235 = bitcast i32* %234 to <4 x i32>*
%236 = load <4 x i32>, <4 x i32>* %235
%237 = add nsw <4 x i32> %236, <i32 5, i32 5, i32 5, i32 5>
%238 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 20
%239 = bitcast i32* %238 to <4 x i32>*
store <4 x i32> %237, <4 x i32>* %239
%240 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 24
%241 = bitcast i32* %240 to <4 x i32>*
%242 = load <4 x i32>, <4 x i32>* %241
%243 = add nsw <4 x i32> %242, <i32 5, i32 5, i32 5, i32 5>
%244 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 24
%245 = bitcast i32* %244 to <4 x i32>*
store <4 x i32> %243, <4 x i32>* %245
%246 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 28
%247 = bitcast i32* %246 to <4 x i32>*
%248 = load <4 x i32>, <4 x i32>* %247
%249 = add nsw <4 x i32> %248, <i32 5, i32 5, i32 5, i32 5>
%250 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 28
%251 = bitcast i32* %250 to <4 x i32>*
store <4 x i32> %249, <4 x i32>* %251
%252 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 32
%253 = bitcast i32* %252 to <4 x i32>*
%254 = load <4 x i32>, <4 x i32>* %253
%255 = add nsw <4 x i32> %254, <i32 5, i32 5, i32 5, i32 5>
%256 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 32
%257 = bitcast i32* %256 to <4 x i32>*
store <4 x i32> %255, <4 x i32>* %257
%258 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 36
%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 5, i32 5, i32 5, i32 5>
%262 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 36
%263 = bitcast i32* %262 to <4 x i32>*
store <4 x i32> %261, <4 x i32>* %263
%264 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 40
%265 = bitcast i32* %264 to <4 x i32>*
%266 = load <4 x i32>, <4 x i32>* %265
%267 = add nsw <4 x i32> %266, <i32 5, i32 5, i32 5, i32 5>
%268 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 40
%269 = bitcast i32* %268 to <4 x i32>*
store <4 x i32> %267, <4 x i32>* %269
%270 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 44
%271 = bitcast i32* %270 to <4 x i32>*
%272 = load <4 x i32>, <4 x i32>* %271
%273 = add nsw <4 x i32> %272, <i32 5, i32 5, i32 5, i32 5>
%274 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 44
%275 = bitcast i32* %274 to <4 x i32>*
store <4 x i32> %273, <4 x i32>* %275
%276 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 48
%277 = bitcast i32* %276 to <4 x i32>*
%278 = load <4 x i32>, <4 x i32>* %277
%279 = add nsw <4 x i32> %278, <i32 5, i32 5, i32 5, i32 5>
%280 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 48
%281 = bitcast i32* %280 to <4 x i32>*
store <4 x i32> %279, <4 x i32>* %281
%282 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 52
%283 = bitcast i32* %282 to <4 x i32>*
%284 = load <4 x i32>, <4 x i32>* %283
%285 = add nsw <4 x i32> %284, <i32 5, i32 5, i32 5, i32 5>
%286 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 52
%287 = bitcast i32* %286 to <4 x i32>*
store <4 x i32> %285, <4 x i32>* %287
%288 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 56
%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 5, i32 5, i32 5, i32 5>
%292 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 56
%293 = bitcast i32* %292 to <4 x i32>*
store <4 x i32> %291, <4 x i32>* %293
%294 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 60
%295 = bitcast i32* %294 to <4 x i32>*
%296 = load <4 x i32>, <4 x i32>* %295
%297 = add nsw <4 x i32> %296, <i32 5, i32 5, i32 5, i32 5>
%298 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 60
%299 = bitcast i32* %298 to <4 x i32>*
store <4 x i32> %297, <4 x i32>* %299
%300 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 64
%301 = bitcast i32* %300 to <4 x i32>*
%302 = load <4 x i32>, <4 x i32>* %301
%303 = add nsw <4 x i32> %302, <i32 5, i32 5, i32 5, i32 5>
%304 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 64
%305 = bitcast i32* %304 to <4 x i32>*
store <4 x i32> %303, <4 x i32>* %305
%306 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 68
%307 = bitcast i32* %306 to <4 x i32>*
%308 = load <4 x i32>, <4 x i32>* %307
%309 = add nsw <4 x i32> %308, <i32 5, i32 5, i32 5, i32 5>
%310 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 68
%311 = bitcast i32* %310 to <4 x i32>*
store <4 x i32> %309, <4 x i32>* %311
%312 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 72
%313 = bitcast i32* %312 to <4 x i32>*
%314 = load <4 x i32>, <4 x i32>* %313
%315 = add nsw <4 x i32> %314, <i32 5, i32 5, i32 5, i32 5>
%316 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 72
%317 = bitcast i32* %316 to <4 x i32>*
store <4 x i32> %315, <4 x i32>* %317
%318 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 76
%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 5, i32 5, i32 5, i32 5>
%322 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 76
%323 = bitcast i32* %322 to <4 x i32>*
store <4 x i32> %321, <4 x i32>* %323
%324 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 80
%325 = bitcast i32* %324 to <4 x i32>*
%326 = load <4 x i32>, <4 x i32>* %325
%327 = add nsw <4 x i32> %326, <i32 5, i32 5, i32 5, i32 5>
%328 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 80
%329 = bitcast i32* %328 to <4 x i32>*
store <4 x i32> %327, <4 x i32>* %329
%330 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 84
%331 = bitcast i32* %330 to <4 x i32>*
%332 = load <4 x i32>, <4 x i32>* %331
%333 = add nsw <4 x i32> %332, <i32 5, i32 5, i32 5, i32 5>
%334 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 84
%335 = bitcast i32* %334 to <4 x i32>*
store <4 x i32> %333, <4 x i32>* %335
%336 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 88
%337 = bitcast i32* %336 to <4 x i32>*
%338 = load <4 x i32>, <4 x i32>* %337
%339 = add nsw <4 x i32> %338, <i32 5, i32 5, i32 5, i32 5>
%340 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 88
%341 = bitcast i32* %340 to <4 x i32>*
store <4 x i32> %339, <4 x i32>* %341
%342 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 92
%343 = bitcast i32* %342 to <4 x i32>*
%344 = load <4 x i32>, <4 x i32>* %343
%345 = add nsw <4 x i32> %344, <i32 5, i32 5, i32 5, i32 5>
%346 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 92
%347 = bitcast i32* %346 to <4 x i32>*
store <4 x i32> %345, <4 x i32>* %347
%348 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 96
%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 5, i32 5, i32 5, i32 5>
%352 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 96
%353 = bitcast i32* %352 to <4 x i32>*
store <4 x i32> %351, <4 x i32>* %353
%354 = call i32 @test(i32* %54, i32* %55, i32 5)
%355 = bitcast [100 x i32]* %3 to <4 x i32>*
%356 = load <4 x i32>, <4 x i32>* %355
%357 = add nsw <4 x i32> %356, <i32 20, i32 20, i32 20, i32 20>
%358 = bitcast [100 x i32]* %1 to <4 x i32>*
store <4 x i32> %357, <4 x i32>* %358
%359 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 4
%360 = bitcast i32* %359 to <4 x i32>*
%361 = load <4 x i32>, <4 x i32>* %360
%362 = add nsw <4 x i32> %361, <i32 20, i32 20, i32 20, i32 20>
%363 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 4
%364 = bitcast i32* %363 to <4 x i32>*
store <4 x i32> %362, <4 x i32>* %364
%365 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 8
%366 = bitcast i32* %365 to <4 x i32>*
%367 = load <4 x i32>, <4 x i32>* %366
%368 = add nsw <4 x i32> %367, <i32 20, i32 20, i32 20, i32 20>
%369 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 8
%370 = bitcast i32* %369 to <4 x i32>*
store <4 x i32> %368, <4 x i32>* %370
%371 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 12
%372 = bitcast i32* %371 to <4 x i32>*
%373 = load <4 x i32>, <4 x i32>* %372
%374 = add nsw <4 x i32> %373, <i32 20, i32 20, i32 20, i32 20>
%375 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 12
%376 = bitcast i32* %375 to <4 x i32>*
store <4 x i32> %374, <4 x i32>* %376
%377 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 16
%378 = bitcast i32* %377 to <4 x i32>*
%379 = load <4 x i32>, <4 x i32>* %378
%380 = add nsw <4 x i32> %379, <i32 20, i32 20, i32 20, i32 20>
%381 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 16
%382 = bitcast i32* %381 to <4 x i32>*
store <4 x i32> %380, <4 x i32>* %382
%383 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 20
%384 = bitcast i32* %383 to <4 x i32>*
%385 = load <4 x i32>, <4 x i32>* %384
%386 = add nsw <4 x i32> %385, <i32 20, i32 20, i32 20, i32 20>
%387 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 20
%388 = bitcast i32* %387 to <4 x i32>*
store <4 x i32> %386, <4 x i32>* %388
%389 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 24
%390 = bitcast i32* %389 to <4 x i32>*
%391 = load <4 x i32>, <4 x i32>* %390
%392 = add nsw <4 x i32> %391, <i32 20, i32 20, i32 20, i32 20>
%393 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 24
%394 = bitcast i32* %393 to <4 x i32>*
store <4 x i32> %392, <4 x i32>* %394
%395 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 28
%396 = bitcast i32* %395 to <4 x i32>*
%397 = load <4 x i32>, <4 x i32>* %396
%398 = add nsw <4 x i32> %397, <i32 20, i32 20, i32 20, i32 20>
%399 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 28
%400 = bitcast i32* %399 to <4 x i32>*
store <4 x i32> %398, <4 x i32>* %400
%401 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 32
%402 = bitcast i32* %401 to <4 x i32>*
%403 = load <4 x i32>, <4 x i32>* %402
%404 = add nsw <4 x i32> %403, <i32 20, i32 20, i32 20, i32 20>
%405 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 32
%406 = bitcast i32* %405 to <4 x i32>*
store <4 x i32> %404, <4 x i32>* %406
%407 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 36
%408 = bitcast i32* %407 to <4 x i32>*
%409 = load <4 x i32>, <4 x i32>* %408
%410 = add nsw <4 x i32> %409, <i32 20, i32 20, i32 20, i32 20>
%411 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 36
%412 = bitcast i32* %411 to <4 x i32>*
store <4 x i32> %410, <4 x i32>* %412
%413 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 40
%414 = bitcast i32* %413 to <4 x i32>*
%415 = load <4 x i32>, <4 x i32>* %414
%416 = add nsw <4 x i32> %415, <i32 20, i32 20, i32 20, i32 20>
%417 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 40
%418 = bitcast i32* %417 to <4 x i32>*
store <4 x i32> %416, <4 x i32>* %418
%419 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 44
%420 = bitcast i32* %419 to <4 x i32>*
%421 = load <4 x i32>, <4 x i32>* %420
%422 = add nsw <4 x i32> %421, <i32 20, i32 20, i32 20, i32 20>
%423 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 44
%424 = bitcast i32* %423 to <4 x i32>*
store <4 x i32> %422, <4 x i32>* %424
%425 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 48
%426 = bitcast i32* %425 to <4 x i32>*
%427 = load <4 x i32>, <4 x i32>* %426
%428 = add nsw <4 x i32> %427, <i32 20, i32 20, i32 20, i32 20>
%429 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 48
%430 = bitcast i32* %429 to <4 x i32>*
store <4 x i32> %428, <4 x i32>* %430
%431 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 52
%432 = bitcast i32* %431 to <4 x i32>*
%433 = load <4 x i32>, <4 x i32>* %432
%434 = add nsw <4 x i32> %433, <i32 20, i32 20, i32 20, i32 20>
%435 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 52
%436 = bitcast i32* %435 to <4 x i32>*
store <4 x i32> %434, <4 x i32>* %436
%437 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 56
%438 = bitcast i32* %437 to <4 x i32>*
%439 = load <4 x i32>, <4 x i32>* %438
%440 = add nsw <4 x i32> %439, <i32 20, i32 20, i32 20, i32 20>
%441 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 56
%442 = bitcast i32* %441 to <4 x i32>*
store <4 x i32> %440, <4 x i32>* %442
%443 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 60
%444 = bitcast i32* %443 to <4 x i32>*
%445 = load <4 x i32>, <4 x i32>* %444
%446 = add nsw <4 x i32> %445, <i32 20, i32 20, i32 20, i32 20>
%447 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 60
%448 = bitcast i32* %447 to <4 x i32>*
store <4 x i32> %446, <4 x i32>* %448
%449 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 64
%450 = bitcast i32* %449 to <4 x i32>*
%451 = load <4 x i32>, <4 x i32>* %450
%452 = add nsw <4 x i32> %451, <i32 20, i32 20, i32 20, i32 20>
%453 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 64
%454 = bitcast i32* %453 to <4 x i32>*
store <4 x i32> %452, <4 x i32>* %454
%455 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 68
%456 = bitcast i32* %455 to <4 x i32>*
%457 = load <4 x i32>, <4 x i32>* %456
%458 = add nsw <4 x i32> %457, <i32 20, i32 20, i32 20, i32 20>
%459 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 68
%460 = bitcast i32* %459 to <4 x i32>*
store <4 x i32> %458, <4 x i32>* %460
%461 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 72
%462 = bitcast i32* %461 to <4 x i32>*
%463 = load <4 x i32>, <4 x i32>* %462
%464 = add nsw <4 x i32> %463, <i32 20, i32 20, i32 20, i32 20>
%465 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 72
%466 = bitcast i32* %465 to <4 x i32>*
store <4 x i32> %464, <4 x i32>* %466
%467 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 76
%468 = bitcast i32* %467 to <4 x i32>*
%469 = load <4 x i32>, <4 x i32>* %468
%470 = add nsw <4 x i32> %469, <i32 20, i32 20, i32 20, i32 20>
%471 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 76
%472 = bitcast i32* %471 to <4 x i32>*
store <4 x i32> %470, <4 x i32>* %472
%473 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 80
%474 = bitcast i32* %473 to <4 x i32>*
%475 = load <4 x i32>, <4 x i32>* %474
%476 = add nsw <4 x i32> %475, <i32 20, i32 20, i32 20, i32 20>
%477 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 80
%478 = bitcast i32* %477 to <4 x i32>*
store <4 x i32> %476, <4 x i32>* %478
%479 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 84
%480 = bitcast i32* %479 to <4 x i32>*
%481 = load <4 x i32>, <4 x i32>* %480
%482 = add nsw <4 x i32> %481, <i32 20, i32 20, i32 20, i32 20>
%483 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 84
%484 = bitcast i32* %483 to <4 x i32>*
store <4 x i32> %482, <4 x i32>* %484
%485 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 88
%486 = bitcast i32* %485 to <4 x i32>*
%487 = load <4 x i32>, <4 x i32>* %486
%488 = add nsw <4 x i32> %487, <i32 20, i32 20, i32 20, i32 20>
%489 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 88
%490 = bitcast i32* %489 to <4 x i32>*
store <4 x i32> %488, <4 x i32>* %490
%491 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 92
%492 = bitcast i32* %491 to <4 x i32>*
%493 = load <4 x i32>, <4 x i32>* %492
%494 = add nsw <4 x i32> %493, <i32 20, i32 20, i32 20, i32 20>
%495 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 92
%496 = bitcast i32* %495 to <4 x i32>*
store <4 x i32> %494, <4 x i32>* %496
%497 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 96
%498 = bitcast i32* %497 to <4 x i32>*
%499 = load <4 x i32>, <4 x i32>* %498
%500 = add nsw <4 x i32> %499, <i32 20, i32 20, i32 20, i32 20>
%501 = getelementptr inbounds [100 x i32], [100 x i32]* %1, i64 0, i64 96
%502 = bitcast i32* %501 to <4 x i32>*
store <4 x i32> %500, <4 x i32>* %502
%503 = call i32 @test(i32* %54, i32* %55, i32 20)
ret i32 0
}