void PDJPG_TransIRDCT_Horiz(int *iblk, int *oblk) {
  int ib[8];
  ib[0] = iblk[6];
  ib[1] = iblk[7];
  ib[2] = iblk[3];
  ib[3] = iblk[0];
  ib[4] = iblk[2];
  ib[5] = iblk[4];
  ib[6] = iblk[1];
  ib[7] = iblk[5];
  ib[7] = ib[7] - (((ib[0] * ((int)((1.1020) * 8192 + 0.5)) +
                     ib[1] * ((int)((-2.0306) * 8192 + 0.5)) +
                     ib[2] * ((int)((-0.3881) * 8192 + 0.5)) +
                     ib[3] * ((int)((0.6561) * 8192 + 0.5)) +
                     ib[4] * ((int)((1.2405) * 8192 + 0.5)) +
                     ib[5] * ((int)((1.6577) * 8192 + 0.5)) +
                     ib[6] * ((int)((-1.1914) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[6] = ib[6] - (((ib[0] * ((int)((1.0024) * 8192 + 0.5)) +
                     ib[1] * ((int)((-0.7180) * 8192 + 0.5)) +
                     ib[2] * ((int)((-0.0928) * 8192 + 0.5)) +
                     ib[3] * ((int)((-0.0318) * 8192 + 0.5)) +
                     ib[4] * ((int)((0.4170) * 8192 + 0.5)) +
                     ib[5] * ((int)((1.1665) * 8192 + 0.5)) +
                     ib[7] * ((int)((0.4904) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[5] = ib[5] - (((ib[0] * ((int)((-0.6573) * 8192 + 0.5)) +
                     ib[1] * ((int)((0.5810) * 8192 + 0.5)) +
                     ib[2] * ((int)((-0.2931) * 8192 + 0.5)) +
                     ib[3] * ((int)((-0.5307) * 8192 + 0.5)) +
                     ib[4] * ((int)((-0.8730) * 8192 + 0.5)) +
                     ib[6] * ((int)((-0.1594) * 8192 + 0.5)) +
                     ib[7] * ((int)((-0.3560) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[4] = ib[4] - (((ib[0] * ((int)((0.4591) * 8192 + 0.5)) +
                     ib[1] * ((int)((0.4108) * 8192 + 0.5)) +
                     ib[2] * ((int)((-0.2073) * 8192 + 0.5)) +
                     ib[3] * ((int)((-1.0824) * 8192 + 0.5)) +
                     ib[5] * ((int)((0.7071) * 8192 + 0.5)) +
                     ib[6] * ((int)((0.8873) * 8192 + 0.5)) +
                     ib[7] * ((int)((-0.2517) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[3] = ib[3] - (((ib[0] * ((int)((0.7957) * 8192 + 0.5)) +
                     ib[1] * ((int)((0.9664) * 8192 + 0.5)) +
                     ib[2] * ((int)((0.4439) * 8192 + 0.5)) +
                     ib[4] * ((int)((0.6173) * 8192 + 0.5)) +
                     ib[5] * ((int)((-0.1422) * 8192 + 0.5)) +
                     ib[6] * ((int)((1.0378) * 8192 + 0.5)) +
                     ib[7] * ((int)((-0.1700) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[2] = ib[2] - (((ib[0] * ((int)((-0.0364) * 8192 + 0.5)) +
                     ib[1] * ((int)((-1.7104) * 8192 + 0.5)) +
                     ib[3] * ((int)((-1.0000) * 8192 + 0.5)) +
                     ib[4] * ((int)((0.3066) * 8192 + 0.5)) +
                     ib[5] * ((int)((0.6671) * 8192 + 0.5)) +
                     ib[6] * ((int)((-0.5953) * 8192 + 0.5)) +
                     ib[7] * ((int)((0.2039) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[1] = ib[1] - (((ib[0] * ((int)((-0.0685) * 8192 + 0.5)) +
                     ib[2] * ((int)((0.2708) * 8192 + 0.5)) +
                     ib[3] * ((int)((-0.2708) * 8192 + 0.5)) +
                     ib[4] * ((int)((-0.2235) * 8192 + 0.5)) +
                     ib[5] * ((int)((0.2568) * 8192 + 0.5)) +
                     ib[6] * ((int)((-0.3205) * 8192 + 0.5)) +
                     ib[7] * ((int)((0.3841) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[0] = ib[0] - (((ib[1] * ((int)((-1.1129) * 8192 + 0.5)) +
                     ib[2] * ((int)((0.0570) * 8192 + 0.5)) +
                     ib[3] * ((int)((-0.4712) * 8192 + 0.5)) +
                     ib[4] * ((int)((0.1029) * 8192 + 0.5)) +
                     ib[5] * ((int)((0.0156) * 8192 + 0.5)) +
                     ib[6] * ((int)((-0.4486) * 8192 + 0.5)) +
                     ib[7] * ((int)((-0.4619) * 8192 + 0.5))) +
                    4096) >>
                   13);
  ib[7] = -ib[7] + (((ib[0] * ((int)((1.1648) * 8192 + 0.5)) +
                      ib[1] * ((int)((-2.8234) * 8192 + 0.5)) +
                      ib[2] * ((int)((0.5375) * 8192 + 0.5)) +
                      ib[3] * ((int)((-0.6058) * 8192 + 0.5)) +
                      ib[4] * ((int)((1.2228) * 8192 + 0.5)) +
                      ib[5] * ((int)((-0.3805) * 8192 + 0.5)) +
                      ib[6] * ((int)((0.0288) * 8192 + 0.5))) +
                     4096) >>
                    13);
  oblk[0] = ib[5];
  oblk[1] = ib[6];
  oblk[2] = ib[0];
  oblk[3] = ib[3];
  oblk[4] = ib[2];
  oblk[5] = ib[7];
  oblk[6] = ib[4];
  oblk[7] = ib[1];
}


x86 assembly (clang, -O0):
<PDJPG_TransIRDCT_Horiz>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x8(%rbp),%rax
mov    0x18(%rax),%eax
mov    %eax,-0x30(%rbp)
mov    -0x8(%rbp),%rax
mov    0x1c(%rax),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x8(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x28(%rbp)
mov    -0x8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x24(%rbp)
mov    -0x8(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x20(%rbp)
mov    -0x8(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x8(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x18(%rbp)
mov    -0x8(%rbp),%rax
mov    0x14(%rax),%eax
mov    %eax,-0x14(%rbp)
mov    -0x14(%rbp),%eax
imul   $0x2344,-0x30(%rbp),%ecx
imul   $0xffffbf06,-0x2c(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff396,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x14ff,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0x27b2,-0x20(%rbp),%edx
add    %edx,%ecx
imul   $0x350c,-0x1c(%rbp),%edx
add    %edx,%ecx
imul   $0xffffd9e1,-0x18(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x18(%rbp),%eax
imul   $0x2014,-0x30(%rbp),%ecx
imul   $0xffffe907,-0x2c(%rbp),%edx
add    %edx,%ecx
imul   $0xfffffd09,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0xfffffefc,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0xd58,-0x20(%rbp),%edx
add    %edx,%ecx
imul   $0x2554,-0x1c(%rbp),%edx
add    %edx,%ecx
imul   $0xfb1,-0x14(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x1c(%rbp),%eax
imul   $0xffffeaf8,-0x30(%rbp),%ecx
imul   $0x1298,-0x2c(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff6a0,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0xffffef06,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0xffffe411,-0x20(%rbp),%edx
add    %edx,%ecx
imul   $0xfffffae7,-0x18(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff49d,-0x14(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x20(%rbp),%eax
imul   $0xeb1,-0x30(%rbp),%ecx
imul   $0xd25,-0x2c(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff95f,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0xffffdd5e,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0x16a1,-0x1c(%rbp),%edx
add    %edx,%ecx
imul   $0x1c65,-0x18(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff7f3,-0x14(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x24(%rbp),%eax
imul   $0x1976,-0x30(%rbp),%ecx
imul   $0x1eed,-0x2c(%rbp),%edx
add    %edx,%ecx
imul   $0xe34,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x13c1,-0x20(%rbp),%edx
add    %edx,%ecx
imul   $0xfffffb74,-0x1c(%rbp),%edx
add    %edx,%ecx
imul   $0x2136,-0x18(%rbp),%edx
add    %edx,%ecx
imul   $0xfffffa90,-0x14(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x28(%rbp),%eax
imul   $0xfffffed7,-0x30(%rbp),%ecx
imul   $0xffffc945,-0x2c(%rbp),%edx
add    %edx,%ecx
imul   $0xffffe001,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0x9d0,-0x20(%rbp),%edx
add    %edx,%ecx
imul   $0x1559,-0x1c(%rbp),%edx
add    %edx,%ecx
imul   $0xffffecf4,-0x18(%rbp),%edx
add    %edx,%ecx
imul   $0x686,-0x14(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x28(%rbp)
mov    -0x2c(%rbp),%eax
imul   $0xfffffdd0,-0x30(%rbp),%ecx
imul   $0x8aa,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff757,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff8da,-0x20(%rbp),%edx
add    %edx,%ecx
imul   $0x838,-0x1c(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff5bf,-0x18(%rbp),%edx
add    %edx,%ecx
imul   $0xc4b,-0x14(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x30(%rbp),%eax
imul   $0xffffdc64,-0x2c(%rbp),%ecx
imul   $0x1d3,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff0ed,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0x34b,-0x20(%rbp),%edx
add    %edx,%ecx
mov    -0x1c(%rbp),%edx
shl    $0x7,%edx
add    %edx,%ecx
imul   $0xfffff1a6,-0x18(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff139,-0x14(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
sub    %ecx,%eax
mov    %eax,-0x30(%rbp)
xor    %eax,%eax
sub    -0x14(%rbp),%eax
imul   $0x2546,-0x30(%rbp),%ecx
imul   $0xffffa5a8,-0x2c(%rbp),%edx
add    %edx,%ecx
imul   $0x1133,-0x28(%rbp),%edx
add    %edx,%ecx
imul   $0xffffec9e,-0x24(%rbp),%edx
add    %edx,%ecx
imul   $0x2721,-0x20(%rbp),%edx
add    %edx,%ecx
imul   $0xfffff3d4,-0x1c(%rbp),%edx
add    %edx,%ecx
imul   $0xec,-0x18(%rbp),%edx
add    %edx,%ecx
add    $0x1000,%ecx
sar    $0xd,%ecx
add    %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x1c(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x18(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x30(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x24(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x28(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x14(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x20(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x2c(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x1c(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<PDJPG_TransIRDCT_Horiz>:
push   %rbp
push   %r14
push   %rbx
mov    0x18(%rdi),%r9d
mov    0x1c(%rdi),%r8d
mov    0xc(%rdi),%r10d
mov    0x8(%rdi),%r11d
mov    0x10(%rdi),%edx
mov    (%rdi),%ecx
mov    0x4(%rdi),%eax
mov    0x14(%rdi),%r14d
imul   $0x2344,%r9d,%ebx
imul   $0xffffbf06,%r8d,%ebp
add    %ebx,%ebp
imul   $0xfffff396,%r10d,%ebx
add    %ebp,%ebx
imul   $0x14ff,%ecx,%ebp
add    %ebx,%ebp
imul   $0x27b2,%r11d,%ebx
add    %ebp,%ebx
imul   $0x350c,%edx,%ebp
add    %ebx,%ebp
imul   $0xffffd9e1,%eax,%ebx
add    %ebp,%ebx
add    $0x1000,%ebx
sar    $0xd,%ebx
sub    %ebx,%r14d
imul   $0x2014,%r9d,%ebx
imul   $0xffffe907,%r8d,%ebp
add    %ebx,%ebp
imul   $0xfffffd09,%r10d,%ebx
add    %ebp,%ebx
imul   $0xfffffefc,%ecx,%ebp
add    %ebx,%ebp
imul   $0xd58,%r11d,%ebx
add    %ebp,%ebx
imul   $0x2554,%edx,%ebp
add    %ebx,%ebp
imul   $0xfb1,%r14d,%ebx
add    %ebp,%ebx
add    $0x1000,%ebx
sar    $0xd,%ebx
sub    %ebx,%eax
imul   $0xffffeaf8,%r9d,%ebx
imul   $0x1298,%r8d,%ebp
add    %ebx,%ebp
imul   $0xfffff6a0,%r10d,%ebx
add    %ebp,%ebx
imul   $0xffffef06,%ecx,%ebp
add    %ebx,%ebp
imul   $0xffffe411,%r11d,%ebx
add    %ebp,%ebx
imul   $0xfffffae7,%eax,%ebp
imul   $0xfffff49d,%r14d,%edi
add    %ebx,%edi
add    %ebp,%edi
add    $0x1000,%edi
sar    $0xd,%edi
sub    %edi,%edx
imul   $0xeb1,%r9d,%edi
imul   $0xd25,%r8d,%ebx
add    %edi,%ebx
imul   $0xfffff95f,%r10d,%edi
add    %ebx,%edi
imul   $0xffffdd5e,%ecx,%ebx
add    %edi,%ebx
imul   $0x16a1,%edx,%edi
imul   $0xfffff7f3,%r14d,%ebp
add    %ebx,%ebp
imul   $0x1c65,%eax,%ebx
add    %ebx,%ebp
add    %ebp,%edi
add    $0x1000,%edi
sar    $0xd,%edi
sub    %edi,%r11d
imul   $0x1976,%r9d,%edi
imul   $0x1eed,%r8d,%ebx
add    %edi,%ebx
imul   $0xe34,%r10d,%edi
add    %ebx,%edi
imul   $0x13c1,%r11d,%ebx
imul   $0xfffffa90,%r14d,%ebp
add    %edi,%ebp
imul   $0x2136,%eax,%edi
add    %edi,%ebp
imul   $0xfffffb74,%edx,%edi
add    %edi,%ebp
lea    (%rbx,%rbp,1),%edi
add    $0x1000,%edi
sar    $0xd,%edi
sub    %edi,%ecx
imul   $0xfffffed7,%r9d,%edi
imul   $0xffffc945,%r8d,%ebx
add    %edi,%ebx
mov    %ecx,%edi
shl    $0xd,%edi
mov    %ecx,%ebp
sub    %edi,%ebp
imul   $0x686,%r14d,%edi
add    %ebx,%edi
imul   $0xffffecf4,%eax,%ebx
add    %ebx,%edi
imul   $0x1559,%edx,%ebx
add    %ebx,%edi
imul   $0x9d0,%r11d,%ebx
add    %ebx,%edi
add    %ebp,%edi
add    $0x1000,%edi
sar    $0xd,%edi
sub    %edi,%r10d
imul   $0xfffffdd0,%r9d,%edi
imul   $0xc4b,%r14d,%ebx
add    %edi,%ebx
imul   $0xfffff5bf,%eax,%edi
add    %edi,%ebx
imul   $0x838,%edx,%edi
add    %edi,%ebx
imul   $0xfffff8da,%r11d,%edi
add    %edi,%ebx
imul   $0xfffff757,%ecx,%edi
add    %edi,%ebx
imul   $0x8aa,%r10d,%edi
add    %ebx,%edi
add    $0x1000,%edi
sar    $0xd,%edi
sub    %edi,%r8d
imul   $0xfffff1a6,%eax,%edi
imul   $0xfffff139,%r14d,%ebx
add    %edi,%ebx
mov    %edx,%edi
shl    $0x7,%edi
add    %edi,%ebx
imul   $0x34b,%r11d,%edi
add    %edi,%ebx
imul   $0xfffff0ed,%ecx,%edi
add    %edi,%ebx
imul   $0x1d3,%r10d,%edi
add    %edi,%ebx
imul   $0xffffdc64,%r8d,%edi
add    %ebx,%edi
add    $0x1000,%edi
mov    %edx,(%rsi)
imul   $0xfffff3d4,%edx,%edx
sar    $0xd,%edi
sub    %edi,%r9d
imul   $0xec,%eax,%edi
add    %edx,%edi
imul   $0x2721,%r11d,%edx
add    %edx,%edi
imul   $0xffffec9e,%ecx,%edx
add    %edx,%edi
imul   $0x1133,%r10d,%edx
add    %edx,%edi
imul   $0xffffa5a8,%r8d,%edx
add    %edx,%edi
imul   $0x2546,%r9d,%edx
add    %edi,%edx
add    $0x1000,%edx
sar    $0xd,%edx
sub    %r14d,%edx
mov    %eax,0x4(%rsi)
mov    %r9d,0x8(%rsi)
mov    %ecx,0xc(%rsi)
mov    %r10d,0x10(%rsi)
mov    %edx,0x14(%rsi)
mov    %r11d,0x18(%rsi)
mov    %r8d,0x1c(%rsi)
pop    %rbx
pop    %r14
pop    %rbp
ret

LLVM IR (-O0):
define void @PDJPG_TransIRDCT_Horiz(i32* %0, i32* %1) {
%3 = alloca i32*
%4 = alloca i32*
%5 = alloca [8 x i32]
store i32* %0, i32** %3
store i32* %1, i32** %4
%6 = load i32*, i32** %3
%7 = getelementptr inbounds i32, i32* %6, i64 6
%8 = load i32, i32* %7
%9 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
store i32 %8, i32* %9
%10 = load i32*, i32** %3
%11 = getelementptr inbounds i32, i32* %10, i64 7
%12 = load i32, i32* %11
%13 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
store i32 %12, i32* %13
%14 = load i32*, i32** %3
%15 = getelementptr inbounds i32, i32* %14, i64 3
%16 = load i32, i32* %15
%17 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
store i32 %16, i32* %17
%18 = load i32*, i32** %3
%19 = getelementptr inbounds i32, i32* %18, i64 0
%20 = load i32, i32* %19
%21 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
store i32 %20, i32* %21
%22 = load i32*, i32** %3
%23 = getelementptr inbounds i32, i32* %22, i64 2
%24 = load i32, i32* %23
%25 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
store i32 %24, i32* %25
%26 = load i32*, i32** %3
%27 = getelementptr inbounds i32, i32* %26, i64 4
%28 = load i32, i32* %27
%29 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
store i32 %28, i32* %29
%30 = load i32*, i32** %3
%31 = getelementptr inbounds i32, i32* %30, i64 1
%32 = load i32, i32* %31
%33 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
store i32 %32, i32* %33
%34 = load i32*, i32** %3
%35 = getelementptr inbounds i32, i32* %34, i64 5
%36 = load i32, i32* %35
%37 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
store i32 %36, i32* %37
%38 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%39 = load i32, i32* %38
%40 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%41 = load i32, i32* %40
%42 = mul nsw i32 %41, 9028
%43 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%44 = load i32, i32* %43
%45 = mul nsw i32 %44, -16634
%46 = add nsw i32 %42, %45
%47 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%48 = load i32, i32* %47
%49 = mul nsw i32 %48, -3178
%50 = add nsw i32 %46, %49
%51 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%52 = load i32, i32* %51
%53 = mul nsw i32 %52, 5375
%54 = add nsw i32 %50, %53
%55 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%56 = load i32, i32* %55
%57 = mul nsw i32 %56, 10162
%58 = add nsw i32 %54, %57
%59 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%60 = load i32, i32* %59
%61 = mul nsw i32 %60, 13580
%62 = add nsw i32 %58, %61
%63 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%64 = load i32, i32* %63
%65 = mul nsw i32 %64, -9759
%66 = add nsw i32 %62, %65
%67 = add nsw i32 %66, 4096
%68 = ashr i32 %67, 13
%69 = sub nsw i32 %39, %68
%70 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
store i32 %69, i32* %70
%71 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%72 = load i32, i32* %71
%73 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%74 = load i32, i32* %73
%75 = mul nsw i32 %74, 8212
%76 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%77 = load i32, i32* %76
%78 = mul nsw i32 %77, -5881
%79 = add nsw i32 %75, %78
%80 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%81 = load i32, i32* %80
%82 = mul nsw i32 %81, -759
%83 = add nsw i32 %79, %82
%84 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%85 = load i32, i32* %84
%86 = mul nsw i32 %85, -260
%87 = add nsw i32 %83, %86
%88 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%89 = load i32, i32* %88
%90 = mul nsw i32 %89, 3416
%91 = add nsw i32 %87, %90
%92 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%93 = load i32, i32* %92
%94 = mul nsw i32 %93, 9556
%95 = add nsw i32 %91, %94
%96 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%97 = load i32, i32* %96
%98 = mul nsw i32 %97, 4017
%99 = add nsw i32 %95, %98
%100 = add nsw i32 %99, 4096
%101 = ashr i32 %100, 13
%102 = sub nsw i32 %72, %101
%103 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
store i32 %102, i32* %103
%104 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%105 = load i32, i32* %104
%106 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%107 = load i32, i32* %106
%108 = mul nsw i32 %107, -5384
%109 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%110 = load i32, i32* %109
%111 = mul nsw i32 %110, 4760
%112 = add nsw i32 %108, %111
%113 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%114 = load i32, i32* %113
%115 = mul nsw i32 %114, -2400
%116 = add nsw i32 %112, %115
%117 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%118 = load i32, i32* %117
%119 = mul nsw i32 %118, -4346
%120 = add nsw i32 %116, %119
%121 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%122 = load i32, i32* %121
%123 = mul nsw i32 %122, -7151
%124 = add nsw i32 %120, %123
%125 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%126 = load i32, i32* %125
%127 = mul nsw i32 %126, -1305
%128 = add nsw i32 %124, %127
%129 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%130 = load i32, i32* %129
%131 = mul nsw i32 %130, -2915
%132 = add nsw i32 %128, %131
%133 = add nsw i32 %132, 4096
%134 = ashr i32 %133, 13
%135 = sub nsw i32 %105, %134
%136 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
store i32 %135, i32* %136
%137 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%138 = load i32, i32* %137
%139 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%140 = load i32, i32* %139
%141 = mul nsw i32 %140, 3761
%142 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%143 = load i32, i32* %142
%144 = mul nsw i32 %143, 3365
%145 = add nsw i32 %141, %144
%146 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%147 = load i32, i32* %146
%148 = mul nsw i32 %147, -1697
%149 = add nsw i32 %145, %148
%150 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%151 = load i32, i32* %150
%152 = mul nsw i32 %151, -8866
%153 = add nsw i32 %149, %152
%154 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%155 = load i32, i32* %154
%156 = mul nsw i32 %155, 5793
%157 = add nsw i32 %153, %156
%158 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%159 = load i32, i32* %158
%160 = mul nsw i32 %159, 7269
%161 = add nsw i32 %157, %160
%162 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%163 = load i32, i32* %162
%164 = mul nsw i32 %163, -2061
%165 = add nsw i32 %161, %164
%166 = add nsw i32 %165, 4096
%167 = ashr i32 %166, 13
%168 = sub nsw i32 %138, %167
%169 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
store i32 %168, i32* %169
%170 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%171 = load i32, i32* %170
%172 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%173 = load i32, i32* %172
%174 = mul nsw i32 %173, 6518
%175 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%176 = load i32, i32* %175
%177 = mul nsw i32 %176, 7917
%178 = add nsw i32 %174, %177
%179 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%180 = load i32, i32* %179
%181 = mul nsw i32 %180, 3636
%182 = add nsw i32 %178, %181
%183 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%184 = load i32, i32* %183
%185 = mul nsw i32 %184, 5057
%186 = add nsw i32 %182, %185
%187 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%188 = load i32, i32* %187
%189 = mul nsw i32 %188, -1164
%190 = add nsw i32 %186, %189
%191 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%192 = load i32, i32* %191
%193 = mul nsw i32 %192, 8502
%194 = add nsw i32 %190, %193
%195 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%196 = load i32, i32* %195
%197 = mul nsw i32 %196, -1392
%198 = add nsw i32 %194, %197
%199 = add nsw i32 %198, 4096
%200 = ashr i32 %199, 13
%201 = sub nsw i32 %171, %200
%202 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
store i32 %201, i32* %202
%203 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%204 = load i32, i32* %203
%205 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%206 = load i32, i32* %205
%207 = mul nsw i32 %206, -297
%208 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%209 = load i32, i32* %208
%210 = mul nsw i32 %209, -14011
%211 = add nsw i32 %207, %210
%212 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%213 = load i32, i32* %212
%214 = mul nsw i32 %213, -8191
%215 = add nsw i32 %211, %214
%216 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%217 = load i32, i32* %216
%218 = mul nsw i32 %217, 2512
%219 = add nsw i32 %215, %218
%220 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%221 = load i32, i32* %220
%222 = mul nsw i32 %221, 5465
%223 = add nsw i32 %219, %222
%224 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%225 = load i32, i32* %224
%226 = mul nsw i32 %225, -4876
%227 = add nsw i32 %223, %226
%228 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%229 = load i32, i32* %228
%230 = mul nsw i32 %229, 1670
%231 = add nsw i32 %227, %230
%232 = add nsw i32 %231, 4096
%233 = ashr i32 %232, 13
%234 = sub nsw i32 %204, %233
%235 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
store i32 %234, i32* %235
%236 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%237 = load i32, i32* %236
%238 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%239 = load i32, i32* %238
%240 = mul nsw i32 %239, -560
%241 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%242 = load i32, i32* %241
%243 = mul nsw i32 %242, 2218
%244 = add nsw i32 %240, %243
%245 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%246 = load i32, i32* %245
%247 = mul nsw i32 %246, -2217
%248 = add nsw i32 %244, %247
%249 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%250 = load i32, i32* %249
%251 = mul nsw i32 %250, -1830
%252 = add nsw i32 %248, %251
%253 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%254 = load i32, i32* %253
%255 = mul nsw i32 %254, 2104
%256 = add nsw i32 %252, %255
%257 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%258 = load i32, i32* %257
%259 = mul nsw i32 %258, -2625
%260 = add nsw i32 %256, %259
%261 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%262 = load i32, i32* %261
%263 = mul nsw i32 %262, 3147
%264 = add nsw i32 %260, %263
%265 = add nsw i32 %264, 4096
%266 = ashr i32 %265, 13
%267 = sub nsw i32 %237, %266
%268 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
store i32 %267, i32* %268
%269 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%270 = load i32, i32* %269
%271 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%272 = load i32, i32* %271
%273 = mul nsw i32 %272, -9116
%274 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%275 = load i32, i32* %274
%276 = mul nsw i32 %275, 467
%277 = add nsw i32 %273, %276
%278 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%279 = load i32, i32* %278
%280 = mul nsw i32 %279, -3859
%281 = add nsw i32 %277, %280
%282 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%283 = load i32, i32* %282
%284 = mul nsw i32 %283, 843
%285 = add nsw i32 %281, %284
%286 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%287 = load i32, i32* %286
%288 = mul nsw i32 %287, 128
%289 = add nsw i32 %285, %288
%290 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%291 = load i32, i32* %290
%292 = mul nsw i32 %291, -3674
%293 = add nsw i32 %289, %292
%294 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%295 = load i32, i32* %294
%296 = mul nsw i32 %295, -3783
%297 = add nsw i32 %293, %296
%298 = add nsw i32 %297, 4096
%299 = ashr i32 %298, 13
%300 = sub nsw i32 %270, %299
%301 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
store i32 %300, i32* %301
%302 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%303 = load i32, i32* %302
%304 = sub nsw i32 0, %303
%305 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%306 = load i32, i32* %305
%307 = mul nsw i32 %306, 9542
%308 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%309 = load i32, i32* %308
%310 = mul nsw i32 %309, -23128
%311 = add nsw i32 %307, %310
%312 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%313 = load i32, i32* %312
%314 = mul nsw i32 %313, 4403
%315 = add nsw i32 %311, %314
%316 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%317 = load i32, i32* %316
%318 = mul nsw i32 %317, -4962
%319 = add nsw i32 %315, %318
%320 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%321 = load i32, i32* %320
%322 = mul nsw i32 %321, 10017
%323 = add nsw i32 %319, %322
%324 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%325 = load i32, i32* %324
%326 = mul nsw i32 %325, -3116
%327 = add nsw i32 %323, %326
%328 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%329 = load i32, i32* %328
%330 = mul nsw i32 %329, 236
%331 = add nsw i32 %327, %330
%332 = add nsw i32 %331, 4096
%333 = ashr i32 %332, 13
%334 = add nsw i32 %304, %333
%335 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
store i32 %334, i32* %335
%336 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 5
%337 = load i32, i32* %336
%338 = load i32*, i32** %4
%339 = getelementptr inbounds i32, i32* %338, i64 0
store i32 %337, i32* %339
%340 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 6
%341 = load i32, i32* %340
%342 = load i32*, i32** %4
%343 = getelementptr inbounds i32, i32* %342, i64 1
store i32 %341, i32* %343
%344 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 0
%345 = load i32, i32* %344
%346 = load i32*, i32** %4
%347 = getelementptr inbounds i32, i32* %346, i64 2
store i32 %345, i32* %347
%348 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 3
%349 = load i32, i32* %348
%350 = load i32*, i32** %4
%351 = getelementptr inbounds i32, i32* %350, i64 3
store i32 %349, i32* %351
%352 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 2
%353 = load i32, i32* %352
%354 = load i32*, i32** %4
%355 = getelementptr inbounds i32, i32* %354, i64 4
store i32 %353, i32* %355
%356 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 7
%357 = load i32, i32* %356
%358 = load i32*, i32** %4
%359 = getelementptr inbounds i32, i32* %358, i64 5
store i32 %357, i32* %359
%360 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 4
%361 = load i32, i32* %360
%362 = load i32*, i32** %4
%363 = getelementptr inbounds i32, i32* %362, i64 6
store i32 %361, i32* %363
%364 = getelementptr inbounds [8 x i32], [8 x i32]* %5, i64 0, i64 1
%365 = load i32, i32* %364
%366 = load i32*, i32** %4
%367 = getelementptr inbounds i32, i32* %366, i64 7
store i32 %365, i32* %367
ret void
}

LLVM IR (-O2):
define void @PDJPG_TransIRDCT_Horiz(i32* nocapture %0, i32* nocapture writeonly %1) {
%3 = getelementptr inbounds i32, i32* %0, i64 6
%4 = load i32, i32* %3
%5 = getelementptr inbounds i32, i32* %0, i64 7
%6 = load i32, i32* %5
%7 = getelementptr inbounds i32, i32* %0, i64 3
%8 = load i32, i32* %7
%9 = load i32, i32* %0
%10 = getelementptr inbounds i32, i32* %0, i64 2
%11 = load i32, i32* %10
%12 = getelementptr inbounds i32, i32* %0, i64 4
%13 = load i32, i32* %12
%14 = getelementptr inbounds i32, i32* %0, i64 1
%15 = load i32, i32* %14
%16 = getelementptr inbounds i32, i32* %0, i64 5
%17 = load i32, i32* %16
%18 = mul nsw i32 %4, 9028
%19 = mul nsw i32 %6, -16634
%20 = mul nsw i32 %8, -3178
%21 = mul nsw i32 %9, 5375
%22 = mul nsw i32 %11, 10162
%23 = mul nsw i32 %13, 13580
%24 = mul nsw i32 %15, -9759
%25 = add i32 %18, 4096
%26 = add i32 %25, %19
%27 = add i32 %26, %20
%28 = add i32 %27, %21
%29 = add i32 %28, %22
%30 = add i32 %29, %23
%31 = add i32 %30, %24
%32 = ashr i32 %31, 13
%33 = sub nsw i32 %17, %32
%34 = mul nsw i32 %4, 8212
%35 = mul nsw i32 %6, -5881
%36 = mul nsw i32 %8, -759
%37 = mul nsw i32 %9, -260
%38 = mul nsw i32 %11, 3416
%39 = mul nsw i32 %13, 9556
%40 = mul nsw i32 %33, 4017
%41 = add i32 %34, 4096
%42 = add i32 %41, %35
%43 = add i32 %42, %36
%44 = add i32 %43, %37
%45 = add i32 %44, %38
%46 = add i32 %45, %39
%47 = add i32 %46, %40
%48 = ashr i32 %47, 13
%49 = sub nsw i32 %15, %48
%50 = mul nsw i32 %4, -5384
%51 = mul nsw i32 %6, 4760
%52 = mul nsw i32 %8, -2400
%53 = mul nsw i32 %9, -4346
%54 = mul nsw i32 %11, -7151
%55 = mul nsw i32 %49, -1305
%56 = mul nsw i32 %33, -2915
%57 = add i32 %50, 4096
%58 = add i32 %57, %51
%59 = add i32 %58, %52
%60 = add i32 %59, %53
%61 = add i32 %60, %54
%62 = add i32 %61, %56
%63 = add i32 %62, %55
%64 = ashr i32 %63, 13
%65 = sub nsw i32 %13, %64
%66 = mul nsw i32 %4, 3761
%67 = mul nsw i32 %6, 3365
%68 = mul nsw i32 %8, -1697
%69 = mul nsw i32 %9, -8866
%70 = mul nsw i32 %65, 5793
%71 = mul nsw i32 %49, 7269
%72 = mul nsw i32 %33, -2061
%73 = add i32 %66, 4096
%74 = add i32 %73, %67
%75 = add i32 %74, %68
%76 = add i32 %75, %69
%77 = add i32 %76, %72
%78 = add i32 %77, %71
%79 = add i32 %78, %70
%80 = ashr i32 %79, 13
%81 = sub nsw i32 %11, %80
%82 = mul nsw i32 %4, 6518
%83 = mul nsw i32 %6, 7917
%84 = mul nsw i32 %8, 3636
%85 = mul nsw i32 %81, 5057
%86 = mul nsw i32 %65, -1164
%87 = mul nsw i32 %49, 8502
%88 = mul nsw i32 %33, -1392
%89 = add i32 %82, 4096
%90 = add i32 %89, %83
%91 = add i32 %90, %84
%92 = add i32 %91, %88
%93 = add i32 %92, %87
%94 = add i32 %93, %86
%95 = add i32 %94, %85
%96 = ashr i32 %95, 13
%97 = sub nsw i32 %9, %96
%98 = mul nsw i32 %4, -297
%99 = mul nsw i32 %6, -14011
%100 = mul nsw i32 %97, -8191
%101 = mul nsw i32 %81, 2512
%102 = mul nsw i32 %65, 5465
%103 = mul nsw i32 %49, -4876
%104 = mul nsw i32 %33, 1670
%105 = add i32 %98, 4096
%106 = add i32 %105, %99
%107 = add i32 %106, %104
%108 = add i32 %107, %103
%109 = add i32 %108, %102
%110 = add i32 %109, %101
%111 = add i32 %110, %100
%112 = ashr i32 %111, 13
%113 = sub nsw i32 %8, %112
%114 = mul nsw i32 %4, -560
%115 = mul nsw i32 %113, 2218
%116 = mul nsw i32 %97, -2217
%117 = mul nsw i32 %81, -1830
%118 = mul nsw i32 %65, 2104
%119 = mul nsw i32 %49, -2625
%120 = mul nsw i32 %33, 3147
%121 = add i32 %114, 4096
%122 = add i32 %121, %120
%123 = add i32 %122, %119
%124 = add i32 %123, %118
%125 = add i32 %124, %117
%126 = add i32 %125, %116
%127 = add i32 %126, %115
%128 = ashr i32 %127, 13
%129 = sub nsw i32 %6, %128
%130 = mul nsw i32 %129, -9116
%131 = mul nsw i32 %113, 467
%132 = mul nsw i32 %97, -3859
%133 = mul nsw i32 %81, 843
%134 = shl nsw i32 %65, 7
%135 = mul nsw i32 %49, -3674
%136 = mul nsw i32 %33, -3783
%137 = add i32 %136, 4096
%138 = add i32 %137, %135
%139 = add i32 %138, %134
%140 = add i32 %139, %133
%141 = add i32 %140, %132
%142 = add i32 %141, %131
%143 = add i32 %142, %130
%144 = ashr i32 %143, 13
%145 = sub nsw i32 %4, %144
%146 = mul nsw i32 %145, 9542
%147 = mul nsw i32 %129, -23128
%148 = mul nsw i32 %113, 4403
%149 = mul nsw i32 %97, -4962
%150 = mul nsw i32 %81, 10017
%151 = mul nsw i32 %65, -3116
%152 = mul nsw i32 %49, 236
%153 = add i32 %152, 4096
%154 = add i32 %153, %151
%155 = add i32 %154, %150
%156 = add i32 %155, %149
%157 = add i32 %156, %148
%158 = add i32 %157, %147
%159 = add i32 %158, %146
%160 = ashr i32 %159, 13
%161 = sub i32 %160, %33
store i32 %65, i32* %1
%162 = getelementptr inbounds i32, i32* %1, i64 1
store i32 %49, i32* %162
%163 = getelementptr inbounds i32, i32* %1, i64 2
store i32 %145, i32* %163
%164 = getelementptr inbounds i32, i32* %1, i64 3
store i32 %97, i32* %164
%165 = getelementptr inbounds i32, i32* %1, i64 4
store i32 %113, i32* %165
%166 = getelementptr inbounds i32, i32* %1, i64 5
store i32 %161, i32* %166
%167 = getelementptr inbounds i32, i32* %1, i64 6
store i32 %81, i32* %167
%168 = getelementptr inbounds i32, i32* %1, i64 7
store i32 %129, i32* %168
ret void
}