void PDJPG_TransIRDCT_Vert(short *iblk, int *oblk) {
  int ib[8];
  ib[0] = iblk[48];
  ib[1] = iblk[56];
  ib[2] = iblk[24];
  ib[3] = iblk[0];
  ib[4] = iblk[16];
  ib[5] = iblk[32];
  ib[6] = iblk[8];
  ib[7] = iblk[40];
  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[8] = ib[6];
  oblk[16] = ib[0];
  oblk[24] = ib[3];
  oblk[32] = ib[2];
  oblk[40] = ib[7];
  oblk[48] = ib[4];
  oblk[56] = ib[1];
}


x86 assembly (clang, -O0):
<PDJPG_TransIRDCT_Vert>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movswl 0x60(%rax),%eax
mov    %eax,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movswl 0x70(%rax),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x8(%rbp),%rax
movswl 0x30(%rax),%eax
mov    %eax,-0x28(%rbp)
mov    -0x8(%rbp),%rax
movswl (%rax),%eax
mov    %eax,-0x24(%rbp)
mov    -0x8(%rbp),%rax
movswl 0x20(%rax),%eax
mov    %eax,-0x20(%rbp)
mov    -0x8(%rbp),%rax
movswl 0x40(%rax),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x8(%rbp),%rax
movswl 0x10(%rax),%eax
mov    %eax,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movswl 0x50(%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,0x20(%rax)
mov    -0x30(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x40(%rax)
mov    -0x24(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x60(%rax)
mov    -0x28(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x80(%rax)
mov    -0x14(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xa0(%rax)
mov    -0x20(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xc0(%rax)
mov    -0x2c(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xe0(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<PDJPG_TransIRDCT_Vert>:
push   %rbp
push   %r14
push   %rbx
movswl 0x60(%rdi),%r9d
movswl 0x70(%rdi),%r8d
movswl 0x30(%rdi),%r10d
movswl (%rdi),%ecx
movswl 0x20(%rdi),%r11d
movswl 0x40(%rdi),%eax
movswl 0x10(%rdi),%edx
movswl 0x50(%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,%eax,%ebp
add    %ebx,%ebp
imul   $0xffffd9e1,%edx,%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,%eax,%ebp
add    %ebx,%ebp
imul   $0xfb1,%r14d,%ebx
add    %ebp,%ebx
add    $0x1000,%ebx
sar    $0xd,%ebx
sub    %ebx,%edx
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,%edx,%ebp
imul   $0xfffff49d,%r14d,%edi
add    %ebx,%edi
add    %ebp,%edi
add    $0x1000,%edi
sar    $0xd,%edi
sub    %edi,%eax
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,%eax,%edi
imul   $0xfffff7f3,%r14d,%ebp
add    %ebx,%ebp
imul   $0x1c65,%edx,%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,%edx,%edi
add    %edi,%ebp
imul   $0xfffffb74,%eax,%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,%edx,%ebx
add    %ebx,%edi
imul   $0x1559,%eax,%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,%edx,%edi
add    %edi,%ebx
imul   $0x838,%eax,%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,%edx,%edi
imul   $0xfffff139,%r14d,%ebx
add    %edi,%ebx
mov    %eax,%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    %eax,(%rsi)
imul   $0xfffff3d4,%eax,%eax
sar    $0xd,%edi
sub    %edi,%r9d
imul   $0xec,%edx,%edi
add    %eax,%edi
imul   $0x2721,%r11d,%eax
add    %eax,%edi
imul   $0xffffec9e,%ecx,%eax
add    %eax,%edi
imul   $0x1133,%r10d,%eax
add    %eax,%edi
imul   $0xffffa5a8,%r8d,%eax
add    %eax,%edi
imul   $0x2546,%r9d,%eax
add    %edi,%eax
add    $0x1000,%eax
sar    $0xd,%eax
sub    %r14d,%eax
mov    %edx,0x20(%rsi)
mov    %r9d,0x40(%rsi)
mov    %ecx,0x60(%rsi)
mov    %r10d,0x80(%rsi)
mov    %eax,0xa0(%rsi)
mov    %r11d,0xc0(%rsi)
mov    %r8d,0xe0(%rsi)
pop    %rbx
pop    %r14
pop    %rbp
ret

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

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