#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 omp_get_thread_num();
void f2(int *a) {
  int i, j;
#pragma omp parallel num_threads(4)
  {
    int j = omp_get_thread_num();
#pragma omp loop private(i) bind(teams)
    for (i = 0; i < 64; i++)
      a[j * 64 + i] = i;
  }
#pragma omp critical
  {
#pragma omp loop lastprivate(i) bind(teams)
    for (i = 0; i < 64; i++)
      a[i] = i;
  }
#pragma omp master
  {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[i] = i;
  }
#pragma omp sections
  {
#pragma omp loop bind(teams) lastprivate(i)
    for (i = 0; i < 64; i++)
      a[i] = i;
  }
#pragma omp single
  {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[i] = i;
  }
#pragma omp task
  {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[i] = i;
  }
#pragma omp taskgroup
  {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[i] = i;
  }
#pragma omp teams
  {
#pragma omp distribute
    for (j = 0; j < 64; ++j) {
#pragma omp loop bind(teams)
      for (i = 0; i < 64; i++)
        a[64 * j + i] = i;
    }
  }
#pragma omp for
  for (j = 0; j < 64; ++j) {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[64 * j + i] = i;
  }
#pragma omp parallel
#pragma omp loop
  for (j = 0; j < 64; ++j) {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[64 * j + i] = i;
  }
#pragma omp loop bind(thread)
  for (j = 0; j < 64; ++j) {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[64 * j + i] = i;
  }
#pragma omp loop bind(parallel)
  for (j = 0; j < 64; ++j) {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[64 * j + i] = i;
  }
#pragma omp for ordered
  for (j = 0; j < 64; ++j) {
#pragma omp ordered threads
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[64 * j + i] = i;
  }
#pragma omp simd
  for (j = 0; j < 64; ++j) {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[64 * j + i] = i;
  }
#pragma omp taskloop
  for (j = 0; j < 64; ++j) {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[64 * j + i] = i;
  }
#pragma omp target
  {
#pragma omp loop bind(teams)
    for (i = 0; i < 64; i++)
      a[i] = i;
  }
}


x86 assembly (clang, -O0):
<f2>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %rdi,-0x8(%rbp)
mov    $0x0,%al
call   1030 <omp_get_thread_num@plt>
mov    %eax,-0x14(%rbp)
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    115b <f2+0x4b>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x14(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    112d <f2+0x1d>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    1188 <f2+0x78>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1162 <f2+0x52>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    11b5 <f2+0xa5>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    118f <f2+0x7f>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    11e2 <f2+0xd2>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    11bc <f2+0xac>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    120f <f2+0xff>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    11e9 <f2+0xd9>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    123c <f2+0x12c>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1216 <f2+0x106>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    1269 <f2+0x159>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1243 <f2+0x133>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    12c2 <f2+0x1b2>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    12af <f2+0x19f>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1281 <f2+0x171>
jmp    12b4 <f2+0x1a4>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1270 <f2+0x160>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    131b <f2+0x20b>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    1308 <f2+0x1f8>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    12da <f2+0x1ca>
jmp    130d <f2+0x1fd>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    12c9 <f2+0x1b9>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    1374 <f2+0x264>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    1361 <f2+0x251>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1333 <f2+0x223>
jmp    1366 <f2+0x256>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1322 <f2+0x212>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    13cd <f2+0x2bd>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    13ba <f2+0x2aa>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    138c <f2+0x27c>
jmp    13bf <f2+0x2af>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    137b <f2+0x26b>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    1426 <f2+0x316>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    1413 <f2+0x303>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    13e5 <f2+0x2d5>
jmp    1418 <f2+0x308>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    13d4 <f2+0x2c4>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    147f <f2+0x36f>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    146c <f2+0x35c>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    143e <f2+0x32e>
jmp    1471 <f2+0x361>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    142d <f2+0x31d>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    14d8 <f2+0x3c8>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    14c5 <f2+0x3b5>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1497 <f2+0x387>
jmp    14ca <f2+0x3ba>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1486 <f2+0x376>
movl   $0x0,-0x10(%rbp)
cmpl   $0x40,-0x10(%rbp)
jge    1531 <f2+0x421>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    151e <f2+0x40e>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
shl    $0x6,%ecx
add    -0xc(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    14f0 <f2+0x3e0>
jmp    1523 <f2+0x413>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    14df <f2+0x3cf>
movl   $0x0,-0xc(%rbp)
cmpl   $0x40,-0xc(%rbp)
jge    155e <f2+0x44e>
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1538 <f2+0x428>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<f2>:
push   %r14
push   %rbx
push   %rax
mov    %rdi,%rbx
xor    %r14d,%r14d
xor    %eax,%eax
call   1030 <omp_get_thread_num@plt>
shl    $0x6,%eax
cltq
movaps 0xed2(%rip),%xmm8
movups %xmm8,(%rbx,%rax,4)
movaps 0xed5(%rip),%xmm9
movups %xmm9,0x10(%rbx,%rax,4)
movaps 0xed7(%rip),%xmm10
movups %xmm10,0x20(%rbx,%rax,4)
movaps 0xed9(%rip),%xmm11
movups %xmm11,0x30(%rbx,%rax,4)
movaps 0xedb(%rip),%xmm12
movups %xmm12,0x40(%rbx,%rax,4)
movaps 0xedd(%rip),%xmm13
movups %xmm13,0x50(%rbx,%rax,4)
movaps 0xedf(%rip),%xmm14
movups %xmm14,0x60(%rbx,%rax,4)
movaps 0xee1(%rip),%xmm15
movups %xmm15,0x70(%rbx,%rax,4)
movaps 0xee4(%rip),%xmm0
movups %xmm0,0x80(%rbx,%rax,4)
movaps 0xee5(%rip),%xmm1
movups %xmm1,0x90(%rbx,%rax,4)
movaps 0xee6(%rip),%xmm2
movups %xmm2,0xa0(%rbx,%rax,4)
movaps 0xee7(%rip),%xmm3
movups %xmm3,0xb0(%rbx,%rax,4)
movaps 0xee8(%rip),%xmm4
movups %xmm4,0xc0(%rbx,%rax,4)
movaps 0xee9(%rip),%xmm5
movups %xmm5,0xd0(%rbx,%rax,4)
movaps 0xeea(%rip),%xmm6
movups %xmm6,0xe0(%rbx,%rax,4)
movaps 0xeeb(%rip),%xmm7
movups %xmm7,0xf0(%rbx,%rax,4)
movups %xmm8,(%rbx)
movups %xmm9,0x10(%rbx)
movups %xmm10,0x20(%rbx)
movups %xmm11,0x30(%rbx)
movups %xmm12,0x40(%rbx)
movups %xmm13,0x50(%rbx)
movups %xmm14,0x60(%rbx)
movups %xmm15,0x70(%rbx)
movups %xmm0,0x80(%rbx)
movups %xmm1,0x90(%rbx)
movups %xmm2,0xa0(%rbx)
movups %xmm3,0xb0(%rbx)
movups %xmm4,0xc0(%rbx)
movups %xmm5,0xd0(%rbx)
movups %xmm6,0xe0(%rbx)
movups %xmm7,0xf0(%rbx)
nopl   0x0(%rax)
movups %xmm8,(%rbx,%r14,1)
movups %xmm9,0x10(%rbx,%r14,1)
movups %xmm10,0x20(%rbx,%r14,1)
movups %xmm11,0x30(%rbx,%r14,1)
movups %xmm12,0x40(%rbx,%r14,1)
movups %xmm13,0x50(%rbx,%r14,1)
movups %xmm14,0x60(%rbx,%r14,1)
movups %xmm15,0x70(%rbx,%r14,1)
movups %xmm0,0x80(%rbx,%r14,1)
movups %xmm1,0x90(%rbx,%r14,1)
movups %xmm2,0xa0(%rbx,%r14,1)
movups %xmm3,0xb0(%rbx,%r14,1)
movups %xmm4,0xc0(%rbx,%r14,1)
movups %xmm5,0xd0(%rbx,%r14,1)
movups %xmm6,0xe0(%rbx,%r14,1)
movups %xmm7,0xf0(%rbx,%r14,1)
add    $0x100,%r14
cmp    $0x4000,%r14
jne    1270 <f2+0x160>
xor    %eax,%eax
nopl   (%rax)
movups %xmm8,(%rbx,%rax,1)
movups %xmm9,0x10(%rbx,%rax,1)
movups %xmm10,0x20(%rbx,%rax,1)
movups %xmm11,0x30(%rbx,%rax,1)
movups %xmm12,0x40(%rbx,%rax,1)
movups %xmm13,0x50(%rbx,%rax,1)
movups %xmm14,0x60(%rbx,%rax,1)
movups %xmm15,0x70(%rbx,%rax,1)
movups %xmm0,0x80(%rbx,%rax,1)
movups %xmm1,0x90(%rbx,%rax,1)
movups %xmm2,0xa0(%rbx,%rax,1)
movups %xmm3,0xb0(%rbx,%rax,1)
movups %xmm4,0xc0(%rbx,%rax,1)
movups %xmm5,0xd0(%rbx,%rax,1)
movups %xmm6,0xe0(%rbx,%rax,1)
movups %xmm7,0xf0(%rbx,%rax,1)
add    $0x100,%rax
cmp    $0x4000,%rax
jne    1300 <f2+0x1f0>
xor    %eax,%eax
nop
movups %xmm8,(%rbx,%rax,1)
movups %xmm9,0x10(%rbx,%rax,1)
movups %xmm10,0x20(%rbx,%rax,1)
movups %xmm11,0x30(%rbx,%rax,1)
movups %xmm12,0x40(%rbx,%rax,1)
movups %xmm13,0x50(%rbx,%rax,1)
movups %xmm14,0x60(%rbx,%rax,1)
movups %xmm15,0x70(%rbx,%rax,1)
movups %xmm0,0x80(%rbx,%rax,1)
movups %xmm1,0x90(%rbx,%rax,1)
movups %xmm2,0xa0(%rbx,%rax,1)
movups %xmm3,0xb0(%rbx,%rax,1)
movups %xmm4,0xc0(%rbx,%rax,1)
movups %xmm5,0xd0(%rbx,%rax,1)
movups %xmm6,0xe0(%rbx,%rax,1)
movups %xmm7,0xf0(%rbx,%rax,1)
add    $0x100,%rax
cmp    $0x4000,%rax
jne    1380 <f2+0x270>
xor    %eax,%eax
nop
movups %xmm8,(%rbx,%rax,1)
movups %xmm9,0x10(%rbx,%rax,1)
movups %xmm10,0x20(%rbx,%rax,1)
movups %xmm11,0x30(%rbx,%rax,1)
movups %xmm12,0x40(%rbx,%rax,1)
movups %xmm13,0x50(%rbx,%rax,1)
movups %xmm14,0x60(%rbx,%rax,1)
movups %xmm15,0x70(%rbx,%rax,1)
movups %xmm0,0x80(%rbx,%rax,1)
movups %xmm1,0x90(%rbx,%rax,1)
movups %xmm2,0xa0(%rbx,%rax,1)
movups %xmm3,0xb0(%rbx,%rax,1)
movups %xmm4,0xc0(%rbx,%rax,1)
movups %xmm5,0xd0(%rbx,%rax,1)
movups %xmm6,0xe0(%rbx,%rax,1)
movups %xmm7,0xf0(%rbx,%rax,1)
add    $0x100,%rax
cmp    $0x4000,%rax
jne    1400 <f2+0x2f0>
xor    %eax,%eax
nop
movups %xmm8,(%rbx,%rax,1)
movups %xmm9,0x10(%rbx,%rax,1)
movups %xmm10,0x20(%rbx,%rax,1)
movups %xmm11,0x30(%rbx,%rax,1)
movups %xmm12,0x40(%rbx,%rax,1)
movups %xmm13,0x50(%rbx,%rax,1)
movups %xmm14,0x60(%rbx,%rax,1)
movups %xmm15,0x70(%rbx,%rax,1)
movups %xmm0,0x80(%rbx,%rax,1)
movups %xmm1,0x90(%rbx,%rax,1)
movups %xmm2,0xa0(%rbx,%rax,1)
movups %xmm3,0xb0(%rbx,%rax,1)
movups %xmm4,0xc0(%rbx,%rax,1)
movups %xmm5,0xd0(%rbx,%rax,1)
movups %xmm6,0xe0(%rbx,%rax,1)
movups %xmm7,0xf0(%rbx,%rax,1)
add    $0x100,%rax
cmp    $0x4000,%rax
jne    1480 <f2+0x370>
xor    %eax,%eax
nop
movups %xmm8,(%rbx,%rax,1)
movups %xmm9,0x10(%rbx,%rax,1)
movups %xmm10,0x20(%rbx,%rax,1)
movups %xmm11,0x30(%rbx,%rax,1)
movups %xmm12,0x40(%rbx,%rax,1)
movups %xmm13,0x50(%rbx,%rax,1)
movups %xmm14,0x60(%rbx,%rax,1)
movups %xmm15,0x70(%rbx,%rax,1)
movups %xmm0,0x80(%rbx,%rax,1)
movups %xmm1,0x90(%rbx,%rax,1)
movups %xmm2,0xa0(%rbx,%rax,1)
movups %xmm3,0xb0(%rbx,%rax,1)
movups %xmm4,0xc0(%rbx,%rax,1)
movups %xmm5,0xd0(%rbx,%rax,1)
movups %xmm6,0xe0(%rbx,%rax,1)
movups %xmm7,0xf0(%rbx,%rax,1)
add    $0x100,%rax
cmp    $0x4000,%rax
jne    1500 <f2+0x3f0>
xor    %eax,%eax
nop
movups %xmm8,(%rbx,%rax,1)
movups %xmm9,0x10(%rbx,%rax,1)
movups %xmm10,0x20(%rbx,%rax,1)
movups %xmm11,0x30(%rbx,%rax,1)
movups %xmm12,0x40(%rbx,%rax,1)
movups %xmm13,0x50(%rbx,%rax,1)
movups %xmm14,0x60(%rbx,%rax,1)
movups %xmm15,0x70(%rbx,%rax,1)
movups %xmm0,0x80(%rbx,%rax,1)
movups %xmm1,0x90(%rbx,%rax,1)
movups %xmm2,0xa0(%rbx,%rax,1)
movups %xmm3,0xb0(%rbx,%rax,1)
movups %xmm4,0xc0(%rbx,%rax,1)
movups %xmm5,0xd0(%rbx,%rax,1)
movups %xmm6,0xe0(%rbx,%rax,1)
movups %xmm7,0xf0(%rbx,%rax,1)
add    $0x100,%rax
cmp    $0x4000,%rax
jne    1580 <f2+0x470>
xor    %eax,%eax
nop
movups %xmm8,(%rbx,%rax,1)
movups %xmm9,0x10(%rbx,%rax,1)
movups %xmm10,0x20(%rbx,%rax,1)
movups %xmm11,0x30(%rbx,%rax,1)
movups %xmm12,0x40(%rbx,%rax,1)
movups %xmm13,0x50(%rbx,%rax,1)
movups %xmm14,0x60(%rbx,%rax,1)
movups %xmm15,0x70(%rbx,%rax,1)
movups %xmm0,0x80(%rbx,%rax,1)
movups %xmm1,0x90(%rbx,%rax,1)
movups %xmm2,0xa0(%rbx,%rax,1)
movups %xmm3,0xb0(%rbx,%rax,1)
movups %xmm4,0xc0(%rbx,%rax,1)
movups %xmm5,0xd0(%rbx,%rax,1)
movups %xmm6,0xe0(%rbx,%rax,1)
movups %xmm7,0xf0(%rbx,%rax,1)
add    $0x100,%rax
cmp    $0x4000,%rax
jne    1600 <f2+0x4f0>
movups %xmm8,(%rbx)
movups %xmm9,0x10(%rbx)
movups %xmm10,0x20(%rbx)
movups %xmm11,0x30(%rbx)
movups %xmm12,0x40(%rbx)
movups %xmm13,0x50(%rbx)
movups %xmm14,0x60(%rbx)
movups %xmm15,0x70(%rbx)
movups %xmm0,0x80(%rbx)
movups %xmm1,0x90(%rbx)
movups %xmm2,0xa0(%rbx)
movups %xmm3,0xb0(%rbx)
movups %xmm4,0xc0(%rbx)
movups %xmm5,0xd0(%rbx)
movups %xmm6,0xe0(%rbx)
movups %xmm7,0xf0(%rbx)
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

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

LLVM IR (-O2):
define void @f2(i32* nocapture writeonly %0) {
%2 = tail call i32 (...) @omp_get_thread_num()
%3 = shl nsw i32 %2, 6
%4 = sext i32 %3 to i64
%5 = getelementptr inbounds i32, i32* %0, i64 %4
%6 = bitcast i32* %5 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %6
%7 = or i64 %4, 4
%8 = getelementptr inbounds i32, i32* %0, i64 %7
%9 = bitcast i32* %8 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %9
%10 = or i64 %4, 8
%11 = getelementptr inbounds i32, i32* %0, i64 %10
%12 = bitcast i32* %11 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %12
%13 = or i64 %4, 12
%14 = getelementptr inbounds i32, i32* %0, i64 %13
%15 = bitcast i32* %14 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %15
%16 = or i64 %4, 16
%17 = getelementptr inbounds i32, i32* %0, i64 %16
%18 = bitcast i32* %17 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %18
%19 = or i64 %4, 20
%20 = getelementptr inbounds i32, i32* %0, i64 %19
%21 = bitcast i32* %20 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %21
%22 = or i64 %4, 24
%23 = getelementptr inbounds i32, i32* %0, i64 %22
%24 = bitcast i32* %23 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %24
%25 = or i64 %4, 28
%26 = getelementptr inbounds i32, i32* %0, i64 %25
%27 = bitcast i32* %26 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %27
%28 = or i64 %4, 32
%29 = getelementptr inbounds i32, i32* %0, i64 %28
%30 = bitcast i32* %29 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %30
%31 = or i64 %4, 36
%32 = getelementptr inbounds i32, i32* %0, i64 %31
%33 = bitcast i32* %32 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %33
%34 = or i64 %4, 40
%35 = getelementptr inbounds i32, i32* %0, i64 %34
%36 = bitcast i32* %35 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %36
%37 = or i64 %4, 44
%38 = getelementptr inbounds i32, i32* %0, i64 %37
%39 = bitcast i32* %38 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %39
%40 = or i64 %4, 48
%41 = getelementptr inbounds i32, i32* %0, i64 %40
%42 = bitcast i32* %41 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %42
%43 = or i64 %4, 52
%44 = getelementptr inbounds i32, i32* %0, i64 %43
%45 = bitcast i32* %44 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %45
%46 = or i64 %4, 56
%47 = getelementptr inbounds i32, i32* %0, i64 %46
%48 = bitcast i32* %47 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %48
%49 = or i64 %4, 60
%50 = getelementptr inbounds i32, i32* %0, i64 %49
%51 = bitcast i32* %50 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %51
%52 = bitcast i32* %0 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %52
%53 = getelementptr inbounds i32, i32* %0, i64 4
%54 = bitcast i32* %53 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %54
%55 = getelementptr inbounds i32, i32* %0, i64 8
%56 = bitcast i32* %55 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %56
%57 = getelementptr inbounds i32, i32* %0, i64 12
%58 = bitcast i32* %57 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %58
%59 = getelementptr inbounds i32, i32* %0, i64 16
%60 = bitcast i32* %59 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %60
%61 = getelementptr inbounds i32, i32* %0, i64 20
%62 = bitcast i32* %61 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %62
%63 = getelementptr inbounds i32, i32* %0, i64 24
%64 = bitcast i32* %63 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %64
%65 = getelementptr inbounds i32, i32* %0, i64 28
%66 = bitcast i32* %65 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %66
%67 = getelementptr inbounds i32, i32* %0, i64 32
%68 = bitcast i32* %67 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %68
%69 = getelementptr inbounds i32, i32* %0, i64 36
%70 = bitcast i32* %69 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %70
%71 = getelementptr inbounds i32, i32* %0, i64 40
%72 = bitcast i32* %71 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %72
%73 = getelementptr inbounds i32, i32* %0, i64 44
%74 = bitcast i32* %73 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %74
%75 = getelementptr inbounds i32, i32* %0, i64 48
%76 = bitcast i32* %75 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %76
%77 = getelementptr inbounds i32, i32* %0, i64 52
%78 = bitcast i32* %77 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %78
%79 = getelementptr inbounds i32, i32* %0, i64 56
%80 = bitcast i32* %79 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %80
%81 = getelementptr inbounds i32, i32* %0, i64 60
%82 = bitcast i32* %81 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %82
%83 = bitcast i32* %0 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %83
%84 = getelementptr inbounds i32, i32* %0, i64 4
%85 = bitcast i32* %84 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %85
%86 = getelementptr inbounds i32, i32* %0, i64 8
%87 = bitcast i32* %86 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %87
%88 = getelementptr inbounds i32, i32* %0, i64 12
%89 = bitcast i32* %88 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %89
%90 = getelementptr inbounds i32, i32* %0, i64 16
%91 = bitcast i32* %90 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %91
%92 = getelementptr inbounds i32, i32* %0, i64 20
%93 = bitcast i32* %92 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %93
%94 = getelementptr inbounds i32, i32* %0, i64 24
%95 = bitcast i32* %94 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %95
%96 = getelementptr inbounds i32, i32* %0, i64 28
%97 = bitcast i32* %96 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %97
%98 = getelementptr inbounds i32, i32* %0, i64 32
%99 = bitcast i32* %98 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %99
%100 = getelementptr inbounds i32, i32* %0, i64 36
%101 = bitcast i32* %100 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %101
%102 = getelementptr inbounds i32, i32* %0, i64 40
%103 = bitcast i32* %102 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %103
%104 = getelementptr inbounds i32, i32* %0, i64 44
%105 = bitcast i32* %104 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %105
%106 = getelementptr inbounds i32, i32* %0, i64 48
%107 = bitcast i32* %106 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %107
%108 = getelementptr inbounds i32, i32* %0, i64 52
%109 = bitcast i32* %108 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %109
%110 = getelementptr inbounds i32, i32* %0, i64 56
%111 = bitcast i32* %110 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %111
%112 = getelementptr inbounds i32, i32* %0, i64 60
%113 = bitcast i32* %112 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %113
%114 = bitcast i32* %0 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %114
%115 = getelementptr inbounds i32, i32* %0, i64 4
%116 = bitcast i32* %115 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %116
%117 = getelementptr inbounds i32, i32* %0, i64 8
%118 = bitcast i32* %117 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %118
%119 = getelementptr inbounds i32, i32* %0, i64 12
%120 = bitcast i32* %119 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %120
%121 = getelementptr inbounds i32, i32* %0, i64 16
%122 = bitcast i32* %121 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %122
%123 = getelementptr inbounds i32, i32* %0, i64 20
%124 = bitcast i32* %123 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %124
%125 = getelementptr inbounds i32, i32* %0, i64 24
%126 = bitcast i32* %125 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %126
%127 = getelementptr inbounds i32, i32* %0, i64 28
%128 = bitcast i32* %127 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %128
%129 = getelementptr inbounds i32, i32* %0, i64 32
%130 = bitcast i32* %129 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %130
%131 = getelementptr inbounds i32, i32* %0, i64 36
%132 = bitcast i32* %131 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %132
%133 = getelementptr inbounds i32, i32* %0, i64 40
%134 = bitcast i32* %133 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %134
%135 = getelementptr inbounds i32, i32* %0, i64 44
%136 = bitcast i32* %135 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %136
%137 = getelementptr inbounds i32, i32* %0, i64 48
%138 = bitcast i32* %137 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %138
%139 = getelementptr inbounds i32, i32* %0, i64 52
%140 = bitcast i32* %139 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %140
%141 = getelementptr inbounds i32, i32* %0, i64 56
%142 = bitcast i32* %141 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %142
%143 = getelementptr inbounds i32, i32* %0, i64 60
%144 = bitcast i32* %143 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %144
%145 = bitcast i32* %0 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %145
%146 = getelementptr inbounds i32, i32* %0, i64 4
%147 = bitcast i32* %146 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %147
%148 = getelementptr inbounds i32, i32* %0, i64 8
%149 = bitcast i32* %148 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %149
%150 = getelementptr inbounds i32, i32* %0, i64 12
%151 = bitcast i32* %150 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %151
%152 = getelementptr inbounds i32, i32* %0, i64 16
%153 = bitcast i32* %152 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %153
%154 = getelementptr inbounds i32, i32* %0, i64 20
%155 = bitcast i32* %154 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %155
%156 = getelementptr inbounds i32, i32* %0, i64 24
%157 = bitcast i32* %156 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %157
%158 = getelementptr inbounds i32, i32* %0, i64 28
%159 = bitcast i32* %158 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %159
%160 = getelementptr inbounds i32, i32* %0, i64 32
%161 = bitcast i32* %160 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %161
%162 = getelementptr inbounds i32, i32* %0, i64 36
%163 = bitcast i32* %162 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %163
%164 = getelementptr inbounds i32, i32* %0, i64 40
%165 = bitcast i32* %164 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %165
%166 = getelementptr inbounds i32, i32* %0, i64 44
%167 = bitcast i32* %166 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %167
%168 = getelementptr inbounds i32, i32* %0, i64 48
%169 = bitcast i32* %168 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %169
%170 = getelementptr inbounds i32, i32* %0, i64 52
%171 = bitcast i32* %170 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %171
%172 = getelementptr inbounds i32, i32* %0, i64 56
%173 = bitcast i32* %172 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %173
%174 = getelementptr inbounds i32, i32* %0, i64 60
%175 = bitcast i32* %174 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %175
%176 = bitcast i32* %0 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %176
%177 = getelementptr inbounds i32, i32* %0, i64 4
%178 = bitcast i32* %177 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %178
%179 = getelementptr inbounds i32, i32* %0, i64 8
%180 = bitcast i32* %179 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %180
%181 = getelementptr inbounds i32, i32* %0, i64 12
%182 = bitcast i32* %181 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %182
%183 = getelementptr inbounds i32, i32* %0, i64 16
%184 = bitcast i32* %183 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %184
%185 = getelementptr inbounds i32, i32* %0, i64 20
%186 = bitcast i32* %185 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %186
%187 = getelementptr inbounds i32, i32* %0, i64 24
%188 = bitcast i32* %187 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %188
%189 = getelementptr inbounds i32, i32* %0, i64 28
%190 = bitcast i32* %189 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %190
%191 = getelementptr inbounds i32, i32* %0, i64 32
%192 = bitcast i32* %191 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %192
%193 = getelementptr inbounds i32, i32* %0, i64 36
%194 = bitcast i32* %193 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %194
%195 = getelementptr inbounds i32, i32* %0, i64 40
%196 = bitcast i32* %195 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %196
%197 = getelementptr inbounds i32, i32* %0, i64 44
%198 = bitcast i32* %197 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %198
%199 = getelementptr inbounds i32, i32* %0, i64 48
%200 = bitcast i32* %199 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %200
%201 = getelementptr inbounds i32, i32* %0, i64 52
%202 = bitcast i32* %201 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %202
%203 = getelementptr inbounds i32, i32* %0, i64 56
%204 = bitcast i32* %203 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %204
%205 = getelementptr inbounds i32, i32* %0, i64 60
%206 = bitcast i32* %205 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %206
%207 = bitcast i32* %0 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %207
%208 = getelementptr inbounds i32, i32* %0, i64 4
%209 = bitcast i32* %208 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %209
%210 = getelementptr inbounds i32, i32* %0, i64 8
%211 = bitcast i32* %210 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %211
%212 = getelementptr inbounds i32, i32* %0, i64 12
%213 = bitcast i32* %212 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %213
%214 = getelementptr inbounds i32, i32* %0, i64 16
%215 = bitcast i32* %214 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %215
%216 = getelementptr inbounds i32, i32* %0, i64 20
%217 = bitcast i32* %216 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %217
%218 = getelementptr inbounds i32, i32* %0, i64 24
%219 = bitcast i32* %218 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %219
%220 = getelementptr inbounds i32, i32* %0, i64 28
%221 = bitcast i32* %220 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %221
%222 = getelementptr inbounds i32, i32* %0, i64 32
%223 = bitcast i32* %222 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %223
%224 = getelementptr inbounds i32, i32* %0, i64 36
%225 = bitcast i32* %224 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %225
%226 = getelementptr inbounds i32, i32* %0, i64 40
%227 = bitcast i32* %226 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %227
%228 = getelementptr inbounds i32, i32* %0, i64 44
%229 = bitcast i32* %228 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %229
%230 = getelementptr inbounds i32, i32* %0, i64 48
%231 = bitcast i32* %230 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %231
%232 = getelementptr inbounds i32, i32* %0, i64 52
%233 = bitcast i32* %232 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %233
%234 = getelementptr inbounds i32, i32* %0, i64 56
%235 = bitcast i32* %234 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %235
%236 = getelementptr inbounds i32, i32* %0, i64 60
%237 = bitcast i32* %236 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %237
br label %238
238: ; preds = %1, %238
%239 = phi i64 [ %288, %238 ], [ 0, %1 ]
%240 = shl nsw i64 %239, 6
%241 = getelementptr inbounds i32, i32* %0, i64 %240
%242 = bitcast i32* %241 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %242
%243 = or i64 %240, 4
%244 = getelementptr inbounds i32, i32* %0, i64 %243
%245 = bitcast i32* %244 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %245
%246 = or i64 %240, 8
%247 = getelementptr inbounds i32, i32* %0, i64 %246
%248 = bitcast i32* %247 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %248
%249 = or i64 %240, 12
%250 = getelementptr inbounds i32, i32* %0, i64 %249
%251 = bitcast i32* %250 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %251
%252 = or i64 %240, 16
%253 = getelementptr inbounds i32, i32* %0, i64 %252
%254 = bitcast i32* %253 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %254
%255 = or i64 %240, 20
%256 = getelementptr inbounds i32, i32* %0, i64 %255
%257 = bitcast i32* %256 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %257
%258 = or i64 %240, 24
%259 = getelementptr inbounds i32, i32* %0, i64 %258
%260 = bitcast i32* %259 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %260
%261 = or i64 %240, 28
%262 = getelementptr inbounds i32, i32* %0, i64 %261
%263 = bitcast i32* %262 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %263
%264 = or i64 %240, 32
%265 = getelementptr inbounds i32, i32* %0, i64 %264
%266 = bitcast i32* %265 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %266
%267 = or i64 %240, 36
%268 = getelementptr inbounds i32, i32* %0, i64 %267
%269 = bitcast i32* %268 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %269
%270 = or i64 %240, 40
%271 = getelementptr inbounds i32, i32* %0, i64 %270
%272 = bitcast i32* %271 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %272
%273 = or i64 %240, 44
%274 = getelementptr inbounds i32, i32* %0, i64 %273
%275 = bitcast i32* %274 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %275
%276 = or i64 %240, 48
%277 = getelementptr inbounds i32, i32* %0, i64 %276
%278 = bitcast i32* %277 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %278
%279 = or i64 %240, 52
%280 = getelementptr inbounds i32, i32* %0, i64 %279
%281 = bitcast i32* %280 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %281
%282 = or i64 %240, 56
%283 = getelementptr inbounds i32, i32* %0, i64 %282
%284 = bitcast i32* %283 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %284
%285 = or i64 %240, 60
%286 = getelementptr inbounds i32, i32* %0, i64 %285
%287 = bitcast i32* %286 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %287
%288 = add nuw nsw i64 %239, 1
%289 = icmp eq i64 %288, 64
br i1 %289, label %290, label %238
290: ; preds = %238, %290
%291 = phi i64 [ %340, %290 ], [ 0, %238 ]
%292 = shl nsw i64 %291, 6
%293 = getelementptr inbounds i32, i32* %0, i64 %292
%294 = bitcast i32* %293 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %294
%295 = or i64 %292, 4
%296 = getelementptr inbounds i32, i32* %0, i64 %295
%297 = bitcast i32* %296 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %297
%298 = or i64 %292, 8
%299 = getelementptr inbounds i32, i32* %0, i64 %298
%300 = bitcast i32* %299 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %300
%301 = or i64 %292, 12
%302 = getelementptr inbounds i32, i32* %0, i64 %301
%303 = bitcast i32* %302 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %303
%304 = or i64 %292, 16
%305 = getelementptr inbounds i32, i32* %0, i64 %304
%306 = bitcast i32* %305 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %306
%307 = or i64 %292, 20
%308 = getelementptr inbounds i32, i32* %0, i64 %307
%309 = bitcast i32* %308 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %309
%310 = or i64 %292, 24
%311 = getelementptr inbounds i32, i32* %0, i64 %310
%312 = bitcast i32* %311 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %312
%313 = or i64 %292, 28
%314 = getelementptr inbounds i32, i32* %0, i64 %313
%315 = bitcast i32* %314 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %315
%316 = or i64 %292, 32
%317 = getelementptr inbounds i32, i32* %0, i64 %316
%318 = bitcast i32* %317 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %318
%319 = or i64 %292, 36
%320 = getelementptr inbounds i32, i32* %0, i64 %319
%321 = bitcast i32* %320 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %321
%322 = or i64 %292, 40
%323 = getelementptr inbounds i32, i32* %0, i64 %322
%324 = bitcast i32* %323 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %324
%325 = or i64 %292, 44
%326 = getelementptr inbounds i32, i32* %0, i64 %325
%327 = bitcast i32* %326 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %327
%328 = or i64 %292, 48
%329 = getelementptr inbounds i32, i32* %0, i64 %328
%330 = bitcast i32* %329 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %330
%331 = or i64 %292, 52
%332 = getelementptr inbounds i32, i32* %0, i64 %331
%333 = bitcast i32* %332 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %333
%334 = or i64 %292, 56
%335 = getelementptr inbounds i32, i32* %0, i64 %334
%336 = bitcast i32* %335 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %336
%337 = or i64 %292, 60
%338 = getelementptr inbounds i32, i32* %0, i64 %337
%339 = bitcast i32* %338 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %339
%340 = add nuw nsw i64 %291, 1
%341 = icmp eq i64 %340, 64
br i1 %341, label %342, label %290
342: ; preds = %290, %342
%343 = phi i64 [ %392, %342 ], [ 0, %290 ]
%344 = shl nsw i64 %343, 6
%345 = getelementptr inbounds i32, i32* %0, i64 %344
%346 = bitcast i32* %345 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %346
%347 = or i64 %344, 4
%348 = getelementptr inbounds i32, i32* %0, i64 %347
%349 = bitcast i32* %348 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %349
%350 = or i64 %344, 8
%351 = getelementptr inbounds i32, i32* %0, i64 %350
%352 = bitcast i32* %351 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %352
%353 = or i64 %344, 12
%354 = getelementptr inbounds i32, i32* %0, i64 %353
%355 = bitcast i32* %354 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %355
%356 = or i64 %344, 16
%357 = getelementptr inbounds i32, i32* %0, i64 %356
%358 = bitcast i32* %357 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %358
%359 = or i64 %344, 20
%360 = getelementptr inbounds i32, i32* %0, i64 %359
%361 = bitcast i32* %360 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %361
%362 = or i64 %344, 24
%363 = getelementptr inbounds i32, i32* %0, i64 %362
%364 = bitcast i32* %363 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %364
%365 = or i64 %344, 28
%366 = getelementptr inbounds i32, i32* %0, i64 %365
%367 = bitcast i32* %366 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %367
%368 = or i64 %344, 32
%369 = getelementptr inbounds i32, i32* %0, i64 %368
%370 = bitcast i32* %369 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %370
%371 = or i64 %344, 36
%372 = getelementptr inbounds i32, i32* %0, i64 %371
%373 = bitcast i32* %372 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %373
%374 = or i64 %344, 40
%375 = getelementptr inbounds i32, i32* %0, i64 %374
%376 = bitcast i32* %375 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %376
%377 = or i64 %344, 44
%378 = getelementptr inbounds i32, i32* %0, i64 %377
%379 = bitcast i32* %378 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %379
%380 = or i64 %344, 48
%381 = getelementptr inbounds i32, i32* %0, i64 %380
%382 = bitcast i32* %381 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %382
%383 = or i64 %344, 52
%384 = getelementptr inbounds i32, i32* %0, i64 %383
%385 = bitcast i32* %384 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %385
%386 = or i64 %344, 56
%387 = getelementptr inbounds i32, i32* %0, i64 %386
%388 = bitcast i32* %387 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %388
%389 = or i64 %344, 60
%390 = getelementptr inbounds i32, i32* %0, i64 %389
%391 = bitcast i32* %390 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %391
%392 = add nuw nsw i64 %343, 1
%393 = icmp eq i64 %392, 64
br i1 %393, label %394, label %342
394: ; preds = %342, %394
%395 = phi i64 [ %444, %394 ], [ 0, %342 ]
%396 = shl nsw i64 %395, 6
%397 = getelementptr inbounds i32, i32* %0, i64 %396
%398 = bitcast i32* %397 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %398
%399 = or i64 %396, 4
%400 = getelementptr inbounds i32, i32* %0, i64 %399
%401 = bitcast i32* %400 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %401
%402 = or i64 %396, 8
%403 = getelementptr inbounds i32, i32* %0, i64 %402
%404 = bitcast i32* %403 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %404
%405 = or i64 %396, 12
%406 = getelementptr inbounds i32, i32* %0, i64 %405
%407 = bitcast i32* %406 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %407
%408 = or i64 %396, 16
%409 = getelementptr inbounds i32, i32* %0, i64 %408
%410 = bitcast i32* %409 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %410
%411 = or i64 %396, 20
%412 = getelementptr inbounds i32, i32* %0, i64 %411
%413 = bitcast i32* %412 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %413
%414 = or i64 %396, 24
%415 = getelementptr inbounds i32, i32* %0, i64 %414
%416 = bitcast i32* %415 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %416
%417 = or i64 %396, 28
%418 = getelementptr inbounds i32, i32* %0, i64 %417
%419 = bitcast i32* %418 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %419
%420 = or i64 %396, 32
%421 = getelementptr inbounds i32, i32* %0, i64 %420
%422 = bitcast i32* %421 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %422
%423 = or i64 %396, 36
%424 = getelementptr inbounds i32, i32* %0, i64 %423
%425 = bitcast i32* %424 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %425
%426 = or i64 %396, 40
%427 = getelementptr inbounds i32, i32* %0, i64 %426
%428 = bitcast i32* %427 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %428
%429 = or i64 %396, 44
%430 = getelementptr inbounds i32, i32* %0, i64 %429
%431 = bitcast i32* %430 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %431
%432 = or i64 %396, 48
%433 = getelementptr inbounds i32, i32* %0, i64 %432
%434 = bitcast i32* %433 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %434
%435 = or i64 %396, 52
%436 = getelementptr inbounds i32, i32* %0, i64 %435
%437 = bitcast i32* %436 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %437
%438 = or i64 %396, 56
%439 = getelementptr inbounds i32, i32* %0, i64 %438
%440 = bitcast i32* %439 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %440
%441 = or i64 %396, 60
%442 = getelementptr inbounds i32, i32* %0, i64 %441
%443 = bitcast i32* %442 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %443
%444 = add nuw nsw i64 %395, 1
%445 = icmp eq i64 %444, 64
br i1 %445, label %446, label %394
446: ; preds = %394, %446
%447 = phi i64 [ %496, %446 ], [ 0, %394 ]
%448 = shl nsw i64 %447, 6
%449 = getelementptr inbounds i32, i32* %0, i64 %448
%450 = bitcast i32* %449 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %450
%451 = or i64 %448, 4
%452 = getelementptr inbounds i32, i32* %0, i64 %451
%453 = bitcast i32* %452 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %453
%454 = or i64 %448, 8
%455 = getelementptr inbounds i32, i32* %0, i64 %454
%456 = bitcast i32* %455 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %456
%457 = or i64 %448, 12
%458 = getelementptr inbounds i32, i32* %0, i64 %457
%459 = bitcast i32* %458 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %459
%460 = or i64 %448, 16
%461 = getelementptr inbounds i32, i32* %0, i64 %460
%462 = bitcast i32* %461 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %462
%463 = or i64 %448, 20
%464 = getelementptr inbounds i32, i32* %0, i64 %463
%465 = bitcast i32* %464 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %465
%466 = or i64 %448, 24
%467 = getelementptr inbounds i32, i32* %0, i64 %466
%468 = bitcast i32* %467 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %468
%469 = or i64 %448, 28
%470 = getelementptr inbounds i32, i32* %0, i64 %469
%471 = bitcast i32* %470 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %471
%472 = or i64 %448, 32
%473 = getelementptr inbounds i32, i32* %0, i64 %472
%474 = bitcast i32* %473 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %474
%475 = or i64 %448, 36
%476 = getelementptr inbounds i32, i32* %0, i64 %475
%477 = bitcast i32* %476 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %477
%478 = or i64 %448, 40
%479 = getelementptr inbounds i32, i32* %0, i64 %478
%480 = bitcast i32* %479 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %480
%481 = or i64 %448, 44
%482 = getelementptr inbounds i32, i32* %0, i64 %481
%483 = bitcast i32* %482 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %483
%484 = or i64 %448, 48
%485 = getelementptr inbounds i32, i32* %0, i64 %484
%486 = bitcast i32* %485 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %486
%487 = or i64 %448, 52
%488 = getelementptr inbounds i32, i32* %0, i64 %487
%489 = bitcast i32* %488 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %489
%490 = or i64 %448, 56
%491 = getelementptr inbounds i32, i32* %0, i64 %490
%492 = bitcast i32* %491 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %492
%493 = or i64 %448, 60
%494 = getelementptr inbounds i32, i32* %0, i64 %493
%495 = bitcast i32* %494 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %495
%496 = add nuw nsw i64 %447, 1
%497 = icmp eq i64 %496, 64
br i1 %497, label %498, label %446
498: ; preds = %446, %498
%499 = phi i64 [ %548, %498 ], [ 0, %446 ]
%500 = shl nsw i64 %499, 6
%501 = getelementptr inbounds i32, i32* %0, i64 %500
%502 = bitcast i32* %501 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %502
%503 = or i64 %500, 4
%504 = getelementptr inbounds i32, i32* %0, i64 %503
%505 = bitcast i32* %504 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %505
%506 = or i64 %500, 8
%507 = getelementptr inbounds i32, i32* %0, i64 %506
%508 = bitcast i32* %507 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %508
%509 = or i64 %500, 12
%510 = getelementptr inbounds i32, i32* %0, i64 %509
%511 = bitcast i32* %510 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %511
%512 = or i64 %500, 16
%513 = getelementptr inbounds i32, i32* %0, i64 %512
%514 = bitcast i32* %513 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %514
%515 = or i64 %500, 20
%516 = getelementptr inbounds i32, i32* %0, i64 %515
%517 = bitcast i32* %516 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %517
%518 = or i64 %500, 24
%519 = getelementptr inbounds i32, i32* %0, i64 %518
%520 = bitcast i32* %519 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %520
%521 = or i64 %500, 28
%522 = getelementptr inbounds i32, i32* %0, i64 %521
%523 = bitcast i32* %522 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %523
%524 = or i64 %500, 32
%525 = getelementptr inbounds i32, i32* %0, i64 %524
%526 = bitcast i32* %525 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %526
%527 = or i64 %500, 36
%528 = getelementptr inbounds i32, i32* %0, i64 %527
%529 = bitcast i32* %528 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %529
%530 = or i64 %500, 40
%531 = getelementptr inbounds i32, i32* %0, i64 %530
%532 = bitcast i32* %531 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %532
%533 = or i64 %500, 44
%534 = getelementptr inbounds i32, i32* %0, i64 %533
%535 = bitcast i32* %534 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %535
%536 = or i64 %500, 48
%537 = getelementptr inbounds i32, i32* %0, i64 %536
%538 = bitcast i32* %537 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %538
%539 = or i64 %500, 52
%540 = getelementptr inbounds i32, i32* %0, i64 %539
%541 = bitcast i32* %540 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %541
%542 = or i64 %500, 56
%543 = getelementptr inbounds i32, i32* %0, i64 %542
%544 = bitcast i32* %543 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %544
%545 = or i64 %500, 60
%546 = getelementptr inbounds i32, i32* %0, i64 %545
%547 = bitcast i32* %546 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %547
%548 = add nuw nsw i64 %499, 1
%549 = icmp eq i64 %548, 64
br i1 %549, label %550, label %498
550: ; preds = %498, %550
%551 = phi i64 [ %600, %550 ], [ 0, %498 ]
%552 = shl nsw i64 %551, 6
%553 = getelementptr inbounds i32, i32* %0, i64 %552
%554 = bitcast i32* %553 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %554
%555 = or i64 %552, 4
%556 = getelementptr inbounds i32, i32* %0, i64 %555
%557 = bitcast i32* %556 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %557
%558 = or i64 %552, 8
%559 = getelementptr inbounds i32, i32* %0, i64 %558
%560 = bitcast i32* %559 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %560
%561 = or i64 %552, 12
%562 = getelementptr inbounds i32, i32* %0, i64 %561
%563 = bitcast i32* %562 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %563
%564 = or i64 %552, 16
%565 = getelementptr inbounds i32, i32* %0, i64 %564
%566 = bitcast i32* %565 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %566
%567 = or i64 %552, 20
%568 = getelementptr inbounds i32, i32* %0, i64 %567
%569 = bitcast i32* %568 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %569
%570 = or i64 %552, 24
%571 = getelementptr inbounds i32, i32* %0, i64 %570
%572 = bitcast i32* %571 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %572
%573 = or i64 %552, 28
%574 = getelementptr inbounds i32, i32* %0, i64 %573
%575 = bitcast i32* %574 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %575
%576 = or i64 %552, 32
%577 = getelementptr inbounds i32, i32* %0, i64 %576
%578 = bitcast i32* %577 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %578
%579 = or i64 %552, 36
%580 = getelementptr inbounds i32, i32* %0, i64 %579
%581 = bitcast i32* %580 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %581
%582 = or i64 %552, 40
%583 = getelementptr inbounds i32, i32* %0, i64 %582
%584 = bitcast i32* %583 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %584
%585 = or i64 %552, 44
%586 = getelementptr inbounds i32, i32* %0, i64 %585
%587 = bitcast i32* %586 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %587
%588 = or i64 %552, 48
%589 = getelementptr inbounds i32, i32* %0, i64 %588
%590 = bitcast i32* %589 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %590
%591 = or i64 %552, 52
%592 = getelementptr inbounds i32, i32* %0, i64 %591
%593 = bitcast i32* %592 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %593
%594 = or i64 %552, 56
%595 = getelementptr inbounds i32, i32* %0, i64 %594
%596 = bitcast i32* %595 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %596
%597 = or i64 %552, 60
%598 = getelementptr inbounds i32, i32* %0, i64 %597
%599 = bitcast i32* %598 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %599
%600 = add nuw nsw i64 %551, 1
%601 = icmp eq i64 %600, 64
br i1 %601, label %602, label %550
602: ; preds = %550, %602
%603 = phi i64 [ %652, %602 ], [ 0, %550 ]
%604 = shl nsw i64 %603, 6
%605 = getelementptr inbounds i32, i32* %0, i64 %604
%606 = bitcast i32* %605 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %606
%607 = or i64 %604, 4
%608 = getelementptr inbounds i32, i32* %0, i64 %607
%609 = bitcast i32* %608 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %609
%610 = or i64 %604, 8
%611 = getelementptr inbounds i32, i32* %0, i64 %610
%612 = bitcast i32* %611 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %612
%613 = or i64 %604, 12
%614 = getelementptr inbounds i32, i32* %0, i64 %613
%615 = bitcast i32* %614 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %615
%616 = or i64 %604, 16
%617 = getelementptr inbounds i32, i32* %0, i64 %616
%618 = bitcast i32* %617 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %618
%619 = or i64 %604, 20
%620 = getelementptr inbounds i32, i32* %0, i64 %619
%621 = bitcast i32* %620 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %621
%622 = or i64 %604, 24
%623 = getelementptr inbounds i32, i32* %0, i64 %622
%624 = bitcast i32* %623 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %624
%625 = or i64 %604, 28
%626 = getelementptr inbounds i32, i32* %0, i64 %625
%627 = bitcast i32* %626 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %627
%628 = or i64 %604, 32
%629 = getelementptr inbounds i32, i32* %0, i64 %628
%630 = bitcast i32* %629 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %630
%631 = or i64 %604, 36
%632 = getelementptr inbounds i32, i32* %0, i64 %631
%633 = bitcast i32* %632 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %633
%634 = or i64 %604, 40
%635 = getelementptr inbounds i32, i32* %0, i64 %634
%636 = bitcast i32* %635 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %636
%637 = or i64 %604, 44
%638 = getelementptr inbounds i32, i32* %0, i64 %637
%639 = bitcast i32* %638 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %639
%640 = or i64 %604, 48
%641 = getelementptr inbounds i32, i32* %0, i64 %640
%642 = bitcast i32* %641 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %642
%643 = or i64 %604, 52
%644 = getelementptr inbounds i32, i32* %0, i64 %643
%645 = bitcast i32* %644 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %645
%646 = or i64 %604, 56
%647 = getelementptr inbounds i32, i32* %0, i64 %646
%648 = bitcast i32* %647 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %648
%649 = or i64 %604, 60
%650 = getelementptr inbounds i32, i32* %0, i64 %649
%651 = bitcast i32* %650 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %651
%652 = add nuw nsw i64 %603, 1
%653 = icmp eq i64 %652, 64
br i1 %653, label %654, label %602
654: ; preds = %602
%655 = bitcast i32* %0 to <4 x i32>*
store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>* %655
%656 = getelementptr inbounds i32, i32* %0, i64 4
%657 = bitcast i32* %656 to <4 x i32>*
store <4 x i32> <i32 4, i32 5, i32 6, i32 7>, <4 x i32>* %657
%658 = getelementptr inbounds i32, i32* %0, i64 8
%659 = bitcast i32* %658 to <4 x i32>*
store <4 x i32> <i32 8, i32 9, i32 10, i32 11>, <4 x i32>* %659
%660 = getelementptr inbounds i32, i32* %0, i64 12
%661 = bitcast i32* %660 to <4 x i32>*
store <4 x i32> <i32 12, i32 13, i32 14, i32 15>, <4 x i32>* %661
%662 = getelementptr inbounds i32, i32* %0, i64 16
%663 = bitcast i32* %662 to <4 x i32>*
store <4 x i32> <i32 16, i32 17, i32 18, i32 19>, <4 x i32>* %663
%664 = getelementptr inbounds i32, i32* %0, i64 20
%665 = bitcast i32* %664 to <4 x i32>*
store <4 x i32> <i32 20, i32 21, i32 22, i32 23>, <4 x i32>* %665
%666 = getelementptr inbounds i32, i32* %0, i64 24
%667 = bitcast i32* %666 to <4 x i32>*
store <4 x i32> <i32 24, i32 25, i32 26, i32 27>, <4 x i32>* %667
%668 = getelementptr inbounds i32, i32* %0, i64 28
%669 = bitcast i32* %668 to <4 x i32>*
store <4 x i32> <i32 28, i32 29, i32 30, i32 31>, <4 x i32>* %669
%670 = getelementptr inbounds i32, i32* %0, i64 32
%671 = bitcast i32* %670 to <4 x i32>*
store <4 x i32> <i32 32, i32 33, i32 34, i32 35>, <4 x i32>* %671
%672 = getelementptr inbounds i32, i32* %0, i64 36
%673 = bitcast i32* %672 to <4 x i32>*
store <4 x i32> <i32 36, i32 37, i32 38, i32 39>, <4 x i32>* %673
%674 = getelementptr inbounds i32, i32* %0, i64 40
%675 = bitcast i32* %674 to <4 x i32>*
store <4 x i32> <i32 40, i32 41, i32 42, i32 43>, <4 x i32>* %675
%676 = getelementptr inbounds i32, i32* %0, i64 44
%677 = bitcast i32* %676 to <4 x i32>*
store <4 x i32> <i32 44, i32 45, i32 46, i32 47>, <4 x i32>* %677
%678 = getelementptr inbounds i32, i32* %0, i64 48
%679 = bitcast i32* %678 to <4 x i32>*
store <4 x i32> <i32 48, i32 49, i32 50, i32 51>, <4 x i32>* %679
%680 = getelementptr inbounds i32, i32* %0, i64 52
%681 = bitcast i32* %680 to <4 x i32>*
store <4 x i32> <i32 52, i32 53, i32 54, i32 55>, <4 x i32>* %681
%682 = getelementptr inbounds i32, i32* %0, i64 56
%683 = bitcast i32* %682 to <4 x i32>*
store <4 x i32> <i32 56, i32 57, i32 58, i32 59>, <4 x i32>* %683
%684 = getelementptr inbounds i32, i32* %0, i64 60
%685 = bitcast i32* %684 to <4 x i32>*
store <4 x i32> <i32 60, i32 61, i32 62, i32 63>, <4 x i32>* %685
ret void
}