void foo(unsigned int *__restrict__ pInput, unsigned int *__restrict__ pOutput,
         unsigned int *__restrict__ pInput2,
         unsigned int *__restrict__ pOutput2) {
  unsigned int i, a, b, c, d, e;
  for (i = 0; i < 20 / 5; i++) {
    a = *pInput++;
    b = *pInput++;
    c = *pInput++;
    d = *pInput++;
    e = *pInput++;
    *pOutput++ = 100 * a + 1322 * b + 74 * c + 134 * d + 334 * e;
    *pOutput++ = 216 * a + 13 * b + 191 * c + 117 * d + 147 * e;
    *pOutput++ = 23 * a + 27271 * b + 500 * c + 11 * d + 115 * e;
    *pOutput++ = 237 * a + 2280 * b + 111 * c + 771 * d + 7716 * e;
    *pOutput++ = 437 * a + 284 * b + 1114 * c + 71 * d + 16 * e;
    a = *pInput2++;
    b = *pInput2++;
    c = *pInput2++;
    d = *pInput2++;
    e = *pInput2++;
    *pOutput2++ = 100 * a + 1322 * b + 74 * c + 134 * d + 334 * e;
    *pOutput2++ = 216 * a + 13 * b + 191 * c + 117 * d + 147 * e;
    *pOutput2++ = 23 * a + 27271 * b + 500 * c + 11 * d + 115 * e;
    *pOutput2++ = 237 * a + 2280 * b + 111 * c + 771 * d + 7716 * e;
    *pOutput2++ = 437 * a + 284 * b + 1114 * c + 71 * d + 16 * e;
  }
}


x86 assembly (clang, -O0):
<foo>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
movl   $0x0,-0x24(%rbp)
cmpl   $0x4,-0x24(%rbp)
jae    141b <foo+0x31b>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x8(%rbp)
mov    (%rax),%eax
mov    %eax,-0x28(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x8(%rbp)
mov    (%rax),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x8(%rbp)
mov    (%rax),%eax
mov    %eax,-0x30(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x8(%rbp)
mov    (%rax),%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x8(%rbp)
mov    (%rax),%eax
mov    %eax,-0x38(%rbp)
imul   $0x64,-0x28(%rbp),%ecx
imul   $0x52a,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x4a,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x86,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x14e,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x10(%rbp)
mov    %ecx,(%rax)
imul   $0xd8,-0x28(%rbp),%ecx
imul   $0xd,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0xbf,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x75,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x93,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x10(%rbp)
mov    %ecx,(%rax)
imul   $0x17,-0x28(%rbp),%ecx
imul   $0x6a87,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x1f4,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0xb,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x73,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x10(%rbp)
mov    %ecx,(%rax)
imul   $0xed,-0x28(%rbp),%ecx
imul   $0x8e8,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x6f,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x303,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x1e24,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x10(%rbp)
mov    %ecx,(%rax)
imul   $0x1b5,-0x28(%rbp),%ecx
imul   $0x11c,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x45a,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x47,-0x34(%rbp),%eax
add    %eax,%ecx
mov    -0x38(%rbp),%eax
shl    $0x4,%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x10(%rbp)
mov    %ecx,(%rax)
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x18(%rbp)
mov    (%rax),%eax
mov    %eax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x18(%rbp)
mov    (%rax),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x18(%rbp)
mov    (%rax),%eax
mov    %eax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x18(%rbp)
mov    (%rax),%eax
mov    %eax,-0x34(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0x18(%rbp)
mov    (%rax),%eax
mov    %eax,-0x38(%rbp)
imul   $0x64,-0x28(%rbp),%ecx
imul   $0x52a,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x4a,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x86,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x14e,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x20(%rbp)
mov    %ecx,(%rax)
imul   $0xd8,-0x28(%rbp),%ecx
imul   $0xd,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0xbf,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x75,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x93,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x20(%rbp)
mov    %ecx,(%rax)
imul   $0x17,-0x28(%rbp),%ecx
imul   $0x6a87,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x1f4,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0xb,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x73,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x20(%rbp)
mov    %ecx,(%rax)
imul   $0xed,-0x28(%rbp),%ecx
imul   $0x8e8,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x6f,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x303,-0x34(%rbp),%eax
add    %eax,%ecx
imul   $0x1e24,-0x38(%rbp),%eax
add    %eax,%ecx
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x20(%rbp)
mov    %ecx,(%rax)
imul   $0x1b5,-0x28(%rbp),%ecx
imul   $0x11c,-0x2c(%rbp),%eax
add    %eax,%ecx
imul   $0x45a,-0x30(%rbp),%eax
add    %eax,%ecx
imul   $0x47,-0x34(%rbp),%eax
add    %eax,%ecx
mov    -0x38(%rbp),%eax
shl    $0x4,%eax
add    %eax,%ecx
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x4,%rdx
mov    %rdx,-0x20(%rbp)
mov    %ecx,(%rax)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    111b <foo+0x1b>
pop    %rbp
ret

x86 assembly (clang, -O2):
<foo>:
push   %rbp
push   %r15
push   %r14
push   %rbx
xor    %eax,%eax
nopl   0x0(%rax,%rax,1)
mov    (%rdi,%rax,1),%r15d
mov    0x4(%rdi,%rax,1),%r11d
mov    0x8(%rdi,%rax,1),%r10d
mov    0xc(%rdi,%rax,1),%r9d
mov    0x10(%rdi,%rax,1),%r8d
imul   $0x64,%r15d,%r14d
imul   $0x52a,%r11d,%ebp
add    %r14d,%ebp
imul   $0x4a,%r10d,%ebx
add    %ebp,%ebx
imul   $0x86,%r9d,%ebp
add    %ebx,%ebp
imul   $0x14e,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,(%rsi,%rax,1)
imul   $0xd8,%r15d,%ebx
lea    (%r11,%r11,2),%ebp
lea    (%r11,%rbp,4),%ebp
add    %ebx,%ebp
imul   $0xbf,%r10d,%ebx
add    %ebp,%ebx
imul   $0x75,%r9d,%ebp
add    %ebx,%ebp
imul   $0x93,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,0x4(%rsi,%rax,1)
lea    (%r15,%r15,2),%ebx
shl    $0x3,%ebx
sub    %r15d,%ebx
imul   $0x6a87,%r11d,%ebp
add    %ebx,%ebp
imul   $0x1f4,%r10d,%ebx
add    %ebp,%ebx
lea    (%r9,%r9,4),%ebp
lea    (%r9,%rbp,2),%ebp
add    %ebx,%ebp
imul   $0x73,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,0x8(%rsi,%rax,1)
imul   $0xed,%r15d,%ebx
imul   $0x8e8,%r11d,%ebp
add    %ebx,%ebp
imul   $0x6f,%r10d,%ebx
add    %ebp,%ebx
imul   $0x303,%r9d,%ebp
add    %ebx,%ebp
imul   $0x1e24,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,0xc(%rsi,%rax,1)
imul   $0x1b5,%r15d,%ebx
imul   $0x11c,%r11d,%ebp
add    %ebx,%ebp
imul   $0x45a,%r10d,%ebx
add    %ebp,%ebx
imul   $0x47,%r9d,%ebp
add    %ebx,%ebp
shl    $0x4,%r8d
add    %ebp,%r8d
mov    %r8d,0x10(%rsi,%rax,1)
mov    (%rdx,%rax,1),%r11d
mov    0x4(%rdx,%rax,1),%r15d
mov    0x8(%rdx,%rax,1),%r10d
mov    0xc(%rdx,%rax,1),%r9d
mov    0x10(%rdx,%rax,1),%r8d
imul   $0x64,%r11d,%r14d
imul   $0x52a,%r15d,%ebp
add    %r14d,%ebp
imul   $0x4a,%r10d,%ebx
add    %ebp,%ebx
imul   $0x86,%r9d,%ebp
add    %ebx,%ebp
imul   $0x14e,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,(%rcx,%rax,1)
imul   $0xd8,%r11d,%ebx
lea    (%r15,%r15,2),%ebp
lea    (%r15,%rbp,4),%ebp
add    %ebx,%ebp
imul   $0xbf,%r10d,%ebx
add    %ebp,%ebx
imul   $0x75,%r9d,%ebp
add    %ebx,%ebp
imul   $0x93,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,0x4(%rcx,%rax,1)
lea    (%r11,%r11,2),%ebx
shl    $0x3,%ebx
sub    %r11d,%ebx
imul   $0x6a87,%r15d,%ebp
add    %ebx,%ebp
imul   $0x1f4,%r10d,%ebx
add    %ebp,%ebx
lea    (%r9,%r9,4),%ebp
lea    (%r9,%rbp,2),%ebp
add    %ebx,%ebp
imul   $0x73,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,0x8(%rcx,%rax,1)
imul   $0xed,%r11d,%ebx
imul   $0x8e8,%r15d,%ebp
add    %ebx,%ebp
imul   $0x6f,%r10d,%ebx
add    %ebp,%ebx
imul   $0x303,%r9d,%ebp
add    %ebx,%ebp
imul   $0x1e24,%r8d,%ebx
add    %ebp,%ebx
mov    %ebx,0xc(%rcx,%rax,1)
imul   $0x1b5,%r11d,%ebp
imul   $0x11c,%r15d,%ebx
add    %ebp,%ebx
imul   $0x45a,%r10d,%ebp
add    %ebx,%ebp
imul   $0x47,%r9d,%ebx
add    %ebp,%ebx
shl    $0x4,%r8d
add    %ebx,%r8d
mov    %r8d,0x10(%rcx,%rax,1)
add    $0x14,%rax
cmp    $0x50,%eax
jne    1110 <foo+0x10>
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @foo(i32* noalias %0, i32* noalias %1, i32* noalias %2, i32* noalias %3) {
%5 = alloca i32*
%6 = alloca i32*
%7 = alloca i32*
%8 = alloca i32*
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
store i32* %0, i32** %5
store i32* %1, i32** %6
store i32* %2, i32** %7
store i32* %3, i32** %8
store i32 0, i32* %9
br label %15
15: ; preds = %209, %4
%16 = load i32, i32* %9
%17 = icmp ult i32 %16, 4
br i1 %17, label %18, label %212
18: ; preds = %15
%19 = load i32*, i32** %5
%20 = getelementptr inbounds i32, i32* %19, i32 1
store i32* %20, i32** %5
%21 = load i32, i32* %19
store i32 %21, i32* %10
%22 = load i32*, i32** %5
%23 = getelementptr inbounds i32, i32* %22, i32 1
store i32* %23, i32** %5
%24 = load i32, i32* %22
store i32 %24, i32* %11
%25 = load i32*, i32** %5
%26 = getelementptr inbounds i32, i32* %25, i32 1
store i32* %26, i32** %5
%27 = load i32, i32* %25
store i32 %27, i32* %12
%28 = load i32*, i32** %5
%29 = getelementptr inbounds i32, i32* %28, i32 1
store i32* %29, i32** %5
%30 = load i32, i32* %28
store i32 %30, i32* %13
%31 = load i32*, i32** %5
%32 = getelementptr inbounds i32, i32* %31, i32 1
store i32* %32, i32** %5
%33 = load i32, i32* %31
store i32 %33, i32* %14
%34 = load i32, i32* %10
%35 = mul i32 100, %34
%36 = load i32, i32* %11
%37 = mul i32 1322, %36
%38 = add i32 %35, %37
%39 = load i32, i32* %12
%40 = mul i32 74, %39
%41 = add i32 %38, %40
%42 = load i32, i32* %13
%43 = mul i32 134, %42
%44 = add i32 %41, %43
%45 = load i32, i32* %14
%46 = mul i32 334, %45
%47 = add i32 %44, %46
%48 = load i32*, i32** %6
%49 = getelementptr inbounds i32, i32* %48, i32 1
store i32* %49, i32** %6
store i32 %47, i32* %48
%50 = load i32, i32* %10
%51 = mul i32 216, %50
%52 = load i32, i32* %11
%53 = mul i32 13, %52
%54 = add i32 %51, %53
%55 = load i32, i32* %12
%56 = mul i32 191, %55
%57 = add i32 %54, %56
%58 = load i32, i32* %13
%59 = mul i32 117, %58
%60 = add i32 %57, %59
%61 = load i32, i32* %14
%62 = mul i32 147, %61
%63 = add i32 %60, %62
%64 = load i32*, i32** %6
%65 = getelementptr inbounds i32, i32* %64, i32 1
store i32* %65, i32** %6
store i32 %63, i32* %64
%66 = load i32, i32* %10
%67 = mul i32 23, %66
%68 = load i32, i32* %11
%69 = mul i32 27271, %68
%70 = add i32 %67, %69
%71 = load i32, i32* %12
%72 = mul i32 500, %71
%73 = add i32 %70, %72
%74 = load i32, i32* %13
%75 = mul i32 11, %74
%76 = add i32 %73, %75
%77 = load i32, i32* %14
%78 = mul i32 115, %77
%79 = add i32 %76, %78
%80 = load i32*, i32** %6
%81 = getelementptr inbounds i32, i32* %80, i32 1
store i32* %81, i32** %6
store i32 %79, i32* %80
%82 = load i32, i32* %10
%83 = mul i32 237, %82
%84 = load i32, i32* %11
%85 = mul i32 2280, %84
%86 = add i32 %83, %85
%87 = load i32, i32* %12
%88 = mul i32 111, %87
%89 = add i32 %86, %88
%90 = load i32, i32* %13
%91 = mul i32 771, %90
%92 = add i32 %89, %91
%93 = load i32, i32* %14
%94 = mul i32 7716, %93
%95 = add i32 %92, %94
%96 = load i32*, i32** %6
%97 = getelementptr inbounds i32, i32* %96, i32 1
store i32* %97, i32** %6
store i32 %95, i32* %96
%98 = load i32, i32* %10
%99 = mul i32 437, %98
%100 = load i32, i32* %11
%101 = mul i32 284, %100
%102 = add i32 %99, %101
%103 = load i32, i32* %12
%104 = mul i32 1114, %103
%105 = add i32 %102, %104
%106 = load i32, i32* %13
%107 = mul i32 71, %106
%108 = add i32 %105, %107
%109 = load i32, i32* %14
%110 = mul i32 16, %109
%111 = add i32 %108, %110
%112 = load i32*, i32** %6
%113 = getelementptr inbounds i32, i32* %112, i32 1
store i32* %113, i32** %6
store i32 %111, i32* %112
%114 = load i32*, i32** %7
%115 = getelementptr inbounds i32, i32* %114, i32 1
store i32* %115, i32** %7
%116 = load i32, i32* %114
store i32 %116, i32* %10
%117 = load i32*, i32** %7
%118 = getelementptr inbounds i32, i32* %117, i32 1
store i32* %118, i32** %7
%119 = load i32, i32* %117
store i32 %119, i32* %11
%120 = load i32*, i32** %7
%121 = getelementptr inbounds i32, i32* %120, i32 1
store i32* %121, i32** %7
%122 = load i32, i32* %120
store i32 %122, i32* %12
%123 = load i32*, i32** %7
%124 = getelementptr inbounds i32, i32* %123, i32 1
store i32* %124, i32** %7
%125 = load i32, i32* %123
store i32 %125, i32* %13
%126 = load i32*, i32** %7
%127 = getelementptr inbounds i32, i32* %126, i32 1
store i32* %127, i32** %7
%128 = load i32, i32* %126
store i32 %128, i32* %14
%129 = load i32, i32* %10
%130 = mul i32 100, %129
%131 = load i32, i32* %11
%132 = mul i32 1322, %131
%133 = add i32 %130, %132
%134 = load i32, i32* %12
%135 = mul i32 74, %134
%136 = add i32 %133, %135
%137 = load i32, i32* %13
%138 = mul i32 134, %137
%139 = add i32 %136, %138
%140 = load i32, i32* %14
%141 = mul i32 334, %140
%142 = add i32 %139, %141
%143 = load i32*, i32** %8
%144 = getelementptr inbounds i32, i32* %143, i32 1
store i32* %144, i32** %8
store i32 %142, i32* %143
%145 = load i32, i32* %10
%146 = mul i32 216, %145
%147 = load i32, i32* %11
%148 = mul i32 13, %147
%149 = add i32 %146, %148
%150 = load i32, i32* %12
%151 = mul i32 191, %150
%152 = add i32 %149, %151
%153 = load i32, i32* %13
%154 = mul i32 117, %153
%155 = add i32 %152, %154
%156 = load i32, i32* %14
%157 = mul i32 147, %156
%158 = add i32 %155, %157
%159 = load i32*, i32** %8
%160 = getelementptr inbounds i32, i32* %159, i32 1
store i32* %160, i32** %8
store i32 %158, i32* %159
%161 = load i32, i32* %10
%162 = mul i32 23, %161
%163 = load i32, i32* %11
%164 = mul i32 27271, %163
%165 = add i32 %162, %164
%166 = load i32, i32* %12
%167 = mul i32 500, %166
%168 = add i32 %165, %167
%169 = load i32, i32* %13
%170 = mul i32 11, %169
%171 = add i32 %168, %170
%172 = load i32, i32* %14
%173 = mul i32 115, %172
%174 = add i32 %171, %173
%175 = load i32*, i32** %8
%176 = getelementptr inbounds i32, i32* %175, i32 1
store i32* %176, i32** %8
store i32 %174, i32* %175
%177 = load i32, i32* %10
%178 = mul i32 237, %177
%179 = load i32, i32* %11
%180 = mul i32 2280, %179
%181 = add i32 %178, %180
%182 = load i32, i32* %12
%183 = mul i32 111, %182
%184 = add i32 %181, %183
%185 = load i32, i32* %13
%186 = mul i32 771, %185
%187 = add i32 %184, %186
%188 = load i32, i32* %14
%189 = mul i32 7716, %188
%190 = add i32 %187, %189
%191 = load i32*, i32** %8
%192 = getelementptr inbounds i32, i32* %191, i32 1
store i32* %192, i32** %8
store i32 %190, i32* %191
%193 = load i32, i32* %10
%194 = mul i32 437, %193
%195 = load i32, i32* %11
%196 = mul i32 284, %195
%197 = add i32 %194, %196
%198 = load i32, i32* %12
%199 = mul i32 1114, %198
%200 = add i32 %197, %199
%201 = load i32, i32* %13
%202 = mul i32 71, %201
%203 = add i32 %200, %202
%204 = load i32, i32* %14
%205 = mul i32 16, %204
%206 = add i32 %203, %205
%207 = load i32*, i32** %8
%208 = getelementptr inbounds i32, i32* %207, i32 1
store i32* %208, i32** %8
store i32 %206, i32* %207
br label %209
209: ; preds = %18
%210 = load i32, i32* %9
%211 = add i32 %210, 1
store i32 %211, i32* %9
br label %15
212: ; preds = %15
ret void
}

LLVM IR (-O2):
define void @foo(i32* noalias nocapture %0, i32* noalias nocapture writeonly %1, i32* noalias nocapture %2, i32* noalias nocapture writeonly %3) {
br label %5
5: ; preds = %4, %5
%6 = phi i32* [ %0, %4 ], [ %19, %5 ]
%7 = phi i32* [ %1, %4 ], [ %70, %5 ]
%8 = phi i32* [ %2, %4 ], [ %79, %5 ]
%9 = phi i32* [ %3, %4 ], [ %130, %5 ]
%10 = phi i32 [ 0, %4 ], [ %131, %5 ]
%11 = getelementptr inbounds i32, i32* %6, i64 1
%12 = load i32, i32* %6
%13 = getelementptr inbounds i32, i32* %6, i64 2
%14 = load i32, i32* %11
%15 = getelementptr inbounds i32, i32* %6, i64 3
%16 = load i32, i32* %13
%17 = getelementptr inbounds i32, i32* %6, i64 4
%18 = load i32, i32* %15
%19 = getelementptr inbounds i32, i32* %6, i64 5
%20 = load i32, i32* %17
%21 = mul i32 %12, 100
%22 = mul i32 %14, 1322
%23 = add i32 %22, %21
%24 = mul i32 %16, 74
%25 = add i32 %23, %24
%26 = mul i32 %18, 134
%27 = add i32 %25, %26
%28 = mul i32 %20, 334
%29 = add i32 %27, %28
%30 = getelementptr inbounds i32, i32* %7, i64 1
store i32 %29, i32* %7
%31 = mul i32 %12, 216
%32 = mul i32 %14, 13
%33 = add i32 %32, %31
%34 = mul i32 %16, 191
%35 = add i32 %33, %34
%36 = mul i32 %18, 117
%37 = add i32 %35, %36
%38 = mul i32 %20, 147
%39 = add i32 %37, %38
%40 = getelementptr inbounds i32, i32* %7, i64 2
store i32 %39, i32* %30
%41 = mul i32 %12, 23
%42 = mul i32 %14, 27271
%43 = add i32 %42, %41
%44 = mul i32 %16, 500
%45 = add i32 %43, %44
%46 = mul i32 %18, 11
%47 = add i32 %45, %46
%48 = mul i32 %20, 115
%49 = add i32 %47, %48
%50 = getelementptr inbounds i32, i32* %7, i64 3
store i32 %49, i32* %40
%51 = mul i32 %12, 237
%52 = mul i32 %14, 2280
%53 = add i32 %52, %51
%54 = mul i32 %16, 111
%55 = add i32 %53, %54
%56 = mul i32 %18, 771
%57 = add i32 %55, %56
%58 = mul i32 %20, 7716
%59 = add i32 %57, %58
%60 = getelementptr inbounds i32, i32* %7, i64 4
store i32 %59, i32* %50
%61 = mul i32 %12, 437
%62 = mul i32 %14, 284
%63 = add i32 %62, %61
%64 = mul i32 %16, 1114
%65 = add i32 %63, %64
%66 = mul i32 %18, 71
%67 = add i32 %65, %66
%68 = shl i32 %20, 4
%69 = add i32 %67, %68
%70 = getelementptr inbounds i32, i32* %7, i64 5
store i32 %69, i32* %60
%71 = getelementptr inbounds i32, i32* %8, i64 1
%72 = load i32, i32* %8
%73 = getelementptr inbounds i32, i32* %8, i64 2
%74 = load i32, i32* %71
%75 = getelementptr inbounds i32, i32* %8, i64 3
%76 = load i32, i32* %73
%77 = getelementptr inbounds i32, i32* %8, i64 4
%78 = load i32, i32* %75
%79 = getelementptr inbounds i32, i32* %8, i64 5
%80 = load i32, i32* %77
%81 = mul i32 %72, 100
%82 = mul i32 %74, 1322
%83 = add i32 %82, %81
%84 = mul i32 %76, 74
%85 = add i32 %83, %84
%86 = mul i32 %78, 134
%87 = add i32 %85, %86
%88 = mul i32 %80, 334
%89 = add i32 %87, %88
%90 = getelementptr inbounds i32, i32* %9, i64 1
store i32 %89, i32* %9
%91 = mul i32 %72, 216
%92 = mul i32 %74, 13
%93 = add i32 %92, %91
%94 = mul i32 %76, 191
%95 = add i32 %93, %94
%96 = mul i32 %78, 117
%97 = add i32 %95, %96
%98 = mul i32 %80, 147
%99 = add i32 %97, %98
%100 = getelementptr inbounds i32, i32* %9, i64 2
store i32 %99, i32* %90
%101 = mul i32 %72, 23
%102 = mul i32 %74, 27271
%103 = add i32 %102, %101
%104 = mul i32 %76, 500
%105 = add i32 %103, %104
%106 = mul i32 %78, 11
%107 = add i32 %105, %106
%108 = mul i32 %80, 115
%109 = add i32 %107, %108
%110 = getelementptr inbounds i32, i32* %9, i64 3
store i32 %109, i32* %100
%111 = mul i32 %72, 237
%112 = mul i32 %74, 2280
%113 = add i32 %112, %111
%114 = mul i32 %76, 111
%115 = add i32 %113, %114
%116 = mul i32 %78, 771
%117 = add i32 %115, %116
%118 = mul i32 %80, 7716
%119 = add i32 %117, %118
%120 = getelementptr inbounds i32, i32* %9, i64 4
store i32 %119, i32* %110
%121 = mul i32 %72, 437
%122 = mul i32 %74, 284
%123 = add i32 %122, %121
%124 = mul i32 %76, 1114
%125 = add i32 %123, %124
%126 = mul i32 %78, 71
%127 = add i32 %125, %126
%128 = shl i32 %80, 4
%129 = add i32 %127, %128
%130 = getelementptr inbounds i32, i32* %9, i64 5
store i32 %129, i32* %120
%131 = add nuw nsw i32 %10, 1
%132 = icmp eq i32 %131, 4
br i1 %132, label %133, label %5
133: ; preds = %5
ret void
}