#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*/ memset(unsigned int *, int /*<<< orphan*/, int);
void dmc_unrar_rar15_reset_table(unsigned int *table, unsigned int *reverse) {
  int i, j;
  for (i = 0; i < 8; i++)
    for (j = 0; j < 32; j++)
      table[i * 32 + j] = (table[i * 32 + j] & ~0xFF) | (7 - i);
  memset((reverse), 0, (256) * sizeof((reverse)[0]));
  for (i = 0; i < 7; i++)
    reverse[i] = (7 - i) * 32;
}


x86 assembly (clang, -O0):
<dmc_unrar_rar15_reset_table>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
cmpl   $0x8,-0x14(%rbp)
jge    1199 <dmc_unrar_rar15_reset_table+0x89>
movl   $0x0,-0x18(%rbp)
cmpl   $0x20,-0x18(%rbp)
jge    1186 <dmc_unrar_rar15_reset_table+0x76>
mov    -0x8(%rbp),%rax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%edx
and    $0xffffff00,%edx
mov    $0x7,%eax
sub    -0x14(%rbp),%eax
or     %eax,%edx
mov    -0x8(%rbp),%rax
mov    -0x14(%rbp),%ecx
shl    $0x5,%ecx
add    -0x18(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1138 <dmc_unrar_rar15_reset_table+0x28>
jmp    118b <dmc_unrar_rar15_reset_table+0x7b>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1127 <dmc_unrar_rar15_reset_table+0x17>
mov    -0x10(%rbp),%rdi
xor    %esi,%esi
mov    $0x400,%edx
call   1030 <memset@plt>
movl   $0x0,-0x14(%rbp)
cmpl   $0x7,-0x14(%rbp)
jge    11de <dmc_unrar_rar15_reset_table+0xce>
mov    $0x7,%edx
sub    -0x14(%rbp),%edx
shl    $0x5,%edx
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    11b0 <dmc_unrar_rar15_reset_table+0xa0>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<dmc_unrar_rar15_reset_table>:
push   %rbx
mov    %rsi,%rbx
movups (%rdi),%xmm2
movups 0x10(%rdi),%xmm3
movups 0x20(%rdi),%xmm4
movups 0x30(%rdi),%xmm5
movaps 0xed6(%rip),%xmm0
andps  %xmm0,%xmm2
movaps 0xedc(%rip),%xmm1
orps   %xmm1,%xmm2
movups %xmm2,(%rdi)
andps  %xmm0,%xmm3
orps   %xmm1,%xmm3
movups %xmm3,0x10(%rdi)
andps  %xmm0,%xmm4
orps   %xmm1,%xmm4
movups %xmm4,0x20(%rdi)
andps  %xmm0,%xmm5
orps   %xmm1,%xmm5
movups %xmm5,0x30(%rdi)
movups 0x40(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x40(%rdi)
movups 0x50(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x50(%rdi)
movups 0x60(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x60(%rdi)
movups 0x70(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x70(%rdi)
movups 0x80(%rdi),%xmm2
andps  %xmm0,%xmm2
movaps 0xe7f(%rip),%xmm1
orps   %xmm1,%xmm2
movups %xmm2,0x80(%rdi)
movups 0x90(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x90(%rdi)
movups 0xa0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0xa0(%rdi)
movups 0xb0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0xb0(%rdi)
movups 0xc0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0xc0(%rdi)
movups 0xd0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0xd0(%rdi)
movups 0xe0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0xe0(%rdi)
movups 0xf0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0xf0(%rdi)
movups 0x100(%rdi),%xmm2
andps  %xmm0,%xmm2
movaps 0xde8(%rip),%xmm1
orps   %xmm1,%xmm2
movups %xmm2,0x100(%rdi)
movups 0x110(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x110(%rdi)
movups 0x120(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x120(%rdi)
movups 0x130(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x130(%rdi)
movups 0x140(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x140(%rdi)
movups 0x150(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x150(%rdi)
movups 0x160(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x160(%rdi)
movups 0x170(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x170(%rdi)
movups 0x180(%rdi),%xmm2
andps  %xmm0,%xmm2
movaps 0xd51(%rip),%xmm1
orps   %xmm1,%xmm2
movups %xmm2,0x180(%rdi)
movups 0x190(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x190(%rdi)
movups 0x1a0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x1a0(%rdi)
movups 0x1b0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x1b0(%rdi)
movups 0x1c0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x1c0(%rdi)
movups 0x1d0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x1d0(%rdi)
movups 0x1e0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x1e0(%rdi)
movups 0x1f0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x1f0(%rdi)
movups 0x200(%rdi),%xmm2
andps  %xmm0,%xmm2
movaps 0xcba(%rip),%xmm1
orps   %xmm1,%xmm2
movups %xmm2,0x200(%rdi)
movups 0x210(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x210(%rdi)
movups 0x220(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x220(%rdi)
movups 0x230(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x230(%rdi)
movups 0x240(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x240(%rdi)
movups 0x250(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x250(%rdi)
movups 0x260(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x260(%rdi)
movups 0x270(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x270(%rdi)
movups 0x280(%rdi),%xmm2
andps  %xmm0,%xmm2
movaps 0xc23(%rip),%xmm1
orps   %xmm1,%xmm2
movups %xmm2,0x280(%rdi)
movups 0x290(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x290(%rdi)
movups 0x2a0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x2a0(%rdi)
movups 0x2b0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x2b0(%rdi)
movups 0x2c0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x2c0(%rdi)
movups 0x2d0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x2d0(%rdi)
movups 0x2e0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x2e0(%rdi)
movups 0x2f0(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x2f0(%rdi)
movups 0x300(%rdi),%xmm2
andps  %xmm0,%xmm2
movaps 0xb8c(%rip),%xmm1
orps   %xmm1,%xmm2
movups %xmm2,0x300(%rdi)
movups 0x310(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x310(%rdi)
movups 0x320(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x320(%rdi)
movups 0x330(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x330(%rdi)
movups 0x340(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x340(%rdi)
movups 0x350(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x350(%rdi)
movups 0x360(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x360(%rdi)
movups 0x370(%rdi),%xmm2
andps  %xmm0,%xmm2
orps   %xmm1,%xmm2
movups %xmm2,0x370(%rdi)
movups 0x380(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x380(%rdi)
movups 0x390(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x390(%rdi)
movups 0x3a0(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x3a0(%rdi)
movups 0x3b0(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x3b0(%rdi)
movups 0x3c0(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x3c0(%rdi)
movups 0x3d0(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x3d0(%rdi)
movups 0x3e0(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x3e0(%rdi)
movups 0x3f0(%rdi),%xmm1
andps  %xmm0,%xmm1
movups %xmm1,0x3f0(%rdi)
mov    %rsi,%rdi
xor    %esi,%esi
mov    $0x400,%edx
call   1030 <memset@plt>
movaps 0xa68(%rip),%xmm0
movups %xmm0,(%rbx)
movabs $0x4000000060,%rax
mov    %rax,0x10(%rbx)
movl   $0x20,0x18(%rbx)
pop    %rbx
ret

LLVM IR (-O0):
define void @dmc_unrar_rar15_reset_table(i32* %0, i32* %1) {
%3 = alloca i32*
%4 = alloca i32*
%5 = alloca i32
%6 = alloca i32
store i32* %0, i32** %3
store i32* %1, i32** %4
store i32 0, i32* %5
br label %7
7: ; preds = %38, %2
%8 = load i32, i32* %5
%9 = icmp slt i32 %8, 8
br i1 %9, label %10, label %41
10: ; preds = %7
store i32 0, i32* %6
br label %11
11: ; preds = %34, %10
%12 = load i32, i32* %6
%13 = icmp slt i32 %12, 32
br i1 %13, label %14, label %37
14: ; preds = %11
%15 = load i32*, i32** %3
%16 = load i32, i32* %5
%17 = mul nsw i32 %16, 32
%18 = load i32, i32* %6
%19 = add nsw i32 %17, %18
%20 = sext i32 %19 to i64
%21 = getelementptr inbounds i32, i32* %15, i64 %20
%22 = load i32, i32* %21
%23 = and i32 %22, -256
%24 = load i32, i32* %5
%25 = sub nsw i32 7, %24
%26 = or i32 %23, %25
%27 = load i32*, i32** %3
%28 = load i32, i32* %5
%29 = mul nsw i32 %28, 32
%30 = load i32, i32* %6
%31 = add nsw i32 %29, %30
%32 = sext i32 %31 to i64
%33 = getelementptr inbounds i32, i32* %27, i64 %32
store i32 %26, i32* %33
br label %34
34: ; preds = %14
%35 = load i32, i32* %6
%36 = add nsw i32 %35, 1
store i32 %36, i32* %6
br label %11
37: ; preds = %11
br label %38
38: ; preds = %37
%39 = load i32, i32* %5
%40 = add nsw i32 %39, 1
store i32 %40, i32* %5
br label %7
41: ; preds = %7
%42 = load i32*, i32** %4
%43 = call i32 @memset(i32* %42, i32 0, i32 1024)
store i32 0, i32* %5
br label %44
44: ; preds = %55, %41
%45 = load i32, i32* %5
%46 = icmp slt i32 %45, 7
br i1 %46, label %47, label %58
47: ; preds = %44
%48 = load i32, i32* %5
%49 = sub nsw i32 7, %48
%50 = mul nsw i32 %49, 32
%51 = load i32*, i32** %4
%52 = load i32, i32* %5
%53 = sext i32 %52 to i64
%54 = getelementptr inbounds i32, i32* %51, i64 %53
store i32 %50, i32* %54
br label %55
55: ; preds = %47
%56 = load i32, i32* %5
%57 = add nsw i32 %56, 1
store i32 %57, i32* %5
br label %44
58: ; preds = %44
ret void
}

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