void dedisperse_block_subkernel_2pass(const float *in1, const float *in2,
                                      float *out) {
  out[0] = in1[0] + in1[4] + in1[8] + in1[12];
  out[1] = in1[1] + in1[5] + in1[9] + in1[13];
  out[2] = in1[2] + in1[6] + in1[10] + in1[14];
  out[3] = in1[3] + in1[7] + in1[11] + in1[15];
  out[4] = in1[0] + in1[4] + in1[9] + in1[13];
  out[5] = in1[1] + in1[5] + in1[10] + in1[14];
  out[6] = in1[2] + in1[6] + in1[11] + in1[15];
  out[7] = in1[3] + in1[7] + in2[8] + in2[12];
  out[8] = in1[0] + in1[5] + in1[9] + in1[14];
  out[9] = in1[1] + in1[6] + in1[10] + in1[15];
  out[10] = in1[2] + in1[7] + in1[11] + in2[12];
  out[11] = in1[3] + in2[4] + in2[8] + in2[13];
  out[12] = in1[0] + in1[5] + in1[10] + in1[15];
  out[13] = in1[1] + in1[6] + in1[11] + in2[12];
  out[14] = in1[2] + in1[7] + in2[8] + in2[13];
  out[15] = in1[3] + in2[4] + in2[9] + in2[14];
}


x86 assembly (clang, -O0):
<dedisperse_block_subkernel_2pass>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x10(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x20(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x30(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,(%rax)
mov    -0x8(%rbp),%rax
movss  0x4(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x14(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x24(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x34(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x4(%rax)
mov    -0x8(%rbp),%rax
movss  0x8(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x38(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x8(%rax)
mov    -0x8(%rbp),%rax
movss  0xc(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x1c(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x2c(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x3c(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0xc(%rax)
mov    -0x8(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x10(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x24(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x34(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x10(%rax)
mov    -0x8(%rbp),%rax
movss  0x4(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x14(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x38(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x14(%rax)
mov    -0x8(%rbp),%rax
movss  0x8(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x2c(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x3c(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x18(%rax)
mov    -0x8(%rbp),%rax
movss  0xc(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x1c(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x30(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x1c(%rax)
mov    -0x8(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x14(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x24(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x38(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x20(%rax)
mov    -0x8(%rbp),%rax
movss  0x4(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x3c(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x24(%rax)
mov    -0x8(%rbp),%rax
movss  0x8(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x1c(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x2c(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x30(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x28(%rax)
mov    -0x8(%rbp),%rax
movss  0xc(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x10(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x34(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x2c(%rax)
mov    -0x8(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x14(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x3c(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x30(%rax)
mov    -0x8(%rbp),%rax
movss  0x4(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x2c(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x30(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x34(%rax)
mov    -0x8(%rbp),%rax
movss  0x8(%rax),%xmm0
mov    -0x8(%rbp),%rax
addss  0x1c(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x34(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x38(%rax)
mov    -0x8(%rbp),%rax
movss  0xc(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x10(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x24(%rax),%xmm0
mov    -0x10(%rbp),%rax
addss  0x38(%rax),%xmm0
mov    -0x18(%rbp),%rax
movss  %xmm0,0x3c(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<dedisperse_block_subkernel_2pass>:
movss  (%rdi),%xmm0
addss  0x10(%rdi),%xmm0
addss  0x20(%rdi),%xmm0
addss  0x30(%rdi),%xmm0
movss  %xmm0,(%rdx)
movss  0x4(%rdi),%xmm0
addss  0x14(%rdi),%xmm0
addss  0x24(%rdi),%xmm0
addss  0x34(%rdi),%xmm0
movss  %xmm0,0x4(%rdx)
movss  0x8(%rdi),%xmm0
addss  0x18(%rdi),%xmm0
addss  0x28(%rdi),%xmm0
addss  0x38(%rdi),%xmm0
movss  %xmm0,0x8(%rdx)
movss  0xc(%rdi),%xmm0
addss  0x1c(%rdi),%xmm0
addss  0x2c(%rdi),%xmm0
addss  0x3c(%rdi),%xmm0
movss  %xmm0,0xc(%rdx)
movss  (%rdi),%xmm0
addss  0x10(%rdi),%xmm0
addss  0x24(%rdi),%xmm0
addss  0x34(%rdi),%xmm0
movss  %xmm0,0x10(%rdx)
movss  0x4(%rdi),%xmm0
addss  0x14(%rdi),%xmm0
addss  0x28(%rdi),%xmm0
addss  0x38(%rdi),%xmm0
movss  %xmm0,0x14(%rdx)
movss  0x8(%rdi),%xmm0
addss  0x18(%rdi),%xmm0
addss  0x2c(%rdi),%xmm0
addss  0x3c(%rdi),%xmm0
movss  %xmm0,0x18(%rdx)
movss  0xc(%rdi),%xmm0
addss  0x1c(%rdi),%xmm0
addss  0x20(%rsi),%xmm0
addss  0x30(%rsi),%xmm0
movss  %xmm0,0x1c(%rdx)
movss  (%rdi),%xmm0
addss  0x14(%rdi),%xmm0
addss  0x24(%rdi),%xmm0
addss  0x38(%rdi),%xmm0
movss  %xmm0,0x20(%rdx)
movss  0x4(%rdi),%xmm0
addss  0x18(%rdi),%xmm0
addss  0x28(%rdi),%xmm0
addss  0x3c(%rdi),%xmm0
movss  %xmm0,0x24(%rdx)
movss  0x8(%rdi),%xmm0
addss  0x1c(%rdi),%xmm0
addss  0x2c(%rdi),%xmm0
addss  0x30(%rsi),%xmm0
movss  %xmm0,0x28(%rdx)
movss  0xc(%rdi),%xmm0
addss  0x10(%rsi),%xmm0
addss  0x20(%rsi),%xmm0
addss  0x34(%rsi),%xmm0
movss  %xmm0,0x2c(%rdx)
movss  (%rdi),%xmm0
addss  0x14(%rdi),%xmm0
addss  0x28(%rdi),%xmm0
addss  0x3c(%rdi),%xmm0
movss  %xmm0,0x30(%rdx)
movss  0x4(%rdi),%xmm0
addss  0x18(%rdi),%xmm0
addss  0x2c(%rdi),%xmm0
addss  0x30(%rsi),%xmm0
movss  %xmm0,0x34(%rdx)
movss  0x8(%rdi),%xmm0
addss  0x1c(%rdi),%xmm0
addss  0x20(%rsi),%xmm0
addss  0x34(%rsi),%xmm0
movss  %xmm0,0x38(%rdx)
movss  0xc(%rdi),%xmm0
addss  0x10(%rsi),%xmm0
addss  0x24(%rsi),%xmm0
addss  0x38(%rsi),%xmm0
movss  %xmm0,0x3c(%rdx)
ret

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

LLVM IR (-O2):
define void @dedisperse_block_subkernel_2pass(float* nocapture %0, float* nocapture %1, float* nocapture writeonly %2) {
%4 = load float, float* %0
%5 = getelementptr inbounds float, float* %0, i64 4
%6 = load float, float* %5
%7 = fadd float %4, %6
%8 = getelementptr inbounds float, float* %0, i64 8
%9 = load float, float* %8
%10 = fadd float %7, %9
%11 = getelementptr inbounds float, float* %0, i64 12
%12 = load float, float* %11
%13 = fadd float %10, %12
store float %13, float* %2
%14 = getelementptr inbounds float, float* %0, i64 1
%15 = load float, float* %14
%16 = getelementptr inbounds float, float* %0, i64 5
%17 = load float, float* %16
%18 = fadd float %15, %17
%19 = getelementptr inbounds float, float* %0, i64 9
%20 = load float, float* %19
%21 = fadd float %18, %20
%22 = getelementptr inbounds float, float* %0, i64 13
%23 = load float, float* %22
%24 = fadd float %21, %23
%25 = getelementptr inbounds float, float* %2, i64 1
store float %24, float* %25
%26 = getelementptr inbounds float, float* %0, i64 2
%27 = load float, float* %26
%28 = getelementptr inbounds float, float* %0, i64 6
%29 = load float, float* %28
%30 = fadd float %27, %29
%31 = getelementptr inbounds float, float* %0, i64 10
%32 = load float, float* %31
%33 = fadd float %30, %32
%34 = getelementptr inbounds float, float* %0, i64 14
%35 = load float, float* %34
%36 = fadd float %33, %35
%37 = getelementptr inbounds float, float* %2, i64 2
store float %36, float* %37
%38 = getelementptr inbounds float, float* %0, i64 3
%39 = load float, float* %38
%40 = getelementptr inbounds float, float* %0, i64 7
%41 = load float, float* %40
%42 = fadd float %39, %41
%43 = getelementptr inbounds float, float* %0, i64 11
%44 = load float, float* %43
%45 = fadd float %42, %44
%46 = getelementptr inbounds float, float* %0, i64 15
%47 = load float, float* %46
%48 = fadd float %45, %47
%49 = getelementptr inbounds float, float* %2, i64 3
store float %48, float* %49
%50 = load float, float* %0
%51 = load float, float* %5
%52 = fadd float %50, %51
%53 = load float, float* %19
%54 = fadd float %52, %53
%55 = load float, float* %22
%56 = fadd float %54, %55
%57 = getelementptr inbounds float, float* %2, i64 4
store float %56, float* %57
%58 = load float, float* %14
%59 = load float, float* %16
%60 = fadd float %58, %59
%61 = load float, float* %31
%62 = fadd float %60, %61
%63 = load float, float* %34
%64 = fadd float %62, %63
%65 = getelementptr inbounds float, float* %2, i64 5
store float %64, float* %65
%66 = load float, float* %26
%67 = load float, float* %28
%68 = fadd float %66, %67
%69 = load float, float* %43
%70 = fadd float %68, %69
%71 = load float, float* %46
%72 = fadd float %70, %71
%73 = getelementptr inbounds float, float* %2, i64 6
store float %72, float* %73
%74 = load float, float* %38
%75 = load float, float* %40
%76 = fadd float %74, %75
%77 = getelementptr inbounds float, float* %1, i64 8
%78 = load float, float* %77
%79 = fadd float %76, %78
%80 = getelementptr inbounds float, float* %1, i64 12
%81 = load float, float* %80
%82 = fadd float %79, %81
%83 = getelementptr inbounds float, float* %2, i64 7
store float %82, float* %83
%84 = load float, float* %0
%85 = load float, float* %16
%86 = fadd float %84, %85
%87 = load float, float* %19
%88 = fadd float %86, %87
%89 = load float, float* %34
%90 = fadd float %88, %89
%91 = getelementptr inbounds float, float* %2, i64 8
store float %90, float* %91
%92 = load float, float* %14
%93 = load float, float* %28
%94 = fadd float %92, %93
%95 = load float, float* %31
%96 = fadd float %94, %95
%97 = load float, float* %46
%98 = fadd float %96, %97
%99 = getelementptr inbounds float, float* %2, i64 9
store float %98, float* %99
%100 = load float, float* %26
%101 = load float, float* %40
%102 = fadd float %100, %101
%103 = load float, float* %43
%104 = fadd float %102, %103
%105 = load float, float* %80
%106 = fadd float %104, %105
%107 = getelementptr inbounds float, float* %2, i64 10
store float %106, float* %107
%108 = load float, float* %38
%109 = getelementptr inbounds float, float* %1, i64 4
%110 = load float, float* %109
%111 = fadd float %108, %110
%112 = load float, float* %77
%113 = fadd float %111, %112
%114 = getelementptr inbounds float, float* %1, i64 13
%115 = load float, float* %114
%116 = fadd float %113, %115
%117 = getelementptr inbounds float, float* %2, i64 11
store float %116, float* %117
%118 = load float, float* %0
%119 = load float, float* %16
%120 = fadd float %118, %119
%121 = load float, float* %31
%122 = fadd float %120, %121
%123 = load float, float* %46
%124 = fadd float %122, %123
%125 = getelementptr inbounds float, float* %2, i64 12
store float %124, float* %125
%126 = load float, float* %14
%127 = load float, float* %28
%128 = fadd float %126, %127
%129 = load float, float* %43
%130 = fadd float %128, %129
%131 = load float, float* %80
%132 = fadd float %130, %131
%133 = getelementptr inbounds float, float* %2, i64 13
store float %132, float* %133
%134 = load float, float* %26
%135 = load float, float* %40
%136 = fadd float %134, %135
%137 = load float, float* %77
%138 = fadd float %136, %137
%139 = load float, float* %114
%140 = fadd float %138, %139
%141 = getelementptr inbounds float, float* %2, i64 14
store float %140, float* %141
%142 = load float, float* %38
%143 = load float, float* %109
%144 = fadd float %142, %143
%145 = getelementptr inbounds float, float* %1, i64 9
%146 = load float, float* %145
%147 = fadd float %144, %146
%148 = getelementptr inbounds float, float* %1, i64 14
%149 = load float, float* %148
%150 = fadd float %147, %149
%151 = getelementptr inbounds float, float* %2, i64 15
store float %150, float* %151
ret void
}