; LLVM IR from OpenMathLib/OpenBLAS :: lapack-netlib/SRC (clarfx)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.complex = type { float, float }

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4

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

254:                                              ; preds = %8
  %255 = load ptr, ptr %13, align 8, !tbaa !5
  %256 = getelementptr inbounds %struct.complex, ptr %255, i32 0, i32 1
  %257 = load float, ptr %256, align 4, !tbaa !14
  %258 = fcmp oeq float %257, 0.000000e+00
  br i1 %258, label %259, label %260

259:                                              ; preds = %254
  store i32 1, ptr %71, align 4
  br label %19664

260:                                              ; preds = %254, %8
  %261 = load ptr, ptr %9, align 8, !tbaa !5
  %262 = call i32 @lsame_(ptr noundef %261, ptr noundef @.str)
  %263 = icmp ne i32 %262, 0
  br i1 %263, label %264, label %10167

264:                                              ; preds = %260
  %265 = load ptr, ptr %10, align 8, !tbaa !5
  %266 = load i32, ptr %265, align 4, !tbaa !9
  switch i32 %266, label %277 [
    i32 1, label %267
    i32 2, label %268
    i32 3, label %269
    i32 4, label %270
    i32 5, label %271
    i32 6, label %272
    i32 7, label %273
    i32 8, label %274
    i32 9, label %275
    i32 10, label %276
  ]

267:                                              ; preds = %264
  br label %291

268:                                              ; preds = %264
  br label %447

269:                                              ; preds = %264
  br label %811

270:                                              ; preds = %264
  br label %1354

271:                                              ; preds = %264
  br label %2076

272:                                              ; preds = %264
  br label %2977

273:                                              ; preds = %264
  br label %4057

274:                                              ; preds = %264
  br label %5316

275:                                              ; preds = %264
  br label %6754

276:                                              ; preds = %264
  br label %8371

277:                                              ; preds = %264
  %278 = load ptr, ptr %9, align 8, !tbaa !5
  %279 = load ptr, ptr %10, align 8, !tbaa !5
  %280 = load ptr, ptr %11, align 8, !tbaa !5
  %281 = load ptr, ptr %12, align 8, !tbaa !5
  %282 = getelementptr inbounds %struct.complex, ptr %281, i64 1
  %283 = load ptr, ptr %13, align 8, !tbaa !5
  %284 = load ptr, ptr %14, align 8, !tbaa !5
  %285 = load i32, ptr %18, align 4, !tbaa !9
  %286 = sext i32 %285 to i64
  %287 = getelementptr inbounds %struct.complex, ptr %284, i64 %286
  %288 = load ptr, ptr %15, align 8, !tbaa !5
  %289 = load ptr, ptr %16, align 8, !tbaa !5
  %290 = getelementptr inbounds %struct.complex, ptr %289, i64 1
  call void @clarf_(ptr noundef %278, ptr noundef %279, ptr noundef %280, ptr noundef %282, ptr noundef @c__1, ptr noundef %283, ptr noundef %287, ptr noundef %288, ptr noundef %290)
  br label %19663

291:                                              ; preds = %267
  %292 = load ptr, ptr %13, align 8, !tbaa !5
  %293 = getelementptr inbounds %struct.complex, ptr %292, i32 0, i32 0
  %294 = load float, ptr %293, align 4, !tbaa !11
  %295 = load ptr, ptr %12, align 8, !tbaa !5
  %296 = getelementptr inbounds %struct.complex, ptr %295, i64 1
  %297 = getelementptr inbounds %struct.complex, ptr %296, i32 0, i32 0
  %298 = load float, ptr %297, align 4, !tbaa !11
  %299 = load ptr, ptr %13, align 8, !tbaa !5
  %300 = getelementptr inbounds %struct.complex, ptr %299, i32 0, i32 1
  %301 = load float, ptr %300, align 4, !tbaa !14
  %302 = load ptr, ptr %12, align 8, !tbaa !5
  %303 = getelementptr inbounds %struct.complex, ptr %302, i64 1
  %304 = getelementptr inbounds %struct.complex, ptr %303, i32 0, i32 1
  %305 = load float, ptr %304, align 4, !tbaa !14
  %306 = fmul float %301, %305
  %307 = fneg float %306
  %308 = call float @llvm.fmuladd.f32(float %294, float %298, float %307)
  %309 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %308, ptr %309, align 4, !tbaa !11
  %310 = load ptr, ptr %13, align 8, !tbaa !5
  %311 = getelementptr inbounds %struct.complex, ptr %310, i32 0, i32 0
  %312 = load float, ptr %311, align 4, !tbaa !11
  %313 = load ptr, ptr %12, align 8, !tbaa !5
  %314 = getelementptr inbounds %struct.complex, ptr %313, i64 1
  %315 = getelementptr inbounds %struct.complex, ptr %314, i32 0, i32 1
  %316 = load float, ptr %315, align 4, !tbaa !14
  %317 = load ptr, ptr %13, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.complex, ptr %317, i32 0, i32 1
  %319 = load float, ptr %318, align 4, !tbaa !14
  %320 = load ptr, ptr %12, align 8, !tbaa !5
  %321 = getelementptr inbounds %struct.complex, ptr %320, i64 1
  %322 = getelementptr inbounds %struct.complex, ptr %321, i32 0, i32 0
  %323 = load float, ptr %322, align 4, !tbaa !11
  %324 = fmul float %319, %323
  %325 = call float @llvm.fmuladd.f32(float %312, float %316, float %324)
  %326 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %325, ptr %326, align 4, !tbaa !14
  %327 = load ptr, ptr %12, align 8, !tbaa !5
  %328 = getelementptr inbounds %struct.complex, ptr %327, i64 1
  %329 = call <2 x float> @Cf(ptr noundef %328)
  store <2 x float> %329, ptr %72, align 4
  %330 = getelementptr inbounds { float, float }, ptr %72, i32 0, i32 0
  %331 = load float, ptr %330, align 4
  %332 = getelementptr inbounds { float, float }, ptr %72, i32 0, i32 1
  %333 = load float, ptr %332, align 4
  %334 = fneg float %333
  %335 = call ptr @_pCf(ptr noundef %33)
  %336 = getelementptr inbounds { float, float }, ptr %335, i32 0, i32 0
  %337 = getelementptr inbounds { float, float }, ptr %335, i32 0, i32 1
  store float %331, ptr %336, align 4
  store float %334, ptr %337, align 4
  %338 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %339 = load float, ptr %338, align 4, !tbaa !11
  %340 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %341 = load float, ptr %340, align 4, !tbaa !11
  %342 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %343 = load float, ptr %342, align 4, !tbaa !14
  %344 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %345 = load float, ptr %344, align 4, !tbaa !14
  %346 = fmul float %343, %345
  %347 = fneg float %346
  %348 = call float @llvm.fmuladd.f32(float %339, float %341, float %347)
  %349 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %348, ptr %349, align 4, !tbaa !11
  %350 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %351 = load float, ptr %350, align 4, !tbaa !11
  %352 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %353 = load float, ptr %352, align 4, !tbaa !14
  %354 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %355 = load float, ptr %354, align 4, !tbaa !14
  %356 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %357 = load float, ptr %356, align 4, !tbaa !11
  %358 = fmul float %355, %357
  %359 = call float @llvm.fmuladd.f32(float %351, float %353, float %358)
  %360 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %359, ptr %360, align 4, !tbaa !14
  %361 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %362 = load float, ptr %361, align 4, !tbaa !11
  %363 = fsub float 1.000000e+00, %362
  %364 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %363, ptr %364, align 4, !tbaa !11
  %365 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %366 = load float, ptr %365, align 4, !tbaa !14
  %367 = fsub float 0.000000e+00, %366
  %368 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %367, ptr %368, align 4, !tbaa !14
  %369 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %370 = load float, ptr %369, align 4, !tbaa !11
  %371 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %370, ptr %371, align 4, !tbaa !11
  %372 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %373 = load float, ptr %372, align 4, !tbaa !14
  %374 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %373, ptr %374, align 4, !tbaa !14
  %375 = load ptr, ptr %11, align 8, !tbaa !5
  %376 = load i32, ptr %375, align 4, !tbaa !9
  store i32 %376, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %377

377:                                              ; preds = %443, %291
  %378 = load i32, ptr %49, align 4, !tbaa !9
  %379 = load i32, ptr %19, align 4, !tbaa !9
  %380 = icmp sle i32 %378, %379
  br i1 %380, label %381, label %446

381:                                              ; preds = %377
  %382 = load i32, ptr %49, align 4, !tbaa !9
  %383 = load i32, ptr %17, align 4, !tbaa !9
  %384 = mul nsw i32 %382, %383
  %385 = add nsw i32 %384, 1
  store i32 %385, ptr %20, align 4, !tbaa !9
  %386 = load i32, ptr %49, align 4, !tbaa !9
  %387 = load i32, ptr %17, align 4, !tbaa !9
  %388 = mul nsw i32 %386, %387
  %389 = add nsw i32 %388, 1
  store i32 %389, ptr %21, align 4, !tbaa !9
  %390 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %391 = load float, ptr %390, align 4, !tbaa !11
  %392 = load ptr, ptr %14, align 8, !tbaa !5
  %393 = load i32, ptr %21, align 4, !tbaa !9
  %394 = sext i32 %393 to i64
  %395 = getelementptr inbounds %struct.complex, ptr %392, i64 %394
  %396 = getelementptr inbounds %struct.complex, ptr %395, i32 0, i32 0
  %397 = load float, ptr %396, align 4, !tbaa !11
  %398 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %399 = load float, ptr %398, align 4, !tbaa !14
  %400 = load ptr, ptr %14, align 8, !tbaa !5
  %401 = load i32, ptr %21, align 4, !tbaa !9
  %402 = sext i32 %401 to i64
  %403 = getelementptr inbounds %struct.complex, ptr %400, i64 %402
  %404 = getelementptr inbounds %struct.complex, ptr %403, i32 0, i32 1
  %405 = load float, ptr %404, align 4, !tbaa !14
  %406 = fmul float %399, %405
  %407 = fneg float %406
  %408 = call float @llvm.fmuladd.f32(float %391, float %397, float %407)
  %409 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %408, ptr %409, align 4, !tbaa !11
  %410 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %411 = load float, ptr %410, align 4, !tbaa !11
  %412 = load ptr, ptr %14, align 8, !tbaa !5
  %413 = load i32, ptr %21, align 4, !tbaa !9
  %414 = sext i32 %413 to i64
  %415 = getelementptr inbounds %struct.complex, ptr %412, i64 %414
  %416 = getelementptr inbounds %struct.complex, ptr %415, i32 0, i32 1
  %417 = load float, ptr %416, align 4, !tbaa !14
  %418 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %419 = load float, ptr %418, align 4, !tbaa !14
  %420 = load ptr, ptr %14, align 8, !tbaa !5
  %421 = load i32, ptr %21, align 4, !tbaa !9
  %422 = sext i32 %421 to i64
  %423 = getelementptr inbounds %struct.complex, ptr %420, i64 %422
  %424 = getelementptr inbounds %struct.complex, ptr %423, i32 0, i32 0
  %425 = load float, ptr %424, align 4, !tbaa !11
  %426 = fmul float %419, %425
  %427 = call float @llvm.fmuladd.f32(float %411, float %417, float %426)
  %428 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %427, ptr %428, align 4, !tbaa !14
  %429 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %430 = load float, ptr %429, align 4, !tbaa !11
  %431 = load ptr, ptr %14, align 8, !tbaa !5
  %432 = load i32, ptr %20, align 4, !tbaa !9
  %433 = sext i32 %432 to i64
  %434 = getelementptr inbounds %struct.complex, ptr %431, i64 %433
  %435 = getelementptr inbounds %struct.complex, ptr %434, i32 0, i32 0
  store float %430, ptr %435, align 4, !tbaa !11
  %436 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %437 = load float, ptr %436, align 4, !tbaa !14
  %438 = load ptr, ptr %14, align 8, !tbaa !5
  %439 = load i32, ptr %20, align 4, !tbaa !9
  %440 = sext i32 %439 to i64
  %441 = getelementptr inbounds %struct.complex, ptr %438, i64 %440
  %442 = getelementptr inbounds %struct.complex, ptr %441, i32 0, i32 1
  store float %437, ptr %442, align 4, !tbaa !14
  br label %443

443:                                              ; preds = %381
  %444 = load i32, ptr %49, align 4, !tbaa !9
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr %49, align 4, !tbaa !9
  br label %377, !llvm.loop !15

446:                                              ; preds = %377
  br label %19663

447:                                              ; preds = %268
  %448 = load ptr, ptr %12, align 8, !tbaa !5
  %449 = getelementptr inbounds %struct.complex, ptr %448, i64 1
  %450 = call <2 x float> @Cf(ptr noundef %449)
  store <2 x float> %450, ptr %73, align 4
  %451 = getelementptr inbounds { float, float }, ptr %73, i32 0, i32 0
  %452 = load float, ptr %451, align 4
  %453 = getelementptr inbounds { float, float }, ptr %73, i32 0, i32 1
  %454 = load float, ptr %453, align 4
  %455 = fneg float %454
  %456 = call ptr @_pCf(ptr noundef %30)
  %457 = getelementptr inbounds { float, float }, ptr %456, i32 0, i32 0
  %458 = getelementptr inbounds { float, float }, ptr %456, i32 0, i32 1
  store float %452, ptr %457, align 4
  store float %455, ptr %458, align 4
  %459 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %460 = load float, ptr %459, align 4, !tbaa !11
  %461 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %460, ptr %461, align 4, !tbaa !11
  %462 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %463 = load float, ptr %462, align 4, !tbaa !14
  %464 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %463, ptr %464, align 4, !tbaa !14
  %465 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %465, ptr %74, align 4
  %466 = getelementptr inbounds { float, float }, ptr %74, i32 0, i32 0
  %467 = load float, ptr %466, align 4
  %468 = getelementptr inbounds { float, float }, ptr %74, i32 0, i32 1
  %469 = load float, ptr %468, align 4
  %470 = fneg float %469
  %471 = call ptr @_pCf(ptr noundef %31)
  %472 = getelementptr inbounds { float, float }, ptr %471, i32 0, i32 0
  %473 = getelementptr inbounds { float, float }, ptr %471, i32 0, i32 1
  store float %467, ptr %472, align 4
  store float %470, ptr %473, align 4
  %474 = load ptr, ptr %13, align 8, !tbaa !5
  %475 = getelementptr inbounds %struct.complex, ptr %474, i32 0, i32 0
  %476 = load float, ptr %475, align 4, !tbaa !11
  %477 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %478 = load float, ptr %477, align 4, !tbaa !11
  %479 = load ptr, ptr %13, align 8, !tbaa !5
  %480 = getelementptr inbounds %struct.complex, ptr %479, i32 0, i32 1
  %481 = load float, ptr %480, align 4, !tbaa !14
  %482 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %483 = load float, ptr %482, align 4, !tbaa !14
  %484 = fmul float %481, %483
  %485 = fneg float %484
  %486 = call float @llvm.fmuladd.f32(float %476, float %478, float %485)
  %487 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %486, ptr %487, align 4, !tbaa !11
  %488 = load ptr, ptr %13, align 8, !tbaa !5
  %489 = getelementptr inbounds %struct.complex, ptr %488, i32 0, i32 0
  %490 = load float, ptr %489, align 4, !tbaa !11
  %491 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %492 = load float, ptr %491, align 4, !tbaa !14
  %493 = load ptr, ptr %13, align 8, !tbaa !5
  %494 = getelementptr inbounds %struct.complex, ptr %493, i32 0, i32 1
  %495 = load float, ptr %494, align 4, !tbaa !14
  %496 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %497 = load float, ptr %496, align 4, !tbaa !11
  %498 = fmul float %495, %497
  %499 = call float @llvm.fmuladd.f32(float %490, float %492, float %498)
  %500 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %499, ptr %500, align 4, !tbaa !14
  %501 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %502 = load float, ptr %501, align 4, !tbaa !11
  %503 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %502, ptr %503, align 4, !tbaa !11
  %504 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %505 = load float, ptr %504, align 4, !tbaa !14
  %506 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %505, ptr %506, align 4, !tbaa !14
  %507 = load ptr, ptr %12, align 8, !tbaa !5
  %508 = getelementptr inbounds %struct.complex, ptr %507, i64 2
  %509 = call <2 x float> @Cf(ptr noundef %508)
  store <2 x float> %509, ptr %75, align 4
  %510 = getelementptr inbounds { float, float }, ptr %75, i32 0, i32 0
  %511 = load float, ptr %510, align 4
  %512 = getelementptr inbounds { float, float }, ptr %75, i32 0, i32 1
  %513 = load float, ptr %512, align 4
  %514 = fneg float %513
  %515 = call ptr @_pCf(ptr noundef %30)
  %516 = getelementptr inbounds { float, float }, ptr %515, i32 0, i32 0
  %517 = getelementptr inbounds { float, float }, ptr %515, i32 0, i32 1
  store float %511, ptr %516, align 4
  store float %514, ptr %517, align 4
  %518 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %519 = load float, ptr %518, align 4, !tbaa !11
  %520 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %519, ptr %520, align 4, !tbaa !11
  %521 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %522 = load float, ptr %521, align 4, !tbaa !14
  %523 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %522, ptr %523, align 4, !tbaa !14
  %524 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %524, ptr %76, align 4
  %525 = getelementptr inbounds { float, float }, ptr %76, i32 0, i32 0
  %526 = load float, ptr %525, align 4
  %527 = getelementptr inbounds { float, float }, ptr %76, i32 0, i32 1
  %528 = load float, ptr %527, align 4
  %529 = fneg float %528
  %530 = call ptr @_pCf(ptr noundef %31)
  %531 = getelementptr inbounds { float, float }, ptr %530, i32 0, i32 0
  %532 = getelementptr inbounds { float, float }, ptr %530, i32 0, i32 1
  store float %526, ptr %531, align 4
  store float %529, ptr %532, align 4
  %533 = load ptr, ptr %13, align 8, !tbaa !5
  %534 = getelementptr inbounds %struct.complex, ptr %533, i32 0, i32 0
  %535 = load float, ptr %534, align 4, !tbaa !11
  %536 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %537 = load float, ptr %536, align 4, !tbaa !11
  %538 = load ptr, ptr %13, align 8, !tbaa !5
  %539 = getelementptr inbounds %struct.complex, ptr %538, i32 0, i32 1
  %540 = load float, ptr %539, align 4, !tbaa !14
  %541 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %542 = load float, ptr %541, align 4, !tbaa !14
  %543 = fmul float %540, %542
  %544 = fneg float %543
  %545 = call float @llvm.fmuladd.f32(float %535, float %537, float %544)
  %546 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %545, ptr %546, align 4, !tbaa !11
  %547 = load ptr, ptr %13, align 8, !tbaa !5
  %548 = getelementptr inbounds %struct.complex, ptr %547, i32 0, i32 0
  %549 = load float, ptr %548, align 4, !tbaa !11
  %550 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %551 = load float, ptr %550, align 4, !tbaa !14
  %552 = load ptr, ptr %13, align 8, !tbaa !5
  %553 = getelementptr inbounds %struct.complex, ptr %552, i32 0, i32 1
  %554 = load float, ptr %553, align 4, !tbaa !14
  %555 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %556 = load float, ptr %555, align 4, !tbaa !11
  %557 = fmul float %554, %556
  %558 = call float @llvm.fmuladd.f32(float %549, float %551, float %557)
  %559 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %558, ptr %559, align 4, !tbaa !14
  %560 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %561 = load float, ptr %560, align 4, !tbaa !11
  %562 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %561, ptr %562, align 4, !tbaa !11
  %563 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %564 = load float, ptr %563, align 4, !tbaa !14
  %565 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %564, ptr %565, align 4, !tbaa !14
  %566 = load ptr, ptr %11, align 8, !tbaa !5
  %567 = load i32, ptr %566, align 4, !tbaa !9
  store i32 %567, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %568

568:                                              ; preds = %807, %447
  %569 = load i32, ptr %49, align 4, !tbaa !9
  %570 = load i32, ptr %19, align 4, !tbaa !9
  %571 = icmp sle i32 %569, %570
  br i1 %571, label %572, label %810

572:                                              ; preds = %568
  %573 = load i32, ptr %49, align 4, !tbaa !9
  %574 = load i32, ptr %17, align 4, !tbaa !9
  %575 = mul nsw i32 %573, %574
  %576 = add nsw i32 %575, 1
  store i32 %576, ptr %20, align 4, !tbaa !9
  %577 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %578 = load float, ptr %577, align 4, !tbaa !11
  %579 = load ptr, ptr %14, align 8, !tbaa !5
  %580 = load i32, ptr %20, align 4, !tbaa !9
  %581 = sext i32 %580 to i64
  %582 = getelementptr inbounds %struct.complex, ptr %579, i64 %581
  %583 = getelementptr inbounds %struct.complex, ptr %582, i32 0, i32 0
  %584 = load float, ptr %583, align 4, !tbaa !11
  %585 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %586 = load float, ptr %585, align 4, !tbaa !14
  %587 = load ptr, ptr %14, align 8, !tbaa !5
  %588 = load i32, ptr %20, align 4, !tbaa !9
  %589 = sext i32 %588 to i64
  %590 = getelementptr inbounds %struct.complex, ptr %587, i64 %589
  %591 = getelementptr inbounds %struct.complex, ptr %590, i32 0, i32 1
  %592 = load float, ptr %591, align 4, !tbaa !14
  %593 = fmul float %586, %592
  %594 = fneg float %593
  %595 = call float @llvm.fmuladd.f32(float %578, float %584, float %594)
  %596 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %595, ptr %596, align 4, !tbaa !11
  %597 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %598 = load float, ptr %597, align 4, !tbaa !11
  %599 = load ptr, ptr %14, align 8, !tbaa !5
  %600 = load i32, ptr %20, align 4, !tbaa !9
  %601 = sext i32 %600 to i64
  %602 = getelementptr inbounds %struct.complex, ptr %599, i64 %601
  %603 = getelementptr inbounds %struct.complex, ptr %602, i32 0, i32 1
  %604 = load float, ptr %603, align 4, !tbaa !14
  %605 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %606 = load float, ptr %605, align 4, !tbaa !14
  %607 = load ptr, ptr %14, align 8, !tbaa !5
  %608 = load i32, ptr %20, align 4, !tbaa !9
  %609 = sext i32 %608 to i64
  %610 = getelementptr inbounds %struct.complex, ptr %607, i64 %609
  %611 = getelementptr inbounds %struct.complex, ptr %610, i32 0, i32 0
  %612 = load float, ptr %611, align 4, !tbaa !11
  %613 = fmul float %606, %612
  %614 = call float @llvm.fmuladd.f32(float %598, float %604, float %613)
  %615 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %614, ptr %615, align 4, !tbaa !14
  %616 = load i32, ptr %49, align 4, !tbaa !9
  %617 = load i32, ptr %17, align 4, !tbaa !9
  %618 = mul nsw i32 %616, %617
  %619 = add nsw i32 %618, 2
  store i32 %619, ptr %21, align 4, !tbaa !9
  %620 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %621 = load float, ptr %620, align 4, !tbaa !11
  %622 = load ptr, ptr %14, align 8, !tbaa !5
  %623 = load i32, ptr %21, align 4, !tbaa !9
  %624 = sext i32 %623 to i64
  %625 = getelementptr inbounds %struct.complex, ptr %622, i64 %624
  %626 = getelementptr inbounds %struct.complex, ptr %625, i32 0, i32 0
  %627 = load float, ptr %626, align 4, !tbaa !11
  %628 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %629 = load float, ptr %628, align 4, !tbaa !14
  %630 = load ptr, ptr %14, align 8, !tbaa !5
  %631 = load i32, ptr %21, align 4, !tbaa !9
  %632 = sext i32 %631 to i64
  %633 = getelementptr inbounds %struct.complex, ptr %630, i64 %632
  %634 = getelementptr inbounds %struct.complex, ptr %633, i32 0, i32 1
  %635 = load float, ptr %634, align 4, !tbaa !14
  %636 = fmul float %629, %635
  %637 = fneg float %636
  %638 = call float @llvm.fmuladd.f32(float %621, float %627, float %637)
  %639 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %638, ptr %639, align 4, !tbaa !11
  %640 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %641 = load float, ptr %640, align 4, !tbaa !11
  %642 = load ptr, ptr %14, align 8, !tbaa !5
  %643 = load i32, ptr %21, align 4, !tbaa !9
  %644 = sext i32 %643 to i64
  %645 = getelementptr inbounds %struct.complex, ptr %642, i64 %644
  %646 = getelementptr inbounds %struct.complex, ptr %645, i32 0, i32 1
  %647 = load float, ptr %646, align 4, !tbaa !14
  %648 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %649 = load float, ptr %648, align 4, !tbaa !14
  %650 = load ptr, ptr %14, align 8, !tbaa !5
  %651 = load i32, ptr %21, align 4, !tbaa !9
  %652 = sext i32 %651 to i64
  %653 = getelementptr inbounds %struct.complex, ptr %650, i64 %652
  %654 = getelementptr inbounds %struct.complex, ptr %653, i32 0, i32 0
  %655 = load float, ptr %654, align 4, !tbaa !11
  %656 = fmul float %649, %655
  %657 = call float @llvm.fmuladd.f32(float %641, float %647, float %656)
  %658 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %657, ptr %658, align 4, !tbaa !14
  %659 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %660 = load float, ptr %659, align 4, !tbaa !11
  %661 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %662 = load float, ptr %661, align 4, !tbaa !11
  %663 = fadd float %660, %662
  %664 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %663, ptr %664, align 4, !tbaa !11
  %665 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %666 = load float, ptr %665, align 4, !tbaa !14
  %667 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %668 = load float, ptr %667, align 4, !tbaa !14
  %669 = fadd float %666, %668
  %670 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %669, ptr %670, align 4, !tbaa !14
  %671 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %672 = load float, ptr %671, align 4, !tbaa !11
  %673 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %672, ptr %673, align 4, !tbaa !11
  %674 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %675 = load float, ptr %674, align 4, !tbaa !14
  %676 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %675, ptr %676, align 4, !tbaa !14
  %677 = load i32, ptr %49, align 4, !tbaa !9
  %678 = load i32, ptr %17, align 4, !tbaa !9
  %679 = mul nsw i32 %677, %678
  %680 = add nsw i32 %679, 1
  store i32 %680, ptr %20, align 4, !tbaa !9
  %681 = load i32, ptr %49, align 4, !tbaa !9
  %682 = load i32, ptr %17, align 4, !tbaa !9
  %683 = mul nsw i32 %681, %682
  %684 = add nsw i32 %683, 1
  store i32 %684, ptr %21, align 4, !tbaa !9
  %685 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %686 = load float, ptr %685, align 4, !tbaa !11
  %687 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %688 = load float, ptr %687, align 4, !tbaa !11
  %689 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %690 = load float, ptr %689, align 4, !tbaa !14
  %691 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %692 = load float, ptr %691, align 4, !tbaa !14
  %693 = fmul float %690, %692
  %694 = fneg float %693
  %695 = call float @llvm.fmuladd.f32(float %686, float %688, float %694)
  %696 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %695, ptr %696, align 4, !tbaa !11
  %697 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %698 = load float, ptr %697, align 4, !tbaa !11
  %699 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %700 = load float, ptr %699, align 4, !tbaa !14
  %701 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %702 = load float, ptr %701, align 4, !tbaa !14
  %703 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %704 = load float, ptr %703, align 4, !tbaa !11
  %705 = fmul float %702, %704
  %706 = call float @llvm.fmuladd.f32(float %698, float %700, float %705)
  %707 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %706, ptr %707, align 4, !tbaa !14
  %708 = load ptr, ptr %14, align 8, !tbaa !5
  %709 = load i32, ptr %21, align 4, !tbaa !9
  %710 = sext i32 %709 to i64
  %711 = getelementptr inbounds %struct.complex, ptr %708, i64 %710
  %712 = getelementptr inbounds %struct.complex, ptr %711, i32 0, i32 0
  %713 = load float, ptr %712, align 4, !tbaa !11
  %714 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %715 = load float, ptr %714, align 4, !tbaa !11
  %716 = fsub float %713, %715
  %717 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %716, ptr %717, align 4, !tbaa !11
  %718 = load ptr, ptr %14, align 8, !tbaa !5
  %719 = load i32, ptr %21, align 4, !tbaa !9
  %720 = sext i32 %719 to i64
  %721 = getelementptr inbounds %struct.complex, ptr %718, i64 %720
  %722 = getelementptr inbounds %struct.complex, ptr %721, i32 0, i32 1
  %723 = load float, ptr %722, align 4, !tbaa !14
  %724 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %725 = load float, ptr %724, align 4, !tbaa !14
  %726 = fsub float %723, %725
  %727 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %726, ptr %727, align 4, !tbaa !14
  %728 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %729 = load float, ptr %728, align 4, !tbaa !11
  %730 = load ptr, ptr %14, align 8, !tbaa !5
  %731 = load i32, ptr %20, align 4, !tbaa !9
  %732 = sext i32 %731 to i64
  %733 = getelementptr inbounds %struct.complex, ptr %730, i64 %732
  %734 = getelementptr inbounds %struct.complex, ptr %733, i32 0, i32 0
  store float %729, ptr %734, align 4, !tbaa !11
  %735 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %736 = load float, ptr %735, align 4, !tbaa !14
  %737 = load ptr, ptr %14, align 8, !tbaa !5
  %738 = load i32, ptr %20, align 4, !tbaa !9
  %739 = sext i32 %738 to i64
  %740 = getelementptr inbounds %struct.complex, ptr %737, i64 %739
  %741 = getelementptr inbounds %struct.complex, ptr %740, i32 0, i32 1
  store float %736, ptr %741, align 4, !tbaa !14
  %742 = load i32, ptr %49, align 4, !tbaa !9
  %743 = load i32, ptr %17, align 4, !tbaa !9
  %744 = mul nsw i32 %742, %743
  %745 = add nsw i32 %744, 2
  store i32 %745, ptr %20, align 4, !tbaa !9
  %746 = load i32, ptr %49, align 4, !tbaa !9
  %747 = load i32, ptr %17, align 4, !tbaa !9
  %748 = mul nsw i32 %746, %747
  %749 = add nsw i32 %748, 2
  store i32 %749, ptr %21, align 4, !tbaa !9
  %750 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %751 = load float, ptr %750, align 4, !tbaa !11
  %752 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %753 = load float, ptr %752, align 4, !tbaa !11
  %754 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %755 = load float, ptr %754, align 4, !tbaa !14
  %756 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %757 = load float, ptr %756, align 4, !tbaa !14
  %758 = fmul float %755, %757
  %759 = fneg float %758
  %760 = call float @llvm.fmuladd.f32(float %751, float %753, float %759)
  %761 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %760, ptr %761, align 4, !tbaa !11
  %762 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %763 = load float, ptr %762, align 4, !tbaa !11
  %764 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %765 = load float, ptr %764, align 4, !tbaa !14
  %766 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %767 = load float, ptr %766, align 4, !tbaa !14
  %768 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %769 = load float, ptr %768, align 4, !tbaa !11
  %770 = fmul float %767, %769
  %771 = call float @llvm.fmuladd.f32(float %763, float %765, float %770)
  %772 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %771, ptr %772, align 4, !tbaa !14
  %773 = load ptr, ptr %14, align 8, !tbaa !5
  %774 = load i32, ptr %21, align 4, !tbaa !9
  %775 = sext i32 %774 to i64
  %776 = getelementptr inbounds %struct.complex, ptr %773, i64 %775
  %777 = getelementptr inbounds %struct.complex, ptr %776, i32 0, i32 0
  %778 = load float, ptr %777, align 4, !tbaa !11
  %779 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %780 = load float, ptr %779, align 4, !tbaa !11
  %781 = fsub float %778, %780
  %782 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %781, ptr %782, align 4, !tbaa !11
  %783 = load ptr, ptr %14, align 8, !tbaa !5
  %784 = load i32, ptr %21, align 4, !tbaa !9
  %785 = sext i32 %784 to i64
  %786 = getelementptr inbounds %struct.complex, ptr %783, i64 %785
  %787 = getelementptr inbounds %struct.complex, ptr %786, i32 0, i32 1
  %788 = load float, ptr %787, align 4, !tbaa !14
  %789 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %790 = load float, ptr %789, align 4, !tbaa !14
  %791 = fsub float %788, %790
  %792 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %791, ptr %792, align 4, !tbaa !14
  %793 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %794 = load float, ptr %793, align 4, !tbaa !11
  %795 = load ptr, ptr %14, align 8, !tbaa !5
  %796 = load i32, ptr %20, align 4, !tbaa !9
  %797 = sext i32 %796 to i64
  %798 = getelementptr inbounds %struct.complex, ptr %795, i64 %797
  %799 = getelementptr inbounds %struct.complex, ptr %798, i32 0, i32 0
  store float %794, ptr %799, align 4, !tbaa !11
  %800 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %801 = load float, ptr %800, align 4, !tbaa !14
  %802 = load ptr, ptr %14, align 8, !tbaa !5
  %803 = load i32, ptr %20, align 4, !tbaa !9
  %804 = sext i32 %803 to i64
  %805 = getelementptr inbounds %struct.complex, ptr %802, i64 %804
  %806 = getelementptr inbounds %struct.complex, ptr %805, i32 0, i32 1
  store float %801, ptr %806, align 4, !tbaa !14
  br label %807

807:                                              ; preds = %572
  %808 = load i32, ptr %49, align 4, !tbaa !9
  %809 = add nsw i32 %808, 1
  store i32 %809, ptr %49, align 4, !tbaa !9
  br label %568, !llvm.loop !17

810:                                              ; preds = %568
  br label %19663

811:                                              ; preds = %269
  %812 = load ptr, ptr %12, align 8, !tbaa !5
  %813 = getelementptr inbounds %struct.complex, ptr %812, i64 1
  %814 = call <2 x float> @Cf(ptr noundef %813)
  store <2 x float> %814, ptr %77, align 4
  %815 = getelementptr inbounds { float, float }, ptr %77, i32 0, i32 0
  %816 = load float, ptr %815, align 4
  %817 = getelementptr inbounds { float, float }, ptr %77, i32 0, i32 1
  %818 = load float, ptr %817, align 4
  %819 = fneg float %818
  %820 = call ptr @_pCf(ptr noundef %30)
  %821 = getelementptr inbounds { float, float }, ptr %820, i32 0, i32 0
  %822 = getelementptr inbounds { float, float }, ptr %820, i32 0, i32 1
  store float %816, ptr %821, align 4
  store float %819, ptr %822, align 4
  %823 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %824 = load float, ptr %823, align 4, !tbaa !11
  %825 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %824, ptr %825, align 4, !tbaa !11
  %826 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %827 = load float, ptr %826, align 4, !tbaa !14
  %828 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %827, ptr %828, align 4, !tbaa !14
  %829 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %829, ptr %78, align 4
  %830 = getelementptr inbounds { float, float }, ptr %78, i32 0, i32 0
  %831 = load float, ptr %830, align 4
  %832 = getelementptr inbounds { float, float }, ptr %78, i32 0, i32 1
  %833 = load float, ptr %832, align 4
  %834 = fneg float %833
  %835 = call ptr @_pCf(ptr noundef %31)
  %836 = getelementptr inbounds { float, float }, ptr %835, i32 0, i32 0
  %837 = getelementptr inbounds { float, float }, ptr %835, i32 0, i32 1
  store float %831, ptr %836, align 4
  store float %834, ptr %837, align 4
  %838 = load ptr, ptr %13, align 8, !tbaa !5
  %839 = getelementptr inbounds %struct.complex, ptr %838, i32 0, i32 0
  %840 = load float, ptr %839, align 4, !tbaa !11
  %841 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %842 = load float, ptr %841, align 4, !tbaa !11
  %843 = load ptr, ptr %13, align 8, !tbaa !5
  %844 = getelementptr inbounds %struct.complex, ptr %843, i32 0, i32 1
  %845 = load float, ptr %844, align 4, !tbaa !14
  %846 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %847 = load float, ptr %846, align 4, !tbaa !14
  %848 = fmul float %845, %847
  %849 = fneg float %848
  %850 = call float @llvm.fmuladd.f32(float %840, float %842, float %849)
  %851 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %850, ptr %851, align 4, !tbaa !11
  %852 = load ptr, ptr %13, align 8, !tbaa !5
  %853 = getelementptr inbounds %struct.complex, ptr %852, i32 0, i32 0
  %854 = load float, ptr %853, align 4, !tbaa !11
  %855 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %856 = load float, ptr %855, align 4, !tbaa !14
  %857 = load ptr, ptr %13, align 8, !tbaa !5
  %858 = getelementptr inbounds %struct.complex, ptr %857, i32 0, i32 1
  %859 = load float, ptr %858, align 4, !tbaa !14
  %860 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %861 = load float, ptr %860, align 4, !tbaa !11
  %862 = fmul float %859, %861
  %863 = call float @llvm.fmuladd.f32(float %854, float %856, float %862)
  %864 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %863, ptr %864, align 4, !tbaa !14
  %865 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %866 = load float, ptr %865, align 4, !tbaa !11
  %867 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %866, ptr %867, align 4, !tbaa !11
  %868 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %869 = load float, ptr %868, align 4, !tbaa !14
  %870 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %869, ptr %870, align 4, !tbaa !14
  %871 = load ptr, ptr %12, align 8, !tbaa !5
  %872 = getelementptr inbounds %struct.complex, ptr %871, i64 2
  %873 = call <2 x float> @Cf(ptr noundef %872)
  store <2 x float> %873, ptr %79, align 4
  %874 = getelementptr inbounds { float, float }, ptr %79, i32 0, i32 0
  %875 = load float, ptr %874, align 4
  %876 = getelementptr inbounds { float, float }, ptr %79, i32 0, i32 1
  %877 = load float, ptr %876, align 4
  %878 = fneg float %877
  %879 = call ptr @_pCf(ptr noundef %30)
  %880 = getelementptr inbounds { float, float }, ptr %879, i32 0, i32 0
  %881 = getelementptr inbounds { float, float }, ptr %879, i32 0, i32 1
  store float %875, ptr %880, align 4
  store float %878, ptr %881, align 4
  %882 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %883 = load float, ptr %882, align 4, !tbaa !11
  %884 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %883, ptr %884, align 4, !tbaa !11
  %885 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %886 = load float, ptr %885, align 4, !tbaa !14
  %887 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %886, ptr %887, align 4, !tbaa !14
  %888 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %888, ptr %80, align 4
  %889 = getelementptr inbounds { float, float }, ptr %80, i32 0, i32 0
  %890 = load float, ptr %889, align 4
  %891 = getelementptr inbounds { float, float }, ptr %80, i32 0, i32 1
  %892 = load float, ptr %891, align 4
  %893 = fneg float %892
  %894 = call ptr @_pCf(ptr noundef %31)
  %895 = getelementptr inbounds { float, float }, ptr %894, i32 0, i32 0
  %896 = getelementptr inbounds { float, float }, ptr %894, i32 0, i32 1
  store float %890, ptr %895, align 4
  store float %893, ptr %896, align 4
  %897 = load ptr, ptr %13, align 8, !tbaa !5
  %898 = getelementptr inbounds %struct.complex, ptr %897, i32 0, i32 0
  %899 = load float, ptr %898, align 4, !tbaa !11
  %900 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %901 = load float, ptr %900, align 4, !tbaa !11
  %902 = load ptr, ptr %13, align 8, !tbaa !5
  %903 = getelementptr inbounds %struct.complex, ptr %902, i32 0, i32 1
  %904 = load float, ptr %903, align 4, !tbaa !14
  %905 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %906 = load float, ptr %905, align 4, !tbaa !14
  %907 = fmul float %904, %906
  %908 = fneg float %907
  %909 = call float @llvm.fmuladd.f32(float %899, float %901, float %908)
  %910 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %909, ptr %910, align 4, !tbaa !11
  %911 = load ptr, ptr %13, align 8, !tbaa !5
  %912 = getelementptr inbounds %struct.complex, ptr %911, i32 0, i32 0
  %913 = load float, ptr %912, align 4, !tbaa !11
  %914 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %915 = load float, ptr %914, align 4, !tbaa !14
  %916 = load ptr, ptr %13, align 8, !tbaa !5
  %917 = getelementptr inbounds %struct.complex, ptr %916, i32 0, i32 1
  %918 = load float, ptr %917, align 4, !tbaa !14
  %919 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %920 = load float, ptr %919, align 4, !tbaa !11
  %921 = fmul float %918, %920
  %922 = call float @llvm.fmuladd.f32(float %913, float %915, float %921)
  %923 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %922, ptr %923, align 4, !tbaa !14
  %924 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %925 = load float, ptr %924, align 4, !tbaa !11
  %926 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %925, ptr %926, align 4, !tbaa !11
  %927 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %928 = load float, ptr %927, align 4, !tbaa !14
  %929 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %928, ptr %929, align 4, !tbaa !14
  %930 = load ptr, ptr %12, align 8, !tbaa !5
  %931 = getelementptr inbounds %struct.complex, ptr %930, i64 3
  %932 = call <2 x float> @Cf(ptr noundef %931)
  store <2 x float> %932, ptr %81, align 4
  %933 = getelementptr inbounds { float, float }, ptr %81, i32 0, i32 0
  %934 = load float, ptr %933, align 4
  %935 = getelementptr inbounds { float, float }, ptr %81, i32 0, i32 1
  %936 = load float, ptr %935, align 4
  %937 = fneg float %936
  %938 = call ptr @_pCf(ptr noundef %30)
  %939 = getelementptr inbounds { float, float }, ptr %938, i32 0, i32 0
  %940 = getelementptr inbounds { float, float }, ptr %938, i32 0, i32 1
  store float %934, ptr %939, align 4
  store float %937, ptr %940, align 4
  %941 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %942 = load float, ptr %941, align 4, !tbaa !11
  %943 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %942, ptr %943, align 4, !tbaa !11
  %944 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %945 = load float, ptr %944, align 4, !tbaa !14
  %946 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %945, ptr %946, align 4, !tbaa !14
  %947 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %947, ptr %82, align 4
  %948 = getelementptr inbounds { float, float }, ptr %82, i32 0, i32 0
  %949 = load float, ptr %948, align 4
  %950 = getelementptr inbounds { float, float }, ptr %82, i32 0, i32 1
  %951 = load float, ptr %950, align 4
  %952 = fneg float %951
  %953 = call ptr @_pCf(ptr noundef %31)
  %954 = getelementptr inbounds { float, float }, ptr %953, i32 0, i32 0
  %955 = getelementptr inbounds { float, float }, ptr %953, i32 0, i32 1
  store float %949, ptr %954, align 4
  store float %952, ptr %955, align 4
  %956 = load ptr, ptr %13, align 8, !tbaa !5
  %957 = getelementptr inbounds %struct.complex, ptr %956, i32 0, i32 0
  %958 = load float, ptr %957, align 4, !tbaa !11
  %959 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %960 = load float, ptr %959, align 4, !tbaa !11
  %961 = load ptr, ptr %13, align 8, !tbaa !5
  %962 = getelementptr inbounds %struct.complex, ptr %961, i32 0, i32 1
  %963 = load float, ptr %962, align 4, !tbaa !14
  %964 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %965 = load float, ptr %964, align 4, !tbaa !14
  %966 = fmul float %963, %965
  %967 = fneg float %966
  %968 = call float @llvm.fmuladd.f32(float %958, float %960, float %967)
  %969 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %968, ptr %969, align 4, !tbaa !11
  %970 = load ptr, ptr %13, align 8, !tbaa !5
  %971 = getelementptr inbounds %struct.complex, ptr %970, i32 0, i32 0
  %972 = load float, ptr %971, align 4, !tbaa !11
  %973 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %974 = load float, ptr %973, align 4, !tbaa !14
  %975 = load ptr, ptr %13, align 8, !tbaa !5
  %976 = getelementptr inbounds %struct.complex, ptr %975, i32 0, i32 1
  %977 = load float, ptr %976, align 4, !tbaa !14
  %978 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %979 = load float, ptr %978, align 4, !tbaa !11
  %980 = fmul float %977, %979
  %981 = call float @llvm.fmuladd.f32(float %972, float %974, float %980)
  %982 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %981, ptr %982, align 4, !tbaa !14
  %983 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %984 = load float, ptr %983, align 4, !tbaa !11
  %985 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %984, ptr %985, align 4, !tbaa !11
  %986 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %987 = load float, ptr %986, align 4, !tbaa !14
  %988 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %987, ptr %988, align 4, !tbaa !14
  %989 = load ptr, ptr %11, align 8, !tbaa !5
  %990 = load i32, ptr %989, align 4, !tbaa !9
  store i32 %990, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %991

991:                                              ; preds = %1350, %811
  %992 = load i32, ptr %49, align 4, !tbaa !9
  %993 = load i32, ptr %19, align 4, !tbaa !9
  %994 = icmp sle i32 %992, %993
  br i1 %994, label %995, label %1353

995:                                              ; preds = %991
  %996 = load i32, ptr %49, align 4, !tbaa !9
  %997 = load i32, ptr %17, align 4, !tbaa !9
  %998 = mul nsw i32 %996, %997
  %999 = add nsw i32 %998, 1
  store i32 %999, ptr %20, align 4, !tbaa !9
  %1000 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %1001 = load float, ptr %1000, align 4, !tbaa !11
  %1002 = load ptr, ptr %14, align 8, !tbaa !5
  %1003 = load i32, ptr %20, align 4, !tbaa !9
  %1004 = sext i32 %1003 to i64
  %1005 = getelementptr inbounds %struct.complex, ptr %1002, i64 %1004
  %1006 = getelementptr inbounds %struct.complex, ptr %1005, i32 0, i32 0
  %1007 = load float, ptr %1006, align 4, !tbaa !11
  %1008 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %1009 = load float, ptr %1008, align 4, !tbaa !14
  %1010 = load ptr, ptr %14, align 8, !tbaa !5
  %1011 = load i32, ptr %20, align 4, !tbaa !9
  %1012 = sext i32 %1011 to i64
  %1013 = getelementptr inbounds %struct.complex, ptr %1010, i64 %1012
  %1014 = getelementptr inbounds %struct.complex, ptr %1013, i32 0, i32 1
  %1015 = load float, ptr %1014, align 4, !tbaa !14
  %1016 = fmul float %1009, %1015
  %1017 = fneg float %1016
  %1018 = call float @llvm.fmuladd.f32(float %1001, float %1007, float %1017)
  %1019 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %1018, ptr %1019, align 4, !tbaa !11
  %1020 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %1021 = load float, ptr %1020, align 4, !tbaa !11
  %1022 = load ptr, ptr %14, align 8, !tbaa !5
  %1023 = load i32, ptr %20, align 4, !tbaa !9
  %1024 = sext i32 %1023 to i64
  %1025 = getelementptr inbounds %struct.complex, ptr %1022, i64 %1024
  %1026 = getelementptr inbounds %struct.complex, ptr %1025, i32 0, i32 1
  %1027 = load float, ptr %1026, align 4, !tbaa !14
  %1028 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %1029 = load float, ptr %1028, align 4, !tbaa !14
  %1030 = load ptr, ptr %14, align 8, !tbaa !5
  %1031 = load i32, ptr %20, align 4, !tbaa !9
  %1032 = sext i32 %1031 to i64
  %1033 = getelementptr inbounds %struct.complex, ptr %1030, i64 %1032
  %1034 = getelementptr inbounds %struct.complex, ptr %1033, i32 0, i32 0
  %1035 = load float, ptr %1034, align 4, !tbaa !11
  %1036 = fmul float %1029, %1035
  %1037 = call float @llvm.fmuladd.f32(float %1021, float %1027, float %1036)
  %1038 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1037, ptr %1038, align 4, !tbaa !14
  %1039 = load i32, ptr %49, align 4, !tbaa !9
  %1040 = load i32, ptr %17, align 4, !tbaa !9
  %1041 = mul nsw i32 %1039, %1040
  %1042 = add nsw i32 %1041, 2
  store i32 %1042, ptr %21, align 4, !tbaa !9
  %1043 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1044 = load float, ptr %1043, align 4, !tbaa !11
  %1045 = load ptr, ptr %14, align 8, !tbaa !5
  %1046 = load i32, ptr %21, align 4, !tbaa !9
  %1047 = sext i32 %1046 to i64
  %1048 = getelementptr inbounds %struct.complex, ptr %1045, i64 %1047
  %1049 = getelementptr inbounds %struct.complex, ptr %1048, i32 0, i32 0
  %1050 = load float, ptr %1049, align 4, !tbaa !11
  %1051 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1052 = load float, ptr %1051, align 4, !tbaa !14
  %1053 = load ptr, ptr %14, align 8, !tbaa !5
  %1054 = load i32, ptr %21, align 4, !tbaa !9
  %1055 = sext i32 %1054 to i64
  %1056 = getelementptr inbounds %struct.complex, ptr %1053, i64 %1055
  %1057 = getelementptr inbounds %struct.complex, ptr %1056, i32 0, i32 1
  %1058 = load float, ptr %1057, align 4, !tbaa !14
  %1059 = fmul float %1052, %1058
  %1060 = fneg float %1059
  %1061 = call float @llvm.fmuladd.f32(float %1044, float %1050, float %1060)
  %1062 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %1061, ptr %1062, align 4, !tbaa !11
  %1063 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1064 = load float, ptr %1063, align 4, !tbaa !11
  %1065 = load ptr, ptr %14, align 8, !tbaa !5
  %1066 = load i32, ptr %21, align 4, !tbaa !9
  %1067 = sext i32 %1066 to i64
  %1068 = getelementptr inbounds %struct.complex, ptr %1065, i64 %1067
  %1069 = getelementptr inbounds %struct.complex, ptr %1068, i32 0, i32 1
  %1070 = load float, ptr %1069, align 4, !tbaa !14
  %1071 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1072 = load float, ptr %1071, align 4, !tbaa !14
  %1073 = load ptr, ptr %14, align 8, !tbaa !5
  %1074 = load i32, ptr %21, align 4, !tbaa !9
  %1075 = sext i32 %1074 to i64
  %1076 = getelementptr inbounds %struct.complex, ptr %1073, i64 %1075
  %1077 = getelementptr inbounds %struct.complex, ptr %1076, i32 0, i32 0
  %1078 = load float, ptr %1077, align 4, !tbaa !11
  %1079 = fmul float %1072, %1078
  %1080 = call float @llvm.fmuladd.f32(float %1064, float %1070, float %1079)
  %1081 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %1080, ptr %1081, align 4, !tbaa !14
  %1082 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1083 = load float, ptr %1082, align 4, !tbaa !11
  %1084 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %1085 = load float, ptr %1084, align 4, !tbaa !11
  %1086 = fadd float %1083, %1085
  %1087 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1086, ptr %1087, align 4, !tbaa !11
  %1088 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1089 = load float, ptr %1088, align 4, !tbaa !14
  %1090 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %1091 = load float, ptr %1090, align 4, !tbaa !14
  %1092 = fadd float %1089, %1091
  %1093 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1092, ptr %1093, align 4, !tbaa !14
  %1094 = load i32, ptr %49, align 4, !tbaa !9
  %1095 = load i32, ptr %17, align 4, !tbaa !9
  %1096 = mul nsw i32 %1094, %1095
  %1097 = add nsw i32 %1096, 3
  store i32 %1097, ptr %22, align 4, !tbaa !9
  %1098 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1099 = load float, ptr %1098, align 4, !tbaa !11
  %1100 = load ptr, ptr %14, align 8, !tbaa !5
  %1101 = load i32, ptr %22, align 4, !tbaa !9
  %1102 = sext i32 %1101 to i64
  %1103 = getelementptr inbounds %struct.complex, ptr %1100, i64 %1102
  %1104 = getelementptr inbounds %struct.complex, ptr %1103, i32 0, i32 0
  %1105 = load float, ptr %1104, align 4, !tbaa !11
  %1106 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1107 = load float, ptr %1106, align 4, !tbaa !14
  %1108 = load ptr, ptr %14, align 8, !tbaa !5
  %1109 = load i32, ptr %22, align 4, !tbaa !9
  %1110 = sext i32 %1109 to i64
  %1111 = getelementptr inbounds %struct.complex, ptr %1108, i64 %1110
  %1112 = getelementptr inbounds %struct.complex, ptr %1111, i32 0, i32 1
  %1113 = load float, ptr %1112, align 4, !tbaa !14
  %1114 = fmul float %1107, %1113
  %1115 = fneg float %1114
  %1116 = call float @llvm.fmuladd.f32(float %1099, float %1105, float %1115)
  %1117 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %1116, ptr %1117, align 4, !tbaa !11
  %1118 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1119 = load float, ptr %1118, align 4, !tbaa !11
  %1120 = load ptr, ptr %14, align 8, !tbaa !5
  %1121 = load i32, ptr %22, align 4, !tbaa !9
  %1122 = sext i32 %1121 to i64
  %1123 = getelementptr inbounds %struct.complex, ptr %1120, i64 %1122
  %1124 = getelementptr inbounds %struct.complex, ptr %1123, i32 0, i32 1
  %1125 = load float, ptr %1124, align 4, !tbaa !14
  %1126 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1127 = load float, ptr %1126, align 4, !tbaa !14
  %1128 = load ptr, ptr %14, align 8, !tbaa !5
  %1129 = load i32, ptr %22, align 4, !tbaa !9
  %1130 = sext i32 %1129 to i64
  %1131 = getelementptr inbounds %struct.complex, ptr %1128, i64 %1130
  %1132 = getelementptr inbounds %struct.complex, ptr %1131, i32 0, i32 0
  %1133 = load float, ptr %1132, align 4, !tbaa !11
  %1134 = fmul float %1127, %1133
  %1135 = call float @llvm.fmuladd.f32(float %1119, float %1125, float %1134)
  %1136 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %1135, ptr %1136, align 4, !tbaa !14
  %1137 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1138 = load float, ptr %1137, align 4, !tbaa !11
  %1139 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %1140 = load float, ptr %1139, align 4, !tbaa !11
  %1141 = fadd float %1138, %1140
  %1142 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1141, ptr %1142, align 4, !tbaa !11
  %1143 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1144 = load float, ptr %1143, align 4, !tbaa !14
  %1145 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %1146 = load float, ptr %1145, align 4, !tbaa !14
  %1147 = fadd float %1144, %1146
  %1148 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1147, ptr %1148, align 4, !tbaa !14
  %1149 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1150 = load float, ptr %1149, align 4, !tbaa !11
  %1151 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %1150, ptr %1151, align 4, !tbaa !11
  %1152 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1153 = load float, ptr %1152, align 4, !tbaa !14
  %1154 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %1153, ptr %1154, align 4, !tbaa !14
  %1155 = load i32, ptr %49, align 4, !tbaa !9
  %1156 = load i32, ptr %17, align 4, !tbaa !9
  %1157 = mul nsw i32 %1155, %1156
  %1158 = add nsw i32 %1157, 1
  store i32 %1158, ptr %20, align 4, !tbaa !9
  %1159 = load i32, ptr %49, align 4, !tbaa !9
  %1160 = load i32, ptr %17, align 4, !tbaa !9
  %1161 = mul nsw i32 %1159, %1160
  %1162 = add nsw i32 %1161, 1
  store i32 %1162, ptr %21, align 4, !tbaa !9
  %1163 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1164 = load float, ptr %1163, align 4, !tbaa !11
  %1165 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %1166 = load float, ptr %1165, align 4, !tbaa !11
  %1167 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1168 = load float, ptr %1167, align 4, !tbaa !14
  %1169 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %1170 = load float, ptr %1169, align 4, !tbaa !14
  %1171 = fmul float %1168, %1170
  %1172 = fneg float %1171
  %1173 = call float @llvm.fmuladd.f32(float %1164, float %1166, float %1172)
  %1174 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1173, ptr %1174, align 4, !tbaa !11
  %1175 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1176 = load float, ptr %1175, align 4, !tbaa !11
  %1177 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %1178 = load float, ptr %1177, align 4, !tbaa !14
  %1179 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1180 = load float, ptr %1179, align 4, !tbaa !14
  %1181 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %1182 = load float, ptr %1181, align 4, !tbaa !11
  %1183 = fmul float %1180, %1182
  %1184 = call float @llvm.fmuladd.f32(float %1176, float %1178, float %1183)
  %1185 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1184, ptr %1185, align 4, !tbaa !14
  %1186 = load ptr, ptr %14, align 8, !tbaa !5
  %1187 = load i32, ptr %21, align 4, !tbaa !9
  %1188 = sext i32 %1187 to i64
  %1189 = getelementptr inbounds %struct.complex, ptr %1186, i64 %1188
  %1190 = getelementptr inbounds %struct.complex, ptr %1189, i32 0, i32 0
  %1191 = load float, ptr %1190, align 4, !tbaa !11
  %1192 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1193 = load float, ptr %1192, align 4, !tbaa !11
  %1194 = fsub float %1191, %1193
  %1195 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1194, ptr %1195, align 4, !tbaa !11
  %1196 = load ptr, ptr %14, align 8, !tbaa !5
  %1197 = load i32, ptr %21, align 4, !tbaa !9
  %1198 = sext i32 %1197 to i64
  %1199 = getelementptr inbounds %struct.complex, ptr %1196, i64 %1198
  %1200 = getelementptr inbounds %struct.complex, ptr %1199, i32 0, i32 1
  %1201 = load float, ptr %1200, align 4, !tbaa !14
  %1202 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1203 = load float, ptr %1202, align 4, !tbaa !14
  %1204 = fsub float %1201, %1203
  %1205 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1204, ptr %1205, align 4, !tbaa !14
  %1206 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1207 = load float, ptr %1206, align 4, !tbaa !11
  %1208 = load ptr, ptr %14, align 8, !tbaa !5
  %1209 = load i32, ptr %20, align 4, !tbaa !9
  %1210 = sext i32 %1209 to i64
  %1211 = getelementptr inbounds %struct.complex, ptr %1208, i64 %1210
  %1212 = getelementptr inbounds %struct.complex, ptr %1211, i32 0, i32 0
  store float %1207, ptr %1212, align 4, !tbaa !11
  %1213 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1214 = load float, ptr %1213, align 4, !tbaa !14
  %1215 = load ptr, ptr %14, align 8, !tbaa !5
  %1216 = load i32, ptr %20, align 4, !tbaa !9
  %1217 = sext i32 %1216 to i64
  %1218 = getelementptr inbounds %struct.complex, ptr %1215, i64 %1217
  %1219 = getelementptr inbounds %struct.complex, ptr %1218, i32 0, i32 1
  store float %1214, ptr %1219, align 4, !tbaa !14
  %1220 = load i32, ptr %49, align 4, !tbaa !9
  %1221 = load i32, ptr %17, align 4, !tbaa !9
  %1222 = mul nsw i32 %1220, %1221
  %1223 = add nsw i32 %1222, 2
  store i32 %1223, ptr %20, align 4, !tbaa !9
  %1224 = load i32, ptr %49, align 4, !tbaa !9
  %1225 = load i32, ptr %17, align 4, !tbaa !9
  %1226 = mul nsw i32 %1224, %1225
  %1227 = add nsw i32 %1226, 2
  store i32 %1227, ptr %21, align 4, !tbaa !9
  %1228 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1229 = load float, ptr %1228, align 4, !tbaa !11
  %1230 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %1231 = load float, ptr %1230, align 4, !tbaa !11
  %1232 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1233 = load float, ptr %1232, align 4, !tbaa !14
  %1234 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %1235 = load float, ptr %1234, align 4, !tbaa !14
  %1236 = fmul float %1233, %1235
  %1237 = fneg float %1236
  %1238 = call float @llvm.fmuladd.f32(float %1229, float %1231, float %1237)
  %1239 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1238, ptr %1239, align 4, !tbaa !11
  %1240 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1241 = load float, ptr %1240, align 4, !tbaa !11
  %1242 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %1243 = load float, ptr %1242, align 4, !tbaa !14
  %1244 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1245 = load float, ptr %1244, align 4, !tbaa !14
  %1246 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %1247 = load float, ptr %1246, align 4, !tbaa !11
  %1248 = fmul float %1245, %1247
  %1249 = call float @llvm.fmuladd.f32(float %1241, float %1243, float %1248)
  %1250 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1249, ptr %1250, align 4, !tbaa !14
  %1251 = load ptr, ptr %14, align 8, !tbaa !5
  %1252 = load i32, ptr %21, align 4, !tbaa !9
  %1253 = sext i32 %1252 to i64
  %1254 = getelementptr inbounds %struct.complex, ptr %1251, i64 %1253
  %1255 = getelementptr inbounds %struct.complex, ptr %1254, i32 0, i32 0
  %1256 = load float, ptr %1255, align 4, !tbaa !11
  %1257 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1258 = load float, ptr %1257, align 4, !tbaa !11
  %1259 = fsub float %1256, %1258
  %1260 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1259, ptr %1260, align 4, !tbaa !11
  %1261 = load ptr, ptr %14, align 8, !tbaa !5
  %1262 = load i32, ptr %21, align 4, !tbaa !9
  %1263 = sext i32 %1262 to i64
  %1264 = getelementptr inbounds %struct.complex, ptr %1261, i64 %1263
  %1265 = getelementptr inbounds %struct.complex, ptr %1264, i32 0, i32 1
  %1266 = load float, ptr %1265, align 4, !tbaa !14
  %1267 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1268 = load float, ptr %1267, align 4, !tbaa !14
  %1269 = fsub float %1266, %1268
  %1270 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1269, ptr %1270, align 4, !tbaa !14
  %1271 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1272 = load float, ptr %1271, align 4, !tbaa !11
  %1273 = load ptr, ptr %14, align 8, !tbaa !5
  %1274 = load i32, ptr %20, align 4, !tbaa !9
  %1275 = sext i32 %1274 to i64
  %1276 = getelementptr inbounds %struct.complex, ptr %1273, i64 %1275
  %1277 = getelementptr inbounds %struct.complex, ptr %1276, i32 0, i32 0
  store float %1272, ptr %1277, align 4, !tbaa !11
  %1278 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1279 = load float, ptr %1278, align 4, !tbaa !14
  %1280 = load ptr, ptr %14, align 8, !tbaa !5
  %1281 = load i32, ptr %20, align 4, !tbaa !9
  %1282 = sext i32 %1281 to i64
  %1283 = getelementptr inbounds %struct.complex, ptr %1280, i64 %1282
  %1284 = getelementptr inbounds %struct.complex, ptr %1283, i32 0, i32 1
  store float %1279, ptr %1284, align 4, !tbaa !14
  %1285 = load i32, ptr %49, align 4, !tbaa !9
  %1286 = load i32, ptr %17, align 4, !tbaa !9
  %1287 = mul nsw i32 %1285, %1286
  %1288 = add nsw i32 %1287, 3
  store i32 %1288, ptr %20, align 4, !tbaa !9
  %1289 = load i32, ptr %49, align 4, !tbaa !9
  %1290 = load i32, ptr %17, align 4, !tbaa !9
  %1291 = mul nsw i32 %1289, %1290
  %1292 = add nsw i32 %1291, 3
  store i32 %1292, ptr %21, align 4, !tbaa !9
  %1293 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1294 = load float, ptr %1293, align 4, !tbaa !11
  %1295 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1296 = load float, ptr %1295, align 4, !tbaa !11
  %1297 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1298 = load float, ptr %1297, align 4, !tbaa !14
  %1299 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1300 = load float, ptr %1299, align 4, !tbaa !14
  %1301 = fmul float %1298, %1300
  %1302 = fneg float %1301
  %1303 = call float @llvm.fmuladd.f32(float %1294, float %1296, float %1302)
  %1304 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1303, ptr %1304, align 4, !tbaa !11
  %1305 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1306 = load float, ptr %1305, align 4, !tbaa !11
  %1307 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1308 = load float, ptr %1307, align 4, !tbaa !14
  %1309 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1310 = load float, ptr %1309, align 4, !tbaa !14
  %1311 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1312 = load float, ptr %1311, align 4, !tbaa !11
  %1313 = fmul float %1310, %1312
  %1314 = call float @llvm.fmuladd.f32(float %1306, float %1308, float %1313)
  %1315 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1314, ptr %1315, align 4, !tbaa !14
  %1316 = load ptr, ptr %14, align 8, !tbaa !5
  %1317 = load i32, ptr %21, align 4, !tbaa !9
  %1318 = sext i32 %1317 to i64
  %1319 = getelementptr inbounds %struct.complex, ptr %1316, i64 %1318
  %1320 = getelementptr inbounds %struct.complex, ptr %1319, i32 0, i32 0
  %1321 = load float, ptr %1320, align 4, !tbaa !11
  %1322 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1323 = load float, ptr %1322, align 4, !tbaa !11
  %1324 = fsub float %1321, %1323
  %1325 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1324, ptr %1325, align 4, !tbaa !11
  %1326 = load ptr, ptr %14, align 8, !tbaa !5
  %1327 = load i32, ptr %21, align 4, !tbaa !9
  %1328 = sext i32 %1327 to i64
  %1329 = getelementptr inbounds %struct.complex, ptr %1326, i64 %1328
  %1330 = getelementptr inbounds %struct.complex, ptr %1329, i32 0, i32 1
  %1331 = load float, ptr %1330, align 4, !tbaa !14
  %1332 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1333 = load float, ptr %1332, align 4, !tbaa !14
  %1334 = fsub float %1331, %1333
  %1335 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1334, ptr %1335, align 4, !tbaa !14
  %1336 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1337 = load float, ptr %1336, align 4, !tbaa !11
  %1338 = load ptr, ptr %14, align 8, !tbaa !5
  %1339 = load i32, ptr %20, align 4, !tbaa !9
  %1340 = sext i32 %1339 to i64
  %1341 = getelementptr inbounds %struct.complex, ptr %1338, i64 %1340
  %1342 = getelementptr inbounds %struct.complex, ptr %1341, i32 0, i32 0
  store float %1337, ptr %1342, align 4, !tbaa !11
  %1343 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1344 = load float, ptr %1343, align 4, !tbaa !14
  %1345 = load ptr, ptr %14, align 8, !tbaa !5
  %1346 = load i32, ptr %20, align 4, !tbaa !9
  %1347 = sext i32 %1346 to i64
  %1348 = getelementptr inbounds %struct.complex, ptr %1345, i64 %1347
  %1349 = getelementptr inbounds %struct.complex, ptr %1348, i32 0, i32 1
  store float %1344, ptr %1349, align 4, !tbaa !14
  br label %1350

1350:                                             ; preds = %995
  %1351 = load i32, ptr %49, align 4, !tbaa !9
  %1352 = add nsw i32 %1351, 1
  store i32 %1352, ptr %49, align 4, !tbaa !9
  br label %991, !llvm.loop !18

1353:                                             ; preds = %991
  br label %19663

1354:                                             ; preds = %270
  %1355 = load ptr, ptr %12, align 8, !tbaa !5
  %1356 = getelementptr inbounds %struct.complex, ptr %1355, i64 1
  %1357 = call <2 x float> @Cf(ptr noundef %1356)
  store <2 x float> %1357, ptr %83, align 4
  %1358 = getelementptr inbounds { float, float }, ptr %83, i32 0, i32 0
  %1359 = load float, ptr %1358, align 4
  %1360 = getelementptr inbounds { float, float }, ptr %83, i32 0, i32 1
  %1361 = load float, ptr %1360, align 4
  %1362 = fneg float %1361
  %1363 = call ptr @_pCf(ptr noundef %30)
  %1364 = getelementptr inbounds { float, float }, ptr %1363, i32 0, i32 0
  %1365 = getelementptr inbounds { float, float }, ptr %1363, i32 0, i32 1
  store float %1359, ptr %1364, align 4
  store float %1362, ptr %1365, align 4
  %1366 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1367 = load float, ptr %1366, align 4, !tbaa !11
  %1368 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %1367, ptr %1368, align 4, !tbaa !11
  %1369 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1370 = load float, ptr %1369, align 4, !tbaa !14
  %1371 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %1370, ptr %1371, align 4, !tbaa !14
  %1372 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %1372, ptr %84, align 4
  %1373 = getelementptr inbounds { float, float }, ptr %84, i32 0, i32 0
  %1374 = load float, ptr %1373, align 4
  %1375 = getelementptr inbounds { float, float }, ptr %84, i32 0, i32 1
  %1376 = load float, ptr %1375, align 4
  %1377 = fneg float %1376
  %1378 = call ptr @_pCf(ptr noundef %31)
  %1379 = getelementptr inbounds { float, float }, ptr %1378, i32 0, i32 0
  %1380 = getelementptr inbounds { float, float }, ptr %1378, i32 0, i32 1
  store float %1374, ptr %1379, align 4
  store float %1377, ptr %1380, align 4
  %1381 = load ptr, ptr %13, align 8, !tbaa !5
  %1382 = getelementptr inbounds %struct.complex, ptr %1381, i32 0, i32 0
  %1383 = load float, ptr %1382, align 4, !tbaa !11
  %1384 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1385 = load float, ptr %1384, align 4, !tbaa !11
  %1386 = load ptr, ptr %13, align 8, !tbaa !5
  %1387 = getelementptr inbounds %struct.complex, ptr %1386, i32 0, i32 1
  %1388 = load float, ptr %1387, align 4, !tbaa !14
  %1389 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1390 = load float, ptr %1389, align 4, !tbaa !14
  %1391 = fmul float %1388, %1390
  %1392 = fneg float %1391
  %1393 = call float @llvm.fmuladd.f32(float %1383, float %1385, float %1392)
  %1394 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1393, ptr %1394, align 4, !tbaa !11
  %1395 = load ptr, ptr %13, align 8, !tbaa !5
  %1396 = getelementptr inbounds %struct.complex, ptr %1395, i32 0, i32 0
  %1397 = load float, ptr %1396, align 4, !tbaa !11
  %1398 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1399 = load float, ptr %1398, align 4, !tbaa !14
  %1400 = load ptr, ptr %13, align 8, !tbaa !5
  %1401 = getelementptr inbounds %struct.complex, ptr %1400, i32 0, i32 1
  %1402 = load float, ptr %1401, align 4, !tbaa !14
  %1403 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1404 = load float, ptr %1403, align 4, !tbaa !11
  %1405 = fmul float %1402, %1404
  %1406 = call float @llvm.fmuladd.f32(float %1397, float %1399, float %1405)
  %1407 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1406, ptr %1407, align 4, !tbaa !14
  %1408 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1409 = load float, ptr %1408, align 4, !tbaa !11
  %1410 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %1409, ptr %1410, align 4, !tbaa !11
  %1411 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1412 = load float, ptr %1411, align 4, !tbaa !14
  %1413 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %1412, ptr %1413, align 4, !tbaa !14
  %1414 = load ptr, ptr %12, align 8, !tbaa !5
  %1415 = getelementptr inbounds %struct.complex, ptr %1414, i64 2
  %1416 = call <2 x float> @Cf(ptr noundef %1415)
  store <2 x float> %1416, ptr %85, align 4
  %1417 = getelementptr inbounds { float, float }, ptr %85, i32 0, i32 0
  %1418 = load float, ptr %1417, align 4
  %1419 = getelementptr inbounds { float, float }, ptr %85, i32 0, i32 1
  %1420 = load float, ptr %1419, align 4
  %1421 = fneg float %1420
  %1422 = call ptr @_pCf(ptr noundef %30)
  %1423 = getelementptr inbounds { float, float }, ptr %1422, i32 0, i32 0
  %1424 = getelementptr inbounds { float, float }, ptr %1422, i32 0, i32 1
  store float %1418, ptr %1423, align 4
  store float %1421, ptr %1424, align 4
  %1425 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1426 = load float, ptr %1425, align 4, !tbaa !11
  %1427 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %1426, ptr %1427, align 4, !tbaa !11
  %1428 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1429 = load float, ptr %1428, align 4, !tbaa !14
  %1430 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %1429, ptr %1430, align 4, !tbaa !14
  %1431 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %1431, ptr %86, align 4
  %1432 = getelementptr inbounds { float, float }, ptr %86, i32 0, i32 0
  %1433 = load float, ptr %1432, align 4
  %1434 = getelementptr inbounds { float, float }, ptr %86, i32 0, i32 1
  %1435 = load float, ptr %1434, align 4
  %1436 = fneg float %1435
  %1437 = call ptr @_pCf(ptr noundef %31)
  %1438 = getelementptr inbounds { float, float }, ptr %1437, i32 0, i32 0
  %1439 = getelementptr inbounds { float, float }, ptr %1437, i32 0, i32 1
  store float %1433, ptr %1438, align 4
  store float %1436, ptr %1439, align 4
  %1440 = load ptr, ptr %13, align 8, !tbaa !5
  %1441 = getelementptr inbounds %struct.complex, ptr %1440, i32 0, i32 0
  %1442 = load float, ptr %1441, align 4, !tbaa !11
  %1443 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1444 = load float, ptr %1443, align 4, !tbaa !11
  %1445 = load ptr, ptr %13, align 8, !tbaa !5
  %1446 = getelementptr inbounds %struct.complex, ptr %1445, i32 0, i32 1
  %1447 = load float, ptr %1446, align 4, !tbaa !14
  %1448 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1449 = load float, ptr %1448, align 4, !tbaa !14
  %1450 = fmul float %1447, %1449
  %1451 = fneg float %1450
  %1452 = call float @llvm.fmuladd.f32(float %1442, float %1444, float %1451)
  %1453 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1452, ptr %1453, align 4, !tbaa !11
  %1454 = load ptr, ptr %13, align 8, !tbaa !5
  %1455 = getelementptr inbounds %struct.complex, ptr %1454, i32 0, i32 0
  %1456 = load float, ptr %1455, align 4, !tbaa !11
  %1457 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1458 = load float, ptr %1457, align 4, !tbaa !14
  %1459 = load ptr, ptr %13, align 8, !tbaa !5
  %1460 = getelementptr inbounds %struct.complex, ptr %1459, i32 0, i32 1
  %1461 = load float, ptr %1460, align 4, !tbaa !14
  %1462 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1463 = load float, ptr %1462, align 4, !tbaa !11
  %1464 = fmul float %1461, %1463
  %1465 = call float @llvm.fmuladd.f32(float %1456, float %1458, float %1464)
  %1466 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1465, ptr %1466, align 4, !tbaa !14
  %1467 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1468 = load float, ptr %1467, align 4, !tbaa !11
  %1469 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %1468, ptr %1469, align 4, !tbaa !11
  %1470 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1471 = load float, ptr %1470, align 4, !tbaa !14
  %1472 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %1471, ptr %1472, align 4, !tbaa !14
  %1473 = load ptr, ptr %12, align 8, !tbaa !5
  %1474 = getelementptr inbounds %struct.complex, ptr %1473, i64 3
  %1475 = call <2 x float> @Cf(ptr noundef %1474)
  store <2 x float> %1475, ptr %87, align 4
  %1476 = getelementptr inbounds { float, float }, ptr %87, i32 0, i32 0
  %1477 = load float, ptr %1476, align 4
  %1478 = getelementptr inbounds { float, float }, ptr %87, i32 0, i32 1
  %1479 = load float, ptr %1478, align 4
  %1480 = fneg float %1479
  %1481 = call ptr @_pCf(ptr noundef %30)
  %1482 = getelementptr inbounds { float, float }, ptr %1481, i32 0, i32 0
  %1483 = getelementptr inbounds { float, float }, ptr %1481, i32 0, i32 1
  store float %1477, ptr %1482, align 4
  store float %1480, ptr %1483, align 4
  %1484 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1485 = load float, ptr %1484, align 4, !tbaa !11
  %1486 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %1485, ptr %1486, align 4, !tbaa !11
  %1487 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1488 = load float, ptr %1487, align 4, !tbaa !14
  %1489 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %1488, ptr %1489, align 4, !tbaa !14
  %1490 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %1490, ptr %88, align 4
  %1491 = getelementptr inbounds { float, float }, ptr %88, i32 0, i32 0
  %1492 = load float, ptr %1491, align 4
  %1493 = getelementptr inbounds { float, float }, ptr %88, i32 0, i32 1
  %1494 = load float, ptr %1493, align 4
  %1495 = fneg float %1494
  %1496 = call ptr @_pCf(ptr noundef %31)
  %1497 = getelementptr inbounds { float, float }, ptr %1496, i32 0, i32 0
  %1498 = getelementptr inbounds { float, float }, ptr %1496, i32 0, i32 1
  store float %1492, ptr %1497, align 4
  store float %1495, ptr %1498, align 4
  %1499 = load ptr, ptr %13, align 8, !tbaa !5
  %1500 = getelementptr inbounds %struct.complex, ptr %1499, i32 0, i32 0
  %1501 = load float, ptr %1500, align 4, !tbaa !11
  %1502 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1503 = load float, ptr %1502, align 4, !tbaa !11
  %1504 = load ptr, ptr %13, align 8, !tbaa !5
  %1505 = getelementptr inbounds %struct.complex, ptr %1504, i32 0, i32 1
  %1506 = load float, ptr %1505, align 4, !tbaa !14
  %1507 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1508 = load float, ptr %1507, align 4, !tbaa !14
  %1509 = fmul float %1506, %1508
  %1510 = fneg float %1509
  %1511 = call float @llvm.fmuladd.f32(float %1501, float %1503, float %1510)
  %1512 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1511, ptr %1512, align 4, !tbaa !11
  %1513 = load ptr, ptr %13, align 8, !tbaa !5
  %1514 = getelementptr inbounds %struct.complex, ptr %1513, i32 0, i32 0
  %1515 = load float, ptr %1514, align 4, !tbaa !11
  %1516 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1517 = load float, ptr %1516, align 4, !tbaa !14
  %1518 = load ptr, ptr %13, align 8, !tbaa !5
  %1519 = getelementptr inbounds %struct.complex, ptr %1518, i32 0, i32 1
  %1520 = load float, ptr %1519, align 4, !tbaa !14
  %1521 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1522 = load float, ptr %1521, align 4, !tbaa !11
  %1523 = fmul float %1520, %1522
  %1524 = call float @llvm.fmuladd.f32(float %1515, float %1517, float %1523)
  %1525 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1524, ptr %1525, align 4, !tbaa !14
  %1526 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1527 = load float, ptr %1526, align 4, !tbaa !11
  %1528 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %1527, ptr %1528, align 4, !tbaa !11
  %1529 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1530 = load float, ptr %1529, align 4, !tbaa !14
  %1531 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %1530, ptr %1531, align 4, !tbaa !14
  %1532 = load ptr, ptr %12, align 8, !tbaa !5
  %1533 = getelementptr inbounds %struct.complex, ptr %1532, i64 4
  %1534 = call <2 x float> @Cf(ptr noundef %1533)
  store <2 x float> %1534, ptr %89, align 4
  %1535 = getelementptr inbounds { float, float }, ptr %89, i32 0, i32 0
  %1536 = load float, ptr %1535, align 4
  %1537 = getelementptr inbounds { float, float }, ptr %89, i32 0, i32 1
  %1538 = load float, ptr %1537, align 4
  %1539 = fneg float %1538
  %1540 = call ptr @_pCf(ptr noundef %30)
  %1541 = getelementptr inbounds { float, float }, ptr %1540, i32 0, i32 0
  %1542 = getelementptr inbounds { float, float }, ptr %1540, i32 0, i32 1
  store float %1536, ptr %1541, align 4
  store float %1539, ptr %1542, align 4
  %1543 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1544 = load float, ptr %1543, align 4, !tbaa !11
  %1545 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %1544, ptr %1545, align 4, !tbaa !11
  %1546 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1547 = load float, ptr %1546, align 4, !tbaa !14
  %1548 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %1547, ptr %1548, align 4, !tbaa !14
  %1549 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %1549, ptr %90, align 4
  %1550 = getelementptr inbounds { float, float }, ptr %90, i32 0, i32 0
  %1551 = load float, ptr %1550, align 4
  %1552 = getelementptr inbounds { float, float }, ptr %90, i32 0, i32 1
  %1553 = load float, ptr %1552, align 4
  %1554 = fneg float %1553
  %1555 = call ptr @_pCf(ptr noundef %31)
  %1556 = getelementptr inbounds { float, float }, ptr %1555, i32 0, i32 0
  %1557 = getelementptr inbounds { float, float }, ptr %1555, i32 0, i32 1
  store float %1551, ptr %1556, align 4
  store float %1554, ptr %1557, align 4
  %1558 = load ptr, ptr %13, align 8, !tbaa !5
  %1559 = getelementptr inbounds %struct.complex, ptr %1558, i32 0, i32 0
  %1560 = load float, ptr %1559, align 4, !tbaa !11
  %1561 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1562 = load float, ptr %1561, align 4, !tbaa !11
  %1563 = load ptr, ptr %13, align 8, !tbaa !5
  %1564 = getelementptr inbounds %struct.complex, ptr %1563, i32 0, i32 1
  %1565 = load float, ptr %1564, align 4, !tbaa !14
  %1566 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1567 = load float, ptr %1566, align 4, !tbaa !14
  %1568 = fmul float %1565, %1567
  %1569 = fneg float %1568
  %1570 = call float @llvm.fmuladd.f32(float %1560, float %1562, float %1569)
  %1571 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1570, ptr %1571, align 4, !tbaa !11
  %1572 = load ptr, ptr %13, align 8, !tbaa !5
  %1573 = getelementptr inbounds %struct.complex, ptr %1572, i32 0, i32 0
  %1574 = load float, ptr %1573, align 4, !tbaa !11
  %1575 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1576 = load float, ptr %1575, align 4, !tbaa !14
  %1577 = load ptr, ptr %13, align 8, !tbaa !5
  %1578 = getelementptr inbounds %struct.complex, ptr %1577, i32 0, i32 1
  %1579 = load float, ptr %1578, align 4, !tbaa !14
  %1580 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1581 = load float, ptr %1580, align 4, !tbaa !11
  %1582 = fmul float %1579, %1581
  %1583 = call float @llvm.fmuladd.f32(float %1574, float %1576, float %1582)
  %1584 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1583, ptr %1584, align 4, !tbaa !14
  %1585 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1586 = load float, ptr %1585, align 4, !tbaa !11
  %1587 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %1586, ptr %1587, align 4, !tbaa !11
  %1588 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1589 = load float, ptr %1588, align 4, !tbaa !14
  %1590 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %1589, ptr %1590, align 4, !tbaa !14
  %1591 = load ptr, ptr %11, align 8, !tbaa !5
  %1592 = load i32, ptr %1591, align 4, !tbaa !9
  store i32 %1592, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %1593

1593:                                             ; preds = %2072, %1354
  %1594 = load i32, ptr %49, align 4, !tbaa !9
  %1595 = load i32, ptr %19, align 4, !tbaa !9
  %1596 = icmp sle i32 %1594, %1595
  br i1 %1596, label %1597, label %2075

1597:                                             ; preds = %1593
  %1598 = load i32, ptr %49, align 4, !tbaa !9
  %1599 = load i32, ptr %17, align 4, !tbaa !9
  %1600 = mul nsw i32 %1598, %1599
  %1601 = add nsw i32 %1600, 1
  store i32 %1601, ptr %20, align 4, !tbaa !9
  %1602 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %1603 = load float, ptr %1602, align 4, !tbaa !11
  %1604 = load ptr, ptr %14, align 8, !tbaa !5
  %1605 = load i32, ptr %20, align 4, !tbaa !9
  %1606 = sext i32 %1605 to i64
  %1607 = getelementptr inbounds %struct.complex, ptr %1604, i64 %1606
  %1608 = getelementptr inbounds %struct.complex, ptr %1607, i32 0, i32 0
  %1609 = load float, ptr %1608, align 4, !tbaa !11
  %1610 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %1611 = load float, ptr %1610, align 4, !tbaa !14
  %1612 = load ptr, ptr %14, align 8, !tbaa !5
  %1613 = load i32, ptr %20, align 4, !tbaa !9
  %1614 = sext i32 %1613 to i64
  %1615 = getelementptr inbounds %struct.complex, ptr %1612, i64 %1614
  %1616 = getelementptr inbounds %struct.complex, ptr %1615, i32 0, i32 1
  %1617 = load float, ptr %1616, align 4, !tbaa !14
  %1618 = fmul float %1611, %1617
  %1619 = fneg float %1618
  %1620 = call float @llvm.fmuladd.f32(float %1603, float %1609, float %1619)
  %1621 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %1620, ptr %1621, align 4, !tbaa !11
  %1622 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %1623 = load float, ptr %1622, align 4, !tbaa !11
  %1624 = load ptr, ptr %14, align 8, !tbaa !5
  %1625 = load i32, ptr %20, align 4, !tbaa !9
  %1626 = sext i32 %1625 to i64
  %1627 = getelementptr inbounds %struct.complex, ptr %1624, i64 %1626
  %1628 = getelementptr inbounds %struct.complex, ptr %1627, i32 0, i32 1
  %1629 = load float, ptr %1628, align 4, !tbaa !14
  %1630 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %1631 = load float, ptr %1630, align 4, !tbaa !14
  %1632 = load ptr, ptr %14, align 8, !tbaa !5
  %1633 = load i32, ptr %20, align 4, !tbaa !9
  %1634 = sext i32 %1633 to i64
  %1635 = getelementptr inbounds %struct.complex, ptr %1632, i64 %1634
  %1636 = getelementptr inbounds %struct.complex, ptr %1635, i32 0, i32 0
  %1637 = load float, ptr %1636, align 4, !tbaa !11
  %1638 = fmul float %1631, %1637
  %1639 = call float @llvm.fmuladd.f32(float %1623, float %1629, float %1638)
  %1640 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %1639, ptr %1640, align 4, !tbaa !14
  %1641 = load i32, ptr %49, align 4, !tbaa !9
  %1642 = load i32, ptr %17, align 4, !tbaa !9
  %1643 = mul nsw i32 %1641, %1642
  %1644 = add nsw i32 %1643, 2
  store i32 %1644, ptr %21, align 4, !tbaa !9
  %1645 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1646 = load float, ptr %1645, align 4, !tbaa !11
  %1647 = load ptr, ptr %14, align 8, !tbaa !5
  %1648 = load i32, ptr %21, align 4, !tbaa !9
  %1649 = sext i32 %1648 to i64
  %1650 = getelementptr inbounds %struct.complex, ptr %1647, i64 %1649
  %1651 = getelementptr inbounds %struct.complex, ptr %1650, i32 0, i32 0
  %1652 = load float, ptr %1651, align 4, !tbaa !11
  %1653 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1654 = load float, ptr %1653, align 4, !tbaa !14
  %1655 = load ptr, ptr %14, align 8, !tbaa !5
  %1656 = load i32, ptr %21, align 4, !tbaa !9
  %1657 = sext i32 %1656 to i64
  %1658 = getelementptr inbounds %struct.complex, ptr %1655, i64 %1657
  %1659 = getelementptr inbounds %struct.complex, ptr %1658, i32 0, i32 1
  %1660 = load float, ptr %1659, align 4, !tbaa !14
  %1661 = fmul float %1654, %1660
  %1662 = fneg float %1661
  %1663 = call float @llvm.fmuladd.f32(float %1646, float %1652, float %1662)
  %1664 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %1663, ptr %1664, align 4, !tbaa !11
  %1665 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1666 = load float, ptr %1665, align 4, !tbaa !11
  %1667 = load ptr, ptr %14, align 8, !tbaa !5
  %1668 = load i32, ptr %21, align 4, !tbaa !9
  %1669 = sext i32 %1668 to i64
  %1670 = getelementptr inbounds %struct.complex, ptr %1667, i64 %1669
  %1671 = getelementptr inbounds %struct.complex, ptr %1670, i32 0, i32 1
  %1672 = load float, ptr %1671, align 4, !tbaa !14
  %1673 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1674 = load float, ptr %1673, align 4, !tbaa !14
  %1675 = load ptr, ptr %14, align 8, !tbaa !5
  %1676 = load i32, ptr %21, align 4, !tbaa !9
  %1677 = sext i32 %1676 to i64
  %1678 = getelementptr inbounds %struct.complex, ptr %1675, i64 %1677
  %1679 = getelementptr inbounds %struct.complex, ptr %1678, i32 0, i32 0
  %1680 = load float, ptr %1679, align 4, !tbaa !11
  %1681 = fmul float %1674, %1680
  %1682 = call float @llvm.fmuladd.f32(float %1666, float %1672, float %1681)
  %1683 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %1682, ptr %1683, align 4, !tbaa !14
  %1684 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %1685 = load float, ptr %1684, align 4, !tbaa !11
  %1686 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %1687 = load float, ptr %1686, align 4, !tbaa !11
  %1688 = fadd float %1685, %1687
  %1689 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %1688, ptr %1689, align 4, !tbaa !11
  %1690 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %1691 = load float, ptr %1690, align 4, !tbaa !14
  %1692 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %1693 = load float, ptr %1692, align 4, !tbaa !14
  %1694 = fadd float %1691, %1693
  %1695 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1694, ptr %1695, align 4, !tbaa !14
  %1696 = load i32, ptr %49, align 4, !tbaa !9
  %1697 = load i32, ptr %17, align 4, !tbaa !9
  %1698 = mul nsw i32 %1696, %1697
  %1699 = add nsw i32 %1698, 3
  store i32 %1699, ptr %22, align 4, !tbaa !9
  %1700 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1701 = load float, ptr %1700, align 4, !tbaa !11
  %1702 = load ptr, ptr %14, align 8, !tbaa !5
  %1703 = load i32, ptr %22, align 4, !tbaa !9
  %1704 = sext i32 %1703 to i64
  %1705 = getelementptr inbounds %struct.complex, ptr %1702, i64 %1704
  %1706 = getelementptr inbounds %struct.complex, ptr %1705, i32 0, i32 0
  %1707 = load float, ptr %1706, align 4, !tbaa !11
  %1708 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1709 = load float, ptr %1708, align 4, !tbaa !14
  %1710 = load ptr, ptr %14, align 8, !tbaa !5
  %1711 = load i32, ptr %22, align 4, !tbaa !9
  %1712 = sext i32 %1711 to i64
  %1713 = getelementptr inbounds %struct.complex, ptr %1710, i64 %1712
  %1714 = getelementptr inbounds %struct.complex, ptr %1713, i32 0, i32 1
  %1715 = load float, ptr %1714, align 4, !tbaa !14
  %1716 = fmul float %1709, %1715
  %1717 = fneg float %1716
  %1718 = call float @llvm.fmuladd.f32(float %1701, float %1707, float %1717)
  %1719 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %1718, ptr %1719, align 4, !tbaa !11
  %1720 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1721 = load float, ptr %1720, align 4, !tbaa !11
  %1722 = load ptr, ptr %14, align 8, !tbaa !5
  %1723 = load i32, ptr %22, align 4, !tbaa !9
  %1724 = sext i32 %1723 to i64
  %1725 = getelementptr inbounds %struct.complex, ptr %1722, i64 %1724
  %1726 = getelementptr inbounds %struct.complex, ptr %1725, i32 0, i32 1
  %1727 = load float, ptr %1726, align 4, !tbaa !14
  %1728 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1729 = load float, ptr %1728, align 4, !tbaa !14
  %1730 = load ptr, ptr %14, align 8, !tbaa !5
  %1731 = load i32, ptr %22, align 4, !tbaa !9
  %1732 = sext i32 %1731 to i64
  %1733 = getelementptr inbounds %struct.complex, ptr %1730, i64 %1732
  %1734 = getelementptr inbounds %struct.complex, ptr %1733, i32 0, i32 0
  %1735 = load float, ptr %1734, align 4, !tbaa !11
  %1736 = fmul float %1729, %1735
  %1737 = call float @llvm.fmuladd.f32(float %1721, float %1727, float %1736)
  %1738 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %1737, ptr %1738, align 4, !tbaa !14
  %1739 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1740 = load float, ptr %1739, align 4, !tbaa !11
  %1741 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %1742 = load float, ptr %1741, align 4, !tbaa !11
  %1743 = fadd float %1740, %1742
  %1744 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1743, ptr %1744, align 4, !tbaa !11
  %1745 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1746 = load float, ptr %1745, align 4, !tbaa !14
  %1747 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %1748 = load float, ptr %1747, align 4, !tbaa !14
  %1749 = fadd float %1746, %1748
  %1750 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1749, ptr %1750, align 4, !tbaa !14
  %1751 = load i32, ptr %49, align 4, !tbaa !9
  %1752 = load i32, ptr %17, align 4, !tbaa !9
  %1753 = mul nsw i32 %1751, %1752
  %1754 = add nsw i32 %1753, 4
  store i32 %1754, ptr %23, align 4, !tbaa !9
  %1755 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %1756 = load float, ptr %1755, align 4, !tbaa !11
  %1757 = load ptr, ptr %14, align 8, !tbaa !5
  %1758 = load i32, ptr %23, align 4, !tbaa !9
  %1759 = sext i32 %1758 to i64
  %1760 = getelementptr inbounds %struct.complex, ptr %1757, i64 %1759
  %1761 = getelementptr inbounds %struct.complex, ptr %1760, i32 0, i32 0
  %1762 = load float, ptr %1761, align 4, !tbaa !11
  %1763 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %1764 = load float, ptr %1763, align 4, !tbaa !14
  %1765 = load ptr, ptr %14, align 8, !tbaa !5
  %1766 = load i32, ptr %23, align 4, !tbaa !9
  %1767 = sext i32 %1766 to i64
  %1768 = getelementptr inbounds %struct.complex, ptr %1765, i64 %1767
  %1769 = getelementptr inbounds %struct.complex, ptr %1768, i32 0, i32 1
  %1770 = load float, ptr %1769, align 4, !tbaa !14
  %1771 = fmul float %1764, %1770
  %1772 = fneg float %1771
  %1773 = call float @llvm.fmuladd.f32(float %1756, float %1762, float %1772)
  %1774 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1773, ptr %1774, align 4, !tbaa !11
  %1775 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %1776 = load float, ptr %1775, align 4, !tbaa !11
  %1777 = load ptr, ptr %14, align 8, !tbaa !5
  %1778 = load i32, ptr %23, align 4, !tbaa !9
  %1779 = sext i32 %1778 to i64
  %1780 = getelementptr inbounds %struct.complex, ptr %1777, i64 %1779
  %1781 = getelementptr inbounds %struct.complex, ptr %1780, i32 0, i32 1
  %1782 = load float, ptr %1781, align 4, !tbaa !14
  %1783 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %1784 = load float, ptr %1783, align 4, !tbaa !14
  %1785 = load ptr, ptr %14, align 8, !tbaa !5
  %1786 = load i32, ptr %23, align 4, !tbaa !9
  %1787 = sext i32 %1786 to i64
  %1788 = getelementptr inbounds %struct.complex, ptr %1785, i64 %1787
  %1789 = getelementptr inbounds %struct.complex, ptr %1788, i32 0, i32 0
  %1790 = load float, ptr %1789, align 4, !tbaa !11
  %1791 = fmul float %1784, %1790
  %1792 = call float @llvm.fmuladd.f32(float %1776, float %1782, float %1791)
  %1793 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1792, ptr %1793, align 4, !tbaa !14
  %1794 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1795 = load float, ptr %1794, align 4, !tbaa !11
  %1796 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1797 = load float, ptr %1796, align 4, !tbaa !11
  %1798 = fadd float %1795, %1797
  %1799 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1798, ptr %1799, align 4, !tbaa !11
  %1800 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1801 = load float, ptr %1800, align 4, !tbaa !14
  %1802 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1803 = load float, ptr %1802, align 4, !tbaa !14
  %1804 = fadd float %1801, %1803
  %1805 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1804, ptr %1805, align 4, !tbaa !14
  %1806 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1807 = load float, ptr %1806, align 4, !tbaa !11
  %1808 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %1807, ptr %1808, align 4, !tbaa !11
  %1809 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1810 = load float, ptr %1809, align 4, !tbaa !14
  %1811 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %1810, ptr %1811, align 4, !tbaa !14
  %1812 = load i32, ptr %49, align 4, !tbaa !9
  %1813 = load i32, ptr %17, align 4, !tbaa !9
  %1814 = mul nsw i32 %1812, %1813
  %1815 = add nsw i32 %1814, 1
  store i32 %1815, ptr %20, align 4, !tbaa !9
  %1816 = load i32, ptr %49, align 4, !tbaa !9
  %1817 = load i32, ptr %17, align 4, !tbaa !9
  %1818 = mul nsw i32 %1816, %1817
  %1819 = add nsw i32 %1818, 1
  store i32 %1819, ptr %21, align 4, !tbaa !9
  %1820 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1821 = load float, ptr %1820, align 4, !tbaa !11
  %1822 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %1823 = load float, ptr %1822, align 4, !tbaa !11
  %1824 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1825 = load float, ptr %1824, align 4, !tbaa !14
  %1826 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %1827 = load float, ptr %1826, align 4, !tbaa !14
  %1828 = fmul float %1825, %1827
  %1829 = fneg float %1828
  %1830 = call float @llvm.fmuladd.f32(float %1821, float %1823, float %1829)
  %1831 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1830, ptr %1831, align 4, !tbaa !11
  %1832 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1833 = load float, ptr %1832, align 4, !tbaa !11
  %1834 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %1835 = load float, ptr %1834, align 4, !tbaa !14
  %1836 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1837 = load float, ptr %1836, align 4, !tbaa !14
  %1838 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %1839 = load float, ptr %1838, align 4, !tbaa !11
  %1840 = fmul float %1837, %1839
  %1841 = call float @llvm.fmuladd.f32(float %1833, float %1835, float %1840)
  %1842 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1841, ptr %1842, align 4, !tbaa !14
  %1843 = load ptr, ptr %14, align 8, !tbaa !5
  %1844 = load i32, ptr %21, align 4, !tbaa !9
  %1845 = sext i32 %1844 to i64
  %1846 = getelementptr inbounds %struct.complex, ptr %1843, i64 %1845
  %1847 = getelementptr inbounds %struct.complex, ptr %1846, i32 0, i32 0
  %1848 = load float, ptr %1847, align 4, !tbaa !11
  %1849 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1850 = load float, ptr %1849, align 4, !tbaa !11
  %1851 = fsub float %1848, %1850
  %1852 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1851, ptr %1852, align 4, !tbaa !11
  %1853 = load ptr, ptr %14, align 8, !tbaa !5
  %1854 = load i32, ptr %21, align 4, !tbaa !9
  %1855 = sext i32 %1854 to i64
  %1856 = getelementptr inbounds %struct.complex, ptr %1853, i64 %1855
  %1857 = getelementptr inbounds %struct.complex, ptr %1856, i32 0, i32 1
  %1858 = load float, ptr %1857, align 4, !tbaa !14
  %1859 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1860 = load float, ptr %1859, align 4, !tbaa !14
  %1861 = fsub float %1858, %1860
  %1862 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1861, ptr %1862, align 4, !tbaa !14
  %1863 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1864 = load float, ptr %1863, align 4, !tbaa !11
  %1865 = load ptr, ptr %14, align 8, !tbaa !5
  %1866 = load i32, ptr %20, align 4, !tbaa !9
  %1867 = sext i32 %1866 to i64
  %1868 = getelementptr inbounds %struct.complex, ptr %1865, i64 %1867
  %1869 = getelementptr inbounds %struct.complex, ptr %1868, i32 0, i32 0
  store float %1864, ptr %1869, align 4, !tbaa !11
  %1870 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1871 = load float, ptr %1870, align 4, !tbaa !14
  %1872 = load ptr, ptr %14, align 8, !tbaa !5
  %1873 = load i32, ptr %20, align 4, !tbaa !9
  %1874 = sext i32 %1873 to i64
  %1875 = getelementptr inbounds %struct.complex, ptr %1872, i64 %1874
  %1876 = getelementptr inbounds %struct.complex, ptr %1875, i32 0, i32 1
  store float %1871, ptr %1876, align 4, !tbaa !14
  %1877 = load i32, ptr %49, align 4, !tbaa !9
  %1878 = load i32, ptr %17, align 4, !tbaa !9
  %1879 = mul nsw i32 %1877, %1878
  %1880 = add nsw i32 %1879, 2
  store i32 %1880, ptr %20, align 4, !tbaa !9
  %1881 = load i32, ptr %49, align 4, !tbaa !9
  %1882 = load i32, ptr %17, align 4, !tbaa !9
  %1883 = mul nsw i32 %1881, %1882
  %1884 = add nsw i32 %1883, 2
  store i32 %1884, ptr %21, align 4, !tbaa !9
  %1885 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1886 = load float, ptr %1885, align 4, !tbaa !11
  %1887 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %1888 = load float, ptr %1887, align 4, !tbaa !11
  %1889 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1890 = load float, ptr %1889, align 4, !tbaa !14
  %1891 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %1892 = load float, ptr %1891, align 4, !tbaa !14
  %1893 = fmul float %1890, %1892
  %1894 = fneg float %1893
  %1895 = call float @llvm.fmuladd.f32(float %1886, float %1888, float %1894)
  %1896 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1895, ptr %1896, align 4, !tbaa !11
  %1897 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1898 = load float, ptr %1897, align 4, !tbaa !11
  %1899 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %1900 = load float, ptr %1899, align 4, !tbaa !14
  %1901 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1902 = load float, ptr %1901, align 4, !tbaa !14
  %1903 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %1904 = load float, ptr %1903, align 4, !tbaa !11
  %1905 = fmul float %1902, %1904
  %1906 = call float @llvm.fmuladd.f32(float %1898, float %1900, float %1905)
  %1907 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1906, ptr %1907, align 4, !tbaa !14
  %1908 = load ptr, ptr %14, align 8, !tbaa !5
  %1909 = load i32, ptr %21, align 4, !tbaa !9
  %1910 = sext i32 %1909 to i64
  %1911 = getelementptr inbounds %struct.complex, ptr %1908, i64 %1910
  %1912 = getelementptr inbounds %struct.complex, ptr %1911, i32 0, i32 0
  %1913 = load float, ptr %1912, align 4, !tbaa !11
  %1914 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1915 = load float, ptr %1914, align 4, !tbaa !11
  %1916 = fsub float %1913, %1915
  %1917 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1916, ptr %1917, align 4, !tbaa !11
  %1918 = load ptr, ptr %14, align 8, !tbaa !5
  %1919 = load i32, ptr %21, align 4, !tbaa !9
  %1920 = sext i32 %1919 to i64
  %1921 = getelementptr inbounds %struct.complex, ptr %1918, i64 %1920
  %1922 = getelementptr inbounds %struct.complex, ptr %1921, i32 0, i32 1
  %1923 = load float, ptr %1922, align 4, !tbaa !14
  %1924 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1925 = load float, ptr %1924, align 4, !tbaa !14
  %1926 = fsub float %1923, %1925
  %1927 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1926, ptr %1927, align 4, !tbaa !14
  %1928 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1929 = load float, ptr %1928, align 4, !tbaa !11
  %1930 = load ptr, ptr %14, align 8, !tbaa !5
  %1931 = load i32, ptr %20, align 4, !tbaa !9
  %1932 = sext i32 %1931 to i64
  %1933 = getelementptr inbounds %struct.complex, ptr %1930, i64 %1932
  %1934 = getelementptr inbounds %struct.complex, ptr %1933, i32 0, i32 0
  store float %1929, ptr %1934, align 4, !tbaa !11
  %1935 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %1936 = load float, ptr %1935, align 4, !tbaa !14
  %1937 = load ptr, ptr %14, align 8, !tbaa !5
  %1938 = load i32, ptr %20, align 4, !tbaa !9
  %1939 = sext i32 %1938 to i64
  %1940 = getelementptr inbounds %struct.complex, ptr %1937, i64 %1939
  %1941 = getelementptr inbounds %struct.complex, ptr %1940, i32 0, i32 1
  store float %1936, ptr %1941, align 4, !tbaa !14
  %1942 = load i32, ptr %49, align 4, !tbaa !9
  %1943 = load i32, ptr %17, align 4, !tbaa !9
  %1944 = mul nsw i32 %1942, %1943
  %1945 = add nsw i32 %1944, 3
  store i32 %1945, ptr %20, align 4, !tbaa !9
  %1946 = load i32, ptr %49, align 4, !tbaa !9
  %1947 = load i32, ptr %17, align 4, !tbaa !9
  %1948 = mul nsw i32 %1946, %1947
  %1949 = add nsw i32 %1948, 3
  store i32 %1949, ptr %21, align 4, !tbaa !9
  %1950 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1951 = load float, ptr %1950, align 4, !tbaa !11
  %1952 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1953 = load float, ptr %1952, align 4, !tbaa !11
  %1954 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1955 = load float, ptr %1954, align 4, !tbaa !14
  %1956 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1957 = load float, ptr %1956, align 4, !tbaa !14
  %1958 = fmul float %1955, %1957
  %1959 = fneg float %1958
  %1960 = call float @llvm.fmuladd.f32(float %1951, float %1953, float %1959)
  %1961 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1960, ptr %1961, align 4, !tbaa !11
  %1962 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %1963 = load float, ptr %1962, align 4, !tbaa !11
  %1964 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1965 = load float, ptr %1964, align 4, !tbaa !14
  %1966 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %1967 = load float, ptr %1966, align 4, !tbaa !14
  %1968 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1969 = load float, ptr %1968, align 4, !tbaa !11
  %1970 = fmul float %1967, %1969
  %1971 = call float @llvm.fmuladd.f32(float %1963, float %1965, float %1970)
  %1972 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1971, ptr %1972, align 4, !tbaa !14
  %1973 = load ptr, ptr %14, align 8, !tbaa !5
  %1974 = load i32, ptr %21, align 4, !tbaa !9
  %1975 = sext i32 %1974 to i64
  %1976 = getelementptr inbounds %struct.complex, ptr %1973, i64 %1975
  %1977 = getelementptr inbounds %struct.complex, ptr %1976, i32 0, i32 0
  %1978 = load float, ptr %1977, align 4, !tbaa !11
  %1979 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1980 = load float, ptr %1979, align 4, !tbaa !11
  %1981 = fsub float %1978, %1980
  %1982 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %1981, ptr %1982, align 4, !tbaa !11
  %1983 = load ptr, ptr %14, align 8, !tbaa !5
  %1984 = load i32, ptr %21, align 4, !tbaa !9
  %1985 = sext i32 %1984 to i64
  %1986 = getelementptr inbounds %struct.complex, ptr %1983, i64 %1985
  %1987 = getelementptr inbounds %struct.complex, ptr %1986, i32 0, i32 1
  %1988 = load float, ptr %1987, align 4, !tbaa !14
  %1989 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1990 = load float, ptr %1989, align 4, !tbaa !14
  %1991 = fsub float %1988, %1990
  %1992 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %1991, ptr %1992, align 4, !tbaa !14
  %1993 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %1994 = load float, ptr %1993, align 4, !tbaa !11
  %1995 = load ptr, ptr %14, align 8, !tbaa !5
  %1996 = load i32, ptr %20, align 4, !tbaa !9
  %1997 = sext i32 %1996 to i64
  %1998 = getelementptr inbounds %struct.complex, ptr %1995, i64 %1997
  %1999 = getelementptr inbounds %struct.complex, ptr %1998, i32 0, i32 0
  store float %1994, ptr %1999, align 4, !tbaa !11
  %2000 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2001 = load float, ptr %2000, align 4, !tbaa !14
  %2002 = load ptr, ptr %14, align 8, !tbaa !5
  %2003 = load i32, ptr %20, align 4, !tbaa !9
  %2004 = sext i32 %2003 to i64
  %2005 = getelementptr inbounds %struct.complex, ptr %2002, i64 %2004
  %2006 = getelementptr inbounds %struct.complex, ptr %2005, i32 0, i32 1
  store float %2001, ptr %2006, align 4, !tbaa !14
  %2007 = load i32, ptr %49, align 4, !tbaa !9
  %2008 = load i32, ptr %17, align 4, !tbaa !9
  %2009 = mul nsw i32 %2007, %2008
  %2010 = add nsw i32 %2009, 4
  store i32 %2010, ptr %20, align 4, !tbaa !9
  %2011 = load i32, ptr %49, align 4, !tbaa !9
  %2012 = load i32, ptr %17, align 4, !tbaa !9
  %2013 = mul nsw i32 %2011, %2012
  %2014 = add nsw i32 %2013, 4
  store i32 %2014, ptr %21, align 4, !tbaa !9
  %2015 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2016 = load float, ptr %2015, align 4, !tbaa !11
  %2017 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %2018 = load float, ptr %2017, align 4, !tbaa !11
  %2019 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2020 = load float, ptr %2019, align 4, !tbaa !14
  %2021 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %2022 = load float, ptr %2021, align 4, !tbaa !14
  %2023 = fmul float %2020, %2022
  %2024 = fneg float %2023
  %2025 = call float @llvm.fmuladd.f32(float %2016, float %2018, float %2024)
  %2026 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2025, ptr %2026, align 4, !tbaa !11
  %2027 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2028 = load float, ptr %2027, align 4, !tbaa !11
  %2029 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %2030 = load float, ptr %2029, align 4, !tbaa !14
  %2031 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2032 = load float, ptr %2031, align 4, !tbaa !14
  %2033 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %2034 = load float, ptr %2033, align 4, !tbaa !11
  %2035 = fmul float %2032, %2034
  %2036 = call float @llvm.fmuladd.f32(float %2028, float %2030, float %2035)
  %2037 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2036, ptr %2037, align 4, !tbaa !14
  %2038 = load ptr, ptr %14, align 8, !tbaa !5
  %2039 = load i32, ptr %21, align 4, !tbaa !9
  %2040 = sext i32 %2039 to i64
  %2041 = getelementptr inbounds %struct.complex, ptr %2038, i64 %2040
  %2042 = getelementptr inbounds %struct.complex, ptr %2041, i32 0, i32 0
  %2043 = load float, ptr %2042, align 4, !tbaa !11
  %2044 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2045 = load float, ptr %2044, align 4, !tbaa !11
  %2046 = fsub float %2043, %2045
  %2047 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2046, ptr %2047, align 4, !tbaa !11
  %2048 = load ptr, ptr %14, align 8, !tbaa !5
  %2049 = load i32, ptr %21, align 4, !tbaa !9
  %2050 = sext i32 %2049 to i64
  %2051 = getelementptr inbounds %struct.complex, ptr %2048, i64 %2050
  %2052 = getelementptr inbounds %struct.complex, ptr %2051, i32 0, i32 1
  %2053 = load float, ptr %2052, align 4, !tbaa !14
  %2054 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2055 = load float, ptr %2054, align 4, !tbaa !14
  %2056 = fsub float %2053, %2055
  %2057 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2056, ptr %2057, align 4, !tbaa !14
  %2058 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2059 = load float, ptr %2058, align 4, !tbaa !11
  %2060 = load ptr, ptr %14, align 8, !tbaa !5
  %2061 = load i32, ptr %20, align 4, !tbaa !9
  %2062 = sext i32 %2061 to i64
  %2063 = getelementptr inbounds %struct.complex, ptr %2060, i64 %2062
  %2064 = getelementptr inbounds %struct.complex, ptr %2063, i32 0, i32 0
  store float %2059, ptr %2064, align 4, !tbaa !11
  %2065 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2066 = load float, ptr %2065, align 4, !tbaa !14
  %2067 = load ptr, ptr %14, align 8, !tbaa !5
  %2068 = load i32, ptr %20, align 4, !tbaa !9
  %2069 = sext i32 %2068 to i64
  %2070 = getelementptr inbounds %struct.complex, ptr %2067, i64 %2069
  %2071 = getelementptr inbounds %struct.complex, ptr %2070, i32 0, i32 1
  store float %2066, ptr %2071, align 4, !tbaa !14
  br label %2072

2072:                                             ; preds = %1597
  %2073 = load i32, ptr %49, align 4, !tbaa !9
  %2074 = add nsw i32 %2073, 1
  store i32 %2074, ptr %49, align 4, !tbaa !9
  br label %1593, !llvm.loop !19

2075:                                             ; preds = %1593
  br label %19663

2076:                                             ; preds = %271
  %2077 = load ptr, ptr %12, align 8, !tbaa !5
  %2078 = getelementptr inbounds %struct.complex, ptr %2077, i64 1
  %2079 = call <2 x float> @Cf(ptr noundef %2078)
  store <2 x float> %2079, ptr %91, align 4
  %2080 = getelementptr inbounds { float, float }, ptr %91, i32 0, i32 0
  %2081 = load float, ptr %2080, align 4
  %2082 = getelementptr inbounds { float, float }, ptr %91, i32 0, i32 1
  %2083 = load float, ptr %2082, align 4
  %2084 = fneg float %2083
  %2085 = call ptr @_pCf(ptr noundef %30)
  %2086 = getelementptr inbounds { float, float }, ptr %2085, i32 0, i32 0
  %2087 = getelementptr inbounds { float, float }, ptr %2085, i32 0, i32 1
  store float %2081, ptr %2086, align 4
  store float %2084, ptr %2087, align 4
  %2088 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2089 = load float, ptr %2088, align 4, !tbaa !11
  %2090 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %2089, ptr %2090, align 4, !tbaa !11
  %2091 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2092 = load float, ptr %2091, align 4, !tbaa !14
  %2093 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %2092, ptr %2093, align 4, !tbaa !14
  %2094 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %2094, ptr %92, align 4
  %2095 = getelementptr inbounds { float, float }, ptr %92, i32 0, i32 0
  %2096 = load float, ptr %2095, align 4
  %2097 = getelementptr inbounds { float, float }, ptr %92, i32 0, i32 1
  %2098 = load float, ptr %2097, align 4
  %2099 = fneg float %2098
  %2100 = call ptr @_pCf(ptr noundef %31)
  %2101 = getelementptr inbounds { float, float }, ptr %2100, i32 0, i32 0
  %2102 = getelementptr inbounds { float, float }, ptr %2100, i32 0, i32 1
  store float %2096, ptr %2101, align 4
  store float %2099, ptr %2102, align 4
  %2103 = load ptr, ptr %13, align 8, !tbaa !5
  %2104 = getelementptr inbounds %struct.complex, ptr %2103, i32 0, i32 0
  %2105 = load float, ptr %2104, align 4, !tbaa !11
  %2106 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2107 = load float, ptr %2106, align 4, !tbaa !11
  %2108 = load ptr, ptr %13, align 8, !tbaa !5
  %2109 = getelementptr inbounds %struct.complex, ptr %2108, i32 0, i32 1
  %2110 = load float, ptr %2109, align 4, !tbaa !14
  %2111 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2112 = load float, ptr %2111, align 4, !tbaa !14
  %2113 = fmul float %2110, %2112
  %2114 = fneg float %2113
  %2115 = call float @llvm.fmuladd.f32(float %2105, float %2107, float %2114)
  %2116 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2115, ptr %2116, align 4, !tbaa !11
  %2117 = load ptr, ptr %13, align 8, !tbaa !5
  %2118 = getelementptr inbounds %struct.complex, ptr %2117, i32 0, i32 0
  %2119 = load float, ptr %2118, align 4, !tbaa !11
  %2120 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2121 = load float, ptr %2120, align 4, !tbaa !14
  %2122 = load ptr, ptr %13, align 8, !tbaa !5
  %2123 = getelementptr inbounds %struct.complex, ptr %2122, i32 0, i32 1
  %2124 = load float, ptr %2123, align 4, !tbaa !14
  %2125 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2126 = load float, ptr %2125, align 4, !tbaa !11
  %2127 = fmul float %2124, %2126
  %2128 = call float @llvm.fmuladd.f32(float %2119, float %2121, float %2127)
  %2129 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2128, ptr %2129, align 4, !tbaa !14
  %2130 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2131 = load float, ptr %2130, align 4, !tbaa !11
  %2132 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %2131, ptr %2132, align 4, !tbaa !11
  %2133 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2134 = load float, ptr %2133, align 4, !tbaa !14
  %2135 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %2134, ptr %2135, align 4, !tbaa !14
  %2136 = load ptr, ptr %12, align 8, !tbaa !5
  %2137 = getelementptr inbounds %struct.complex, ptr %2136, i64 2
  %2138 = call <2 x float> @Cf(ptr noundef %2137)
  store <2 x float> %2138, ptr %93, align 4
  %2139 = getelementptr inbounds { float, float }, ptr %93, i32 0, i32 0
  %2140 = load float, ptr %2139, align 4
  %2141 = getelementptr inbounds { float, float }, ptr %93, i32 0, i32 1
  %2142 = load float, ptr %2141, align 4
  %2143 = fneg float %2142
  %2144 = call ptr @_pCf(ptr noundef %30)
  %2145 = getelementptr inbounds { float, float }, ptr %2144, i32 0, i32 0
  %2146 = getelementptr inbounds { float, float }, ptr %2144, i32 0, i32 1
  store float %2140, ptr %2145, align 4
  store float %2143, ptr %2146, align 4
  %2147 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2148 = load float, ptr %2147, align 4, !tbaa !11
  %2149 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %2148, ptr %2149, align 4, !tbaa !11
  %2150 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2151 = load float, ptr %2150, align 4, !tbaa !14
  %2152 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %2151, ptr %2152, align 4, !tbaa !14
  %2153 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %2153, ptr %94, align 4
  %2154 = getelementptr inbounds { float, float }, ptr %94, i32 0, i32 0
  %2155 = load float, ptr %2154, align 4
  %2156 = getelementptr inbounds { float, float }, ptr %94, i32 0, i32 1
  %2157 = load float, ptr %2156, align 4
  %2158 = fneg float %2157
  %2159 = call ptr @_pCf(ptr noundef %31)
  %2160 = getelementptr inbounds { float, float }, ptr %2159, i32 0, i32 0
  %2161 = getelementptr inbounds { float, float }, ptr %2159, i32 0, i32 1
  store float %2155, ptr %2160, align 4
  store float %2158, ptr %2161, align 4
  %2162 = load ptr, ptr %13, align 8, !tbaa !5
  %2163 = getelementptr inbounds %struct.complex, ptr %2162, i32 0, i32 0
  %2164 = load float, ptr %2163, align 4, !tbaa !11
  %2165 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2166 = load float, ptr %2165, align 4, !tbaa !11
  %2167 = load ptr, ptr %13, align 8, !tbaa !5
  %2168 = getelementptr inbounds %struct.complex, ptr %2167, i32 0, i32 1
  %2169 = load float, ptr %2168, align 4, !tbaa !14
  %2170 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2171 = load float, ptr %2170, align 4, !tbaa !14
  %2172 = fmul float %2169, %2171
  %2173 = fneg float %2172
  %2174 = call float @llvm.fmuladd.f32(float %2164, float %2166, float %2173)
  %2175 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2174, ptr %2175, align 4, !tbaa !11
  %2176 = load ptr, ptr %13, align 8, !tbaa !5
  %2177 = getelementptr inbounds %struct.complex, ptr %2176, i32 0, i32 0
  %2178 = load float, ptr %2177, align 4, !tbaa !11
  %2179 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2180 = load float, ptr %2179, align 4, !tbaa !14
  %2181 = load ptr, ptr %13, align 8, !tbaa !5
  %2182 = getelementptr inbounds %struct.complex, ptr %2181, i32 0, i32 1
  %2183 = load float, ptr %2182, align 4, !tbaa !14
  %2184 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2185 = load float, ptr %2184, align 4, !tbaa !11
  %2186 = fmul float %2183, %2185
  %2187 = call float @llvm.fmuladd.f32(float %2178, float %2180, float %2186)
  %2188 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2187, ptr %2188, align 4, !tbaa !14
  %2189 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2190 = load float, ptr %2189, align 4, !tbaa !11
  %2191 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %2190, ptr %2191, align 4, !tbaa !11
  %2192 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2193 = load float, ptr %2192, align 4, !tbaa !14
  %2194 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %2193, ptr %2194, align 4, !tbaa !14
  %2195 = load ptr, ptr %12, align 8, !tbaa !5
  %2196 = getelementptr inbounds %struct.complex, ptr %2195, i64 3
  %2197 = call <2 x float> @Cf(ptr noundef %2196)
  store <2 x float> %2197, ptr %95, align 4
  %2198 = getelementptr inbounds { float, float }, ptr %95, i32 0, i32 0
  %2199 = load float, ptr %2198, align 4
  %2200 = getelementptr inbounds { float, float }, ptr %95, i32 0, i32 1
  %2201 = load float, ptr %2200, align 4
  %2202 = fneg float %2201
  %2203 = call ptr @_pCf(ptr noundef %30)
  %2204 = getelementptr inbounds { float, float }, ptr %2203, i32 0, i32 0
  %2205 = getelementptr inbounds { float, float }, ptr %2203, i32 0, i32 1
  store float %2199, ptr %2204, align 4
  store float %2202, ptr %2205, align 4
  %2206 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2207 = load float, ptr %2206, align 4, !tbaa !11
  %2208 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %2207, ptr %2208, align 4, !tbaa !11
  %2209 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2210 = load float, ptr %2209, align 4, !tbaa !14
  %2211 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %2210, ptr %2211, align 4, !tbaa !14
  %2212 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %2212, ptr %96, align 4
  %2213 = getelementptr inbounds { float, float }, ptr %96, i32 0, i32 0
  %2214 = load float, ptr %2213, align 4
  %2215 = getelementptr inbounds { float, float }, ptr %96, i32 0, i32 1
  %2216 = load float, ptr %2215, align 4
  %2217 = fneg float %2216
  %2218 = call ptr @_pCf(ptr noundef %31)
  %2219 = getelementptr inbounds { float, float }, ptr %2218, i32 0, i32 0
  %2220 = getelementptr inbounds { float, float }, ptr %2218, i32 0, i32 1
  store float %2214, ptr %2219, align 4
  store float %2217, ptr %2220, align 4
  %2221 = load ptr, ptr %13, align 8, !tbaa !5
  %2222 = getelementptr inbounds %struct.complex, ptr %2221, i32 0, i32 0
  %2223 = load float, ptr %2222, align 4, !tbaa !11
  %2224 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2225 = load float, ptr %2224, align 4, !tbaa !11
  %2226 = load ptr, ptr %13, align 8, !tbaa !5
  %2227 = getelementptr inbounds %struct.complex, ptr %2226, i32 0, i32 1
  %2228 = load float, ptr %2227, align 4, !tbaa !14
  %2229 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2230 = load float, ptr %2229, align 4, !tbaa !14
  %2231 = fmul float %2228, %2230
  %2232 = fneg float %2231
  %2233 = call float @llvm.fmuladd.f32(float %2223, float %2225, float %2232)
  %2234 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2233, ptr %2234, align 4, !tbaa !11
  %2235 = load ptr, ptr %13, align 8, !tbaa !5
  %2236 = getelementptr inbounds %struct.complex, ptr %2235, i32 0, i32 0
  %2237 = load float, ptr %2236, align 4, !tbaa !11
  %2238 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2239 = load float, ptr %2238, align 4, !tbaa !14
  %2240 = load ptr, ptr %13, align 8, !tbaa !5
  %2241 = getelementptr inbounds %struct.complex, ptr %2240, i32 0, i32 1
  %2242 = load float, ptr %2241, align 4, !tbaa !14
  %2243 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2244 = load float, ptr %2243, align 4, !tbaa !11
  %2245 = fmul float %2242, %2244
  %2246 = call float @llvm.fmuladd.f32(float %2237, float %2239, float %2245)
  %2247 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2246, ptr %2247, align 4, !tbaa !14
  %2248 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2249 = load float, ptr %2248, align 4, !tbaa !11
  %2250 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %2249, ptr %2250, align 4, !tbaa !11
  %2251 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2252 = load float, ptr %2251, align 4, !tbaa !14
  %2253 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %2252, ptr %2253, align 4, !tbaa !14
  %2254 = load ptr, ptr %12, align 8, !tbaa !5
  %2255 = getelementptr inbounds %struct.complex, ptr %2254, i64 4
  %2256 = call <2 x float> @Cf(ptr noundef %2255)
  store <2 x float> %2256, ptr %97, align 4
  %2257 = getelementptr inbounds { float, float }, ptr %97, i32 0, i32 0
  %2258 = load float, ptr %2257, align 4
  %2259 = getelementptr inbounds { float, float }, ptr %97, i32 0, i32 1
  %2260 = load float, ptr %2259, align 4
  %2261 = fneg float %2260
  %2262 = call ptr @_pCf(ptr noundef %30)
  %2263 = getelementptr inbounds { float, float }, ptr %2262, i32 0, i32 0
  %2264 = getelementptr inbounds { float, float }, ptr %2262, i32 0, i32 1
  store float %2258, ptr %2263, align 4
  store float %2261, ptr %2264, align 4
  %2265 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2266 = load float, ptr %2265, align 4, !tbaa !11
  %2267 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %2266, ptr %2267, align 4, !tbaa !11
  %2268 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2269 = load float, ptr %2268, align 4, !tbaa !14
  %2270 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %2269, ptr %2270, align 4, !tbaa !14
  %2271 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %2271, ptr %98, align 4
  %2272 = getelementptr inbounds { float, float }, ptr %98, i32 0, i32 0
  %2273 = load float, ptr %2272, align 4
  %2274 = getelementptr inbounds { float, float }, ptr %98, i32 0, i32 1
  %2275 = load float, ptr %2274, align 4
  %2276 = fneg float %2275
  %2277 = call ptr @_pCf(ptr noundef %31)
  %2278 = getelementptr inbounds { float, float }, ptr %2277, i32 0, i32 0
  %2279 = getelementptr inbounds { float, float }, ptr %2277, i32 0, i32 1
  store float %2273, ptr %2278, align 4
  store float %2276, ptr %2279, align 4
  %2280 = load ptr, ptr %13, align 8, !tbaa !5
  %2281 = getelementptr inbounds %struct.complex, ptr %2280, i32 0, i32 0
  %2282 = load float, ptr %2281, align 4, !tbaa !11
  %2283 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2284 = load float, ptr %2283, align 4, !tbaa !11
  %2285 = load ptr, ptr %13, align 8, !tbaa !5
  %2286 = getelementptr inbounds %struct.complex, ptr %2285, i32 0, i32 1
  %2287 = load float, ptr %2286, align 4, !tbaa !14
  %2288 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2289 = load float, ptr %2288, align 4, !tbaa !14
  %2290 = fmul float %2287, %2289
  %2291 = fneg float %2290
  %2292 = call float @llvm.fmuladd.f32(float %2282, float %2284, float %2291)
  %2293 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2292, ptr %2293, align 4, !tbaa !11
  %2294 = load ptr, ptr %13, align 8, !tbaa !5
  %2295 = getelementptr inbounds %struct.complex, ptr %2294, i32 0, i32 0
  %2296 = load float, ptr %2295, align 4, !tbaa !11
  %2297 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2298 = load float, ptr %2297, align 4, !tbaa !14
  %2299 = load ptr, ptr %13, align 8, !tbaa !5
  %2300 = getelementptr inbounds %struct.complex, ptr %2299, i32 0, i32 1
  %2301 = load float, ptr %2300, align 4, !tbaa !14
  %2302 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2303 = load float, ptr %2302, align 4, !tbaa !11
  %2304 = fmul float %2301, %2303
  %2305 = call float @llvm.fmuladd.f32(float %2296, float %2298, float %2304)
  %2306 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2305, ptr %2306, align 4, !tbaa !14
  %2307 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2308 = load float, ptr %2307, align 4, !tbaa !11
  %2309 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %2308, ptr %2309, align 4, !tbaa !11
  %2310 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2311 = load float, ptr %2310, align 4, !tbaa !14
  %2312 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %2311, ptr %2312, align 4, !tbaa !14
  %2313 = load ptr, ptr %12, align 8, !tbaa !5
  %2314 = getelementptr inbounds %struct.complex, ptr %2313, i64 5
  %2315 = call <2 x float> @Cf(ptr noundef %2314)
  store <2 x float> %2315, ptr %99, align 4
  %2316 = getelementptr inbounds { float, float }, ptr %99, i32 0, i32 0
  %2317 = load float, ptr %2316, align 4
  %2318 = getelementptr inbounds { float, float }, ptr %99, i32 0, i32 1
  %2319 = load float, ptr %2318, align 4
  %2320 = fneg float %2319
  %2321 = call ptr @_pCf(ptr noundef %30)
  %2322 = getelementptr inbounds { float, float }, ptr %2321, i32 0, i32 0
  %2323 = getelementptr inbounds { float, float }, ptr %2321, i32 0, i32 1
  store float %2317, ptr %2322, align 4
  store float %2320, ptr %2323, align 4
  %2324 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2325 = load float, ptr %2324, align 4, !tbaa !11
  %2326 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %2325, ptr %2326, align 4, !tbaa !11
  %2327 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2328 = load float, ptr %2327, align 4, !tbaa !14
  %2329 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %2328, ptr %2329, align 4, !tbaa !14
  %2330 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %2330, ptr %100, align 4
  %2331 = getelementptr inbounds { float, float }, ptr %100, i32 0, i32 0
  %2332 = load float, ptr %2331, align 4
  %2333 = getelementptr inbounds { float, float }, ptr %100, i32 0, i32 1
  %2334 = load float, ptr %2333, align 4
  %2335 = fneg float %2334
  %2336 = call ptr @_pCf(ptr noundef %31)
  %2337 = getelementptr inbounds { float, float }, ptr %2336, i32 0, i32 0
  %2338 = getelementptr inbounds { float, float }, ptr %2336, i32 0, i32 1
  store float %2332, ptr %2337, align 4
  store float %2335, ptr %2338, align 4
  %2339 = load ptr, ptr %13, align 8, !tbaa !5
  %2340 = getelementptr inbounds %struct.complex, ptr %2339, i32 0, i32 0
  %2341 = load float, ptr %2340, align 4, !tbaa !11
  %2342 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2343 = load float, ptr %2342, align 4, !tbaa !11
  %2344 = load ptr, ptr %13, align 8, !tbaa !5
  %2345 = getelementptr inbounds %struct.complex, ptr %2344, i32 0, i32 1
  %2346 = load float, ptr %2345, align 4, !tbaa !14
  %2347 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2348 = load float, ptr %2347, align 4, !tbaa !14
  %2349 = fmul float %2346, %2348
  %2350 = fneg float %2349
  %2351 = call float @llvm.fmuladd.f32(float %2341, float %2343, float %2350)
  %2352 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2351, ptr %2352, align 4, !tbaa !11
  %2353 = load ptr, ptr %13, align 8, !tbaa !5
  %2354 = getelementptr inbounds %struct.complex, ptr %2353, i32 0, i32 0
  %2355 = load float, ptr %2354, align 4, !tbaa !11
  %2356 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2357 = load float, ptr %2356, align 4, !tbaa !14
  %2358 = load ptr, ptr %13, align 8, !tbaa !5
  %2359 = getelementptr inbounds %struct.complex, ptr %2358, i32 0, i32 1
  %2360 = load float, ptr %2359, align 4, !tbaa !14
  %2361 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2362 = load float, ptr %2361, align 4, !tbaa !11
  %2363 = fmul float %2360, %2362
  %2364 = call float @llvm.fmuladd.f32(float %2355, float %2357, float %2363)
  %2365 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2364, ptr %2365, align 4, !tbaa !14
  %2366 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2367 = load float, ptr %2366, align 4, !tbaa !11
  %2368 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %2367, ptr %2368, align 4, !tbaa !11
  %2369 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2370 = load float, ptr %2369, align 4, !tbaa !14
  %2371 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %2370, ptr %2371, align 4, !tbaa !14
  %2372 = load ptr, ptr %11, align 8, !tbaa !5
  %2373 = load i32, ptr %2372, align 4, !tbaa !9
  store i32 %2373, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %2374

2374:                                             ; preds = %2973, %2076
  %2375 = load i32, ptr %49, align 4, !tbaa !9
  %2376 = load i32, ptr %19, align 4, !tbaa !9
  %2377 = icmp sle i32 %2375, %2376
  br i1 %2377, label %2378, label %2976

2378:                                             ; preds = %2374
  %2379 = load i32, ptr %49, align 4, !tbaa !9
  %2380 = load i32, ptr %17, align 4, !tbaa !9
  %2381 = mul nsw i32 %2379, %2380
  %2382 = add nsw i32 %2381, 1
  store i32 %2382, ptr %20, align 4, !tbaa !9
  %2383 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %2384 = load float, ptr %2383, align 4, !tbaa !11
  %2385 = load ptr, ptr %14, align 8, !tbaa !5
  %2386 = load i32, ptr %20, align 4, !tbaa !9
  %2387 = sext i32 %2386 to i64
  %2388 = getelementptr inbounds %struct.complex, ptr %2385, i64 %2387
  %2389 = getelementptr inbounds %struct.complex, ptr %2388, i32 0, i32 0
  %2390 = load float, ptr %2389, align 4, !tbaa !11
  %2391 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %2392 = load float, ptr %2391, align 4, !tbaa !14
  %2393 = load ptr, ptr %14, align 8, !tbaa !5
  %2394 = load i32, ptr %20, align 4, !tbaa !9
  %2395 = sext i32 %2394 to i64
  %2396 = getelementptr inbounds %struct.complex, ptr %2393, i64 %2395
  %2397 = getelementptr inbounds %struct.complex, ptr %2396, i32 0, i32 1
  %2398 = load float, ptr %2397, align 4, !tbaa !14
  %2399 = fmul float %2392, %2398
  %2400 = fneg float %2399
  %2401 = call float @llvm.fmuladd.f32(float %2384, float %2390, float %2400)
  %2402 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %2401, ptr %2402, align 4, !tbaa !11
  %2403 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %2404 = load float, ptr %2403, align 4, !tbaa !11
  %2405 = load ptr, ptr %14, align 8, !tbaa !5
  %2406 = load i32, ptr %20, align 4, !tbaa !9
  %2407 = sext i32 %2406 to i64
  %2408 = getelementptr inbounds %struct.complex, ptr %2405, i64 %2407
  %2409 = getelementptr inbounds %struct.complex, ptr %2408, i32 0, i32 1
  %2410 = load float, ptr %2409, align 4, !tbaa !14
  %2411 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %2412 = load float, ptr %2411, align 4, !tbaa !14
  %2413 = load ptr, ptr %14, align 8, !tbaa !5
  %2414 = load i32, ptr %20, align 4, !tbaa !9
  %2415 = sext i32 %2414 to i64
  %2416 = getelementptr inbounds %struct.complex, ptr %2413, i64 %2415
  %2417 = getelementptr inbounds %struct.complex, ptr %2416, i32 0, i32 0
  %2418 = load float, ptr %2417, align 4, !tbaa !11
  %2419 = fmul float %2412, %2418
  %2420 = call float @llvm.fmuladd.f32(float %2404, float %2410, float %2419)
  %2421 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %2420, ptr %2421, align 4, !tbaa !14
  %2422 = load i32, ptr %49, align 4, !tbaa !9
  %2423 = load i32, ptr %17, align 4, !tbaa !9
  %2424 = mul nsw i32 %2422, %2423
  %2425 = add nsw i32 %2424, 2
  store i32 %2425, ptr %21, align 4, !tbaa !9
  %2426 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %2427 = load float, ptr %2426, align 4, !tbaa !11
  %2428 = load ptr, ptr %14, align 8, !tbaa !5
  %2429 = load i32, ptr %21, align 4, !tbaa !9
  %2430 = sext i32 %2429 to i64
  %2431 = getelementptr inbounds %struct.complex, ptr %2428, i64 %2430
  %2432 = getelementptr inbounds %struct.complex, ptr %2431, i32 0, i32 0
  %2433 = load float, ptr %2432, align 4, !tbaa !11
  %2434 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %2435 = load float, ptr %2434, align 4, !tbaa !14
  %2436 = load ptr, ptr %14, align 8, !tbaa !5
  %2437 = load i32, ptr %21, align 4, !tbaa !9
  %2438 = sext i32 %2437 to i64
  %2439 = getelementptr inbounds %struct.complex, ptr %2436, i64 %2438
  %2440 = getelementptr inbounds %struct.complex, ptr %2439, i32 0, i32 1
  %2441 = load float, ptr %2440, align 4, !tbaa !14
  %2442 = fmul float %2435, %2441
  %2443 = fneg float %2442
  %2444 = call float @llvm.fmuladd.f32(float %2427, float %2433, float %2443)
  %2445 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %2444, ptr %2445, align 4, !tbaa !11
  %2446 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %2447 = load float, ptr %2446, align 4, !tbaa !11
  %2448 = load ptr, ptr %14, align 8, !tbaa !5
  %2449 = load i32, ptr %21, align 4, !tbaa !9
  %2450 = sext i32 %2449 to i64
  %2451 = getelementptr inbounds %struct.complex, ptr %2448, i64 %2450
  %2452 = getelementptr inbounds %struct.complex, ptr %2451, i32 0, i32 1
  %2453 = load float, ptr %2452, align 4, !tbaa !14
  %2454 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %2455 = load float, ptr %2454, align 4, !tbaa !14
  %2456 = load ptr, ptr %14, align 8, !tbaa !5
  %2457 = load i32, ptr %21, align 4, !tbaa !9
  %2458 = sext i32 %2457 to i64
  %2459 = getelementptr inbounds %struct.complex, ptr %2456, i64 %2458
  %2460 = getelementptr inbounds %struct.complex, ptr %2459, i32 0, i32 0
  %2461 = load float, ptr %2460, align 4, !tbaa !11
  %2462 = fmul float %2455, %2461
  %2463 = call float @llvm.fmuladd.f32(float %2447, float %2453, float %2462)
  %2464 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %2463, ptr %2464, align 4, !tbaa !14
  %2465 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %2466 = load float, ptr %2465, align 4, !tbaa !11
  %2467 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %2468 = load float, ptr %2467, align 4, !tbaa !11
  %2469 = fadd float %2466, %2468
  %2470 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %2469, ptr %2470, align 4, !tbaa !11
  %2471 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %2472 = load float, ptr %2471, align 4, !tbaa !14
  %2473 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %2474 = load float, ptr %2473, align 4, !tbaa !14
  %2475 = fadd float %2472, %2474
  %2476 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %2475, ptr %2476, align 4, !tbaa !14
  %2477 = load i32, ptr %49, align 4, !tbaa !9
  %2478 = load i32, ptr %17, align 4, !tbaa !9
  %2479 = mul nsw i32 %2477, %2478
  %2480 = add nsw i32 %2479, 3
  store i32 %2480, ptr %22, align 4, !tbaa !9
  %2481 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %2482 = load float, ptr %2481, align 4, !tbaa !11
  %2483 = load ptr, ptr %14, align 8, !tbaa !5
  %2484 = load i32, ptr %22, align 4, !tbaa !9
  %2485 = sext i32 %2484 to i64
  %2486 = getelementptr inbounds %struct.complex, ptr %2483, i64 %2485
  %2487 = getelementptr inbounds %struct.complex, ptr %2486, i32 0, i32 0
  %2488 = load float, ptr %2487, align 4, !tbaa !11
  %2489 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %2490 = load float, ptr %2489, align 4, !tbaa !14
  %2491 = load ptr, ptr %14, align 8, !tbaa !5
  %2492 = load i32, ptr %22, align 4, !tbaa !9
  %2493 = sext i32 %2492 to i64
  %2494 = getelementptr inbounds %struct.complex, ptr %2491, i64 %2493
  %2495 = getelementptr inbounds %struct.complex, ptr %2494, i32 0, i32 1
  %2496 = load float, ptr %2495, align 4, !tbaa !14
  %2497 = fmul float %2490, %2496
  %2498 = fneg float %2497
  %2499 = call float @llvm.fmuladd.f32(float %2482, float %2488, float %2498)
  %2500 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2499, ptr %2500, align 4, !tbaa !11
  %2501 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %2502 = load float, ptr %2501, align 4, !tbaa !11
  %2503 = load ptr, ptr %14, align 8, !tbaa !5
  %2504 = load i32, ptr %22, align 4, !tbaa !9
  %2505 = sext i32 %2504 to i64
  %2506 = getelementptr inbounds %struct.complex, ptr %2503, i64 %2505
  %2507 = getelementptr inbounds %struct.complex, ptr %2506, i32 0, i32 1
  %2508 = load float, ptr %2507, align 4, !tbaa !14
  %2509 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %2510 = load float, ptr %2509, align 4, !tbaa !14
  %2511 = load ptr, ptr %14, align 8, !tbaa !5
  %2512 = load i32, ptr %22, align 4, !tbaa !9
  %2513 = sext i32 %2512 to i64
  %2514 = getelementptr inbounds %struct.complex, ptr %2511, i64 %2513
  %2515 = getelementptr inbounds %struct.complex, ptr %2514, i32 0, i32 0
  %2516 = load float, ptr %2515, align 4, !tbaa !11
  %2517 = fmul float %2510, %2516
  %2518 = call float @llvm.fmuladd.f32(float %2502, float %2508, float %2517)
  %2519 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2518, ptr %2519, align 4, !tbaa !14
  %2520 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %2521 = load float, ptr %2520, align 4, !tbaa !11
  %2522 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2523 = load float, ptr %2522, align 4, !tbaa !11
  %2524 = fadd float %2521, %2523
  %2525 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2524, ptr %2525, align 4, !tbaa !11
  %2526 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %2527 = load float, ptr %2526, align 4, !tbaa !14
  %2528 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2529 = load float, ptr %2528, align 4, !tbaa !14
  %2530 = fadd float %2527, %2529
  %2531 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2530, ptr %2531, align 4, !tbaa !14
  %2532 = load i32, ptr %49, align 4, !tbaa !9
  %2533 = load i32, ptr %17, align 4, !tbaa !9
  %2534 = mul nsw i32 %2532, %2533
  %2535 = add nsw i32 %2534, 4
  store i32 %2535, ptr %23, align 4, !tbaa !9
  %2536 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %2537 = load float, ptr %2536, align 4, !tbaa !11
  %2538 = load ptr, ptr %14, align 8, !tbaa !5
  %2539 = load i32, ptr %23, align 4, !tbaa !9
  %2540 = sext i32 %2539 to i64
  %2541 = getelementptr inbounds %struct.complex, ptr %2538, i64 %2540
  %2542 = getelementptr inbounds %struct.complex, ptr %2541, i32 0, i32 0
  %2543 = load float, ptr %2542, align 4, !tbaa !11
  %2544 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %2545 = load float, ptr %2544, align 4, !tbaa !14
  %2546 = load ptr, ptr %14, align 8, !tbaa !5
  %2547 = load i32, ptr %23, align 4, !tbaa !9
  %2548 = sext i32 %2547 to i64
  %2549 = getelementptr inbounds %struct.complex, ptr %2546, i64 %2548
  %2550 = getelementptr inbounds %struct.complex, ptr %2549, i32 0, i32 1
  %2551 = load float, ptr %2550, align 4, !tbaa !14
  %2552 = fmul float %2545, %2551
  %2553 = fneg float %2552
  %2554 = call float @llvm.fmuladd.f32(float %2537, float %2543, float %2553)
  %2555 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %2554, ptr %2555, align 4, !tbaa !11
  %2556 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %2557 = load float, ptr %2556, align 4, !tbaa !11
  %2558 = load ptr, ptr %14, align 8, !tbaa !5
  %2559 = load i32, ptr %23, align 4, !tbaa !9
  %2560 = sext i32 %2559 to i64
  %2561 = getelementptr inbounds %struct.complex, ptr %2558, i64 %2560
  %2562 = getelementptr inbounds %struct.complex, ptr %2561, i32 0, i32 1
  %2563 = load float, ptr %2562, align 4, !tbaa !14
  %2564 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %2565 = load float, ptr %2564, align 4, !tbaa !14
  %2566 = load ptr, ptr %14, align 8, !tbaa !5
  %2567 = load i32, ptr %23, align 4, !tbaa !9
  %2568 = sext i32 %2567 to i64
  %2569 = getelementptr inbounds %struct.complex, ptr %2566, i64 %2568
  %2570 = getelementptr inbounds %struct.complex, ptr %2569, i32 0, i32 0
  %2571 = load float, ptr %2570, align 4, !tbaa !11
  %2572 = fmul float %2565, %2571
  %2573 = call float @llvm.fmuladd.f32(float %2557, float %2563, float %2572)
  %2574 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %2573, ptr %2574, align 4, !tbaa !14
  %2575 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2576 = load float, ptr %2575, align 4, !tbaa !11
  %2577 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %2578 = load float, ptr %2577, align 4, !tbaa !11
  %2579 = fadd float %2576, %2578
  %2580 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2579, ptr %2580, align 4, !tbaa !11
  %2581 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2582 = load float, ptr %2581, align 4, !tbaa !14
  %2583 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %2584 = load float, ptr %2583, align 4, !tbaa !14
  %2585 = fadd float %2582, %2584
  %2586 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2585, ptr %2586, align 4, !tbaa !14
  %2587 = load i32, ptr %49, align 4, !tbaa !9
  %2588 = load i32, ptr %17, align 4, !tbaa !9
  %2589 = mul nsw i32 %2587, %2588
  %2590 = add nsw i32 %2589, 5
  store i32 %2590, ptr %24, align 4, !tbaa !9
  %2591 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %2592 = load float, ptr %2591, align 4, !tbaa !11
  %2593 = load ptr, ptr %14, align 8, !tbaa !5
  %2594 = load i32, ptr %24, align 4, !tbaa !9
  %2595 = sext i32 %2594 to i64
  %2596 = getelementptr inbounds %struct.complex, ptr %2593, i64 %2595
  %2597 = getelementptr inbounds %struct.complex, ptr %2596, i32 0, i32 0
  %2598 = load float, ptr %2597, align 4, !tbaa !11
  %2599 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %2600 = load float, ptr %2599, align 4, !tbaa !14
  %2601 = load ptr, ptr %14, align 8, !tbaa !5
  %2602 = load i32, ptr %24, align 4, !tbaa !9
  %2603 = sext i32 %2602 to i64
  %2604 = getelementptr inbounds %struct.complex, ptr %2601, i64 %2603
  %2605 = getelementptr inbounds %struct.complex, ptr %2604, i32 0, i32 1
  %2606 = load float, ptr %2605, align 4, !tbaa !14
  %2607 = fmul float %2600, %2606
  %2608 = fneg float %2607
  %2609 = call float @llvm.fmuladd.f32(float %2592, float %2598, float %2608)
  %2610 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %2609, ptr %2610, align 4, !tbaa !11
  %2611 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %2612 = load float, ptr %2611, align 4, !tbaa !11
  %2613 = load ptr, ptr %14, align 8, !tbaa !5
  %2614 = load i32, ptr %24, align 4, !tbaa !9
  %2615 = sext i32 %2614 to i64
  %2616 = getelementptr inbounds %struct.complex, ptr %2613, i64 %2615
  %2617 = getelementptr inbounds %struct.complex, ptr %2616, i32 0, i32 1
  %2618 = load float, ptr %2617, align 4, !tbaa !14
  %2619 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %2620 = load float, ptr %2619, align 4, !tbaa !14
  %2621 = load ptr, ptr %14, align 8, !tbaa !5
  %2622 = load i32, ptr %24, align 4, !tbaa !9
  %2623 = sext i32 %2622 to i64
  %2624 = getelementptr inbounds %struct.complex, ptr %2621, i64 %2623
  %2625 = getelementptr inbounds %struct.complex, ptr %2624, i32 0, i32 0
  %2626 = load float, ptr %2625, align 4, !tbaa !11
  %2627 = fmul float %2620, %2626
  %2628 = call float @llvm.fmuladd.f32(float %2612, float %2618, float %2627)
  %2629 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %2628, ptr %2629, align 4, !tbaa !14
  %2630 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2631 = load float, ptr %2630, align 4, !tbaa !11
  %2632 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %2633 = load float, ptr %2632, align 4, !tbaa !11
  %2634 = fadd float %2631, %2633
  %2635 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2634, ptr %2635, align 4, !tbaa !11
  %2636 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2637 = load float, ptr %2636, align 4, !tbaa !14
  %2638 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %2639 = load float, ptr %2638, align 4, !tbaa !14
  %2640 = fadd float %2637, %2639
  %2641 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2640, ptr %2641, align 4, !tbaa !14
  %2642 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2643 = load float, ptr %2642, align 4, !tbaa !11
  %2644 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %2643, ptr %2644, align 4, !tbaa !11
  %2645 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2646 = load float, ptr %2645, align 4, !tbaa !14
  %2647 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %2646, ptr %2647, align 4, !tbaa !14
  %2648 = load i32, ptr %49, align 4, !tbaa !9
  %2649 = load i32, ptr %17, align 4, !tbaa !9
  %2650 = mul nsw i32 %2648, %2649
  %2651 = add nsw i32 %2650, 1
  store i32 %2651, ptr %20, align 4, !tbaa !9
  %2652 = load i32, ptr %49, align 4, !tbaa !9
  %2653 = load i32, ptr %17, align 4, !tbaa !9
  %2654 = mul nsw i32 %2652, %2653
  %2655 = add nsw i32 %2654, 1
  store i32 %2655, ptr %21, align 4, !tbaa !9
  %2656 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2657 = load float, ptr %2656, align 4, !tbaa !11
  %2658 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %2659 = load float, ptr %2658, align 4, !tbaa !11
  %2660 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2661 = load float, ptr %2660, align 4, !tbaa !14
  %2662 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %2663 = load float, ptr %2662, align 4, !tbaa !14
  %2664 = fmul float %2661, %2663
  %2665 = fneg float %2664
  %2666 = call float @llvm.fmuladd.f32(float %2657, float %2659, float %2665)
  %2667 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2666, ptr %2667, align 4, !tbaa !11
  %2668 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2669 = load float, ptr %2668, align 4, !tbaa !11
  %2670 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %2671 = load float, ptr %2670, align 4, !tbaa !14
  %2672 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2673 = load float, ptr %2672, align 4, !tbaa !14
  %2674 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %2675 = load float, ptr %2674, align 4, !tbaa !11
  %2676 = fmul float %2673, %2675
  %2677 = call float @llvm.fmuladd.f32(float %2669, float %2671, float %2676)
  %2678 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2677, ptr %2678, align 4, !tbaa !14
  %2679 = load ptr, ptr %14, align 8, !tbaa !5
  %2680 = load i32, ptr %21, align 4, !tbaa !9
  %2681 = sext i32 %2680 to i64
  %2682 = getelementptr inbounds %struct.complex, ptr %2679, i64 %2681
  %2683 = getelementptr inbounds %struct.complex, ptr %2682, i32 0, i32 0
  %2684 = load float, ptr %2683, align 4, !tbaa !11
  %2685 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2686 = load float, ptr %2685, align 4, !tbaa !11
  %2687 = fsub float %2684, %2686
  %2688 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2687, ptr %2688, align 4, !tbaa !11
  %2689 = load ptr, ptr %14, align 8, !tbaa !5
  %2690 = load i32, ptr %21, align 4, !tbaa !9
  %2691 = sext i32 %2690 to i64
  %2692 = getelementptr inbounds %struct.complex, ptr %2689, i64 %2691
  %2693 = getelementptr inbounds %struct.complex, ptr %2692, i32 0, i32 1
  %2694 = load float, ptr %2693, align 4, !tbaa !14
  %2695 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2696 = load float, ptr %2695, align 4, !tbaa !14
  %2697 = fsub float %2694, %2696
  %2698 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2697, ptr %2698, align 4, !tbaa !14
  %2699 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2700 = load float, ptr %2699, align 4, !tbaa !11
  %2701 = load ptr, ptr %14, align 8, !tbaa !5
  %2702 = load i32, ptr %20, align 4, !tbaa !9
  %2703 = sext i32 %2702 to i64
  %2704 = getelementptr inbounds %struct.complex, ptr %2701, i64 %2703
  %2705 = getelementptr inbounds %struct.complex, ptr %2704, i32 0, i32 0
  store float %2700, ptr %2705, align 4, !tbaa !11
  %2706 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2707 = load float, ptr %2706, align 4, !tbaa !14
  %2708 = load ptr, ptr %14, align 8, !tbaa !5
  %2709 = load i32, ptr %20, align 4, !tbaa !9
  %2710 = sext i32 %2709 to i64
  %2711 = getelementptr inbounds %struct.complex, ptr %2708, i64 %2710
  %2712 = getelementptr inbounds %struct.complex, ptr %2711, i32 0, i32 1
  store float %2707, ptr %2712, align 4, !tbaa !14
  %2713 = load i32, ptr %49, align 4, !tbaa !9
  %2714 = load i32, ptr %17, align 4, !tbaa !9
  %2715 = mul nsw i32 %2713, %2714
  %2716 = add nsw i32 %2715, 2
  store i32 %2716, ptr %20, align 4, !tbaa !9
  %2717 = load i32, ptr %49, align 4, !tbaa !9
  %2718 = load i32, ptr %17, align 4, !tbaa !9
  %2719 = mul nsw i32 %2717, %2718
  %2720 = add nsw i32 %2719, 2
  store i32 %2720, ptr %21, align 4, !tbaa !9
  %2721 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2722 = load float, ptr %2721, align 4, !tbaa !11
  %2723 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %2724 = load float, ptr %2723, align 4, !tbaa !11
  %2725 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2726 = load float, ptr %2725, align 4, !tbaa !14
  %2727 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %2728 = load float, ptr %2727, align 4, !tbaa !14
  %2729 = fmul float %2726, %2728
  %2730 = fneg float %2729
  %2731 = call float @llvm.fmuladd.f32(float %2722, float %2724, float %2730)
  %2732 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2731, ptr %2732, align 4, !tbaa !11
  %2733 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2734 = load float, ptr %2733, align 4, !tbaa !11
  %2735 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %2736 = load float, ptr %2735, align 4, !tbaa !14
  %2737 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2738 = load float, ptr %2737, align 4, !tbaa !14
  %2739 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %2740 = load float, ptr %2739, align 4, !tbaa !11
  %2741 = fmul float %2738, %2740
  %2742 = call float @llvm.fmuladd.f32(float %2734, float %2736, float %2741)
  %2743 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2742, ptr %2743, align 4, !tbaa !14
  %2744 = load ptr, ptr %14, align 8, !tbaa !5
  %2745 = load i32, ptr %21, align 4, !tbaa !9
  %2746 = sext i32 %2745 to i64
  %2747 = getelementptr inbounds %struct.complex, ptr %2744, i64 %2746
  %2748 = getelementptr inbounds %struct.complex, ptr %2747, i32 0, i32 0
  %2749 = load float, ptr %2748, align 4, !tbaa !11
  %2750 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2751 = load float, ptr %2750, align 4, !tbaa !11
  %2752 = fsub float %2749, %2751
  %2753 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2752, ptr %2753, align 4, !tbaa !11
  %2754 = load ptr, ptr %14, align 8, !tbaa !5
  %2755 = load i32, ptr %21, align 4, !tbaa !9
  %2756 = sext i32 %2755 to i64
  %2757 = getelementptr inbounds %struct.complex, ptr %2754, i64 %2756
  %2758 = getelementptr inbounds %struct.complex, ptr %2757, i32 0, i32 1
  %2759 = load float, ptr %2758, align 4, !tbaa !14
  %2760 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2761 = load float, ptr %2760, align 4, !tbaa !14
  %2762 = fsub float %2759, %2761
  %2763 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2762, ptr %2763, align 4, !tbaa !14
  %2764 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2765 = load float, ptr %2764, align 4, !tbaa !11
  %2766 = load ptr, ptr %14, align 8, !tbaa !5
  %2767 = load i32, ptr %20, align 4, !tbaa !9
  %2768 = sext i32 %2767 to i64
  %2769 = getelementptr inbounds %struct.complex, ptr %2766, i64 %2768
  %2770 = getelementptr inbounds %struct.complex, ptr %2769, i32 0, i32 0
  store float %2765, ptr %2770, align 4, !tbaa !11
  %2771 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2772 = load float, ptr %2771, align 4, !tbaa !14
  %2773 = load ptr, ptr %14, align 8, !tbaa !5
  %2774 = load i32, ptr %20, align 4, !tbaa !9
  %2775 = sext i32 %2774 to i64
  %2776 = getelementptr inbounds %struct.complex, ptr %2773, i64 %2775
  %2777 = getelementptr inbounds %struct.complex, ptr %2776, i32 0, i32 1
  store float %2772, ptr %2777, align 4, !tbaa !14
  %2778 = load i32, ptr %49, align 4, !tbaa !9
  %2779 = load i32, ptr %17, align 4, !tbaa !9
  %2780 = mul nsw i32 %2778, %2779
  %2781 = add nsw i32 %2780, 3
  store i32 %2781, ptr %20, align 4, !tbaa !9
  %2782 = load i32, ptr %49, align 4, !tbaa !9
  %2783 = load i32, ptr %17, align 4, !tbaa !9
  %2784 = mul nsw i32 %2782, %2783
  %2785 = add nsw i32 %2784, 3
  store i32 %2785, ptr %21, align 4, !tbaa !9
  %2786 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2787 = load float, ptr %2786, align 4, !tbaa !11
  %2788 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2789 = load float, ptr %2788, align 4, !tbaa !11
  %2790 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2791 = load float, ptr %2790, align 4, !tbaa !14
  %2792 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2793 = load float, ptr %2792, align 4, !tbaa !14
  %2794 = fmul float %2791, %2793
  %2795 = fneg float %2794
  %2796 = call float @llvm.fmuladd.f32(float %2787, float %2789, float %2795)
  %2797 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2796, ptr %2797, align 4, !tbaa !11
  %2798 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2799 = load float, ptr %2798, align 4, !tbaa !11
  %2800 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2801 = load float, ptr %2800, align 4, !tbaa !14
  %2802 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2803 = load float, ptr %2802, align 4, !tbaa !14
  %2804 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2805 = load float, ptr %2804, align 4, !tbaa !11
  %2806 = fmul float %2803, %2805
  %2807 = call float @llvm.fmuladd.f32(float %2799, float %2801, float %2806)
  %2808 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2807, ptr %2808, align 4, !tbaa !14
  %2809 = load ptr, ptr %14, align 8, !tbaa !5
  %2810 = load i32, ptr %21, align 4, !tbaa !9
  %2811 = sext i32 %2810 to i64
  %2812 = getelementptr inbounds %struct.complex, ptr %2809, i64 %2811
  %2813 = getelementptr inbounds %struct.complex, ptr %2812, i32 0, i32 0
  %2814 = load float, ptr %2813, align 4, !tbaa !11
  %2815 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2816 = load float, ptr %2815, align 4, !tbaa !11
  %2817 = fsub float %2814, %2816
  %2818 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2817, ptr %2818, align 4, !tbaa !11
  %2819 = load ptr, ptr %14, align 8, !tbaa !5
  %2820 = load i32, ptr %21, align 4, !tbaa !9
  %2821 = sext i32 %2820 to i64
  %2822 = getelementptr inbounds %struct.complex, ptr %2819, i64 %2821
  %2823 = getelementptr inbounds %struct.complex, ptr %2822, i32 0, i32 1
  %2824 = load float, ptr %2823, align 4, !tbaa !14
  %2825 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2826 = load float, ptr %2825, align 4, !tbaa !14
  %2827 = fsub float %2824, %2826
  %2828 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2827, ptr %2828, align 4, !tbaa !14
  %2829 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2830 = load float, ptr %2829, align 4, !tbaa !11
  %2831 = load ptr, ptr %14, align 8, !tbaa !5
  %2832 = load i32, ptr %20, align 4, !tbaa !9
  %2833 = sext i32 %2832 to i64
  %2834 = getelementptr inbounds %struct.complex, ptr %2831, i64 %2833
  %2835 = getelementptr inbounds %struct.complex, ptr %2834, i32 0, i32 0
  store float %2830, ptr %2835, align 4, !tbaa !11
  %2836 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2837 = load float, ptr %2836, align 4, !tbaa !14
  %2838 = load ptr, ptr %14, align 8, !tbaa !5
  %2839 = load i32, ptr %20, align 4, !tbaa !9
  %2840 = sext i32 %2839 to i64
  %2841 = getelementptr inbounds %struct.complex, ptr %2838, i64 %2840
  %2842 = getelementptr inbounds %struct.complex, ptr %2841, i32 0, i32 1
  store float %2837, ptr %2842, align 4, !tbaa !14
  %2843 = load i32, ptr %49, align 4, !tbaa !9
  %2844 = load i32, ptr %17, align 4, !tbaa !9
  %2845 = mul nsw i32 %2843, %2844
  %2846 = add nsw i32 %2845, 4
  store i32 %2846, ptr %20, align 4, !tbaa !9
  %2847 = load i32, ptr %49, align 4, !tbaa !9
  %2848 = load i32, ptr %17, align 4, !tbaa !9
  %2849 = mul nsw i32 %2847, %2848
  %2850 = add nsw i32 %2849, 4
  store i32 %2850, ptr %21, align 4, !tbaa !9
  %2851 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2852 = load float, ptr %2851, align 4, !tbaa !11
  %2853 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %2854 = load float, ptr %2853, align 4, !tbaa !11
  %2855 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2856 = load float, ptr %2855, align 4, !tbaa !14
  %2857 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %2858 = load float, ptr %2857, align 4, !tbaa !14
  %2859 = fmul float %2856, %2858
  %2860 = fneg float %2859
  %2861 = call float @llvm.fmuladd.f32(float %2852, float %2854, float %2860)
  %2862 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2861, ptr %2862, align 4, !tbaa !11
  %2863 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2864 = load float, ptr %2863, align 4, !tbaa !11
  %2865 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %2866 = load float, ptr %2865, align 4, !tbaa !14
  %2867 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2868 = load float, ptr %2867, align 4, !tbaa !14
  %2869 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %2870 = load float, ptr %2869, align 4, !tbaa !11
  %2871 = fmul float %2868, %2870
  %2872 = call float @llvm.fmuladd.f32(float %2864, float %2866, float %2871)
  %2873 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2872, ptr %2873, align 4, !tbaa !14
  %2874 = load ptr, ptr %14, align 8, !tbaa !5
  %2875 = load i32, ptr %21, align 4, !tbaa !9
  %2876 = sext i32 %2875 to i64
  %2877 = getelementptr inbounds %struct.complex, ptr %2874, i64 %2876
  %2878 = getelementptr inbounds %struct.complex, ptr %2877, i32 0, i32 0
  %2879 = load float, ptr %2878, align 4, !tbaa !11
  %2880 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2881 = load float, ptr %2880, align 4, !tbaa !11
  %2882 = fsub float %2879, %2881
  %2883 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2882, ptr %2883, align 4, !tbaa !11
  %2884 = load ptr, ptr %14, align 8, !tbaa !5
  %2885 = load i32, ptr %21, align 4, !tbaa !9
  %2886 = sext i32 %2885 to i64
  %2887 = getelementptr inbounds %struct.complex, ptr %2884, i64 %2886
  %2888 = getelementptr inbounds %struct.complex, ptr %2887, i32 0, i32 1
  %2889 = load float, ptr %2888, align 4, !tbaa !14
  %2890 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2891 = load float, ptr %2890, align 4, !tbaa !14
  %2892 = fsub float %2889, %2891
  %2893 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2892, ptr %2893, align 4, !tbaa !14
  %2894 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2895 = load float, ptr %2894, align 4, !tbaa !11
  %2896 = load ptr, ptr %14, align 8, !tbaa !5
  %2897 = load i32, ptr %20, align 4, !tbaa !9
  %2898 = sext i32 %2897 to i64
  %2899 = getelementptr inbounds %struct.complex, ptr %2896, i64 %2898
  %2900 = getelementptr inbounds %struct.complex, ptr %2899, i32 0, i32 0
  store float %2895, ptr %2900, align 4, !tbaa !11
  %2901 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2902 = load float, ptr %2901, align 4, !tbaa !14
  %2903 = load ptr, ptr %14, align 8, !tbaa !5
  %2904 = load i32, ptr %20, align 4, !tbaa !9
  %2905 = sext i32 %2904 to i64
  %2906 = getelementptr inbounds %struct.complex, ptr %2903, i64 %2905
  %2907 = getelementptr inbounds %struct.complex, ptr %2906, i32 0, i32 1
  store float %2902, ptr %2907, align 4, !tbaa !14
  %2908 = load i32, ptr %49, align 4, !tbaa !9
  %2909 = load i32, ptr %17, align 4, !tbaa !9
  %2910 = mul nsw i32 %2908, %2909
  %2911 = add nsw i32 %2910, 5
  store i32 %2911, ptr %20, align 4, !tbaa !9
  %2912 = load i32, ptr %49, align 4, !tbaa !9
  %2913 = load i32, ptr %17, align 4, !tbaa !9
  %2914 = mul nsw i32 %2912, %2913
  %2915 = add nsw i32 %2914, 5
  store i32 %2915, ptr %21, align 4, !tbaa !9
  %2916 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2917 = load float, ptr %2916, align 4, !tbaa !11
  %2918 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2919 = load float, ptr %2918, align 4, !tbaa !11
  %2920 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2921 = load float, ptr %2920, align 4, !tbaa !14
  %2922 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2923 = load float, ptr %2922, align 4, !tbaa !14
  %2924 = fmul float %2921, %2923
  %2925 = fneg float %2924
  %2926 = call float @llvm.fmuladd.f32(float %2917, float %2919, float %2925)
  %2927 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2926, ptr %2927, align 4, !tbaa !11
  %2928 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %2929 = load float, ptr %2928, align 4, !tbaa !11
  %2930 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2931 = load float, ptr %2930, align 4, !tbaa !14
  %2932 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %2933 = load float, ptr %2932, align 4, !tbaa !14
  %2934 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2935 = load float, ptr %2934, align 4, !tbaa !11
  %2936 = fmul float %2933, %2935
  %2937 = call float @llvm.fmuladd.f32(float %2929, float %2931, float %2936)
  %2938 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2937, ptr %2938, align 4, !tbaa !14
  %2939 = load ptr, ptr %14, align 8, !tbaa !5
  %2940 = load i32, ptr %21, align 4, !tbaa !9
  %2941 = sext i32 %2940 to i64
  %2942 = getelementptr inbounds %struct.complex, ptr %2939, i64 %2941
  %2943 = getelementptr inbounds %struct.complex, ptr %2942, i32 0, i32 0
  %2944 = load float, ptr %2943, align 4, !tbaa !11
  %2945 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2946 = load float, ptr %2945, align 4, !tbaa !11
  %2947 = fsub float %2944, %2946
  %2948 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %2947, ptr %2948, align 4, !tbaa !11
  %2949 = load ptr, ptr %14, align 8, !tbaa !5
  %2950 = load i32, ptr %21, align 4, !tbaa !9
  %2951 = sext i32 %2950 to i64
  %2952 = getelementptr inbounds %struct.complex, ptr %2949, i64 %2951
  %2953 = getelementptr inbounds %struct.complex, ptr %2952, i32 0, i32 1
  %2954 = load float, ptr %2953, align 4, !tbaa !14
  %2955 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2956 = load float, ptr %2955, align 4, !tbaa !14
  %2957 = fsub float %2954, %2956
  %2958 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %2957, ptr %2958, align 4, !tbaa !14
  %2959 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2960 = load float, ptr %2959, align 4, !tbaa !11
  %2961 = load ptr, ptr %14, align 8, !tbaa !5
  %2962 = load i32, ptr %20, align 4, !tbaa !9
  %2963 = sext i32 %2962 to i64
  %2964 = getelementptr inbounds %struct.complex, ptr %2961, i64 %2963
  %2965 = getelementptr inbounds %struct.complex, ptr %2964, i32 0, i32 0
  store float %2960, ptr %2965, align 4, !tbaa !11
  %2966 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2967 = load float, ptr %2966, align 4, !tbaa !14
  %2968 = load ptr, ptr %14, align 8, !tbaa !5
  %2969 = load i32, ptr %20, align 4, !tbaa !9
  %2970 = sext i32 %2969 to i64
  %2971 = getelementptr inbounds %struct.complex, ptr %2968, i64 %2970
  %2972 = getelementptr inbounds %struct.complex, ptr %2971, i32 0, i32 1
  store float %2967, ptr %2972, align 4, !tbaa !14
  br label %2973

2973:                                             ; preds = %2378
  %2974 = load i32, ptr %49, align 4, !tbaa !9
  %2975 = add nsw i32 %2974, 1
  store i32 %2975, ptr %49, align 4, !tbaa !9
  br label %2374, !llvm.loop !20

2976:                                             ; preds = %2374
  br label %19663

2977:                                             ; preds = %272
  %2978 = load ptr, ptr %12, align 8, !tbaa !5
  %2979 = getelementptr inbounds %struct.complex, ptr %2978, i64 1
  %2980 = call <2 x float> @Cf(ptr noundef %2979)
  store <2 x float> %2980, ptr %101, align 4
  %2981 = getelementptr inbounds { float, float }, ptr %101, i32 0, i32 0
  %2982 = load float, ptr %2981, align 4
  %2983 = getelementptr inbounds { float, float }, ptr %101, i32 0, i32 1
  %2984 = load float, ptr %2983, align 4
  %2985 = fneg float %2984
  %2986 = call ptr @_pCf(ptr noundef %30)
  %2987 = getelementptr inbounds { float, float }, ptr %2986, i32 0, i32 0
  %2988 = getelementptr inbounds { float, float }, ptr %2986, i32 0, i32 1
  store float %2982, ptr %2987, align 4
  store float %2985, ptr %2988, align 4
  %2989 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %2990 = load float, ptr %2989, align 4, !tbaa !11
  %2991 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %2990, ptr %2991, align 4, !tbaa !11
  %2992 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %2993 = load float, ptr %2992, align 4, !tbaa !14
  %2994 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %2993, ptr %2994, align 4, !tbaa !14
  %2995 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %2995, ptr %102, align 4
  %2996 = getelementptr inbounds { float, float }, ptr %102, i32 0, i32 0
  %2997 = load float, ptr %2996, align 4
  %2998 = getelementptr inbounds { float, float }, ptr %102, i32 0, i32 1
  %2999 = load float, ptr %2998, align 4
  %3000 = fneg float %2999
  %3001 = call ptr @_pCf(ptr noundef %31)
  %3002 = getelementptr inbounds { float, float }, ptr %3001, i32 0, i32 0
  %3003 = getelementptr inbounds { float, float }, ptr %3001, i32 0, i32 1
  store float %2997, ptr %3002, align 4
  store float %3000, ptr %3003, align 4
  %3004 = load ptr, ptr %13, align 8, !tbaa !5
  %3005 = getelementptr inbounds %struct.complex, ptr %3004, i32 0, i32 0
  %3006 = load float, ptr %3005, align 4, !tbaa !11
  %3007 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3008 = load float, ptr %3007, align 4, !tbaa !11
  %3009 = load ptr, ptr %13, align 8, !tbaa !5
  %3010 = getelementptr inbounds %struct.complex, ptr %3009, i32 0, i32 1
  %3011 = load float, ptr %3010, align 4, !tbaa !14
  %3012 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3013 = load float, ptr %3012, align 4, !tbaa !14
  %3014 = fmul float %3011, %3013
  %3015 = fneg float %3014
  %3016 = call float @llvm.fmuladd.f32(float %3006, float %3008, float %3015)
  %3017 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3016, ptr %3017, align 4, !tbaa !11
  %3018 = load ptr, ptr %13, align 8, !tbaa !5
  %3019 = getelementptr inbounds %struct.complex, ptr %3018, i32 0, i32 0
  %3020 = load float, ptr %3019, align 4, !tbaa !11
  %3021 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3022 = load float, ptr %3021, align 4, !tbaa !14
  %3023 = load ptr, ptr %13, align 8, !tbaa !5
  %3024 = getelementptr inbounds %struct.complex, ptr %3023, i32 0, i32 1
  %3025 = load float, ptr %3024, align 4, !tbaa !14
  %3026 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3027 = load float, ptr %3026, align 4, !tbaa !11
  %3028 = fmul float %3025, %3027
  %3029 = call float @llvm.fmuladd.f32(float %3020, float %3022, float %3028)
  %3030 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3029, ptr %3030, align 4, !tbaa !14
  %3031 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3032 = load float, ptr %3031, align 4, !tbaa !11
  %3033 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %3032, ptr %3033, align 4, !tbaa !11
  %3034 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3035 = load float, ptr %3034, align 4, !tbaa !14
  %3036 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %3035, ptr %3036, align 4, !tbaa !14
  %3037 = load ptr, ptr %12, align 8, !tbaa !5
  %3038 = getelementptr inbounds %struct.complex, ptr %3037, i64 2
  %3039 = call <2 x float> @Cf(ptr noundef %3038)
  store <2 x float> %3039, ptr %103, align 4
  %3040 = getelementptr inbounds { float, float }, ptr %103, i32 0, i32 0
  %3041 = load float, ptr %3040, align 4
  %3042 = getelementptr inbounds { float, float }, ptr %103, i32 0, i32 1
  %3043 = load float, ptr %3042, align 4
  %3044 = fneg float %3043
  %3045 = call ptr @_pCf(ptr noundef %30)
  %3046 = getelementptr inbounds { float, float }, ptr %3045, i32 0, i32 0
  %3047 = getelementptr inbounds { float, float }, ptr %3045, i32 0, i32 1
  store float %3041, ptr %3046, align 4
  store float %3044, ptr %3047, align 4
  %3048 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3049 = load float, ptr %3048, align 4, !tbaa !11
  %3050 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %3049, ptr %3050, align 4, !tbaa !11
  %3051 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3052 = load float, ptr %3051, align 4, !tbaa !14
  %3053 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %3052, ptr %3053, align 4, !tbaa !14
  %3054 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %3054, ptr %104, align 4
  %3055 = getelementptr inbounds { float, float }, ptr %104, i32 0, i32 0
  %3056 = load float, ptr %3055, align 4
  %3057 = getelementptr inbounds { float, float }, ptr %104, i32 0, i32 1
  %3058 = load float, ptr %3057, align 4
  %3059 = fneg float %3058
  %3060 = call ptr @_pCf(ptr noundef %31)
  %3061 = getelementptr inbounds { float, float }, ptr %3060, i32 0, i32 0
  %3062 = getelementptr inbounds { float, float }, ptr %3060, i32 0, i32 1
  store float %3056, ptr %3061, align 4
  store float %3059, ptr %3062, align 4
  %3063 = load ptr, ptr %13, align 8, !tbaa !5
  %3064 = getelementptr inbounds %struct.complex, ptr %3063, i32 0, i32 0
  %3065 = load float, ptr %3064, align 4, !tbaa !11
  %3066 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3067 = load float, ptr %3066, align 4, !tbaa !11
  %3068 = load ptr, ptr %13, align 8, !tbaa !5
  %3069 = getelementptr inbounds %struct.complex, ptr %3068, i32 0, i32 1
  %3070 = load float, ptr %3069, align 4, !tbaa !14
  %3071 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3072 = load float, ptr %3071, align 4, !tbaa !14
  %3073 = fmul float %3070, %3072
  %3074 = fneg float %3073
  %3075 = call float @llvm.fmuladd.f32(float %3065, float %3067, float %3074)
  %3076 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3075, ptr %3076, align 4, !tbaa !11
  %3077 = load ptr, ptr %13, align 8, !tbaa !5
  %3078 = getelementptr inbounds %struct.complex, ptr %3077, i32 0, i32 0
  %3079 = load float, ptr %3078, align 4, !tbaa !11
  %3080 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3081 = load float, ptr %3080, align 4, !tbaa !14
  %3082 = load ptr, ptr %13, align 8, !tbaa !5
  %3083 = getelementptr inbounds %struct.complex, ptr %3082, i32 0, i32 1
  %3084 = load float, ptr %3083, align 4, !tbaa !14
  %3085 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3086 = load float, ptr %3085, align 4, !tbaa !11
  %3087 = fmul float %3084, %3086
  %3088 = call float @llvm.fmuladd.f32(float %3079, float %3081, float %3087)
  %3089 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3088, ptr %3089, align 4, !tbaa !14
  %3090 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3091 = load float, ptr %3090, align 4, !tbaa !11
  %3092 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %3091, ptr %3092, align 4, !tbaa !11
  %3093 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3094 = load float, ptr %3093, align 4, !tbaa !14
  %3095 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %3094, ptr %3095, align 4, !tbaa !14
  %3096 = load ptr, ptr %12, align 8, !tbaa !5
  %3097 = getelementptr inbounds %struct.complex, ptr %3096, i64 3
  %3098 = call <2 x float> @Cf(ptr noundef %3097)
  store <2 x float> %3098, ptr %105, align 4
  %3099 = getelementptr inbounds { float, float }, ptr %105, i32 0, i32 0
  %3100 = load float, ptr %3099, align 4
  %3101 = getelementptr inbounds { float, float }, ptr %105, i32 0, i32 1
  %3102 = load float, ptr %3101, align 4
  %3103 = fneg float %3102
  %3104 = call ptr @_pCf(ptr noundef %30)
  %3105 = getelementptr inbounds { float, float }, ptr %3104, i32 0, i32 0
  %3106 = getelementptr inbounds { float, float }, ptr %3104, i32 0, i32 1
  store float %3100, ptr %3105, align 4
  store float %3103, ptr %3106, align 4
  %3107 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3108 = load float, ptr %3107, align 4, !tbaa !11
  %3109 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %3108, ptr %3109, align 4, !tbaa !11
  %3110 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3111 = load float, ptr %3110, align 4, !tbaa !14
  %3112 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %3111, ptr %3112, align 4, !tbaa !14
  %3113 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %3113, ptr %106, align 4
  %3114 = getelementptr inbounds { float, float }, ptr %106, i32 0, i32 0
  %3115 = load float, ptr %3114, align 4
  %3116 = getelementptr inbounds { float, float }, ptr %106, i32 0, i32 1
  %3117 = load float, ptr %3116, align 4
  %3118 = fneg float %3117
  %3119 = call ptr @_pCf(ptr noundef %31)
  %3120 = getelementptr inbounds { float, float }, ptr %3119, i32 0, i32 0
  %3121 = getelementptr inbounds { float, float }, ptr %3119, i32 0, i32 1
  store float %3115, ptr %3120, align 4
  store float %3118, ptr %3121, align 4
  %3122 = load ptr, ptr %13, align 8, !tbaa !5
  %3123 = getelementptr inbounds %struct.complex, ptr %3122, i32 0, i32 0
  %3124 = load float, ptr %3123, align 4, !tbaa !11
  %3125 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3126 = load float, ptr %3125, align 4, !tbaa !11
  %3127 = load ptr, ptr %13, align 8, !tbaa !5
  %3128 = getelementptr inbounds %struct.complex, ptr %3127, i32 0, i32 1
  %3129 = load float, ptr %3128, align 4, !tbaa !14
  %3130 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3131 = load float, ptr %3130, align 4, !tbaa !14
  %3132 = fmul float %3129, %3131
  %3133 = fneg float %3132
  %3134 = call float @llvm.fmuladd.f32(float %3124, float %3126, float %3133)
  %3135 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3134, ptr %3135, align 4, !tbaa !11
  %3136 = load ptr, ptr %13, align 8, !tbaa !5
  %3137 = getelementptr inbounds %struct.complex, ptr %3136, i32 0, i32 0
  %3138 = load float, ptr %3137, align 4, !tbaa !11
  %3139 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3140 = load float, ptr %3139, align 4, !tbaa !14
  %3141 = load ptr, ptr %13, align 8, !tbaa !5
  %3142 = getelementptr inbounds %struct.complex, ptr %3141, i32 0, i32 1
  %3143 = load float, ptr %3142, align 4, !tbaa !14
  %3144 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3145 = load float, ptr %3144, align 4, !tbaa !11
  %3146 = fmul float %3143, %3145
  %3147 = call float @llvm.fmuladd.f32(float %3138, float %3140, float %3146)
  %3148 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3147, ptr %3148, align 4, !tbaa !14
  %3149 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3150 = load float, ptr %3149, align 4, !tbaa !11
  %3151 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %3150, ptr %3151, align 4, !tbaa !11
  %3152 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3153 = load float, ptr %3152, align 4, !tbaa !14
  %3154 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %3153, ptr %3154, align 4, !tbaa !14
  %3155 = load ptr, ptr %12, align 8, !tbaa !5
  %3156 = getelementptr inbounds %struct.complex, ptr %3155, i64 4
  %3157 = call <2 x float> @Cf(ptr noundef %3156)
  store <2 x float> %3157, ptr %107, align 4
  %3158 = getelementptr inbounds { float, float }, ptr %107, i32 0, i32 0
  %3159 = load float, ptr %3158, align 4
  %3160 = getelementptr inbounds { float, float }, ptr %107, i32 0, i32 1
  %3161 = load float, ptr %3160, align 4
  %3162 = fneg float %3161
  %3163 = call ptr @_pCf(ptr noundef %30)
  %3164 = getelementptr inbounds { float, float }, ptr %3163, i32 0, i32 0
  %3165 = getelementptr inbounds { float, float }, ptr %3163, i32 0, i32 1
  store float %3159, ptr %3164, align 4
  store float %3162, ptr %3165, align 4
  %3166 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3167 = load float, ptr %3166, align 4, !tbaa !11
  %3168 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %3167, ptr %3168, align 4, !tbaa !11
  %3169 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3170 = load float, ptr %3169, align 4, !tbaa !14
  %3171 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %3170, ptr %3171, align 4, !tbaa !14
  %3172 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %3172, ptr %108, align 4
  %3173 = getelementptr inbounds { float, float }, ptr %108, i32 0, i32 0
  %3174 = load float, ptr %3173, align 4
  %3175 = getelementptr inbounds { float, float }, ptr %108, i32 0, i32 1
  %3176 = load float, ptr %3175, align 4
  %3177 = fneg float %3176
  %3178 = call ptr @_pCf(ptr noundef %31)
  %3179 = getelementptr inbounds { float, float }, ptr %3178, i32 0, i32 0
  %3180 = getelementptr inbounds { float, float }, ptr %3178, i32 0, i32 1
  store float %3174, ptr %3179, align 4
  store float %3177, ptr %3180, align 4
  %3181 = load ptr, ptr %13, align 8, !tbaa !5
  %3182 = getelementptr inbounds %struct.complex, ptr %3181, i32 0, i32 0
  %3183 = load float, ptr %3182, align 4, !tbaa !11
  %3184 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3185 = load float, ptr %3184, align 4, !tbaa !11
  %3186 = load ptr, ptr %13, align 8, !tbaa !5
  %3187 = getelementptr inbounds %struct.complex, ptr %3186, i32 0, i32 1
  %3188 = load float, ptr %3187, align 4, !tbaa !14
  %3189 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3190 = load float, ptr %3189, align 4, !tbaa !14
  %3191 = fmul float %3188, %3190
  %3192 = fneg float %3191
  %3193 = call float @llvm.fmuladd.f32(float %3183, float %3185, float %3192)
  %3194 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3193, ptr %3194, align 4, !tbaa !11
  %3195 = load ptr, ptr %13, align 8, !tbaa !5
  %3196 = getelementptr inbounds %struct.complex, ptr %3195, i32 0, i32 0
  %3197 = load float, ptr %3196, align 4, !tbaa !11
  %3198 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3199 = load float, ptr %3198, align 4, !tbaa !14
  %3200 = load ptr, ptr %13, align 8, !tbaa !5
  %3201 = getelementptr inbounds %struct.complex, ptr %3200, i32 0, i32 1
  %3202 = load float, ptr %3201, align 4, !tbaa !14
  %3203 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3204 = load float, ptr %3203, align 4, !tbaa !11
  %3205 = fmul float %3202, %3204
  %3206 = call float @llvm.fmuladd.f32(float %3197, float %3199, float %3205)
  %3207 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3206, ptr %3207, align 4, !tbaa !14
  %3208 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3209 = load float, ptr %3208, align 4, !tbaa !11
  %3210 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %3209, ptr %3210, align 4, !tbaa !11
  %3211 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3212 = load float, ptr %3211, align 4, !tbaa !14
  %3213 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %3212, ptr %3213, align 4, !tbaa !14
  %3214 = load ptr, ptr %12, align 8, !tbaa !5
  %3215 = getelementptr inbounds %struct.complex, ptr %3214, i64 5
  %3216 = call <2 x float> @Cf(ptr noundef %3215)
  store <2 x float> %3216, ptr %109, align 4
  %3217 = getelementptr inbounds { float, float }, ptr %109, i32 0, i32 0
  %3218 = load float, ptr %3217, align 4
  %3219 = getelementptr inbounds { float, float }, ptr %109, i32 0, i32 1
  %3220 = load float, ptr %3219, align 4
  %3221 = fneg float %3220
  %3222 = call ptr @_pCf(ptr noundef %30)
  %3223 = getelementptr inbounds { float, float }, ptr %3222, i32 0, i32 0
  %3224 = getelementptr inbounds { float, float }, ptr %3222, i32 0, i32 1
  store float %3218, ptr %3223, align 4
  store float %3221, ptr %3224, align 4
  %3225 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3226 = load float, ptr %3225, align 4, !tbaa !11
  %3227 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %3226, ptr %3227, align 4, !tbaa !11
  %3228 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3229 = load float, ptr %3228, align 4, !tbaa !14
  %3230 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %3229, ptr %3230, align 4, !tbaa !14
  %3231 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %3231, ptr %110, align 4
  %3232 = getelementptr inbounds { float, float }, ptr %110, i32 0, i32 0
  %3233 = load float, ptr %3232, align 4
  %3234 = getelementptr inbounds { float, float }, ptr %110, i32 0, i32 1
  %3235 = load float, ptr %3234, align 4
  %3236 = fneg float %3235
  %3237 = call ptr @_pCf(ptr noundef %31)
  %3238 = getelementptr inbounds { float, float }, ptr %3237, i32 0, i32 0
  %3239 = getelementptr inbounds { float, float }, ptr %3237, i32 0, i32 1
  store float %3233, ptr %3238, align 4
  store float %3236, ptr %3239, align 4
  %3240 = load ptr, ptr %13, align 8, !tbaa !5
  %3241 = getelementptr inbounds %struct.complex, ptr %3240, i32 0, i32 0
  %3242 = load float, ptr %3241, align 4, !tbaa !11
  %3243 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3244 = load float, ptr %3243, align 4, !tbaa !11
  %3245 = load ptr, ptr %13, align 8, !tbaa !5
  %3246 = getelementptr inbounds %struct.complex, ptr %3245, i32 0, i32 1
  %3247 = load float, ptr %3246, align 4, !tbaa !14
  %3248 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3249 = load float, ptr %3248, align 4, !tbaa !14
  %3250 = fmul float %3247, %3249
  %3251 = fneg float %3250
  %3252 = call float @llvm.fmuladd.f32(float %3242, float %3244, float %3251)
  %3253 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3252, ptr %3253, align 4, !tbaa !11
  %3254 = load ptr, ptr %13, align 8, !tbaa !5
  %3255 = getelementptr inbounds %struct.complex, ptr %3254, i32 0, i32 0
  %3256 = load float, ptr %3255, align 4, !tbaa !11
  %3257 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3258 = load float, ptr %3257, align 4, !tbaa !14
  %3259 = load ptr, ptr %13, align 8, !tbaa !5
  %3260 = getelementptr inbounds %struct.complex, ptr %3259, i32 0, i32 1
  %3261 = load float, ptr %3260, align 4, !tbaa !14
  %3262 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3263 = load float, ptr %3262, align 4, !tbaa !11
  %3264 = fmul float %3261, %3263
  %3265 = call float @llvm.fmuladd.f32(float %3256, float %3258, float %3264)
  %3266 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3265, ptr %3266, align 4, !tbaa !14
  %3267 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3268 = load float, ptr %3267, align 4, !tbaa !11
  %3269 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %3268, ptr %3269, align 4, !tbaa !11
  %3270 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3271 = load float, ptr %3270, align 4, !tbaa !14
  %3272 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %3271, ptr %3272, align 4, !tbaa !14
  %3273 = load ptr, ptr %12, align 8, !tbaa !5
  %3274 = getelementptr inbounds %struct.complex, ptr %3273, i64 6
  %3275 = call <2 x float> @Cf(ptr noundef %3274)
  store <2 x float> %3275, ptr %111, align 4
  %3276 = getelementptr inbounds { float, float }, ptr %111, i32 0, i32 0
  %3277 = load float, ptr %3276, align 4
  %3278 = getelementptr inbounds { float, float }, ptr %111, i32 0, i32 1
  %3279 = load float, ptr %3278, align 4
  %3280 = fneg float %3279
  %3281 = call ptr @_pCf(ptr noundef %30)
  %3282 = getelementptr inbounds { float, float }, ptr %3281, i32 0, i32 0
  %3283 = getelementptr inbounds { float, float }, ptr %3281, i32 0, i32 1
  store float %3277, ptr %3282, align 4
  store float %3280, ptr %3283, align 4
  %3284 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3285 = load float, ptr %3284, align 4, !tbaa !11
  %3286 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %3285, ptr %3286, align 4, !tbaa !11
  %3287 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3288 = load float, ptr %3287, align 4, !tbaa !14
  %3289 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %3288, ptr %3289, align 4, !tbaa !14
  %3290 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %3290, ptr %112, align 4
  %3291 = getelementptr inbounds { float, float }, ptr %112, i32 0, i32 0
  %3292 = load float, ptr %3291, align 4
  %3293 = getelementptr inbounds { float, float }, ptr %112, i32 0, i32 1
  %3294 = load float, ptr %3293, align 4
  %3295 = fneg float %3294
  %3296 = call ptr @_pCf(ptr noundef %31)
  %3297 = getelementptr inbounds { float, float }, ptr %3296, i32 0, i32 0
  %3298 = getelementptr inbounds { float, float }, ptr %3296, i32 0, i32 1
  store float %3292, ptr %3297, align 4
  store float %3295, ptr %3298, align 4
  %3299 = load ptr, ptr %13, align 8, !tbaa !5
  %3300 = getelementptr inbounds %struct.complex, ptr %3299, i32 0, i32 0
  %3301 = load float, ptr %3300, align 4, !tbaa !11
  %3302 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3303 = load float, ptr %3302, align 4, !tbaa !11
  %3304 = load ptr, ptr %13, align 8, !tbaa !5
  %3305 = getelementptr inbounds %struct.complex, ptr %3304, i32 0, i32 1
  %3306 = load float, ptr %3305, align 4, !tbaa !14
  %3307 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3308 = load float, ptr %3307, align 4, !tbaa !14
  %3309 = fmul float %3306, %3308
  %3310 = fneg float %3309
  %3311 = call float @llvm.fmuladd.f32(float %3301, float %3303, float %3310)
  %3312 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3311, ptr %3312, align 4, !tbaa !11
  %3313 = load ptr, ptr %13, align 8, !tbaa !5
  %3314 = getelementptr inbounds %struct.complex, ptr %3313, i32 0, i32 0
  %3315 = load float, ptr %3314, align 4, !tbaa !11
  %3316 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3317 = load float, ptr %3316, align 4, !tbaa !14
  %3318 = load ptr, ptr %13, align 8, !tbaa !5
  %3319 = getelementptr inbounds %struct.complex, ptr %3318, i32 0, i32 1
  %3320 = load float, ptr %3319, align 4, !tbaa !14
  %3321 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3322 = load float, ptr %3321, align 4, !tbaa !11
  %3323 = fmul float %3320, %3322
  %3324 = call float @llvm.fmuladd.f32(float %3315, float %3317, float %3323)
  %3325 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3324, ptr %3325, align 4, !tbaa !14
  %3326 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3327 = load float, ptr %3326, align 4, !tbaa !11
  %3328 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %3327, ptr %3328, align 4, !tbaa !11
  %3329 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3330 = load float, ptr %3329, align 4, !tbaa !14
  %3331 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %3330, ptr %3331, align 4, !tbaa !14
  %3332 = load ptr, ptr %11, align 8, !tbaa !5
  %3333 = load i32, ptr %3332, align 4, !tbaa !9
  store i32 %3333, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %3334

3334:                                             ; preds = %4053, %2977
  %3335 = load i32, ptr %49, align 4, !tbaa !9
  %3336 = load i32, ptr %19, align 4, !tbaa !9
  %3337 = icmp sle i32 %3335, %3336
  br i1 %3337, label %3338, label %4056

3338:                                             ; preds = %3334
  %3339 = load i32, ptr %49, align 4, !tbaa !9
  %3340 = load i32, ptr %17, align 4, !tbaa !9
  %3341 = mul nsw i32 %3339, %3340
  %3342 = add nsw i32 %3341, 1
  store i32 %3342, ptr %20, align 4, !tbaa !9
  %3343 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %3344 = load float, ptr %3343, align 4, !tbaa !11
  %3345 = load ptr, ptr %14, align 8, !tbaa !5
  %3346 = load i32, ptr %20, align 4, !tbaa !9
  %3347 = sext i32 %3346 to i64
  %3348 = getelementptr inbounds %struct.complex, ptr %3345, i64 %3347
  %3349 = getelementptr inbounds %struct.complex, ptr %3348, i32 0, i32 0
  %3350 = load float, ptr %3349, align 4, !tbaa !11
  %3351 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %3352 = load float, ptr %3351, align 4, !tbaa !14
  %3353 = load ptr, ptr %14, align 8, !tbaa !5
  %3354 = load i32, ptr %20, align 4, !tbaa !9
  %3355 = sext i32 %3354 to i64
  %3356 = getelementptr inbounds %struct.complex, ptr %3353, i64 %3355
  %3357 = getelementptr inbounds %struct.complex, ptr %3356, i32 0, i32 1
  %3358 = load float, ptr %3357, align 4, !tbaa !14
  %3359 = fmul float %3352, %3358
  %3360 = fneg float %3359
  %3361 = call float @llvm.fmuladd.f32(float %3344, float %3350, float %3360)
  %3362 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %3361, ptr %3362, align 4, !tbaa !11
  %3363 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %3364 = load float, ptr %3363, align 4, !tbaa !11
  %3365 = load ptr, ptr %14, align 8, !tbaa !5
  %3366 = load i32, ptr %20, align 4, !tbaa !9
  %3367 = sext i32 %3366 to i64
  %3368 = getelementptr inbounds %struct.complex, ptr %3365, i64 %3367
  %3369 = getelementptr inbounds %struct.complex, ptr %3368, i32 0, i32 1
  %3370 = load float, ptr %3369, align 4, !tbaa !14
  %3371 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %3372 = load float, ptr %3371, align 4, !tbaa !14
  %3373 = load ptr, ptr %14, align 8, !tbaa !5
  %3374 = load i32, ptr %20, align 4, !tbaa !9
  %3375 = sext i32 %3374 to i64
  %3376 = getelementptr inbounds %struct.complex, ptr %3373, i64 %3375
  %3377 = getelementptr inbounds %struct.complex, ptr %3376, i32 0, i32 0
  %3378 = load float, ptr %3377, align 4, !tbaa !11
  %3379 = fmul float %3372, %3378
  %3380 = call float @llvm.fmuladd.f32(float %3364, float %3370, float %3379)
  %3381 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %3380, ptr %3381, align 4, !tbaa !14
  %3382 = load i32, ptr %49, align 4, !tbaa !9
  %3383 = load i32, ptr %17, align 4, !tbaa !9
  %3384 = mul nsw i32 %3382, %3383
  %3385 = add nsw i32 %3384, 2
  store i32 %3385, ptr %21, align 4, !tbaa !9
  %3386 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %3387 = load float, ptr %3386, align 4, !tbaa !11
  %3388 = load ptr, ptr %14, align 8, !tbaa !5
  %3389 = load i32, ptr %21, align 4, !tbaa !9
  %3390 = sext i32 %3389 to i64
  %3391 = getelementptr inbounds %struct.complex, ptr %3388, i64 %3390
  %3392 = getelementptr inbounds %struct.complex, ptr %3391, i32 0, i32 0
  %3393 = load float, ptr %3392, align 4, !tbaa !11
  %3394 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %3395 = load float, ptr %3394, align 4, !tbaa !14
  %3396 = load ptr, ptr %14, align 8, !tbaa !5
  %3397 = load i32, ptr %21, align 4, !tbaa !9
  %3398 = sext i32 %3397 to i64
  %3399 = getelementptr inbounds %struct.complex, ptr %3396, i64 %3398
  %3400 = getelementptr inbounds %struct.complex, ptr %3399, i32 0, i32 1
  %3401 = load float, ptr %3400, align 4, !tbaa !14
  %3402 = fmul float %3395, %3401
  %3403 = fneg float %3402
  %3404 = call float @llvm.fmuladd.f32(float %3387, float %3393, float %3403)
  %3405 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %3404, ptr %3405, align 4, !tbaa !11
  %3406 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %3407 = load float, ptr %3406, align 4, !tbaa !11
  %3408 = load ptr, ptr %14, align 8, !tbaa !5
  %3409 = load i32, ptr %21, align 4, !tbaa !9
  %3410 = sext i32 %3409 to i64
  %3411 = getelementptr inbounds %struct.complex, ptr %3408, i64 %3410
  %3412 = getelementptr inbounds %struct.complex, ptr %3411, i32 0, i32 1
  %3413 = load float, ptr %3412, align 4, !tbaa !14
  %3414 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %3415 = load float, ptr %3414, align 4, !tbaa !14
  %3416 = load ptr, ptr %14, align 8, !tbaa !5
  %3417 = load i32, ptr %21, align 4, !tbaa !9
  %3418 = sext i32 %3417 to i64
  %3419 = getelementptr inbounds %struct.complex, ptr %3416, i64 %3418
  %3420 = getelementptr inbounds %struct.complex, ptr %3419, i32 0, i32 0
  %3421 = load float, ptr %3420, align 4, !tbaa !11
  %3422 = fmul float %3415, %3421
  %3423 = call float @llvm.fmuladd.f32(float %3407, float %3413, float %3422)
  %3424 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %3423, ptr %3424, align 4, !tbaa !14
  %3425 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %3426 = load float, ptr %3425, align 4, !tbaa !11
  %3427 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %3428 = load float, ptr %3427, align 4, !tbaa !11
  %3429 = fadd float %3426, %3428
  %3430 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %3429, ptr %3430, align 4, !tbaa !11
  %3431 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %3432 = load float, ptr %3431, align 4, !tbaa !14
  %3433 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %3434 = load float, ptr %3433, align 4, !tbaa !14
  %3435 = fadd float %3432, %3434
  %3436 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %3435, ptr %3436, align 4, !tbaa !14
  %3437 = load i32, ptr %49, align 4, !tbaa !9
  %3438 = load i32, ptr %17, align 4, !tbaa !9
  %3439 = mul nsw i32 %3437, %3438
  %3440 = add nsw i32 %3439, 3
  store i32 %3440, ptr %22, align 4, !tbaa !9
  %3441 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %3442 = load float, ptr %3441, align 4, !tbaa !11
  %3443 = load ptr, ptr %14, align 8, !tbaa !5
  %3444 = load i32, ptr %22, align 4, !tbaa !9
  %3445 = sext i32 %3444 to i64
  %3446 = getelementptr inbounds %struct.complex, ptr %3443, i64 %3445
  %3447 = getelementptr inbounds %struct.complex, ptr %3446, i32 0, i32 0
  %3448 = load float, ptr %3447, align 4, !tbaa !11
  %3449 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %3450 = load float, ptr %3449, align 4, !tbaa !14
  %3451 = load ptr, ptr %14, align 8, !tbaa !5
  %3452 = load i32, ptr %22, align 4, !tbaa !9
  %3453 = sext i32 %3452 to i64
  %3454 = getelementptr inbounds %struct.complex, ptr %3451, i64 %3453
  %3455 = getelementptr inbounds %struct.complex, ptr %3454, i32 0, i32 1
  %3456 = load float, ptr %3455, align 4, !tbaa !14
  %3457 = fmul float %3450, %3456
  %3458 = fneg float %3457
  %3459 = call float @llvm.fmuladd.f32(float %3442, float %3448, float %3458)
  %3460 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %3459, ptr %3460, align 4, !tbaa !11
  %3461 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %3462 = load float, ptr %3461, align 4, !tbaa !11
  %3463 = load ptr, ptr %14, align 8, !tbaa !5
  %3464 = load i32, ptr %22, align 4, !tbaa !9
  %3465 = sext i32 %3464 to i64
  %3466 = getelementptr inbounds %struct.complex, ptr %3463, i64 %3465
  %3467 = getelementptr inbounds %struct.complex, ptr %3466, i32 0, i32 1
  %3468 = load float, ptr %3467, align 4, !tbaa !14
  %3469 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %3470 = load float, ptr %3469, align 4, !tbaa !14
  %3471 = load ptr, ptr %14, align 8, !tbaa !5
  %3472 = load i32, ptr %22, align 4, !tbaa !9
  %3473 = sext i32 %3472 to i64
  %3474 = getelementptr inbounds %struct.complex, ptr %3471, i64 %3473
  %3475 = getelementptr inbounds %struct.complex, ptr %3474, i32 0, i32 0
  %3476 = load float, ptr %3475, align 4, !tbaa !11
  %3477 = fmul float %3470, %3476
  %3478 = call float @llvm.fmuladd.f32(float %3462, float %3468, float %3477)
  %3479 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %3478, ptr %3479, align 4, !tbaa !14
  %3480 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %3481 = load float, ptr %3480, align 4, !tbaa !11
  %3482 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %3483 = load float, ptr %3482, align 4, !tbaa !11
  %3484 = fadd float %3481, %3483
  %3485 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %3484, ptr %3485, align 4, !tbaa !11
  %3486 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %3487 = load float, ptr %3486, align 4, !tbaa !14
  %3488 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %3489 = load float, ptr %3488, align 4, !tbaa !14
  %3490 = fadd float %3487, %3489
  %3491 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %3490, ptr %3491, align 4, !tbaa !14
  %3492 = load i32, ptr %49, align 4, !tbaa !9
  %3493 = load i32, ptr %17, align 4, !tbaa !9
  %3494 = mul nsw i32 %3492, %3493
  %3495 = add nsw i32 %3494, 4
  store i32 %3495, ptr %23, align 4, !tbaa !9
  %3496 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %3497 = load float, ptr %3496, align 4, !tbaa !11
  %3498 = load ptr, ptr %14, align 8, !tbaa !5
  %3499 = load i32, ptr %23, align 4, !tbaa !9
  %3500 = sext i32 %3499 to i64
  %3501 = getelementptr inbounds %struct.complex, ptr %3498, i64 %3500
  %3502 = getelementptr inbounds %struct.complex, ptr %3501, i32 0, i32 0
  %3503 = load float, ptr %3502, align 4, !tbaa !11
  %3504 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %3505 = load float, ptr %3504, align 4, !tbaa !14
  %3506 = load ptr, ptr %14, align 8, !tbaa !5
  %3507 = load i32, ptr %23, align 4, !tbaa !9
  %3508 = sext i32 %3507 to i64
  %3509 = getelementptr inbounds %struct.complex, ptr %3506, i64 %3508
  %3510 = getelementptr inbounds %struct.complex, ptr %3509, i32 0, i32 1
  %3511 = load float, ptr %3510, align 4, !tbaa !14
  %3512 = fmul float %3505, %3511
  %3513 = fneg float %3512
  %3514 = call float @llvm.fmuladd.f32(float %3497, float %3503, float %3513)
  %3515 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %3514, ptr %3515, align 4, !tbaa !11
  %3516 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %3517 = load float, ptr %3516, align 4, !tbaa !11
  %3518 = load ptr, ptr %14, align 8, !tbaa !5
  %3519 = load i32, ptr %23, align 4, !tbaa !9
  %3520 = sext i32 %3519 to i64
  %3521 = getelementptr inbounds %struct.complex, ptr %3518, i64 %3520
  %3522 = getelementptr inbounds %struct.complex, ptr %3521, i32 0, i32 1
  %3523 = load float, ptr %3522, align 4, !tbaa !14
  %3524 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %3525 = load float, ptr %3524, align 4, !tbaa !14
  %3526 = load ptr, ptr %14, align 8, !tbaa !5
  %3527 = load i32, ptr %23, align 4, !tbaa !9
  %3528 = sext i32 %3527 to i64
  %3529 = getelementptr inbounds %struct.complex, ptr %3526, i64 %3528
  %3530 = getelementptr inbounds %struct.complex, ptr %3529, i32 0, i32 0
  %3531 = load float, ptr %3530, align 4, !tbaa !11
  %3532 = fmul float %3525, %3531
  %3533 = call float @llvm.fmuladd.f32(float %3517, float %3523, float %3532)
  %3534 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %3533, ptr %3534, align 4, !tbaa !14
  %3535 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %3536 = load float, ptr %3535, align 4, !tbaa !11
  %3537 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %3538 = load float, ptr %3537, align 4, !tbaa !11
  %3539 = fadd float %3536, %3538
  %3540 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3539, ptr %3540, align 4, !tbaa !11
  %3541 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %3542 = load float, ptr %3541, align 4, !tbaa !14
  %3543 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %3544 = load float, ptr %3543, align 4, !tbaa !14
  %3545 = fadd float %3542, %3544
  %3546 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3545, ptr %3546, align 4, !tbaa !14
  %3547 = load i32, ptr %49, align 4, !tbaa !9
  %3548 = load i32, ptr %17, align 4, !tbaa !9
  %3549 = mul nsw i32 %3547, %3548
  %3550 = add nsw i32 %3549, 5
  store i32 %3550, ptr %24, align 4, !tbaa !9
  %3551 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %3552 = load float, ptr %3551, align 4, !tbaa !11
  %3553 = load ptr, ptr %14, align 8, !tbaa !5
  %3554 = load i32, ptr %24, align 4, !tbaa !9
  %3555 = sext i32 %3554 to i64
  %3556 = getelementptr inbounds %struct.complex, ptr %3553, i64 %3555
  %3557 = getelementptr inbounds %struct.complex, ptr %3556, i32 0, i32 0
  %3558 = load float, ptr %3557, align 4, !tbaa !11
  %3559 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %3560 = load float, ptr %3559, align 4, !tbaa !14
  %3561 = load ptr, ptr %14, align 8, !tbaa !5
  %3562 = load i32, ptr %24, align 4, !tbaa !9
  %3563 = sext i32 %3562 to i64
  %3564 = getelementptr inbounds %struct.complex, ptr %3561, i64 %3563
  %3565 = getelementptr inbounds %struct.complex, ptr %3564, i32 0, i32 1
  %3566 = load float, ptr %3565, align 4, !tbaa !14
  %3567 = fmul float %3560, %3566
  %3568 = fneg float %3567
  %3569 = call float @llvm.fmuladd.f32(float %3552, float %3558, float %3568)
  %3570 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %3569, ptr %3570, align 4, !tbaa !11
  %3571 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %3572 = load float, ptr %3571, align 4, !tbaa !11
  %3573 = load ptr, ptr %14, align 8, !tbaa !5
  %3574 = load i32, ptr %24, align 4, !tbaa !9
  %3575 = sext i32 %3574 to i64
  %3576 = getelementptr inbounds %struct.complex, ptr %3573, i64 %3575
  %3577 = getelementptr inbounds %struct.complex, ptr %3576, i32 0, i32 1
  %3578 = load float, ptr %3577, align 4, !tbaa !14
  %3579 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %3580 = load float, ptr %3579, align 4, !tbaa !14
  %3581 = load ptr, ptr %14, align 8, !tbaa !5
  %3582 = load i32, ptr %24, align 4, !tbaa !9
  %3583 = sext i32 %3582 to i64
  %3584 = getelementptr inbounds %struct.complex, ptr %3581, i64 %3583
  %3585 = getelementptr inbounds %struct.complex, ptr %3584, i32 0, i32 0
  %3586 = load float, ptr %3585, align 4, !tbaa !11
  %3587 = fmul float %3580, %3586
  %3588 = call float @llvm.fmuladd.f32(float %3572, float %3578, float %3587)
  %3589 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %3588, ptr %3589, align 4, !tbaa !14
  %3590 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3591 = load float, ptr %3590, align 4, !tbaa !11
  %3592 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %3593 = load float, ptr %3592, align 4, !tbaa !11
  %3594 = fadd float %3591, %3593
  %3595 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3594, ptr %3595, align 4, !tbaa !11
  %3596 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3597 = load float, ptr %3596, align 4, !tbaa !14
  %3598 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %3599 = load float, ptr %3598, align 4, !tbaa !14
  %3600 = fadd float %3597, %3599
  %3601 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3600, ptr %3601, align 4, !tbaa !14
  %3602 = load i32, ptr %49, align 4, !tbaa !9
  %3603 = load i32, ptr %17, align 4, !tbaa !9
  %3604 = mul nsw i32 %3602, %3603
  %3605 = add nsw i32 %3604, 6
  store i32 %3605, ptr %25, align 4, !tbaa !9
  %3606 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %3607 = load float, ptr %3606, align 4, !tbaa !11
  %3608 = load ptr, ptr %14, align 8, !tbaa !5
  %3609 = load i32, ptr %25, align 4, !tbaa !9
  %3610 = sext i32 %3609 to i64
  %3611 = getelementptr inbounds %struct.complex, ptr %3608, i64 %3610
  %3612 = getelementptr inbounds %struct.complex, ptr %3611, i32 0, i32 0
  %3613 = load float, ptr %3612, align 4, !tbaa !11
  %3614 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %3615 = load float, ptr %3614, align 4, !tbaa !14
  %3616 = load ptr, ptr %14, align 8, !tbaa !5
  %3617 = load i32, ptr %25, align 4, !tbaa !9
  %3618 = sext i32 %3617 to i64
  %3619 = getelementptr inbounds %struct.complex, ptr %3616, i64 %3618
  %3620 = getelementptr inbounds %struct.complex, ptr %3619, i32 0, i32 1
  %3621 = load float, ptr %3620, align 4, !tbaa !14
  %3622 = fmul float %3615, %3621
  %3623 = fneg float %3622
  %3624 = call float @llvm.fmuladd.f32(float %3607, float %3613, float %3623)
  %3625 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %3624, ptr %3625, align 4, !tbaa !11
  %3626 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %3627 = load float, ptr %3626, align 4, !tbaa !11
  %3628 = load ptr, ptr %14, align 8, !tbaa !5
  %3629 = load i32, ptr %25, align 4, !tbaa !9
  %3630 = sext i32 %3629 to i64
  %3631 = getelementptr inbounds %struct.complex, ptr %3628, i64 %3630
  %3632 = getelementptr inbounds %struct.complex, ptr %3631, i32 0, i32 1
  %3633 = load float, ptr %3632, align 4, !tbaa !14
  %3634 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %3635 = load float, ptr %3634, align 4, !tbaa !14
  %3636 = load ptr, ptr %14, align 8, !tbaa !5
  %3637 = load i32, ptr %25, align 4, !tbaa !9
  %3638 = sext i32 %3637 to i64
  %3639 = getelementptr inbounds %struct.complex, ptr %3636, i64 %3638
  %3640 = getelementptr inbounds %struct.complex, ptr %3639, i32 0, i32 0
  %3641 = load float, ptr %3640, align 4, !tbaa !11
  %3642 = fmul float %3635, %3641
  %3643 = call float @llvm.fmuladd.f32(float %3627, float %3633, float %3642)
  %3644 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %3643, ptr %3644, align 4, !tbaa !14
  %3645 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3646 = load float, ptr %3645, align 4, !tbaa !11
  %3647 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %3648 = load float, ptr %3647, align 4, !tbaa !11
  %3649 = fadd float %3646, %3648
  %3650 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3649, ptr %3650, align 4, !tbaa !11
  %3651 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3652 = load float, ptr %3651, align 4, !tbaa !14
  %3653 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %3654 = load float, ptr %3653, align 4, !tbaa !14
  %3655 = fadd float %3652, %3654
  %3656 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3655, ptr %3656, align 4, !tbaa !14
  %3657 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3658 = load float, ptr %3657, align 4, !tbaa !11
  %3659 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %3658, ptr %3659, align 4, !tbaa !11
  %3660 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3661 = load float, ptr %3660, align 4, !tbaa !14
  %3662 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %3661, ptr %3662, align 4, !tbaa !14
  %3663 = load i32, ptr %49, align 4, !tbaa !9
  %3664 = load i32, ptr %17, align 4, !tbaa !9
  %3665 = mul nsw i32 %3663, %3664
  %3666 = add nsw i32 %3665, 1
  store i32 %3666, ptr %20, align 4, !tbaa !9
  %3667 = load i32, ptr %49, align 4, !tbaa !9
  %3668 = load i32, ptr %17, align 4, !tbaa !9
  %3669 = mul nsw i32 %3667, %3668
  %3670 = add nsw i32 %3669, 1
  store i32 %3670, ptr %21, align 4, !tbaa !9
  %3671 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3672 = load float, ptr %3671, align 4, !tbaa !11
  %3673 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %3674 = load float, ptr %3673, align 4, !tbaa !11
  %3675 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3676 = load float, ptr %3675, align 4, !tbaa !14
  %3677 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %3678 = load float, ptr %3677, align 4, !tbaa !14
  %3679 = fmul float %3676, %3678
  %3680 = fneg float %3679
  %3681 = call float @llvm.fmuladd.f32(float %3672, float %3674, float %3680)
  %3682 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3681, ptr %3682, align 4, !tbaa !11
  %3683 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3684 = load float, ptr %3683, align 4, !tbaa !11
  %3685 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %3686 = load float, ptr %3685, align 4, !tbaa !14
  %3687 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3688 = load float, ptr %3687, align 4, !tbaa !14
  %3689 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %3690 = load float, ptr %3689, align 4, !tbaa !11
  %3691 = fmul float %3688, %3690
  %3692 = call float @llvm.fmuladd.f32(float %3684, float %3686, float %3691)
  %3693 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3692, ptr %3693, align 4, !tbaa !14
  %3694 = load ptr, ptr %14, align 8, !tbaa !5
  %3695 = load i32, ptr %21, align 4, !tbaa !9
  %3696 = sext i32 %3695 to i64
  %3697 = getelementptr inbounds %struct.complex, ptr %3694, i64 %3696
  %3698 = getelementptr inbounds %struct.complex, ptr %3697, i32 0, i32 0
  %3699 = load float, ptr %3698, align 4, !tbaa !11
  %3700 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3701 = load float, ptr %3700, align 4, !tbaa !11
  %3702 = fsub float %3699, %3701
  %3703 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3702, ptr %3703, align 4, !tbaa !11
  %3704 = load ptr, ptr %14, align 8, !tbaa !5
  %3705 = load i32, ptr %21, align 4, !tbaa !9
  %3706 = sext i32 %3705 to i64
  %3707 = getelementptr inbounds %struct.complex, ptr %3704, i64 %3706
  %3708 = getelementptr inbounds %struct.complex, ptr %3707, i32 0, i32 1
  %3709 = load float, ptr %3708, align 4, !tbaa !14
  %3710 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3711 = load float, ptr %3710, align 4, !tbaa !14
  %3712 = fsub float %3709, %3711
  %3713 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3712, ptr %3713, align 4, !tbaa !14
  %3714 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3715 = load float, ptr %3714, align 4, !tbaa !11
  %3716 = load ptr, ptr %14, align 8, !tbaa !5
  %3717 = load i32, ptr %20, align 4, !tbaa !9
  %3718 = sext i32 %3717 to i64
  %3719 = getelementptr inbounds %struct.complex, ptr %3716, i64 %3718
  %3720 = getelementptr inbounds %struct.complex, ptr %3719, i32 0, i32 0
  store float %3715, ptr %3720, align 4, !tbaa !11
  %3721 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3722 = load float, ptr %3721, align 4, !tbaa !14
  %3723 = load ptr, ptr %14, align 8, !tbaa !5
  %3724 = load i32, ptr %20, align 4, !tbaa !9
  %3725 = sext i32 %3724 to i64
  %3726 = getelementptr inbounds %struct.complex, ptr %3723, i64 %3725
  %3727 = getelementptr inbounds %struct.complex, ptr %3726, i32 0, i32 1
  store float %3722, ptr %3727, align 4, !tbaa !14
  %3728 = load i32, ptr %49, align 4, !tbaa !9
  %3729 = load i32, ptr %17, align 4, !tbaa !9
  %3730 = mul nsw i32 %3728, %3729
  %3731 = add nsw i32 %3730, 2
  store i32 %3731, ptr %20, align 4, !tbaa !9
  %3732 = load i32, ptr %49, align 4, !tbaa !9
  %3733 = load i32, ptr %17, align 4, !tbaa !9
  %3734 = mul nsw i32 %3732, %3733
  %3735 = add nsw i32 %3734, 2
  store i32 %3735, ptr %21, align 4, !tbaa !9
  %3736 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3737 = load float, ptr %3736, align 4, !tbaa !11
  %3738 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %3739 = load float, ptr %3738, align 4, !tbaa !11
  %3740 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3741 = load float, ptr %3740, align 4, !tbaa !14
  %3742 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %3743 = load float, ptr %3742, align 4, !tbaa !14
  %3744 = fmul float %3741, %3743
  %3745 = fneg float %3744
  %3746 = call float @llvm.fmuladd.f32(float %3737, float %3739, float %3745)
  %3747 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3746, ptr %3747, align 4, !tbaa !11
  %3748 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3749 = load float, ptr %3748, align 4, !tbaa !11
  %3750 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %3751 = load float, ptr %3750, align 4, !tbaa !14
  %3752 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3753 = load float, ptr %3752, align 4, !tbaa !14
  %3754 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %3755 = load float, ptr %3754, align 4, !tbaa !11
  %3756 = fmul float %3753, %3755
  %3757 = call float @llvm.fmuladd.f32(float %3749, float %3751, float %3756)
  %3758 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3757, ptr %3758, align 4, !tbaa !14
  %3759 = load ptr, ptr %14, align 8, !tbaa !5
  %3760 = load i32, ptr %21, align 4, !tbaa !9
  %3761 = sext i32 %3760 to i64
  %3762 = getelementptr inbounds %struct.complex, ptr %3759, i64 %3761
  %3763 = getelementptr inbounds %struct.complex, ptr %3762, i32 0, i32 0
  %3764 = load float, ptr %3763, align 4, !tbaa !11
  %3765 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3766 = load float, ptr %3765, align 4, !tbaa !11
  %3767 = fsub float %3764, %3766
  %3768 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3767, ptr %3768, align 4, !tbaa !11
  %3769 = load ptr, ptr %14, align 8, !tbaa !5
  %3770 = load i32, ptr %21, align 4, !tbaa !9
  %3771 = sext i32 %3770 to i64
  %3772 = getelementptr inbounds %struct.complex, ptr %3769, i64 %3771
  %3773 = getelementptr inbounds %struct.complex, ptr %3772, i32 0, i32 1
  %3774 = load float, ptr %3773, align 4, !tbaa !14
  %3775 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3776 = load float, ptr %3775, align 4, !tbaa !14
  %3777 = fsub float %3774, %3776
  %3778 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3777, ptr %3778, align 4, !tbaa !14
  %3779 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3780 = load float, ptr %3779, align 4, !tbaa !11
  %3781 = load ptr, ptr %14, align 8, !tbaa !5
  %3782 = load i32, ptr %20, align 4, !tbaa !9
  %3783 = sext i32 %3782 to i64
  %3784 = getelementptr inbounds %struct.complex, ptr %3781, i64 %3783
  %3785 = getelementptr inbounds %struct.complex, ptr %3784, i32 0, i32 0
  store float %3780, ptr %3785, align 4, !tbaa !11
  %3786 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3787 = load float, ptr %3786, align 4, !tbaa !14
  %3788 = load ptr, ptr %14, align 8, !tbaa !5
  %3789 = load i32, ptr %20, align 4, !tbaa !9
  %3790 = sext i32 %3789 to i64
  %3791 = getelementptr inbounds %struct.complex, ptr %3788, i64 %3790
  %3792 = getelementptr inbounds %struct.complex, ptr %3791, i32 0, i32 1
  store float %3787, ptr %3792, align 4, !tbaa !14
  %3793 = load i32, ptr %49, align 4, !tbaa !9
  %3794 = load i32, ptr %17, align 4, !tbaa !9
  %3795 = mul nsw i32 %3793, %3794
  %3796 = add nsw i32 %3795, 3
  store i32 %3796, ptr %20, align 4, !tbaa !9
  %3797 = load i32, ptr %49, align 4, !tbaa !9
  %3798 = load i32, ptr %17, align 4, !tbaa !9
  %3799 = mul nsw i32 %3797, %3798
  %3800 = add nsw i32 %3799, 3
  store i32 %3800, ptr %21, align 4, !tbaa !9
  %3801 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3802 = load float, ptr %3801, align 4, !tbaa !11
  %3803 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %3804 = load float, ptr %3803, align 4, !tbaa !11
  %3805 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3806 = load float, ptr %3805, align 4, !tbaa !14
  %3807 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %3808 = load float, ptr %3807, align 4, !tbaa !14
  %3809 = fmul float %3806, %3808
  %3810 = fneg float %3809
  %3811 = call float @llvm.fmuladd.f32(float %3802, float %3804, float %3810)
  %3812 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3811, ptr %3812, align 4, !tbaa !11
  %3813 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3814 = load float, ptr %3813, align 4, !tbaa !11
  %3815 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %3816 = load float, ptr %3815, align 4, !tbaa !14
  %3817 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3818 = load float, ptr %3817, align 4, !tbaa !14
  %3819 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %3820 = load float, ptr %3819, align 4, !tbaa !11
  %3821 = fmul float %3818, %3820
  %3822 = call float @llvm.fmuladd.f32(float %3814, float %3816, float %3821)
  %3823 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3822, ptr %3823, align 4, !tbaa !14
  %3824 = load ptr, ptr %14, align 8, !tbaa !5
  %3825 = load i32, ptr %21, align 4, !tbaa !9
  %3826 = sext i32 %3825 to i64
  %3827 = getelementptr inbounds %struct.complex, ptr %3824, i64 %3826
  %3828 = getelementptr inbounds %struct.complex, ptr %3827, i32 0, i32 0
  %3829 = load float, ptr %3828, align 4, !tbaa !11
  %3830 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3831 = load float, ptr %3830, align 4, !tbaa !11
  %3832 = fsub float %3829, %3831
  %3833 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3832, ptr %3833, align 4, !tbaa !11
  %3834 = load ptr, ptr %14, align 8, !tbaa !5
  %3835 = load i32, ptr %21, align 4, !tbaa !9
  %3836 = sext i32 %3835 to i64
  %3837 = getelementptr inbounds %struct.complex, ptr %3834, i64 %3836
  %3838 = getelementptr inbounds %struct.complex, ptr %3837, i32 0, i32 1
  %3839 = load float, ptr %3838, align 4, !tbaa !14
  %3840 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3841 = load float, ptr %3840, align 4, !tbaa !14
  %3842 = fsub float %3839, %3841
  %3843 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3842, ptr %3843, align 4, !tbaa !14
  %3844 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3845 = load float, ptr %3844, align 4, !tbaa !11
  %3846 = load ptr, ptr %14, align 8, !tbaa !5
  %3847 = load i32, ptr %20, align 4, !tbaa !9
  %3848 = sext i32 %3847 to i64
  %3849 = getelementptr inbounds %struct.complex, ptr %3846, i64 %3848
  %3850 = getelementptr inbounds %struct.complex, ptr %3849, i32 0, i32 0
  store float %3845, ptr %3850, align 4, !tbaa !11
  %3851 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3852 = load float, ptr %3851, align 4, !tbaa !14
  %3853 = load ptr, ptr %14, align 8, !tbaa !5
  %3854 = load i32, ptr %20, align 4, !tbaa !9
  %3855 = sext i32 %3854 to i64
  %3856 = getelementptr inbounds %struct.complex, ptr %3853, i64 %3855
  %3857 = getelementptr inbounds %struct.complex, ptr %3856, i32 0, i32 1
  store float %3852, ptr %3857, align 4, !tbaa !14
  %3858 = load i32, ptr %49, align 4, !tbaa !9
  %3859 = load i32, ptr %17, align 4, !tbaa !9
  %3860 = mul nsw i32 %3858, %3859
  %3861 = add nsw i32 %3860, 4
  store i32 %3861, ptr %20, align 4, !tbaa !9
  %3862 = load i32, ptr %49, align 4, !tbaa !9
  %3863 = load i32, ptr %17, align 4, !tbaa !9
  %3864 = mul nsw i32 %3862, %3863
  %3865 = add nsw i32 %3864, 4
  store i32 %3865, ptr %21, align 4, !tbaa !9
  %3866 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3867 = load float, ptr %3866, align 4, !tbaa !11
  %3868 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %3869 = load float, ptr %3868, align 4, !tbaa !11
  %3870 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3871 = load float, ptr %3870, align 4, !tbaa !14
  %3872 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %3873 = load float, ptr %3872, align 4, !tbaa !14
  %3874 = fmul float %3871, %3873
  %3875 = fneg float %3874
  %3876 = call float @llvm.fmuladd.f32(float %3867, float %3869, float %3875)
  %3877 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3876, ptr %3877, align 4, !tbaa !11
  %3878 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3879 = load float, ptr %3878, align 4, !tbaa !11
  %3880 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %3881 = load float, ptr %3880, align 4, !tbaa !14
  %3882 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3883 = load float, ptr %3882, align 4, !tbaa !14
  %3884 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %3885 = load float, ptr %3884, align 4, !tbaa !11
  %3886 = fmul float %3883, %3885
  %3887 = call float @llvm.fmuladd.f32(float %3879, float %3881, float %3886)
  %3888 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3887, ptr %3888, align 4, !tbaa !14
  %3889 = load ptr, ptr %14, align 8, !tbaa !5
  %3890 = load i32, ptr %21, align 4, !tbaa !9
  %3891 = sext i32 %3890 to i64
  %3892 = getelementptr inbounds %struct.complex, ptr %3889, i64 %3891
  %3893 = getelementptr inbounds %struct.complex, ptr %3892, i32 0, i32 0
  %3894 = load float, ptr %3893, align 4, !tbaa !11
  %3895 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3896 = load float, ptr %3895, align 4, !tbaa !11
  %3897 = fsub float %3894, %3896
  %3898 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3897, ptr %3898, align 4, !tbaa !11
  %3899 = load ptr, ptr %14, align 8, !tbaa !5
  %3900 = load i32, ptr %21, align 4, !tbaa !9
  %3901 = sext i32 %3900 to i64
  %3902 = getelementptr inbounds %struct.complex, ptr %3899, i64 %3901
  %3903 = getelementptr inbounds %struct.complex, ptr %3902, i32 0, i32 1
  %3904 = load float, ptr %3903, align 4, !tbaa !14
  %3905 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3906 = load float, ptr %3905, align 4, !tbaa !14
  %3907 = fsub float %3904, %3906
  %3908 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3907, ptr %3908, align 4, !tbaa !14
  %3909 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3910 = load float, ptr %3909, align 4, !tbaa !11
  %3911 = load ptr, ptr %14, align 8, !tbaa !5
  %3912 = load i32, ptr %20, align 4, !tbaa !9
  %3913 = sext i32 %3912 to i64
  %3914 = getelementptr inbounds %struct.complex, ptr %3911, i64 %3913
  %3915 = getelementptr inbounds %struct.complex, ptr %3914, i32 0, i32 0
  store float %3910, ptr %3915, align 4, !tbaa !11
  %3916 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3917 = load float, ptr %3916, align 4, !tbaa !14
  %3918 = load ptr, ptr %14, align 8, !tbaa !5
  %3919 = load i32, ptr %20, align 4, !tbaa !9
  %3920 = sext i32 %3919 to i64
  %3921 = getelementptr inbounds %struct.complex, ptr %3918, i64 %3920
  %3922 = getelementptr inbounds %struct.complex, ptr %3921, i32 0, i32 1
  store float %3917, ptr %3922, align 4, !tbaa !14
  %3923 = load i32, ptr %49, align 4, !tbaa !9
  %3924 = load i32, ptr %17, align 4, !tbaa !9
  %3925 = mul nsw i32 %3923, %3924
  %3926 = add nsw i32 %3925, 5
  store i32 %3926, ptr %20, align 4, !tbaa !9
  %3927 = load i32, ptr %49, align 4, !tbaa !9
  %3928 = load i32, ptr %17, align 4, !tbaa !9
  %3929 = mul nsw i32 %3927, %3928
  %3930 = add nsw i32 %3929, 5
  store i32 %3930, ptr %21, align 4, !tbaa !9
  %3931 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3932 = load float, ptr %3931, align 4, !tbaa !11
  %3933 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %3934 = load float, ptr %3933, align 4, !tbaa !11
  %3935 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3936 = load float, ptr %3935, align 4, !tbaa !14
  %3937 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %3938 = load float, ptr %3937, align 4, !tbaa !14
  %3939 = fmul float %3936, %3938
  %3940 = fneg float %3939
  %3941 = call float @llvm.fmuladd.f32(float %3932, float %3934, float %3940)
  %3942 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3941, ptr %3942, align 4, !tbaa !11
  %3943 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3944 = load float, ptr %3943, align 4, !tbaa !11
  %3945 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %3946 = load float, ptr %3945, align 4, !tbaa !14
  %3947 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %3948 = load float, ptr %3947, align 4, !tbaa !14
  %3949 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %3950 = load float, ptr %3949, align 4, !tbaa !11
  %3951 = fmul float %3948, %3950
  %3952 = call float @llvm.fmuladd.f32(float %3944, float %3946, float %3951)
  %3953 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3952, ptr %3953, align 4, !tbaa !14
  %3954 = load ptr, ptr %14, align 8, !tbaa !5
  %3955 = load i32, ptr %21, align 4, !tbaa !9
  %3956 = sext i32 %3955 to i64
  %3957 = getelementptr inbounds %struct.complex, ptr %3954, i64 %3956
  %3958 = getelementptr inbounds %struct.complex, ptr %3957, i32 0, i32 0
  %3959 = load float, ptr %3958, align 4, !tbaa !11
  %3960 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3961 = load float, ptr %3960, align 4, !tbaa !11
  %3962 = fsub float %3959, %3961
  %3963 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %3962, ptr %3963, align 4, !tbaa !11
  %3964 = load ptr, ptr %14, align 8, !tbaa !5
  %3965 = load i32, ptr %21, align 4, !tbaa !9
  %3966 = sext i32 %3965 to i64
  %3967 = getelementptr inbounds %struct.complex, ptr %3964, i64 %3966
  %3968 = getelementptr inbounds %struct.complex, ptr %3967, i32 0, i32 1
  %3969 = load float, ptr %3968, align 4, !tbaa !14
  %3970 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3971 = load float, ptr %3970, align 4, !tbaa !14
  %3972 = fsub float %3969, %3971
  %3973 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %3972, ptr %3973, align 4, !tbaa !14
  %3974 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %3975 = load float, ptr %3974, align 4, !tbaa !11
  %3976 = load ptr, ptr %14, align 8, !tbaa !5
  %3977 = load i32, ptr %20, align 4, !tbaa !9
  %3978 = sext i32 %3977 to i64
  %3979 = getelementptr inbounds %struct.complex, ptr %3976, i64 %3978
  %3980 = getelementptr inbounds %struct.complex, ptr %3979, i32 0, i32 0
  store float %3975, ptr %3980, align 4, !tbaa !11
  %3981 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %3982 = load float, ptr %3981, align 4, !tbaa !14
  %3983 = load ptr, ptr %14, align 8, !tbaa !5
  %3984 = load i32, ptr %20, align 4, !tbaa !9
  %3985 = sext i32 %3984 to i64
  %3986 = getelementptr inbounds %struct.complex, ptr %3983, i64 %3985
  %3987 = getelementptr inbounds %struct.complex, ptr %3986, i32 0, i32 1
  store float %3982, ptr %3987, align 4, !tbaa !14
  %3988 = load i32, ptr %49, align 4, !tbaa !9
  %3989 = load i32, ptr %17, align 4, !tbaa !9
  %3990 = mul nsw i32 %3988, %3989
  %3991 = add nsw i32 %3990, 6
  store i32 %3991, ptr %20, align 4, !tbaa !9
  %3992 = load i32, ptr %49, align 4, !tbaa !9
  %3993 = load i32, ptr %17, align 4, !tbaa !9
  %3994 = mul nsw i32 %3992, %3993
  %3995 = add nsw i32 %3994, 6
  store i32 %3995, ptr %21, align 4, !tbaa !9
  %3996 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %3997 = load float, ptr %3996, align 4, !tbaa !11
  %3998 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %3999 = load float, ptr %3998, align 4, !tbaa !11
  %4000 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %4001 = load float, ptr %4000, align 4, !tbaa !14
  %4002 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %4003 = load float, ptr %4002, align 4, !tbaa !14
  %4004 = fmul float %4001, %4003
  %4005 = fneg float %4004
  %4006 = call float @llvm.fmuladd.f32(float %3997, float %3999, float %4005)
  %4007 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4006, ptr %4007, align 4, !tbaa !11
  %4008 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %4009 = load float, ptr %4008, align 4, !tbaa !11
  %4010 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %4011 = load float, ptr %4010, align 4, !tbaa !14
  %4012 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %4013 = load float, ptr %4012, align 4, !tbaa !14
  %4014 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %4015 = load float, ptr %4014, align 4, !tbaa !11
  %4016 = fmul float %4013, %4015
  %4017 = call float @llvm.fmuladd.f32(float %4009, float %4011, float %4016)
  %4018 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4017, ptr %4018, align 4, !tbaa !14
  %4019 = load ptr, ptr %14, align 8, !tbaa !5
  %4020 = load i32, ptr %21, align 4, !tbaa !9
  %4021 = sext i32 %4020 to i64
  %4022 = getelementptr inbounds %struct.complex, ptr %4019, i64 %4021
  %4023 = getelementptr inbounds %struct.complex, ptr %4022, i32 0, i32 0
  %4024 = load float, ptr %4023, align 4, !tbaa !11
  %4025 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4026 = load float, ptr %4025, align 4, !tbaa !11
  %4027 = fsub float %4024, %4026
  %4028 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4027, ptr %4028, align 4, !tbaa !11
  %4029 = load ptr, ptr %14, align 8, !tbaa !5
  %4030 = load i32, ptr %21, align 4, !tbaa !9
  %4031 = sext i32 %4030 to i64
  %4032 = getelementptr inbounds %struct.complex, ptr %4029, i64 %4031
  %4033 = getelementptr inbounds %struct.complex, ptr %4032, i32 0, i32 1
  %4034 = load float, ptr %4033, align 4, !tbaa !14
  %4035 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4036 = load float, ptr %4035, align 4, !tbaa !14
  %4037 = fsub float %4034, %4036
  %4038 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4037, ptr %4038, align 4, !tbaa !14
  %4039 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4040 = load float, ptr %4039, align 4, !tbaa !11
  %4041 = load ptr, ptr %14, align 8, !tbaa !5
  %4042 = load i32, ptr %20, align 4, !tbaa !9
  %4043 = sext i32 %4042 to i64
  %4044 = getelementptr inbounds %struct.complex, ptr %4041, i64 %4043
  %4045 = getelementptr inbounds %struct.complex, ptr %4044, i32 0, i32 0
  store float %4040, ptr %4045, align 4, !tbaa !11
  %4046 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4047 = load float, ptr %4046, align 4, !tbaa !14
  %4048 = load ptr, ptr %14, align 8, !tbaa !5
  %4049 = load i32, ptr %20, align 4, !tbaa !9
  %4050 = sext i32 %4049 to i64
  %4051 = getelementptr inbounds %struct.complex, ptr %4048, i64 %4050
  %4052 = getelementptr inbounds %struct.complex, ptr %4051, i32 0, i32 1
  store float %4047, ptr %4052, align 4, !tbaa !14
  br label %4053

4053:                                             ; preds = %3338
  %4054 = load i32, ptr %49, align 4, !tbaa !9
  %4055 = add nsw i32 %4054, 1
  store i32 %4055, ptr %49, align 4, !tbaa !9
  br label %3334, !llvm.loop !21

4056:                                             ; preds = %3334
  br label %19663

4057:                                             ; preds = %273
  %4058 = load ptr, ptr %12, align 8, !tbaa !5
  %4059 = getelementptr inbounds %struct.complex, ptr %4058, i64 1
  %4060 = call <2 x float> @Cf(ptr noundef %4059)
  store <2 x float> %4060, ptr %113, align 4
  %4061 = getelementptr inbounds { float, float }, ptr %113, i32 0, i32 0
  %4062 = load float, ptr %4061, align 4
  %4063 = getelementptr inbounds { float, float }, ptr %113, i32 0, i32 1
  %4064 = load float, ptr %4063, align 4
  %4065 = fneg float %4064
  %4066 = call ptr @_pCf(ptr noundef %30)
  %4067 = getelementptr inbounds { float, float }, ptr %4066, i32 0, i32 0
  %4068 = getelementptr inbounds { float, float }, ptr %4066, i32 0, i32 1
  store float %4062, ptr %4067, align 4
  store float %4065, ptr %4068, align 4
  %4069 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4070 = load float, ptr %4069, align 4, !tbaa !11
  %4071 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %4070, ptr %4071, align 4, !tbaa !11
  %4072 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4073 = load float, ptr %4072, align 4, !tbaa !14
  %4074 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %4073, ptr %4074, align 4, !tbaa !14
  %4075 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %4075, ptr %114, align 4
  %4076 = getelementptr inbounds { float, float }, ptr %114, i32 0, i32 0
  %4077 = load float, ptr %4076, align 4
  %4078 = getelementptr inbounds { float, float }, ptr %114, i32 0, i32 1
  %4079 = load float, ptr %4078, align 4
  %4080 = fneg float %4079
  %4081 = call ptr @_pCf(ptr noundef %31)
  %4082 = getelementptr inbounds { float, float }, ptr %4081, i32 0, i32 0
  %4083 = getelementptr inbounds { float, float }, ptr %4081, i32 0, i32 1
  store float %4077, ptr %4082, align 4
  store float %4080, ptr %4083, align 4
  %4084 = load ptr, ptr %13, align 8, !tbaa !5
  %4085 = getelementptr inbounds %struct.complex, ptr %4084, i32 0, i32 0
  %4086 = load float, ptr %4085, align 4, !tbaa !11
  %4087 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4088 = load float, ptr %4087, align 4, !tbaa !11
  %4089 = load ptr, ptr %13, align 8, !tbaa !5
  %4090 = getelementptr inbounds %struct.complex, ptr %4089, i32 0, i32 1
  %4091 = load float, ptr %4090, align 4, !tbaa !14
  %4092 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4093 = load float, ptr %4092, align 4, !tbaa !14
  %4094 = fmul float %4091, %4093
  %4095 = fneg float %4094
  %4096 = call float @llvm.fmuladd.f32(float %4086, float %4088, float %4095)
  %4097 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4096, ptr %4097, align 4, !tbaa !11
  %4098 = load ptr, ptr %13, align 8, !tbaa !5
  %4099 = getelementptr inbounds %struct.complex, ptr %4098, i32 0, i32 0
  %4100 = load float, ptr %4099, align 4, !tbaa !11
  %4101 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4102 = load float, ptr %4101, align 4, !tbaa !14
  %4103 = load ptr, ptr %13, align 8, !tbaa !5
  %4104 = getelementptr inbounds %struct.complex, ptr %4103, i32 0, i32 1
  %4105 = load float, ptr %4104, align 4, !tbaa !14
  %4106 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4107 = load float, ptr %4106, align 4, !tbaa !11
  %4108 = fmul float %4105, %4107
  %4109 = call float @llvm.fmuladd.f32(float %4100, float %4102, float %4108)
  %4110 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4109, ptr %4110, align 4, !tbaa !14
  %4111 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4112 = load float, ptr %4111, align 4, !tbaa !11
  %4113 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %4112, ptr %4113, align 4, !tbaa !11
  %4114 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4115 = load float, ptr %4114, align 4, !tbaa !14
  %4116 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %4115, ptr %4116, align 4, !tbaa !14
  %4117 = load ptr, ptr %12, align 8, !tbaa !5
  %4118 = getelementptr inbounds %struct.complex, ptr %4117, i64 2
  %4119 = call <2 x float> @Cf(ptr noundef %4118)
  store <2 x float> %4119, ptr %115, align 4
  %4120 = getelementptr inbounds { float, float }, ptr %115, i32 0, i32 0
  %4121 = load float, ptr %4120, align 4
  %4122 = getelementptr inbounds { float, float }, ptr %115, i32 0, i32 1
  %4123 = load float, ptr %4122, align 4
  %4124 = fneg float %4123
  %4125 = call ptr @_pCf(ptr noundef %30)
  %4126 = getelementptr inbounds { float, float }, ptr %4125, i32 0, i32 0
  %4127 = getelementptr inbounds { float, float }, ptr %4125, i32 0, i32 1
  store float %4121, ptr %4126, align 4
  store float %4124, ptr %4127, align 4
  %4128 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4129 = load float, ptr %4128, align 4, !tbaa !11
  %4130 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %4129, ptr %4130, align 4, !tbaa !11
  %4131 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4132 = load float, ptr %4131, align 4, !tbaa !14
  %4133 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %4132, ptr %4133, align 4, !tbaa !14
  %4134 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %4134, ptr %116, align 4
  %4135 = getelementptr inbounds { float, float }, ptr %116, i32 0, i32 0
  %4136 = load float, ptr %4135, align 4
  %4137 = getelementptr inbounds { float, float }, ptr %116, i32 0, i32 1
  %4138 = load float, ptr %4137, align 4
  %4139 = fneg float %4138
  %4140 = call ptr @_pCf(ptr noundef %31)
  %4141 = getelementptr inbounds { float, float }, ptr %4140, i32 0, i32 0
  %4142 = getelementptr inbounds { float, float }, ptr %4140, i32 0, i32 1
  store float %4136, ptr %4141, align 4
  store float %4139, ptr %4142, align 4
  %4143 = load ptr, ptr %13, align 8, !tbaa !5
  %4144 = getelementptr inbounds %struct.complex, ptr %4143, i32 0, i32 0
  %4145 = load float, ptr %4144, align 4, !tbaa !11
  %4146 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4147 = load float, ptr %4146, align 4, !tbaa !11
  %4148 = load ptr, ptr %13, align 8, !tbaa !5
  %4149 = getelementptr inbounds %struct.complex, ptr %4148, i32 0, i32 1
  %4150 = load float, ptr %4149, align 4, !tbaa !14
  %4151 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4152 = load float, ptr %4151, align 4, !tbaa !14
  %4153 = fmul float %4150, %4152
  %4154 = fneg float %4153
  %4155 = call float @llvm.fmuladd.f32(float %4145, float %4147, float %4154)
  %4156 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4155, ptr %4156, align 4, !tbaa !11
  %4157 = load ptr, ptr %13, align 8, !tbaa !5
  %4158 = getelementptr inbounds %struct.complex, ptr %4157, i32 0, i32 0
  %4159 = load float, ptr %4158, align 4, !tbaa !11
  %4160 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4161 = load float, ptr %4160, align 4, !tbaa !14
  %4162 = load ptr, ptr %13, align 8, !tbaa !5
  %4163 = getelementptr inbounds %struct.complex, ptr %4162, i32 0, i32 1
  %4164 = load float, ptr %4163, align 4, !tbaa !14
  %4165 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4166 = load float, ptr %4165, align 4, !tbaa !11
  %4167 = fmul float %4164, %4166
  %4168 = call float @llvm.fmuladd.f32(float %4159, float %4161, float %4167)
  %4169 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4168, ptr %4169, align 4, !tbaa !14
  %4170 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4171 = load float, ptr %4170, align 4, !tbaa !11
  %4172 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %4171, ptr %4172, align 4, !tbaa !11
  %4173 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4174 = load float, ptr %4173, align 4, !tbaa !14
  %4175 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %4174, ptr %4175, align 4, !tbaa !14
  %4176 = load ptr, ptr %12, align 8, !tbaa !5
  %4177 = getelementptr inbounds %struct.complex, ptr %4176, i64 3
  %4178 = call <2 x float> @Cf(ptr noundef %4177)
  store <2 x float> %4178, ptr %117, align 4
  %4179 = getelementptr inbounds { float, float }, ptr %117, i32 0, i32 0
  %4180 = load float, ptr %4179, align 4
  %4181 = getelementptr inbounds { float, float }, ptr %117, i32 0, i32 1
  %4182 = load float, ptr %4181, align 4
  %4183 = fneg float %4182
  %4184 = call ptr @_pCf(ptr noundef %30)
  %4185 = getelementptr inbounds { float, float }, ptr %4184, i32 0, i32 0
  %4186 = getelementptr inbounds { float, float }, ptr %4184, i32 0, i32 1
  store float %4180, ptr %4185, align 4
  store float %4183, ptr %4186, align 4
  %4187 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4188 = load float, ptr %4187, align 4, !tbaa !11
  %4189 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %4188, ptr %4189, align 4, !tbaa !11
  %4190 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4191 = load float, ptr %4190, align 4, !tbaa !14
  %4192 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %4191, ptr %4192, align 4, !tbaa !14
  %4193 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %4193, ptr %118, align 4
  %4194 = getelementptr inbounds { float, float }, ptr %118, i32 0, i32 0
  %4195 = load float, ptr %4194, align 4
  %4196 = getelementptr inbounds { float, float }, ptr %118, i32 0, i32 1
  %4197 = load float, ptr %4196, align 4
  %4198 = fneg float %4197
  %4199 = call ptr @_pCf(ptr noundef %31)
  %4200 = getelementptr inbounds { float, float }, ptr %4199, i32 0, i32 0
  %4201 = getelementptr inbounds { float, float }, ptr %4199, i32 0, i32 1
  store float %4195, ptr %4200, align 4
  store float %4198, ptr %4201, align 4
  %4202 = load ptr, ptr %13, align 8, !tbaa !5
  %4203 = getelementptr inbounds %struct.complex, ptr %4202, i32 0, i32 0
  %4204 = load float, ptr %4203, align 4, !tbaa !11
  %4205 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4206 = load float, ptr %4205, align 4, !tbaa !11
  %4207 = load ptr, ptr %13, align 8, !tbaa !5
  %4208 = getelementptr inbounds %struct.complex, ptr %4207, i32 0, i32 1
  %4209 = load float, ptr %4208, align 4, !tbaa !14
  %4210 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4211 = load float, ptr %4210, align 4, !tbaa !14
  %4212 = fmul float %4209, %4211
  %4213 = fneg float %4212
  %4214 = call float @llvm.fmuladd.f32(float %4204, float %4206, float %4213)
  %4215 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4214, ptr %4215, align 4, !tbaa !11
  %4216 = load ptr, ptr %13, align 8, !tbaa !5
  %4217 = getelementptr inbounds %struct.complex, ptr %4216, i32 0, i32 0
  %4218 = load float, ptr %4217, align 4, !tbaa !11
  %4219 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4220 = load float, ptr %4219, align 4, !tbaa !14
  %4221 = load ptr, ptr %13, align 8, !tbaa !5
  %4222 = getelementptr inbounds %struct.complex, ptr %4221, i32 0, i32 1
  %4223 = load float, ptr %4222, align 4, !tbaa !14
  %4224 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4225 = load float, ptr %4224, align 4, !tbaa !11
  %4226 = fmul float %4223, %4225
  %4227 = call float @llvm.fmuladd.f32(float %4218, float %4220, float %4226)
  %4228 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4227, ptr %4228, align 4, !tbaa !14
  %4229 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4230 = load float, ptr %4229, align 4, !tbaa !11
  %4231 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %4230, ptr %4231, align 4, !tbaa !11
  %4232 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4233 = load float, ptr %4232, align 4, !tbaa !14
  %4234 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %4233, ptr %4234, align 4, !tbaa !14
  %4235 = load ptr, ptr %12, align 8, !tbaa !5
  %4236 = getelementptr inbounds %struct.complex, ptr %4235, i64 4
  %4237 = call <2 x float> @Cf(ptr noundef %4236)
  store <2 x float> %4237, ptr %119, align 4
  %4238 = getelementptr inbounds { float, float }, ptr %119, i32 0, i32 0
  %4239 = load float, ptr %4238, align 4
  %4240 = getelementptr inbounds { float, float }, ptr %119, i32 0, i32 1
  %4241 = load float, ptr %4240, align 4
  %4242 = fneg float %4241
  %4243 = call ptr @_pCf(ptr noundef %30)
  %4244 = getelementptr inbounds { float, float }, ptr %4243, i32 0, i32 0
  %4245 = getelementptr inbounds { float, float }, ptr %4243, i32 0, i32 1
  store float %4239, ptr %4244, align 4
  store float %4242, ptr %4245, align 4
  %4246 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4247 = load float, ptr %4246, align 4, !tbaa !11
  %4248 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %4247, ptr %4248, align 4, !tbaa !11
  %4249 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4250 = load float, ptr %4249, align 4, !tbaa !14
  %4251 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %4250, ptr %4251, align 4, !tbaa !14
  %4252 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %4252, ptr %120, align 4
  %4253 = getelementptr inbounds { float, float }, ptr %120, i32 0, i32 0
  %4254 = load float, ptr %4253, align 4
  %4255 = getelementptr inbounds { float, float }, ptr %120, i32 0, i32 1
  %4256 = load float, ptr %4255, align 4
  %4257 = fneg float %4256
  %4258 = call ptr @_pCf(ptr noundef %31)
  %4259 = getelementptr inbounds { float, float }, ptr %4258, i32 0, i32 0
  %4260 = getelementptr inbounds { float, float }, ptr %4258, i32 0, i32 1
  store float %4254, ptr %4259, align 4
  store float %4257, ptr %4260, align 4
  %4261 = load ptr, ptr %13, align 8, !tbaa !5
  %4262 = getelementptr inbounds %struct.complex, ptr %4261, i32 0, i32 0
  %4263 = load float, ptr %4262, align 4, !tbaa !11
  %4264 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4265 = load float, ptr %4264, align 4, !tbaa !11
  %4266 = load ptr, ptr %13, align 8, !tbaa !5
  %4267 = getelementptr inbounds %struct.complex, ptr %4266, i32 0, i32 1
  %4268 = load float, ptr %4267, align 4, !tbaa !14
  %4269 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4270 = load float, ptr %4269, align 4, !tbaa !14
  %4271 = fmul float %4268, %4270
  %4272 = fneg float %4271
  %4273 = call float @llvm.fmuladd.f32(float %4263, float %4265, float %4272)
  %4274 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4273, ptr %4274, align 4, !tbaa !11
  %4275 = load ptr, ptr %13, align 8, !tbaa !5
  %4276 = getelementptr inbounds %struct.complex, ptr %4275, i32 0, i32 0
  %4277 = load float, ptr %4276, align 4, !tbaa !11
  %4278 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4279 = load float, ptr %4278, align 4, !tbaa !14
  %4280 = load ptr, ptr %13, align 8, !tbaa !5
  %4281 = getelementptr inbounds %struct.complex, ptr %4280, i32 0, i32 1
  %4282 = load float, ptr %4281, align 4, !tbaa !14
  %4283 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4284 = load float, ptr %4283, align 4, !tbaa !11
  %4285 = fmul float %4282, %4284
  %4286 = call float @llvm.fmuladd.f32(float %4277, float %4279, float %4285)
  %4287 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4286, ptr %4287, align 4, !tbaa !14
  %4288 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4289 = load float, ptr %4288, align 4, !tbaa !11
  %4290 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %4289, ptr %4290, align 4, !tbaa !11
  %4291 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4292 = load float, ptr %4291, align 4, !tbaa !14
  %4293 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %4292, ptr %4293, align 4, !tbaa !14
  %4294 = load ptr, ptr %12, align 8, !tbaa !5
  %4295 = getelementptr inbounds %struct.complex, ptr %4294, i64 5
  %4296 = call <2 x float> @Cf(ptr noundef %4295)
  store <2 x float> %4296, ptr %121, align 4
  %4297 = getelementptr inbounds { float, float }, ptr %121, i32 0, i32 0
  %4298 = load float, ptr %4297, align 4
  %4299 = getelementptr inbounds { float, float }, ptr %121, i32 0, i32 1
  %4300 = load float, ptr %4299, align 4
  %4301 = fneg float %4300
  %4302 = call ptr @_pCf(ptr noundef %30)
  %4303 = getelementptr inbounds { float, float }, ptr %4302, i32 0, i32 0
  %4304 = getelementptr inbounds { float, float }, ptr %4302, i32 0, i32 1
  store float %4298, ptr %4303, align 4
  store float %4301, ptr %4304, align 4
  %4305 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4306 = load float, ptr %4305, align 4, !tbaa !11
  %4307 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %4306, ptr %4307, align 4, !tbaa !11
  %4308 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4309 = load float, ptr %4308, align 4, !tbaa !14
  %4310 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %4309, ptr %4310, align 4, !tbaa !14
  %4311 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %4311, ptr %122, align 4
  %4312 = getelementptr inbounds { float, float }, ptr %122, i32 0, i32 0
  %4313 = load float, ptr %4312, align 4
  %4314 = getelementptr inbounds { float, float }, ptr %122, i32 0, i32 1
  %4315 = load float, ptr %4314, align 4
  %4316 = fneg float %4315
  %4317 = call ptr @_pCf(ptr noundef %31)
  %4318 = getelementptr inbounds { float, float }, ptr %4317, i32 0, i32 0
  %4319 = getelementptr inbounds { float, float }, ptr %4317, i32 0, i32 1
  store float %4313, ptr %4318, align 4
  store float %4316, ptr %4319, align 4
  %4320 = load ptr, ptr %13, align 8, !tbaa !5
  %4321 = getelementptr inbounds %struct.complex, ptr %4320, i32 0, i32 0
  %4322 = load float, ptr %4321, align 4, !tbaa !11
  %4323 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4324 = load float, ptr %4323, align 4, !tbaa !11
  %4325 = load ptr, ptr %13, align 8, !tbaa !5
  %4326 = getelementptr inbounds %struct.complex, ptr %4325, i32 0, i32 1
  %4327 = load float, ptr %4326, align 4, !tbaa !14
  %4328 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4329 = load float, ptr %4328, align 4, !tbaa !14
  %4330 = fmul float %4327, %4329
  %4331 = fneg float %4330
  %4332 = call float @llvm.fmuladd.f32(float %4322, float %4324, float %4331)
  %4333 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4332, ptr %4333, align 4, !tbaa !11
  %4334 = load ptr, ptr %13, align 8, !tbaa !5
  %4335 = getelementptr inbounds %struct.complex, ptr %4334, i32 0, i32 0
  %4336 = load float, ptr %4335, align 4, !tbaa !11
  %4337 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4338 = load float, ptr %4337, align 4, !tbaa !14
  %4339 = load ptr, ptr %13, align 8, !tbaa !5
  %4340 = getelementptr inbounds %struct.complex, ptr %4339, i32 0, i32 1
  %4341 = load float, ptr %4340, align 4, !tbaa !14
  %4342 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4343 = load float, ptr %4342, align 4, !tbaa !11
  %4344 = fmul float %4341, %4343
  %4345 = call float @llvm.fmuladd.f32(float %4336, float %4338, float %4344)
  %4346 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4345, ptr %4346, align 4, !tbaa !14
  %4347 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4348 = load float, ptr %4347, align 4, !tbaa !11
  %4349 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %4348, ptr %4349, align 4, !tbaa !11
  %4350 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4351 = load float, ptr %4350, align 4, !tbaa !14
  %4352 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %4351, ptr %4352, align 4, !tbaa !14
  %4353 = load ptr, ptr %12, align 8, !tbaa !5
  %4354 = getelementptr inbounds %struct.complex, ptr %4353, i64 6
  %4355 = call <2 x float> @Cf(ptr noundef %4354)
  store <2 x float> %4355, ptr %123, align 4
  %4356 = getelementptr inbounds { float, float }, ptr %123, i32 0, i32 0
  %4357 = load float, ptr %4356, align 4
  %4358 = getelementptr inbounds { float, float }, ptr %123, i32 0, i32 1
  %4359 = load float, ptr %4358, align 4
  %4360 = fneg float %4359
  %4361 = call ptr @_pCf(ptr noundef %30)
  %4362 = getelementptr inbounds { float, float }, ptr %4361, i32 0, i32 0
  %4363 = getelementptr inbounds { float, float }, ptr %4361, i32 0, i32 1
  store float %4357, ptr %4362, align 4
  store float %4360, ptr %4363, align 4
  %4364 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4365 = load float, ptr %4364, align 4, !tbaa !11
  %4366 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %4365, ptr %4366, align 4, !tbaa !11
  %4367 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4368 = load float, ptr %4367, align 4, !tbaa !14
  %4369 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %4368, ptr %4369, align 4, !tbaa !14
  %4370 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %4370, ptr %124, align 4
  %4371 = getelementptr inbounds { float, float }, ptr %124, i32 0, i32 0
  %4372 = load float, ptr %4371, align 4
  %4373 = getelementptr inbounds { float, float }, ptr %124, i32 0, i32 1
  %4374 = load float, ptr %4373, align 4
  %4375 = fneg float %4374
  %4376 = call ptr @_pCf(ptr noundef %31)
  %4377 = getelementptr inbounds { float, float }, ptr %4376, i32 0, i32 0
  %4378 = getelementptr inbounds { float, float }, ptr %4376, i32 0, i32 1
  store float %4372, ptr %4377, align 4
  store float %4375, ptr %4378, align 4
  %4379 = load ptr, ptr %13, align 8, !tbaa !5
  %4380 = getelementptr inbounds %struct.complex, ptr %4379, i32 0, i32 0
  %4381 = load float, ptr %4380, align 4, !tbaa !11
  %4382 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4383 = load float, ptr %4382, align 4, !tbaa !11
  %4384 = load ptr, ptr %13, align 8, !tbaa !5
  %4385 = getelementptr inbounds %struct.complex, ptr %4384, i32 0, i32 1
  %4386 = load float, ptr %4385, align 4, !tbaa !14
  %4387 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4388 = load float, ptr %4387, align 4, !tbaa !14
  %4389 = fmul float %4386, %4388
  %4390 = fneg float %4389
  %4391 = call float @llvm.fmuladd.f32(float %4381, float %4383, float %4390)
  %4392 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4391, ptr %4392, align 4, !tbaa !11
  %4393 = load ptr, ptr %13, align 8, !tbaa !5
  %4394 = getelementptr inbounds %struct.complex, ptr %4393, i32 0, i32 0
  %4395 = load float, ptr %4394, align 4, !tbaa !11
  %4396 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4397 = load float, ptr %4396, align 4, !tbaa !14
  %4398 = load ptr, ptr %13, align 8, !tbaa !5
  %4399 = getelementptr inbounds %struct.complex, ptr %4398, i32 0, i32 1
  %4400 = load float, ptr %4399, align 4, !tbaa !14
  %4401 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4402 = load float, ptr %4401, align 4, !tbaa !11
  %4403 = fmul float %4400, %4402
  %4404 = call float @llvm.fmuladd.f32(float %4395, float %4397, float %4403)
  %4405 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4404, ptr %4405, align 4, !tbaa !14
  %4406 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4407 = load float, ptr %4406, align 4, !tbaa !11
  %4408 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %4407, ptr %4408, align 4, !tbaa !11
  %4409 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4410 = load float, ptr %4409, align 4, !tbaa !14
  %4411 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %4410, ptr %4411, align 4, !tbaa !14
  %4412 = load ptr, ptr %12, align 8, !tbaa !5
  %4413 = getelementptr inbounds %struct.complex, ptr %4412, i64 7
  %4414 = call <2 x float> @Cf(ptr noundef %4413)
  store <2 x float> %4414, ptr %125, align 4
  %4415 = getelementptr inbounds { float, float }, ptr %125, i32 0, i32 0
  %4416 = load float, ptr %4415, align 4
  %4417 = getelementptr inbounds { float, float }, ptr %125, i32 0, i32 1
  %4418 = load float, ptr %4417, align 4
  %4419 = fneg float %4418
  %4420 = call ptr @_pCf(ptr noundef %30)
  %4421 = getelementptr inbounds { float, float }, ptr %4420, i32 0, i32 0
  %4422 = getelementptr inbounds { float, float }, ptr %4420, i32 0, i32 1
  store float %4416, ptr %4421, align 4
  store float %4419, ptr %4422, align 4
  %4423 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4424 = load float, ptr %4423, align 4, !tbaa !11
  %4425 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %4424, ptr %4425, align 4, !tbaa !11
  %4426 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4427 = load float, ptr %4426, align 4, !tbaa !14
  %4428 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %4427, ptr %4428, align 4, !tbaa !14
  %4429 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %4429, ptr %126, align 4
  %4430 = getelementptr inbounds { float, float }, ptr %126, i32 0, i32 0
  %4431 = load float, ptr %4430, align 4
  %4432 = getelementptr inbounds { float, float }, ptr %126, i32 0, i32 1
  %4433 = load float, ptr %4432, align 4
  %4434 = fneg float %4433
  %4435 = call ptr @_pCf(ptr noundef %31)
  %4436 = getelementptr inbounds { float, float }, ptr %4435, i32 0, i32 0
  %4437 = getelementptr inbounds { float, float }, ptr %4435, i32 0, i32 1
  store float %4431, ptr %4436, align 4
  store float %4434, ptr %4437, align 4
  %4438 = load ptr, ptr %13, align 8, !tbaa !5
  %4439 = getelementptr inbounds %struct.complex, ptr %4438, i32 0, i32 0
  %4440 = load float, ptr %4439, align 4, !tbaa !11
  %4441 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4442 = load float, ptr %4441, align 4, !tbaa !11
  %4443 = load ptr, ptr %13, align 8, !tbaa !5
  %4444 = getelementptr inbounds %struct.complex, ptr %4443, i32 0, i32 1
  %4445 = load float, ptr %4444, align 4, !tbaa !14
  %4446 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4447 = load float, ptr %4446, align 4, !tbaa !14
  %4448 = fmul float %4445, %4447
  %4449 = fneg float %4448
  %4450 = call float @llvm.fmuladd.f32(float %4440, float %4442, float %4449)
  %4451 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4450, ptr %4451, align 4, !tbaa !11
  %4452 = load ptr, ptr %13, align 8, !tbaa !5
  %4453 = getelementptr inbounds %struct.complex, ptr %4452, i32 0, i32 0
  %4454 = load float, ptr %4453, align 4, !tbaa !11
  %4455 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4456 = load float, ptr %4455, align 4, !tbaa !14
  %4457 = load ptr, ptr %13, align 8, !tbaa !5
  %4458 = getelementptr inbounds %struct.complex, ptr %4457, i32 0, i32 1
  %4459 = load float, ptr %4458, align 4, !tbaa !14
  %4460 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4461 = load float, ptr %4460, align 4, !tbaa !11
  %4462 = fmul float %4459, %4461
  %4463 = call float @llvm.fmuladd.f32(float %4454, float %4456, float %4462)
  %4464 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4463, ptr %4464, align 4, !tbaa !14
  %4465 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4466 = load float, ptr %4465, align 4, !tbaa !11
  %4467 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %4466, ptr %4467, align 4, !tbaa !11
  %4468 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4469 = load float, ptr %4468, align 4, !tbaa !14
  %4470 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %4469, ptr %4470, align 4, !tbaa !14
  %4471 = load ptr, ptr %11, align 8, !tbaa !5
  %4472 = load i32, ptr %4471, align 4, !tbaa !9
  store i32 %4472, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %4473

4473:                                             ; preds = %5312, %4057
  %4474 = load i32, ptr %49, align 4, !tbaa !9
  %4475 = load i32, ptr %19, align 4, !tbaa !9
  %4476 = icmp sle i32 %4474, %4475
  br i1 %4476, label %4477, label %5315

4477:                                             ; preds = %4473
  %4478 = load i32, ptr %49, align 4, !tbaa !9
  %4479 = load i32, ptr %17, align 4, !tbaa !9
  %4480 = mul nsw i32 %4478, %4479
  %4481 = add nsw i32 %4480, 1
  store i32 %4481, ptr %20, align 4, !tbaa !9
  %4482 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %4483 = load float, ptr %4482, align 4, !tbaa !11
  %4484 = load ptr, ptr %14, align 8, !tbaa !5
  %4485 = load i32, ptr %20, align 4, !tbaa !9
  %4486 = sext i32 %4485 to i64
  %4487 = getelementptr inbounds %struct.complex, ptr %4484, i64 %4486
  %4488 = getelementptr inbounds %struct.complex, ptr %4487, i32 0, i32 0
  %4489 = load float, ptr %4488, align 4, !tbaa !11
  %4490 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %4491 = load float, ptr %4490, align 4, !tbaa !14
  %4492 = load ptr, ptr %14, align 8, !tbaa !5
  %4493 = load i32, ptr %20, align 4, !tbaa !9
  %4494 = sext i32 %4493 to i64
  %4495 = getelementptr inbounds %struct.complex, ptr %4492, i64 %4494
  %4496 = getelementptr inbounds %struct.complex, ptr %4495, i32 0, i32 1
  %4497 = load float, ptr %4496, align 4, !tbaa !14
  %4498 = fmul float %4491, %4497
  %4499 = fneg float %4498
  %4500 = call float @llvm.fmuladd.f32(float %4483, float %4489, float %4499)
  %4501 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %4500, ptr %4501, align 4, !tbaa !11
  %4502 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %4503 = load float, ptr %4502, align 4, !tbaa !11
  %4504 = load ptr, ptr %14, align 8, !tbaa !5
  %4505 = load i32, ptr %20, align 4, !tbaa !9
  %4506 = sext i32 %4505 to i64
  %4507 = getelementptr inbounds %struct.complex, ptr %4504, i64 %4506
  %4508 = getelementptr inbounds %struct.complex, ptr %4507, i32 0, i32 1
  %4509 = load float, ptr %4508, align 4, !tbaa !14
  %4510 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %4511 = load float, ptr %4510, align 4, !tbaa !14
  %4512 = load ptr, ptr %14, align 8, !tbaa !5
  %4513 = load i32, ptr %20, align 4, !tbaa !9
  %4514 = sext i32 %4513 to i64
  %4515 = getelementptr inbounds %struct.complex, ptr %4512, i64 %4514
  %4516 = getelementptr inbounds %struct.complex, ptr %4515, i32 0, i32 0
  %4517 = load float, ptr %4516, align 4, !tbaa !11
  %4518 = fmul float %4511, %4517
  %4519 = call float @llvm.fmuladd.f32(float %4503, float %4509, float %4518)
  %4520 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %4519, ptr %4520, align 4, !tbaa !14
  %4521 = load i32, ptr %49, align 4, !tbaa !9
  %4522 = load i32, ptr %17, align 4, !tbaa !9
  %4523 = mul nsw i32 %4521, %4522
  %4524 = add nsw i32 %4523, 2
  store i32 %4524, ptr %21, align 4, !tbaa !9
  %4525 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %4526 = load float, ptr %4525, align 4, !tbaa !11
  %4527 = load ptr, ptr %14, align 8, !tbaa !5
  %4528 = load i32, ptr %21, align 4, !tbaa !9
  %4529 = sext i32 %4528 to i64
  %4530 = getelementptr inbounds %struct.complex, ptr %4527, i64 %4529
  %4531 = getelementptr inbounds %struct.complex, ptr %4530, i32 0, i32 0
  %4532 = load float, ptr %4531, align 4, !tbaa !11
  %4533 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %4534 = load float, ptr %4533, align 4, !tbaa !14
  %4535 = load ptr, ptr %14, align 8, !tbaa !5
  %4536 = load i32, ptr %21, align 4, !tbaa !9
  %4537 = sext i32 %4536 to i64
  %4538 = getelementptr inbounds %struct.complex, ptr %4535, i64 %4537
  %4539 = getelementptr inbounds %struct.complex, ptr %4538, i32 0, i32 1
  %4540 = load float, ptr %4539, align 4, !tbaa !14
  %4541 = fmul float %4534, %4540
  %4542 = fneg float %4541
  %4543 = call float @llvm.fmuladd.f32(float %4526, float %4532, float %4542)
  %4544 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %4543, ptr %4544, align 4, !tbaa !11
  %4545 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %4546 = load float, ptr %4545, align 4, !tbaa !11
  %4547 = load ptr, ptr %14, align 8, !tbaa !5
  %4548 = load i32, ptr %21, align 4, !tbaa !9
  %4549 = sext i32 %4548 to i64
  %4550 = getelementptr inbounds %struct.complex, ptr %4547, i64 %4549
  %4551 = getelementptr inbounds %struct.complex, ptr %4550, i32 0, i32 1
  %4552 = load float, ptr %4551, align 4, !tbaa !14
  %4553 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %4554 = load float, ptr %4553, align 4, !tbaa !14
  %4555 = load ptr, ptr %14, align 8, !tbaa !5
  %4556 = load i32, ptr %21, align 4, !tbaa !9
  %4557 = sext i32 %4556 to i64
  %4558 = getelementptr inbounds %struct.complex, ptr %4555, i64 %4557
  %4559 = getelementptr inbounds %struct.complex, ptr %4558, i32 0, i32 0
  %4560 = load float, ptr %4559, align 4, !tbaa !11
  %4561 = fmul float %4554, %4560
  %4562 = call float @llvm.fmuladd.f32(float %4546, float %4552, float %4561)
  %4563 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %4562, ptr %4563, align 4, !tbaa !14
  %4564 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %4565 = load float, ptr %4564, align 4, !tbaa !11
  %4566 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %4567 = load float, ptr %4566, align 4, !tbaa !11
  %4568 = fadd float %4565, %4567
  %4569 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %4568, ptr %4569, align 4, !tbaa !11
  %4570 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %4571 = load float, ptr %4570, align 4, !tbaa !14
  %4572 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %4573 = load float, ptr %4572, align 4, !tbaa !14
  %4574 = fadd float %4571, %4573
  %4575 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %4574, ptr %4575, align 4, !tbaa !14
  %4576 = load i32, ptr %49, align 4, !tbaa !9
  %4577 = load i32, ptr %17, align 4, !tbaa !9
  %4578 = mul nsw i32 %4576, %4577
  %4579 = add nsw i32 %4578, 3
  store i32 %4579, ptr %22, align 4, !tbaa !9
  %4580 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %4581 = load float, ptr %4580, align 4, !tbaa !11
  %4582 = load ptr, ptr %14, align 8, !tbaa !5
  %4583 = load i32, ptr %22, align 4, !tbaa !9
  %4584 = sext i32 %4583 to i64
  %4585 = getelementptr inbounds %struct.complex, ptr %4582, i64 %4584
  %4586 = getelementptr inbounds %struct.complex, ptr %4585, i32 0, i32 0
  %4587 = load float, ptr %4586, align 4, !tbaa !11
  %4588 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %4589 = load float, ptr %4588, align 4, !tbaa !14
  %4590 = load ptr, ptr %14, align 8, !tbaa !5
  %4591 = load i32, ptr %22, align 4, !tbaa !9
  %4592 = sext i32 %4591 to i64
  %4593 = getelementptr inbounds %struct.complex, ptr %4590, i64 %4592
  %4594 = getelementptr inbounds %struct.complex, ptr %4593, i32 0, i32 1
  %4595 = load float, ptr %4594, align 4, !tbaa !14
  %4596 = fmul float %4589, %4595
  %4597 = fneg float %4596
  %4598 = call float @llvm.fmuladd.f32(float %4581, float %4587, float %4597)
  %4599 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %4598, ptr %4599, align 4, !tbaa !11
  %4600 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %4601 = load float, ptr %4600, align 4, !tbaa !11
  %4602 = load ptr, ptr %14, align 8, !tbaa !5
  %4603 = load i32, ptr %22, align 4, !tbaa !9
  %4604 = sext i32 %4603 to i64
  %4605 = getelementptr inbounds %struct.complex, ptr %4602, i64 %4604
  %4606 = getelementptr inbounds %struct.complex, ptr %4605, i32 0, i32 1
  %4607 = load float, ptr %4606, align 4, !tbaa !14
  %4608 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %4609 = load float, ptr %4608, align 4, !tbaa !14
  %4610 = load ptr, ptr %14, align 8, !tbaa !5
  %4611 = load i32, ptr %22, align 4, !tbaa !9
  %4612 = sext i32 %4611 to i64
  %4613 = getelementptr inbounds %struct.complex, ptr %4610, i64 %4612
  %4614 = getelementptr inbounds %struct.complex, ptr %4613, i32 0, i32 0
  %4615 = load float, ptr %4614, align 4, !tbaa !11
  %4616 = fmul float %4609, %4615
  %4617 = call float @llvm.fmuladd.f32(float %4601, float %4607, float %4616)
  %4618 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %4617, ptr %4618, align 4, !tbaa !14
  %4619 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %4620 = load float, ptr %4619, align 4, !tbaa !11
  %4621 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %4622 = load float, ptr %4621, align 4, !tbaa !11
  %4623 = fadd float %4620, %4622
  %4624 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %4623, ptr %4624, align 4, !tbaa !11
  %4625 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %4626 = load float, ptr %4625, align 4, !tbaa !14
  %4627 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %4628 = load float, ptr %4627, align 4, !tbaa !14
  %4629 = fadd float %4626, %4628
  %4630 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %4629, ptr %4630, align 4, !tbaa !14
  %4631 = load i32, ptr %49, align 4, !tbaa !9
  %4632 = load i32, ptr %17, align 4, !tbaa !9
  %4633 = mul nsw i32 %4631, %4632
  %4634 = add nsw i32 %4633, 4
  store i32 %4634, ptr %23, align 4, !tbaa !9
  %4635 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %4636 = load float, ptr %4635, align 4, !tbaa !11
  %4637 = load ptr, ptr %14, align 8, !tbaa !5
  %4638 = load i32, ptr %23, align 4, !tbaa !9
  %4639 = sext i32 %4638 to i64
  %4640 = getelementptr inbounds %struct.complex, ptr %4637, i64 %4639
  %4641 = getelementptr inbounds %struct.complex, ptr %4640, i32 0, i32 0
  %4642 = load float, ptr %4641, align 4, !tbaa !11
  %4643 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %4644 = load float, ptr %4643, align 4, !tbaa !14
  %4645 = load ptr, ptr %14, align 8, !tbaa !5
  %4646 = load i32, ptr %23, align 4, !tbaa !9
  %4647 = sext i32 %4646 to i64
  %4648 = getelementptr inbounds %struct.complex, ptr %4645, i64 %4647
  %4649 = getelementptr inbounds %struct.complex, ptr %4648, i32 0, i32 1
  %4650 = load float, ptr %4649, align 4, !tbaa !14
  %4651 = fmul float %4644, %4650
  %4652 = fneg float %4651
  %4653 = call float @llvm.fmuladd.f32(float %4636, float %4642, float %4652)
  %4654 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %4653, ptr %4654, align 4, !tbaa !11
  %4655 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %4656 = load float, ptr %4655, align 4, !tbaa !11
  %4657 = load ptr, ptr %14, align 8, !tbaa !5
  %4658 = load i32, ptr %23, align 4, !tbaa !9
  %4659 = sext i32 %4658 to i64
  %4660 = getelementptr inbounds %struct.complex, ptr %4657, i64 %4659
  %4661 = getelementptr inbounds %struct.complex, ptr %4660, i32 0, i32 1
  %4662 = load float, ptr %4661, align 4, !tbaa !14
  %4663 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %4664 = load float, ptr %4663, align 4, !tbaa !14
  %4665 = load ptr, ptr %14, align 8, !tbaa !5
  %4666 = load i32, ptr %23, align 4, !tbaa !9
  %4667 = sext i32 %4666 to i64
  %4668 = getelementptr inbounds %struct.complex, ptr %4665, i64 %4667
  %4669 = getelementptr inbounds %struct.complex, ptr %4668, i32 0, i32 0
  %4670 = load float, ptr %4669, align 4, !tbaa !11
  %4671 = fmul float %4664, %4670
  %4672 = call float @llvm.fmuladd.f32(float %4656, float %4662, float %4671)
  %4673 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %4672, ptr %4673, align 4, !tbaa !14
  %4674 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %4675 = load float, ptr %4674, align 4, !tbaa !11
  %4676 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %4677 = load float, ptr %4676, align 4, !tbaa !11
  %4678 = fadd float %4675, %4677
  %4679 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %4678, ptr %4679, align 4, !tbaa !11
  %4680 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %4681 = load float, ptr %4680, align 4, !tbaa !14
  %4682 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %4683 = load float, ptr %4682, align 4, !tbaa !14
  %4684 = fadd float %4681, %4683
  %4685 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %4684, ptr %4685, align 4, !tbaa !14
  %4686 = load i32, ptr %49, align 4, !tbaa !9
  %4687 = load i32, ptr %17, align 4, !tbaa !9
  %4688 = mul nsw i32 %4686, %4687
  %4689 = add nsw i32 %4688, 5
  store i32 %4689, ptr %24, align 4, !tbaa !9
  %4690 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %4691 = load float, ptr %4690, align 4, !tbaa !11
  %4692 = load ptr, ptr %14, align 8, !tbaa !5
  %4693 = load i32, ptr %24, align 4, !tbaa !9
  %4694 = sext i32 %4693 to i64
  %4695 = getelementptr inbounds %struct.complex, ptr %4692, i64 %4694
  %4696 = getelementptr inbounds %struct.complex, ptr %4695, i32 0, i32 0
  %4697 = load float, ptr %4696, align 4, !tbaa !11
  %4698 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %4699 = load float, ptr %4698, align 4, !tbaa !14
  %4700 = load ptr, ptr %14, align 8, !tbaa !5
  %4701 = load i32, ptr %24, align 4, !tbaa !9
  %4702 = sext i32 %4701 to i64
  %4703 = getelementptr inbounds %struct.complex, ptr %4700, i64 %4702
  %4704 = getelementptr inbounds %struct.complex, ptr %4703, i32 0, i32 1
  %4705 = load float, ptr %4704, align 4, !tbaa !14
  %4706 = fmul float %4699, %4705
  %4707 = fneg float %4706
  %4708 = call float @llvm.fmuladd.f32(float %4691, float %4697, float %4707)
  %4709 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %4708, ptr %4709, align 4, !tbaa !11
  %4710 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %4711 = load float, ptr %4710, align 4, !tbaa !11
  %4712 = load ptr, ptr %14, align 8, !tbaa !5
  %4713 = load i32, ptr %24, align 4, !tbaa !9
  %4714 = sext i32 %4713 to i64
  %4715 = getelementptr inbounds %struct.complex, ptr %4712, i64 %4714
  %4716 = getelementptr inbounds %struct.complex, ptr %4715, i32 0, i32 1
  %4717 = load float, ptr %4716, align 4, !tbaa !14
  %4718 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %4719 = load float, ptr %4718, align 4, !tbaa !14
  %4720 = load ptr, ptr %14, align 8, !tbaa !5
  %4721 = load i32, ptr %24, align 4, !tbaa !9
  %4722 = sext i32 %4721 to i64
  %4723 = getelementptr inbounds %struct.complex, ptr %4720, i64 %4722
  %4724 = getelementptr inbounds %struct.complex, ptr %4723, i32 0, i32 0
  %4725 = load float, ptr %4724, align 4, !tbaa !11
  %4726 = fmul float %4719, %4725
  %4727 = call float @llvm.fmuladd.f32(float %4711, float %4717, float %4726)
  %4728 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %4727, ptr %4728, align 4, !tbaa !14
  %4729 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %4730 = load float, ptr %4729, align 4, !tbaa !11
  %4731 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %4732 = load float, ptr %4731, align 4, !tbaa !11
  %4733 = fadd float %4730, %4732
  %4734 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4733, ptr %4734, align 4, !tbaa !11
  %4735 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %4736 = load float, ptr %4735, align 4, !tbaa !14
  %4737 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %4738 = load float, ptr %4737, align 4, !tbaa !14
  %4739 = fadd float %4736, %4738
  %4740 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4739, ptr %4740, align 4, !tbaa !14
  %4741 = load i32, ptr %49, align 4, !tbaa !9
  %4742 = load i32, ptr %17, align 4, !tbaa !9
  %4743 = mul nsw i32 %4741, %4742
  %4744 = add nsw i32 %4743, 6
  store i32 %4744, ptr %25, align 4, !tbaa !9
  %4745 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %4746 = load float, ptr %4745, align 4, !tbaa !11
  %4747 = load ptr, ptr %14, align 8, !tbaa !5
  %4748 = load i32, ptr %25, align 4, !tbaa !9
  %4749 = sext i32 %4748 to i64
  %4750 = getelementptr inbounds %struct.complex, ptr %4747, i64 %4749
  %4751 = getelementptr inbounds %struct.complex, ptr %4750, i32 0, i32 0
  %4752 = load float, ptr %4751, align 4, !tbaa !11
  %4753 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %4754 = load float, ptr %4753, align 4, !tbaa !14
  %4755 = load ptr, ptr %14, align 8, !tbaa !5
  %4756 = load i32, ptr %25, align 4, !tbaa !9
  %4757 = sext i32 %4756 to i64
  %4758 = getelementptr inbounds %struct.complex, ptr %4755, i64 %4757
  %4759 = getelementptr inbounds %struct.complex, ptr %4758, i32 0, i32 1
  %4760 = load float, ptr %4759, align 4, !tbaa !14
  %4761 = fmul float %4754, %4760
  %4762 = fneg float %4761
  %4763 = call float @llvm.fmuladd.f32(float %4746, float %4752, float %4762)
  %4764 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %4763, ptr %4764, align 4, !tbaa !11
  %4765 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %4766 = load float, ptr %4765, align 4, !tbaa !11
  %4767 = load ptr, ptr %14, align 8, !tbaa !5
  %4768 = load i32, ptr %25, align 4, !tbaa !9
  %4769 = sext i32 %4768 to i64
  %4770 = getelementptr inbounds %struct.complex, ptr %4767, i64 %4769
  %4771 = getelementptr inbounds %struct.complex, ptr %4770, i32 0, i32 1
  %4772 = load float, ptr %4771, align 4, !tbaa !14
  %4773 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %4774 = load float, ptr %4773, align 4, !tbaa !14
  %4775 = load ptr, ptr %14, align 8, !tbaa !5
  %4776 = load i32, ptr %25, align 4, !tbaa !9
  %4777 = sext i32 %4776 to i64
  %4778 = getelementptr inbounds %struct.complex, ptr %4775, i64 %4777
  %4779 = getelementptr inbounds %struct.complex, ptr %4778, i32 0, i32 0
  %4780 = load float, ptr %4779, align 4, !tbaa !11
  %4781 = fmul float %4774, %4780
  %4782 = call float @llvm.fmuladd.f32(float %4766, float %4772, float %4781)
  %4783 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %4782, ptr %4783, align 4, !tbaa !14
  %4784 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4785 = load float, ptr %4784, align 4, !tbaa !11
  %4786 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %4787 = load float, ptr %4786, align 4, !tbaa !11
  %4788 = fadd float %4785, %4787
  %4789 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4788, ptr %4789, align 4, !tbaa !11
  %4790 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4791 = load float, ptr %4790, align 4, !tbaa !14
  %4792 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %4793 = load float, ptr %4792, align 4, !tbaa !14
  %4794 = fadd float %4791, %4793
  %4795 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4794, ptr %4795, align 4, !tbaa !14
  %4796 = load i32, ptr %49, align 4, !tbaa !9
  %4797 = load i32, ptr %17, align 4, !tbaa !9
  %4798 = mul nsw i32 %4796, %4797
  %4799 = add nsw i32 %4798, 7
  store i32 %4799, ptr %26, align 4, !tbaa !9
  %4800 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %4801 = load float, ptr %4800, align 4, !tbaa !11
  %4802 = load ptr, ptr %14, align 8, !tbaa !5
  %4803 = load i32, ptr %26, align 4, !tbaa !9
  %4804 = sext i32 %4803 to i64
  %4805 = getelementptr inbounds %struct.complex, ptr %4802, i64 %4804
  %4806 = getelementptr inbounds %struct.complex, ptr %4805, i32 0, i32 0
  %4807 = load float, ptr %4806, align 4, !tbaa !11
  %4808 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %4809 = load float, ptr %4808, align 4, !tbaa !14
  %4810 = load ptr, ptr %14, align 8, !tbaa !5
  %4811 = load i32, ptr %26, align 4, !tbaa !9
  %4812 = sext i32 %4811 to i64
  %4813 = getelementptr inbounds %struct.complex, ptr %4810, i64 %4812
  %4814 = getelementptr inbounds %struct.complex, ptr %4813, i32 0, i32 1
  %4815 = load float, ptr %4814, align 4, !tbaa !14
  %4816 = fmul float %4809, %4815
  %4817 = fneg float %4816
  %4818 = call float @llvm.fmuladd.f32(float %4801, float %4807, float %4817)
  %4819 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %4818, ptr %4819, align 4, !tbaa !11
  %4820 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %4821 = load float, ptr %4820, align 4, !tbaa !11
  %4822 = load ptr, ptr %14, align 8, !tbaa !5
  %4823 = load i32, ptr %26, align 4, !tbaa !9
  %4824 = sext i32 %4823 to i64
  %4825 = getelementptr inbounds %struct.complex, ptr %4822, i64 %4824
  %4826 = getelementptr inbounds %struct.complex, ptr %4825, i32 0, i32 1
  %4827 = load float, ptr %4826, align 4, !tbaa !14
  %4828 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %4829 = load float, ptr %4828, align 4, !tbaa !14
  %4830 = load ptr, ptr %14, align 8, !tbaa !5
  %4831 = load i32, ptr %26, align 4, !tbaa !9
  %4832 = sext i32 %4831 to i64
  %4833 = getelementptr inbounds %struct.complex, ptr %4830, i64 %4832
  %4834 = getelementptr inbounds %struct.complex, ptr %4833, i32 0, i32 0
  %4835 = load float, ptr %4834, align 4, !tbaa !11
  %4836 = fmul float %4829, %4835
  %4837 = call float @llvm.fmuladd.f32(float %4821, float %4827, float %4836)
  %4838 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %4837, ptr %4838, align 4, !tbaa !14
  %4839 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4840 = load float, ptr %4839, align 4, !tbaa !11
  %4841 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %4842 = load float, ptr %4841, align 4, !tbaa !11
  %4843 = fadd float %4840, %4842
  %4844 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4843, ptr %4844, align 4, !tbaa !11
  %4845 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4846 = load float, ptr %4845, align 4, !tbaa !14
  %4847 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %4848 = load float, ptr %4847, align 4, !tbaa !14
  %4849 = fadd float %4846, %4848
  %4850 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4849, ptr %4850, align 4, !tbaa !14
  %4851 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4852 = load float, ptr %4851, align 4, !tbaa !11
  %4853 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %4852, ptr %4853, align 4, !tbaa !11
  %4854 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4855 = load float, ptr %4854, align 4, !tbaa !14
  %4856 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %4855, ptr %4856, align 4, !tbaa !14
  %4857 = load i32, ptr %49, align 4, !tbaa !9
  %4858 = load i32, ptr %17, align 4, !tbaa !9
  %4859 = mul nsw i32 %4857, %4858
  %4860 = add nsw i32 %4859, 1
  store i32 %4860, ptr %20, align 4, !tbaa !9
  %4861 = load i32, ptr %49, align 4, !tbaa !9
  %4862 = load i32, ptr %17, align 4, !tbaa !9
  %4863 = mul nsw i32 %4861, %4862
  %4864 = add nsw i32 %4863, 1
  store i32 %4864, ptr %21, align 4, !tbaa !9
  %4865 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %4866 = load float, ptr %4865, align 4, !tbaa !11
  %4867 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %4868 = load float, ptr %4867, align 4, !tbaa !11
  %4869 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %4870 = load float, ptr %4869, align 4, !tbaa !14
  %4871 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %4872 = load float, ptr %4871, align 4, !tbaa !14
  %4873 = fmul float %4870, %4872
  %4874 = fneg float %4873
  %4875 = call float @llvm.fmuladd.f32(float %4866, float %4868, float %4874)
  %4876 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4875, ptr %4876, align 4, !tbaa !11
  %4877 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %4878 = load float, ptr %4877, align 4, !tbaa !11
  %4879 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %4880 = load float, ptr %4879, align 4, !tbaa !14
  %4881 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %4882 = load float, ptr %4881, align 4, !tbaa !14
  %4883 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %4884 = load float, ptr %4883, align 4, !tbaa !11
  %4885 = fmul float %4882, %4884
  %4886 = call float @llvm.fmuladd.f32(float %4878, float %4880, float %4885)
  %4887 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4886, ptr %4887, align 4, !tbaa !14
  %4888 = load ptr, ptr %14, align 8, !tbaa !5
  %4889 = load i32, ptr %21, align 4, !tbaa !9
  %4890 = sext i32 %4889 to i64
  %4891 = getelementptr inbounds %struct.complex, ptr %4888, i64 %4890
  %4892 = getelementptr inbounds %struct.complex, ptr %4891, i32 0, i32 0
  %4893 = load float, ptr %4892, align 4, !tbaa !11
  %4894 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4895 = load float, ptr %4894, align 4, !tbaa !11
  %4896 = fsub float %4893, %4895
  %4897 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4896, ptr %4897, align 4, !tbaa !11
  %4898 = load ptr, ptr %14, align 8, !tbaa !5
  %4899 = load i32, ptr %21, align 4, !tbaa !9
  %4900 = sext i32 %4899 to i64
  %4901 = getelementptr inbounds %struct.complex, ptr %4898, i64 %4900
  %4902 = getelementptr inbounds %struct.complex, ptr %4901, i32 0, i32 1
  %4903 = load float, ptr %4902, align 4, !tbaa !14
  %4904 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4905 = load float, ptr %4904, align 4, !tbaa !14
  %4906 = fsub float %4903, %4905
  %4907 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4906, ptr %4907, align 4, !tbaa !14
  %4908 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4909 = load float, ptr %4908, align 4, !tbaa !11
  %4910 = load ptr, ptr %14, align 8, !tbaa !5
  %4911 = load i32, ptr %20, align 4, !tbaa !9
  %4912 = sext i32 %4911 to i64
  %4913 = getelementptr inbounds %struct.complex, ptr %4910, i64 %4912
  %4914 = getelementptr inbounds %struct.complex, ptr %4913, i32 0, i32 0
  store float %4909, ptr %4914, align 4, !tbaa !11
  %4915 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4916 = load float, ptr %4915, align 4, !tbaa !14
  %4917 = load ptr, ptr %14, align 8, !tbaa !5
  %4918 = load i32, ptr %20, align 4, !tbaa !9
  %4919 = sext i32 %4918 to i64
  %4920 = getelementptr inbounds %struct.complex, ptr %4917, i64 %4919
  %4921 = getelementptr inbounds %struct.complex, ptr %4920, i32 0, i32 1
  store float %4916, ptr %4921, align 4, !tbaa !14
  %4922 = load i32, ptr %49, align 4, !tbaa !9
  %4923 = load i32, ptr %17, align 4, !tbaa !9
  %4924 = mul nsw i32 %4922, %4923
  %4925 = add nsw i32 %4924, 2
  store i32 %4925, ptr %20, align 4, !tbaa !9
  %4926 = load i32, ptr %49, align 4, !tbaa !9
  %4927 = load i32, ptr %17, align 4, !tbaa !9
  %4928 = mul nsw i32 %4926, %4927
  %4929 = add nsw i32 %4928, 2
  store i32 %4929, ptr %21, align 4, !tbaa !9
  %4930 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %4931 = load float, ptr %4930, align 4, !tbaa !11
  %4932 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %4933 = load float, ptr %4932, align 4, !tbaa !11
  %4934 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %4935 = load float, ptr %4934, align 4, !tbaa !14
  %4936 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %4937 = load float, ptr %4936, align 4, !tbaa !14
  %4938 = fmul float %4935, %4937
  %4939 = fneg float %4938
  %4940 = call float @llvm.fmuladd.f32(float %4931, float %4933, float %4939)
  %4941 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4940, ptr %4941, align 4, !tbaa !11
  %4942 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %4943 = load float, ptr %4942, align 4, !tbaa !11
  %4944 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %4945 = load float, ptr %4944, align 4, !tbaa !14
  %4946 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %4947 = load float, ptr %4946, align 4, !tbaa !14
  %4948 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %4949 = load float, ptr %4948, align 4, !tbaa !11
  %4950 = fmul float %4947, %4949
  %4951 = call float @llvm.fmuladd.f32(float %4943, float %4945, float %4950)
  %4952 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4951, ptr %4952, align 4, !tbaa !14
  %4953 = load ptr, ptr %14, align 8, !tbaa !5
  %4954 = load i32, ptr %21, align 4, !tbaa !9
  %4955 = sext i32 %4954 to i64
  %4956 = getelementptr inbounds %struct.complex, ptr %4953, i64 %4955
  %4957 = getelementptr inbounds %struct.complex, ptr %4956, i32 0, i32 0
  %4958 = load float, ptr %4957, align 4, !tbaa !11
  %4959 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4960 = load float, ptr %4959, align 4, !tbaa !11
  %4961 = fsub float %4958, %4960
  %4962 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %4961, ptr %4962, align 4, !tbaa !11
  %4963 = load ptr, ptr %14, align 8, !tbaa !5
  %4964 = load i32, ptr %21, align 4, !tbaa !9
  %4965 = sext i32 %4964 to i64
  %4966 = getelementptr inbounds %struct.complex, ptr %4963, i64 %4965
  %4967 = getelementptr inbounds %struct.complex, ptr %4966, i32 0, i32 1
  %4968 = load float, ptr %4967, align 4, !tbaa !14
  %4969 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4970 = load float, ptr %4969, align 4, !tbaa !14
  %4971 = fsub float %4968, %4970
  %4972 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %4971, ptr %4972, align 4, !tbaa !14
  %4973 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %4974 = load float, ptr %4973, align 4, !tbaa !11
  %4975 = load ptr, ptr %14, align 8, !tbaa !5
  %4976 = load i32, ptr %20, align 4, !tbaa !9
  %4977 = sext i32 %4976 to i64
  %4978 = getelementptr inbounds %struct.complex, ptr %4975, i64 %4977
  %4979 = getelementptr inbounds %struct.complex, ptr %4978, i32 0, i32 0
  store float %4974, ptr %4979, align 4, !tbaa !11
  %4980 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %4981 = load float, ptr %4980, align 4, !tbaa !14
  %4982 = load ptr, ptr %14, align 8, !tbaa !5
  %4983 = load i32, ptr %20, align 4, !tbaa !9
  %4984 = sext i32 %4983 to i64
  %4985 = getelementptr inbounds %struct.complex, ptr %4982, i64 %4984
  %4986 = getelementptr inbounds %struct.complex, ptr %4985, i32 0, i32 1
  store float %4981, ptr %4986, align 4, !tbaa !14
  %4987 = load i32, ptr %49, align 4, !tbaa !9
  %4988 = load i32, ptr %17, align 4, !tbaa !9
  %4989 = mul nsw i32 %4987, %4988
  %4990 = add nsw i32 %4989, 3
  store i32 %4990, ptr %20, align 4, !tbaa !9
  %4991 = load i32, ptr %49, align 4, !tbaa !9
  %4992 = load i32, ptr %17, align 4, !tbaa !9
  %4993 = mul nsw i32 %4991, %4992
  %4994 = add nsw i32 %4993, 3
  store i32 %4994, ptr %21, align 4, !tbaa !9
  %4995 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %4996 = load float, ptr %4995, align 4, !tbaa !11
  %4997 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %4998 = load float, ptr %4997, align 4, !tbaa !11
  %4999 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5000 = load float, ptr %4999, align 4, !tbaa !14
  %5001 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %5002 = load float, ptr %5001, align 4, !tbaa !14
  %5003 = fmul float %5000, %5002
  %5004 = fneg float %5003
  %5005 = call float @llvm.fmuladd.f32(float %4996, float %4998, float %5004)
  %5006 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5005, ptr %5006, align 4, !tbaa !11
  %5007 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5008 = load float, ptr %5007, align 4, !tbaa !11
  %5009 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %5010 = load float, ptr %5009, align 4, !tbaa !14
  %5011 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5012 = load float, ptr %5011, align 4, !tbaa !14
  %5013 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %5014 = load float, ptr %5013, align 4, !tbaa !11
  %5015 = fmul float %5012, %5014
  %5016 = call float @llvm.fmuladd.f32(float %5008, float %5010, float %5015)
  %5017 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5016, ptr %5017, align 4, !tbaa !14
  %5018 = load ptr, ptr %14, align 8, !tbaa !5
  %5019 = load i32, ptr %21, align 4, !tbaa !9
  %5020 = sext i32 %5019 to i64
  %5021 = getelementptr inbounds %struct.complex, ptr %5018, i64 %5020
  %5022 = getelementptr inbounds %struct.complex, ptr %5021, i32 0, i32 0
  %5023 = load float, ptr %5022, align 4, !tbaa !11
  %5024 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5025 = load float, ptr %5024, align 4, !tbaa !11
  %5026 = fsub float %5023, %5025
  %5027 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5026, ptr %5027, align 4, !tbaa !11
  %5028 = load ptr, ptr %14, align 8, !tbaa !5
  %5029 = load i32, ptr %21, align 4, !tbaa !9
  %5030 = sext i32 %5029 to i64
  %5031 = getelementptr inbounds %struct.complex, ptr %5028, i64 %5030
  %5032 = getelementptr inbounds %struct.complex, ptr %5031, i32 0, i32 1
  %5033 = load float, ptr %5032, align 4, !tbaa !14
  %5034 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5035 = load float, ptr %5034, align 4, !tbaa !14
  %5036 = fsub float %5033, %5035
  %5037 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5036, ptr %5037, align 4, !tbaa !14
  %5038 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5039 = load float, ptr %5038, align 4, !tbaa !11
  %5040 = load ptr, ptr %14, align 8, !tbaa !5
  %5041 = load i32, ptr %20, align 4, !tbaa !9
  %5042 = sext i32 %5041 to i64
  %5043 = getelementptr inbounds %struct.complex, ptr %5040, i64 %5042
  %5044 = getelementptr inbounds %struct.complex, ptr %5043, i32 0, i32 0
  store float %5039, ptr %5044, align 4, !tbaa !11
  %5045 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5046 = load float, ptr %5045, align 4, !tbaa !14
  %5047 = load ptr, ptr %14, align 8, !tbaa !5
  %5048 = load i32, ptr %20, align 4, !tbaa !9
  %5049 = sext i32 %5048 to i64
  %5050 = getelementptr inbounds %struct.complex, ptr %5047, i64 %5049
  %5051 = getelementptr inbounds %struct.complex, ptr %5050, i32 0, i32 1
  store float %5046, ptr %5051, align 4, !tbaa !14
  %5052 = load i32, ptr %49, align 4, !tbaa !9
  %5053 = load i32, ptr %17, align 4, !tbaa !9
  %5054 = mul nsw i32 %5052, %5053
  %5055 = add nsw i32 %5054, 4
  store i32 %5055, ptr %20, align 4, !tbaa !9
  %5056 = load i32, ptr %49, align 4, !tbaa !9
  %5057 = load i32, ptr %17, align 4, !tbaa !9
  %5058 = mul nsw i32 %5056, %5057
  %5059 = add nsw i32 %5058, 4
  store i32 %5059, ptr %21, align 4, !tbaa !9
  %5060 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5061 = load float, ptr %5060, align 4, !tbaa !11
  %5062 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %5063 = load float, ptr %5062, align 4, !tbaa !11
  %5064 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5065 = load float, ptr %5064, align 4, !tbaa !14
  %5066 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %5067 = load float, ptr %5066, align 4, !tbaa !14
  %5068 = fmul float %5065, %5067
  %5069 = fneg float %5068
  %5070 = call float @llvm.fmuladd.f32(float %5061, float %5063, float %5069)
  %5071 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5070, ptr %5071, align 4, !tbaa !11
  %5072 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5073 = load float, ptr %5072, align 4, !tbaa !11
  %5074 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %5075 = load float, ptr %5074, align 4, !tbaa !14
  %5076 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5077 = load float, ptr %5076, align 4, !tbaa !14
  %5078 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %5079 = load float, ptr %5078, align 4, !tbaa !11
  %5080 = fmul float %5077, %5079
  %5081 = call float @llvm.fmuladd.f32(float %5073, float %5075, float %5080)
  %5082 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5081, ptr %5082, align 4, !tbaa !14
  %5083 = load ptr, ptr %14, align 8, !tbaa !5
  %5084 = load i32, ptr %21, align 4, !tbaa !9
  %5085 = sext i32 %5084 to i64
  %5086 = getelementptr inbounds %struct.complex, ptr %5083, i64 %5085
  %5087 = getelementptr inbounds %struct.complex, ptr %5086, i32 0, i32 0
  %5088 = load float, ptr %5087, align 4, !tbaa !11
  %5089 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5090 = load float, ptr %5089, align 4, !tbaa !11
  %5091 = fsub float %5088, %5090
  %5092 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5091, ptr %5092, align 4, !tbaa !11
  %5093 = load ptr, ptr %14, align 8, !tbaa !5
  %5094 = load i32, ptr %21, align 4, !tbaa !9
  %5095 = sext i32 %5094 to i64
  %5096 = getelementptr inbounds %struct.complex, ptr %5093, i64 %5095
  %5097 = getelementptr inbounds %struct.complex, ptr %5096, i32 0, i32 1
  %5098 = load float, ptr %5097, align 4, !tbaa !14
  %5099 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5100 = load float, ptr %5099, align 4, !tbaa !14
  %5101 = fsub float %5098, %5100
  %5102 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5101, ptr %5102, align 4, !tbaa !14
  %5103 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5104 = load float, ptr %5103, align 4, !tbaa !11
  %5105 = load ptr, ptr %14, align 8, !tbaa !5
  %5106 = load i32, ptr %20, align 4, !tbaa !9
  %5107 = sext i32 %5106 to i64
  %5108 = getelementptr inbounds %struct.complex, ptr %5105, i64 %5107
  %5109 = getelementptr inbounds %struct.complex, ptr %5108, i32 0, i32 0
  store float %5104, ptr %5109, align 4, !tbaa !11
  %5110 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5111 = load float, ptr %5110, align 4, !tbaa !14
  %5112 = load ptr, ptr %14, align 8, !tbaa !5
  %5113 = load i32, ptr %20, align 4, !tbaa !9
  %5114 = sext i32 %5113 to i64
  %5115 = getelementptr inbounds %struct.complex, ptr %5112, i64 %5114
  %5116 = getelementptr inbounds %struct.complex, ptr %5115, i32 0, i32 1
  store float %5111, ptr %5116, align 4, !tbaa !14
  %5117 = load i32, ptr %49, align 4, !tbaa !9
  %5118 = load i32, ptr %17, align 4, !tbaa !9
  %5119 = mul nsw i32 %5117, %5118
  %5120 = add nsw i32 %5119, 5
  store i32 %5120, ptr %20, align 4, !tbaa !9
  %5121 = load i32, ptr %49, align 4, !tbaa !9
  %5122 = load i32, ptr %17, align 4, !tbaa !9
  %5123 = mul nsw i32 %5121, %5122
  %5124 = add nsw i32 %5123, 5
  store i32 %5124, ptr %21, align 4, !tbaa !9
  %5125 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5126 = load float, ptr %5125, align 4, !tbaa !11
  %5127 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %5128 = load float, ptr %5127, align 4, !tbaa !11
  %5129 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5130 = load float, ptr %5129, align 4, !tbaa !14
  %5131 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %5132 = load float, ptr %5131, align 4, !tbaa !14
  %5133 = fmul float %5130, %5132
  %5134 = fneg float %5133
  %5135 = call float @llvm.fmuladd.f32(float %5126, float %5128, float %5134)
  %5136 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5135, ptr %5136, align 4, !tbaa !11
  %5137 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5138 = load float, ptr %5137, align 4, !tbaa !11
  %5139 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %5140 = load float, ptr %5139, align 4, !tbaa !14
  %5141 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5142 = load float, ptr %5141, align 4, !tbaa !14
  %5143 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %5144 = load float, ptr %5143, align 4, !tbaa !11
  %5145 = fmul float %5142, %5144
  %5146 = call float @llvm.fmuladd.f32(float %5138, float %5140, float %5145)
  %5147 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5146, ptr %5147, align 4, !tbaa !14
  %5148 = load ptr, ptr %14, align 8, !tbaa !5
  %5149 = load i32, ptr %21, align 4, !tbaa !9
  %5150 = sext i32 %5149 to i64
  %5151 = getelementptr inbounds %struct.complex, ptr %5148, i64 %5150
  %5152 = getelementptr inbounds %struct.complex, ptr %5151, i32 0, i32 0
  %5153 = load float, ptr %5152, align 4, !tbaa !11
  %5154 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5155 = load float, ptr %5154, align 4, !tbaa !11
  %5156 = fsub float %5153, %5155
  %5157 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5156, ptr %5157, align 4, !tbaa !11
  %5158 = load ptr, ptr %14, align 8, !tbaa !5
  %5159 = load i32, ptr %21, align 4, !tbaa !9
  %5160 = sext i32 %5159 to i64
  %5161 = getelementptr inbounds %struct.complex, ptr %5158, i64 %5160
  %5162 = getelementptr inbounds %struct.complex, ptr %5161, i32 0, i32 1
  %5163 = load float, ptr %5162, align 4, !tbaa !14
  %5164 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5165 = load float, ptr %5164, align 4, !tbaa !14
  %5166 = fsub float %5163, %5165
  %5167 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5166, ptr %5167, align 4, !tbaa !14
  %5168 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5169 = load float, ptr %5168, align 4, !tbaa !11
  %5170 = load ptr, ptr %14, align 8, !tbaa !5
  %5171 = load i32, ptr %20, align 4, !tbaa !9
  %5172 = sext i32 %5171 to i64
  %5173 = getelementptr inbounds %struct.complex, ptr %5170, i64 %5172
  %5174 = getelementptr inbounds %struct.complex, ptr %5173, i32 0, i32 0
  store float %5169, ptr %5174, align 4, !tbaa !11
  %5175 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5176 = load float, ptr %5175, align 4, !tbaa !14
  %5177 = load ptr, ptr %14, align 8, !tbaa !5
  %5178 = load i32, ptr %20, align 4, !tbaa !9
  %5179 = sext i32 %5178 to i64
  %5180 = getelementptr inbounds %struct.complex, ptr %5177, i64 %5179
  %5181 = getelementptr inbounds %struct.complex, ptr %5180, i32 0, i32 1
  store float %5176, ptr %5181, align 4, !tbaa !14
  %5182 = load i32, ptr %49, align 4, !tbaa !9
  %5183 = load i32, ptr %17, align 4, !tbaa !9
  %5184 = mul nsw i32 %5182, %5183
  %5185 = add nsw i32 %5184, 6
  store i32 %5185, ptr %20, align 4, !tbaa !9
  %5186 = load i32, ptr %49, align 4, !tbaa !9
  %5187 = load i32, ptr %17, align 4, !tbaa !9
  %5188 = mul nsw i32 %5186, %5187
  %5189 = add nsw i32 %5188, 6
  store i32 %5189, ptr %21, align 4, !tbaa !9
  %5190 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5191 = load float, ptr %5190, align 4, !tbaa !11
  %5192 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %5193 = load float, ptr %5192, align 4, !tbaa !11
  %5194 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5195 = load float, ptr %5194, align 4, !tbaa !14
  %5196 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %5197 = load float, ptr %5196, align 4, !tbaa !14
  %5198 = fmul float %5195, %5197
  %5199 = fneg float %5198
  %5200 = call float @llvm.fmuladd.f32(float %5191, float %5193, float %5199)
  %5201 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5200, ptr %5201, align 4, !tbaa !11
  %5202 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5203 = load float, ptr %5202, align 4, !tbaa !11
  %5204 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %5205 = load float, ptr %5204, align 4, !tbaa !14
  %5206 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5207 = load float, ptr %5206, align 4, !tbaa !14
  %5208 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %5209 = load float, ptr %5208, align 4, !tbaa !11
  %5210 = fmul float %5207, %5209
  %5211 = call float @llvm.fmuladd.f32(float %5203, float %5205, float %5210)
  %5212 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5211, ptr %5212, align 4, !tbaa !14
  %5213 = load ptr, ptr %14, align 8, !tbaa !5
  %5214 = load i32, ptr %21, align 4, !tbaa !9
  %5215 = sext i32 %5214 to i64
  %5216 = getelementptr inbounds %struct.complex, ptr %5213, i64 %5215
  %5217 = getelementptr inbounds %struct.complex, ptr %5216, i32 0, i32 0
  %5218 = load float, ptr %5217, align 4, !tbaa !11
  %5219 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5220 = load float, ptr %5219, align 4, !tbaa !11
  %5221 = fsub float %5218, %5220
  %5222 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5221, ptr %5222, align 4, !tbaa !11
  %5223 = load ptr, ptr %14, align 8, !tbaa !5
  %5224 = load i32, ptr %21, align 4, !tbaa !9
  %5225 = sext i32 %5224 to i64
  %5226 = getelementptr inbounds %struct.complex, ptr %5223, i64 %5225
  %5227 = getelementptr inbounds %struct.complex, ptr %5226, i32 0, i32 1
  %5228 = load float, ptr %5227, align 4, !tbaa !14
  %5229 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5230 = load float, ptr %5229, align 4, !tbaa !14
  %5231 = fsub float %5228, %5230
  %5232 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5231, ptr %5232, align 4, !tbaa !14
  %5233 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5234 = load float, ptr %5233, align 4, !tbaa !11
  %5235 = load ptr, ptr %14, align 8, !tbaa !5
  %5236 = load i32, ptr %20, align 4, !tbaa !9
  %5237 = sext i32 %5236 to i64
  %5238 = getelementptr inbounds %struct.complex, ptr %5235, i64 %5237
  %5239 = getelementptr inbounds %struct.complex, ptr %5238, i32 0, i32 0
  store float %5234, ptr %5239, align 4, !tbaa !11
  %5240 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5241 = load float, ptr %5240, align 4, !tbaa !14
  %5242 = load ptr, ptr %14, align 8, !tbaa !5
  %5243 = load i32, ptr %20, align 4, !tbaa !9
  %5244 = sext i32 %5243 to i64
  %5245 = getelementptr inbounds %struct.complex, ptr %5242, i64 %5244
  %5246 = getelementptr inbounds %struct.complex, ptr %5245, i32 0, i32 1
  store float %5241, ptr %5246, align 4, !tbaa !14
  %5247 = load i32, ptr %49, align 4, !tbaa !9
  %5248 = load i32, ptr %17, align 4, !tbaa !9
  %5249 = mul nsw i32 %5247, %5248
  %5250 = add nsw i32 %5249, 7
  store i32 %5250, ptr %20, align 4, !tbaa !9
  %5251 = load i32, ptr %49, align 4, !tbaa !9
  %5252 = load i32, ptr %17, align 4, !tbaa !9
  %5253 = mul nsw i32 %5251, %5252
  %5254 = add nsw i32 %5253, 7
  store i32 %5254, ptr %21, align 4, !tbaa !9
  %5255 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5256 = load float, ptr %5255, align 4, !tbaa !11
  %5257 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %5258 = load float, ptr %5257, align 4, !tbaa !11
  %5259 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5260 = load float, ptr %5259, align 4, !tbaa !14
  %5261 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %5262 = load float, ptr %5261, align 4, !tbaa !14
  %5263 = fmul float %5260, %5262
  %5264 = fneg float %5263
  %5265 = call float @llvm.fmuladd.f32(float %5256, float %5258, float %5264)
  %5266 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5265, ptr %5266, align 4, !tbaa !11
  %5267 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %5268 = load float, ptr %5267, align 4, !tbaa !11
  %5269 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %5270 = load float, ptr %5269, align 4, !tbaa !14
  %5271 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %5272 = load float, ptr %5271, align 4, !tbaa !14
  %5273 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %5274 = load float, ptr %5273, align 4, !tbaa !11
  %5275 = fmul float %5272, %5274
  %5276 = call float @llvm.fmuladd.f32(float %5268, float %5270, float %5275)
  %5277 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5276, ptr %5277, align 4, !tbaa !14
  %5278 = load ptr, ptr %14, align 8, !tbaa !5
  %5279 = load i32, ptr %21, align 4, !tbaa !9
  %5280 = sext i32 %5279 to i64
  %5281 = getelementptr inbounds %struct.complex, ptr %5278, i64 %5280
  %5282 = getelementptr inbounds %struct.complex, ptr %5281, i32 0, i32 0
  %5283 = load float, ptr %5282, align 4, !tbaa !11
  %5284 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5285 = load float, ptr %5284, align 4, !tbaa !11
  %5286 = fsub float %5283, %5285
  %5287 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5286, ptr %5287, align 4, !tbaa !11
  %5288 = load ptr, ptr %14, align 8, !tbaa !5
  %5289 = load i32, ptr %21, align 4, !tbaa !9
  %5290 = sext i32 %5289 to i64
  %5291 = getelementptr inbounds %struct.complex, ptr %5288, i64 %5290
  %5292 = getelementptr inbounds %struct.complex, ptr %5291, i32 0, i32 1
  %5293 = load float, ptr %5292, align 4, !tbaa !14
  %5294 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5295 = load float, ptr %5294, align 4, !tbaa !14
  %5296 = fsub float %5293, %5295
  %5297 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5296, ptr %5297, align 4, !tbaa !14
  %5298 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5299 = load float, ptr %5298, align 4, !tbaa !11
  %5300 = load ptr, ptr %14, align 8, !tbaa !5
  %5301 = load i32, ptr %20, align 4, !tbaa !9
  %5302 = sext i32 %5301 to i64
  %5303 = getelementptr inbounds %struct.complex, ptr %5300, i64 %5302
  %5304 = getelementptr inbounds %struct.complex, ptr %5303, i32 0, i32 0
  store float %5299, ptr %5304, align 4, !tbaa !11
  %5305 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5306 = load float, ptr %5305, align 4, !tbaa !14
  %5307 = load ptr, ptr %14, align 8, !tbaa !5
  %5308 = load i32, ptr %20, align 4, !tbaa !9
  %5309 = sext i32 %5308 to i64
  %5310 = getelementptr inbounds %struct.complex, ptr %5307, i64 %5309
  %5311 = getelementptr inbounds %struct.complex, ptr %5310, i32 0, i32 1
  store float %5306, ptr %5311, align 4, !tbaa !14
  br label %5312

5312:                                             ; preds = %4477
  %5313 = load i32, ptr %49, align 4, !tbaa !9
  %5314 = add nsw i32 %5313, 1
  store i32 %5314, ptr %49, align 4, !tbaa !9
  br label %4473, !llvm.loop !22

5315:                                             ; preds = %4473
  br label %19663

5316:                                             ; preds = %274
  %5317 = load ptr, ptr %12, align 8, !tbaa !5
  %5318 = getelementptr inbounds %struct.complex, ptr %5317, i64 1
  %5319 = call <2 x float> @Cf(ptr noundef %5318)
  store <2 x float> %5319, ptr %127, align 4
  %5320 = getelementptr inbounds { float, float }, ptr %127, i32 0, i32 0
  %5321 = load float, ptr %5320, align 4
  %5322 = getelementptr inbounds { float, float }, ptr %127, i32 0, i32 1
  %5323 = load float, ptr %5322, align 4
  %5324 = fneg float %5323
  %5325 = call ptr @_pCf(ptr noundef %30)
  %5326 = getelementptr inbounds { float, float }, ptr %5325, i32 0, i32 0
  %5327 = getelementptr inbounds { float, float }, ptr %5325, i32 0, i32 1
  store float %5321, ptr %5326, align 4
  store float %5324, ptr %5327, align 4
  %5328 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5329 = load float, ptr %5328, align 4, !tbaa !11
  %5330 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %5329, ptr %5330, align 4, !tbaa !11
  %5331 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5332 = load float, ptr %5331, align 4, !tbaa !14
  %5333 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %5332, ptr %5333, align 4, !tbaa !14
  %5334 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %5334, ptr %128, align 4
  %5335 = getelementptr inbounds { float, float }, ptr %128, i32 0, i32 0
  %5336 = load float, ptr %5335, align 4
  %5337 = getelementptr inbounds { float, float }, ptr %128, i32 0, i32 1
  %5338 = load float, ptr %5337, align 4
  %5339 = fneg float %5338
  %5340 = call ptr @_pCf(ptr noundef %31)
  %5341 = getelementptr inbounds { float, float }, ptr %5340, i32 0, i32 0
  %5342 = getelementptr inbounds { float, float }, ptr %5340, i32 0, i32 1
  store float %5336, ptr %5341, align 4
  store float %5339, ptr %5342, align 4
  %5343 = load ptr, ptr %13, align 8, !tbaa !5
  %5344 = getelementptr inbounds %struct.complex, ptr %5343, i32 0, i32 0
  %5345 = load float, ptr %5344, align 4, !tbaa !11
  %5346 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5347 = load float, ptr %5346, align 4, !tbaa !11
  %5348 = load ptr, ptr %13, align 8, !tbaa !5
  %5349 = getelementptr inbounds %struct.complex, ptr %5348, i32 0, i32 1
  %5350 = load float, ptr %5349, align 4, !tbaa !14
  %5351 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5352 = load float, ptr %5351, align 4, !tbaa !14
  %5353 = fmul float %5350, %5352
  %5354 = fneg float %5353
  %5355 = call float @llvm.fmuladd.f32(float %5345, float %5347, float %5354)
  %5356 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5355, ptr %5356, align 4, !tbaa !11
  %5357 = load ptr, ptr %13, align 8, !tbaa !5
  %5358 = getelementptr inbounds %struct.complex, ptr %5357, i32 0, i32 0
  %5359 = load float, ptr %5358, align 4, !tbaa !11
  %5360 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5361 = load float, ptr %5360, align 4, !tbaa !14
  %5362 = load ptr, ptr %13, align 8, !tbaa !5
  %5363 = getelementptr inbounds %struct.complex, ptr %5362, i32 0, i32 1
  %5364 = load float, ptr %5363, align 4, !tbaa !14
  %5365 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5366 = load float, ptr %5365, align 4, !tbaa !11
  %5367 = fmul float %5364, %5366
  %5368 = call float @llvm.fmuladd.f32(float %5359, float %5361, float %5367)
  %5369 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5368, ptr %5369, align 4, !tbaa !14
  %5370 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5371 = load float, ptr %5370, align 4, !tbaa !11
  %5372 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %5371, ptr %5372, align 4, !tbaa !11
  %5373 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5374 = load float, ptr %5373, align 4, !tbaa !14
  %5375 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %5374, ptr %5375, align 4, !tbaa !14
  %5376 = load ptr, ptr %12, align 8, !tbaa !5
  %5377 = getelementptr inbounds %struct.complex, ptr %5376, i64 2
  %5378 = call <2 x float> @Cf(ptr noundef %5377)
  store <2 x float> %5378, ptr %129, align 4
  %5379 = getelementptr inbounds { float, float }, ptr %129, i32 0, i32 0
  %5380 = load float, ptr %5379, align 4
  %5381 = getelementptr inbounds { float, float }, ptr %129, i32 0, i32 1
  %5382 = load float, ptr %5381, align 4
  %5383 = fneg float %5382
  %5384 = call ptr @_pCf(ptr noundef %30)
  %5385 = getelementptr inbounds { float, float }, ptr %5384, i32 0, i32 0
  %5386 = getelementptr inbounds { float, float }, ptr %5384, i32 0, i32 1
  store float %5380, ptr %5385, align 4
  store float %5383, ptr %5386, align 4
  %5387 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5388 = load float, ptr %5387, align 4, !tbaa !11
  %5389 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %5388, ptr %5389, align 4, !tbaa !11
  %5390 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5391 = load float, ptr %5390, align 4, !tbaa !14
  %5392 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %5391, ptr %5392, align 4, !tbaa !14
  %5393 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %5393, ptr %130, align 4
  %5394 = getelementptr inbounds { float, float }, ptr %130, i32 0, i32 0
  %5395 = load float, ptr %5394, align 4
  %5396 = getelementptr inbounds { float, float }, ptr %130, i32 0, i32 1
  %5397 = load float, ptr %5396, align 4
  %5398 = fneg float %5397
  %5399 = call ptr @_pCf(ptr noundef %31)
  %5400 = getelementptr inbounds { float, float }, ptr %5399, i32 0, i32 0
  %5401 = getelementptr inbounds { float, float }, ptr %5399, i32 0, i32 1
  store float %5395, ptr %5400, align 4
  store float %5398, ptr %5401, align 4
  %5402 = load ptr, ptr %13, align 8, !tbaa !5
  %5403 = getelementptr inbounds %struct.complex, ptr %5402, i32 0, i32 0
  %5404 = load float, ptr %5403, align 4, !tbaa !11
  %5405 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5406 = load float, ptr %5405, align 4, !tbaa !11
  %5407 = load ptr, ptr %13, align 8, !tbaa !5
  %5408 = getelementptr inbounds %struct.complex, ptr %5407, i32 0, i32 1
  %5409 = load float, ptr %5408, align 4, !tbaa !14
  %5410 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5411 = load float, ptr %5410, align 4, !tbaa !14
  %5412 = fmul float %5409, %5411
  %5413 = fneg float %5412
  %5414 = call float @llvm.fmuladd.f32(float %5404, float %5406, float %5413)
  %5415 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5414, ptr %5415, align 4, !tbaa !11
  %5416 = load ptr, ptr %13, align 8, !tbaa !5
  %5417 = getelementptr inbounds %struct.complex, ptr %5416, i32 0, i32 0
  %5418 = load float, ptr %5417, align 4, !tbaa !11
  %5419 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5420 = load float, ptr %5419, align 4, !tbaa !14
  %5421 = load ptr, ptr %13, align 8, !tbaa !5
  %5422 = getelementptr inbounds %struct.complex, ptr %5421, i32 0, i32 1
  %5423 = load float, ptr %5422, align 4, !tbaa !14
  %5424 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5425 = load float, ptr %5424, align 4, !tbaa !11
  %5426 = fmul float %5423, %5425
  %5427 = call float @llvm.fmuladd.f32(float %5418, float %5420, float %5426)
  %5428 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5427, ptr %5428, align 4, !tbaa !14
  %5429 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5430 = load float, ptr %5429, align 4, !tbaa !11
  %5431 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %5430, ptr %5431, align 4, !tbaa !11
  %5432 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5433 = load float, ptr %5432, align 4, !tbaa !14
  %5434 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %5433, ptr %5434, align 4, !tbaa !14
  %5435 = load ptr, ptr %12, align 8, !tbaa !5
  %5436 = getelementptr inbounds %struct.complex, ptr %5435, i64 3
  %5437 = call <2 x float> @Cf(ptr noundef %5436)
  store <2 x float> %5437, ptr %131, align 4
  %5438 = getelementptr inbounds { float, float }, ptr %131, i32 0, i32 0
  %5439 = load float, ptr %5438, align 4
  %5440 = getelementptr inbounds { float, float }, ptr %131, i32 0, i32 1
  %5441 = load float, ptr %5440, align 4
  %5442 = fneg float %5441
  %5443 = call ptr @_pCf(ptr noundef %30)
  %5444 = getelementptr inbounds { float, float }, ptr %5443, i32 0, i32 0
  %5445 = getelementptr inbounds { float, float }, ptr %5443, i32 0, i32 1
  store float %5439, ptr %5444, align 4
  store float %5442, ptr %5445, align 4
  %5446 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5447 = load float, ptr %5446, align 4, !tbaa !11
  %5448 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %5447, ptr %5448, align 4, !tbaa !11
  %5449 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5450 = load float, ptr %5449, align 4, !tbaa !14
  %5451 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %5450, ptr %5451, align 4, !tbaa !14
  %5452 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %5452, ptr %132, align 4
  %5453 = getelementptr inbounds { float, float }, ptr %132, i32 0, i32 0
  %5454 = load float, ptr %5453, align 4
  %5455 = getelementptr inbounds { float, float }, ptr %132, i32 0, i32 1
  %5456 = load float, ptr %5455, align 4
  %5457 = fneg float %5456
  %5458 = call ptr @_pCf(ptr noundef %31)
  %5459 = getelementptr inbounds { float, float }, ptr %5458, i32 0, i32 0
  %5460 = getelementptr inbounds { float, float }, ptr %5458, i32 0, i32 1
  store float %5454, ptr %5459, align 4
  store float %5457, ptr %5460, align 4
  %5461 = load ptr, ptr %13, align 8, !tbaa !5
  %5462 = getelementptr inbounds %struct.complex, ptr %5461, i32 0, i32 0
  %5463 = load float, ptr %5462, align 4, !tbaa !11
  %5464 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5465 = load float, ptr %5464, align 4, !tbaa !11
  %5466 = load ptr, ptr %13, align 8, !tbaa !5
  %5467 = getelementptr inbounds %struct.complex, ptr %5466, i32 0, i32 1
  %5468 = load float, ptr %5467, align 4, !tbaa !14
  %5469 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5470 = load float, ptr %5469, align 4, !tbaa !14
  %5471 = fmul float %5468, %5470
  %5472 = fneg float %5471
  %5473 = call float @llvm.fmuladd.f32(float %5463, float %5465, float %5472)
  %5474 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5473, ptr %5474, align 4, !tbaa !11
  %5475 = load ptr, ptr %13, align 8, !tbaa !5
  %5476 = getelementptr inbounds %struct.complex, ptr %5475, i32 0, i32 0
  %5477 = load float, ptr %5476, align 4, !tbaa !11
  %5478 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5479 = load float, ptr %5478, align 4, !tbaa !14
  %5480 = load ptr, ptr %13, align 8, !tbaa !5
  %5481 = getelementptr inbounds %struct.complex, ptr %5480, i32 0, i32 1
  %5482 = load float, ptr %5481, align 4, !tbaa !14
  %5483 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5484 = load float, ptr %5483, align 4, !tbaa !11
  %5485 = fmul float %5482, %5484
  %5486 = call float @llvm.fmuladd.f32(float %5477, float %5479, float %5485)
  %5487 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5486, ptr %5487, align 4, !tbaa !14
  %5488 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5489 = load float, ptr %5488, align 4, !tbaa !11
  %5490 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %5489, ptr %5490, align 4, !tbaa !11
  %5491 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5492 = load float, ptr %5491, align 4, !tbaa !14
  %5493 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %5492, ptr %5493, align 4, !tbaa !14
  %5494 = load ptr, ptr %12, align 8, !tbaa !5
  %5495 = getelementptr inbounds %struct.complex, ptr %5494, i64 4
  %5496 = call <2 x float> @Cf(ptr noundef %5495)
  store <2 x float> %5496, ptr %133, align 4
  %5497 = getelementptr inbounds { float, float }, ptr %133, i32 0, i32 0
  %5498 = load float, ptr %5497, align 4
  %5499 = getelementptr inbounds { float, float }, ptr %133, i32 0, i32 1
  %5500 = load float, ptr %5499, align 4
  %5501 = fneg float %5500
  %5502 = call ptr @_pCf(ptr noundef %30)
  %5503 = getelementptr inbounds { float, float }, ptr %5502, i32 0, i32 0
  %5504 = getelementptr inbounds { float, float }, ptr %5502, i32 0, i32 1
  store float %5498, ptr %5503, align 4
  store float %5501, ptr %5504, align 4
  %5505 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5506 = load float, ptr %5505, align 4, !tbaa !11
  %5507 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %5506, ptr %5507, align 4, !tbaa !11
  %5508 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5509 = load float, ptr %5508, align 4, !tbaa !14
  %5510 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %5509, ptr %5510, align 4, !tbaa !14
  %5511 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %5511, ptr %134, align 4
  %5512 = getelementptr inbounds { float, float }, ptr %134, i32 0, i32 0
  %5513 = load float, ptr %5512, align 4
  %5514 = getelementptr inbounds { float, float }, ptr %134, i32 0, i32 1
  %5515 = load float, ptr %5514, align 4
  %5516 = fneg float %5515
  %5517 = call ptr @_pCf(ptr noundef %31)
  %5518 = getelementptr inbounds { float, float }, ptr %5517, i32 0, i32 0
  %5519 = getelementptr inbounds { float, float }, ptr %5517, i32 0, i32 1
  store float %5513, ptr %5518, align 4
  store float %5516, ptr %5519, align 4
  %5520 = load ptr, ptr %13, align 8, !tbaa !5
  %5521 = getelementptr inbounds %struct.complex, ptr %5520, i32 0, i32 0
  %5522 = load float, ptr %5521, align 4, !tbaa !11
  %5523 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5524 = load float, ptr %5523, align 4, !tbaa !11
  %5525 = load ptr, ptr %13, align 8, !tbaa !5
  %5526 = getelementptr inbounds %struct.complex, ptr %5525, i32 0, i32 1
  %5527 = load float, ptr %5526, align 4, !tbaa !14
  %5528 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5529 = load float, ptr %5528, align 4, !tbaa !14
  %5530 = fmul float %5527, %5529
  %5531 = fneg float %5530
  %5532 = call float @llvm.fmuladd.f32(float %5522, float %5524, float %5531)
  %5533 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5532, ptr %5533, align 4, !tbaa !11
  %5534 = load ptr, ptr %13, align 8, !tbaa !5
  %5535 = getelementptr inbounds %struct.complex, ptr %5534, i32 0, i32 0
  %5536 = load float, ptr %5535, align 4, !tbaa !11
  %5537 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5538 = load float, ptr %5537, align 4, !tbaa !14
  %5539 = load ptr, ptr %13, align 8, !tbaa !5
  %5540 = getelementptr inbounds %struct.complex, ptr %5539, i32 0, i32 1
  %5541 = load float, ptr %5540, align 4, !tbaa !14
  %5542 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5543 = load float, ptr %5542, align 4, !tbaa !11
  %5544 = fmul float %5541, %5543
  %5545 = call float @llvm.fmuladd.f32(float %5536, float %5538, float %5544)
  %5546 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5545, ptr %5546, align 4, !tbaa !14
  %5547 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5548 = load float, ptr %5547, align 4, !tbaa !11
  %5549 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %5548, ptr %5549, align 4, !tbaa !11
  %5550 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5551 = load float, ptr %5550, align 4, !tbaa !14
  %5552 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %5551, ptr %5552, align 4, !tbaa !14
  %5553 = load ptr, ptr %12, align 8, !tbaa !5
  %5554 = getelementptr inbounds %struct.complex, ptr %5553, i64 5
  %5555 = call <2 x float> @Cf(ptr noundef %5554)
  store <2 x float> %5555, ptr %135, align 4
  %5556 = getelementptr inbounds { float, float }, ptr %135, i32 0, i32 0
  %5557 = load float, ptr %5556, align 4
  %5558 = getelementptr inbounds { float, float }, ptr %135, i32 0, i32 1
  %5559 = load float, ptr %5558, align 4
  %5560 = fneg float %5559
  %5561 = call ptr @_pCf(ptr noundef %30)
  %5562 = getelementptr inbounds { float, float }, ptr %5561, i32 0, i32 0
  %5563 = getelementptr inbounds { float, float }, ptr %5561, i32 0, i32 1
  store float %5557, ptr %5562, align 4
  store float %5560, ptr %5563, align 4
  %5564 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5565 = load float, ptr %5564, align 4, !tbaa !11
  %5566 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %5565, ptr %5566, align 4, !tbaa !11
  %5567 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5568 = load float, ptr %5567, align 4, !tbaa !14
  %5569 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %5568, ptr %5569, align 4, !tbaa !14
  %5570 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %5570, ptr %136, align 4
  %5571 = getelementptr inbounds { float, float }, ptr %136, i32 0, i32 0
  %5572 = load float, ptr %5571, align 4
  %5573 = getelementptr inbounds { float, float }, ptr %136, i32 0, i32 1
  %5574 = load float, ptr %5573, align 4
  %5575 = fneg float %5574
  %5576 = call ptr @_pCf(ptr noundef %31)
  %5577 = getelementptr inbounds { float, float }, ptr %5576, i32 0, i32 0
  %5578 = getelementptr inbounds { float, float }, ptr %5576, i32 0, i32 1
  store float %5572, ptr %5577, align 4
  store float %5575, ptr %5578, align 4
  %5579 = load ptr, ptr %13, align 8, !tbaa !5
  %5580 = getelementptr inbounds %struct.complex, ptr %5579, i32 0, i32 0
  %5581 = load float, ptr %5580, align 4, !tbaa !11
  %5582 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5583 = load float, ptr %5582, align 4, !tbaa !11
  %5584 = load ptr, ptr %13, align 8, !tbaa !5
  %5585 = getelementptr inbounds %struct.complex, ptr %5584, i32 0, i32 1
  %5586 = load float, ptr %5585, align 4, !tbaa !14
  %5587 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5588 = load float, ptr %5587, align 4, !tbaa !14
  %5589 = fmul float %5586, %5588
  %5590 = fneg float %5589
  %5591 = call float @llvm.fmuladd.f32(float %5581, float %5583, float %5590)
  %5592 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5591, ptr %5592, align 4, !tbaa !11
  %5593 = load ptr, ptr %13, align 8, !tbaa !5
  %5594 = getelementptr inbounds %struct.complex, ptr %5593, i32 0, i32 0
  %5595 = load float, ptr %5594, align 4, !tbaa !11
  %5596 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5597 = load float, ptr %5596, align 4, !tbaa !14
  %5598 = load ptr, ptr %13, align 8, !tbaa !5
  %5599 = getelementptr inbounds %struct.complex, ptr %5598, i32 0, i32 1
  %5600 = load float, ptr %5599, align 4, !tbaa !14
  %5601 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5602 = load float, ptr %5601, align 4, !tbaa !11
  %5603 = fmul float %5600, %5602
  %5604 = call float @llvm.fmuladd.f32(float %5595, float %5597, float %5603)
  %5605 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5604, ptr %5605, align 4, !tbaa !14
  %5606 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5607 = load float, ptr %5606, align 4, !tbaa !11
  %5608 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %5607, ptr %5608, align 4, !tbaa !11
  %5609 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5610 = load float, ptr %5609, align 4, !tbaa !14
  %5611 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %5610, ptr %5611, align 4, !tbaa !14
  %5612 = load ptr, ptr %12, align 8, !tbaa !5
  %5613 = getelementptr inbounds %struct.complex, ptr %5612, i64 6
  %5614 = call <2 x float> @Cf(ptr noundef %5613)
  store <2 x float> %5614, ptr %137, align 4
  %5615 = getelementptr inbounds { float, float }, ptr %137, i32 0, i32 0
  %5616 = load float, ptr %5615, align 4
  %5617 = getelementptr inbounds { float, float }, ptr %137, i32 0, i32 1
  %5618 = load float, ptr %5617, align 4
  %5619 = fneg float %5618
  %5620 = call ptr @_pCf(ptr noundef %30)
  %5621 = getelementptr inbounds { float, float }, ptr %5620, i32 0, i32 0
  %5622 = getelementptr inbounds { float, float }, ptr %5620, i32 0, i32 1
  store float %5616, ptr %5621, align 4
  store float %5619, ptr %5622, align 4
  %5623 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5624 = load float, ptr %5623, align 4, !tbaa !11
  %5625 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %5624, ptr %5625, align 4, !tbaa !11
  %5626 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5627 = load float, ptr %5626, align 4, !tbaa !14
  %5628 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %5627, ptr %5628, align 4, !tbaa !14
  %5629 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %5629, ptr %138, align 4
  %5630 = getelementptr inbounds { float, float }, ptr %138, i32 0, i32 0
  %5631 = load float, ptr %5630, align 4
  %5632 = getelementptr inbounds { float, float }, ptr %138, i32 0, i32 1
  %5633 = load float, ptr %5632, align 4
  %5634 = fneg float %5633
  %5635 = call ptr @_pCf(ptr noundef %31)
  %5636 = getelementptr inbounds { float, float }, ptr %5635, i32 0, i32 0
  %5637 = getelementptr inbounds { float, float }, ptr %5635, i32 0, i32 1
  store float %5631, ptr %5636, align 4
  store float %5634, ptr %5637, align 4
  %5638 = load ptr, ptr %13, align 8, !tbaa !5
  %5639 = getelementptr inbounds %struct.complex, ptr %5638, i32 0, i32 0
  %5640 = load float, ptr %5639, align 4, !tbaa !11
  %5641 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5642 = load float, ptr %5641, align 4, !tbaa !11
  %5643 = load ptr, ptr %13, align 8, !tbaa !5
  %5644 = getelementptr inbounds %struct.complex, ptr %5643, i32 0, i32 1
  %5645 = load float, ptr %5644, align 4, !tbaa !14
  %5646 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5647 = load float, ptr %5646, align 4, !tbaa !14
  %5648 = fmul float %5645, %5647
  %5649 = fneg float %5648
  %5650 = call float @llvm.fmuladd.f32(float %5640, float %5642, float %5649)
  %5651 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5650, ptr %5651, align 4, !tbaa !11
  %5652 = load ptr, ptr %13, align 8, !tbaa !5
  %5653 = getelementptr inbounds %struct.complex, ptr %5652, i32 0, i32 0
  %5654 = load float, ptr %5653, align 4, !tbaa !11
  %5655 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5656 = load float, ptr %5655, align 4, !tbaa !14
  %5657 = load ptr, ptr %13, align 8, !tbaa !5
  %5658 = getelementptr inbounds %struct.complex, ptr %5657, i32 0, i32 1
  %5659 = load float, ptr %5658, align 4, !tbaa !14
  %5660 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5661 = load float, ptr %5660, align 4, !tbaa !11
  %5662 = fmul float %5659, %5661
  %5663 = call float @llvm.fmuladd.f32(float %5654, float %5656, float %5662)
  %5664 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5663, ptr %5664, align 4, !tbaa !14
  %5665 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5666 = load float, ptr %5665, align 4, !tbaa !11
  %5667 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %5666, ptr %5667, align 4, !tbaa !11
  %5668 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5669 = load float, ptr %5668, align 4, !tbaa !14
  %5670 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %5669, ptr %5670, align 4, !tbaa !14
  %5671 = load ptr, ptr %12, align 8, !tbaa !5
  %5672 = getelementptr inbounds %struct.complex, ptr %5671, i64 7
  %5673 = call <2 x float> @Cf(ptr noundef %5672)
  store <2 x float> %5673, ptr %139, align 4
  %5674 = getelementptr inbounds { float, float }, ptr %139, i32 0, i32 0
  %5675 = load float, ptr %5674, align 4
  %5676 = getelementptr inbounds { float, float }, ptr %139, i32 0, i32 1
  %5677 = load float, ptr %5676, align 4
  %5678 = fneg float %5677
  %5679 = call ptr @_pCf(ptr noundef %30)
  %5680 = getelementptr inbounds { float, float }, ptr %5679, i32 0, i32 0
  %5681 = getelementptr inbounds { float, float }, ptr %5679, i32 0, i32 1
  store float %5675, ptr %5680, align 4
  store float %5678, ptr %5681, align 4
  %5682 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5683 = load float, ptr %5682, align 4, !tbaa !11
  %5684 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %5683, ptr %5684, align 4, !tbaa !11
  %5685 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5686 = load float, ptr %5685, align 4, !tbaa !14
  %5687 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %5686, ptr %5687, align 4, !tbaa !14
  %5688 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %5688, ptr %140, align 4
  %5689 = getelementptr inbounds { float, float }, ptr %140, i32 0, i32 0
  %5690 = load float, ptr %5689, align 4
  %5691 = getelementptr inbounds { float, float }, ptr %140, i32 0, i32 1
  %5692 = load float, ptr %5691, align 4
  %5693 = fneg float %5692
  %5694 = call ptr @_pCf(ptr noundef %31)
  %5695 = getelementptr inbounds { float, float }, ptr %5694, i32 0, i32 0
  %5696 = getelementptr inbounds { float, float }, ptr %5694, i32 0, i32 1
  store float %5690, ptr %5695, align 4
  store float %5693, ptr %5696, align 4
  %5697 = load ptr, ptr %13, align 8, !tbaa !5
  %5698 = getelementptr inbounds %struct.complex, ptr %5697, i32 0, i32 0
  %5699 = load float, ptr %5698, align 4, !tbaa !11
  %5700 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5701 = load float, ptr %5700, align 4, !tbaa !11
  %5702 = load ptr, ptr %13, align 8, !tbaa !5
  %5703 = getelementptr inbounds %struct.complex, ptr %5702, i32 0, i32 1
  %5704 = load float, ptr %5703, align 4, !tbaa !14
  %5705 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5706 = load float, ptr %5705, align 4, !tbaa !14
  %5707 = fmul float %5704, %5706
  %5708 = fneg float %5707
  %5709 = call float @llvm.fmuladd.f32(float %5699, float %5701, float %5708)
  %5710 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5709, ptr %5710, align 4, !tbaa !11
  %5711 = load ptr, ptr %13, align 8, !tbaa !5
  %5712 = getelementptr inbounds %struct.complex, ptr %5711, i32 0, i32 0
  %5713 = load float, ptr %5712, align 4, !tbaa !11
  %5714 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5715 = load float, ptr %5714, align 4, !tbaa !14
  %5716 = load ptr, ptr %13, align 8, !tbaa !5
  %5717 = getelementptr inbounds %struct.complex, ptr %5716, i32 0, i32 1
  %5718 = load float, ptr %5717, align 4, !tbaa !14
  %5719 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5720 = load float, ptr %5719, align 4, !tbaa !11
  %5721 = fmul float %5718, %5720
  %5722 = call float @llvm.fmuladd.f32(float %5713, float %5715, float %5721)
  %5723 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5722, ptr %5723, align 4, !tbaa !14
  %5724 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5725 = load float, ptr %5724, align 4, !tbaa !11
  %5726 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %5725, ptr %5726, align 4, !tbaa !11
  %5727 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5728 = load float, ptr %5727, align 4, !tbaa !14
  %5729 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %5728, ptr %5729, align 4, !tbaa !14
  %5730 = load ptr, ptr %12, align 8, !tbaa !5
  %5731 = getelementptr inbounds %struct.complex, ptr %5730, i64 8
  %5732 = call <2 x float> @Cf(ptr noundef %5731)
  store <2 x float> %5732, ptr %141, align 4
  %5733 = getelementptr inbounds { float, float }, ptr %141, i32 0, i32 0
  %5734 = load float, ptr %5733, align 4
  %5735 = getelementptr inbounds { float, float }, ptr %141, i32 0, i32 1
  %5736 = load float, ptr %5735, align 4
  %5737 = fneg float %5736
  %5738 = call ptr @_pCf(ptr noundef %30)
  %5739 = getelementptr inbounds { float, float }, ptr %5738, i32 0, i32 0
  %5740 = getelementptr inbounds { float, float }, ptr %5738, i32 0, i32 1
  store float %5734, ptr %5739, align 4
  store float %5737, ptr %5740, align 4
  %5741 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5742 = load float, ptr %5741, align 4, !tbaa !11
  %5743 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %5742, ptr %5743, align 4, !tbaa !11
  %5744 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5745 = load float, ptr %5744, align 4, !tbaa !14
  %5746 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %5745, ptr %5746, align 4, !tbaa !14
  %5747 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %5747, ptr %142, align 4
  %5748 = getelementptr inbounds { float, float }, ptr %142, i32 0, i32 0
  %5749 = load float, ptr %5748, align 4
  %5750 = getelementptr inbounds { float, float }, ptr %142, i32 0, i32 1
  %5751 = load float, ptr %5750, align 4
  %5752 = fneg float %5751
  %5753 = call ptr @_pCf(ptr noundef %31)
  %5754 = getelementptr inbounds { float, float }, ptr %5753, i32 0, i32 0
  %5755 = getelementptr inbounds { float, float }, ptr %5753, i32 0, i32 1
  store float %5749, ptr %5754, align 4
  store float %5752, ptr %5755, align 4
  %5756 = load ptr, ptr %13, align 8, !tbaa !5
  %5757 = getelementptr inbounds %struct.complex, ptr %5756, i32 0, i32 0
  %5758 = load float, ptr %5757, align 4, !tbaa !11
  %5759 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5760 = load float, ptr %5759, align 4, !tbaa !11
  %5761 = load ptr, ptr %13, align 8, !tbaa !5
  %5762 = getelementptr inbounds %struct.complex, ptr %5761, i32 0, i32 1
  %5763 = load float, ptr %5762, align 4, !tbaa !14
  %5764 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5765 = load float, ptr %5764, align 4, !tbaa !14
  %5766 = fmul float %5763, %5765
  %5767 = fneg float %5766
  %5768 = call float @llvm.fmuladd.f32(float %5758, float %5760, float %5767)
  %5769 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %5768, ptr %5769, align 4, !tbaa !11
  %5770 = load ptr, ptr %13, align 8, !tbaa !5
  %5771 = getelementptr inbounds %struct.complex, ptr %5770, i32 0, i32 0
  %5772 = load float, ptr %5771, align 4, !tbaa !11
  %5773 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5774 = load float, ptr %5773, align 4, !tbaa !14
  %5775 = load ptr, ptr %13, align 8, !tbaa !5
  %5776 = getelementptr inbounds %struct.complex, ptr %5775, i32 0, i32 1
  %5777 = load float, ptr %5776, align 4, !tbaa !14
  %5778 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5779 = load float, ptr %5778, align 4, !tbaa !11
  %5780 = fmul float %5777, %5779
  %5781 = call float @llvm.fmuladd.f32(float %5772, float %5774, float %5780)
  %5782 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %5781, ptr %5782, align 4, !tbaa !14
  %5783 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %5784 = load float, ptr %5783, align 4, !tbaa !11
  %5785 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %5784, ptr %5785, align 4, !tbaa !11
  %5786 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %5787 = load float, ptr %5786, align 4, !tbaa !14
  %5788 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %5787, ptr %5788, align 4, !tbaa !14
  %5789 = load ptr, ptr %11, align 8, !tbaa !5
  %5790 = load i32, ptr %5789, align 4, !tbaa !9
  store i32 %5790, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %5791

5791:                                             ; preds = %6750, %5316
  %5792 = load i32, ptr %49, align 4, !tbaa !9
  %5793 = load i32, ptr %19, align 4, !tbaa !9
  %5794 = icmp sle i32 %5792, %5793
  br i1 %5794, label %5795, label %6753

5795:                                             ; preds = %5791
  %5796 = load i32, ptr %49, align 4, !tbaa !9
  %5797 = load i32, ptr %17, align 4, !tbaa !9
  %5798 = mul nsw i32 %5796, %5797
  %5799 = add nsw i32 %5798, 1
  store i32 %5799, ptr %20, align 4, !tbaa !9
  %5800 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %5801 = load float, ptr %5800, align 4, !tbaa !11
  %5802 = load ptr, ptr %14, align 8, !tbaa !5
  %5803 = load i32, ptr %20, align 4, !tbaa !9
  %5804 = sext i32 %5803 to i64
  %5805 = getelementptr inbounds %struct.complex, ptr %5802, i64 %5804
  %5806 = getelementptr inbounds %struct.complex, ptr %5805, i32 0, i32 0
  %5807 = load float, ptr %5806, align 4, !tbaa !11
  %5808 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %5809 = load float, ptr %5808, align 4, !tbaa !14
  %5810 = load ptr, ptr %14, align 8, !tbaa !5
  %5811 = load i32, ptr %20, align 4, !tbaa !9
  %5812 = sext i32 %5811 to i64
  %5813 = getelementptr inbounds %struct.complex, ptr %5810, i64 %5812
  %5814 = getelementptr inbounds %struct.complex, ptr %5813, i32 0, i32 1
  %5815 = load float, ptr %5814, align 4, !tbaa !14
  %5816 = fmul float %5809, %5815
  %5817 = fneg float %5816
  %5818 = call float @llvm.fmuladd.f32(float %5801, float %5807, float %5817)
  %5819 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %5818, ptr %5819, align 4, !tbaa !11
  %5820 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %5821 = load float, ptr %5820, align 4, !tbaa !11
  %5822 = load ptr, ptr %14, align 8, !tbaa !5
  %5823 = load i32, ptr %20, align 4, !tbaa !9
  %5824 = sext i32 %5823 to i64
  %5825 = getelementptr inbounds %struct.complex, ptr %5822, i64 %5824
  %5826 = getelementptr inbounds %struct.complex, ptr %5825, i32 0, i32 1
  %5827 = load float, ptr %5826, align 4, !tbaa !14
  %5828 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %5829 = load float, ptr %5828, align 4, !tbaa !14
  %5830 = load ptr, ptr %14, align 8, !tbaa !5
  %5831 = load i32, ptr %20, align 4, !tbaa !9
  %5832 = sext i32 %5831 to i64
  %5833 = getelementptr inbounds %struct.complex, ptr %5830, i64 %5832
  %5834 = getelementptr inbounds %struct.complex, ptr %5833, i32 0, i32 0
  %5835 = load float, ptr %5834, align 4, !tbaa !11
  %5836 = fmul float %5829, %5835
  %5837 = call float @llvm.fmuladd.f32(float %5821, float %5827, float %5836)
  %5838 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %5837, ptr %5838, align 4, !tbaa !14
  %5839 = load i32, ptr %49, align 4, !tbaa !9
  %5840 = load i32, ptr %17, align 4, !tbaa !9
  %5841 = mul nsw i32 %5839, %5840
  %5842 = add nsw i32 %5841, 2
  store i32 %5842, ptr %21, align 4, !tbaa !9
  %5843 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %5844 = load float, ptr %5843, align 4, !tbaa !11
  %5845 = load ptr, ptr %14, align 8, !tbaa !5
  %5846 = load i32, ptr %21, align 4, !tbaa !9
  %5847 = sext i32 %5846 to i64
  %5848 = getelementptr inbounds %struct.complex, ptr %5845, i64 %5847
  %5849 = getelementptr inbounds %struct.complex, ptr %5848, i32 0, i32 0
  %5850 = load float, ptr %5849, align 4, !tbaa !11
  %5851 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %5852 = load float, ptr %5851, align 4, !tbaa !14
  %5853 = load ptr, ptr %14, align 8, !tbaa !5
  %5854 = load i32, ptr %21, align 4, !tbaa !9
  %5855 = sext i32 %5854 to i64
  %5856 = getelementptr inbounds %struct.complex, ptr %5853, i64 %5855
  %5857 = getelementptr inbounds %struct.complex, ptr %5856, i32 0, i32 1
  %5858 = load float, ptr %5857, align 4, !tbaa !14
  %5859 = fmul float %5852, %5858
  %5860 = fneg float %5859
  %5861 = call float @llvm.fmuladd.f32(float %5844, float %5850, float %5860)
  %5862 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %5861, ptr %5862, align 4, !tbaa !11
  %5863 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %5864 = load float, ptr %5863, align 4, !tbaa !11
  %5865 = load ptr, ptr %14, align 8, !tbaa !5
  %5866 = load i32, ptr %21, align 4, !tbaa !9
  %5867 = sext i32 %5866 to i64
  %5868 = getelementptr inbounds %struct.complex, ptr %5865, i64 %5867
  %5869 = getelementptr inbounds %struct.complex, ptr %5868, i32 0, i32 1
  %5870 = load float, ptr %5869, align 4, !tbaa !14
  %5871 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %5872 = load float, ptr %5871, align 4, !tbaa !14
  %5873 = load ptr, ptr %14, align 8, !tbaa !5
  %5874 = load i32, ptr %21, align 4, !tbaa !9
  %5875 = sext i32 %5874 to i64
  %5876 = getelementptr inbounds %struct.complex, ptr %5873, i64 %5875
  %5877 = getelementptr inbounds %struct.complex, ptr %5876, i32 0, i32 0
  %5878 = load float, ptr %5877, align 4, !tbaa !11
  %5879 = fmul float %5872, %5878
  %5880 = call float @llvm.fmuladd.f32(float %5864, float %5870, float %5879)
  %5881 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %5880, ptr %5881, align 4, !tbaa !14
  %5882 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %5883 = load float, ptr %5882, align 4, !tbaa !11
  %5884 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %5885 = load float, ptr %5884, align 4, !tbaa !11
  %5886 = fadd float %5883, %5885
  %5887 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %5886, ptr %5887, align 4, !tbaa !11
  %5888 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %5889 = load float, ptr %5888, align 4, !tbaa !14
  %5890 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %5891 = load float, ptr %5890, align 4, !tbaa !14
  %5892 = fadd float %5889, %5891
  %5893 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %5892, ptr %5893, align 4, !tbaa !14
  %5894 = load i32, ptr %49, align 4, !tbaa !9
  %5895 = load i32, ptr %17, align 4, !tbaa !9
  %5896 = mul nsw i32 %5894, %5895
  %5897 = add nsw i32 %5896, 3
  store i32 %5897, ptr %22, align 4, !tbaa !9
  %5898 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %5899 = load float, ptr %5898, align 4, !tbaa !11
  %5900 = load ptr, ptr %14, align 8, !tbaa !5
  %5901 = load i32, ptr %22, align 4, !tbaa !9
  %5902 = sext i32 %5901 to i64
  %5903 = getelementptr inbounds %struct.complex, ptr %5900, i64 %5902
  %5904 = getelementptr inbounds %struct.complex, ptr %5903, i32 0, i32 0
  %5905 = load float, ptr %5904, align 4, !tbaa !11
  %5906 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %5907 = load float, ptr %5906, align 4, !tbaa !14
  %5908 = load ptr, ptr %14, align 8, !tbaa !5
  %5909 = load i32, ptr %22, align 4, !tbaa !9
  %5910 = sext i32 %5909 to i64
  %5911 = getelementptr inbounds %struct.complex, ptr %5908, i64 %5910
  %5912 = getelementptr inbounds %struct.complex, ptr %5911, i32 0, i32 1
  %5913 = load float, ptr %5912, align 4, !tbaa !14
  %5914 = fmul float %5907, %5913
  %5915 = fneg float %5914
  %5916 = call float @llvm.fmuladd.f32(float %5899, float %5905, float %5915)
  %5917 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %5916, ptr %5917, align 4, !tbaa !11
  %5918 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %5919 = load float, ptr %5918, align 4, !tbaa !11
  %5920 = load ptr, ptr %14, align 8, !tbaa !5
  %5921 = load i32, ptr %22, align 4, !tbaa !9
  %5922 = sext i32 %5921 to i64
  %5923 = getelementptr inbounds %struct.complex, ptr %5920, i64 %5922
  %5924 = getelementptr inbounds %struct.complex, ptr %5923, i32 0, i32 1
  %5925 = load float, ptr %5924, align 4, !tbaa !14
  %5926 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %5927 = load float, ptr %5926, align 4, !tbaa !14
  %5928 = load ptr, ptr %14, align 8, !tbaa !5
  %5929 = load i32, ptr %22, align 4, !tbaa !9
  %5930 = sext i32 %5929 to i64
  %5931 = getelementptr inbounds %struct.complex, ptr %5928, i64 %5930
  %5932 = getelementptr inbounds %struct.complex, ptr %5931, i32 0, i32 0
  %5933 = load float, ptr %5932, align 4, !tbaa !11
  %5934 = fmul float %5927, %5933
  %5935 = call float @llvm.fmuladd.f32(float %5919, float %5925, float %5934)
  %5936 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %5935, ptr %5936, align 4, !tbaa !14
  %5937 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %5938 = load float, ptr %5937, align 4, !tbaa !11
  %5939 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %5940 = load float, ptr %5939, align 4, !tbaa !11
  %5941 = fadd float %5938, %5940
  %5942 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %5941, ptr %5942, align 4, !tbaa !11
  %5943 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %5944 = load float, ptr %5943, align 4, !tbaa !14
  %5945 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %5946 = load float, ptr %5945, align 4, !tbaa !14
  %5947 = fadd float %5944, %5946
  %5948 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %5947, ptr %5948, align 4, !tbaa !14
  %5949 = load i32, ptr %49, align 4, !tbaa !9
  %5950 = load i32, ptr %17, align 4, !tbaa !9
  %5951 = mul nsw i32 %5949, %5950
  %5952 = add nsw i32 %5951, 4
  store i32 %5952, ptr %23, align 4, !tbaa !9
  %5953 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %5954 = load float, ptr %5953, align 4, !tbaa !11
  %5955 = load ptr, ptr %14, align 8, !tbaa !5
  %5956 = load i32, ptr %23, align 4, !tbaa !9
  %5957 = sext i32 %5956 to i64
  %5958 = getelementptr inbounds %struct.complex, ptr %5955, i64 %5957
  %5959 = getelementptr inbounds %struct.complex, ptr %5958, i32 0, i32 0
  %5960 = load float, ptr %5959, align 4, !tbaa !11
  %5961 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %5962 = load float, ptr %5961, align 4, !tbaa !14
  %5963 = load ptr, ptr %14, align 8, !tbaa !5
  %5964 = load i32, ptr %23, align 4, !tbaa !9
  %5965 = sext i32 %5964 to i64
  %5966 = getelementptr inbounds %struct.complex, ptr %5963, i64 %5965
  %5967 = getelementptr inbounds %struct.complex, ptr %5966, i32 0, i32 1
  %5968 = load float, ptr %5967, align 4, !tbaa !14
  %5969 = fmul float %5962, %5968
  %5970 = fneg float %5969
  %5971 = call float @llvm.fmuladd.f32(float %5954, float %5960, float %5970)
  %5972 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %5971, ptr %5972, align 4, !tbaa !11
  %5973 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %5974 = load float, ptr %5973, align 4, !tbaa !11
  %5975 = load ptr, ptr %14, align 8, !tbaa !5
  %5976 = load i32, ptr %23, align 4, !tbaa !9
  %5977 = sext i32 %5976 to i64
  %5978 = getelementptr inbounds %struct.complex, ptr %5975, i64 %5977
  %5979 = getelementptr inbounds %struct.complex, ptr %5978, i32 0, i32 1
  %5980 = load float, ptr %5979, align 4, !tbaa !14
  %5981 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %5982 = load float, ptr %5981, align 4, !tbaa !14
  %5983 = load ptr, ptr %14, align 8, !tbaa !5
  %5984 = load i32, ptr %23, align 4, !tbaa !9
  %5985 = sext i32 %5984 to i64
  %5986 = getelementptr inbounds %struct.complex, ptr %5983, i64 %5985
  %5987 = getelementptr inbounds %struct.complex, ptr %5986, i32 0, i32 0
  %5988 = load float, ptr %5987, align 4, !tbaa !11
  %5989 = fmul float %5982, %5988
  %5990 = call float @llvm.fmuladd.f32(float %5974, float %5980, float %5989)
  %5991 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %5990, ptr %5991, align 4, !tbaa !14
  %5992 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %5993 = load float, ptr %5992, align 4, !tbaa !11
  %5994 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %5995 = load float, ptr %5994, align 4, !tbaa !11
  %5996 = fadd float %5993, %5995
  %5997 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %5996, ptr %5997, align 4, !tbaa !11
  %5998 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %5999 = load float, ptr %5998, align 4, !tbaa !14
  %6000 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %6001 = load float, ptr %6000, align 4, !tbaa !14
  %6002 = fadd float %5999, %6001
  %6003 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %6002, ptr %6003, align 4, !tbaa !14
  %6004 = load i32, ptr %49, align 4, !tbaa !9
  %6005 = load i32, ptr %17, align 4, !tbaa !9
  %6006 = mul nsw i32 %6004, %6005
  %6007 = add nsw i32 %6006, 5
  store i32 %6007, ptr %24, align 4, !tbaa !9
  %6008 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %6009 = load float, ptr %6008, align 4, !tbaa !11
  %6010 = load ptr, ptr %14, align 8, !tbaa !5
  %6011 = load i32, ptr %24, align 4, !tbaa !9
  %6012 = sext i32 %6011 to i64
  %6013 = getelementptr inbounds %struct.complex, ptr %6010, i64 %6012
  %6014 = getelementptr inbounds %struct.complex, ptr %6013, i32 0, i32 0
  %6015 = load float, ptr %6014, align 4, !tbaa !11
  %6016 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %6017 = load float, ptr %6016, align 4, !tbaa !14
  %6018 = load ptr, ptr %14, align 8, !tbaa !5
  %6019 = load i32, ptr %24, align 4, !tbaa !9
  %6020 = sext i32 %6019 to i64
  %6021 = getelementptr inbounds %struct.complex, ptr %6018, i64 %6020
  %6022 = getelementptr inbounds %struct.complex, ptr %6021, i32 0, i32 1
  %6023 = load float, ptr %6022, align 4, !tbaa !14
  %6024 = fmul float %6017, %6023
  %6025 = fneg float %6024
  %6026 = call float @llvm.fmuladd.f32(float %6009, float %6015, float %6025)
  %6027 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %6026, ptr %6027, align 4, !tbaa !11
  %6028 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %6029 = load float, ptr %6028, align 4, !tbaa !11
  %6030 = load ptr, ptr %14, align 8, !tbaa !5
  %6031 = load i32, ptr %24, align 4, !tbaa !9
  %6032 = sext i32 %6031 to i64
  %6033 = getelementptr inbounds %struct.complex, ptr %6030, i64 %6032
  %6034 = getelementptr inbounds %struct.complex, ptr %6033, i32 0, i32 1
  %6035 = load float, ptr %6034, align 4, !tbaa !14
  %6036 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %6037 = load float, ptr %6036, align 4, !tbaa !14
  %6038 = load ptr, ptr %14, align 8, !tbaa !5
  %6039 = load i32, ptr %24, align 4, !tbaa !9
  %6040 = sext i32 %6039 to i64
  %6041 = getelementptr inbounds %struct.complex, ptr %6038, i64 %6040
  %6042 = getelementptr inbounds %struct.complex, ptr %6041, i32 0, i32 0
  %6043 = load float, ptr %6042, align 4, !tbaa !11
  %6044 = fmul float %6037, %6043
  %6045 = call float @llvm.fmuladd.f32(float %6029, float %6035, float %6044)
  %6046 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %6045, ptr %6046, align 4, !tbaa !14
  %6047 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %6048 = load float, ptr %6047, align 4, !tbaa !11
  %6049 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %6050 = load float, ptr %6049, align 4, !tbaa !11
  %6051 = fadd float %6048, %6050
  %6052 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %6051, ptr %6052, align 4, !tbaa !11
  %6053 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %6054 = load float, ptr %6053, align 4, !tbaa !14
  %6055 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %6056 = load float, ptr %6055, align 4, !tbaa !14
  %6057 = fadd float %6054, %6056
  %6058 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %6057, ptr %6058, align 4, !tbaa !14
  %6059 = load i32, ptr %49, align 4, !tbaa !9
  %6060 = load i32, ptr %17, align 4, !tbaa !9
  %6061 = mul nsw i32 %6059, %6060
  %6062 = add nsw i32 %6061, 6
  store i32 %6062, ptr %25, align 4, !tbaa !9
  %6063 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %6064 = load float, ptr %6063, align 4, !tbaa !11
  %6065 = load ptr, ptr %14, align 8, !tbaa !5
  %6066 = load i32, ptr %25, align 4, !tbaa !9
  %6067 = sext i32 %6066 to i64
  %6068 = getelementptr inbounds %struct.complex, ptr %6065, i64 %6067
  %6069 = getelementptr inbounds %struct.complex, ptr %6068, i32 0, i32 0
  %6070 = load float, ptr %6069, align 4, !tbaa !11
  %6071 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %6072 = load float, ptr %6071, align 4, !tbaa !14
  %6073 = load ptr, ptr %14, align 8, !tbaa !5
  %6074 = load i32, ptr %25, align 4, !tbaa !9
  %6075 = sext i32 %6074 to i64
  %6076 = getelementptr inbounds %struct.complex, ptr %6073, i64 %6075
  %6077 = getelementptr inbounds %struct.complex, ptr %6076, i32 0, i32 1
  %6078 = load float, ptr %6077, align 4, !tbaa !14
  %6079 = fmul float %6072, %6078
  %6080 = fneg float %6079
  %6081 = call float @llvm.fmuladd.f32(float %6064, float %6070, float %6080)
  %6082 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %6081, ptr %6082, align 4, !tbaa !11
  %6083 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %6084 = load float, ptr %6083, align 4, !tbaa !11
  %6085 = load ptr, ptr %14, align 8, !tbaa !5
  %6086 = load i32, ptr %25, align 4, !tbaa !9
  %6087 = sext i32 %6086 to i64
  %6088 = getelementptr inbounds %struct.complex, ptr %6085, i64 %6087
  %6089 = getelementptr inbounds %struct.complex, ptr %6088, i32 0, i32 1
  %6090 = load float, ptr %6089, align 4, !tbaa !14
  %6091 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %6092 = load float, ptr %6091, align 4, !tbaa !14
  %6093 = load ptr, ptr %14, align 8, !tbaa !5
  %6094 = load i32, ptr %25, align 4, !tbaa !9
  %6095 = sext i32 %6094 to i64
  %6096 = getelementptr inbounds %struct.complex, ptr %6093, i64 %6095
  %6097 = getelementptr inbounds %struct.complex, ptr %6096, i32 0, i32 0
  %6098 = load float, ptr %6097, align 4, !tbaa !11
  %6099 = fmul float %6092, %6098
  %6100 = call float @llvm.fmuladd.f32(float %6084, float %6090, float %6099)
  %6101 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %6100, ptr %6101, align 4, !tbaa !14
  %6102 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %6103 = load float, ptr %6102, align 4, !tbaa !11
  %6104 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %6105 = load float, ptr %6104, align 4, !tbaa !11
  %6106 = fadd float %6103, %6105
  %6107 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6106, ptr %6107, align 4, !tbaa !11
  %6108 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %6109 = load float, ptr %6108, align 4, !tbaa !14
  %6110 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %6111 = load float, ptr %6110, align 4, !tbaa !14
  %6112 = fadd float %6109, %6111
  %6113 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6112, ptr %6113, align 4, !tbaa !14
  %6114 = load i32, ptr %49, align 4, !tbaa !9
  %6115 = load i32, ptr %17, align 4, !tbaa !9
  %6116 = mul nsw i32 %6114, %6115
  %6117 = add nsw i32 %6116, 7
  store i32 %6117, ptr %26, align 4, !tbaa !9
  %6118 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %6119 = load float, ptr %6118, align 4, !tbaa !11
  %6120 = load ptr, ptr %14, align 8, !tbaa !5
  %6121 = load i32, ptr %26, align 4, !tbaa !9
  %6122 = sext i32 %6121 to i64
  %6123 = getelementptr inbounds %struct.complex, ptr %6120, i64 %6122
  %6124 = getelementptr inbounds %struct.complex, ptr %6123, i32 0, i32 0
  %6125 = load float, ptr %6124, align 4, !tbaa !11
  %6126 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %6127 = load float, ptr %6126, align 4, !tbaa !14
  %6128 = load ptr, ptr %14, align 8, !tbaa !5
  %6129 = load i32, ptr %26, align 4, !tbaa !9
  %6130 = sext i32 %6129 to i64
  %6131 = getelementptr inbounds %struct.complex, ptr %6128, i64 %6130
  %6132 = getelementptr inbounds %struct.complex, ptr %6131, i32 0, i32 1
  %6133 = load float, ptr %6132, align 4, !tbaa !14
  %6134 = fmul float %6127, %6133
  %6135 = fneg float %6134
  %6136 = call float @llvm.fmuladd.f32(float %6119, float %6125, float %6135)
  %6137 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %6136, ptr %6137, align 4, !tbaa !11
  %6138 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %6139 = load float, ptr %6138, align 4, !tbaa !11
  %6140 = load ptr, ptr %14, align 8, !tbaa !5
  %6141 = load i32, ptr %26, align 4, !tbaa !9
  %6142 = sext i32 %6141 to i64
  %6143 = getelementptr inbounds %struct.complex, ptr %6140, i64 %6142
  %6144 = getelementptr inbounds %struct.complex, ptr %6143, i32 0, i32 1
  %6145 = load float, ptr %6144, align 4, !tbaa !14
  %6146 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %6147 = load float, ptr %6146, align 4, !tbaa !14
  %6148 = load ptr, ptr %14, align 8, !tbaa !5
  %6149 = load i32, ptr %26, align 4, !tbaa !9
  %6150 = sext i32 %6149 to i64
  %6151 = getelementptr inbounds %struct.complex, ptr %6148, i64 %6150
  %6152 = getelementptr inbounds %struct.complex, ptr %6151, i32 0, i32 0
  %6153 = load float, ptr %6152, align 4, !tbaa !11
  %6154 = fmul float %6147, %6153
  %6155 = call float @llvm.fmuladd.f32(float %6139, float %6145, float %6154)
  %6156 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %6155, ptr %6156, align 4, !tbaa !14
  %6157 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6158 = load float, ptr %6157, align 4, !tbaa !11
  %6159 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %6160 = load float, ptr %6159, align 4, !tbaa !11
  %6161 = fadd float %6158, %6160
  %6162 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6161, ptr %6162, align 4, !tbaa !11
  %6163 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6164 = load float, ptr %6163, align 4, !tbaa !14
  %6165 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %6166 = load float, ptr %6165, align 4, !tbaa !14
  %6167 = fadd float %6164, %6166
  %6168 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6167, ptr %6168, align 4, !tbaa !14
  %6169 = load i32, ptr %49, align 4, !tbaa !9
  %6170 = load i32, ptr %17, align 4, !tbaa !9
  %6171 = mul nsw i32 %6169, %6170
  %6172 = add nsw i32 %6171, 8
  store i32 %6172, ptr %27, align 4, !tbaa !9
  %6173 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %6174 = load float, ptr %6173, align 4, !tbaa !11
  %6175 = load ptr, ptr %14, align 8, !tbaa !5
  %6176 = load i32, ptr %27, align 4, !tbaa !9
  %6177 = sext i32 %6176 to i64
  %6178 = getelementptr inbounds %struct.complex, ptr %6175, i64 %6177
  %6179 = getelementptr inbounds %struct.complex, ptr %6178, i32 0, i32 0
  %6180 = load float, ptr %6179, align 4, !tbaa !11
  %6181 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %6182 = load float, ptr %6181, align 4, !tbaa !14
  %6183 = load ptr, ptr %14, align 8, !tbaa !5
  %6184 = load i32, ptr %27, align 4, !tbaa !9
  %6185 = sext i32 %6184 to i64
  %6186 = getelementptr inbounds %struct.complex, ptr %6183, i64 %6185
  %6187 = getelementptr inbounds %struct.complex, ptr %6186, i32 0, i32 1
  %6188 = load float, ptr %6187, align 4, !tbaa !14
  %6189 = fmul float %6182, %6188
  %6190 = fneg float %6189
  %6191 = call float @llvm.fmuladd.f32(float %6174, float %6180, float %6190)
  %6192 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %6191, ptr %6192, align 4, !tbaa !11
  %6193 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %6194 = load float, ptr %6193, align 4, !tbaa !11
  %6195 = load ptr, ptr %14, align 8, !tbaa !5
  %6196 = load i32, ptr %27, align 4, !tbaa !9
  %6197 = sext i32 %6196 to i64
  %6198 = getelementptr inbounds %struct.complex, ptr %6195, i64 %6197
  %6199 = getelementptr inbounds %struct.complex, ptr %6198, i32 0, i32 1
  %6200 = load float, ptr %6199, align 4, !tbaa !14
  %6201 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %6202 = load float, ptr %6201, align 4, !tbaa !14
  %6203 = load ptr, ptr %14, align 8, !tbaa !5
  %6204 = load i32, ptr %27, align 4, !tbaa !9
  %6205 = sext i32 %6204 to i64
  %6206 = getelementptr inbounds %struct.complex, ptr %6203, i64 %6205
  %6207 = getelementptr inbounds %struct.complex, ptr %6206, i32 0, i32 0
  %6208 = load float, ptr %6207, align 4, !tbaa !11
  %6209 = fmul float %6202, %6208
  %6210 = call float @llvm.fmuladd.f32(float %6194, float %6200, float %6209)
  %6211 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %6210, ptr %6211, align 4, !tbaa !14
  %6212 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6213 = load float, ptr %6212, align 4, !tbaa !11
  %6214 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %6215 = load float, ptr %6214, align 4, !tbaa !11
  %6216 = fadd float %6213, %6215
  %6217 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6216, ptr %6217, align 4, !tbaa !11
  %6218 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6219 = load float, ptr %6218, align 4, !tbaa !14
  %6220 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %6221 = load float, ptr %6220, align 4, !tbaa !14
  %6222 = fadd float %6219, %6221
  %6223 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6222, ptr %6223, align 4, !tbaa !14
  %6224 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6225 = load float, ptr %6224, align 4, !tbaa !11
  %6226 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %6225, ptr %6226, align 4, !tbaa !11
  %6227 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6228 = load float, ptr %6227, align 4, !tbaa !14
  %6229 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %6228, ptr %6229, align 4, !tbaa !14
  %6230 = load i32, ptr %49, align 4, !tbaa !9
  %6231 = load i32, ptr %17, align 4, !tbaa !9
  %6232 = mul nsw i32 %6230, %6231
  %6233 = add nsw i32 %6232, 1
  store i32 %6233, ptr %20, align 4, !tbaa !9
  %6234 = load i32, ptr %49, align 4, !tbaa !9
  %6235 = load i32, ptr %17, align 4, !tbaa !9
  %6236 = mul nsw i32 %6234, %6235
  %6237 = add nsw i32 %6236, 1
  store i32 %6237, ptr %21, align 4, !tbaa !9
  %6238 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6239 = load float, ptr %6238, align 4, !tbaa !11
  %6240 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %6241 = load float, ptr %6240, align 4, !tbaa !11
  %6242 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6243 = load float, ptr %6242, align 4, !tbaa !14
  %6244 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %6245 = load float, ptr %6244, align 4, !tbaa !14
  %6246 = fmul float %6243, %6245
  %6247 = fneg float %6246
  %6248 = call float @llvm.fmuladd.f32(float %6239, float %6241, float %6247)
  %6249 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6248, ptr %6249, align 4, !tbaa !11
  %6250 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6251 = load float, ptr %6250, align 4, !tbaa !11
  %6252 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %6253 = load float, ptr %6252, align 4, !tbaa !14
  %6254 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6255 = load float, ptr %6254, align 4, !tbaa !14
  %6256 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %6257 = load float, ptr %6256, align 4, !tbaa !11
  %6258 = fmul float %6255, %6257
  %6259 = call float @llvm.fmuladd.f32(float %6251, float %6253, float %6258)
  %6260 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6259, ptr %6260, align 4, !tbaa !14
  %6261 = load ptr, ptr %14, align 8, !tbaa !5
  %6262 = load i32, ptr %21, align 4, !tbaa !9
  %6263 = sext i32 %6262 to i64
  %6264 = getelementptr inbounds %struct.complex, ptr %6261, i64 %6263
  %6265 = getelementptr inbounds %struct.complex, ptr %6264, i32 0, i32 0
  %6266 = load float, ptr %6265, align 4, !tbaa !11
  %6267 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6268 = load float, ptr %6267, align 4, !tbaa !11
  %6269 = fsub float %6266, %6268
  %6270 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6269, ptr %6270, align 4, !tbaa !11
  %6271 = load ptr, ptr %14, align 8, !tbaa !5
  %6272 = load i32, ptr %21, align 4, !tbaa !9
  %6273 = sext i32 %6272 to i64
  %6274 = getelementptr inbounds %struct.complex, ptr %6271, i64 %6273
  %6275 = getelementptr inbounds %struct.complex, ptr %6274, i32 0, i32 1
  %6276 = load float, ptr %6275, align 4, !tbaa !14
  %6277 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6278 = load float, ptr %6277, align 4, !tbaa !14
  %6279 = fsub float %6276, %6278
  %6280 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6279, ptr %6280, align 4, !tbaa !14
  %6281 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6282 = load float, ptr %6281, align 4, !tbaa !11
  %6283 = load ptr, ptr %14, align 8, !tbaa !5
  %6284 = load i32, ptr %20, align 4, !tbaa !9
  %6285 = sext i32 %6284 to i64
  %6286 = getelementptr inbounds %struct.complex, ptr %6283, i64 %6285
  %6287 = getelementptr inbounds %struct.complex, ptr %6286, i32 0, i32 0
  store float %6282, ptr %6287, align 4, !tbaa !11
  %6288 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6289 = load float, ptr %6288, align 4, !tbaa !14
  %6290 = load ptr, ptr %14, align 8, !tbaa !5
  %6291 = load i32, ptr %20, align 4, !tbaa !9
  %6292 = sext i32 %6291 to i64
  %6293 = getelementptr inbounds %struct.complex, ptr %6290, i64 %6292
  %6294 = getelementptr inbounds %struct.complex, ptr %6293, i32 0, i32 1
  store float %6289, ptr %6294, align 4, !tbaa !14
  %6295 = load i32, ptr %49, align 4, !tbaa !9
  %6296 = load i32, ptr %17, align 4, !tbaa !9
  %6297 = mul nsw i32 %6295, %6296
  %6298 = add nsw i32 %6297, 2
  store i32 %6298, ptr %20, align 4, !tbaa !9
  %6299 = load i32, ptr %49, align 4, !tbaa !9
  %6300 = load i32, ptr %17, align 4, !tbaa !9
  %6301 = mul nsw i32 %6299, %6300
  %6302 = add nsw i32 %6301, 2
  store i32 %6302, ptr %21, align 4, !tbaa !9
  %6303 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6304 = load float, ptr %6303, align 4, !tbaa !11
  %6305 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %6306 = load float, ptr %6305, align 4, !tbaa !11
  %6307 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6308 = load float, ptr %6307, align 4, !tbaa !14
  %6309 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %6310 = load float, ptr %6309, align 4, !tbaa !14
  %6311 = fmul float %6308, %6310
  %6312 = fneg float %6311
  %6313 = call float @llvm.fmuladd.f32(float %6304, float %6306, float %6312)
  %6314 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6313, ptr %6314, align 4, !tbaa !11
  %6315 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6316 = load float, ptr %6315, align 4, !tbaa !11
  %6317 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %6318 = load float, ptr %6317, align 4, !tbaa !14
  %6319 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6320 = load float, ptr %6319, align 4, !tbaa !14
  %6321 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %6322 = load float, ptr %6321, align 4, !tbaa !11
  %6323 = fmul float %6320, %6322
  %6324 = call float @llvm.fmuladd.f32(float %6316, float %6318, float %6323)
  %6325 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6324, ptr %6325, align 4, !tbaa !14
  %6326 = load ptr, ptr %14, align 8, !tbaa !5
  %6327 = load i32, ptr %21, align 4, !tbaa !9
  %6328 = sext i32 %6327 to i64
  %6329 = getelementptr inbounds %struct.complex, ptr %6326, i64 %6328
  %6330 = getelementptr inbounds %struct.complex, ptr %6329, i32 0, i32 0
  %6331 = load float, ptr %6330, align 4, !tbaa !11
  %6332 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6333 = load float, ptr %6332, align 4, !tbaa !11
  %6334 = fsub float %6331, %6333
  %6335 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6334, ptr %6335, align 4, !tbaa !11
  %6336 = load ptr, ptr %14, align 8, !tbaa !5
  %6337 = load i32, ptr %21, align 4, !tbaa !9
  %6338 = sext i32 %6337 to i64
  %6339 = getelementptr inbounds %struct.complex, ptr %6336, i64 %6338
  %6340 = getelementptr inbounds %struct.complex, ptr %6339, i32 0, i32 1
  %6341 = load float, ptr %6340, align 4, !tbaa !14
  %6342 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6343 = load float, ptr %6342, align 4, !tbaa !14
  %6344 = fsub float %6341, %6343
  %6345 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6344, ptr %6345, align 4, !tbaa !14
  %6346 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6347 = load float, ptr %6346, align 4, !tbaa !11
  %6348 = load ptr, ptr %14, align 8, !tbaa !5
  %6349 = load i32, ptr %20, align 4, !tbaa !9
  %6350 = sext i32 %6349 to i64
  %6351 = getelementptr inbounds %struct.complex, ptr %6348, i64 %6350
  %6352 = getelementptr inbounds %struct.complex, ptr %6351, i32 0, i32 0
  store float %6347, ptr %6352, align 4, !tbaa !11
  %6353 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6354 = load float, ptr %6353, align 4, !tbaa !14
  %6355 = load ptr, ptr %14, align 8, !tbaa !5
  %6356 = load i32, ptr %20, align 4, !tbaa !9
  %6357 = sext i32 %6356 to i64
  %6358 = getelementptr inbounds %struct.complex, ptr %6355, i64 %6357
  %6359 = getelementptr inbounds %struct.complex, ptr %6358, i32 0, i32 1
  store float %6354, ptr %6359, align 4, !tbaa !14
  %6360 = load i32, ptr %49, align 4, !tbaa !9
  %6361 = load i32, ptr %17, align 4, !tbaa !9
  %6362 = mul nsw i32 %6360, %6361
  %6363 = add nsw i32 %6362, 3
  store i32 %6363, ptr %20, align 4, !tbaa !9
  %6364 = load i32, ptr %49, align 4, !tbaa !9
  %6365 = load i32, ptr %17, align 4, !tbaa !9
  %6366 = mul nsw i32 %6364, %6365
  %6367 = add nsw i32 %6366, 3
  store i32 %6367, ptr %21, align 4, !tbaa !9
  %6368 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6369 = load float, ptr %6368, align 4, !tbaa !11
  %6370 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %6371 = load float, ptr %6370, align 4, !tbaa !11
  %6372 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6373 = load float, ptr %6372, align 4, !tbaa !14
  %6374 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %6375 = load float, ptr %6374, align 4, !tbaa !14
  %6376 = fmul float %6373, %6375
  %6377 = fneg float %6376
  %6378 = call float @llvm.fmuladd.f32(float %6369, float %6371, float %6377)
  %6379 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6378, ptr %6379, align 4, !tbaa !11
  %6380 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6381 = load float, ptr %6380, align 4, !tbaa !11
  %6382 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %6383 = load float, ptr %6382, align 4, !tbaa !14
  %6384 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6385 = load float, ptr %6384, align 4, !tbaa !14
  %6386 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %6387 = load float, ptr %6386, align 4, !tbaa !11
  %6388 = fmul float %6385, %6387
  %6389 = call float @llvm.fmuladd.f32(float %6381, float %6383, float %6388)
  %6390 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6389, ptr %6390, align 4, !tbaa !14
  %6391 = load ptr, ptr %14, align 8, !tbaa !5
  %6392 = load i32, ptr %21, align 4, !tbaa !9
  %6393 = sext i32 %6392 to i64
  %6394 = getelementptr inbounds %struct.complex, ptr %6391, i64 %6393
  %6395 = getelementptr inbounds %struct.complex, ptr %6394, i32 0, i32 0
  %6396 = load float, ptr %6395, align 4, !tbaa !11
  %6397 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6398 = load float, ptr %6397, align 4, !tbaa !11
  %6399 = fsub float %6396, %6398
  %6400 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6399, ptr %6400, align 4, !tbaa !11
  %6401 = load ptr, ptr %14, align 8, !tbaa !5
  %6402 = load i32, ptr %21, align 4, !tbaa !9
  %6403 = sext i32 %6402 to i64
  %6404 = getelementptr inbounds %struct.complex, ptr %6401, i64 %6403
  %6405 = getelementptr inbounds %struct.complex, ptr %6404, i32 0, i32 1
  %6406 = load float, ptr %6405, align 4, !tbaa !14
  %6407 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6408 = load float, ptr %6407, align 4, !tbaa !14
  %6409 = fsub float %6406, %6408
  %6410 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6409, ptr %6410, align 4, !tbaa !14
  %6411 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6412 = load float, ptr %6411, align 4, !tbaa !11
  %6413 = load ptr, ptr %14, align 8, !tbaa !5
  %6414 = load i32, ptr %20, align 4, !tbaa !9
  %6415 = sext i32 %6414 to i64
  %6416 = getelementptr inbounds %struct.complex, ptr %6413, i64 %6415
  %6417 = getelementptr inbounds %struct.complex, ptr %6416, i32 0, i32 0
  store float %6412, ptr %6417, align 4, !tbaa !11
  %6418 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6419 = load float, ptr %6418, align 4, !tbaa !14
  %6420 = load ptr, ptr %14, align 8, !tbaa !5
  %6421 = load i32, ptr %20, align 4, !tbaa !9
  %6422 = sext i32 %6421 to i64
  %6423 = getelementptr inbounds %struct.complex, ptr %6420, i64 %6422
  %6424 = getelementptr inbounds %struct.complex, ptr %6423, i32 0, i32 1
  store float %6419, ptr %6424, align 4, !tbaa !14
  %6425 = load i32, ptr %49, align 4, !tbaa !9
  %6426 = load i32, ptr %17, align 4, !tbaa !9
  %6427 = mul nsw i32 %6425, %6426
  %6428 = add nsw i32 %6427, 4
  store i32 %6428, ptr %20, align 4, !tbaa !9
  %6429 = load i32, ptr %49, align 4, !tbaa !9
  %6430 = load i32, ptr %17, align 4, !tbaa !9
  %6431 = mul nsw i32 %6429, %6430
  %6432 = add nsw i32 %6431, 4
  store i32 %6432, ptr %21, align 4, !tbaa !9
  %6433 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6434 = load float, ptr %6433, align 4, !tbaa !11
  %6435 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %6436 = load float, ptr %6435, align 4, !tbaa !11
  %6437 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6438 = load float, ptr %6437, align 4, !tbaa !14
  %6439 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %6440 = load float, ptr %6439, align 4, !tbaa !14
  %6441 = fmul float %6438, %6440
  %6442 = fneg float %6441
  %6443 = call float @llvm.fmuladd.f32(float %6434, float %6436, float %6442)
  %6444 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6443, ptr %6444, align 4, !tbaa !11
  %6445 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6446 = load float, ptr %6445, align 4, !tbaa !11
  %6447 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %6448 = load float, ptr %6447, align 4, !tbaa !14
  %6449 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6450 = load float, ptr %6449, align 4, !tbaa !14
  %6451 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %6452 = load float, ptr %6451, align 4, !tbaa !11
  %6453 = fmul float %6450, %6452
  %6454 = call float @llvm.fmuladd.f32(float %6446, float %6448, float %6453)
  %6455 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6454, ptr %6455, align 4, !tbaa !14
  %6456 = load ptr, ptr %14, align 8, !tbaa !5
  %6457 = load i32, ptr %21, align 4, !tbaa !9
  %6458 = sext i32 %6457 to i64
  %6459 = getelementptr inbounds %struct.complex, ptr %6456, i64 %6458
  %6460 = getelementptr inbounds %struct.complex, ptr %6459, i32 0, i32 0
  %6461 = load float, ptr %6460, align 4, !tbaa !11
  %6462 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6463 = load float, ptr %6462, align 4, !tbaa !11
  %6464 = fsub float %6461, %6463
  %6465 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6464, ptr %6465, align 4, !tbaa !11
  %6466 = load ptr, ptr %14, align 8, !tbaa !5
  %6467 = load i32, ptr %21, align 4, !tbaa !9
  %6468 = sext i32 %6467 to i64
  %6469 = getelementptr inbounds %struct.complex, ptr %6466, i64 %6468
  %6470 = getelementptr inbounds %struct.complex, ptr %6469, i32 0, i32 1
  %6471 = load float, ptr %6470, align 4, !tbaa !14
  %6472 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6473 = load float, ptr %6472, align 4, !tbaa !14
  %6474 = fsub float %6471, %6473
  %6475 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6474, ptr %6475, align 4, !tbaa !14
  %6476 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6477 = load float, ptr %6476, align 4, !tbaa !11
  %6478 = load ptr, ptr %14, align 8, !tbaa !5
  %6479 = load i32, ptr %20, align 4, !tbaa !9
  %6480 = sext i32 %6479 to i64
  %6481 = getelementptr inbounds %struct.complex, ptr %6478, i64 %6480
  %6482 = getelementptr inbounds %struct.complex, ptr %6481, i32 0, i32 0
  store float %6477, ptr %6482, align 4, !tbaa !11
  %6483 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6484 = load float, ptr %6483, align 4, !tbaa !14
  %6485 = load ptr, ptr %14, align 8, !tbaa !5
  %6486 = load i32, ptr %20, align 4, !tbaa !9
  %6487 = sext i32 %6486 to i64
  %6488 = getelementptr inbounds %struct.complex, ptr %6485, i64 %6487
  %6489 = getelementptr inbounds %struct.complex, ptr %6488, i32 0, i32 1
  store float %6484, ptr %6489, align 4, !tbaa !14
  %6490 = load i32, ptr %49, align 4, !tbaa !9
  %6491 = load i32, ptr %17, align 4, !tbaa !9
  %6492 = mul nsw i32 %6490, %6491
  %6493 = add nsw i32 %6492, 5
  store i32 %6493, ptr %20, align 4, !tbaa !9
  %6494 = load i32, ptr %49, align 4, !tbaa !9
  %6495 = load i32, ptr %17, align 4, !tbaa !9
  %6496 = mul nsw i32 %6494, %6495
  %6497 = add nsw i32 %6496, 5
  store i32 %6497, ptr %21, align 4, !tbaa !9
  %6498 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6499 = load float, ptr %6498, align 4, !tbaa !11
  %6500 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %6501 = load float, ptr %6500, align 4, !tbaa !11
  %6502 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6503 = load float, ptr %6502, align 4, !tbaa !14
  %6504 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %6505 = load float, ptr %6504, align 4, !tbaa !14
  %6506 = fmul float %6503, %6505
  %6507 = fneg float %6506
  %6508 = call float @llvm.fmuladd.f32(float %6499, float %6501, float %6507)
  %6509 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6508, ptr %6509, align 4, !tbaa !11
  %6510 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6511 = load float, ptr %6510, align 4, !tbaa !11
  %6512 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %6513 = load float, ptr %6512, align 4, !tbaa !14
  %6514 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6515 = load float, ptr %6514, align 4, !tbaa !14
  %6516 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %6517 = load float, ptr %6516, align 4, !tbaa !11
  %6518 = fmul float %6515, %6517
  %6519 = call float @llvm.fmuladd.f32(float %6511, float %6513, float %6518)
  %6520 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6519, ptr %6520, align 4, !tbaa !14
  %6521 = load ptr, ptr %14, align 8, !tbaa !5
  %6522 = load i32, ptr %21, align 4, !tbaa !9
  %6523 = sext i32 %6522 to i64
  %6524 = getelementptr inbounds %struct.complex, ptr %6521, i64 %6523
  %6525 = getelementptr inbounds %struct.complex, ptr %6524, i32 0, i32 0
  %6526 = load float, ptr %6525, align 4, !tbaa !11
  %6527 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6528 = load float, ptr %6527, align 4, !tbaa !11
  %6529 = fsub float %6526, %6528
  %6530 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6529, ptr %6530, align 4, !tbaa !11
  %6531 = load ptr, ptr %14, align 8, !tbaa !5
  %6532 = load i32, ptr %21, align 4, !tbaa !9
  %6533 = sext i32 %6532 to i64
  %6534 = getelementptr inbounds %struct.complex, ptr %6531, i64 %6533
  %6535 = getelementptr inbounds %struct.complex, ptr %6534, i32 0, i32 1
  %6536 = load float, ptr %6535, align 4, !tbaa !14
  %6537 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6538 = load float, ptr %6537, align 4, !tbaa !14
  %6539 = fsub float %6536, %6538
  %6540 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6539, ptr %6540, align 4, !tbaa !14
  %6541 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6542 = load float, ptr %6541, align 4, !tbaa !11
  %6543 = load ptr, ptr %14, align 8, !tbaa !5
  %6544 = load i32, ptr %20, align 4, !tbaa !9
  %6545 = sext i32 %6544 to i64
  %6546 = getelementptr inbounds %struct.complex, ptr %6543, i64 %6545
  %6547 = getelementptr inbounds %struct.complex, ptr %6546, i32 0, i32 0
  store float %6542, ptr %6547, align 4, !tbaa !11
  %6548 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6549 = load float, ptr %6548, align 4, !tbaa !14
  %6550 = load ptr, ptr %14, align 8, !tbaa !5
  %6551 = load i32, ptr %20, align 4, !tbaa !9
  %6552 = sext i32 %6551 to i64
  %6553 = getelementptr inbounds %struct.complex, ptr %6550, i64 %6552
  %6554 = getelementptr inbounds %struct.complex, ptr %6553, i32 0, i32 1
  store float %6549, ptr %6554, align 4, !tbaa !14
  %6555 = load i32, ptr %49, align 4, !tbaa !9
  %6556 = load i32, ptr %17, align 4, !tbaa !9
  %6557 = mul nsw i32 %6555, %6556
  %6558 = add nsw i32 %6557, 6
  store i32 %6558, ptr %20, align 4, !tbaa !9
  %6559 = load i32, ptr %49, align 4, !tbaa !9
  %6560 = load i32, ptr %17, align 4, !tbaa !9
  %6561 = mul nsw i32 %6559, %6560
  %6562 = add nsw i32 %6561, 6
  store i32 %6562, ptr %21, align 4, !tbaa !9
  %6563 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6564 = load float, ptr %6563, align 4, !tbaa !11
  %6565 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %6566 = load float, ptr %6565, align 4, !tbaa !11
  %6567 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6568 = load float, ptr %6567, align 4, !tbaa !14
  %6569 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %6570 = load float, ptr %6569, align 4, !tbaa !14
  %6571 = fmul float %6568, %6570
  %6572 = fneg float %6571
  %6573 = call float @llvm.fmuladd.f32(float %6564, float %6566, float %6572)
  %6574 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6573, ptr %6574, align 4, !tbaa !11
  %6575 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6576 = load float, ptr %6575, align 4, !tbaa !11
  %6577 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %6578 = load float, ptr %6577, align 4, !tbaa !14
  %6579 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6580 = load float, ptr %6579, align 4, !tbaa !14
  %6581 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %6582 = load float, ptr %6581, align 4, !tbaa !11
  %6583 = fmul float %6580, %6582
  %6584 = call float @llvm.fmuladd.f32(float %6576, float %6578, float %6583)
  %6585 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6584, ptr %6585, align 4, !tbaa !14
  %6586 = load ptr, ptr %14, align 8, !tbaa !5
  %6587 = load i32, ptr %21, align 4, !tbaa !9
  %6588 = sext i32 %6587 to i64
  %6589 = getelementptr inbounds %struct.complex, ptr %6586, i64 %6588
  %6590 = getelementptr inbounds %struct.complex, ptr %6589, i32 0, i32 0
  %6591 = load float, ptr %6590, align 4, !tbaa !11
  %6592 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6593 = load float, ptr %6592, align 4, !tbaa !11
  %6594 = fsub float %6591, %6593
  %6595 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6594, ptr %6595, align 4, !tbaa !11
  %6596 = load ptr, ptr %14, align 8, !tbaa !5
  %6597 = load i32, ptr %21, align 4, !tbaa !9
  %6598 = sext i32 %6597 to i64
  %6599 = getelementptr inbounds %struct.complex, ptr %6596, i64 %6598
  %6600 = getelementptr inbounds %struct.complex, ptr %6599, i32 0, i32 1
  %6601 = load float, ptr %6600, align 4, !tbaa !14
  %6602 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6603 = load float, ptr %6602, align 4, !tbaa !14
  %6604 = fsub float %6601, %6603
  %6605 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6604, ptr %6605, align 4, !tbaa !14
  %6606 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6607 = load float, ptr %6606, align 4, !tbaa !11
  %6608 = load ptr, ptr %14, align 8, !tbaa !5
  %6609 = load i32, ptr %20, align 4, !tbaa !9
  %6610 = sext i32 %6609 to i64
  %6611 = getelementptr inbounds %struct.complex, ptr %6608, i64 %6610
  %6612 = getelementptr inbounds %struct.complex, ptr %6611, i32 0, i32 0
  store float %6607, ptr %6612, align 4, !tbaa !11
  %6613 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6614 = load float, ptr %6613, align 4, !tbaa !14
  %6615 = load ptr, ptr %14, align 8, !tbaa !5
  %6616 = load i32, ptr %20, align 4, !tbaa !9
  %6617 = sext i32 %6616 to i64
  %6618 = getelementptr inbounds %struct.complex, ptr %6615, i64 %6617
  %6619 = getelementptr inbounds %struct.complex, ptr %6618, i32 0, i32 1
  store float %6614, ptr %6619, align 4, !tbaa !14
  %6620 = load i32, ptr %49, align 4, !tbaa !9
  %6621 = load i32, ptr %17, align 4, !tbaa !9
  %6622 = mul nsw i32 %6620, %6621
  %6623 = add nsw i32 %6622, 7
  store i32 %6623, ptr %20, align 4, !tbaa !9
  %6624 = load i32, ptr %49, align 4, !tbaa !9
  %6625 = load i32, ptr %17, align 4, !tbaa !9
  %6626 = mul nsw i32 %6624, %6625
  %6627 = add nsw i32 %6626, 7
  store i32 %6627, ptr %21, align 4, !tbaa !9
  %6628 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6629 = load float, ptr %6628, align 4, !tbaa !11
  %6630 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %6631 = load float, ptr %6630, align 4, !tbaa !11
  %6632 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6633 = load float, ptr %6632, align 4, !tbaa !14
  %6634 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %6635 = load float, ptr %6634, align 4, !tbaa !14
  %6636 = fmul float %6633, %6635
  %6637 = fneg float %6636
  %6638 = call float @llvm.fmuladd.f32(float %6629, float %6631, float %6637)
  %6639 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6638, ptr %6639, align 4, !tbaa !11
  %6640 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6641 = load float, ptr %6640, align 4, !tbaa !11
  %6642 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %6643 = load float, ptr %6642, align 4, !tbaa !14
  %6644 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6645 = load float, ptr %6644, align 4, !tbaa !14
  %6646 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %6647 = load float, ptr %6646, align 4, !tbaa !11
  %6648 = fmul float %6645, %6647
  %6649 = call float @llvm.fmuladd.f32(float %6641, float %6643, float %6648)
  %6650 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6649, ptr %6650, align 4, !tbaa !14
  %6651 = load ptr, ptr %14, align 8, !tbaa !5
  %6652 = load i32, ptr %21, align 4, !tbaa !9
  %6653 = sext i32 %6652 to i64
  %6654 = getelementptr inbounds %struct.complex, ptr %6651, i64 %6653
  %6655 = getelementptr inbounds %struct.complex, ptr %6654, i32 0, i32 0
  %6656 = load float, ptr %6655, align 4, !tbaa !11
  %6657 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6658 = load float, ptr %6657, align 4, !tbaa !11
  %6659 = fsub float %6656, %6658
  %6660 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6659, ptr %6660, align 4, !tbaa !11
  %6661 = load ptr, ptr %14, align 8, !tbaa !5
  %6662 = load i32, ptr %21, align 4, !tbaa !9
  %6663 = sext i32 %6662 to i64
  %6664 = getelementptr inbounds %struct.complex, ptr %6661, i64 %6663
  %6665 = getelementptr inbounds %struct.complex, ptr %6664, i32 0, i32 1
  %6666 = load float, ptr %6665, align 4, !tbaa !14
  %6667 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6668 = load float, ptr %6667, align 4, !tbaa !14
  %6669 = fsub float %6666, %6668
  %6670 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6669, ptr %6670, align 4, !tbaa !14
  %6671 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6672 = load float, ptr %6671, align 4, !tbaa !11
  %6673 = load ptr, ptr %14, align 8, !tbaa !5
  %6674 = load i32, ptr %20, align 4, !tbaa !9
  %6675 = sext i32 %6674 to i64
  %6676 = getelementptr inbounds %struct.complex, ptr %6673, i64 %6675
  %6677 = getelementptr inbounds %struct.complex, ptr %6676, i32 0, i32 0
  store float %6672, ptr %6677, align 4, !tbaa !11
  %6678 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6679 = load float, ptr %6678, align 4, !tbaa !14
  %6680 = load ptr, ptr %14, align 8, !tbaa !5
  %6681 = load i32, ptr %20, align 4, !tbaa !9
  %6682 = sext i32 %6681 to i64
  %6683 = getelementptr inbounds %struct.complex, ptr %6680, i64 %6682
  %6684 = getelementptr inbounds %struct.complex, ptr %6683, i32 0, i32 1
  store float %6679, ptr %6684, align 4, !tbaa !14
  %6685 = load i32, ptr %49, align 4, !tbaa !9
  %6686 = load i32, ptr %17, align 4, !tbaa !9
  %6687 = mul nsw i32 %6685, %6686
  %6688 = add nsw i32 %6687, 8
  store i32 %6688, ptr %20, align 4, !tbaa !9
  %6689 = load i32, ptr %49, align 4, !tbaa !9
  %6690 = load i32, ptr %17, align 4, !tbaa !9
  %6691 = mul nsw i32 %6689, %6690
  %6692 = add nsw i32 %6691, 8
  store i32 %6692, ptr %21, align 4, !tbaa !9
  %6693 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6694 = load float, ptr %6693, align 4, !tbaa !11
  %6695 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %6696 = load float, ptr %6695, align 4, !tbaa !11
  %6697 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6698 = load float, ptr %6697, align 4, !tbaa !14
  %6699 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %6700 = load float, ptr %6699, align 4, !tbaa !14
  %6701 = fmul float %6698, %6700
  %6702 = fneg float %6701
  %6703 = call float @llvm.fmuladd.f32(float %6694, float %6696, float %6702)
  %6704 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6703, ptr %6704, align 4, !tbaa !11
  %6705 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %6706 = load float, ptr %6705, align 4, !tbaa !11
  %6707 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %6708 = load float, ptr %6707, align 4, !tbaa !14
  %6709 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %6710 = load float, ptr %6709, align 4, !tbaa !14
  %6711 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %6712 = load float, ptr %6711, align 4, !tbaa !11
  %6713 = fmul float %6710, %6712
  %6714 = call float @llvm.fmuladd.f32(float %6706, float %6708, float %6713)
  %6715 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6714, ptr %6715, align 4, !tbaa !14
  %6716 = load ptr, ptr %14, align 8, !tbaa !5
  %6717 = load i32, ptr %21, align 4, !tbaa !9
  %6718 = sext i32 %6717 to i64
  %6719 = getelementptr inbounds %struct.complex, ptr %6716, i64 %6718
  %6720 = getelementptr inbounds %struct.complex, ptr %6719, i32 0, i32 0
  %6721 = load float, ptr %6720, align 4, !tbaa !11
  %6722 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6723 = load float, ptr %6722, align 4, !tbaa !11
  %6724 = fsub float %6721, %6723
  %6725 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6724, ptr %6725, align 4, !tbaa !11
  %6726 = load ptr, ptr %14, align 8, !tbaa !5
  %6727 = load i32, ptr %21, align 4, !tbaa !9
  %6728 = sext i32 %6727 to i64
  %6729 = getelementptr inbounds %struct.complex, ptr %6726, i64 %6728
  %6730 = getelementptr inbounds %struct.complex, ptr %6729, i32 0, i32 1
  %6731 = load float, ptr %6730, align 4, !tbaa !14
  %6732 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6733 = load float, ptr %6732, align 4, !tbaa !14
  %6734 = fsub float %6731, %6733
  %6735 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6734, ptr %6735, align 4, !tbaa !14
  %6736 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6737 = load float, ptr %6736, align 4, !tbaa !11
  %6738 = load ptr, ptr %14, align 8, !tbaa !5
  %6739 = load i32, ptr %20, align 4, !tbaa !9
  %6740 = sext i32 %6739 to i64
  %6741 = getelementptr inbounds %struct.complex, ptr %6738, i64 %6740
  %6742 = getelementptr inbounds %struct.complex, ptr %6741, i32 0, i32 0
  store float %6737, ptr %6742, align 4, !tbaa !11
  %6743 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6744 = load float, ptr %6743, align 4, !tbaa !14
  %6745 = load ptr, ptr %14, align 8, !tbaa !5
  %6746 = load i32, ptr %20, align 4, !tbaa !9
  %6747 = sext i32 %6746 to i64
  %6748 = getelementptr inbounds %struct.complex, ptr %6745, i64 %6747
  %6749 = getelementptr inbounds %struct.complex, ptr %6748, i32 0, i32 1
  store float %6744, ptr %6749, align 4, !tbaa !14
  br label %6750

6750:                                             ; preds = %5795
  %6751 = load i32, ptr %49, align 4, !tbaa !9
  %6752 = add nsw i32 %6751, 1
  store i32 %6752, ptr %49, align 4, !tbaa !9
  br label %5791, !llvm.loop !23

6753:                                             ; preds = %5791
  br label %19663

6754:                                             ; preds = %275
  %6755 = load ptr, ptr %12, align 8, !tbaa !5
  %6756 = getelementptr inbounds %struct.complex, ptr %6755, i64 1
  %6757 = call <2 x float> @Cf(ptr noundef %6756)
  store <2 x float> %6757, ptr %143, align 4
  %6758 = getelementptr inbounds { float, float }, ptr %143, i32 0, i32 0
  %6759 = load float, ptr %6758, align 4
  %6760 = getelementptr inbounds { float, float }, ptr %143, i32 0, i32 1
  %6761 = load float, ptr %6760, align 4
  %6762 = fneg float %6761
  %6763 = call ptr @_pCf(ptr noundef %30)
  %6764 = getelementptr inbounds { float, float }, ptr %6763, i32 0, i32 0
  %6765 = getelementptr inbounds { float, float }, ptr %6763, i32 0, i32 1
  store float %6759, ptr %6764, align 4
  store float %6762, ptr %6765, align 4
  %6766 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6767 = load float, ptr %6766, align 4, !tbaa !11
  %6768 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %6767, ptr %6768, align 4, !tbaa !11
  %6769 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6770 = load float, ptr %6769, align 4, !tbaa !14
  %6771 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %6770, ptr %6771, align 4, !tbaa !14
  %6772 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %6772, ptr %144, align 4
  %6773 = getelementptr inbounds { float, float }, ptr %144, i32 0, i32 0
  %6774 = load float, ptr %6773, align 4
  %6775 = getelementptr inbounds { float, float }, ptr %144, i32 0, i32 1
  %6776 = load float, ptr %6775, align 4
  %6777 = fneg float %6776
  %6778 = call ptr @_pCf(ptr noundef %31)
  %6779 = getelementptr inbounds { float, float }, ptr %6778, i32 0, i32 0
  %6780 = getelementptr inbounds { float, float }, ptr %6778, i32 0, i32 1
  store float %6774, ptr %6779, align 4
  store float %6777, ptr %6780, align 4
  %6781 = load ptr, ptr %13, align 8, !tbaa !5
  %6782 = getelementptr inbounds %struct.complex, ptr %6781, i32 0, i32 0
  %6783 = load float, ptr %6782, align 4, !tbaa !11
  %6784 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6785 = load float, ptr %6784, align 4, !tbaa !11
  %6786 = load ptr, ptr %13, align 8, !tbaa !5
  %6787 = getelementptr inbounds %struct.complex, ptr %6786, i32 0, i32 1
  %6788 = load float, ptr %6787, align 4, !tbaa !14
  %6789 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6790 = load float, ptr %6789, align 4, !tbaa !14
  %6791 = fmul float %6788, %6790
  %6792 = fneg float %6791
  %6793 = call float @llvm.fmuladd.f32(float %6783, float %6785, float %6792)
  %6794 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6793, ptr %6794, align 4, !tbaa !11
  %6795 = load ptr, ptr %13, align 8, !tbaa !5
  %6796 = getelementptr inbounds %struct.complex, ptr %6795, i32 0, i32 0
  %6797 = load float, ptr %6796, align 4, !tbaa !11
  %6798 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6799 = load float, ptr %6798, align 4, !tbaa !14
  %6800 = load ptr, ptr %13, align 8, !tbaa !5
  %6801 = getelementptr inbounds %struct.complex, ptr %6800, i32 0, i32 1
  %6802 = load float, ptr %6801, align 4, !tbaa !14
  %6803 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6804 = load float, ptr %6803, align 4, !tbaa !11
  %6805 = fmul float %6802, %6804
  %6806 = call float @llvm.fmuladd.f32(float %6797, float %6799, float %6805)
  %6807 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6806, ptr %6807, align 4, !tbaa !14
  %6808 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6809 = load float, ptr %6808, align 4, !tbaa !11
  %6810 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %6809, ptr %6810, align 4, !tbaa !11
  %6811 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6812 = load float, ptr %6811, align 4, !tbaa !14
  %6813 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %6812, ptr %6813, align 4, !tbaa !14
  %6814 = load ptr, ptr %12, align 8, !tbaa !5
  %6815 = getelementptr inbounds %struct.complex, ptr %6814, i64 2
  %6816 = call <2 x float> @Cf(ptr noundef %6815)
  store <2 x float> %6816, ptr %145, align 4
  %6817 = getelementptr inbounds { float, float }, ptr %145, i32 0, i32 0
  %6818 = load float, ptr %6817, align 4
  %6819 = getelementptr inbounds { float, float }, ptr %145, i32 0, i32 1
  %6820 = load float, ptr %6819, align 4
  %6821 = fneg float %6820
  %6822 = call ptr @_pCf(ptr noundef %30)
  %6823 = getelementptr inbounds { float, float }, ptr %6822, i32 0, i32 0
  %6824 = getelementptr inbounds { float, float }, ptr %6822, i32 0, i32 1
  store float %6818, ptr %6823, align 4
  store float %6821, ptr %6824, align 4
  %6825 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6826 = load float, ptr %6825, align 4, !tbaa !11
  %6827 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %6826, ptr %6827, align 4, !tbaa !11
  %6828 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6829 = load float, ptr %6828, align 4, !tbaa !14
  %6830 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %6829, ptr %6830, align 4, !tbaa !14
  %6831 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %6831, ptr %146, align 4
  %6832 = getelementptr inbounds { float, float }, ptr %146, i32 0, i32 0
  %6833 = load float, ptr %6832, align 4
  %6834 = getelementptr inbounds { float, float }, ptr %146, i32 0, i32 1
  %6835 = load float, ptr %6834, align 4
  %6836 = fneg float %6835
  %6837 = call ptr @_pCf(ptr noundef %31)
  %6838 = getelementptr inbounds { float, float }, ptr %6837, i32 0, i32 0
  %6839 = getelementptr inbounds { float, float }, ptr %6837, i32 0, i32 1
  store float %6833, ptr %6838, align 4
  store float %6836, ptr %6839, align 4
  %6840 = load ptr, ptr %13, align 8, !tbaa !5
  %6841 = getelementptr inbounds %struct.complex, ptr %6840, i32 0, i32 0
  %6842 = load float, ptr %6841, align 4, !tbaa !11
  %6843 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6844 = load float, ptr %6843, align 4, !tbaa !11
  %6845 = load ptr, ptr %13, align 8, !tbaa !5
  %6846 = getelementptr inbounds %struct.complex, ptr %6845, i32 0, i32 1
  %6847 = load float, ptr %6846, align 4, !tbaa !14
  %6848 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6849 = load float, ptr %6848, align 4, !tbaa !14
  %6850 = fmul float %6847, %6849
  %6851 = fneg float %6850
  %6852 = call float @llvm.fmuladd.f32(float %6842, float %6844, float %6851)
  %6853 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6852, ptr %6853, align 4, !tbaa !11
  %6854 = load ptr, ptr %13, align 8, !tbaa !5
  %6855 = getelementptr inbounds %struct.complex, ptr %6854, i32 0, i32 0
  %6856 = load float, ptr %6855, align 4, !tbaa !11
  %6857 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6858 = load float, ptr %6857, align 4, !tbaa !14
  %6859 = load ptr, ptr %13, align 8, !tbaa !5
  %6860 = getelementptr inbounds %struct.complex, ptr %6859, i32 0, i32 1
  %6861 = load float, ptr %6860, align 4, !tbaa !14
  %6862 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6863 = load float, ptr %6862, align 4, !tbaa !11
  %6864 = fmul float %6861, %6863
  %6865 = call float @llvm.fmuladd.f32(float %6856, float %6858, float %6864)
  %6866 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6865, ptr %6866, align 4, !tbaa !14
  %6867 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6868 = load float, ptr %6867, align 4, !tbaa !11
  %6869 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %6868, ptr %6869, align 4, !tbaa !11
  %6870 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6871 = load float, ptr %6870, align 4, !tbaa !14
  %6872 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %6871, ptr %6872, align 4, !tbaa !14
  %6873 = load ptr, ptr %12, align 8, !tbaa !5
  %6874 = getelementptr inbounds %struct.complex, ptr %6873, i64 3
  %6875 = call <2 x float> @Cf(ptr noundef %6874)
  store <2 x float> %6875, ptr %147, align 4
  %6876 = getelementptr inbounds { float, float }, ptr %147, i32 0, i32 0
  %6877 = load float, ptr %6876, align 4
  %6878 = getelementptr inbounds { float, float }, ptr %147, i32 0, i32 1
  %6879 = load float, ptr %6878, align 4
  %6880 = fneg float %6879
  %6881 = call ptr @_pCf(ptr noundef %30)
  %6882 = getelementptr inbounds { float, float }, ptr %6881, i32 0, i32 0
  %6883 = getelementptr inbounds { float, float }, ptr %6881, i32 0, i32 1
  store float %6877, ptr %6882, align 4
  store float %6880, ptr %6883, align 4
  %6884 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6885 = load float, ptr %6884, align 4, !tbaa !11
  %6886 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %6885, ptr %6886, align 4, !tbaa !11
  %6887 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6888 = load float, ptr %6887, align 4, !tbaa !14
  %6889 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %6888, ptr %6889, align 4, !tbaa !14
  %6890 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %6890, ptr %148, align 4
  %6891 = getelementptr inbounds { float, float }, ptr %148, i32 0, i32 0
  %6892 = load float, ptr %6891, align 4
  %6893 = getelementptr inbounds { float, float }, ptr %148, i32 0, i32 1
  %6894 = load float, ptr %6893, align 4
  %6895 = fneg float %6894
  %6896 = call ptr @_pCf(ptr noundef %31)
  %6897 = getelementptr inbounds { float, float }, ptr %6896, i32 0, i32 0
  %6898 = getelementptr inbounds { float, float }, ptr %6896, i32 0, i32 1
  store float %6892, ptr %6897, align 4
  store float %6895, ptr %6898, align 4
  %6899 = load ptr, ptr %13, align 8, !tbaa !5
  %6900 = getelementptr inbounds %struct.complex, ptr %6899, i32 0, i32 0
  %6901 = load float, ptr %6900, align 4, !tbaa !11
  %6902 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6903 = load float, ptr %6902, align 4, !tbaa !11
  %6904 = load ptr, ptr %13, align 8, !tbaa !5
  %6905 = getelementptr inbounds %struct.complex, ptr %6904, i32 0, i32 1
  %6906 = load float, ptr %6905, align 4, !tbaa !14
  %6907 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6908 = load float, ptr %6907, align 4, !tbaa !14
  %6909 = fmul float %6906, %6908
  %6910 = fneg float %6909
  %6911 = call float @llvm.fmuladd.f32(float %6901, float %6903, float %6910)
  %6912 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6911, ptr %6912, align 4, !tbaa !11
  %6913 = load ptr, ptr %13, align 8, !tbaa !5
  %6914 = getelementptr inbounds %struct.complex, ptr %6913, i32 0, i32 0
  %6915 = load float, ptr %6914, align 4, !tbaa !11
  %6916 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6917 = load float, ptr %6916, align 4, !tbaa !14
  %6918 = load ptr, ptr %13, align 8, !tbaa !5
  %6919 = getelementptr inbounds %struct.complex, ptr %6918, i32 0, i32 1
  %6920 = load float, ptr %6919, align 4, !tbaa !14
  %6921 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6922 = load float, ptr %6921, align 4, !tbaa !11
  %6923 = fmul float %6920, %6922
  %6924 = call float @llvm.fmuladd.f32(float %6915, float %6917, float %6923)
  %6925 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6924, ptr %6925, align 4, !tbaa !14
  %6926 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6927 = load float, ptr %6926, align 4, !tbaa !11
  %6928 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %6927, ptr %6928, align 4, !tbaa !11
  %6929 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6930 = load float, ptr %6929, align 4, !tbaa !14
  %6931 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %6930, ptr %6931, align 4, !tbaa !14
  %6932 = load ptr, ptr %12, align 8, !tbaa !5
  %6933 = getelementptr inbounds %struct.complex, ptr %6932, i64 4
  %6934 = call <2 x float> @Cf(ptr noundef %6933)
  store <2 x float> %6934, ptr %149, align 4
  %6935 = getelementptr inbounds { float, float }, ptr %149, i32 0, i32 0
  %6936 = load float, ptr %6935, align 4
  %6937 = getelementptr inbounds { float, float }, ptr %149, i32 0, i32 1
  %6938 = load float, ptr %6937, align 4
  %6939 = fneg float %6938
  %6940 = call ptr @_pCf(ptr noundef %30)
  %6941 = getelementptr inbounds { float, float }, ptr %6940, i32 0, i32 0
  %6942 = getelementptr inbounds { float, float }, ptr %6940, i32 0, i32 1
  store float %6936, ptr %6941, align 4
  store float %6939, ptr %6942, align 4
  %6943 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6944 = load float, ptr %6943, align 4, !tbaa !11
  %6945 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %6944, ptr %6945, align 4, !tbaa !11
  %6946 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6947 = load float, ptr %6946, align 4, !tbaa !14
  %6948 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %6947, ptr %6948, align 4, !tbaa !14
  %6949 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %6949, ptr %150, align 4
  %6950 = getelementptr inbounds { float, float }, ptr %150, i32 0, i32 0
  %6951 = load float, ptr %6950, align 4
  %6952 = getelementptr inbounds { float, float }, ptr %150, i32 0, i32 1
  %6953 = load float, ptr %6952, align 4
  %6954 = fneg float %6953
  %6955 = call ptr @_pCf(ptr noundef %31)
  %6956 = getelementptr inbounds { float, float }, ptr %6955, i32 0, i32 0
  %6957 = getelementptr inbounds { float, float }, ptr %6955, i32 0, i32 1
  store float %6951, ptr %6956, align 4
  store float %6954, ptr %6957, align 4
  %6958 = load ptr, ptr %13, align 8, !tbaa !5
  %6959 = getelementptr inbounds %struct.complex, ptr %6958, i32 0, i32 0
  %6960 = load float, ptr %6959, align 4, !tbaa !11
  %6961 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6962 = load float, ptr %6961, align 4, !tbaa !11
  %6963 = load ptr, ptr %13, align 8, !tbaa !5
  %6964 = getelementptr inbounds %struct.complex, ptr %6963, i32 0, i32 1
  %6965 = load float, ptr %6964, align 4, !tbaa !14
  %6966 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6967 = load float, ptr %6966, align 4, !tbaa !14
  %6968 = fmul float %6965, %6967
  %6969 = fneg float %6968
  %6970 = call float @llvm.fmuladd.f32(float %6960, float %6962, float %6969)
  %6971 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %6970, ptr %6971, align 4, !tbaa !11
  %6972 = load ptr, ptr %13, align 8, !tbaa !5
  %6973 = getelementptr inbounds %struct.complex, ptr %6972, i32 0, i32 0
  %6974 = load float, ptr %6973, align 4, !tbaa !11
  %6975 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6976 = load float, ptr %6975, align 4, !tbaa !14
  %6977 = load ptr, ptr %13, align 8, !tbaa !5
  %6978 = getelementptr inbounds %struct.complex, ptr %6977, i32 0, i32 1
  %6979 = load float, ptr %6978, align 4, !tbaa !14
  %6980 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6981 = load float, ptr %6980, align 4, !tbaa !11
  %6982 = fmul float %6979, %6981
  %6983 = call float @llvm.fmuladd.f32(float %6974, float %6976, float %6982)
  %6984 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %6983, ptr %6984, align 4, !tbaa !14
  %6985 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %6986 = load float, ptr %6985, align 4, !tbaa !11
  %6987 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %6986, ptr %6987, align 4, !tbaa !11
  %6988 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %6989 = load float, ptr %6988, align 4, !tbaa !14
  %6990 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %6989, ptr %6990, align 4, !tbaa !14
  %6991 = load ptr, ptr %12, align 8, !tbaa !5
  %6992 = getelementptr inbounds %struct.complex, ptr %6991, i64 5
  %6993 = call <2 x float> @Cf(ptr noundef %6992)
  store <2 x float> %6993, ptr %151, align 4
  %6994 = getelementptr inbounds { float, float }, ptr %151, i32 0, i32 0
  %6995 = load float, ptr %6994, align 4
  %6996 = getelementptr inbounds { float, float }, ptr %151, i32 0, i32 1
  %6997 = load float, ptr %6996, align 4
  %6998 = fneg float %6997
  %6999 = call ptr @_pCf(ptr noundef %30)
  %7000 = getelementptr inbounds { float, float }, ptr %6999, i32 0, i32 0
  %7001 = getelementptr inbounds { float, float }, ptr %6999, i32 0, i32 1
  store float %6995, ptr %7000, align 4
  store float %6998, ptr %7001, align 4
  %7002 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7003 = load float, ptr %7002, align 4, !tbaa !11
  %7004 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %7003, ptr %7004, align 4, !tbaa !11
  %7005 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7006 = load float, ptr %7005, align 4, !tbaa !14
  %7007 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %7006, ptr %7007, align 4, !tbaa !14
  %7008 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %7008, ptr %152, align 4
  %7009 = getelementptr inbounds { float, float }, ptr %152, i32 0, i32 0
  %7010 = load float, ptr %7009, align 4
  %7011 = getelementptr inbounds { float, float }, ptr %152, i32 0, i32 1
  %7012 = load float, ptr %7011, align 4
  %7013 = fneg float %7012
  %7014 = call ptr @_pCf(ptr noundef %31)
  %7015 = getelementptr inbounds { float, float }, ptr %7014, i32 0, i32 0
  %7016 = getelementptr inbounds { float, float }, ptr %7014, i32 0, i32 1
  store float %7010, ptr %7015, align 4
  store float %7013, ptr %7016, align 4
  %7017 = load ptr, ptr %13, align 8, !tbaa !5
  %7018 = getelementptr inbounds %struct.complex, ptr %7017, i32 0, i32 0
  %7019 = load float, ptr %7018, align 4, !tbaa !11
  %7020 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7021 = load float, ptr %7020, align 4, !tbaa !11
  %7022 = load ptr, ptr %13, align 8, !tbaa !5
  %7023 = getelementptr inbounds %struct.complex, ptr %7022, i32 0, i32 1
  %7024 = load float, ptr %7023, align 4, !tbaa !14
  %7025 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7026 = load float, ptr %7025, align 4, !tbaa !14
  %7027 = fmul float %7024, %7026
  %7028 = fneg float %7027
  %7029 = call float @llvm.fmuladd.f32(float %7019, float %7021, float %7028)
  %7030 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7029, ptr %7030, align 4, !tbaa !11
  %7031 = load ptr, ptr %13, align 8, !tbaa !5
  %7032 = getelementptr inbounds %struct.complex, ptr %7031, i32 0, i32 0
  %7033 = load float, ptr %7032, align 4, !tbaa !11
  %7034 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7035 = load float, ptr %7034, align 4, !tbaa !14
  %7036 = load ptr, ptr %13, align 8, !tbaa !5
  %7037 = getelementptr inbounds %struct.complex, ptr %7036, i32 0, i32 1
  %7038 = load float, ptr %7037, align 4, !tbaa !14
  %7039 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7040 = load float, ptr %7039, align 4, !tbaa !11
  %7041 = fmul float %7038, %7040
  %7042 = call float @llvm.fmuladd.f32(float %7033, float %7035, float %7041)
  %7043 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7042, ptr %7043, align 4, !tbaa !14
  %7044 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7045 = load float, ptr %7044, align 4, !tbaa !11
  %7046 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %7045, ptr %7046, align 4, !tbaa !11
  %7047 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7048 = load float, ptr %7047, align 4, !tbaa !14
  %7049 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %7048, ptr %7049, align 4, !tbaa !14
  %7050 = load ptr, ptr %12, align 8, !tbaa !5
  %7051 = getelementptr inbounds %struct.complex, ptr %7050, i64 6
  %7052 = call <2 x float> @Cf(ptr noundef %7051)
  store <2 x float> %7052, ptr %153, align 4
  %7053 = getelementptr inbounds { float, float }, ptr %153, i32 0, i32 0
  %7054 = load float, ptr %7053, align 4
  %7055 = getelementptr inbounds { float, float }, ptr %153, i32 0, i32 1
  %7056 = load float, ptr %7055, align 4
  %7057 = fneg float %7056
  %7058 = call ptr @_pCf(ptr noundef %30)
  %7059 = getelementptr inbounds { float, float }, ptr %7058, i32 0, i32 0
  %7060 = getelementptr inbounds { float, float }, ptr %7058, i32 0, i32 1
  store float %7054, ptr %7059, align 4
  store float %7057, ptr %7060, align 4
  %7061 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7062 = load float, ptr %7061, align 4, !tbaa !11
  %7063 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %7062, ptr %7063, align 4, !tbaa !11
  %7064 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7065 = load float, ptr %7064, align 4, !tbaa !14
  %7066 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %7065, ptr %7066, align 4, !tbaa !14
  %7067 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %7067, ptr %154, align 4
  %7068 = getelementptr inbounds { float, float }, ptr %154, i32 0, i32 0
  %7069 = load float, ptr %7068, align 4
  %7070 = getelementptr inbounds { float, float }, ptr %154, i32 0, i32 1
  %7071 = load float, ptr %7070, align 4
  %7072 = fneg float %7071
  %7073 = call ptr @_pCf(ptr noundef %31)
  %7074 = getelementptr inbounds { float, float }, ptr %7073, i32 0, i32 0
  %7075 = getelementptr inbounds { float, float }, ptr %7073, i32 0, i32 1
  store float %7069, ptr %7074, align 4
  store float %7072, ptr %7075, align 4
  %7076 = load ptr, ptr %13, align 8, !tbaa !5
  %7077 = getelementptr inbounds %struct.complex, ptr %7076, i32 0, i32 0
  %7078 = load float, ptr %7077, align 4, !tbaa !11
  %7079 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7080 = load float, ptr %7079, align 4, !tbaa !11
  %7081 = load ptr, ptr %13, align 8, !tbaa !5
  %7082 = getelementptr inbounds %struct.complex, ptr %7081, i32 0, i32 1
  %7083 = load float, ptr %7082, align 4, !tbaa !14
  %7084 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7085 = load float, ptr %7084, align 4, !tbaa !14
  %7086 = fmul float %7083, %7085
  %7087 = fneg float %7086
  %7088 = call float @llvm.fmuladd.f32(float %7078, float %7080, float %7087)
  %7089 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7088, ptr %7089, align 4, !tbaa !11
  %7090 = load ptr, ptr %13, align 8, !tbaa !5
  %7091 = getelementptr inbounds %struct.complex, ptr %7090, i32 0, i32 0
  %7092 = load float, ptr %7091, align 4, !tbaa !11
  %7093 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7094 = load float, ptr %7093, align 4, !tbaa !14
  %7095 = load ptr, ptr %13, align 8, !tbaa !5
  %7096 = getelementptr inbounds %struct.complex, ptr %7095, i32 0, i32 1
  %7097 = load float, ptr %7096, align 4, !tbaa !14
  %7098 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7099 = load float, ptr %7098, align 4, !tbaa !11
  %7100 = fmul float %7097, %7099
  %7101 = call float @llvm.fmuladd.f32(float %7092, float %7094, float %7100)
  %7102 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7101, ptr %7102, align 4, !tbaa !14
  %7103 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7104 = load float, ptr %7103, align 4, !tbaa !11
  %7105 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %7104, ptr %7105, align 4, !tbaa !11
  %7106 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7107 = load float, ptr %7106, align 4, !tbaa !14
  %7108 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %7107, ptr %7108, align 4, !tbaa !14
  %7109 = load ptr, ptr %12, align 8, !tbaa !5
  %7110 = getelementptr inbounds %struct.complex, ptr %7109, i64 7
  %7111 = call <2 x float> @Cf(ptr noundef %7110)
  store <2 x float> %7111, ptr %155, align 4
  %7112 = getelementptr inbounds { float, float }, ptr %155, i32 0, i32 0
  %7113 = load float, ptr %7112, align 4
  %7114 = getelementptr inbounds { float, float }, ptr %155, i32 0, i32 1
  %7115 = load float, ptr %7114, align 4
  %7116 = fneg float %7115
  %7117 = call ptr @_pCf(ptr noundef %30)
  %7118 = getelementptr inbounds { float, float }, ptr %7117, i32 0, i32 0
  %7119 = getelementptr inbounds { float, float }, ptr %7117, i32 0, i32 1
  store float %7113, ptr %7118, align 4
  store float %7116, ptr %7119, align 4
  %7120 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7121 = load float, ptr %7120, align 4, !tbaa !11
  %7122 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %7121, ptr %7122, align 4, !tbaa !11
  %7123 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7124 = load float, ptr %7123, align 4, !tbaa !14
  %7125 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %7124, ptr %7125, align 4, !tbaa !14
  %7126 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %7126, ptr %156, align 4
  %7127 = getelementptr inbounds { float, float }, ptr %156, i32 0, i32 0
  %7128 = load float, ptr %7127, align 4
  %7129 = getelementptr inbounds { float, float }, ptr %156, i32 0, i32 1
  %7130 = load float, ptr %7129, align 4
  %7131 = fneg float %7130
  %7132 = call ptr @_pCf(ptr noundef %31)
  %7133 = getelementptr inbounds { float, float }, ptr %7132, i32 0, i32 0
  %7134 = getelementptr inbounds { float, float }, ptr %7132, i32 0, i32 1
  store float %7128, ptr %7133, align 4
  store float %7131, ptr %7134, align 4
  %7135 = load ptr, ptr %13, align 8, !tbaa !5
  %7136 = getelementptr inbounds %struct.complex, ptr %7135, i32 0, i32 0
  %7137 = load float, ptr %7136, align 4, !tbaa !11
  %7138 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7139 = load float, ptr %7138, align 4, !tbaa !11
  %7140 = load ptr, ptr %13, align 8, !tbaa !5
  %7141 = getelementptr inbounds %struct.complex, ptr %7140, i32 0, i32 1
  %7142 = load float, ptr %7141, align 4, !tbaa !14
  %7143 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7144 = load float, ptr %7143, align 4, !tbaa !14
  %7145 = fmul float %7142, %7144
  %7146 = fneg float %7145
  %7147 = call float @llvm.fmuladd.f32(float %7137, float %7139, float %7146)
  %7148 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7147, ptr %7148, align 4, !tbaa !11
  %7149 = load ptr, ptr %13, align 8, !tbaa !5
  %7150 = getelementptr inbounds %struct.complex, ptr %7149, i32 0, i32 0
  %7151 = load float, ptr %7150, align 4, !tbaa !11
  %7152 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7153 = load float, ptr %7152, align 4, !tbaa !14
  %7154 = load ptr, ptr %13, align 8, !tbaa !5
  %7155 = getelementptr inbounds %struct.complex, ptr %7154, i32 0, i32 1
  %7156 = load float, ptr %7155, align 4, !tbaa !14
  %7157 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7158 = load float, ptr %7157, align 4, !tbaa !11
  %7159 = fmul float %7156, %7158
  %7160 = call float @llvm.fmuladd.f32(float %7151, float %7153, float %7159)
  %7161 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7160, ptr %7161, align 4, !tbaa !14
  %7162 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7163 = load float, ptr %7162, align 4, !tbaa !11
  %7164 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %7163, ptr %7164, align 4, !tbaa !11
  %7165 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7166 = load float, ptr %7165, align 4, !tbaa !14
  %7167 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %7166, ptr %7167, align 4, !tbaa !14
  %7168 = load ptr, ptr %12, align 8, !tbaa !5
  %7169 = getelementptr inbounds %struct.complex, ptr %7168, i64 8
  %7170 = call <2 x float> @Cf(ptr noundef %7169)
  store <2 x float> %7170, ptr %157, align 4
  %7171 = getelementptr inbounds { float, float }, ptr %157, i32 0, i32 0
  %7172 = load float, ptr %7171, align 4
  %7173 = getelementptr inbounds { float, float }, ptr %157, i32 0, i32 1
  %7174 = load float, ptr %7173, align 4
  %7175 = fneg float %7174
  %7176 = call ptr @_pCf(ptr noundef %30)
  %7177 = getelementptr inbounds { float, float }, ptr %7176, i32 0, i32 0
  %7178 = getelementptr inbounds { float, float }, ptr %7176, i32 0, i32 1
  store float %7172, ptr %7177, align 4
  store float %7175, ptr %7178, align 4
  %7179 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7180 = load float, ptr %7179, align 4, !tbaa !11
  %7181 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %7180, ptr %7181, align 4, !tbaa !11
  %7182 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7183 = load float, ptr %7182, align 4, !tbaa !14
  %7184 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %7183, ptr %7184, align 4, !tbaa !14
  %7185 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %7185, ptr %158, align 4
  %7186 = getelementptr inbounds { float, float }, ptr %158, i32 0, i32 0
  %7187 = load float, ptr %7186, align 4
  %7188 = getelementptr inbounds { float, float }, ptr %158, i32 0, i32 1
  %7189 = load float, ptr %7188, align 4
  %7190 = fneg float %7189
  %7191 = call ptr @_pCf(ptr noundef %31)
  %7192 = getelementptr inbounds { float, float }, ptr %7191, i32 0, i32 0
  %7193 = getelementptr inbounds { float, float }, ptr %7191, i32 0, i32 1
  store float %7187, ptr %7192, align 4
  store float %7190, ptr %7193, align 4
  %7194 = load ptr, ptr %13, align 8, !tbaa !5
  %7195 = getelementptr inbounds %struct.complex, ptr %7194, i32 0, i32 0
  %7196 = load float, ptr %7195, align 4, !tbaa !11
  %7197 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7198 = load float, ptr %7197, align 4, !tbaa !11
  %7199 = load ptr, ptr %13, align 8, !tbaa !5
  %7200 = getelementptr inbounds %struct.complex, ptr %7199, i32 0, i32 1
  %7201 = load float, ptr %7200, align 4, !tbaa !14
  %7202 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7203 = load float, ptr %7202, align 4, !tbaa !14
  %7204 = fmul float %7201, %7203
  %7205 = fneg float %7204
  %7206 = call float @llvm.fmuladd.f32(float %7196, float %7198, float %7205)
  %7207 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7206, ptr %7207, align 4, !tbaa !11
  %7208 = load ptr, ptr %13, align 8, !tbaa !5
  %7209 = getelementptr inbounds %struct.complex, ptr %7208, i32 0, i32 0
  %7210 = load float, ptr %7209, align 4, !tbaa !11
  %7211 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7212 = load float, ptr %7211, align 4, !tbaa !14
  %7213 = load ptr, ptr %13, align 8, !tbaa !5
  %7214 = getelementptr inbounds %struct.complex, ptr %7213, i32 0, i32 1
  %7215 = load float, ptr %7214, align 4, !tbaa !14
  %7216 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7217 = load float, ptr %7216, align 4, !tbaa !11
  %7218 = fmul float %7215, %7217
  %7219 = call float @llvm.fmuladd.f32(float %7210, float %7212, float %7218)
  %7220 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7219, ptr %7220, align 4, !tbaa !14
  %7221 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7222 = load float, ptr %7221, align 4, !tbaa !11
  %7223 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %7222, ptr %7223, align 4, !tbaa !11
  %7224 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7225 = load float, ptr %7224, align 4, !tbaa !14
  %7226 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %7225, ptr %7226, align 4, !tbaa !14
  %7227 = load ptr, ptr %12, align 8, !tbaa !5
  %7228 = getelementptr inbounds %struct.complex, ptr %7227, i64 9
  %7229 = call <2 x float> @Cf(ptr noundef %7228)
  store <2 x float> %7229, ptr %159, align 4
  %7230 = getelementptr inbounds { float, float }, ptr %159, i32 0, i32 0
  %7231 = load float, ptr %7230, align 4
  %7232 = getelementptr inbounds { float, float }, ptr %159, i32 0, i32 1
  %7233 = load float, ptr %7232, align 4
  %7234 = fneg float %7233
  %7235 = call ptr @_pCf(ptr noundef %30)
  %7236 = getelementptr inbounds { float, float }, ptr %7235, i32 0, i32 0
  %7237 = getelementptr inbounds { float, float }, ptr %7235, i32 0, i32 1
  store float %7231, ptr %7236, align 4
  store float %7234, ptr %7237, align 4
  %7238 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7239 = load float, ptr %7238, align 4, !tbaa !11
  %7240 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %7239, ptr %7240, align 4, !tbaa !11
  %7241 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7242 = load float, ptr %7241, align 4, !tbaa !14
  %7243 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %7242, ptr %7243, align 4, !tbaa !14
  %7244 = call <2 x float> @Cf(ptr noundef %67)
  store <2 x float> %7244, ptr %160, align 4
  %7245 = getelementptr inbounds { float, float }, ptr %160, i32 0, i32 0
  %7246 = load float, ptr %7245, align 4
  %7247 = getelementptr inbounds { float, float }, ptr %160, i32 0, i32 1
  %7248 = load float, ptr %7247, align 4
  %7249 = fneg float %7248
  %7250 = call ptr @_pCf(ptr noundef %31)
  %7251 = getelementptr inbounds { float, float }, ptr %7250, i32 0, i32 0
  %7252 = getelementptr inbounds { float, float }, ptr %7250, i32 0, i32 1
  store float %7246, ptr %7251, align 4
  store float %7249, ptr %7252, align 4
  %7253 = load ptr, ptr %13, align 8, !tbaa !5
  %7254 = getelementptr inbounds %struct.complex, ptr %7253, i32 0, i32 0
  %7255 = load float, ptr %7254, align 4, !tbaa !11
  %7256 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7257 = load float, ptr %7256, align 4, !tbaa !11
  %7258 = load ptr, ptr %13, align 8, !tbaa !5
  %7259 = getelementptr inbounds %struct.complex, ptr %7258, i32 0, i32 1
  %7260 = load float, ptr %7259, align 4, !tbaa !14
  %7261 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7262 = load float, ptr %7261, align 4, !tbaa !14
  %7263 = fmul float %7260, %7262
  %7264 = fneg float %7263
  %7265 = call float @llvm.fmuladd.f32(float %7255, float %7257, float %7264)
  %7266 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7265, ptr %7266, align 4, !tbaa !11
  %7267 = load ptr, ptr %13, align 8, !tbaa !5
  %7268 = getelementptr inbounds %struct.complex, ptr %7267, i32 0, i32 0
  %7269 = load float, ptr %7268, align 4, !tbaa !11
  %7270 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7271 = load float, ptr %7270, align 4, !tbaa !14
  %7272 = load ptr, ptr %13, align 8, !tbaa !5
  %7273 = getelementptr inbounds %struct.complex, ptr %7272, i32 0, i32 1
  %7274 = load float, ptr %7273, align 4, !tbaa !14
  %7275 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7276 = load float, ptr %7275, align 4, !tbaa !11
  %7277 = fmul float %7274, %7276
  %7278 = call float @llvm.fmuladd.f32(float %7269, float %7271, float %7277)
  %7279 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7278, ptr %7279, align 4, !tbaa !14
  %7280 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7281 = load float, ptr %7280, align 4, !tbaa !11
  %7282 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %7281, ptr %7282, align 4, !tbaa !11
  %7283 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7284 = load float, ptr %7283, align 4, !tbaa !14
  %7285 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %7284, ptr %7285, align 4, !tbaa !14
  %7286 = load ptr, ptr %11, align 8, !tbaa !5
  %7287 = load i32, ptr %7286, align 4, !tbaa !9
  store i32 %7287, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %7288

7288:                                             ; preds = %8367, %6754
  %7289 = load i32, ptr %49, align 4, !tbaa !9
  %7290 = load i32, ptr %19, align 4, !tbaa !9
  %7291 = icmp sle i32 %7289, %7290
  br i1 %7291, label %7292, label %8370

7292:                                             ; preds = %7288
  %7293 = load i32, ptr %49, align 4, !tbaa !9
  %7294 = load i32, ptr %17, align 4, !tbaa !9
  %7295 = mul nsw i32 %7293, %7294
  %7296 = add nsw i32 %7295, 1
  store i32 %7296, ptr %20, align 4, !tbaa !9
  %7297 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %7298 = load float, ptr %7297, align 4, !tbaa !11
  %7299 = load ptr, ptr %14, align 8, !tbaa !5
  %7300 = load i32, ptr %20, align 4, !tbaa !9
  %7301 = sext i32 %7300 to i64
  %7302 = getelementptr inbounds %struct.complex, ptr %7299, i64 %7301
  %7303 = getelementptr inbounds %struct.complex, ptr %7302, i32 0, i32 0
  %7304 = load float, ptr %7303, align 4, !tbaa !11
  %7305 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %7306 = load float, ptr %7305, align 4, !tbaa !14
  %7307 = load ptr, ptr %14, align 8, !tbaa !5
  %7308 = load i32, ptr %20, align 4, !tbaa !9
  %7309 = sext i32 %7308 to i64
  %7310 = getelementptr inbounds %struct.complex, ptr %7307, i64 %7309
  %7311 = getelementptr inbounds %struct.complex, ptr %7310, i32 0, i32 1
  %7312 = load float, ptr %7311, align 4, !tbaa !14
  %7313 = fmul float %7306, %7312
  %7314 = fneg float %7313
  %7315 = call float @llvm.fmuladd.f32(float %7298, float %7304, float %7314)
  %7316 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %7315, ptr %7316, align 4, !tbaa !11
  %7317 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %7318 = load float, ptr %7317, align 4, !tbaa !11
  %7319 = load ptr, ptr %14, align 8, !tbaa !5
  %7320 = load i32, ptr %20, align 4, !tbaa !9
  %7321 = sext i32 %7320 to i64
  %7322 = getelementptr inbounds %struct.complex, ptr %7319, i64 %7321
  %7323 = getelementptr inbounds %struct.complex, ptr %7322, i32 0, i32 1
  %7324 = load float, ptr %7323, align 4, !tbaa !14
  %7325 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %7326 = load float, ptr %7325, align 4, !tbaa !14
  %7327 = load ptr, ptr %14, align 8, !tbaa !5
  %7328 = load i32, ptr %20, align 4, !tbaa !9
  %7329 = sext i32 %7328 to i64
  %7330 = getelementptr inbounds %struct.complex, ptr %7327, i64 %7329
  %7331 = getelementptr inbounds %struct.complex, ptr %7330, i32 0, i32 0
  %7332 = load float, ptr %7331, align 4, !tbaa !11
  %7333 = fmul float %7326, %7332
  %7334 = call float @llvm.fmuladd.f32(float %7318, float %7324, float %7333)
  %7335 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %7334, ptr %7335, align 4, !tbaa !14
  %7336 = load i32, ptr %49, align 4, !tbaa !9
  %7337 = load i32, ptr %17, align 4, !tbaa !9
  %7338 = mul nsw i32 %7336, %7337
  %7339 = add nsw i32 %7338, 2
  store i32 %7339, ptr %21, align 4, !tbaa !9
  %7340 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %7341 = load float, ptr %7340, align 4, !tbaa !11
  %7342 = load ptr, ptr %14, align 8, !tbaa !5
  %7343 = load i32, ptr %21, align 4, !tbaa !9
  %7344 = sext i32 %7343 to i64
  %7345 = getelementptr inbounds %struct.complex, ptr %7342, i64 %7344
  %7346 = getelementptr inbounds %struct.complex, ptr %7345, i32 0, i32 0
  %7347 = load float, ptr %7346, align 4, !tbaa !11
  %7348 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %7349 = load float, ptr %7348, align 4, !tbaa !14
  %7350 = load ptr, ptr %14, align 8, !tbaa !5
  %7351 = load i32, ptr %21, align 4, !tbaa !9
  %7352 = sext i32 %7351 to i64
  %7353 = getelementptr inbounds %struct.complex, ptr %7350, i64 %7352
  %7354 = getelementptr inbounds %struct.complex, ptr %7353, i32 0, i32 1
  %7355 = load float, ptr %7354, align 4, !tbaa !14
  %7356 = fmul float %7349, %7355
  %7357 = fneg float %7356
  %7358 = call float @llvm.fmuladd.f32(float %7341, float %7347, float %7357)
  %7359 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %7358, ptr %7359, align 4, !tbaa !11
  %7360 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %7361 = load float, ptr %7360, align 4, !tbaa !11
  %7362 = load ptr, ptr %14, align 8, !tbaa !5
  %7363 = load i32, ptr %21, align 4, !tbaa !9
  %7364 = sext i32 %7363 to i64
  %7365 = getelementptr inbounds %struct.complex, ptr %7362, i64 %7364
  %7366 = getelementptr inbounds %struct.complex, ptr %7365, i32 0, i32 1
  %7367 = load float, ptr %7366, align 4, !tbaa !14
  %7368 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %7369 = load float, ptr %7368, align 4, !tbaa !14
  %7370 = load ptr, ptr %14, align 8, !tbaa !5
  %7371 = load i32, ptr %21, align 4, !tbaa !9
  %7372 = sext i32 %7371 to i64
  %7373 = getelementptr inbounds %struct.complex, ptr %7370, i64 %7372
  %7374 = getelementptr inbounds %struct.complex, ptr %7373, i32 0, i32 0
  %7375 = load float, ptr %7374, align 4, !tbaa !11
  %7376 = fmul float %7369, %7375
  %7377 = call float @llvm.fmuladd.f32(float %7361, float %7367, float %7376)
  %7378 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %7377, ptr %7378, align 4, !tbaa !14
  %7379 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %7380 = load float, ptr %7379, align 4, !tbaa !11
  %7381 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %7382 = load float, ptr %7381, align 4, !tbaa !11
  %7383 = fadd float %7380, %7382
  %7384 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %7383, ptr %7384, align 4, !tbaa !11
  %7385 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %7386 = load float, ptr %7385, align 4, !tbaa !14
  %7387 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %7388 = load float, ptr %7387, align 4, !tbaa !14
  %7389 = fadd float %7386, %7388
  %7390 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %7389, ptr %7390, align 4, !tbaa !14
  %7391 = load i32, ptr %49, align 4, !tbaa !9
  %7392 = load i32, ptr %17, align 4, !tbaa !9
  %7393 = mul nsw i32 %7391, %7392
  %7394 = add nsw i32 %7393, 3
  store i32 %7394, ptr %22, align 4, !tbaa !9
  %7395 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %7396 = load float, ptr %7395, align 4, !tbaa !11
  %7397 = load ptr, ptr %14, align 8, !tbaa !5
  %7398 = load i32, ptr %22, align 4, !tbaa !9
  %7399 = sext i32 %7398 to i64
  %7400 = getelementptr inbounds %struct.complex, ptr %7397, i64 %7399
  %7401 = getelementptr inbounds %struct.complex, ptr %7400, i32 0, i32 0
  %7402 = load float, ptr %7401, align 4, !tbaa !11
  %7403 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %7404 = load float, ptr %7403, align 4, !tbaa !14
  %7405 = load ptr, ptr %14, align 8, !tbaa !5
  %7406 = load i32, ptr %22, align 4, !tbaa !9
  %7407 = sext i32 %7406 to i64
  %7408 = getelementptr inbounds %struct.complex, ptr %7405, i64 %7407
  %7409 = getelementptr inbounds %struct.complex, ptr %7408, i32 0, i32 1
  %7410 = load float, ptr %7409, align 4, !tbaa !14
  %7411 = fmul float %7404, %7410
  %7412 = fneg float %7411
  %7413 = call float @llvm.fmuladd.f32(float %7396, float %7402, float %7412)
  %7414 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %7413, ptr %7414, align 4, !tbaa !11
  %7415 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %7416 = load float, ptr %7415, align 4, !tbaa !11
  %7417 = load ptr, ptr %14, align 8, !tbaa !5
  %7418 = load i32, ptr %22, align 4, !tbaa !9
  %7419 = sext i32 %7418 to i64
  %7420 = getelementptr inbounds %struct.complex, ptr %7417, i64 %7419
  %7421 = getelementptr inbounds %struct.complex, ptr %7420, i32 0, i32 1
  %7422 = load float, ptr %7421, align 4, !tbaa !14
  %7423 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %7424 = load float, ptr %7423, align 4, !tbaa !14
  %7425 = load ptr, ptr %14, align 8, !tbaa !5
  %7426 = load i32, ptr %22, align 4, !tbaa !9
  %7427 = sext i32 %7426 to i64
  %7428 = getelementptr inbounds %struct.complex, ptr %7425, i64 %7427
  %7429 = getelementptr inbounds %struct.complex, ptr %7428, i32 0, i32 0
  %7430 = load float, ptr %7429, align 4, !tbaa !11
  %7431 = fmul float %7424, %7430
  %7432 = call float @llvm.fmuladd.f32(float %7416, float %7422, float %7431)
  %7433 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %7432, ptr %7433, align 4, !tbaa !14
  %7434 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %7435 = load float, ptr %7434, align 4, !tbaa !11
  %7436 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %7437 = load float, ptr %7436, align 4, !tbaa !11
  %7438 = fadd float %7435, %7437
  %7439 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %7438, ptr %7439, align 4, !tbaa !11
  %7440 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %7441 = load float, ptr %7440, align 4, !tbaa !14
  %7442 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %7443 = load float, ptr %7442, align 4, !tbaa !14
  %7444 = fadd float %7441, %7443
  %7445 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %7444, ptr %7445, align 4, !tbaa !14
  %7446 = load i32, ptr %49, align 4, !tbaa !9
  %7447 = load i32, ptr %17, align 4, !tbaa !9
  %7448 = mul nsw i32 %7446, %7447
  %7449 = add nsw i32 %7448, 4
  store i32 %7449, ptr %23, align 4, !tbaa !9
  %7450 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %7451 = load float, ptr %7450, align 4, !tbaa !11
  %7452 = load ptr, ptr %14, align 8, !tbaa !5
  %7453 = load i32, ptr %23, align 4, !tbaa !9
  %7454 = sext i32 %7453 to i64
  %7455 = getelementptr inbounds %struct.complex, ptr %7452, i64 %7454
  %7456 = getelementptr inbounds %struct.complex, ptr %7455, i32 0, i32 0
  %7457 = load float, ptr %7456, align 4, !tbaa !11
  %7458 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %7459 = load float, ptr %7458, align 4, !tbaa !14
  %7460 = load ptr, ptr %14, align 8, !tbaa !5
  %7461 = load i32, ptr %23, align 4, !tbaa !9
  %7462 = sext i32 %7461 to i64
  %7463 = getelementptr inbounds %struct.complex, ptr %7460, i64 %7462
  %7464 = getelementptr inbounds %struct.complex, ptr %7463, i32 0, i32 1
  %7465 = load float, ptr %7464, align 4, !tbaa !14
  %7466 = fmul float %7459, %7465
  %7467 = fneg float %7466
  %7468 = call float @llvm.fmuladd.f32(float %7451, float %7457, float %7467)
  %7469 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %7468, ptr %7469, align 4, !tbaa !11
  %7470 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %7471 = load float, ptr %7470, align 4, !tbaa !11
  %7472 = load ptr, ptr %14, align 8, !tbaa !5
  %7473 = load i32, ptr %23, align 4, !tbaa !9
  %7474 = sext i32 %7473 to i64
  %7475 = getelementptr inbounds %struct.complex, ptr %7472, i64 %7474
  %7476 = getelementptr inbounds %struct.complex, ptr %7475, i32 0, i32 1
  %7477 = load float, ptr %7476, align 4, !tbaa !14
  %7478 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %7479 = load float, ptr %7478, align 4, !tbaa !14
  %7480 = load ptr, ptr %14, align 8, !tbaa !5
  %7481 = load i32, ptr %23, align 4, !tbaa !9
  %7482 = sext i32 %7481 to i64
  %7483 = getelementptr inbounds %struct.complex, ptr %7480, i64 %7482
  %7484 = getelementptr inbounds %struct.complex, ptr %7483, i32 0, i32 0
  %7485 = load float, ptr %7484, align 4, !tbaa !11
  %7486 = fmul float %7479, %7485
  %7487 = call float @llvm.fmuladd.f32(float %7471, float %7477, float %7486)
  %7488 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %7487, ptr %7488, align 4, !tbaa !14
  %7489 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %7490 = load float, ptr %7489, align 4, !tbaa !11
  %7491 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %7492 = load float, ptr %7491, align 4, !tbaa !11
  %7493 = fadd float %7490, %7492
  %7494 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %7493, ptr %7494, align 4, !tbaa !11
  %7495 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %7496 = load float, ptr %7495, align 4, !tbaa !14
  %7497 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %7498 = load float, ptr %7497, align 4, !tbaa !14
  %7499 = fadd float %7496, %7498
  %7500 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %7499, ptr %7500, align 4, !tbaa !14
  %7501 = load i32, ptr %49, align 4, !tbaa !9
  %7502 = load i32, ptr %17, align 4, !tbaa !9
  %7503 = mul nsw i32 %7501, %7502
  %7504 = add nsw i32 %7503, 5
  store i32 %7504, ptr %24, align 4, !tbaa !9
  %7505 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %7506 = load float, ptr %7505, align 4, !tbaa !11
  %7507 = load ptr, ptr %14, align 8, !tbaa !5
  %7508 = load i32, ptr %24, align 4, !tbaa !9
  %7509 = sext i32 %7508 to i64
  %7510 = getelementptr inbounds %struct.complex, ptr %7507, i64 %7509
  %7511 = getelementptr inbounds %struct.complex, ptr %7510, i32 0, i32 0
  %7512 = load float, ptr %7511, align 4, !tbaa !11
  %7513 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %7514 = load float, ptr %7513, align 4, !tbaa !14
  %7515 = load ptr, ptr %14, align 8, !tbaa !5
  %7516 = load i32, ptr %24, align 4, !tbaa !9
  %7517 = sext i32 %7516 to i64
  %7518 = getelementptr inbounds %struct.complex, ptr %7515, i64 %7517
  %7519 = getelementptr inbounds %struct.complex, ptr %7518, i32 0, i32 1
  %7520 = load float, ptr %7519, align 4, !tbaa !14
  %7521 = fmul float %7514, %7520
  %7522 = fneg float %7521
  %7523 = call float @llvm.fmuladd.f32(float %7506, float %7512, float %7522)
  %7524 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %7523, ptr %7524, align 4, !tbaa !11
  %7525 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %7526 = load float, ptr %7525, align 4, !tbaa !11
  %7527 = load ptr, ptr %14, align 8, !tbaa !5
  %7528 = load i32, ptr %24, align 4, !tbaa !9
  %7529 = sext i32 %7528 to i64
  %7530 = getelementptr inbounds %struct.complex, ptr %7527, i64 %7529
  %7531 = getelementptr inbounds %struct.complex, ptr %7530, i32 0, i32 1
  %7532 = load float, ptr %7531, align 4, !tbaa !14
  %7533 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %7534 = load float, ptr %7533, align 4, !tbaa !14
  %7535 = load ptr, ptr %14, align 8, !tbaa !5
  %7536 = load i32, ptr %24, align 4, !tbaa !9
  %7537 = sext i32 %7536 to i64
  %7538 = getelementptr inbounds %struct.complex, ptr %7535, i64 %7537
  %7539 = getelementptr inbounds %struct.complex, ptr %7538, i32 0, i32 0
  %7540 = load float, ptr %7539, align 4, !tbaa !11
  %7541 = fmul float %7534, %7540
  %7542 = call float @llvm.fmuladd.f32(float %7526, float %7532, float %7541)
  %7543 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %7542, ptr %7543, align 4, !tbaa !14
  %7544 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %7545 = load float, ptr %7544, align 4, !tbaa !11
  %7546 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %7547 = load float, ptr %7546, align 4, !tbaa !11
  %7548 = fadd float %7545, %7547
  %7549 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %7548, ptr %7549, align 4, !tbaa !11
  %7550 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %7551 = load float, ptr %7550, align 4, !tbaa !14
  %7552 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %7553 = load float, ptr %7552, align 4, !tbaa !14
  %7554 = fadd float %7551, %7553
  %7555 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %7554, ptr %7555, align 4, !tbaa !14
  %7556 = load i32, ptr %49, align 4, !tbaa !9
  %7557 = load i32, ptr %17, align 4, !tbaa !9
  %7558 = mul nsw i32 %7556, %7557
  %7559 = add nsw i32 %7558, 6
  store i32 %7559, ptr %25, align 4, !tbaa !9
  %7560 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %7561 = load float, ptr %7560, align 4, !tbaa !11
  %7562 = load ptr, ptr %14, align 8, !tbaa !5
  %7563 = load i32, ptr %25, align 4, !tbaa !9
  %7564 = sext i32 %7563 to i64
  %7565 = getelementptr inbounds %struct.complex, ptr %7562, i64 %7564
  %7566 = getelementptr inbounds %struct.complex, ptr %7565, i32 0, i32 0
  %7567 = load float, ptr %7566, align 4, !tbaa !11
  %7568 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %7569 = load float, ptr %7568, align 4, !tbaa !14
  %7570 = load ptr, ptr %14, align 8, !tbaa !5
  %7571 = load i32, ptr %25, align 4, !tbaa !9
  %7572 = sext i32 %7571 to i64
  %7573 = getelementptr inbounds %struct.complex, ptr %7570, i64 %7572
  %7574 = getelementptr inbounds %struct.complex, ptr %7573, i32 0, i32 1
  %7575 = load float, ptr %7574, align 4, !tbaa !14
  %7576 = fmul float %7569, %7575
  %7577 = fneg float %7576
  %7578 = call float @llvm.fmuladd.f32(float %7561, float %7567, float %7577)
  %7579 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %7578, ptr %7579, align 4, !tbaa !11
  %7580 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %7581 = load float, ptr %7580, align 4, !tbaa !11
  %7582 = load ptr, ptr %14, align 8, !tbaa !5
  %7583 = load i32, ptr %25, align 4, !tbaa !9
  %7584 = sext i32 %7583 to i64
  %7585 = getelementptr inbounds %struct.complex, ptr %7582, i64 %7584
  %7586 = getelementptr inbounds %struct.complex, ptr %7585, i32 0, i32 1
  %7587 = load float, ptr %7586, align 4, !tbaa !14
  %7588 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %7589 = load float, ptr %7588, align 4, !tbaa !14
  %7590 = load ptr, ptr %14, align 8, !tbaa !5
  %7591 = load i32, ptr %25, align 4, !tbaa !9
  %7592 = sext i32 %7591 to i64
  %7593 = getelementptr inbounds %struct.complex, ptr %7590, i64 %7592
  %7594 = getelementptr inbounds %struct.complex, ptr %7593, i32 0, i32 0
  %7595 = load float, ptr %7594, align 4, !tbaa !11
  %7596 = fmul float %7589, %7595
  %7597 = call float @llvm.fmuladd.f32(float %7581, float %7587, float %7596)
  %7598 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %7597, ptr %7598, align 4, !tbaa !14
  %7599 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %7600 = load float, ptr %7599, align 4, !tbaa !11
  %7601 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %7602 = load float, ptr %7601, align 4, !tbaa !11
  %7603 = fadd float %7600, %7602
  %7604 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %7603, ptr %7604, align 4, !tbaa !11
  %7605 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %7606 = load float, ptr %7605, align 4, !tbaa !14
  %7607 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %7608 = load float, ptr %7607, align 4, !tbaa !14
  %7609 = fadd float %7606, %7608
  %7610 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %7609, ptr %7610, align 4, !tbaa !14
  %7611 = load i32, ptr %49, align 4, !tbaa !9
  %7612 = load i32, ptr %17, align 4, !tbaa !9
  %7613 = mul nsw i32 %7611, %7612
  %7614 = add nsw i32 %7613, 7
  store i32 %7614, ptr %26, align 4, !tbaa !9
  %7615 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %7616 = load float, ptr %7615, align 4, !tbaa !11
  %7617 = load ptr, ptr %14, align 8, !tbaa !5
  %7618 = load i32, ptr %26, align 4, !tbaa !9
  %7619 = sext i32 %7618 to i64
  %7620 = getelementptr inbounds %struct.complex, ptr %7617, i64 %7619
  %7621 = getelementptr inbounds %struct.complex, ptr %7620, i32 0, i32 0
  %7622 = load float, ptr %7621, align 4, !tbaa !11
  %7623 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %7624 = load float, ptr %7623, align 4, !tbaa !14
  %7625 = load ptr, ptr %14, align 8, !tbaa !5
  %7626 = load i32, ptr %26, align 4, !tbaa !9
  %7627 = sext i32 %7626 to i64
  %7628 = getelementptr inbounds %struct.complex, ptr %7625, i64 %7627
  %7629 = getelementptr inbounds %struct.complex, ptr %7628, i32 0, i32 1
  %7630 = load float, ptr %7629, align 4, !tbaa !14
  %7631 = fmul float %7624, %7630
  %7632 = fneg float %7631
  %7633 = call float @llvm.fmuladd.f32(float %7616, float %7622, float %7632)
  %7634 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %7633, ptr %7634, align 4, !tbaa !11
  %7635 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %7636 = load float, ptr %7635, align 4, !tbaa !11
  %7637 = load ptr, ptr %14, align 8, !tbaa !5
  %7638 = load i32, ptr %26, align 4, !tbaa !9
  %7639 = sext i32 %7638 to i64
  %7640 = getelementptr inbounds %struct.complex, ptr %7637, i64 %7639
  %7641 = getelementptr inbounds %struct.complex, ptr %7640, i32 0, i32 1
  %7642 = load float, ptr %7641, align 4, !tbaa !14
  %7643 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %7644 = load float, ptr %7643, align 4, !tbaa !14
  %7645 = load ptr, ptr %14, align 8, !tbaa !5
  %7646 = load i32, ptr %26, align 4, !tbaa !9
  %7647 = sext i32 %7646 to i64
  %7648 = getelementptr inbounds %struct.complex, ptr %7645, i64 %7647
  %7649 = getelementptr inbounds %struct.complex, ptr %7648, i32 0, i32 0
  %7650 = load float, ptr %7649, align 4, !tbaa !11
  %7651 = fmul float %7644, %7650
  %7652 = call float @llvm.fmuladd.f32(float %7636, float %7642, float %7651)
  %7653 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %7652, ptr %7653, align 4, !tbaa !14
  %7654 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %7655 = load float, ptr %7654, align 4, !tbaa !11
  %7656 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %7657 = load float, ptr %7656, align 4, !tbaa !11
  %7658 = fadd float %7655, %7657
  %7659 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %7658, ptr %7659, align 4, !tbaa !11
  %7660 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %7661 = load float, ptr %7660, align 4, !tbaa !14
  %7662 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %7663 = load float, ptr %7662, align 4, !tbaa !14
  %7664 = fadd float %7661, %7663
  %7665 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %7664, ptr %7665, align 4, !tbaa !14
  %7666 = load i32, ptr %49, align 4, !tbaa !9
  %7667 = load i32, ptr %17, align 4, !tbaa !9
  %7668 = mul nsw i32 %7666, %7667
  %7669 = add nsw i32 %7668, 8
  store i32 %7669, ptr %27, align 4, !tbaa !9
  %7670 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %7671 = load float, ptr %7670, align 4, !tbaa !11
  %7672 = load ptr, ptr %14, align 8, !tbaa !5
  %7673 = load i32, ptr %27, align 4, !tbaa !9
  %7674 = sext i32 %7673 to i64
  %7675 = getelementptr inbounds %struct.complex, ptr %7672, i64 %7674
  %7676 = getelementptr inbounds %struct.complex, ptr %7675, i32 0, i32 0
  %7677 = load float, ptr %7676, align 4, !tbaa !11
  %7678 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %7679 = load float, ptr %7678, align 4, !tbaa !14
  %7680 = load ptr, ptr %14, align 8, !tbaa !5
  %7681 = load i32, ptr %27, align 4, !tbaa !9
  %7682 = sext i32 %7681 to i64
  %7683 = getelementptr inbounds %struct.complex, ptr %7680, i64 %7682
  %7684 = getelementptr inbounds %struct.complex, ptr %7683, i32 0, i32 1
  %7685 = load float, ptr %7684, align 4, !tbaa !14
  %7686 = fmul float %7679, %7685
  %7687 = fneg float %7686
  %7688 = call float @llvm.fmuladd.f32(float %7671, float %7677, float %7687)
  %7689 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %7688, ptr %7689, align 4, !tbaa !11
  %7690 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %7691 = load float, ptr %7690, align 4, !tbaa !11
  %7692 = load ptr, ptr %14, align 8, !tbaa !5
  %7693 = load i32, ptr %27, align 4, !tbaa !9
  %7694 = sext i32 %7693 to i64
  %7695 = getelementptr inbounds %struct.complex, ptr %7692, i64 %7694
  %7696 = getelementptr inbounds %struct.complex, ptr %7695, i32 0, i32 1
  %7697 = load float, ptr %7696, align 4, !tbaa !14
  %7698 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %7699 = load float, ptr %7698, align 4, !tbaa !14
  %7700 = load ptr, ptr %14, align 8, !tbaa !5
  %7701 = load i32, ptr %27, align 4, !tbaa !9
  %7702 = sext i32 %7701 to i64
  %7703 = getelementptr inbounds %struct.complex, ptr %7700, i64 %7702
  %7704 = getelementptr inbounds %struct.complex, ptr %7703, i32 0, i32 0
  %7705 = load float, ptr %7704, align 4, !tbaa !11
  %7706 = fmul float %7699, %7705
  %7707 = call float @llvm.fmuladd.f32(float %7691, float %7697, float %7706)
  %7708 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %7707, ptr %7708, align 4, !tbaa !14
  %7709 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7710 = load float, ptr %7709, align 4, !tbaa !11
  %7711 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %7712 = load float, ptr %7711, align 4, !tbaa !11
  %7713 = fadd float %7710, %7712
  %7714 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7713, ptr %7714, align 4, !tbaa !11
  %7715 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7716 = load float, ptr %7715, align 4, !tbaa !14
  %7717 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %7718 = load float, ptr %7717, align 4, !tbaa !14
  %7719 = fadd float %7716, %7718
  %7720 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7719, ptr %7720, align 4, !tbaa !14
  %7721 = load i32, ptr %49, align 4, !tbaa !9
  %7722 = load i32, ptr %17, align 4, !tbaa !9
  %7723 = mul nsw i32 %7721, %7722
  %7724 = add nsw i32 %7723, 9
  store i32 %7724, ptr %28, align 4, !tbaa !9
  %7725 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %7726 = load float, ptr %7725, align 4, !tbaa !11
  %7727 = load ptr, ptr %14, align 8, !tbaa !5
  %7728 = load i32, ptr %28, align 4, !tbaa !9
  %7729 = sext i32 %7728 to i64
  %7730 = getelementptr inbounds %struct.complex, ptr %7727, i64 %7729
  %7731 = getelementptr inbounds %struct.complex, ptr %7730, i32 0, i32 0
  %7732 = load float, ptr %7731, align 4, !tbaa !11
  %7733 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %7734 = load float, ptr %7733, align 4, !tbaa !14
  %7735 = load ptr, ptr %14, align 8, !tbaa !5
  %7736 = load i32, ptr %28, align 4, !tbaa !9
  %7737 = sext i32 %7736 to i64
  %7738 = getelementptr inbounds %struct.complex, ptr %7735, i64 %7737
  %7739 = getelementptr inbounds %struct.complex, ptr %7738, i32 0, i32 1
  %7740 = load float, ptr %7739, align 4, !tbaa !14
  %7741 = fmul float %7734, %7740
  %7742 = fneg float %7741
  %7743 = call float @llvm.fmuladd.f32(float %7726, float %7732, float %7742)
  %7744 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %7743, ptr %7744, align 4, !tbaa !11
  %7745 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %7746 = load float, ptr %7745, align 4, !tbaa !11
  %7747 = load ptr, ptr %14, align 8, !tbaa !5
  %7748 = load i32, ptr %28, align 4, !tbaa !9
  %7749 = sext i32 %7748 to i64
  %7750 = getelementptr inbounds %struct.complex, ptr %7747, i64 %7749
  %7751 = getelementptr inbounds %struct.complex, ptr %7750, i32 0, i32 1
  %7752 = load float, ptr %7751, align 4, !tbaa !14
  %7753 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %7754 = load float, ptr %7753, align 4, !tbaa !14
  %7755 = load ptr, ptr %14, align 8, !tbaa !5
  %7756 = load i32, ptr %28, align 4, !tbaa !9
  %7757 = sext i32 %7756 to i64
  %7758 = getelementptr inbounds %struct.complex, ptr %7755, i64 %7757
  %7759 = getelementptr inbounds %struct.complex, ptr %7758, i32 0, i32 0
  %7760 = load float, ptr %7759, align 4, !tbaa !11
  %7761 = fmul float %7754, %7760
  %7762 = call float @llvm.fmuladd.f32(float %7746, float %7752, float %7761)
  %7763 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %7762, ptr %7763, align 4, !tbaa !14
  %7764 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7765 = load float, ptr %7764, align 4, !tbaa !11
  %7766 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %7767 = load float, ptr %7766, align 4, !tbaa !11
  %7768 = fadd float %7765, %7767
  %7769 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7768, ptr %7769, align 4, !tbaa !11
  %7770 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7771 = load float, ptr %7770, align 4, !tbaa !14
  %7772 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %7773 = load float, ptr %7772, align 4, !tbaa !14
  %7774 = fadd float %7771, %7773
  %7775 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7774, ptr %7775, align 4, !tbaa !14
  %7776 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7777 = load float, ptr %7776, align 4, !tbaa !11
  %7778 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %7777, ptr %7778, align 4, !tbaa !11
  %7779 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7780 = load float, ptr %7779, align 4, !tbaa !14
  %7781 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %7780, ptr %7781, align 4, !tbaa !14
  %7782 = load i32, ptr %49, align 4, !tbaa !9
  %7783 = load i32, ptr %17, align 4, !tbaa !9
  %7784 = mul nsw i32 %7782, %7783
  %7785 = add nsw i32 %7784, 1
  store i32 %7785, ptr %20, align 4, !tbaa !9
  %7786 = load i32, ptr %49, align 4, !tbaa !9
  %7787 = load i32, ptr %17, align 4, !tbaa !9
  %7788 = mul nsw i32 %7786, %7787
  %7789 = add nsw i32 %7788, 1
  store i32 %7789, ptr %21, align 4, !tbaa !9
  %7790 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7791 = load float, ptr %7790, align 4, !tbaa !11
  %7792 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %7793 = load float, ptr %7792, align 4, !tbaa !11
  %7794 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7795 = load float, ptr %7794, align 4, !tbaa !14
  %7796 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %7797 = load float, ptr %7796, align 4, !tbaa !14
  %7798 = fmul float %7795, %7797
  %7799 = fneg float %7798
  %7800 = call float @llvm.fmuladd.f32(float %7791, float %7793, float %7799)
  %7801 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7800, ptr %7801, align 4, !tbaa !11
  %7802 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7803 = load float, ptr %7802, align 4, !tbaa !11
  %7804 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %7805 = load float, ptr %7804, align 4, !tbaa !14
  %7806 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7807 = load float, ptr %7806, align 4, !tbaa !14
  %7808 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %7809 = load float, ptr %7808, align 4, !tbaa !11
  %7810 = fmul float %7807, %7809
  %7811 = call float @llvm.fmuladd.f32(float %7803, float %7805, float %7810)
  %7812 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7811, ptr %7812, align 4, !tbaa !14
  %7813 = load ptr, ptr %14, align 8, !tbaa !5
  %7814 = load i32, ptr %21, align 4, !tbaa !9
  %7815 = sext i32 %7814 to i64
  %7816 = getelementptr inbounds %struct.complex, ptr %7813, i64 %7815
  %7817 = getelementptr inbounds %struct.complex, ptr %7816, i32 0, i32 0
  %7818 = load float, ptr %7817, align 4, !tbaa !11
  %7819 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7820 = load float, ptr %7819, align 4, !tbaa !11
  %7821 = fsub float %7818, %7820
  %7822 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7821, ptr %7822, align 4, !tbaa !11
  %7823 = load ptr, ptr %14, align 8, !tbaa !5
  %7824 = load i32, ptr %21, align 4, !tbaa !9
  %7825 = sext i32 %7824 to i64
  %7826 = getelementptr inbounds %struct.complex, ptr %7823, i64 %7825
  %7827 = getelementptr inbounds %struct.complex, ptr %7826, i32 0, i32 1
  %7828 = load float, ptr %7827, align 4, !tbaa !14
  %7829 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7830 = load float, ptr %7829, align 4, !tbaa !14
  %7831 = fsub float %7828, %7830
  %7832 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7831, ptr %7832, align 4, !tbaa !14
  %7833 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7834 = load float, ptr %7833, align 4, !tbaa !11
  %7835 = load ptr, ptr %14, align 8, !tbaa !5
  %7836 = load i32, ptr %20, align 4, !tbaa !9
  %7837 = sext i32 %7836 to i64
  %7838 = getelementptr inbounds %struct.complex, ptr %7835, i64 %7837
  %7839 = getelementptr inbounds %struct.complex, ptr %7838, i32 0, i32 0
  store float %7834, ptr %7839, align 4, !tbaa !11
  %7840 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7841 = load float, ptr %7840, align 4, !tbaa !14
  %7842 = load ptr, ptr %14, align 8, !tbaa !5
  %7843 = load i32, ptr %20, align 4, !tbaa !9
  %7844 = sext i32 %7843 to i64
  %7845 = getelementptr inbounds %struct.complex, ptr %7842, i64 %7844
  %7846 = getelementptr inbounds %struct.complex, ptr %7845, i32 0, i32 1
  store float %7841, ptr %7846, align 4, !tbaa !14
  %7847 = load i32, ptr %49, align 4, !tbaa !9
  %7848 = load i32, ptr %17, align 4, !tbaa !9
  %7849 = mul nsw i32 %7847, %7848
  %7850 = add nsw i32 %7849, 2
  store i32 %7850, ptr %20, align 4, !tbaa !9
  %7851 = load i32, ptr %49, align 4, !tbaa !9
  %7852 = load i32, ptr %17, align 4, !tbaa !9
  %7853 = mul nsw i32 %7851, %7852
  %7854 = add nsw i32 %7853, 2
  store i32 %7854, ptr %21, align 4, !tbaa !9
  %7855 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7856 = load float, ptr %7855, align 4, !tbaa !11
  %7857 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %7858 = load float, ptr %7857, align 4, !tbaa !11
  %7859 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7860 = load float, ptr %7859, align 4, !tbaa !14
  %7861 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %7862 = load float, ptr %7861, align 4, !tbaa !14
  %7863 = fmul float %7860, %7862
  %7864 = fneg float %7863
  %7865 = call float @llvm.fmuladd.f32(float %7856, float %7858, float %7864)
  %7866 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7865, ptr %7866, align 4, !tbaa !11
  %7867 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7868 = load float, ptr %7867, align 4, !tbaa !11
  %7869 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %7870 = load float, ptr %7869, align 4, !tbaa !14
  %7871 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7872 = load float, ptr %7871, align 4, !tbaa !14
  %7873 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %7874 = load float, ptr %7873, align 4, !tbaa !11
  %7875 = fmul float %7872, %7874
  %7876 = call float @llvm.fmuladd.f32(float %7868, float %7870, float %7875)
  %7877 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7876, ptr %7877, align 4, !tbaa !14
  %7878 = load ptr, ptr %14, align 8, !tbaa !5
  %7879 = load i32, ptr %21, align 4, !tbaa !9
  %7880 = sext i32 %7879 to i64
  %7881 = getelementptr inbounds %struct.complex, ptr %7878, i64 %7880
  %7882 = getelementptr inbounds %struct.complex, ptr %7881, i32 0, i32 0
  %7883 = load float, ptr %7882, align 4, !tbaa !11
  %7884 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7885 = load float, ptr %7884, align 4, !tbaa !11
  %7886 = fsub float %7883, %7885
  %7887 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7886, ptr %7887, align 4, !tbaa !11
  %7888 = load ptr, ptr %14, align 8, !tbaa !5
  %7889 = load i32, ptr %21, align 4, !tbaa !9
  %7890 = sext i32 %7889 to i64
  %7891 = getelementptr inbounds %struct.complex, ptr %7888, i64 %7890
  %7892 = getelementptr inbounds %struct.complex, ptr %7891, i32 0, i32 1
  %7893 = load float, ptr %7892, align 4, !tbaa !14
  %7894 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7895 = load float, ptr %7894, align 4, !tbaa !14
  %7896 = fsub float %7893, %7895
  %7897 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7896, ptr %7897, align 4, !tbaa !14
  %7898 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7899 = load float, ptr %7898, align 4, !tbaa !11
  %7900 = load ptr, ptr %14, align 8, !tbaa !5
  %7901 = load i32, ptr %20, align 4, !tbaa !9
  %7902 = sext i32 %7901 to i64
  %7903 = getelementptr inbounds %struct.complex, ptr %7900, i64 %7902
  %7904 = getelementptr inbounds %struct.complex, ptr %7903, i32 0, i32 0
  store float %7899, ptr %7904, align 4, !tbaa !11
  %7905 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7906 = load float, ptr %7905, align 4, !tbaa !14
  %7907 = load ptr, ptr %14, align 8, !tbaa !5
  %7908 = load i32, ptr %20, align 4, !tbaa !9
  %7909 = sext i32 %7908 to i64
  %7910 = getelementptr inbounds %struct.complex, ptr %7907, i64 %7909
  %7911 = getelementptr inbounds %struct.complex, ptr %7910, i32 0, i32 1
  store float %7906, ptr %7911, align 4, !tbaa !14
  %7912 = load i32, ptr %49, align 4, !tbaa !9
  %7913 = load i32, ptr %17, align 4, !tbaa !9
  %7914 = mul nsw i32 %7912, %7913
  %7915 = add nsw i32 %7914, 3
  store i32 %7915, ptr %20, align 4, !tbaa !9
  %7916 = load i32, ptr %49, align 4, !tbaa !9
  %7917 = load i32, ptr %17, align 4, !tbaa !9
  %7918 = mul nsw i32 %7916, %7917
  %7919 = add nsw i32 %7918, 3
  store i32 %7919, ptr %21, align 4, !tbaa !9
  %7920 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7921 = load float, ptr %7920, align 4, !tbaa !11
  %7922 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %7923 = load float, ptr %7922, align 4, !tbaa !11
  %7924 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7925 = load float, ptr %7924, align 4, !tbaa !14
  %7926 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %7927 = load float, ptr %7926, align 4, !tbaa !14
  %7928 = fmul float %7925, %7927
  %7929 = fneg float %7928
  %7930 = call float @llvm.fmuladd.f32(float %7921, float %7923, float %7929)
  %7931 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7930, ptr %7931, align 4, !tbaa !11
  %7932 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7933 = load float, ptr %7932, align 4, !tbaa !11
  %7934 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %7935 = load float, ptr %7934, align 4, !tbaa !14
  %7936 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7937 = load float, ptr %7936, align 4, !tbaa !14
  %7938 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %7939 = load float, ptr %7938, align 4, !tbaa !11
  %7940 = fmul float %7937, %7939
  %7941 = call float @llvm.fmuladd.f32(float %7933, float %7935, float %7940)
  %7942 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7941, ptr %7942, align 4, !tbaa !14
  %7943 = load ptr, ptr %14, align 8, !tbaa !5
  %7944 = load i32, ptr %21, align 4, !tbaa !9
  %7945 = sext i32 %7944 to i64
  %7946 = getelementptr inbounds %struct.complex, ptr %7943, i64 %7945
  %7947 = getelementptr inbounds %struct.complex, ptr %7946, i32 0, i32 0
  %7948 = load float, ptr %7947, align 4, !tbaa !11
  %7949 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7950 = load float, ptr %7949, align 4, !tbaa !11
  %7951 = fsub float %7948, %7950
  %7952 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %7951, ptr %7952, align 4, !tbaa !11
  %7953 = load ptr, ptr %14, align 8, !tbaa !5
  %7954 = load i32, ptr %21, align 4, !tbaa !9
  %7955 = sext i32 %7954 to i64
  %7956 = getelementptr inbounds %struct.complex, ptr %7953, i64 %7955
  %7957 = getelementptr inbounds %struct.complex, ptr %7956, i32 0, i32 1
  %7958 = load float, ptr %7957, align 4, !tbaa !14
  %7959 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7960 = load float, ptr %7959, align 4, !tbaa !14
  %7961 = fsub float %7958, %7960
  %7962 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %7961, ptr %7962, align 4, !tbaa !14
  %7963 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %7964 = load float, ptr %7963, align 4, !tbaa !11
  %7965 = load ptr, ptr %14, align 8, !tbaa !5
  %7966 = load i32, ptr %20, align 4, !tbaa !9
  %7967 = sext i32 %7966 to i64
  %7968 = getelementptr inbounds %struct.complex, ptr %7965, i64 %7967
  %7969 = getelementptr inbounds %struct.complex, ptr %7968, i32 0, i32 0
  store float %7964, ptr %7969, align 4, !tbaa !11
  %7970 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %7971 = load float, ptr %7970, align 4, !tbaa !14
  %7972 = load ptr, ptr %14, align 8, !tbaa !5
  %7973 = load i32, ptr %20, align 4, !tbaa !9
  %7974 = sext i32 %7973 to i64
  %7975 = getelementptr inbounds %struct.complex, ptr %7972, i64 %7974
  %7976 = getelementptr inbounds %struct.complex, ptr %7975, i32 0, i32 1
  store float %7971, ptr %7976, align 4, !tbaa !14
  %7977 = load i32, ptr %49, align 4, !tbaa !9
  %7978 = load i32, ptr %17, align 4, !tbaa !9
  %7979 = mul nsw i32 %7977, %7978
  %7980 = add nsw i32 %7979, 4
  store i32 %7980, ptr %20, align 4, !tbaa !9
  %7981 = load i32, ptr %49, align 4, !tbaa !9
  %7982 = load i32, ptr %17, align 4, !tbaa !9
  %7983 = mul nsw i32 %7981, %7982
  %7984 = add nsw i32 %7983, 4
  store i32 %7984, ptr %21, align 4, !tbaa !9
  %7985 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7986 = load float, ptr %7985, align 4, !tbaa !11
  %7987 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %7988 = load float, ptr %7987, align 4, !tbaa !11
  %7989 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7990 = load float, ptr %7989, align 4, !tbaa !14
  %7991 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %7992 = load float, ptr %7991, align 4, !tbaa !14
  %7993 = fmul float %7990, %7992
  %7994 = fneg float %7993
  %7995 = call float @llvm.fmuladd.f32(float %7986, float %7988, float %7994)
  %7996 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7995, ptr %7996, align 4, !tbaa !11
  %7997 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7998 = load float, ptr %7997, align 4, !tbaa !11
  %7999 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %8000 = load float, ptr %7999, align 4, !tbaa !14
  %8001 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8002 = load float, ptr %8001, align 4, !tbaa !14
  %8003 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %8004 = load float, ptr %8003, align 4, !tbaa !11
  %8005 = fmul float %8002, %8004
  %8006 = call float @llvm.fmuladd.f32(float %7998, float %8000, float %8005)
  %8007 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8006, ptr %8007, align 4, !tbaa !14
  %8008 = load ptr, ptr %14, align 8, !tbaa !5
  %8009 = load i32, ptr %21, align 4, !tbaa !9
  %8010 = sext i32 %8009 to i64
  %8011 = getelementptr inbounds %struct.complex, ptr %8008, i64 %8010
  %8012 = getelementptr inbounds %struct.complex, ptr %8011, i32 0, i32 0
  %8013 = load float, ptr %8012, align 4, !tbaa !11
  %8014 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8015 = load float, ptr %8014, align 4, !tbaa !11
  %8016 = fsub float %8013, %8015
  %8017 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8016, ptr %8017, align 4, !tbaa !11
  %8018 = load ptr, ptr %14, align 8, !tbaa !5
  %8019 = load i32, ptr %21, align 4, !tbaa !9
  %8020 = sext i32 %8019 to i64
  %8021 = getelementptr inbounds %struct.complex, ptr %8018, i64 %8020
  %8022 = getelementptr inbounds %struct.complex, ptr %8021, i32 0, i32 1
  %8023 = load float, ptr %8022, align 4, !tbaa !14
  %8024 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8025 = load float, ptr %8024, align 4, !tbaa !14
  %8026 = fsub float %8023, %8025
  %8027 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8026, ptr %8027, align 4, !tbaa !14
  %8028 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8029 = load float, ptr %8028, align 4, !tbaa !11
  %8030 = load ptr, ptr %14, align 8, !tbaa !5
  %8031 = load i32, ptr %20, align 4, !tbaa !9
  %8032 = sext i32 %8031 to i64
  %8033 = getelementptr inbounds %struct.complex, ptr %8030, i64 %8032
  %8034 = getelementptr inbounds %struct.complex, ptr %8033, i32 0, i32 0
  store float %8029, ptr %8034, align 4, !tbaa !11
  %8035 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8036 = load float, ptr %8035, align 4, !tbaa !14
  %8037 = load ptr, ptr %14, align 8, !tbaa !5
  %8038 = load i32, ptr %20, align 4, !tbaa !9
  %8039 = sext i32 %8038 to i64
  %8040 = getelementptr inbounds %struct.complex, ptr %8037, i64 %8039
  %8041 = getelementptr inbounds %struct.complex, ptr %8040, i32 0, i32 1
  store float %8036, ptr %8041, align 4, !tbaa !14
  %8042 = load i32, ptr %49, align 4, !tbaa !9
  %8043 = load i32, ptr %17, align 4, !tbaa !9
  %8044 = mul nsw i32 %8042, %8043
  %8045 = add nsw i32 %8044, 5
  store i32 %8045, ptr %20, align 4, !tbaa !9
  %8046 = load i32, ptr %49, align 4, !tbaa !9
  %8047 = load i32, ptr %17, align 4, !tbaa !9
  %8048 = mul nsw i32 %8046, %8047
  %8049 = add nsw i32 %8048, 5
  store i32 %8049, ptr %21, align 4, !tbaa !9
  %8050 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8051 = load float, ptr %8050, align 4, !tbaa !11
  %8052 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %8053 = load float, ptr %8052, align 4, !tbaa !11
  %8054 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8055 = load float, ptr %8054, align 4, !tbaa !14
  %8056 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %8057 = load float, ptr %8056, align 4, !tbaa !14
  %8058 = fmul float %8055, %8057
  %8059 = fneg float %8058
  %8060 = call float @llvm.fmuladd.f32(float %8051, float %8053, float %8059)
  %8061 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8060, ptr %8061, align 4, !tbaa !11
  %8062 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8063 = load float, ptr %8062, align 4, !tbaa !11
  %8064 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %8065 = load float, ptr %8064, align 4, !tbaa !14
  %8066 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8067 = load float, ptr %8066, align 4, !tbaa !14
  %8068 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %8069 = load float, ptr %8068, align 4, !tbaa !11
  %8070 = fmul float %8067, %8069
  %8071 = call float @llvm.fmuladd.f32(float %8063, float %8065, float %8070)
  %8072 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8071, ptr %8072, align 4, !tbaa !14
  %8073 = load ptr, ptr %14, align 8, !tbaa !5
  %8074 = load i32, ptr %21, align 4, !tbaa !9
  %8075 = sext i32 %8074 to i64
  %8076 = getelementptr inbounds %struct.complex, ptr %8073, i64 %8075
  %8077 = getelementptr inbounds %struct.complex, ptr %8076, i32 0, i32 0
  %8078 = load float, ptr %8077, align 4, !tbaa !11
  %8079 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8080 = load float, ptr %8079, align 4, !tbaa !11
  %8081 = fsub float %8078, %8080
  %8082 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8081, ptr %8082, align 4, !tbaa !11
  %8083 = load ptr, ptr %14, align 8, !tbaa !5
  %8084 = load i32, ptr %21, align 4, !tbaa !9
  %8085 = sext i32 %8084 to i64
  %8086 = getelementptr inbounds %struct.complex, ptr %8083, i64 %8085
  %8087 = getelementptr inbounds %struct.complex, ptr %8086, i32 0, i32 1
  %8088 = load float, ptr %8087, align 4, !tbaa !14
  %8089 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8090 = load float, ptr %8089, align 4, !tbaa !14
  %8091 = fsub float %8088, %8090
  %8092 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8091, ptr %8092, align 4, !tbaa !14
  %8093 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8094 = load float, ptr %8093, align 4, !tbaa !11
  %8095 = load ptr, ptr %14, align 8, !tbaa !5
  %8096 = load i32, ptr %20, align 4, !tbaa !9
  %8097 = sext i32 %8096 to i64
  %8098 = getelementptr inbounds %struct.complex, ptr %8095, i64 %8097
  %8099 = getelementptr inbounds %struct.complex, ptr %8098, i32 0, i32 0
  store float %8094, ptr %8099, align 4, !tbaa !11
  %8100 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8101 = load float, ptr %8100, align 4, !tbaa !14
  %8102 = load ptr, ptr %14, align 8, !tbaa !5
  %8103 = load i32, ptr %20, align 4, !tbaa !9
  %8104 = sext i32 %8103 to i64
  %8105 = getelementptr inbounds %struct.complex, ptr %8102, i64 %8104
  %8106 = getelementptr inbounds %struct.complex, ptr %8105, i32 0, i32 1
  store float %8101, ptr %8106, align 4, !tbaa !14
  %8107 = load i32, ptr %49, align 4, !tbaa !9
  %8108 = load i32, ptr %17, align 4, !tbaa !9
  %8109 = mul nsw i32 %8107, %8108
  %8110 = add nsw i32 %8109, 6
  store i32 %8110, ptr %20, align 4, !tbaa !9
  %8111 = load i32, ptr %49, align 4, !tbaa !9
  %8112 = load i32, ptr %17, align 4, !tbaa !9
  %8113 = mul nsw i32 %8111, %8112
  %8114 = add nsw i32 %8113, 6
  store i32 %8114, ptr %21, align 4, !tbaa !9
  %8115 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8116 = load float, ptr %8115, align 4, !tbaa !11
  %8117 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %8118 = load float, ptr %8117, align 4, !tbaa !11
  %8119 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8120 = load float, ptr %8119, align 4, !tbaa !14
  %8121 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %8122 = load float, ptr %8121, align 4, !tbaa !14
  %8123 = fmul float %8120, %8122
  %8124 = fneg float %8123
  %8125 = call float @llvm.fmuladd.f32(float %8116, float %8118, float %8124)
  %8126 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8125, ptr %8126, align 4, !tbaa !11
  %8127 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8128 = load float, ptr %8127, align 4, !tbaa !11
  %8129 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %8130 = load float, ptr %8129, align 4, !tbaa !14
  %8131 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8132 = load float, ptr %8131, align 4, !tbaa !14
  %8133 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %8134 = load float, ptr %8133, align 4, !tbaa !11
  %8135 = fmul float %8132, %8134
  %8136 = call float @llvm.fmuladd.f32(float %8128, float %8130, float %8135)
  %8137 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8136, ptr %8137, align 4, !tbaa !14
  %8138 = load ptr, ptr %14, align 8, !tbaa !5
  %8139 = load i32, ptr %21, align 4, !tbaa !9
  %8140 = sext i32 %8139 to i64
  %8141 = getelementptr inbounds %struct.complex, ptr %8138, i64 %8140
  %8142 = getelementptr inbounds %struct.complex, ptr %8141, i32 0, i32 0
  %8143 = load float, ptr %8142, align 4, !tbaa !11
  %8144 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8145 = load float, ptr %8144, align 4, !tbaa !11
  %8146 = fsub float %8143, %8145
  %8147 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8146, ptr %8147, align 4, !tbaa !11
  %8148 = load ptr, ptr %14, align 8, !tbaa !5
  %8149 = load i32, ptr %21, align 4, !tbaa !9
  %8150 = sext i32 %8149 to i64
  %8151 = getelementptr inbounds %struct.complex, ptr %8148, i64 %8150
  %8152 = getelementptr inbounds %struct.complex, ptr %8151, i32 0, i32 1
  %8153 = load float, ptr %8152, align 4, !tbaa !14
  %8154 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8155 = load float, ptr %8154, align 4, !tbaa !14
  %8156 = fsub float %8153, %8155
  %8157 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8156, ptr %8157, align 4, !tbaa !14
  %8158 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8159 = load float, ptr %8158, align 4, !tbaa !11
  %8160 = load ptr, ptr %14, align 8, !tbaa !5
  %8161 = load i32, ptr %20, align 4, !tbaa !9
  %8162 = sext i32 %8161 to i64
  %8163 = getelementptr inbounds %struct.complex, ptr %8160, i64 %8162
  %8164 = getelementptr inbounds %struct.complex, ptr %8163, i32 0, i32 0
  store float %8159, ptr %8164, align 4, !tbaa !11
  %8165 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8166 = load float, ptr %8165, align 4, !tbaa !14
  %8167 = load ptr, ptr %14, align 8, !tbaa !5
  %8168 = load i32, ptr %20, align 4, !tbaa !9
  %8169 = sext i32 %8168 to i64
  %8170 = getelementptr inbounds %struct.complex, ptr %8167, i64 %8169
  %8171 = getelementptr inbounds %struct.complex, ptr %8170, i32 0, i32 1
  store float %8166, ptr %8171, align 4, !tbaa !14
  %8172 = load i32, ptr %49, align 4, !tbaa !9
  %8173 = load i32, ptr %17, align 4, !tbaa !9
  %8174 = mul nsw i32 %8172, %8173
  %8175 = add nsw i32 %8174, 7
  store i32 %8175, ptr %20, align 4, !tbaa !9
  %8176 = load i32, ptr %49, align 4, !tbaa !9
  %8177 = load i32, ptr %17, align 4, !tbaa !9
  %8178 = mul nsw i32 %8176, %8177
  %8179 = add nsw i32 %8178, 7
  store i32 %8179, ptr %21, align 4, !tbaa !9
  %8180 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8181 = load float, ptr %8180, align 4, !tbaa !11
  %8182 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %8183 = load float, ptr %8182, align 4, !tbaa !11
  %8184 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8185 = load float, ptr %8184, align 4, !tbaa !14
  %8186 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %8187 = load float, ptr %8186, align 4, !tbaa !14
  %8188 = fmul float %8185, %8187
  %8189 = fneg float %8188
  %8190 = call float @llvm.fmuladd.f32(float %8181, float %8183, float %8189)
  %8191 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8190, ptr %8191, align 4, !tbaa !11
  %8192 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8193 = load float, ptr %8192, align 4, !tbaa !11
  %8194 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %8195 = load float, ptr %8194, align 4, !tbaa !14
  %8196 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8197 = load float, ptr %8196, align 4, !tbaa !14
  %8198 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %8199 = load float, ptr %8198, align 4, !tbaa !11
  %8200 = fmul float %8197, %8199
  %8201 = call float @llvm.fmuladd.f32(float %8193, float %8195, float %8200)
  %8202 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8201, ptr %8202, align 4, !tbaa !14
  %8203 = load ptr, ptr %14, align 8, !tbaa !5
  %8204 = load i32, ptr %21, align 4, !tbaa !9
  %8205 = sext i32 %8204 to i64
  %8206 = getelementptr inbounds %struct.complex, ptr %8203, i64 %8205
  %8207 = getelementptr inbounds %struct.complex, ptr %8206, i32 0, i32 0
  %8208 = load float, ptr %8207, align 4, !tbaa !11
  %8209 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8210 = load float, ptr %8209, align 4, !tbaa !11
  %8211 = fsub float %8208, %8210
  %8212 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8211, ptr %8212, align 4, !tbaa !11
  %8213 = load ptr, ptr %14, align 8, !tbaa !5
  %8214 = load i32, ptr %21, align 4, !tbaa !9
  %8215 = sext i32 %8214 to i64
  %8216 = getelementptr inbounds %struct.complex, ptr %8213, i64 %8215
  %8217 = getelementptr inbounds %struct.complex, ptr %8216, i32 0, i32 1
  %8218 = load float, ptr %8217, align 4, !tbaa !14
  %8219 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8220 = load float, ptr %8219, align 4, !tbaa !14
  %8221 = fsub float %8218, %8220
  %8222 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8221, ptr %8222, align 4, !tbaa !14
  %8223 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8224 = load float, ptr %8223, align 4, !tbaa !11
  %8225 = load ptr, ptr %14, align 8, !tbaa !5
  %8226 = load i32, ptr %20, align 4, !tbaa !9
  %8227 = sext i32 %8226 to i64
  %8228 = getelementptr inbounds %struct.complex, ptr %8225, i64 %8227
  %8229 = getelementptr inbounds %struct.complex, ptr %8228, i32 0, i32 0
  store float %8224, ptr %8229, align 4, !tbaa !11
  %8230 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8231 = load float, ptr %8230, align 4, !tbaa !14
  %8232 = load ptr, ptr %14, align 8, !tbaa !5
  %8233 = load i32, ptr %20, align 4, !tbaa !9
  %8234 = sext i32 %8233 to i64
  %8235 = getelementptr inbounds %struct.complex, ptr %8232, i64 %8234
  %8236 = getelementptr inbounds %struct.complex, ptr %8235, i32 0, i32 1
  store float %8231, ptr %8236, align 4, !tbaa !14
  %8237 = load i32, ptr %49, align 4, !tbaa !9
  %8238 = load i32, ptr %17, align 4, !tbaa !9
  %8239 = mul nsw i32 %8237, %8238
  %8240 = add nsw i32 %8239, 8
  store i32 %8240, ptr %20, align 4, !tbaa !9
  %8241 = load i32, ptr %49, align 4, !tbaa !9
  %8242 = load i32, ptr %17, align 4, !tbaa !9
  %8243 = mul nsw i32 %8241, %8242
  %8244 = add nsw i32 %8243, 8
  store i32 %8244, ptr %21, align 4, !tbaa !9
  %8245 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8246 = load float, ptr %8245, align 4, !tbaa !11
  %8247 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %8248 = load float, ptr %8247, align 4, !tbaa !11
  %8249 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8250 = load float, ptr %8249, align 4, !tbaa !14
  %8251 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %8252 = load float, ptr %8251, align 4, !tbaa !14
  %8253 = fmul float %8250, %8252
  %8254 = fneg float %8253
  %8255 = call float @llvm.fmuladd.f32(float %8246, float %8248, float %8254)
  %8256 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8255, ptr %8256, align 4, !tbaa !11
  %8257 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8258 = load float, ptr %8257, align 4, !tbaa !11
  %8259 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %8260 = load float, ptr %8259, align 4, !tbaa !14
  %8261 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8262 = load float, ptr %8261, align 4, !tbaa !14
  %8263 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %8264 = load float, ptr %8263, align 4, !tbaa !11
  %8265 = fmul float %8262, %8264
  %8266 = call float @llvm.fmuladd.f32(float %8258, float %8260, float %8265)
  %8267 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8266, ptr %8267, align 4, !tbaa !14
  %8268 = load ptr, ptr %14, align 8, !tbaa !5
  %8269 = load i32, ptr %21, align 4, !tbaa !9
  %8270 = sext i32 %8269 to i64
  %8271 = getelementptr inbounds %struct.complex, ptr %8268, i64 %8270
  %8272 = getelementptr inbounds %struct.complex, ptr %8271, i32 0, i32 0
  %8273 = load float, ptr %8272, align 4, !tbaa !11
  %8274 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8275 = load float, ptr %8274, align 4, !tbaa !11
  %8276 = fsub float %8273, %8275
  %8277 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8276, ptr %8277, align 4, !tbaa !11
  %8278 = load ptr, ptr %14, align 8, !tbaa !5
  %8279 = load i32, ptr %21, align 4, !tbaa !9
  %8280 = sext i32 %8279 to i64
  %8281 = getelementptr inbounds %struct.complex, ptr %8278, i64 %8280
  %8282 = getelementptr inbounds %struct.complex, ptr %8281, i32 0, i32 1
  %8283 = load float, ptr %8282, align 4, !tbaa !14
  %8284 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8285 = load float, ptr %8284, align 4, !tbaa !14
  %8286 = fsub float %8283, %8285
  %8287 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8286, ptr %8287, align 4, !tbaa !14
  %8288 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8289 = load float, ptr %8288, align 4, !tbaa !11
  %8290 = load ptr, ptr %14, align 8, !tbaa !5
  %8291 = load i32, ptr %20, align 4, !tbaa !9
  %8292 = sext i32 %8291 to i64
  %8293 = getelementptr inbounds %struct.complex, ptr %8290, i64 %8292
  %8294 = getelementptr inbounds %struct.complex, ptr %8293, i32 0, i32 0
  store float %8289, ptr %8294, align 4, !tbaa !11
  %8295 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8296 = load float, ptr %8295, align 4, !tbaa !14
  %8297 = load ptr, ptr %14, align 8, !tbaa !5
  %8298 = load i32, ptr %20, align 4, !tbaa !9
  %8299 = sext i32 %8298 to i64
  %8300 = getelementptr inbounds %struct.complex, ptr %8297, i64 %8299
  %8301 = getelementptr inbounds %struct.complex, ptr %8300, i32 0, i32 1
  store float %8296, ptr %8301, align 4, !tbaa !14
  %8302 = load i32, ptr %49, align 4, !tbaa !9
  %8303 = load i32, ptr %17, align 4, !tbaa !9
  %8304 = mul nsw i32 %8302, %8303
  %8305 = add nsw i32 %8304, 9
  store i32 %8305, ptr %20, align 4, !tbaa !9
  %8306 = load i32, ptr %49, align 4, !tbaa !9
  %8307 = load i32, ptr %17, align 4, !tbaa !9
  %8308 = mul nsw i32 %8306, %8307
  %8309 = add nsw i32 %8308, 9
  store i32 %8309, ptr %21, align 4, !tbaa !9
  %8310 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8311 = load float, ptr %8310, align 4, !tbaa !11
  %8312 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %8313 = load float, ptr %8312, align 4, !tbaa !11
  %8314 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8315 = load float, ptr %8314, align 4, !tbaa !14
  %8316 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %8317 = load float, ptr %8316, align 4, !tbaa !14
  %8318 = fmul float %8315, %8317
  %8319 = fneg float %8318
  %8320 = call float @llvm.fmuladd.f32(float %8311, float %8313, float %8319)
  %8321 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8320, ptr %8321, align 4, !tbaa !11
  %8322 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %8323 = load float, ptr %8322, align 4, !tbaa !11
  %8324 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %8325 = load float, ptr %8324, align 4, !tbaa !14
  %8326 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %8327 = load float, ptr %8326, align 4, !tbaa !14
  %8328 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %8329 = load float, ptr %8328, align 4, !tbaa !11
  %8330 = fmul float %8327, %8329
  %8331 = call float @llvm.fmuladd.f32(float %8323, float %8325, float %8330)
  %8332 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8331, ptr %8332, align 4, !tbaa !14
  %8333 = load ptr, ptr %14, align 8, !tbaa !5
  %8334 = load i32, ptr %21, align 4, !tbaa !9
  %8335 = sext i32 %8334 to i64
  %8336 = getelementptr inbounds %struct.complex, ptr %8333, i64 %8335
  %8337 = getelementptr inbounds %struct.complex, ptr %8336, i32 0, i32 0
  %8338 = load float, ptr %8337, align 4, !tbaa !11
  %8339 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8340 = load float, ptr %8339, align 4, !tbaa !11
  %8341 = fsub float %8338, %8340
  %8342 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8341, ptr %8342, align 4, !tbaa !11
  %8343 = load ptr, ptr %14, align 8, !tbaa !5
  %8344 = load i32, ptr %21, align 4, !tbaa !9
  %8345 = sext i32 %8344 to i64
  %8346 = getelementptr inbounds %struct.complex, ptr %8343, i64 %8345
  %8347 = getelementptr inbounds %struct.complex, ptr %8346, i32 0, i32 1
  %8348 = load float, ptr %8347, align 4, !tbaa !14
  %8349 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8350 = load float, ptr %8349, align 4, !tbaa !14
  %8351 = fsub float %8348, %8350
  %8352 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8351, ptr %8352, align 4, !tbaa !14
  %8353 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8354 = load float, ptr %8353, align 4, !tbaa !11
  %8355 = load ptr, ptr %14, align 8, !tbaa !5
  %8356 = load i32, ptr %20, align 4, !tbaa !9
  %8357 = sext i32 %8356 to i64
  %8358 = getelementptr inbounds %struct.complex, ptr %8355, i64 %8357
  %8359 = getelementptr inbounds %struct.complex, ptr %8358, i32 0, i32 0
  store float %8354, ptr %8359, align 4, !tbaa !11
  %8360 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8361 = load float, ptr %8360, align 4, !tbaa !14
  %8362 = load ptr, ptr %14, align 8, !tbaa !5
  %8363 = load i32, ptr %20, align 4, !tbaa !9
  %8364 = sext i32 %8363 to i64
  %8365 = getelementptr inbounds %struct.complex, ptr %8362, i64 %8364
  %8366 = getelementptr inbounds %struct.complex, ptr %8365, i32 0, i32 1
  store float %8361, ptr %8366, align 4, !tbaa !14
  br label %8367

8367:                                             ; preds = %7292
  %8368 = load i32, ptr %49, align 4, !tbaa !9
  %8369 = add nsw i32 %8368, 1
  store i32 %8369, ptr %49, align 4, !tbaa !9
  br label %7288, !llvm.loop !24

8370:                                             ; preds = %7288
  br label %19663

8371:                                             ; preds = %276
  %8372 = load ptr, ptr %12, align 8, !tbaa !5
  %8373 = getelementptr inbounds %struct.complex, ptr %8372, i64 1
  %8374 = call <2 x float> @Cf(ptr noundef %8373)
  store <2 x float> %8374, ptr %161, align 4
  %8375 = getelementptr inbounds { float, float }, ptr %161, i32 0, i32 0
  %8376 = load float, ptr %8375, align 4
  %8377 = getelementptr inbounds { float, float }, ptr %161, i32 0, i32 1
  %8378 = load float, ptr %8377, align 4
  %8379 = fneg float %8378
  %8380 = call ptr @_pCf(ptr noundef %30)
  %8381 = getelementptr inbounds { float, float }, ptr %8380, i32 0, i32 0
  %8382 = getelementptr inbounds { float, float }, ptr %8380, i32 0, i32 1
  store float %8376, ptr %8381, align 4
  store float %8379, ptr %8382, align 4
  %8383 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8384 = load float, ptr %8383, align 4, !tbaa !11
  %8385 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %8384, ptr %8385, align 4, !tbaa !11
  %8386 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8387 = load float, ptr %8386, align 4, !tbaa !14
  %8388 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %8387, ptr %8388, align 4, !tbaa !14
  %8389 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %8389, ptr %162, align 4
  %8390 = getelementptr inbounds { float, float }, ptr %162, i32 0, i32 0
  %8391 = load float, ptr %8390, align 4
  %8392 = getelementptr inbounds { float, float }, ptr %162, i32 0, i32 1
  %8393 = load float, ptr %8392, align 4
  %8394 = fneg float %8393
  %8395 = call ptr @_pCf(ptr noundef %31)
  %8396 = getelementptr inbounds { float, float }, ptr %8395, i32 0, i32 0
  %8397 = getelementptr inbounds { float, float }, ptr %8395, i32 0, i32 1
  store float %8391, ptr %8396, align 4
  store float %8394, ptr %8397, align 4
  %8398 = load ptr, ptr %13, align 8, !tbaa !5
  %8399 = getelementptr inbounds %struct.complex, ptr %8398, i32 0, i32 0
  %8400 = load float, ptr %8399, align 4, !tbaa !11
  %8401 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8402 = load float, ptr %8401, align 4, !tbaa !11
  %8403 = load ptr, ptr %13, align 8, !tbaa !5
  %8404 = getelementptr inbounds %struct.complex, ptr %8403, i32 0, i32 1
  %8405 = load float, ptr %8404, align 4, !tbaa !14
  %8406 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8407 = load float, ptr %8406, align 4, !tbaa !14
  %8408 = fmul float %8405, %8407
  %8409 = fneg float %8408
  %8410 = call float @llvm.fmuladd.f32(float %8400, float %8402, float %8409)
  %8411 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8410, ptr %8411, align 4, !tbaa !11
  %8412 = load ptr, ptr %13, align 8, !tbaa !5
  %8413 = getelementptr inbounds %struct.complex, ptr %8412, i32 0, i32 0
  %8414 = load float, ptr %8413, align 4, !tbaa !11
  %8415 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8416 = load float, ptr %8415, align 4, !tbaa !14
  %8417 = load ptr, ptr %13, align 8, !tbaa !5
  %8418 = getelementptr inbounds %struct.complex, ptr %8417, i32 0, i32 1
  %8419 = load float, ptr %8418, align 4, !tbaa !14
  %8420 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8421 = load float, ptr %8420, align 4, !tbaa !11
  %8422 = fmul float %8419, %8421
  %8423 = call float @llvm.fmuladd.f32(float %8414, float %8416, float %8422)
  %8424 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8423, ptr %8424, align 4, !tbaa !14
  %8425 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8426 = load float, ptr %8425, align 4, !tbaa !11
  %8427 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %8426, ptr %8427, align 4, !tbaa !11
  %8428 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8429 = load float, ptr %8428, align 4, !tbaa !14
  %8430 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %8429, ptr %8430, align 4, !tbaa !14
  %8431 = load ptr, ptr %12, align 8, !tbaa !5
  %8432 = getelementptr inbounds %struct.complex, ptr %8431, i64 2
  %8433 = call <2 x float> @Cf(ptr noundef %8432)
  store <2 x float> %8433, ptr %163, align 4
  %8434 = getelementptr inbounds { float, float }, ptr %163, i32 0, i32 0
  %8435 = load float, ptr %8434, align 4
  %8436 = getelementptr inbounds { float, float }, ptr %163, i32 0, i32 1
  %8437 = load float, ptr %8436, align 4
  %8438 = fneg float %8437
  %8439 = call ptr @_pCf(ptr noundef %30)
  %8440 = getelementptr inbounds { float, float }, ptr %8439, i32 0, i32 0
  %8441 = getelementptr inbounds { float, float }, ptr %8439, i32 0, i32 1
  store float %8435, ptr %8440, align 4
  store float %8438, ptr %8441, align 4
  %8442 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8443 = load float, ptr %8442, align 4, !tbaa !11
  %8444 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %8443, ptr %8444, align 4, !tbaa !11
  %8445 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8446 = load float, ptr %8445, align 4, !tbaa !14
  %8447 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %8446, ptr %8447, align 4, !tbaa !14
  %8448 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %8448, ptr %164, align 4
  %8449 = getelementptr inbounds { float, float }, ptr %164, i32 0, i32 0
  %8450 = load float, ptr %8449, align 4
  %8451 = getelementptr inbounds { float, float }, ptr %164, i32 0, i32 1
  %8452 = load float, ptr %8451, align 4
  %8453 = fneg float %8452
  %8454 = call ptr @_pCf(ptr noundef %31)
  %8455 = getelementptr inbounds { float, float }, ptr %8454, i32 0, i32 0
  %8456 = getelementptr inbounds { float, float }, ptr %8454, i32 0, i32 1
  store float %8450, ptr %8455, align 4
  store float %8453, ptr %8456, align 4
  %8457 = load ptr, ptr %13, align 8, !tbaa !5
  %8458 = getelementptr inbounds %struct.complex, ptr %8457, i32 0, i32 0
  %8459 = load float, ptr %8458, align 4, !tbaa !11
  %8460 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8461 = load float, ptr %8460, align 4, !tbaa !11
  %8462 = load ptr, ptr %13, align 8, !tbaa !5
  %8463 = getelementptr inbounds %struct.complex, ptr %8462, i32 0, i32 1
  %8464 = load float, ptr %8463, align 4, !tbaa !14
  %8465 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8466 = load float, ptr %8465, align 4, !tbaa !14
  %8467 = fmul float %8464, %8466
  %8468 = fneg float %8467
  %8469 = call float @llvm.fmuladd.f32(float %8459, float %8461, float %8468)
  %8470 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8469, ptr %8470, align 4, !tbaa !11
  %8471 = load ptr, ptr %13, align 8, !tbaa !5
  %8472 = getelementptr inbounds %struct.complex, ptr %8471, i32 0, i32 0
  %8473 = load float, ptr %8472, align 4, !tbaa !11
  %8474 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8475 = load float, ptr %8474, align 4, !tbaa !14
  %8476 = load ptr, ptr %13, align 8, !tbaa !5
  %8477 = getelementptr inbounds %struct.complex, ptr %8476, i32 0, i32 1
  %8478 = load float, ptr %8477, align 4, !tbaa !14
  %8479 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8480 = load float, ptr %8479, align 4, !tbaa !11
  %8481 = fmul float %8478, %8480
  %8482 = call float @llvm.fmuladd.f32(float %8473, float %8475, float %8481)
  %8483 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8482, ptr %8483, align 4, !tbaa !14
  %8484 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8485 = load float, ptr %8484, align 4, !tbaa !11
  %8486 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %8485, ptr %8486, align 4, !tbaa !11
  %8487 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8488 = load float, ptr %8487, align 4, !tbaa !14
  %8489 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %8488, ptr %8489, align 4, !tbaa !14
  %8490 = load ptr, ptr %12, align 8, !tbaa !5
  %8491 = getelementptr inbounds %struct.complex, ptr %8490, i64 3
  %8492 = call <2 x float> @Cf(ptr noundef %8491)
  store <2 x float> %8492, ptr %165, align 4
  %8493 = getelementptr inbounds { float, float }, ptr %165, i32 0, i32 0
  %8494 = load float, ptr %8493, align 4
  %8495 = getelementptr inbounds { float, float }, ptr %165, i32 0, i32 1
  %8496 = load float, ptr %8495, align 4
  %8497 = fneg float %8496
  %8498 = call ptr @_pCf(ptr noundef %30)
  %8499 = getelementptr inbounds { float, float }, ptr %8498, i32 0, i32 0
  %8500 = getelementptr inbounds { float, float }, ptr %8498, i32 0, i32 1
  store float %8494, ptr %8499, align 4
  store float %8497, ptr %8500, align 4
  %8501 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8502 = load float, ptr %8501, align 4, !tbaa !11
  %8503 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %8502, ptr %8503, align 4, !tbaa !11
  %8504 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8505 = load float, ptr %8504, align 4, !tbaa !14
  %8506 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %8505, ptr %8506, align 4, !tbaa !14
  %8507 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %8507, ptr %166, align 4
  %8508 = getelementptr inbounds { float, float }, ptr %166, i32 0, i32 0
  %8509 = load float, ptr %8508, align 4
  %8510 = getelementptr inbounds { float, float }, ptr %166, i32 0, i32 1
  %8511 = load float, ptr %8510, align 4
  %8512 = fneg float %8511
  %8513 = call ptr @_pCf(ptr noundef %31)
  %8514 = getelementptr inbounds { float, float }, ptr %8513, i32 0, i32 0
  %8515 = getelementptr inbounds { float, float }, ptr %8513, i32 0, i32 1
  store float %8509, ptr %8514, align 4
  store float %8512, ptr %8515, align 4
  %8516 = load ptr, ptr %13, align 8, !tbaa !5
  %8517 = getelementptr inbounds %struct.complex, ptr %8516, i32 0, i32 0
  %8518 = load float, ptr %8517, align 4, !tbaa !11
  %8519 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8520 = load float, ptr %8519, align 4, !tbaa !11
  %8521 = load ptr, ptr %13, align 8, !tbaa !5
  %8522 = getelementptr inbounds %struct.complex, ptr %8521, i32 0, i32 1
  %8523 = load float, ptr %8522, align 4, !tbaa !14
  %8524 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8525 = load float, ptr %8524, align 4, !tbaa !14
  %8526 = fmul float %8523, %8525
  %8527 = fneg float %8526
  %8528 = call float @llvm.fmuladd.f32(float %8518, float %8520, float %8527)
  %8529 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8528, ptr %8529, align 4, !tbaa !11
  %8530 = load ptr, ptr %13, align 8, !tbaa !5
  %8531 = getelementptr inbounds %struct.complex, ptr %8530, i32 0, i32 0
  %8532 = load float, ptr %8531, align 4, !tbaa !11
  %8533 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8534 = load float, ptr %8533, align 4, !tbaa !14
  %8535 = load ptr, ptr %13, align 8, !tbaa !5
  %8536 = getelementptr inbounds %struct.complex, ptr %8535, i32 0, i32 1
  %8537 = load float, ptr %8536, align 4, !tbaa !14
  %8538 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8539 = load float, ptr %8538, align 4, !tbaa !11
  %8540 = fmul float %8537, %8539
  %8541 = call float @llvm.fmuladd.f32(float %8532, float %8534, float %8540)
  %8542 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8541, ptr %8542, align 4, !tbaa !14
  %8543 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8544 = load float, ptr %8543, align 4, !tbaa !11
  %8545 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %8544, ptr %8545, align 4, !tbaa !11
  %8546 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8547 = load float, ptr %8546, align 4, !tbaa !14
  %8548 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %8547, ptr %8548, align 4, !tbaa !14
  %8549 = load ptr, ptr %12, align 8, !tbaa !5
  %8550 = getelementptr inbounds %struct.complex, ptr %8549, i64 4
  %8551 = call <2 x float> @Cf(ptr noundef %8550)
  store <2 x float> %8551, ptr %167, align 4
  %8552 = getelementptr inbounds { float, float }, ptr %167, i32 0, i32 0
  %8553 = load float, ptr %8552, align 4
  %8554 = getelementptr inbounds { float, float }, ptr %167, i32 0, i32 1
  %8555 = load float, ptr %8554, align 4
  %8556 = fneg float %8555
  %8557 = call ptr @_pCf(ptr noundef %30)
  %8558 = getelementptr inbounds { float, float }, ptr %8557, i32 0, i32 0
  %8559 = getelementptr inbounds { float, float }, ptr %8557, i32 0, i32 1
  store float %8553, ptr %8558, align 4
  store float %8556, ptr %8559, align 4
  %8560 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8561 = load float, ptr %8560, align 4, !tbaa !11
  %8562 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %8561, ptr %8562, align 4, !tbaa !11
  %8563 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8564 = load float, ptr %8563, align 4, !tbaa !14
  %8565 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %8564, ptr %8565, align 4, !tbaa !14
  %8566 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %8566, ptr %168, align 4
  %8567 = getelementptr inbounds { float, float }, ptr %168, i32 0, i32 0
  %8568 = load float, ptr %8567, align 4
  %8569 = getelementptr inbounds { float, float }, ptr %168, i32 0, i32 1
  %8570 = load float, ptr %8569, align 4
  %8571 = fneg float %8570
  %8572 = call ptr @_pCf(ptr noundef %31)
  %8573 = getelementptr inbounds { float, float }, ptr %8572, i32 0, i32 0
  %8574 = getelementptr inbounds { float, float }, ptr %8572, i32 0, i32 1
  store float %8568, ptr %8573, align 4
  store float %8571, ptr %8574, align 4
  %8575 = load ptr, ptr %13, align 8, !tbaa !5
  %8576 = getelementptr inbounds %struct.complex, ptr %8575, i32 0, i32 0
  %8577 = load float, ptr %8576, align 4, !tbaa !11
  %8578 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8579 = load float, ptr %8578, align 4, !tbaa !11
  %8580 = load ptr, ptr %13, align 8, !tbaa !5
  %8581 = getelementptr inbounds %struct.complex, ptr %8580, i32 0, i32 1
  %8582 = load float, ptr %8581, align 4, !tbaa !14
  %8583 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8584 = load float, ptr %8583, align 4, !tbaa !14
  %8585 = fmul float %8582, %8584
  %8586 = fneg float %8585
  %8587 = call float @llvm.fmuladd.f32(float %8577, float %8579, float %8586)
  %8588 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8587, ptr %8588, align 4, !tbaa !11
  %8589 = load ptr, ptr %13, align 8, !tbaa !5
  %8590 = getelementptr inbounds %struct.complex, ptr %8589, i32 0, i32 0
  %8591 = load float, ptr %8590, align 4, !tbaa !11
  %8592 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8593 = load float, ptr %8592, align 4, !tbaa !14
  %8594 = load ptr, ptr %13, align 8, !tbaa !5
  %8595 = getelementptr inbounds %struct.complex, ptr %8594, i32 0, i32 1
  %8596 = load float, ptr %8595, align 4, !tbaa !14
  %8597 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8598 = load float, ptr %8597, align 4, !tbaa !11
  %8599 = fmul float %8596, %8598
  %8600 = call float @llvm.fmuladd.f32(float %8591, float %8593, float %8599)
  %8601 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8600, ptr %8601, align 4, !tbaa !14
  %8602 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8603 = load float, ptr %8602, align 4, !tbaa !11
  %8604 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %8603, ptr %8604, align 4, !tbaa !11
  %8605 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8606 = load float, ptr %8605, align 4, !tbaa !14
  %8607 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %8606, ptr %8607, align 4, !tbaa !14
  %8608 = load ptr, ptr %12, align 8, !tbaa !5
  %8609 = getelementptr inbounds %struct.complex, ptr %8608, i64 5
  %8610 = call <2 x float> @Cf(ptr noundef %8609)
  store <2 x float> %8610, ptr %169, align 4
  %8611 = getelementptr inbounds { float, float }, ptr %169, i32 0, i32 0
  %8612 = load float, ptr %8611, align 4
  %8613 = getelementptr inbounds { float, float }, ptr %169, i32 0, i32 1
  %8614 = load float, ptr %8613, align 4
  %8615 = fneg float %8614
  %8616 = call ptr @_pCf(ptr noundef %30)
  %8617 = getelementptr inbounds { float, float }, ptr %8616, i32 0, i32 0
  %8618 = getelementptr inbounds { float, float }, ptr %8616, i32 0, i32 1
  store float %8612, ptr %8617, align 4
  store float %8615, ptr %8618, align 4
  %8619 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8620 = load float, ptr %8619, align 4, !tbaa !11
  %8621 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %8620, ptr %8621, align 4, !tbaa !11
  %8622 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8623 = load float, ptr %8622, align 4, !tbaa !14
  %8624 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %8623, ptr %8624, align 4, !tbaa !14
  %8625 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %8625, ptr %170, align 4
  %8626 = getelementptr inbounds { float, float }, ptr %170, i32 0, i32 0
  %8627 = load float, ptr %8626, align 4
  %8628 = getelementptr inbounds { float, float }, ptr %170, i32 0, i32 1
  %8629 = load float, ptr %8628, align 4
  %8630 = fneg float %8629
  %8631 = call ptr @_pCf(ptr noundef %31)
  %8632 = getelementptr inbounds { float, float }, ptr %8631, i32 0, i32 0
  %8633 = getelementptr inbounds { float, float }, ptr %8631, i32 0, i32 1
  store float %8627, ptr %8632, align 4
  store float %8630, ptr %8633, align 4
  %8634 = load ptr, ptr %13, align 8, !tbaa !5
  %8635 = getelementptr inbounds %struct.complex, ptr %8634, i32 0, i32 0
  %8636 = load float, ptr %8635, align 4, !tbaa !11
  %8637 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8638 = load float, ptr %8637, align 4, !tbaa !11
  %8639 = load ptr, ptr %13, align 8, !tbaa !5
  %8640 = getelementptr inbounds %struct.complex, ptr %8639, i32 0, i32 1
  %8641 = load float, ptr %8640, align 4, !tbaa !14
  %8642 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8643 = load float, ptr %8642, align 4, !tbaa !14
  %8644 = fmul float %8641, %8643
  %8645 = fneg float %8644
  %8646 = call float @llvm.fmuladd.f32(float %8636, float %8638, float %8645)
  %8647 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8646, ptr %8647, align 4, !tbaa !11
  %8648 = load ptr, ptr %13, align 8, !tbaa !5
  %8649 = getelementptr inbounds %struct.complex, ptr %8648, i32 0, i32 0
  %8650 = load float, ptr %8649, align 4, !tbaa !11
  %8651 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8652 = load float, ptr %8651, align 4, !tbaa !14
  %8653 = load ptr, ptr %13, align 8, !tbaa !5
  %8654 = getelementptr inbounds %struct.complex, ptr %8653, i32 0, i32 1
  %8655 = load float, ptr %8654, align 4, !tbaa !14
  %8656 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8657 = load float, ptr %8656, align 4, !tbaa !11
  %8658 = fmul float %8655, %8657
  %8659 = call float @llvm.fmuladd.f32(float %8650, float %8652, float %8658)
  %8660 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8659, ptr %8660, align 4, !tbaa !14
  %8661 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8662 = load float, ptr %8661, align 4, !tbaa !11
  %8663 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %8662, ptr %8663, align 4, !tbaa !11
  %8664 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8665 = load float, ptr %8664, align 4, !tbaa !14
  %8666 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %8665, ptr %8666, align 4, !tbaa !14
  %8667 = load ptr, ptr %12, align 8, !tbaa !5
  %8668 = getelementptr inbounds %struct.complex, ptr %8667, i64 6
  %8669 = call <2 x float> @Cf(ptr noundef %8668)
  store <2 x float> %8669, ptr %171, align 4
  %8670 = getelementptr inbounds { float, float }, ptr %171, i32 0, i32 0
  %8671 = load float, ptr %8670, align 4
  %8672 = getelementptr inbounds { float, float }, ptr %171, i32 0, i32 1
  %8673 = load float, ptr %8672, align 4
  %8674 = fneg float %8673
  %8675 = call ptr @_pCf(ptr noundef %30)
  %8676 = getelementptr inbounds { float, float }, ptr %8675, i32 0, i32 0
  %8677 = getelementptr inbounds { float, float }, ptr %8675, i32 0, i32 1
  store float %8671, ptr %8676, align 4
  store float %8674, ptr %8677, align 4
  %8678 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8679 = load float, ptr %8678, align 4, !tbaa !11
  %8680 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %8679, ptr %8680, align 4, !tbaa !11
  %8681 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8682 = load float, ptr %8681, align 4, !tbaa !14
  %8683 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %8682, ptr %8683, align 4, !tbaa !14
  %8684 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %8684, ptr %172, align 4
  %8685 = getelementptr inbounds { float, float }, ptr %172, i32 0, i32 0
  %8686 = load float, ptr %8685, align 4
  %8687 = getelementptr inbounds { float, float }, ptr %172, i32 0, i32 1
  %8688 = load float, ptr %8687, align 4
  %8689 = fneg float %8688
  %8690 = call ptr @_pCf(ptr noundef %31)
  %8691 = getelementptr inbounds { float, float }, ptr %8690, i32 0, i32 0
  %8692 = getelementptr inbounds { float, float }, ptr %8690, i32 0, i32 1
  store float %8686, ptr %8691, align 4
  store float %8689, ptr %8692, align 4
  %8693 = load ptr, ptr %13, align 8, !tbaa !5
  %8694 = getelementptr inbounds %struct.complex, ptr %8693, i32 0, i32 0
  %8695 = load float, ptr %8694, align 4, !tbaa !11
  %8696 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8697 = load float, ptr %8696, align 4, !tbaa !11
  %8698 = load ptr, ptr %13, align 8, !tbaa !5
  %8699 = getelementptr inbounds %struct.complex, ptr %8698, i32 0, i32 1
  %8700 = load float, ptr %8699, align 4, !tbaa !14
  %8701 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8702 = load float, ptr %8701, align 4, !tbaa !14
  %8703 = fmul float %8700, %8702
  %8704 = fneg float %8703
  %8705 = call float @llvm.fmuladd.f32(float %8695, float %8697, float %8704)
  %8706 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8705, ptr %8706, align 4, !tbaa !11
  %8707 = load ptr, ptr %13, align 8, !tbaa !5
  %8708 = getelementptr inbounds %struct.complex, ptr %8707, i32 0, i32 0
  %8709 = load float, ptr %8708, align 4, !tbaa !11
  %8710 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8711 = load float, ptr %8710, align 4, !tbaa !14
  %8712 = load ptr, ptr %13, align 8, !tbaa !5
  %8713 = getelementptr inbounds %struct.complex, ptr %8712, i32 0, i32 1
  %8714 = load float, ptr %8713, align 4, !tbaa !14
  %8715 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8716 = load float, ptr %8715, align 4, !tbaa !11
  %8717 = fmul float %8714, %8716
  %8718 = call float @llvm.fmuladd.f32(float %8709, float %8711, float %8717)
  %8719 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8718, ptr %8719, align 4, !tbaa !14
  %8720 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8721 = load float, ptr %8720, align 4, !tbaa !11
  %8722 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %8721, ptr %8722, align 4, !tbaa !11
  %8723 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8724 = load float, ptr %8723, align 4, !tbaa !14
  %8725 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %8724, ptr %8725, align 4, !tbaa !14
  %8726 = load ptr, ptr %12, align 8, !tbaa !5
  %8727 = getelementptr inbounds %struct.complex, ptr %8726, i64 7
  %8728 = call <2 x float> @Cf(ptr noundef %8727)
  store <2 x float> %8728, ptr %173, align 4
  %8729 = getelementptr inbounds { float, float }, ptr %173, i32 0, i32 0
  %8730 = load float, ptr %8729, align 4
  %8731 = getelementptr inbounds { float, float }, ptr %173, i32 0, i32 1
  %8732 = load float, ptr %8731, align 4
  %8733 = fneg float %8732
  %8734 = call ptr @_pCf(ptr noundef %30)
  %8735 = getelementptr inbounds { float, float }, ptr %8734, i32 0, i32 0
  %8736 = getelementptr inbounds { float, float }, ptr %8734, i32 0, i32 1
  store float %8730, ptr %8735, align 4
  store float %8733, ptr %8736, align 4
  %8737 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8738 = load float, ptr %8737, align 4, !tbaa !11
  %8739 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %8738, ptr %8739, align 4, !tbaa !11
  %8740 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8741 = load float, ptr %8740, align 4, !tbaa !14
  %8742 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %8741, ptr %8742, align 4, !tbaa !14
  %8743 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %8743, ptr %174, align 4
  %8744 = getelementptr inbounds { float, float }, ptr %174, i32 0, i32 0
  %8745 = load float, ptr %8744, align 4
  %8746 = getelementptr inbounds { float, float }, ptr %174, i32 0, i32 1
  %8747 = load float, ptr %8746, align 4
  %8748 = fneg float %8747
  %8749 = call ptr @_pCf(ptr noundef %31)
  %8750 = getelementptr inbounds { float, float }, ptr %8749, i32 0, i32 0
  %8751 = getelementptr inbounds { float, float }, ptr %8749, i32 0, i32 1
  store float %8745, ptr %8750, align 4
  store float %8748, ptr %8751, align 4
  %8752 = load ptr, ptr %13, align 8, !tbaa !5
  %8753 = getelementptr inbounds %struct.complex, ptr %8752, i32 0, i32 0
  %8754 = load float, ptr %8753, align 4, !tbaa !11
  %8755 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8756 = load float, ptr %8755, align 4, !tbaa !11
  %8757 = load ptr, ptr %13, align 8, !tbaa !5
  %8758 = getelementptr inbounds %struct.complex, ptr %8757, i32 0, i32 1
  %8759 = load float, ptr %8758, align 4, !tbaa !14
  %8760 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8761 = load float, ptr %8760, align 4, !tbaa !14
  %8762 = fmul float %8759, %8761
  %8763 = fneg float %8762
  %8764 = call float @llvm.fmuladd.f32(float %8754, float %8756, float %8763)
  %8765 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8764, ptr %8765, align 4, !tbaa !11
  %8766 = load ptr, ptr %13, align 8, !tbaa !5
  %8767 = getelementptr inbounds %struct.complex, ptr %8766, i32 0, i32 0
  %8768 = load float, ptr %8767, align 4, !tbaa !11
  %8769 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8770 = load float, ptr %8769, align 4, !tbaa !14
  %8771 = load ptr, ptr %13, align 8, !tbaa !5
  %8772 = getelementptr inbounds %struct.complex, ptr %8771, i32 0, i32 1
  %8773 = load float, ptr %8772, align 4, !tbaa !14
  %8774 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8775 = load float, ptr %8774, align 4, !tbaa !11
  %8776 = fmul float %8773, %8775
  %8777 = call float @llvm.fmuladd.f32(float %8768, float %8770, float %8776)
  %8778 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8777, ptr %8778, align 4, !tbaa !14
  %8779 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8780 = load float, ptr %8779, align 4, !tbaa !11
  %8781 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %8780, ptr %8781, align 4, !tbaa !11
  %8782 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8783 = load float, ptr %8782, align 4, !tbaa !14
  %8784 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %8783, ptr %8784, align 4, !tbaa !14
  %8785 = load ptr, ptr %12, align 8, !tbaa !5
  %8786 = getelementptr inbounds %struct.complex, ptr %8785, i64 8
  %8787 = call <2 x float> @Cf(ptr noundef %8786)
  store <2 x float> %8787, ptr %175, align 4
  %8788 = getelementptr inbounds { float, float }, ptr %175, i32 0, i32 0
  %8789 = load float, ptr %8788, align 4
  %8790 = getelementptr inbounds { float, float }, ptr %175, i32 0, i32 1
  %8791 = load float, ptr %8790, align 4
  %8792 = fneg float %8791
  %8793 = call ptr @_pCf(ptr noundef %30)
  %8794 = getelementptr inbounds { float, float }, ptr %8793, i32 0, i32 0
  %8795 = getelementptr inbounds { float, float }, ptr %8793, i32 0, i32 1
  store float %8789, ptr %8794, align 4
  store float %8792, ptr %8795, align 4
  %8796 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8797 = load float, ptr %8796, align 4, !tbaa !11
  %8798 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %8797, ptr %8798, align 4, !tbaa !11
  %8799 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8800 = load float, ptr %8799, align 4, !tbaa !14
  %8801 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %8800, ptr %8801, align 4, !tbaa !14
  %8802 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %8802, ptr %176, align 4
  %8803 = getelementptr inbounds { float, float }, ptr %176, i32 0, i32 0
  %8804 = load float, ptr %8803, align 4
  %8805 = getelementptr inbounds { float, float }, ptr %176, i32 0, i32 1
  %8806 = load float, ptr %8805, align 4
  %8807 = fneg float %8806
  %8808 = call ptr @_pCf(ptr noundef %31)
  %8809 = getelementptr inbounds { float, float }, ptr %8808, i32 0, i32 0
  %8810 = getelementptr inbounds { float, float }, ptr %8808, i32 0, i32 1
  store float %8804, ptr %8809, align 4
  store float %8807, ptr %8810, align 4
  %8811 = load ptr, ptr %13, align 8, !tbaa !5
  %8812 = getelementptr inbounds %struct.complex, ptr %8811, i32 0, i32 0
  %8813 = load float, ptr %8812, align 4, !tbaa !11
  %8814 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8815 = load float, ptr %8814, align 4, !tbaa !11
  %8816 = load ptr, ptr %13, align 8, !tbaa !5
  %8817 = getelementptr inbounds %struct.complex, ptr %8816, i32 0, i32 1
  %8818 = load float, ptr %8817, align 4, !tbaa !14
  %8819 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8820 = load float, ptr %8819, align 4, !tbaa !14
  %8821 = fmul float %8818, %8820
  %8822 = fneg float %8821
  %8823 = call float @llvm.fmuladd.f32(float %8813, float %8815, float %8822)
  %8824 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8823, ptr %8824, align 4, !tbaa !11
  %8825 = load ptr, ptr %13, align 8, !tbaa !5
  %8826 = getelementptr inbounds %struct.complex, ptr %8825, i32 0, i32 0
  %8827 = load float, ptr %8826, align 4, !tbaa !11
  %8828 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8829 = load float, ptr %8828, align 4, !tbaa !14
  %8830 = load ptr, ptr %13, align 8, !tbaa !5
  %8831 = getelementptr inbounds %struct.complex, ptr %8830, i32 0, i32 1
  %8832 = load float, ptr %8831, align 4, !tbaa !14
  %8833 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8834 = load float, ptr %8833, align 4, !tbaa !11
  %8835 = fmul float %8832, %8834
  %8836 = call float @llvm.fmuladd.f32(float %8827, float %8829, float %8835)
  %8837 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8836, ptr %8837, align 4, !tbaa !14
  %8838 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8839 = load float, ptr %8838, align 4, !tbaa !11
  %8840 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %8839, ptr %8840, align 4, !tbaa !11
  %8841 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8842 = load float, ptr %8841, align 4, !tbaa !14
  %8843 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %8842, ptr %8843, align 4, !tbaa !14
  %8844 = load ptr, ptr %12, align 8, !tbaa !5
  %8845 = getelementptr inbounds %struct.complex, ptr %8844, i64 9
  %8846 = call <2 x float> @Cf(ptr noundef %8845)
  store <2 x float> %8846, ptr %177, align 4
  %8847 = getelementptr inbounds { float, float }, ptr %177, i32 0, i32 0
  %8848 = load float, ptr %8847, align 4
  %8849 = getelementptr inbounds { float, float }, ptr %177, i32 0, i32 1
  %8850 = load float, ptr %8849, align 4
  %8851 = fneg float %8850
  %8852 = call ptr @_pCf(ptr noundef %30)
  %8853 = getelementptr inbounds { float, float }, ptr %8852, i32 0, i32 0
  %8854 = getelementptr inbounds { float, float }, ptr %8852, i32 0, i32 1
  store float %8848, ptr %8853, align 4
  store float %8851, ptr %8854, align 4
  %8855 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8856 = load float, ptr %8855, align 4, !tbaa !11
  %8857 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %8856, ptr %8857, align 4, !tbaa !11
  %8858 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8859 = load float, ptr %8858, align 4, !tbaa !14
  %8860 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %8859, ptr %8860, align 4, !tbaa !14
  %8861 = call <2 x float> @Cf(ptr noundef %67)
  store <2 x float> %8861, ptr %178, align 4
  %8862 = getelementptr inbounds { float, float }, ptr %178, i32 0, i32 0
  %8863 = load float, ptr %8862, align 4
  %8864 = getelementptr inbounds { float, float }, ptr %178, i32 0, i32 1
  %8865 = load float, ptr %8864, align 4
  %8866 = fneg float %8865
  %8867 = call ptr @_pCf(ptr noundef %31)
  %8868 = getelementptr inbounds { float, float }, ptr %8867, i32 0, i32 0
  %8869 = getelementptr inbounds { float, float }, ptr %8867, i32 0, i32 1
  store float %8863, ptr %8868, align 4
  store float %8866, ptr %8869, align 4
  %8870 = load ptr, ptr %13, align 8, !tbaa !5
  %8871 = getelementptr inbounds %struct.complex, ptr %8870, i32 0, i32 0
  %8872 = load float, ptr %8871, align 4, !tbaa !11
  %8873 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8874 = load float, ptr %8873, align 4, !tbaa !11
  %8875 = load ptr, ptr %13, align 8, !tbaa !5
  %8876 = getelementptr inbounds %struct.complex, ptr %8875, i32 0, i32 1
  %8877 = load float, ptr %8876, align 4, !tbaa !14
  %8878 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8879 = load float, ptr %8878, align 4, !tbaa !14
  %8880 = fmul float %8877, %8879
  %8881 = fneg float %8880
  %8882 = call float @llvm.fmuladd.f32(float %8872, float %8874, float %8881)
  %8883 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8882, ptr %8883, align 4, !tbaa !11
  %8884 = load ptr, ptr %13, align 8, !tbaa !5
  %8885 = getelementptr inbounds %struct.complex, ptr %8884, i32 0, i32 0
  %8886 = load float, ptr %8885, align 4, !tbaa !11
  %8887 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8888 = load float, ptr %8887, align 4, !tbaa !14
  %8889 = load ptr, ptr %13, align 8, !tbaa !5
  %8890 = getelementptr inbounds %struct.complex, ptr %8889, i32 0, i32 1
  %8891 = load float, ptr %8890, align 4, !tbaa !14
  %8892 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8893 = load float, ptr %8892, align 4, !tbaa !11
  %8894 = fmul float %8891, %8893
  %8895 = call float @llvm.fmuladd.f32(float %8886, float %8888, float %8894)
  %8896 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8895, ptr %8896, align 4, !tbaa !14
  %8897 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8898 = load float, ptr %8897, align 4, !tbaa !11
  %8899 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %8898, ptr %8899, align 4, !tbaa !11
  %8900 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8901 = load float, ptr %8900, align 4, !tbaa !14
  %8902 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %8901, ptr %8902, align 4, !tbaa !14
  %8903 = load ptr, ptr %12, align 8, !tbaa !5
  %8904 = getelementptr inbounds %struct.complex, ptr %8903, i64 10
  %8905 = call <2 x float> @Cf(ptr noundef %8904)
  store <2 x float> %8905, ptr %179, align 4
  %8906 = getelementptr inbounds { float, float }, ptr %179, i32 0, i32 0
  %8907 = load float, ptr %8906, align 4
  %8908 = getelementptr inbounds { float, float }, ptr %179, i32 0, i32 1
  %8909 = load float, ptr %8908, align 4
  %8910 = fneg float %8909
  %8911 = call ptr @_pCf(ptr noundef %30)
  %8912 = getelementptr inbounds { float, float }, ptr %8911, i32 0, i32 0
  %8913 = getelementptr inbounds { float, float }, ptr %8911, i32 0, i32 1
  store float %8907, ptr %8912, align 4
  store float %8910, ptr %8913, align 4
  %8914 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8915 = load float, ptr %8914, align 4, !tbaa !11
  %8916 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  store float %8915, ptr %8916, align 4, !tbaa !11
  %8917 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8918 = load float, ptr %8917, align 4, !tbaa !14
  %8919 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  store float %8918, ptr %8919, align 4, !tbaa !14
  %8920 = call <2 x float> @Cf(ptr noundef %69)
  store <2 x float> %8920, ptr %180, align 4
  %8921 = getelementptr inbounds { float, float }, ptr %180, i32 0, i32 0
  %8922 = load float, ptr %8921, align 4
  %8923 = getelementptr inbounds { float, float }, ptr %180, i32 0, i32 1
  %8924 = load float, ptr %8923, align 4
  %8925 = fneg float %8924
  %8926 = call ptr @_pCf(ptr noundef %31)
  %8927 = getelementptr inbounds { float, float }, ptr %8926, i32 0, i32 0
  %8928 = getelementptr inbounds { float, float }, ptr %8926, i32 0, i32 1
  store float %8922, ptr %8927, align 4
  store float %8925, ptr %8928, align 4
  %8929 = load ptr, ptr %13, align 8, !tbaa !5
  %8930 = getelementptr inbounds %struct.complex, ptr %8929, i32 0, i32 0
  %8931 = load float, ptr %8930, align 4, !tbaa !11
  %8932 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8933 = load float, ptr %8932, align 4, !tbaa !11
  %8934 = load ptr, ptr %13, align 8, !tbaa !5
  %8935 = getelementptr inbounds %struct.complex, ptr %8934, i32 0, i32 1
  %8936 = load float, ptr %8935, align 4, !tbaa !14
  %8937 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8938 = load float, ptr %8937, align 4, !tbaa !14
  %8939 = fmul float %8936, %8938
  %8940 = fneg float %8939
  %8941 = call float @llvm.fmuladd.f32(float %8931, float %8933, float %8940)
  %8942 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %8941, ptr %8942, align 4, !tbaa !11
  %8943 = load ptr, ptr %13, align 8, !tbaa !5
  %8944 = getelementptr inbounds %struct.complex, ptr %8943, i32 0, i32 0
  %8945 = load float, ptr %8944, align 4, !tbaa !11
  %8946 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8947 = load float, ptr %8946, align 4, !tbaa !14
  %8948 = load ptr, ptr %13, align 8, !tbaa !5
  %8949 = getelementptr inbounds %struct.complex, ptr %8948, i32 0, i32 1
  %8950 = load float, ptr %8949, align 4, !tbaa !14
  %8951 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8952 = load float, ptr %8951, align 4, !tbaa !11
  %8953 = fmul float %8950, %8952
  %8954 = call float @llvm.fmuladd.f32(float %8945, float %8947, float %8953)
  %8955 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %8954, ptr %8955, align 4, !tbaa !14
  %8956 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %8957 = load float, ptr %8956, align 4, !tbaa !11
  %8958 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  store float %8957, ptr %8958, align 4, !tbaa !11
  %8959 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %8960 = load float, ptr %8959, align 4, !tbaa !14
  %8961 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  store float %8960, ptr %8961, align 4, !tbaa !14
  %8962 = load ptr, ptr %11, align 8, !tbaa !5
  %8963 = load i32, ptr %8962, align 4, !tbaa !9
  store i32 %8963, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %8964

8964:                                             ; preds = %10163, %8371
  %8965 = load i32, ptr %49, align 4, !tbaa !9
  %8966 = load i32, ptr %19, align 4, !tbaa !9
  %8967 = icmp sle i32 %8965, %8966
  br i1 %8967, label %8968, label %10166

8968:                                             ; preds = %8964
  %8969 = load i32, ptr %49, align 4, !tbaa !9
  %8970 = load i32, ptr %17, align 4, !tbaa !9
  %8971 = mul nsw i32 %8969, %8970
  %8972 = add nsw i32 %8971, 1
  store i32 %8972, ptr %20, align 4, !tbaa !9
  %8973 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %8974 = load float, ptr %8973, align 4, !tbaa !11
  %8975 = load ptr, ptr %14, align 8, !tbaa !5
  %8976 = load i32, ptr %20, align 4, !tbaa !9
  %8977 = sext i32 %8976 to i64
  %8978 = getelementptr inbounds %struct.complex, ptr %8975, i64 %8977
  %8979 = getelementptr inbounds %struct.complex, ptr %8978, i32 0, i32 0
  %8980 = load float, ptr %8979, align 4, !tbaa !11
  %8981 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %8982 = load float, ptr %8981, align 4, !tbaa !14
  %8983 = load ptr, ptr %14, align 8, !tbaa !5
  %8984 = load i32, ptr %20, align 4, !tbaa !9
  %8985 = sext i32 %8984 to i64
  %8986 = getelementptr inbounds %struct.complex, ptr %8983, i64 %8985
  %8987 = getelementptr inbounds %struct.complex, ptr %8986, i32 0, i32 1
  %8988 = load float, ptr %8987, align 4, !tbaa !14
  %8989 = fmul float %8982, %8988
  %8990 = fneg float %8989
  %8991 = call float @llvm.fmuladd.f32(float %8974, float %8980, float %8990)
  %8992 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %8991, ptr %8992, align 4, !tbaa !11
  %8993 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %8994 = load float, ptr %8993, align 4, !tbaa !11
  %8995 = load ptr, ptr %14, align 8, !tbaa !5
  %8996 = load i32, ptr %20, align 4, !tbaa !9
  %8997 = sext i32 %8996 to i64
  %8998 = getelementptr inbounds %struct.complex, ptr %8995, i64 %8997
  %8999 = getelementptr inbounds %struct.complex, ptr %8998, i32 0, i32 1
  %9000 = load float, ptr %8999, align 4, !tbaa !14
  %9001 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %9002 = load float, ptr %9001, align 4, !tbaa !14
  %9003 = load ptr, ptr %14, align 8, !tbaa !5
  %9004 = load i32, ptr %20, align 4, !tbaa !9
  %9005 = sext i32 %9004 to i64
  %9006 = getelementptr inbounds %struct.complex, ptr %9003, i64 %9005
  %9007 = getelementptr inbounds %struct.complex, ptr %9006, i32 0, i32 0
  %9008 = load float, ptr %9007, align 4, !tbaa !11
  %9009 = fmul float %9002, %9008
  %9010 = call float @llvm.fmuladd.f32(float %8994, float %9000, float %9009)
  %9011 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %9010, ptr %9011, align 4, !tbaa !14
  %9012 = load i32, ptr %49, align 4, !tbaa !9
  %9013 = load i32, ptr %17, align 4, !tbaa !9
  %9014 = mul nsw i32 %9012, %9013
  %9015 = add nsw i32 %9014, 2
  store i32 %9015, ptr %21, align 4, !tbaa !9
  %9016 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %9017 = load float, ptr %9016, align 4, !tbaa !11
  %9018 = load ptr, ptr %14, align 8, !tbaa !5
  %9019 = load i32, ptr %21, align 4, !tbaa !9
  %9020 = sext i32 %9019 to i64
  %9021 = getelementptr inbounds %struct.complex, ptr %9018, i64 %9020
  %9022 = getelementptr inbounds %struct.complex, ptr %9021, i32 0, i32 0
  %9023 = load float, ptr %9022, align 4, !tbaa !11
  %9024 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %9025 = load float, ptr %9024, align 4, !tbaa !14
  %9026 = load ptr, ptr %14, align 8, !tbaa !5
  %9027 = load i32, ptr %21, align 4, !tbaa !9
  %9028 = sext i32 %9027 to i64
  %9029 = getelementptr inbounds %struct.complex, ptr %9026, i64 %9028
  %9030 = getelementptr inbounds %struct.complex, ptr %9029, i32 0, i32 1
  %9031 = load float, ptr %9030, align 4, !tbaa !14
  %9032 = fmul float %9025, %9031
  %9033 = fneg float %9032
  %9034 = call float @llvm.fmuladd.f32(float %9017, float %9023, float %9033)
  %9035 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %9034, ptr %9035, align 4, !tbaa !11
  %9036 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %9037 = load float, ptr %9036, align 4, !tbaa !11
  %9038 = load ptr, ptr %14, align 8, !tbaa !5
  %9039 = load i32, ptr %21, align 4, !tbaa !9
  %9040 = sext i32 %9039 to i64
  %9041 = getelementptr inbounds %struct.complex, ptr %9038, i64 %9040
  %9042 = getelementptr inbounds %struct.complex, ptr %9041, i32 0, i32 1
  %9043 = load float, ptr %9042, align 4, !tbaa !14
  %9044 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %9045 = load float, ptr %9044, align 4, !tbaa !14
  %9046 = load ptr, ptr %14, align 8, !tbaa !5
  %9047 = load i32, ptr %21, align 4, !tbaa !9
  %9048 = sext i32 %9047 to i64
  %9049 = getelementptr inbounds %struct.complex, ptr %9046, i64 %9048
  %9050 = getelementptr inbounds %struct.complex, ptr %9049, i32 0, i32 0
  %9051 = load float, ptr %9050, align 4, !tbaa !11
  %9052 = fmul float %9045, %9051
  %9053 = call float @llvm.fmuladd.f32(float %9037, float %9043, float %9052)
  %9054 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %9053, ptr %9054, align 4, !tbaa !14
  %9055 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %9056 = load float, ptr %9055, align 4, !tbaa !11
  %9057 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %9058 = load float, ptr %9057, align 4, !tbaa !11
  %9059 = fadd float %9056, %9058
  %9060 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %9059, ptr %9060, align 4, !tbaa !11
  %9061 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %9062 = load float, ptr %9061, align 4, !tbaa !14
  %9063 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %9064 = load float, ptr %9063, align 4, !tbaa !14
  %9065 = fadd float %9062, %9064
  %9066 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %9065, ptr %9066, align 4, !tbaa !14
  %9067 = load i32, ptr %49, align 4, !tbaa !9
  %9068 = load i32, ptr %17, align 4, !tbaa !9
  %9069 = mul nsw i32 %9067, %9068
  %9070 = add nsw i32 %9069, 3
  store i32 %9070, ptr %22, align 4, !tbaa !9
  %9071 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %9072 = load float, ptr %9071, align 4, !tbaa !11
  %9073 = load ptr, ptr %14, align 8, !tbaa !5
  %9074 = load i32, ptr %22, align 4, !tbaa !9
  %9075 = sext i32 %9074 to i64
  %9076 = getelementptr inbounds %struct.complex, ptr %9073, i64 %9075
  %9077 = getelementptr inbounds %struct.complex, ptr %9076, i32 0, i32 0
  %9078 = load float, ptr %9077, align 4, !tbaa !11
  %9079 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %9080 = load float, ptr %9079, align 4, !tbaa !14
  %9081 = load ptr, ptr %14, align 8, !tbaa !5
  %9082 = load i32, ptr %22, align 4, !tbaa !9
  %9083 = sext i32 %9082 to i64
  %9084 = getelementptr inbounds %struct.complex, ptr %9081, i64 %9083
  %9085 = getelementptr inbounds %struct.complex, ptr %9084, i32 0, i32 1
  %9086 = load float, ptr %9085, align 4, !tbaa !14
  %9087 = fmul float %9080, %9086
  %9088 = fneg float %9087
  %9089 = call float @llvm.fmuladd.f32(float %9072, float %9078, float %9088)
  %9090 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %9089, ptr %9090, align 4, !tbaa !11
  %9091 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %9092 = load float, ptr %9091, align 4, !tbaa !11
  %9093 = load ptr, ptr %14, align 8, !tbaa !5
  %9094 = load i32, ptr %22, align 4, !tbaa !9
  %9095 = sext i32 %9094 to i64
  %9096 = getelementptr inbounds %struct.complex, ptr %9093, i64 %9095
  %9097 = getelementptr inbounds %struct.complex, ptr %9096, i32 0, i32 1
  %9098 = load float, ptr %9097, align 4, !tbaa !14
  %9099 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %9100 = load float, ptr %9099, align 4, !tbaa !14
  %9101 = load ptr, ptr %14, align 8, !tbaa !5
  %9102 = load i32, ptr %22, align 4, !tbaa !9
  %9103 = sext i32 %9102 to i64
  %9104 = getelementptr inbounds %struct.complex, ptr %9101, i64 %9103
  %9105 = getelementptr inbounds %struct.complex, ptr %9104, i32 0, i32 0
  %9106 = load float, ptr %9105, align 4, !tbaa !11
  %9107 = fmul float %9100, %9106
  %9108 = call float @llvm.fmuladd.f32(float %9092, float %9098, float %9107)
  %9109 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %9108, ptr %9109, align 4, !tbaa !14
  %9110 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %9111 = load float, ptr %9110, align 4, !tbaa !11
  %9112 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %9113 = load float, ptr %9112, align 4, !tbaa !11
  %9114 = fadd float %9111, %9113
  %9115 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %9114, ptr %9115, align 4, !tbaa !11
  %9116 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %9117 = load float, ptr %9116, align 4, !tbaa !14
  %9118 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %9119 = load float, ptr %9118, align 4, !tbaa !14
  %9120 = fadd float %9117, %9119
  %9121 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %9120, ptr %9121, align 4, !tbaa !14
  %9122 = load i32, ptr %49, align 4, !tbaa !9
  %9123 = load i32, ptr %17, align 4, !tbaa !9
  %9124 = mul nsw i32 %9122, %9123
  %9125 = add nsw i32 %9124, 4
  store i32 %9125, ptr %23, align 4, !tbaa !9
  %9126 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %9127 = load float, ptr %9126, align 4, !tbaa !11
  %9128 = load ptr, ptr %14, align 8, !tbaa !5
  %9129 = load i32, ptr %23, align 4, !tbaa !9
  %9130 = sext i32 %9129 to i64
  %9131 = getelementptr inbounds %struct.complex, ptr %9128, i64 %9130
  %9132 = getelementptr inbounds %struct.complex, ptr %9131, i32 0, i32 0
  %9133 = load float, ptr %9132, align 4, !tbaa !11
  %9134 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %9135 = load float, ptr %9134, align 4, !tbaa !14
  %9136 = load ptr, ptr %14, align 8, !tbaa !5
  %9137 = load i32, ptr %23, align 4, !tbaa !9
  %9138 = sext i32 %9137 to i64
  %9139 = getelementptr inbounds %struct.complex, ptr %9136, i64 %9138
  %9140 = getelementptr inbounds %struct.complex, ptr %9139, i32 0, i32 1
  %9141 = load float, ptr %9140, align 4, !tbaa !14
  %9142 = fmul float %9135, %9141
  %9143 = fneg float %9142
  %9144 = call float @llvm.fmuladd.f32(float %9127, float %9133, float %9143)
  %9145 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %9144, ptr %9145, align 4, !tbaa !11
  %9146 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %9147 = load float, ptr %9146, align 4, !tbaa !11
  %9148 = load ptr, ptr %14, align 8, !tbaa !5
  %9149 = load i32, ptr %23, align 4, !tbaa !9
  %9150 = sext i32 %9149 to i64
  %9151 = getelementptr inbounds %struct.complex, ptr %9148, i64 %9150
  %9152 = getelementptr inbounds %struct.complex, ptr %9151, i32 0, i32 1
  %9153 = load float, ptr %9152, align 4, !tbaa !14
  %9154 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %9155 = load float, ptr %9154, align 4, !tbaa !14
  %9156 = load ptr, ptr %14, align 8, !tbaa !5
  %9157 = load i32, ptr %23, align 4, !tbaa !9
  %9158 = sext i32 %9157 to i64
  %9159 = getelementptr inbounds %struct.complex, ptr %9156, i64 %9158
  %9160 = getelementptr inbounds %struct.complex, ptr %9159, i32 0, i32 0
  %9161 = load float, ptr %9160, align 4, !tbaa !11
  %9162 = fmul float %9155, %9161
  %9163 = call float @llvm.fmuladd.f32(float %9147, float %9153, float %9162)
  %9164 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %9163, ptr %9164, align 4, !tbaa !14
  %9165 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %9166 = load float, ptr %9165, align 4, !tbaa !11
  %9167 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %9168 = load float, ptr %9167, align 4, !tbaa !11
  %9169 = fadd float %9166, %9168
  %9170 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %9169, ptr %9170, align 4, !tbaa !11
  %9171 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %9172 = load float, ptr %9171, align 4, !tbaa !14
  %9173 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %9174 = load float, ptr %9173, align 4, !tbaa !14
  %9175 = fadd float %9172, %9174
  %9176 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %9175, ptr %9176, align 4, !tbaa !14
  %9177 = load i32, ptr %49, align 4, !tbaa !9
  %9178 = load i32, ptr %17, align 4, !tbaa !9
  %9179 = mul nsw i32 %9177, %9178
  %9180 = add nsw i32 %9179, 5
  store i32 %9180, ptr %24, align 4, !tbaa !9
  %9181 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %9182 = load float, ptr %9181, align 4, !tbaa !11
  %9183 = load ptr, ptr %14, align 8, !tbaa !5
  %9184 = load i32, ptr %24, align 4, !tbaa !9
  %9185 = sext i32 %9184 to i64
  %9186 = getelementptr inbounds %struct.complex, ptr %9183, i64 %9185
  %9187 = getelementptr inbounds %struct.complex, ptr %9186, i32 0, i32 0
  %9188 = load float, ptr %9187, align 4, !tbaa !11
  %9189 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %9190 = load float, ptr %9189, align 4, !tbaa !14
  %9191 = load ptr, ptr %14, align 8, !tbaa !5
  %9192 = load i32, ptr %24, align 4, !tbaa !9
  %9193 = sext i32 %9192 to i64
  %9194 = getelementptr inbounds %struct.complex, ptr %9191, i64 %9193
  %9195 = getelementptr inbounds %struct.complex, ptr %9194, i32 0, i32 1
  %9196 = load float, ptr %9195, align 4, !tbaa !14
  %9197 = fmul float %9190, %9196
  %9198 = fneg float %9197
  %9199 = call float @llvm.fmuladd.f32(float %9182, float %9188, float %9198)
  %9200 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %9199, ptr %9200, align 4, !tbaa !11
  %9201 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %9202 = load float, ptr %9201, align 4, !tbaa !11
  %9203 = load ptr, ptr %14, align 8, !tbaa !5
  %9204 = load i32, ptr %24, align 4, !tbaa !9
  %9205 = sext i32 %9204 to i64
  %9206 = getelementptr inbounds %struct.complex, ptr %9203, i64 %9205
  %9207 = getelementptr inbounds %struct.complex, ptr %9206, i32 0, i32 1
  %9208 = load float, ptr %9207, align 4, !tbaa !14
  %9209 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %9210 = load float, ptr %9209, align 4, !tbaa !14
  %9211 = load ptr, ptr %14, align 8, !tbaa !5
  %9212 = load i32, ptr %24, align 4, !tbaa !9
  %9213 = sext i32 %9212 to i64
  %9214 = getelementptr inbounds %struct.complex, ptr %9211, i64 %9213
  %9215 = getelementptr inbounds %struct.complex, ptr %9214, i32 0, i32 0
  %9216 = load float, ptr %9215, align 4, !tbaa !11
  %9217 = fmul float %9210, %9216
  %9218 = call float @llvm.fmuladd.f32(float %9202, float %9208, float %9217)
  %9219 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %9218, ptr %9219, align 4, !tbaa !14
  %9220 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %9221 = load float, ptr %9220, align 4, !tbaa !11
  %9222 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %9223 = load float, ptr %9222, align 4, !tbaa !11
  %9224 = fadd float %9221, %9223
  %9225 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %9224, ptr %9225, align 4, !tbaa !11
  %9226 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %9227 = load float, ptr %9226, align 4, !tbaa !14
  %9228 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %9229 = load float, ptr %9228, align 4, !tbaa !14
  %9230 = fadd float %9227, %9229
  %9231 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %9230, ptr %9231, align 4, !tbaa !14
  %9232 = load i32, ptr %49, align 4, !tbaa !9
  %9233 = load i32, ptr %17, align 4, !tbaa !9
  %9234 = mul nsw i32 %9232, %9233
  %9235 = add nsw i32 %9234, 6
  store i32 %9235, ptr %25, align 4, !tbaa !9
  %9236 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %9237 = load float, ptr %9236, align 4, !tbaa !11
  %9238 = load ptr, ptr %14, align 8, !tbaa !5
  %9239 = load i32, ptr %25, align 4, !tbaa !9
  %9240 = sext i32 %9239 to i64
  %9241 = getelementptr inbounds %struct.complex, ptr %9238, i64 %9240
  %9242 = getelementptr inbounds %struct.complex, ptr %9241, i32 0, i32 0
  %9243 = load float, ptr %9242, align 4, !tbaa !11
  %9244 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %9245 = load float, ptr %9244, align 4, !tbaa !14
  %9246 = load ptr, ptr %14, align 8, !tbaa !5
  %9247 = load i32, ptr %25, align 4, !tbaa !9
  %9248 = sext i32 %9247 to i64
  %9249 = getelementptr inbounds %struct.complex, ptr %9246, i64 %9248
  %9250 = getelementptr inbounds %struct.complex, ptr %9249, i32 0, i32 1
  %9251 = load float, ptr %9250, align 4, !tbaa !14
  %9252 = fmul float %9245, %9251
  %9253 = fneg float %9252
  %9254 = call float @llvm.fmuladd.f32(float %9237, float %9243, float %9253)
  %9255 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %9254, ptr %9255, align 4, !tbaa !11
  %9256 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %9257 = load float, ptr %9256, align 4, !tbaa !11
  %9258 = load ptr, ptr %14, align 8, !tbaa !5
  %9259 = load i32, ptr %25, align 4, !tbaa !9
  %9260 = sext i32 %9259 to i64
  %9261 = getelementptr inbounds %struct.complex, ptr %9258, i64 %9260
  %9262 = getelementptr inbounds %struct.complex, ptr %9261, i32 0, i32 1
  %9263 = load float, ptr %9262, align 4, !tbaa !14
  %9264 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %9265 = load float, ptr %9264, align 4, !tbaa !14
  %9266 = load ptr, ptr %14, align 8, !tbaa !5
  %9267 = load i32, ptr %25, align 4, !tbaa !9
  %9268 = sext i32 %9267 to i64
  %9269 = getelementptr inbounds %struct.complex, ptr %9266, i64 %9268
  %9270 = getelementptr inbounds %struct.complex, ptr %9269, i32 0, i32 0
  %9271 = load float, ptr %9270, align 4, !tbaa !11
  %9272 = fmul float %9265, %9271
  %9273 = call float @llvm.fmuladd.f32(float %9257, float %9263, float %9272)
  %9274 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %9273, ptr %9274, align 4, !tbaa !14
  %9275 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %9276 = load float, ptr %9275, align 4, !tbaa !11
  %9277 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %9278 = load float, ptr %9277, align 4, !tbaa !11
  %9279 = fadd float %9276, %9278
  %9280 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %9279, ptr %9280, align 4, !tbaa !11
  %9281 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %9282 = load float, ptr %9281, align 4, !tbaa !14
  %9283 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %9284 = load float, ptr %9283, align 4, !tbaa !14
  %9285 = fadd float %9282, %9284
  %9286 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %9285, ptr %9286, align 4, !tbaa !14
  %9287 = load i32, ptr %49, align 4, !tbaa !9
  %9288 = load i32, ptr %17, align 4, !tbaa !9
  %9289 = mul nsw i32 %9287, %9288
  %9290 = add nsw i32 %9289, 7
  store i32 %9290, ptr %26, align 4, !tbaa !9
  %9291 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %9292 = load float, ptr %9291, align 4, !tbaa !11
  %9293 = load ptr, ptr %14, align 8, !tbaa !5
  %9294 = load i32, ptr %26, align 4, !tbaa !9
  %9295 = sext i32 %9294 to i64
  %9296 = getelementptr inbounds %struct.complex, ptr %9293, i64 %9295
  %9297 = getelementptr inbounds %struct.complex, ptr %9296, i32 0, i32 0
  %9298 = load float, ptr %9297, align 4, !tbaa !11
  %9299 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %9300 = load float, ptr %9299, align 4, !tbaa !14
  %9301 = load ptr, ptr %14, align 8, !tbaa !5
  %9302 = load i32, ptr %26, align 4, !tbaa !9
  %9303 = sext i32 %9302 to i64
  %9304 = getelementptr inbounds %struct.complex, ptr %9301, i64 %9303
  %9305 = getelementptr inbounds %struct.complex, ptr %9304, i32 0, i32 1
  %9306 = load float, ptr %9305, align 4, !tbaa !14
  %9307 = fmul float %9300, %9306
  %9308 = fneg float %9307
  %9309 = call float @llvm.fmuladd.f32(float %9292, float %9298, float %9308)
  %9310 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %9309, ptr %9310, align 4, !tbaa !11
  %9311 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %9312 = load float, ptr %9311, align 4, !tbaa !11
  %9313 = load ptr, ptr %14, align 8, !tbaa !5
  %9314 = load i32, ptr %26, align 4, !tbaa !9
  %9315 = sext i32 %9314 to i64
  %9316 = getelementptr inbounds %struct.complex, ptr %9313, i64 %9315
  %9317 = getelementptr inbounds %struct.complex, ptr %9316, i32 0, i32 1
  %9318 = load float, ptr %9317, align 4, !tbaa !14
  %9319 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %9320 = load float, ptr %9319, align 4, !tbaa !14
  %9321 = load ptr, ptr %14, align 8, !tbaa !5
  %9322 = load i32, ptr %26, align 4, !tbaa !9
  %9323 = sext i32 %9322 to i64
  %9324 = getelementptr inbounds %struct.complex, ptr %9321, i64 %9323
  %9325 = getelementptr inbounds %struct.complex, ptr %9324, i32 0, i32 0
  %9326 = load float, ptr %9325, align 4, !tbaa !11
  %9327 = fmul float %9320, %9326
  %9328 = call float @llvm.fmuladd.f32(float %9312, float %9318, float %9327)
  %9329 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %9328, ptr %9329, align 4, !tbaa !14
  %9330 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %9331 = load float, ptr %9330, align 4, !tbaa !11
  %9332 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %9333 = load float, ptr %9332, align 4, !tbaa !11
  %9334 = fadd float %9331, %9333
  %9335 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %9334, ptr %9335, align 4, !tbaa !11
  %9336 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %9337 = load float, ptr %9336, align 4, !tbaa !14
  %9338 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %9339 = load float, ptr %9338, align 4, !tbaa !14
  %9340 = fadd float %9337, %9339
  %9341 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %9340, ptr %9341, align 4, !tbaa !14
  %9342 = load i32, ptr %49, align 4, !tbaa !9
  %9343 = load i32, ptr %17, align 4, !tbaa !9
  %9344 = mul nsw i32 %9342, %9343
  %9345 = add nsw i32 %9344, 8
  store i32 %9345, ptr %27, align 4, !tbaa !9
  %9346 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %9347 = load float, ptr %9346, align 4, !tbaa !11
  %9348 = load ptr, ptr %14, align 8, !tbaa !5
  %9349 = load i32, ptr %27, align 4, !tbaa !9
  %9350 = sext i32 %9349 to i64
  %9351 = getelementptr inbounds %struct.complex, ptr %9348, i64 %9350
  %9352 = getelementptr inbounds %struct.complex, ptr %9351, i32 0, i32 0
  %9353 = load float, ptr %9352, align 4, !tbaa !11
  %9354 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %9355 = load float, ptr %9354, align 4, !tbaa !14
  %9356 = load ptr, ptr %14, align 8, !tbaa !5
  %9357 = load i32, ptr %27, align 4, !tbaa !9
  %9358 = sext i32 %9357 to i64
  %9359 = getelementptr inbounds %struct.complex, ptr %9356, i64 %9358
  %9360 = getelementptr inbounds %struct.complex, ptr %9359, i32 0, i32 1
  %9361 = load float, ptr %9360, align 4, !tbaa !14
  %9362 = fmul float %9355, %9361
  %9363 = fneg float %9362
  %9364 = call float @llvm.fmuladd.f32(float %9347, float %9353, float %9363)
  %9365 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %9364, ptr %9365, align 4, !tbaa !11
  %9366 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %9367 = load float, ptr %9366, align 4, !tbaa !11
  %9368 = load ptr, ptr %14, align 8, !tbaa !5
  %9369 = load i32, ptr %27, align 4, !tbaa !9
  %9370 = sext i32 %9369 to i64
  %9371 = getelementptr inbounds %struct.complex, ptr %9368, i64 %9370
  %9372 = getelementptr inbounds %struct.complex, ptr %9371, i32 0, i32 1
  %9373 = load float, ptr %9372, align 4, !tbaa !14
  %9374 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %9375 = load float, ptr %9374, align 4, !tbaa !14
  %9376 = load ptr, ptr %14, align 8, !tbaa !5
  %9377 = load i32, ptr %27, align 4, !tbaa !9
  %9378 = sext i32 %9377 to i64
  %9379 = getelementptr inbounds %struct.complex, ptr %9376, i64 %9378
  %9380 = getelementptr inbounds %struct.complex, ptr %9379, i32 0, i32 0
  %9381 = load float, ptr %9380, align 4, !tbaa !11
  %9382 = fmul float %9375, %9381
  %9383 = call float @llvm.fmuladd.f32(float %9367, float %9373, float %9382)
  %9384 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %9383, ptr %9384, align 4, !tbaa !14
  %9385 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %9386 = load float, ptr %9385, align 4, !tbaa !11
  %9387 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %9388 = load float, ptr %9387, align 4, !tbaa !11
  %9389 = fadd float %9386, %9388
  %9390 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9389, ptr %9390, align 4, !tbaa !11
  %9391 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %9392 = load float, ptr %9391, align 4, !tbaa !14
  %9393 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %9394 = load float, ptr %9393, align 4, !tbaa !14
  %9395 = fadd float %9392, %9394
  %9396 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9395, ptr %9396, align 4, !tbaa !14
  %9397 = load i32, ptr %49, align 4, !tbaa !9
  %9398 = load i32, ptr %17, align 4, !tbaa !9
  %9399 = mul nsw i32 %9397, %9398
  %9400 = add nsw i32 %9399, 9
  store i32 %9400, ptr %28, align 4, !tbaa !9
  %9401 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %9402 = load float, ptr %9401, align 4, !tbaa !11
  %9403 = load ptr, ptr %14, align 8, !tbaa !5
  %9404 = load i32, ptr %28, align 4, !tbaa !9
  %9405 = sext i32 %9404 to i64
  %9406 = getelementptr inbounds %struct.complex, ptr %9403, i64 %9405
  %9407 = getelementptr inbounds %struct.complex, ptr %9406, i32 0, i32 0
  %9408 = load float, ptr %9407, align 4, !tbaa !11
  %9409 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %9410 = load float, ptr %9409, align 4, !tbaa !14
  %9411 = load ptr, ptr %14, align 8, !tbaa !5
  %9412 = load i32, ptr %28, align 4, !tbaa !9
  %9413 = sext i32 %9412 to i64
  %9414 = getelementptr inbounds %struct.complex, ptr %9411, i64 %9413
  %9415 = getelementptr inbounds %struct.complex, ptr %9414, i32 0, i32 1
  %9416 = load float, ptr %9415, align 4, !tbaa !14
  %9417 = fmul float %9410, %9416
  %9418 = fneg float %9417
  %9419 = call float @llvm.fmuladd.f32(float %9402, float %9408, float %9418)
  %9420 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  store float %9419, ptr %9420, align 4, !tbaa !11
  %9421 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %9422 = load float, ptr %9421, align 4, !tbaa !11
  %9423 = load ptr, ptr %14, align 8, !tbaa !5
  %9424 = load i32, ptr %28, align 4, !tbaa !9
  %9425 = sext i32 %9424 to i64
  %9426 = getelementptr inbounds %struct.complex, ptr %9423, i64 %9425
  %9427 = getelementptr inbounds %struct.complex, ptr %9426, i32 0, i32 1
  %9428 = load float, ptr %9427, align 4, !tbaa !14
  %9429 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %9430 = load float, ptr %9429, align 4, !tbaa !14
  %9431 = load ptr, ptr %14, align 8, !tbaa !5
  %9432 = load i32, ptr %28, align 4, !tbaa !9
  %9433 = sext i32 %9432 to i64
  %9434 = getelementptr inbounds %struct.complex, ptr %9431, i64 %9433
  %9435 = getelementptr inbounds %struct.complex, ptr %9434, i32 0, i32 0
  %9436 = load float, ptr %9435, align 4, !tbaa !11
  %9437 = fmul float %9430, %9436
  %9438 = call float @llvm.fmuladd.f32(float %9422, float %9428, float %9437)
  %9439 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  store float %9438, ptr %9439, align 4, !tbaa !14
  %9440 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9441 = load float, ptr %9440, align 4, !tbaa !11
  %9442 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  %9443 = load float, ptr %9442, align 4, !tbaa !11
  %9444 = fadd float %9441, %9443
  %9445 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9444, ptr %9445, align 4, !tbaa !11
  %9446 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9447 = load float, ptr %9446, align 4, !tbaa !14
  %9448 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  %9449 = load float, ptr %9448, align 4, !tbaa !14
  %9450 = fadd float %9447, %9449
  %9451 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9450, ptr %9451, align 4, !tbaa !14
  %9452 = load i32, ptr %49, align 4, !tbaa !9
  %9453 = load i32, ptr %17, align 4, !tbaa !9
  %9454 = mul nsw i32 %9452, %9453
  %9455 = add nsw i32 %9454, 10
  store i32 %9455, ptr %29, align 4, !tbaa !9
  %9456 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %9457 = load float, ptr %9456, align 4, !tbaa !11
  %9458 = load ptr, ptr %14, align 8, !tbaa !5
  %9459 = load i32, ptr %29, align 4, !tbaa !9
  %9460 = sext i32 %9459 to i64
  %9461 = getelementptr inbounds %struct.complex, ptr %9458, i64 %9460
  %9462 = getelementptr inbounds %struct.complex, ptr %9461, i32 0, i32 0
  %9463 = load float, ptr %9462, align 4, !tbaa !11
  %9464 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %9465 = load float, ptr %9464, align 4, !tbaa !14
  %9466 = load ptr, ptr %14, align 8, !tbaa !5
  %9467 = load i32, ptr %29, align 4, !tbaa !9
  %9468 = sext i32 %9467 to i64
  %9469 = getelementptr inbounds %struct.complex, ptr %9466, i64 %9468
  %9470 = getelementptr inbounds %struct.complex, ptr %9469, i32 0, i32 1
  %9471 = load float, ptr %9470, align 4, !tbaa !14
  %9472 = fmul float %9465, %9471
  %9473 = fneg float %9472
  %9474 = call float @llvm.fmuladd.f32(float %9457, float %9463, float %9473)
  %9475 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  store float %9474, ptr %9475, align 4, !tbaa !11
  %9476 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %9477 = load float, ptr %9476, align 4, !tbaa !11
  %9478 = load ptr, ptr %14, align 8, !tbaa !5
  %9479 = load i32, ptr %29, align 4, !tbaa !9
  %9480 = sext i32 %9479 to i64
  %9481 = getelementptr inbounds %struct.complex, ptr %9478, i64 %9480
  %9482 = getelementptr inbounds %struct.complex, ptr %9481, i32 0, i32 1
  %9483 = load float, ptr %9482, align 4, !tbaa !14
  %9484 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %9485 = load float, ptr %9484, align 4, !tbaa !14
  %9486 = load ptr, ptr %14, align 8, !tbaa !5
  %9487 = load i32, ptr %29, align 4, !tbaa !9
  %9488 = sext i32 %9487 to i64
  %9489 = getelementptr inbounds %struct.complex, ptr %9486, i64 %9488
  %9490 = getelementptr inbounds %struct.complex, ptr %9489, i32 0, i32 0
  %9491 = load float, ptr %9490, align 4, !tbaa !11
  %9492 = fmul float %9485, %9491
  %9493 = call float @llvm.fmuladd.f32(float %9477, float %9483, float %9492)
  %9494 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  store float %9493, ptr %9494, align 4, !tbaa !14
  %9495 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9496 = load float, ptr %9495, align 4, !tbaa !11
  %9497 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  %9498 = load float, ptr %9497, align 4, !tbaa !11
  %9499 = fadd float %9496, %9498
  %9500 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9499, ptr %9500, align 4, !tbaa !11
  %9501 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9502 = load float, ptr %9501, align 4, !tbaa !14
  %9503 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  %9504 = load float, ptr %9503, align 4, !tbaa !14
  %9505 = fadd float %9502, %9504
  %9506 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9505, ptr %9506, align 4, !tbaa !14
  %9507 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9508 = load float, ptr %9507, align 4, !tbaa !11
  %9509 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %9508, ptr %9509, align 4, !tbaa !11
  %9510 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9511 = load float, ptr %9510, align 4, !tbaa !14
  %9512 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %9511, ptr %9512, align 4, !tbaa !14
  %9513 = load i32, ptr %49, align 4, !tbaa !9
  %9514 = load i32, ptr %17, align 4, !tbaa !9
  %9515 = mul nsw i32 %9513, %9514
  %9516 = add nsw i32 %9515, 1
  store i32 %9516, ptr %20, align 4, !tbaa !9
  %9517 = load i32, ptr %49, align 4, !tbaa !9
  %9518 = load i32, ptr %17, align 4, !tbaa !9
  %9519 = mul nsw i32 %9517, %9518
  %9520 = add nsw i32 %9519, 1
  store i32 %9520, ptr %21, align 4, !tbaa !9
  %9521 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9522 = load float, ptr %9521, align 4, !tbaa !11
  %9523 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %9524 = load float, ptr %9523, align 4, !tbaa !11
  %9525 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9526 = load float, ptr %9525, align 4, !tbaa !14
  %9527 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %9528 = load float, ptr %9527, align 4, !tbaa !14
  %9529 = fmul float %9526, %9528
  %9530 = fneg float %9529
  %9531 = call float @llvm.fmuladd.f32(float %9522, float %9524, float %9530)
  %9532 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9531, ptr %9532, align 4, !tbaa !11
  %9533 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9534 = load float, ptr %9533, align 4, !tbaa !11
  %9535 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %9536 = load float, ptr %9535, align 4, !tbaa !14
  %9537 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9538 = load float, ptr %9537, align 4, !tbaa !14
  %9539 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %9540 = load float, ptr %9539, align 4, !tbaa !11
  %9541 = fmul float %9538, %9540
  %9542 = call float @llvm.fmuladd.f32(float %9534, float %9536, float %9541)
  %9543 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9542, ptr %9543, align 4, !tbaa !14
  %9544 = load ptr, ptr %14, align 8, !tbaa !5
  %9545 = load i32, ptr %21, align 4, !tbaa !9
  %9546 = sext i32 %9545 to i64
  %9547 = getelementptr inbounds %struct.complex, ptr %9544, i64 %9546
  %9548 = getelementptr inbounds %struct.complex, ptr %9547, i32 0, i32 0
  %9549 = load float, ptr %9548, align 4, !tbaa !11
  %9550 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9551 = load float, ptr %9550, align 4, !tbaa !11
  %9552 = fsub float %9549, %9551
  %9553 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9552, ptr %9553, align 4, !tbaa !11
  %9554 = load ptr, ptr %14, align 8, !tbaa !5
  %9555 = load i32, ptr %21, align 4, !tbaa !9
  %9556 = sext i32 %9555 to i64
  %9557 = getelementptr inbounds %struct.complex, ptr %9554, i64 %9556
  %9558 = getelementptr inbounds %struct.complex, ptr %9557, i32 0, i32 1
  %9559 = load float, ptr %9558, align 4, !tbaa !14
  %9560 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9561 = load float, ptr %9560, align 4, !tbaa !14
  %9562 = fsub float %9559, %9561
  %9563 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9562, ptr %9563, align 4, !tbaa !14
  %9564 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9565 = load float, ptr %9564, align 4, !tbaa !11
  %9566 = load ptr, ptr %14, align 8, !tbaa !5
  %9567 = load i32, ptr %20, align 4, !tbaa !9
  %9568 = sext i32 %9567 to i64
  %9569 = getelementptr inbounds %struct.complex, ptr %9566, i64 %9568
  %9570 = getelementptr inbounds %struct.complex, ptr %9569, i32 0, i32 0
  store float %9565, ptr %9570, align 4, !tbaa !11
  %9571 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9572 = load float, ptr %9571, align 4, !tbaa !14
  %9573 = load ptr, ptr %14, align 8, !tbaa !5
  %9574 = load i32, ptr %20, align 4, !tbaa !9
  %9575 = sext i32 %9574 to i64
  %9576 = getelementptr inbounds %struct.complex, ptr %9573, i64 %9575
  %9577 = getelementptr inbounds %struct.complex, ptr %9576, i32 0, i32 1
  store float %9572, ptr %9577, align 4, !tbaa !14
  %9578 = load i32, ptr %49, align 4, !tbaa !9
  %9579 = load i32, ptr %17, align 4, !tbaa !9
  %9580 = mul nsw i32 %9578, %9579
  %9581 = add nsw i32 %9580, 2
  store i32 %9581, ptr %20, align 4, !tbaa !9
  %9582 = load i32, ptr %49, align 4, !tbaa !9
  %9583 = load i32, ptr %17, align 4, !tbaa !9
  %9584 = mul nsw i32 %9582, %9583
  %9585 = add nsw i32 %9584, 2
  store i32 %9585, ptr %21, align 4, !tbaa !9
  %9586 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9587 = load float, ptr %9586, align 4, !tbaa !11
  %9588 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %9589 = load float, ptr %9588, align 4, !tbaa !11
  %9590 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9591 = load float, ptr %9590, align 4, !tbaa !14
  %9592 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %9593 = load float, ptr %9592, align 4, !tbaa !14
  %9594 = fmul float %9591, %9593
  %9595 = fneg float %9594
  %9596 = call float @llvm.fmuladd.f32(float %9587, float %9589, float %9595)
  %9597 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9596, ptr %9597, align 4, !tbaa !11
  %9598 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9599 = load float, ptr %9598, align 4, !tbaa !11
  %9600 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %9601 = load float, ptr %9600, align 4, !tbaa !14
  %9602 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9603 = load float, ptr %9602, align 4, !tbaa !14
  %9604 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %9605 = load float, ptr %9604, align 4, !tbaa !11
  %9606 = fmul float %9603, %9605
  %9607 = call float @llvm.fmuladd.f32(float %9599, float %9601, float %9606)
  %9608 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9607, ptr %9608, align 4, !tbaa !14
  %9609 = load ptr, ptr %14, align 8, !tbaa !5
  %9610 = load i32, ptr %21, align 4, !tbaa !9
  %9611 = sext i32 %9610 to i64
  %9612 = getelementptr inbounds %struct.complex, ptr %9609, i64 %9611
  %9613 = getelementptr inbounds %struct.complex, ptr %9612, i32 0, i32 0
  %9614 = load float, ptr %9613, align 4, !tbaa !11
  %9615 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9616 = load float, ptr %9615, align 4, !tbaa !11
  %9617 = fsub float %9614, %9616
  %9618 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9617, ptr %9618, align 4, !tbaa !11
  %9619 = load ptr, ptr %14, align 8, !tbaa !5
  %9620 = load i32, ptr %21, align 4, !tbaa !9
  %9621 = sext i32 %9620 to i64
  %9622 = getelementptr inbounds %struct.complex, ptr %9619, i64 %9621
  %9623 = getelementptr inbounds %struct.complex, ptr %9622, i32 0, i32 1
  %9624 = load float, ptr %9623, align 4, !tbaa !14
  %9625 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9626 = load float, ptr %9625, align 4, !tbaa !14
  %9627 = fsub float %9624, %9626
  %9628 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9627, ptr %9628, align 4, !tbaa !14
  %9629 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9630 = load float, ptr %9629, align 4, !tbaa !11
  %9631 = load ptr, ptr %14, align 8, !tbaa !5
  %9632 = load i32, ptr %20, align 4, !tbaa !9
  %9633 = sext i32 %9632 to i64
  %9634 = getelementptr inbounds %struct.complex, ptr %9631, i64 %9633
  %9635 = getelementptr inbounds %struct.complex, ptr %9634, i32 0, i32 0
  store float %9630, ptr %9635, align 4, !tbaa !11
  %9636 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9637 = load float, ptr %9636, align 4, !tbaa !14
  %9638 = load ptr, ptr %14, align 8, !tbaa !5
  %9639 = load i32, ptr %20, align 4, !tbaa !9
  %9640 = sext i32 %9639 to i64
  %9641 = getelementptr inbounds %struct.complex, ptr %9638, i64 %9640
  %9642 = getelementptr inbounds %struct.complex, ptr %9641, i32 0, i32 1
  store float %9637, ptr %9642, align 4, !tbaa !14
  %9643 = load i32, ptr %49, align 4, !tbaa !9
  %9644 = load i32, ptr %17, align 4, !tbaa !9
  %9645 = mul nsw i32 %9643, %9644
  %9646 = add nsw i32 %9645, 3
  store i32 %9646, ptr %20, align 4, !tbaa !9
  %9647 = load i32, ptr %49, align 4, !tbaa !9
  %9648 = load i32, ptr %17, align 4, !tbaa !9
  %9649 = mul nsw i32 %9647, %9648
  %9650 = add nsw i32 %9649, 3
  store i32 %9650, ptr %21, align 4, !tbaa !9
  %9651 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9652 = load float, ptr %9651, align 4, !tbaa !11
  %9653 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9654 = load float, ptr %9653, align 4, !tbaa !11
  %9655 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9656 = load float, ptr %9655, align 4, !tbaa !14
  %9657 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9658 = load float, ptr %9657, align 4, !tbaa !14
  %9659 = fmul float %9656, %9658
  %9660 = fneg float %9659
  %9661 = call float @llvm.fmuladd.f32(float %9652, float %9654, float %9660)
  %9662 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9661, ptr %9662, align 4, !tbaa !11
  %9663 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9664 = load float, ptr %9663, align 4, !tbaa !11
  %9665 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9666 = load float, ptr %9665, align 4, !tbaa !14
  %9667 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9668 = load float, ptr %9667, align 4, !tbaa !14
  %9669 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9670 = load float, ptr %9669, align 4, !tbaa !11
  %9671 = fmul float %9668, %9670
  %9672 = call float @llvm.fmuladd.f32(float %9664, float %9666, float %9671)
  %9673 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9672, ptr %9673, align 4, !tbaa !14
  %9674 = load ptr, ptr %14, align 8, !tbaa !5
  %9675 = load i32, ptr %21, align 4, !tbaa !9
  %9676 = sext i32 %9675 to i64
  %9677 = getelementptr inbounds %struct.complex, ptr %9674, i64 %9676
  %9678 = getelementptr inbounds %struct.complex, ptr %9677, i32 0, i32 0
  %9679 = load float, ptr %9678, align 4, !tbaa !11
  %9680 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9681 = load float, ptr %9680, align 4, !tbaa !11
  %9682 = fsub float %9679, %9681
  %9683 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9682, ptr %9683, align 4, !tbaa !11
  %9684 = load ptr, ptr %14, align 8, !tbaa !5
  %9685 = load i32, ptr %21, align 4, !tbaa !9
  %9686 = sext i32 %9685 to i64
  %9687 = getelementptr inbounds %struct.complex, ptr %9684, i64 %9686
  %9688 = getelementptr inbounds %struct.complex, ptr %9687, i32 0, i32 1
  %9689 = load float, ptr %9688, align 4, !tbaa !14
  %9690 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9691 = load float, ptr %9690, align 4, !tbaa !14
  %9692 = fsub float %9689, %9691
  %9693 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9692, ptr %9693, align 4, !tbaa !14
  %9694 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9695 = load float, ptr %9694, align 4, !tbaa !11
  %9696 = load ptr, ptr %14, align 8, !tbaa !5
  %9697 = load i32, ptr %20, align 4, !tbaa !9
  %9698 = sext i32 %9697 to i64
  %9699 = getelementptr inbounds %struct.complex, ptr %9696, i64 %9698
  %9700 = getelementptr inbounds %struct.complex, ptr %9699, i32 0, i32 0
  store float %9695, ptr %9700, align 4, !tbaa !11
  %9701 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9702 = load float, ptr %9701, align 4, !tbaa !14
  %9703 = load ptr, ptr %14, align 8, !tbaa !5
  %9704 = load i32, ptr %20, align 4, !tbaa !9
  %9705 = sext i32 %9704 to i64
  %9706 = getelementptr inbounds %struct.complex, ptr %9703, i64 %9705
  %9707 = getelementptr inbounds %struct.complex, ptr %9706, i32 0, i32 1
  store float %9702, ptr %9707, align 4, !tbaa !14
  %9708 = load i32, ptr %49, align 4, !tbaa !9
  %9709 = load i32, ptr %17, align 4, !tbaa !9
  %9710 = mul nsw i32 %9708, %9709
  %9711 = add nsw i32 %9710, 4
  store i32 %9711, ptr %20, align 4, !tbaa !9
  %9712 = load i32, ptr %49, align 4, !tbaa !9
  %9713 = load i32, ptr %17, align 4, !tbaa !9
  %9714 = mul nsw i32 %9712, %9713
  %9715 = add nsw i32 %9714, 4
  store i32 %9715, ptr %21, align 4, !tbaa !9
  %9716 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9717 = load float, ptr %9716, align 4, !tbaa !11
  %9718 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %9719 = load float, ptr %9718, align 4, !tbaa !11
  %9720 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9721 = load float, ptr %9720, align 4, !tbaa !14
  %9722 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %9723 = load float, ptr %9722, align 4, !tbaa !14
  %9724 = fmul float %9721, %9723
  %9725 = fneg float %9724
  %9726 = call float @llvm.fmuladd.f32(float %9717, float %9719, float %9725)
  %9727 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9726, ptr %9727, align 4, !tbaa !11
  %9728 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9729 = load float, ptr %9728, align 4, !tbaa !11
  %9730 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %9731 = load float, ptr %9730, align 4, !tbaa !14
  %9732 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9733 = load float, ptr %9732, align 4, !tbaa !14
  %9734 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %9735 = load float, ptr %9734, align 4, !tbaa !11
  %9736 = fmul float %9733, %9735
  %9737 = call float @llvm.fmuladd.f32(float %9729, float %9731, float %9736)
  %9738 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9737, ptr %9738, align 4, !tbaa !14
  %9739 = load ptr, ptr %14, align 8, !tbaa !5
  %9740 = load i32, ptr %21, align 4, !tbaa !9
  %9741 = sext i32 %9740 to i64
  %9742 = getelementptr inbounds %struct.complex, ptr %9739, i64 %9741
  %9743 = getelementptr inbounds %struct.complex, ptr %9742, i32 0, i32 0
  %9744 = load float, ptr %9743, align 4, !tbaa !11
  %9745 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9746 = load float, ptr %9745, align 4, !tbaa !11
  %9747 = fsub float %9744, %9746
  %9748 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9747, ptr %9748, align 4, !tbaa !11
  %9749 = load ptr, ptr %14, align 8, !tbaa !5
  %9750 = load i32, ptr %21, align 4, !tbaa !9
  %9751 = sext i32 %9750 to i64
  %9752 = getelementptr inbounds %struct.complex, ptr %9749, i64 %9751
  %9753 = getelementptr inbounds %struct.complex, ptr %9752, i32 0, i32 1
  %9754 = load float, ptr %9753, align 4, !tbaa !14
  %9755 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9756 = load float, ptr %9755, align 4, !tbaa !14
  %9757 = fsub float %9754, %9756
  %9758 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9757, ptr %9758, align 4, !tbaa !14
  %9759 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9760 = load float, ptr %9759, align 4, !tbaa !11
  %9761 = load ptr, ptr %14, align 8, !tbaa !5
  %9762 = load i32, ptr %20, align 4, !tbaa !9
  %9763 = sext i32 %9762 to i64
  %9764 = getelementptr inbounds %struct.complex, ptr %9761, i64 %9763
  %9765 = getelementptr inbounds %struct.complex, ptr %9764, i32 0, i32 0
  store float %9760, ptr %9765, align 4, !tbaa !11
  %9766 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9767 = load float, ptr %9766, align 4, !tbaa !14
  %9768 = load ptr, ptr %14, align 8, !tbaa !5
  %9769 = load i32, ptr %20, align 4, !tbaa !9
  %9770 = sext i32 %9769 to i64
  %9771 = getelementptr inbounds %struct.complex, ptr %9768, i64 %9770
  %9772 = getelementptr inbounds %struct.complex, ptr %9771, i32 0, i32 1
  store float %9767, ptr %9772, align 4, !tbaa !14
  %9773 = load i32, ptr %49, align 4, !tbaa !9
  %9774 = load i32, ptr %17, align 4, !tbaa !9
  %9775 = mul nsw i32 %9773, %9774
  %9776 = add nsw i32 %9775, 5
  store i32 %9776, ptr %20, align 4, !tbaa !9
  %9777 = load i32, ptr %49, align 4, !tbaa !9
  %9778 = load i32, ptr %17, align 4, !tbaa !9
  %9779 = mul nsw i32 %9777, %9778
  %9780 = add nsw i32 %9779, 5
  store i32 %9780, ptr %21, align 4, !tbaa !9
  %9781 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9782 = load float, ptr %9781, align 4, !tbaa !11
  %9783 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %9784 = load float, ptr %9783, align 4, !tbaa !11
  %9785 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9786 = load float, ptr %9785, align 4, !tbaa !14
  %9787 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %9788 = load float, ptr %9787, align 4, !tbaa !14
  %9789 = fmul float %9786, %9788
  %9790 = fneg float %9789
  %9791 = call float @llvm.fmuladd.f32(float %9782, float %9784, float %9790)
  %9792 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9791, ptr %9792, align 4, !tbaa !11
  %9793 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9794 = load float, ptr %9793, align 4, !tbaa !11
  %9795 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %9796 = load float, ptr %9795, align 4, !tbaa !14
  %9797 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9798 = load float, ptr %9797, align 4, !tbaa !14
  %9799 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %9800 = load float, ptr %9799, align 4, !tbaa !11
  %9801 = fmul float %9798, %9800
  %9802 = call float @llvm.fmuladd.f32(float %9794, float %9796, float %9801)
  %9803 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9802, ptr %9803, align 4, !tbaa !14
  %9804 = load ptr, ptr %14, align 8, !tbaa !5
  %9805 = load i32, ptr %21, align 4, !tbaa !9
  %9806 = sext i32 %9805 to i64
  %9807 = getelementptr inbounds %struct.complex, ptr %9804, i64 %9806
  %9808 = getelementptr inbounds %struct.complex, ptr %9807, i32 0, i32 0
  %9809 = load float, ptr %9808, align 4, !tbaa !11
  %9810 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9811 = load float, ptr %9810, align 4, !tbaa !11
  %9812 = fsub float %9809, %9811
  %9813 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9812, ptr %9813, align 4, !tbaa !11
  %9814 = load ptr, ptr %14, align 8, !tbaa !5
  %9815 = load i32, ptr %21, align 4, !tbaa !9
  %9816 = sext i32 %9815 to i64
  %9817 = getelementptr inbounds %struct.complex, ptr %9814, i64 %9816
  %9818 = getelementptr inbounds %struct.complex, ptr %9817, i32 0, i32 1
  %9819 = load float, ptr %9818, align 4, !tbaa !14
  %9820 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9821 = load float, ptr %9820, align 4, !tbaa !14
  %9822 = fsub float %9819, %9821
  %9823 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9822, ptr %9823, align 4, !tbaa !14
  %9824 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9825 = load float, ptr %9824, align 4, !tbaa !11
  %9826 = load ptr, ptr %14, align 8, !tbaa !5
  %9827 = load i32, ptr %20, align 4, !tbaa !9
  %9828 = sext i32 %9827 to i64
  %9829 = getelementptr inbounds %struct.complex, ptr %9826, i64 %9828
  %9830 = getelementptr inbounds %struct.complex, ptr %9829, i32 0, i32 0
  store float %9825, ptr %9830, align 4, !tbaa !11
  %9831 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9832 = load float, ptr %9831, align 4, !tbaa !14
  %9833 = load ptr, ptr %14, align 8, !tbaa !5
  %9834 = load i32, ptr %20, align 4, !tbaa !9
  %9835 = sext i32 %9834 to i64
  %9836 = getelementptr inbounds %struct.complex, ptr %9833, i64 %9835
  %9837 = getelementptr inbounds %struct.complex, ptr %9836, i32 0, i32 1
  store float %9832, ptr %9837, align 4, !tbaa !14
  %9838 = load i32, ptr %49, align 4, !tbaa !9
  %9839 = load i32, ptr %17, align 4, !tbaa !9
  %9840 = mul nsw i32 %9838, %9839
  %9841 = add nsw i32 %9840, 6
  store i32 %9841, ptr %20, align 4, !tbaa !9
  %9842 = load i32, ptr %49, align 4, !tbaa !9
  %9843 = load i32, ptr %17, align 4, !tbaa !9
  %9844 = mul nsw i32 %9842, %9843
  %9845 = add nsw i32 %9844, 6
  store i32 %9845, ptr %21, align 4, !tbaa !9
  %9846 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9847 = load float, ptr %9846, align 4, !tbaa !11
  %9848 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %9849 = load float, ptr %9848, align 4, !tbaa !11
  %9850 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9851 = load float, ptr %9850, align 4, !tbaa !14
  %9852 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %9853 = load float, ptr %9852, align 4, !tbaa !14
  %9854 = fmul float %9851, %9853
  %9855 = fneg float %9854
  %9856 = call float @llvm.fmuladd.f32(float %9847, float %9849, float %9855)
  %9857 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9856, ptr %9857, align 4, !tbaa !11
  %9858 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9859 = load float, ptr %9858, align 4, !tbaa !11
  %9860 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %9861 = load float, ptr %9860, align 4, !tbaa !14
  %9862 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9863 = load float, ptr %9862, align 4, !tbaa !14
  %9864 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %9865 = load float, ptr %9864, align 4, !tbaa !11
  %9866 = fmul float %9863, %9865
  %9867 = call float @llvm.fmuladd.f32(float %9859, float %9861, float %9866)
  %9868 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9867, ptr %9868, align 4, !tbaa !14
  %9869 = load ptr, ptr %14, align 8, !tbaa !5
  %9870 = load i32, ptr %21, align 4, !tbaa !9
  %9871 = sext i32 %9870 to i64
  %9872 = getelementptr inbounds %struct.complex, ptr %9869, i64 %9871
  %9873 = getelementptr inbounds %struct.complex, ptr %9872, i32 0, i32 0
  %9874 = load float, ptr %9873, align 4, !tbaa !11
  %9875 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9876 = load float, ptr %9875, align 4, !tbaa !11
  %9877 = fsub float %9874, %9876
  %9878 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9877, ptr %9878, align 4, !tbaa !11
  %9879 = load ptr, ptr %14, align 8, !tbaa !5
  %9880 = load i32, ptr %21, align 4, !tbaa !9
  %9881 = sext i32 %9880 to i64
  %9882 = getelementptr inbounds %struct.complex, ptr %9879, i64 %9881
  %9883 = getelementptr inbounds %struct.complex, ptr %9882, i32 0, i32 1
  %9884 = load float, ptr %9883, align 4, !tbaa !14
  %9885 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9886 = load float, ptr %9885, align 4, !tbaa !14
  %9887 = fsub float %9884, %9886
  %9888 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9887, ptr %9888, align 4, !tbaa !14
  %9889 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9890 = load float, ptr %9889, align 4, !tbaa !11
  %9891 = load ptr, ptr %14, align 8, !tbaa !5
  %9892 = load i32, ptr %20, align 4, !tbaa !9
  %9893 = sext i32 %9892 to i64
  %9894 = getelementptr inbounds %struct.complex, ptr %9891, i64 %9893
  %9895 = getelementptr inbounds %struct.complex, ptr %9894, i32 0, i32 0
  store float %9890, ptr %9895, align 4, !tbaa !11
  %9896 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9897 = load float, ptr %9896, align 4, !tbaa !14
  %9898 = load ptr, ptr %14, align 8, !tbaa !5
  %9899 = load i32, ptr %20, align 4, !tbaa !9
  %9900 = sext i32 %9899 to i64
  %9901 = getelementptr inbounds %struct.complex, ptr %9898, i64 %9900
  %9902 = getelementptr inbounds %struct.complex, ptr %9901, i32 0, i32 1
  store float %9897, ptr %9902, align 4, !tbaa !14
  %9903 = load i32, ptr %49, align 4, !tbaa !9
  %9904 = load i32, ptr %17, align 4, !tbaa !9
  %9905 = mul nsw i32 %9903, %9904
  %9906 = add nsw i32 %9905, 7
  store i32 %9906, ptr %20, align 4, !tbaa !9
  %9907 = load i32, ptr %49, align 4, !tbaa !9
  %9908 = load i32, ptr %17, align 4, !tbaa !9
  %9909 = mul nsw i32 %9907, %9908
  %9910 = add nsw i32 %9909, 7
  store i32 %9910, ptr %21, align 4, !tbaa !9
  %9911 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9912 = load float, ptr %9911, align 4, !tbaa !11
  %9913 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %9914 = load float, ptr %9913, align 4, !tbaa !11
  %9915 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9916 = load float, ptr %9915, align 4, !tbaa !14
  %9917 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %9918 = load float, ptr %9917, align 4, !tbaa !14
  %9919 = fmul float %9916, %9918
  %9920 = fneg float %9919
  %9921 = call float @llvm.fmuladd.f32(float %9912, float %9914, float %9920)
  %9922 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9921, ptr %9922, align 4, !tbaa !11
  %9923 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9924 = load float, ptr %9923, align 4, !tbaa !11
  %9925 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %9926 = load float, ptr %9925, align 4, !tbaa !14
  %9927 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9928 = load float, ptr %9927, align 4, !tbaa !14
  %9929 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %9930 = load float, ptr %9929, align 4, !tbaa !11
  %9931 = fmul float %9928, %9930
  %9932 = call float @llvm.fmuladd.f32(float %9924, float %9926, float %9931)
  %9933 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9932, ptr %9933, align 4, !tbaa !14
  %9934 = load ptr, ptr %14, align 8, !tbaa !5
  %9935 = load i32, ptr %21, align 4, !tbaa !9
  %9936 = sext i32 %9935 to i64
  %9937 = getelementptr inbounds %struct.complex, ptr %9934, i64 %9936
  %9938 = getelementptr inbounds %struct.complex, ptr %9937, i32 0, i32 0
  %9939 = load float, ptr %9938, align 4, !tbaa !11
  %9940 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9941 = load float, ptr %9940, align 4, !tbaa !11
  %9942 = fsub float %9939, %9941
  %9943 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %9942, ptr %9943, align 4, !tbaa !11
  %9944 = load ptr, ptr %14, align 8, !tbaa !5
  %9945 = load i32, ptr %21, align 4, !tbaa !9
  %9946 = sext i32 %9945 to i64
  %9947 = getelementptr inbounds %struct.complex, ptr %9944, i64 %9946
  %9948 = getelementptr inbounds %struct.complex, ptr %9947, i32 0, i32 1
  %9949 = load float, ptr %9948, align 4, !tbaa !14
  %9950 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9951 = load float, ptr %9950, align 4, !tbaa !14
  %9952 = fsub float %9949, %9951
  %9953 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %9952, ptr %9953, align 4, !tbaa !14
  %9954 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %9955 = load float, ptr %9954, align 4, !tbaa !11
  %9956 = load ptr, ptr %14, align 8, !tbaa !5
  %9957 = load i32, ptr %20, align 4, !tbaa !9
  %9958 = sext i32 %9957 to i64
  %9959 = getelementptr inbounds %struct.complex, ptr %9956, i64 %9958
  %9960 = getelementptr inbounds %struct.complex, ptr %9959, i32 0, i32 0
  store float %9955, ptr %9960, align 4, !tbaa !11
  %9961 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %9962 = load float, ptr %9961, align 4, !tbaa !14
  %9963 = load ptr, ptr %14, align 8, !tbaa !5
  %9964 = load i32, ptr %20, align 4, !tbaa !9
  %9965 = sext i32 %9964 to i64
  %9966 = getelementptr inbounds %struct.complex, ptr %9963, i64 %9965
  %9967 = getelementptr inbounds %struct.complex, ptr %9966, i32 0, i32 1
  store float %9962, ptr %9967, align 4, !tbaa !14
  %9968 = load i32, ptr %49, align 4, !tbaa !9
  %9969 = load i32, ptr %17, align 4, !tbaa !9
  %9970 = mul nsw i32 %9968, %9969
  %9971 = add nsw i32 %9970, 8
  store i32 %9971, ptr %20, align 4, !tbaa !9
  %9972 = load i32, ptr %49, align 4, !tbaa !9
  %9973 = load i32, ptr %17, align 4, !tbaa !9
  %9974 = mul nsw i32 %9972, %9973
  %9975 = add nsw i32 %9974, 8
  store i32 %9975, ptr %21, align 4, !tbaa !9
  %9976 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9977 = load float, ptr %9976, align 4, !tbaa !11
  %9978 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %9979 = load float, ptr %9978, align 4, !tbaa !11
  %9980 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9981 = load float, ptr %9980, align 4, !tbaa !14
  %9982 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %9983 = load float, ptr %9982, align 4, !tbaa !14
  %9984 = fmul float %9981, %9983
  %9985 = fneg float %9984
  %9986 = call float @llvm.fmuladd.f32(float %9977, float %9979, float %9985)
  %9987 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9986, ptr %9987, align 4, !tbaa !11
  %9988 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %9989 = load float, ptr %9988, align 4, !tbaa !11
  %9990 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %9991 = load float, ptr %9990, align 4, !tbaa !14
  %9992 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %9993 = load float, ptr %9992, align 4, !tbaa !14
  %9994 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %9995 = load float, ptr %9994, align 4, !tbaa !11
  %9996 = fmul float %9993, %9995
  %9997 = call float @llvm.fmuladd.f32(float %9989, float %9991, float %9996)
  %9998 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9997, ptr %9998, align 4, !tbaa !14
  %9999 = load ptr, ptr %14, align 8, !tbaa !5
  %10000 = load i32, ptr %21, align 4, !tbaa !9
  %10001 = sext i32 %10000 to i64
  %10002 = getelementptr inbounds %struct.complex, ptr %9999, i64 %10001
  %10003 = getelementptr inbounds %struct.complex, ptr %10002, i32 0, i32 0
  %10004 = load float, ptr %10003, align 4, !tbaa !11
  %10005 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10006 = load float, ptr %10005, align 4, !tbaa !11
  %10007 = fsub float %10004, %10006
  %10008 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10007, ptr %10008, align 4, !tbaa !11
  %10009 = load ptr, ptr %14, align 8, !tbaa !5
  %10010 = load i32, ptr %21, align 4, !tbaa !9
  %10011 = sext i32 %10010 to i64
  %10012 = getelementptr inbounds %struct.complex, ptr %10009, i64 %10011
  %10013 = getelementptr inbounds %struct.complex, ptr %10012, i32 0, i32 1
  %10014 = load float, ptr %10013, align 4, !tbaa !14
  %10015 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10016 = load float, ptr %10015, align 4, !tbaa !14
  %10017 = fsub float %10014, %10016
  %10018 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10017, ptr %10018, align 4, !tbaa !14
  %10019 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10020 = load float, ptr %10019, align 4, !tbaa !11
  %10021 = load ptr, ptr %14, align 8, !tbaa !5
  %10022 = load i32, ptr %20, align 4, !tbaa !9
  %10023 = sext i32 %10022 to i64
  %10024 = getelementptr inbounds %struct.complex, ptr %10021, i64 %10023
  %10025 = getelementptr inbounds %struct.complex, ptr %10024, i32 0, i32 0
  store float %10020, ptr %10025, align 4, !tbaa !11
  %10026 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10027 = load float, ptr %10026, align 4, !tbaa !14
  %10028 = load ptr, ptr %14, align 8, !tbaa !5
  %10029 = load i32, ptr %20, align 4, !tbaa !9
  %10030 = sext i32 %10029 to i64
  %10031 = getelementptr inbounds %struct.complex, ptr %10028, i64 %10030
  %10032 = getelementptr inbounds %struct.complex, ptr %10031, i32 0, i32 1
  store float %10027, ptr %10032, align 4, !tbaa !14
  %10033 = load i32, ptr %49, align 4, !tbaa !9
  %10034 = load i32, ptr %17, align 4, !tbaa !9
  %10035 = mul nsw i32 %10033, %10034
  %10036 = add nsw i32 %10035, 9
  store i32 %10036, ptr %20, align 4, !tbaa !9
  %10037 = load i32, ptr %49, align 4, !tbaa !9
  %10038 = load i32, ptr %17, align 4, !tbaa !9
  %10039 = mul nsw i32 %10037, %10038
  %10040 = add nsw i32 %10039, 9
  store i32 %10040, ptr %21, align 4, !tbaa !9
  %10041 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10042 = load float, ptr %10041, align 4, !tbaa !11
  %10043 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %10044 = load float, ptr %10043, align 4, !tbaa !11
  %10045 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10046 = load float, ptr %10045, align 4, !tbaa !14
  %10047 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %10048 = load float, ptr %10047, align 4, !tbaa !14
  %10049 = fmul float %10046, %10048
  %10050 = fneg float %10049
  %10051 = call float @llvm.fmuladd.f32(float %10042, float %10044, float %10050)
  %10052 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10051, ptr %10052, align 4, !tbaa !11
  %10053 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10054 = load float, ptr %10053, align 4, !tbaa !11
  %10055 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %10056 = load float, ptr %10055, align 4, !tbaa !14
  %10057 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10058 = load float, ptr %10057, align 4, !tbaa !14
  %10059 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %10060 = load float, ptr %10059, align 4, !tbaa !11
  %10061 = fmul float %10058, %10060
  %10062 = call float @llvm.fmuladd.f32(float %10054, float %10056, float %10061)
  %10063 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10062, ptr %10063, align 4, !tbaa !14
  %10064 = load ptr, ptr %14, align 8, !tbaa !5
  %10065 = load i32, ptr %21, align 4, !tbaa !9
  %10066 = sext i32 %10065 to i64
  %10067 = getelementptr inbounds %struct.complex, ptr %10064, i64 %10066
  %10068 = getelementptr inbounds %struct.complex, ptr %10067, i32 0, i32 0
  %10069 = load float, ptr %10068, align 4, !tbaa !11
  %10070 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10071 = load float, ptr %10070, align 4, !tbaa !11
  %10072 = fsub float %10069, %10071
  %10073 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10072, ptr %10073, align 4, !tbaa !11
  %10074 = load ptr, ptr %14, align 8, !tbaa !5
  %10075 = load i32, ptr %21, align 4, !tbaa !9
  %10076 = sext i32 %10075 to i64
  %10077 = getelementptr inbounds %struct.complex, ptr %10074, i64 %10076
  %10078 = getelementptr inbounds %struct.complex, ptr %10077, i32 0, i32 1
  %10079 = load float, ptr %10078, align 4, !tbaa !14
  %10080 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10081 = load float, ptr %10080, align 4, !tbaa !14
  %10082 = fsub float %10079, %10081
  %10083 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10082, ptr %10083, align 4, !tbaa !14
  %10084 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10085 = load float, ptr %10084, align 4, !tbaa !11
  %10086 = load ptr, ptr %14, align 8, !tbaa !5
  %10087 = load i32, ptr %20, align 4, !tbaa !9
  %10088 = sext i32 %10087 to i64
  %10089 = getelementptr inbounds %struct.complex, ptr %10086, i64 %10088
  %10090 = getelementptr inbounds %struct.complex, ptr %10089, i32 0, i32 0
  store float %10085, ptr %10090, align 4, !tbaa !11
  %10091 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10092 = load float, ptr %10091, align 4, !tbaa !14
  %10093 = load ptr, ptr %14, align 8, !tbaa !5
  %10094 = load i32, ptr %20, align 4, !tbaa !9
  %10095 = sext i32 %10094 to i64
  %10096 = getelementptr inbounds %struct.complex, ptr %10093, i64 %10095
  %10097 = getelementptr inbounds %struct.complex, ptr %10096, i32 0, i32 1
  store float %10092, ptr %10097, align 4, !tbaa !14
  %10098 = load i32, ptr %49, align 4, !tbaa !9
  %10099 = load i32, ptr %17, align 4, !tbaa !9
  %10100 = mul nsw i32 %10098, %10099
  %10101 = add nsw i32 %10100, 10
  store i32 %10101, ptr %20, align 4, !tbaa !9
  %10102 = load i32, ptr %49, align 4, !tbaa !9
  %10103 = load i32, ptr %17, align 4, !tbaa !9
  %10104 = mul nsw i32 %10102, %10103
  %10105 = add nsw i32 %10104, 10
  store i32 %10105, ptr %21, align 4, !tbaa !9
  %10106 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10107 = load float, ptr %10106, align 4, !tbaa !11
  %10108 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %10109 = load float, ptr %10108, align 4, !tbaa !11
  %10110 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10111 = load float, ptr %10110, align 4, !tbaa !14
  %10112 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %10113 = load float, ptr %10112, align 4, !tbaa !14
  %10114 = fmul float %10111, %10113
  %10115 = fneg float %10114
  %10116 = call float @llvm.fmuladd.f32(float %10107, float %10109, float %10115)
  %10117 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10116, ptr %10117, align 4, !tbaa !11
  %10118 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10119 = load float, ptr %10118, align 4, !tbaa !11
  %10120 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %10121 = load float, ptr %10120, align 4, !tbaa !14
  %10122 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10123 = load float, ptr %10122, align 4, !tbaa !14
  %10124 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %10125 = load float, ptr %10124, align 4, !tbaa !11
  %10126 = fmul float %10123, %10125
  %10127 = call float @llvm.fmuladd.f32(float %10119, float %10121, float %10126)
  %10128 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10127, ptr %10128, align 4, !tbaa !14
  %10129 = load ptr, ptr %14, align 8, !tbaa !5
  %10130 = load i32, ptr %21, align 4, !tbaa !9
  %10131 = sext i32 %10130 to i64
  %10132 = getelementptr inbounds %struct.complex, ptr %10129, i64 %10131
  %10133 = getelementptr inbounds %struct.complex, ptr %10132, i32 0, i32 0
  %10134 = load float, ptr %10133, align 4, !tbaa !11
  %10135 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10136 = load float, ptr %10135, align 4, !tbaa !11
  %10137 = fsub float %10134, %10136
  %10138 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10137, ptr %10138, align 4, !tbaa !11
  %10139 = load ptr, ptr %14, align 8, !tbaa !5
  %10140 = load i32, ptr %21, align 4, !tbaa !9
  %10141 = sext i32 %10140 to i64
  %10142 = getelementptr inbounds %struct.complex, ptr %10139, i64 %10141
  %10143 = getelementptr inbounds %struct.complex, ptr %10142, i32 0, i32 1
  %10144 = load float, ptr %10143, align 4, !tbaa !14
  %10145 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10146 = load float, ptr %10145, align 4, !tbaa !14
  %10147 = fsub float %10144, %10146
  %10148 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10147, ptr %10148, align 4, !tbaa !14
  %10149 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10150 = load float, ptr %10149, align 4, !tbaa !11
  %10151 = load ptr, ptr %14, align 8, !tbaa !5
  %10152 = load i32, ptr %20, align 4, !tbaa !9
  %10153 = sext i32 %10152 to i64
  %10154 = getelementptr inbounds %struct.complex, ptr %10151, i64 %10153
  %10155 = getelementptr inbounds %struct.complex, ptr %10154, i32 0, i32 0
  store float %10150, ptr %10155, align 4, !tbaa !11
  %10156 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10157 = load float, ptr %10156, align 4, !tbaa !14
  %10158 = load ptr, ptr %14, align 8, !tbaa !5
  %10159 = load i32, ptr %20, align 4, !tbaa !9
  %10160 = sext i32 %10159 to i64
  %10161 = getelementptr inbounds %struct.complex, ptr %10158, i64 %10160
  %10162 = getelementptr inbounds %struct.complex, ptr %10161, i32 0, i32 1
  store float %10157, ptr %10162, align 4, !tbaa !14
  br label %10163

10163:                                            ; preds = %8968
  %10164 = load i32, ptr %49, align 4, !tbaa !9
  %10165 = add nsw i32 %10164, 1
  store i32 %10165, ptr %49, align 4, !tbaa !9
  br label %8964, !llvm.loop !25

10166:                                            ; preds = %8964
  br label %19663

10167:                                            ; preds = %260
  %10168 = load ptr, ptr %11, align 8, !tbaa !5
  %10169 = load i32, ptr %10168, align 4, !tbaa !9
  switch i32 %10169, label %10180 [
    i32 1, label %10170
    i32 2, label %10171
    i32 3, label %10172
    i32 4, label %10173
    i32 5, label %10174
    i32 6, label %10175
    i32 7, label %10176
    i32 8, label %10177
    i32 9, label %10178
    i32 10, label %10179
  ]

10170:                                            ; preds = %10167
  br label %10194

10171:                                            ; preds = %10167
  br label %10348

10172:                                            ; preds = %10167
  br label %10695

10173:                                            ; preds = %10167
  br label %11214

10174:                                            ; preds = %10167
  br label %11905

10175:                                            ; preds = %10167
  br label %12768

10176:                                            ; preds = %10167
  br label %13803

10177:                                            ; preds = %10167
  br label %15010

10178:                                            ; preds = %10167
  br label %16389

10179:                                            ; preds = %10167
  br label %17940

10180:                                            ; preds = %10167
  %10181 = load ptr, ptr %9, align 8, !tbaa !5
  %10182 = load ptr, ptr %10, align 8, !tbaa !5
  %10183 = load ptr, ptr %11, align 8, !tbaa !5
  %10184 = load ptr, ptr %12, align 8, !tbaa !5
  %10185 = getelementptr inbounds %struct.complex, ptr %10184, i64 1
  %10186 = load ptr, ptr %13, align 8, !tbaa !5
  %10187 = load ptr, ptr %14, align 8, !tbaa !5
  %10188 = load i32, ptr %18, align 4, !tbaa !9
  %10189 = sext i32 %10188 to i64
  %10190 = getelementptr inbounds %struct.complex, ptr %10187, i64 %10189
  %10191 = load ptr, ptr %15, align 8, !tbaa !5
  %10192 = load ptr, ptr %16, align 8, !tbaa !5
  %10193 = getelementptr inbounds %struct.complex, ptr %10192, i64 1
  call void @clarf_(ptr noundef %10181, ptr noundef %10182, ptr noundef %10183, ptr noundef %10185, ptr noundef @c__1, ptr noundef %10186, ptr noundef %10190, ptr noundef %10191, ptr noundef %10193)
  br label %19663

10194:                                            ; preds = %10170
  %10195 = load ptr, ptr %13, align 8, !tbaa !5
  %10196 = getelementptr inbounds %struct.complex, ptr %10195, i32 0, i32 0
  %10197 = load float, ptr %10196, align 4, !tbaa !11
  %10198 = load ptr, ptr %12, align 8, !tbaa !5
  %10199 = getelementptr inbounds %struct.complex, ptr %10198, i64 1
  %10200 = getelementptr inbounds %struct.complex, ptr %10199, i32 0, i32 0
  %10201 = load float, ptr %10200, align 4, !tbaa !11
  %10202 = load ptr, ptr %13, align 8, !tbaa !5
  %10203 = getelementptr inbounds %struct.complex, ptr %10202, i32 0, i32 1
  %10204 = load float, ptr %10203, align 4, !tbaa !14
  %10205 = load ptr, ptr %12, align 8, !tbaa !5
  %10206 = getelementptr inbounds %struct.complex, ptr %10205, i64 1
  %10207 = getelementptr inbounds %struct.complex, ptr %10206, i32 0, i32 1
  %10208 = load float, ptr %10207, align 4, !tbaa !14
  %10209 = fmul float %10204, %10208
  %10210 = fneg float %10209
  %10211 = call float @llvm.fmuladd.f32(float %10197, float %10201, float %10210)
  %10212 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10211, ptr %10212, align 4, !tbaa !11
  %10213 = load ptr, ptr %13, align 8, !tbaa !5
  %10214 = getelementptr inbounds %struct.complex, ptr %10213, i32 0, i32 0
  %10215 = load float, ptr %10214, align 4, !tbaa !11
  %10216 = load ptr, ptr %12, align 8, !tbaa !5
  %10217 = getelementptr inbounds %struct.complex, ptr %10216, i64 1
  %10218 = getelementptr inbounds %struct.complex, ptr %10217, i32 0, i32 1
  %10219 = load float, ptr %10218, align 4, !tbaa !14
  %10220 = load ptr, ptr %13, align 8, !tbaa !5
  %10221 = getelementptr inbounds %struct.complex, ptr %10220, i32 0, i32 1
  %10222 = load float, ptr %10221, align 4, !tbaa !14
  %10223 = load ptr, ptr %12, align 8, !tbaa !5
  %10224 = getelementptr inbounds %struct.complex, ptr %10223, i64 1
  %10225 = getelementptr inbounds %struct.complex, ptr %10224, i32 0, i32 0
  %10226 = load float, ptr %10225, align 4, !tbaa !11
  %10227 = fmul float %10222, %10226
  %10228 = call float @llvm.fmuladd.f32(float %10215, float %10219, float %10227)
  %10229 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10228, ptr %10229, align 4, !tbaa !14
  %10230 = load ptr, ptr %12, align 8, !tbaa !5
  %10231 = getelementptr inbounds %struct.complex, ptr %10230, i64 1
  %10232 = call <2 x float> @Cf(ptr noundef %10231)
  store <2 x float> %10232, ptr %181, align 4
  %10233 = getelementptr inbounds { float, float }, ptr %181, i32 0, i32 0
  %10234 = load float, ptr %10233, align 4
  %10235 = getelementptr inbounds { float, float }, ptr %181, i32 0, i32 1
  %10236 = load float, ptr %10235, align 4
  %10237 = fneg float %10236
  %10238 = call ptr @_pCf(ptr noundef %33)
  %10239 = getelementptr inbounds { float, float }, ptr %10238, i32 0, i32 0
  %10240 = getelementptr inbounds { float, float }, ptr %10238, i32 0, i32 1
  store float %10234, ptr %10239, align 4
  store float %10237, ptr %10240, align 4
  %10241 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10242 = load float, ptr %10241, align 4, !tbaa !11
  %10243 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %10244 = load float, ptr %10243, align 4, !tbaa !11
  %10245 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10246 = load float, ptr %10245, align 4, !tbaa !14
  %10247 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %10248 = load float, ptr %10247, align 4, !tbaa !14
  %10249 = fmul float %10246, %10248
  %10250 = fneg float %10249
  %10251 = call float @llvm.fmuladd.f32(float %10242, float %10244, float %10250)
  %10252 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10251, ptr %10252, align 4, !tbaa !11
  %10253 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10254 = load float, ptr %10253, align 4, !tbaa !11
  %10255 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %10256 = load float, ptr %10255, align 4, !tbaa !14
  %10257 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10258 = load float, ptr %10257, align 4, !tbaa !14
  %10259 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %10260 = load float, ptr %10259, align 4, !tbaa !11
  %10261 = fmul float %10258, %10260
  %10262 = call float @llvm.fmuladd.f32(float %10254, float %10256, float %10261)
  %10263 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10262, ptr %10263, align 4, !tbaa !14
  %10264 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10265 = load float, ptr %10264, align 4, !tbaa !11
  %10266 = fsub float 1.000000e+00, %10265
  %10267 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10266, ptr %10267, align 4, !tbaa !11
  %10268 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10269 = load float, ptr %10268, align 4, !tbaa !14
  %10270 = fsub float 0.000000e+00, %10269
  %10271 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10270, ptr %10271, align 4, !tbaa !14
  %10272 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10273 = load float, ptr %10272, align 4, !tbaa !11
  %10274 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %10273, ptr %10274, align 4, !tbaa !11
  %10275 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10276 = load float, ptr %10275, align 4, !tbaa !14
  %10277 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %10276, ptr %10277, align 4, !tbaa !14
  %10278 = load ptr, ptr %10, align 8, !tbaa !5
  %10279 = load i32, ptr %10278, align 4, !tbaa !9
  store i32 %10279, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %10280

10280:                                            ; preds = %10344, %10194
  %10281 = load i32, ptr %49, align 4, !tbaa !9
  %10282 = load i32, ptr %19, align 4, !tbaa !9
  %10283 = icmp sle i32 %10281, %10282
  br i1 %10283, label %10284, label %10347

10284:                                            ; preds = %10280
  %10285 = load i32, ptr %49, align 4, !tbaa !9
  %10286 = load i32, ptr %17, align 4, !tbaa !9
  %10287 = add nsw i32 %10285, %10286
  store i32 %10287, ptr %20, align 4, !tbaa !9
  %10288 = load i32, ptr %49, align 4, !tbaa !9
  %10289 = load i32, ptr %17, align 4, !tbaa !9
  %10290 = add nsw i32 %10288, %10289
  store i32 %10290, ptr %21, align 4, !tbaa !9
  %10291 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %10292 = load float, ptr %10291, align 4, !tbaa !11
  %10293 = load ptr, ptr %14, align 8, !tbaa !5
  %10294 = load i32, ptr %21, align 4, !tbaa !9
  %10295 = sext i32 %10294 to i64
  %10296 = getelementptr inbounds %struct.complex, ptr %10293, i64 %10295
  %10297 = getelementptr inbounds %struct.complex, ptr %10296, i32 0, i32 0
  %10298 = load float, ptr %10297, align 4, !tbaa !11
  %10299 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %10300 = load float, ptr %10299, align 4, !tbaa !14
  %10301 = load ptr, ptr %14, align 8, !tbaa !5
  %10302 = load i32, ptr %21, align 4, !tbaa !9
  %10303 = sext i32 %10302 to i64
  %10304 = getelementptr inbounds %struct.complex, ptr %10301, i64 %10303
  %10305 = getelementptr inbounds %struct.complex, ptr %10304, i32 0, i32 1
  %10306 = load float, ptr %10305, align 4, !tbaa !14
  %10307 = fmul float %10300, %10306
  %10308 = fneg float %10307
  %10309 = call float @llvm.fmuladd.f32(float %10292, float %10298, float %10308)
  %10310 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10309, ptr %10310, align 4, !tbaa !11
  %10311 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %10312 = load float, ptr %10311, align 4, !tbaa !11
  %10313 = load ptr, ptr %14, align 8, !tbaa !5
  %10314 = load i32, ptr %21, align 4, !tbaa !9
  %10315 = sext i32 %10314 to i64
  %10316 = getelementptr inbounds %struct.complex, ptr %10313, i64 %10315
  %10317 = getelementptr inbounds %struct.complex, ptr %10316, i32 0, i32 1
  %10318 = load float, ptr %10317, align 4, !tbaa !14
  %10319 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %10320 = load float, ptr %10319, align 4, !tbaa !14
  %10321 = load ptr, ptr %14, align 8, !tbaa !5
  %10322 = load i32, ptr %21, align 4, !tbaa !9
  %10323 = sext i32 %10322 to i64
  %10324 = getelementptr inbounds %struct.complex, ptr %10321, i64 %10323
  %10325 = getelementptr inbounds %struct.complex, ptr %10324, i32 0, i32 0
  %10326 = load float, ptr %10325, align 4, !tbaa !11
  %10327 = fmul float %10320, %10326
  %10328 = call float @llvm.fmuladd.f32(float %10312, float %10318, float %10327)
  %10329 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10328, ptr %10329, align 4, !tbaa !14
  %10330 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10331 = load float, ptr %10330, align 4, !tbaa !11
  %10332 = load ptr, ptr %14, align 8, !tbaa !5
  %10333 = load i32, ptr %20, align 4, !tbaa !9
  %10334 = sext i32 %10333 to i64
  %10335 = getelementptr inbounds %struct.complex, ptr %10332, i64 %10334
  %10336 = getelementptr inbounds %struct.complex, ptr %10335, i32 0, i32 0
  store float %10331, ptr %10336, align 4, !tbaa !11
  %10337 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10338 = load float, ptr %10337, align 4, !tbaa !14
  %10339 = load ptr, ptr %14, align 8, !tbaa !5
  %10340 = load i32, ptr %20, align 4, !tbaa !9
  %10341 = sext i32 %10340 to i64
  %10342 = getelementptr inbounds %struct.complex, ptr %10339, i64 %10341
  %10343 = getelementptr inbounds %struct.complex, ptr %10342, i32 0, i32 1
  store float %10338, ptr %10343, align 4, !tbaa !14
  br label %10344

10344:                                            ; preds = %10284
  %10345 = load i32, ptr %49, align 4, !tbaa !9
  %10346 = add nsw i32 %10345, 1
  store i32 %10346, ptr %49, align 4, !tbaa !9
  br label %10280, !llvm.loop !26

10347:                                            ; preds = %10280
  br label %19663

10348:                                            ; preds = %10171
  %10349 = load ptr, ptr %12, align 8, !tbaa !5
  %10350 = getelementptr inbounds %struct.complex, ptr %10349, i64 1
  %10351 = getelementptr inbounds %struct.complex, ptr %10350, i32 0, i32 0
  %10352 = load float, ptr %10351, align 4, !tbaa !11
  %10353 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %10352, ptr %10353, align 4, !tbaa !11
  %10354 = load ptr, ptr %12, align 8, !tbaa !5
  %10355 = getelementptr inbounds %struct.complex, ptr %10354, i64 1
  %10356 = getelementptr inbounds %struct.complex, ptr %10355, i32 0, i32 1
  %10357 = load float, ptr %10356, align 4, !tbaa !14
  %10358 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %10357, ptr %10358, align 4, !tbaa !14
  %10359 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %10359, ptr %182, align 4
  %10360 = getelementptr inbounds { float, float }, ptr %182, i32 0, i32 0
  %10361 = load float, ptr %10360, align 4
  %10362 = getelementptr inbounds { float, float }, ptr %182, i32 0, i32 1
  %10363 = load float, ptr %10362, align 4
  %10364 = fneg float %10363
  %10365 = call ptr @_pCf(ptr noundef %31)
  %10366 = getelementptr inbounds { float, float }, ptr %10365, i32 0, i32 0
  %10367 = getelementptr inbounds { float, float }, ptr %10365, i32 0, i32 1
  store float %10361, ptr %10366, align 4
  store float %10364, ptr %10367, align 4
  %10368 = load ptr, ptr %13, align 8, !tbaa !5
  %10369 = getelementptr inbounds %struct.complex, ptr %10368, i32 0, i32 0
  %10370 = load float, ptr %10369, align 4, !tbaa !11
  %10371 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10372 = load float, ptr %10371, align 4, !tbaa !11
  %10373 = load ptr, ptr %13, align 8, !tbaa !5
  %10374 = getelementptr inbounds %struct.complex, ptr %10373, i32 0, i32 1
  %10375 = load float, ptr %10374, align 4, !tbaa !14
  %10376 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10377 = load float, ptr %10376, align 4, !tbaa !14
  %10378 = fmul float %10375, %10377
  %10379 = fneg float %10378
  %10380 = call float @llvm.fmuladd.f32(float %10370, float %10372, float %10379)
  %10381 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10380, ptr %10381, align 4, !tbaa !11
  %10382 = load ptr, ptr %13, align 8, !tbaa !5
  %10383 = getelementptr inbounds %struct.complex, ptr %10382, i32 0, i32 0
  %10384 = load float, ptr %10383, align 4, !tbaa !11
  %10385 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10386 = load float, ptr %10385, align 4, !tbaa !14
  %10387 = load ptr, ptr %13, align 8, !tbaa !5
  %10388 = getelementptr inbounds %struct.complex, ptr %10387, i32 0, i32 1
  %10389 = load float, ptr %10388, align 4, !tbaa !14
  %10390 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10391 = load float, ptr %10390, align 4, !tbaa !11
  %10392 = fmul float %10389, %10391
  %10393 = call float @llvm.fmuladd.f32(float %10384, float %10386, float %10392)
  %10394 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10393, ptr %10394, align 4, !tbaa !14
  %10395 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10396 = load float, ptr %10395, align 4, !tbaa !11
  %10397 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %10396, ptr %10397, align 4, !tbaa !11
  %10398 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10399 = load float, ptr %10398, align 4, !tbaa !14
  %10400 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %10399, ptr %10400, align 4, !tbaa !14
  %10401 = load ptr, ptr %12, align 8, !tbaa !5
  %10402 = getelementptr inbounds %struct.complex, ptr %10401, i64 2
  %10403 = getelementptr inbounds %struct.complex, ptr %10402, i32 0, i32 0
  %10404 = load float, ptr %10403, align 4, !tbaa !11
  %10405 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %10404, ptr %10405, align 4, !tbaa !11
  %10406 = load ptr, ptr %12, align 8, !tbaa !5
  %10407 = getelementptr inbounds %struct.complex, ptr %10406, i64 2
  %10408 = getelementptr inbounds %struct.complex, ptr %10407, i32 0, i32 1
  %10409 = load float, ptr %10408, align 4, !tbaa !14
  %10410 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %10409, ptr %10410, align 4, !tbaa !14
  %10411 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %10411, ptr %183, align 4
  %10412 = getelementptr inbounds { float, float }, ptr %183, i32 0, i32 0
  %10413 = load float, ptr %10412, align 4
  %10414 = getelementptr inbounds { float, float }, ptr %183, i32 0, i32 1
  %10415 = load float, ptr %10414, align 4
  %10416 = fneg float %10415
  %10417 = call ptr @_pCf(ptr noundef %31)
  %10418 = getelementptr inbounds { float, float }, ptr %10417, i32 0, i32 0
  %10419 = getelementptr inbounds { float, float }, ptr %10417, i32 0, i32 1
  store float %10413, ptr %10418, align 4
  store float %10416, ptr %10419, align 4
  %10420 = load ptr, ptr %13, align 8, !tbaa !5
  %10421 = getelementptr inbounds %struct.complex, ptr %10420, i32 0, i32 0
  %10422 = load float, ptr %10421, align 4, !tbaa !11
  %10423 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10424 = load float, ptr %10423, align 4, !tbaa !11
  %10425 = load ptr, ptr %13, align 8, !tbaa !5
  %10426 = getelementptr inbounds %struct.complex, ptr %10425, i32 0, i32 1
  %10427 = load float, ptr %10426, align 4, !tbaa !14
  %10428 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10429 = load float, ptr %10428, align 4, !tbaa !14
  %10430 = fmul float %10427, %10429
  %10431 = fneg float %10430
  %10432 = call float @llvm.fmuladd.f32(float %10422, float %10424, float %10431)
  %10433 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10432, ptr %10433, align 4, !tbaa !11
  %10434 = load ptr, ptr %13, align 8, !tbaa !5
  %10435 = getelementptr inbounds %struct.complex, ptr %10434, i32 0, i32 0
  %10436 = load float, ptr %10435, align 4, !tbaa !11
  %10437 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10438 = load float, ptr %10437, align 4, !tbaa !14
  %10439 = load ptr, ptr %13, align 8, !tbaa !5
  %10440 = getelementptr inbounds %struct.complex, ptr %10439, i32 0, i32 1
  %10441 = load float, ptr %10440, align 4, !tbaa !14
  %10442 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10443 = load float, ptr %10442, align 4, !tbaa !11
  %10444 = fmul float %10441, %10443
  %10445 = call float @llvm.fmuladd.f32(float %10436, float %10438, float %10444)
  %10446 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10445, ptr %10446, align 4, !tbaa !14
  %10447 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10448 = load float, ptr %10447, align 4, !tbaa !11
  %10449 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %10448, ptr %10449, align 4, !tbaa !11
  %10450 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10451 = load float, ptr %10450, align 4, !tbaa !14
  %10452 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %10451, ptr %10452, align 4, !tbaa !14
  %10453 = load ptr, ptr %10, align 8, !tbaa !5
  %10454 = load i32, ptr %10453, align 4, !tbaa !9
  store i32 %10454, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %10455

10455:                                            ; preds = %10691, %10348
  %10456 = load i32, ptr %49, align 4, !tbaa !9
  %10457 = load i32, ptr %19, align 4, !tbaa !9
  %10458 = icmp sle i32 %10456, %10457
  br i1 %10458, label %10459, label %10694

10459:                                            ; preds = %10455
  %10460 = load i32, ptr %49, align 4, !tbaa !9
  %10461 = load i32, ptr %17, align 4, !tbaa !9
  %10462 = add nsw i32 %10460, %10461
  store i32 %10462, ptr %20, align 4, !tbaa !9
  %10463 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %10464 = load float, ptr %10463, align 4, !tbaa !11
  %10465 = load ptr, ptr %14, align 8, !tbaa !5
  %10466 = load i32, ptr %20, align 4, !tbaa !9
  %10467 = sext i32 %10466 to i64
  %10468 = getelementptr inbounds %struct.complex, ptr %10465, i64 %10467
  %10469 = getelementptr inbounds %struct.complex, ptr %10468, i32 0, i32 0
  %10470 = load float, ptr %10469, align 4, !tbaa !11
  %10471 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %10472 = load float, ptr %10471, align 4, !tbaa !14
  %10473 = load ptr, ptr %14, align 8, !tbaa !5
  %10474 = load i32, ptr %20, align 4, !tbaa !9
  %10475 = sext i32 %10474 to i64
  %10476 = getelementptr inbounds %struct.complex, ptr %10473, i64 %10475
  %10477 = getelementptr inbounds %struct.complex, ptr %10476, i32 0, i32 1
  %10478 = load float, ptr %10477, align 4, !tbaa !14
  %10479 = fmul float %10472, %10478
  %10480 = fneg float %10479
  %10481 = call float @llvm.fmuladd.f32(float %10464, float %10470, float %10480)
  %10482 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10481, ptr %10482, align 4, !tbaa !11
  %10483 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %10484 = load float, ptr %10483, align 4, !tbaa !11
  %10485 = load ptr, ptr %14, align 8, !tbaa !5
  %10486 = load i32, ptr %20, align 4, !tbaa !9
  %10487 = sext i32 %10486 to i64
  %10488 = getelementptr inbounds %struct.complex, ptr %10485, i64 %10487
  %10489 = getelementptr inbounds %struct.complex, ptr %10488, i32 0, i32 1
  %10490 = load float, ptr %10489, align 4, !tbaa !14
  %10491 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %10492 = load float, ptr %10491, align 4, !tbaa !14
  %10493 = load ptr, ptr %14, align 8, !tbaa !5
  %10494 = load i32, ptr %20, align 4, !tbaa !9
  %10495 = sext i32 %10494 to i64
  %10496 = getelementptr inbounds %struct.complex, ptr %10493, i64 %10495
  %10497 = getelementptr inbounds %struct.complex, ptr %10496, i32 0, i32 0
  %10498 = load float, ptr %10497, align 4, !tbaa !11
  %10499 = fmul float %10492, %10498
  %10500 = call float @llvm.fmuladd.f32(float %10484, float %10490, float %10499)
  %10501 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10500, ptr %10501, align 4, !tbaa !14
  %10502 = load i32, ptr %49, align 4, !tbaa !9
  %10503 = load i32, ptr %17, align 4, !tbaa !9
  %10504 = shl i32 %10503, 1
  %10505 = add nsw i32 %10502, %10504
  store i32 %10505, ptr %21, align 4, !tbaa !9
  %10506 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %10507 = load float, ptr %10506, align 4, !tbaa !11
  %10508 = load ptr, ptr %14, align 8, !tbaa !5
  %10509 = load i32, ptr %21, align 4, !tbaa !9
  %10510 = sext i32 %10509 to i64
  %10511 = getelementptr inbounds %struct.complex, ptr %10508, i64 %10510
  %10512 = getelementptr inbounds %struct.complex, ptr %10511, i32 0, i32 0
  %10513 = load float, ptr %10512, align 4, !tbaa !11
  %10514 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %10515 = load float, ptr %10514, align 4, !tbaa !14
  %10516 = load ptr, ptr %14, align 8, !tbaa !5
  %10517 = load i32, ptr %21, align 4, !tbaa !9
  %10518 = sext i32 %10517 to i64
  %10519 = getelementptr inbounds %struct.complex, ptr %10516, i64 %10518
  %10520 = getelementptr inbounds %struct.complex, ptr %10519, i32 0, i32 1
  %10521 = load float, ptr %10520, align 4, !tbaa !14
  %10522 = fmul float %10515, %10521
  %10523 = fneg float %10522
  %10524 = call float @llvm.fmuladd.f32(float %10507, float %10513, float %10523)
  %10525 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10524, ptr %10525, align 4, !tbaa !11
  %10526 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %10527 = load float, ptr %10526, align 4, !tbaa !11
  %10528 = load ptr, ptr %14, align 8, !tbaa !5
  %10529 = load i32, ptr %21, align 4, !tbaa !9
  %10530 = sext i32 %10529 to i64
  %10531 = getelementptr inbounds %struct.complex, ptr %10528, i64 %10530
  %10532 = getelementptr inbounds %struct.complex, ptr %10531, i32 0, i32 1
  %10533 = load float, ptr %10532, align 4, !tbaa !14
  %10534 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %10535 = load float, ptr %10534, align 4, !tbaa !14
  %10536 = load ptr, ptr %14, align 8, !tbaa !5
  %10537 = load i32, ptr %21, align 4, !tbaa !9
  %10538 = sext i32 %10537 to i64
  %10539 = getelementptr inbounds %struct.complex, ptr %10536, i64 %10538
  %10540 = getelementptr inbounds %struct.complex, ptr %10539, i32 0, i32 0
  %10541 = load float, ptr %10540, align 4, !tbaa !11
  %10542 = fmul float %10535, %10541
  %10543 = call float @llvm.fmuladd.f32(float %10527, float %10533, float %10542)
  %10544 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10543, ptr %10544, align 4, !tbaa !14
  %10545 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10546 = load float, ptr %10545, align 4, !tbaa !11
  %10547 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10548 = load float, ptr %10547, align 4, !tbaa !11
  %10549 = fadd float %10546, %10548
  %10550 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10549, ptr %10550, align 4, !tbaa !11
  %10551 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10552 = load float, ptr %10551, align 4, !tbaa !14
  %10553 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10554 = load float, ptr %10553, align 4, !tbaa !14
  %10555 = fadd float %10552, %10554
  %10556 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10555, ptr %10556, align 4, !tbaa !14
  %10557 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10558 = load float, ptr %10557, align 4, !tbaa !11
  %10559 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %10558, ptr %10559, align 4, !tbaa !11
  %10560 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10561 = load float, ptr %10560, align 4, !tbaa !14
  %10562 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %10561, ptr %10562, align 4, !tbaa !14
  %10563 = load i32, ptr %49, align 4, !tbaa !9
  %10564 = load i32, ptr %17, align 4, !tbaa !9
  %10565 = add nsw i32 %10563, %10564
  store i32 %10565, ptr %20, align 4, !tbaa !9
  %10566 = load i32, ptr %49, align 4, !tbaa !9
  %10567 = load i32, ptr %17, align 4, !tbaa !9
  %10568 = add nsw i32 %10566, %10567
  store i32 %10568, ptr %21, align 4, !tbaa !9
  %10569 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10570 = load float, ptr %10569, align 4, !tbaa !11
  %10571 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %10572 = load float, ptr %10571, align 4, !tbaa !11
  %10573 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10574 = load float, ptr %10573, align 4, !tbaa !14
  %10575 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %10576 = load float, ptr %10575, align 4, !tbaa !14
  %10577 = fmul float %10574, %10576
  %10578 = fneg float %10577
  %10579 = call float @llvm.fmuladd.f32(float %10570, float %10572, float %10578)
  %10580 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10579, ptr %10580, align 4, !tbaa !11
  %10581 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10582 = load float, ptr %10581, align 4, !tbaa !11
  %10583 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %10584 = load float, ptr %10583, align 4, !tbaa !14
  %10585 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10586 = load float, ptr %10585, align 4, !tbaa !14
  %10587 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %10588 = load float, ptr %10587, align 4, !tbaa !11
  %10589 = fmul float %10586, %10588
  %10590 = call float @llvm.fmuladd.f32(float %10582, float %10584, float %10589)
  %10591 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10590, ptr %10591, align 4, !tbaa !14
  %10592 = load ptr, ptr %14, align 8, !tbaa !5
  %10593 = load i32, ptr %21, align 4, !tbaa !9
  %10594 = sext i32 %10593 to i64
  %10595 = getelementptr inbounds %struct.complex, ptr %10592, i64 %10594
  %10596 = getelementptr inbounds %struct.complex, ptr %10595, i32 0, i32 0
  %10597 = load float, ptr %10596, align 4, !tbaa !11
  %10598 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10599 = load float, ptr %10598, align 4, !tbaa !11
  %10600 = fsub float %10597, %10599
  %10601 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10600, ptr %10601, align 4, !tbaa !11
  %10602 = load ptr, ptr %14, align 8, !tbaa !5
  %10603 = load i32, ptr %21, align 4, !tbaa !9
  %10604 = sext i32 %10603 to i64
  %10605 = getelementptr inbounds %struct.complex, ptr %10602, i64 %10604
  %10606 = getelementptr inbounds %struct.complex, ptr %10605, i32 0, i32 1
  %10607 = load float, ptr %10606, align 4, !tbaa !14
  %10608 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10609 = load float, ptr %10608, align 4, !tbaa !14
  %10610 = fsub float %10607, %10609
  %10611 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10610, ptr %10611, align 4, !tbaa !14
  %10612 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10613 = load float, ptr %10612, align 4, !tbaa !11
  %10614 = load ptr, ptr %14, align 8, !tbaa !5
  %10615 = load i32, ptr %20, align 4, !tbaa !9
  %10616 = sext i32 %10615 to i64
  %10617 = getelementptr inbounds %struct.complex, ptr %10614, i64 %10616
  %10618 = getelementptr inbounds %struct.complex, ptr %10617, i32 0, i32 0
  store float %10613, ptr %10618, align 4, !tbaa !11
  %10619 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10620 = load float, ptr %10619, align 4, !tbaa !14
  %10621 = load ptr, ptr %14, align 8, !tbaa !5
  %10622 = load i32, ptr %20, align 4, !tbaa !9
  %10623 = sext i32 %10622 to i64
  %10624 = getelementptr inbounds %struct.complex, ptr %10621, i64 %10623
  %10625 = getelementptr inbounds %struct.complex, ptr %10624, i32 0, i32 1
  store float %10620, ptr %10625, align 4, !tbaa !14
  %10626 = load i32, ptr %49, align 4, !tbaa !9
  %10627 = load i32, ptr %17, align 4, !tbaa !9
  %10628 = shl i32 %10627, 1
  %10629 = add nsw i32 %10626, %10628
  store i32 %10629, ptr %20, align 4, !tbaa !9
  %10630 = load i32, ptr %49, align 4, !tbaa !9
  %10631 = load i32, ptr %17, align 4, !tbaa !9
  %10632 = shl i32 %10631, 1
  %10633 = add nsw i32 %10630, %10632
  store i32 %10633, ptr %21, align 4, !tbaa !9
  %10634 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10635 = load float, ptr %10634, align 4, !tbaa !11
  %10636 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %10637 = load float, ptr %10636, align 4, !tbaa !11
  %10638 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10639 = load float, ptr %10638, align 4, !tbaa !14
  %10640 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %10641 = load float, ptr %10640, align 4, !tbaa !14
  %10642 = fmul float %10639, %10641
  %10643 = fneg float %10642
  %10644 = call float @llvm.fmuladd.f32(float %10635, float %10637, float %10643)
  %10645 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10644, ptr %10645, align 4, !tbaa !11
  %10646 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %10647 = load float, ptr %10646, align 4, !tbaa !11
  %10648 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %10649 = load float, ptr %10648, align 4, !tbaa !14
  %10650 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %10651 = load float, ptr %10650, align 4, !tbaa !14
  %10652 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %10653 = load float, ptr %10652, align 4, !tbaa !11
  %10654 = fmul float %10651, %10653
  %10655 = call float @llvm.fmuladd.f32(float %10647, float %10649, float %10654)
  %10656 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10655, ptr %10656, align 4, !tbaa !14
  %10657 = load ptr, ptr %14, align 8, !tbaa !5
  %10658 = load i32, ptr %21, align 4, !tbaa !9
  %10659 = sext i32 %10658 to i64
  %10660 = getelementptr inbounds %struct.complex, ptr %10657, i64 %10659
  %10661 = getelementptr inbounds %struct.complex, ptr %10660, i32 0, i32 0
  %10662 = load float, ptr %10661, align 4, !tbaa !11
  %10663 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10664 = load float, ptr %10663, align 4, !tbaa !11
  %10665 = fsub float %10662, %10664
  %10666 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10665, ptr %10666, align 4, !tbaa !11
  %10667 = load ptr, ptr %14, align 8, !tbaa !5
  %10668 = load i32, ptr %21, align 4, !tbaa !9
  %10669 = sext i32 %10668 to i64
  %10670 = getelementptr inbounds %struct.complex, ptr %10667, i64 %10669
  %10671 = getelementptr inbounds %struct.complex, ptr %10670, i32 0, i32 1
  %10672 = load float, ptr %10671, align 4, !tbaa !14
  %10673 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10674 = load float, ptr %10673, align 4, !tbaa !14
  %10675 = fsub float %10672, %10674
  %10676 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10675, ptr %10676, align 4, !tbaa !14
  %10677 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10678 = load float, ptr %10677, align 4, !tbaa !11
  %10679 = load ptr, ptr %14, align 8, !tbaa !5
  %10680 = load i32, ptr %20, align 4, !tbaa !9
  %10681 = sext i32 %10680 to i64
  %10682 = getelementptr inbounds %struct.complex, ptr %10679, i64 %10681
  %10683 = getelementptr inbounds %struct.complex, ptr %10682, i32 0, i32 0
  store float %10678, ptr %10683, align 4, !tbaa !11
  %10684 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10685 = load float, ptr %10684, align 4, !tbaa !14
  %10686 = load ptr, ptr %14, align 8, !tbaa !5
  %10687 = load i32, ptr %20, align 4, !tbaa !9
  %10688 = sext i32 %10687 to i64
  %10689 = getelementptr inbounds %struct.complex, ptr %10686, i64 %10688
  %10690 = getelementptr inbounds %struct.complex, ptr %10689, i32 0, i32 1
  store float %10685, ptr %10690, align 4, !tbaa !14
  br label %10691

10691:                                            ; preds = %10459
  %10692 = load i32, ptr %49, align 4, !tbaa !9
  %10693 = add nsw i32 %10692, 1
  store i32 %10693, ptr %49, align 4, !tbaa !9
  br label %10455, !llvm.loop !27

10694:                                            ; preds = %10455
  br label %19663

10695:                                            ; preds = %10172
  %10696 = load ptr, ptr %12, align 8, !tbaa !5
  %10697 = getelementptr inbounds %struct.complex, ptr %10696, i64 1
  %10698 = getelementptr inbounds %struct.complex, ptr %10697, i32 0, i32 0
  %10699 = load float, ptr %10698, align 4, !tbaa !11
  %10700 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %10699, ptr %10700, align 4, !tbaa !11
  %10701 = load ptr, ptr %12, align 8, !tbaa !5
  %10702 = getelementptr inbounds %struct.complex, ptr %10701, i64 1
  %10703 = getelementptr inbounds %struct.complex, ptr %10702, i32 0, i32 1
  %10704 = load float, ptr %10703, align 4, !tbaa !14
  %10705 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %10704, ptr %10705, align 4, !tbaa !14
  %10706 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %10706, ptr %184, align 4
  %10707 = getelementptr inbounds { float, float }, ptr %184, i32 0, i32 0
  %10708 = load float, ptr %10707, align 4
  %10709 = getelementptr inbounds { float, float }, ptr %184, i32 0, i32 1
  %10710 = load float, ptr %10709, align 4
  %10711 = fneg float %10710
  %10712 = call ptr @_pCf(ptr noundef %31)
  %10713 = getelementptr inbounds { float, float }, ptr %10712, i32 0, i32 0
  %10714 = getelementptr inbounds { float, float }, ptr %10712, i32 0, i32 1
  store float %10708, ptr %10713, align 4
  store float %10711, ptr %10714, align 4
  %10715 = load ptr, ptr %13, align 8, !tbaa !5
  %10716 = getelementptr inbounds %struct.complex, ptr %10715, i32 0, i32 0
  %10717 = load float, ptr %10716, align 4, !tbaa !11
  %10718 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10719 = load float, ptr %10718, align 4, !tbaa !11
  %10720 = load ptr, ptr %13, align 8, !tbaa !5
  %10721 = getelementptr inbounds %struct.complex, ptr %10720, i32 0, i32 1
  %10722 = load float, ptr %10721, align 4, !tbaa !14
  %10723 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10724 = load float, ptr %10723, align 4, !tbaa !14
  %10725 = fmul float %10722, %10724
  %10726 = fneg float %10725
  %10727 = call float @llvm.fmuladd.f32(float %10717, float %10719, float %10726)
  %10728 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10727, ptr %10728, align 4, !tbaa !11
  %10729 = load ptr, ptr %13, align 8, !tbaa !5
  %10730 = getelementptr inbounds %struct.complex, ptr %10729, i32 0, i32 0
  %10731 = load float, ptr %10730, align 4, !tbaa !11
  %10732 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10733 = load float, ptr %10732, align 4, !tbaa !14
  %10734 = load ptr, ptr %13, align 8, !tbaa !5
  %10735 = getelementptr inbounds %struct.complex, ptr %10734, i32 0, i32 1
  %10736 = load float, ptr %10735, align 4, !tbaa !14
  %10737 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10738 = load float, ptr %10737, align 4, !tbaa !11
  %10739 = fmul float %10736, %10738
  %10740 = call float @llvm.fmuladd.f32(float %10731, float %10733, float %10739)
  %10741 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10740, ptr %10741, align 4, !tbaa !14
  %10742 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10743 = load float, ptr %10742, align 4, !tbaa !11
  %10744 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %10743, ptr %10744, align 4, !tbaa !11
  %10745 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10746 = load float, ptr %10745, align 4, !tbaa !14
  %10747 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %10746, ptr %10747, align 4, !tbaa !14
  %10748 = load ptr, ptr %12, align 8, !tbaa !5
  %10749 = getelementptr inbounds %struct.complex, ptr %10748, i64 2
  %10750 = getelementptr inbounds %struct.complex, ptr %10749, i32 0, i32 0
  %10751 = load float, ptr %10750, align 4, !tbaa !11
  %10752 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %10751, ptr %10752, align 4, !tbaa !11
  %10753 = load ptr, ptr %12, align 8, !tbaa !5
  %10754 = getelementptr inbounds %struct.complex, ptr %10753, i64 2
  %10755 = getelementptr inbounds %struct.complex, ptr %10754, i32 0, i32 1
  %10756 = load float, ptr %10755, align 4, !tbaa !14
  %10757 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %10756, ptr %10757, align 4, !tbaa !14
  %10758 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %10758, ptr %185, align 4
  %10759 = getelementptr inbounds { float, float }, ptr %185, i32 0, i32 0
  %10760 = load float, ptr %10759, align 4
  %10761 = getelementptr inbounds { float, float }, ptr %185, i32 0, i32 1
  %10762 = load float, ptr %10761, align 4
  %10763 = fneg float %10762
  %10764 = call ptr @_pCf(ptr noundef %31)
  %10765 = getelementptr inbounds { float, float }, ptr %10764, i32 0, i32 0
  %10766 = getelementptr inbounds { float, float }, ptr %10764, i32 0, i32 1
  store float %10760, ptr %10765, align 4
  store float %10763, ptr %10766, align 4
  %10767 = load ptr, ptr %13, align 8, !tbaa !5
  %10768 = getelementptr inbounds %struct.complex, ptr %10767, i32 0, i32 0
  %10769 = load float, ptr %10768, align 4, !tbaa !11
  %10770 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10771 = load float, ptr %10770, align 4, !tbaa !11
  %10772 = load ptr, ptr %13, align 8, !tbaa !5
  %10773 = getelementptr inbounds %struct.complex, ptr %10772, i32 0, i32 1
  %10774 = load float, ptr %10773, align 4, !tbaa !14
  %10775 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10776 = load float, ptr %10775, align 4, !tbaa !14
  %10777 = fmul float %10774, %10776
  %10778 = fneg float %10777
  %10779 = call float @llvm.fmuladd.f32(float %10769, float %10771, float %10778)
  %10780 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10779, ptr %10780, align 4, !tbaa !11
  %10781 = load ptr, ptr %13, align 8, !tbaa !5
  %10782 = getelementptr inbounds %struct.complex, ptr %10781, i32 0, i32 0
  %10783 = load float, ptr %10782, align 4, !tbaa !11
  %10784 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10785 = load float, ptr %10784, align 4, !tbaa !14
  %10786 = load ptr, ptr %13, align 8, !tbaa !5
  %10787 = getelementptr inbounds %struct.complex, ptr %10786, i32 0, i32 1
  %10788 = load float, ptr %10787, align 4, !tbaa !14
  %10789 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10790 = load float, ptr %10789, align 4, !tbaa !11
  %10791 = fmul float %10788, %10790
  %10792 = call float @llvm.fmuladd.f32(float %10783, float %10785, float %10791)
  %10793 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10792, ptr %10793, align 4, !tbaa !14
  %10794 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10795 = load float, ptr %10794, align 4, !tbaa !11
  %10796 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %10795, ptr %10796, align 4, !tbaa !11
  %10797 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10798 = load float, ptr %10797, align 4, !tbaa !14
  %10799 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %10798, ptr %10799, align 4, !tbaa !14
  %10800 = load ptr, ptr %12, align 8, !tbaa !5
  %10801 = getelementptr inbounds %struct.complex, ptr %10800, i64 3
  %10802 = getelementptr inbounds %struct.complex, ptr %10801, i32 0, i32 0
  %10803 = load float, ptr %10802, align 4, !tbaa !11
  %10804 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %10803, ptr %10804, align 4, !tbaa !11
  %10805 = load ptr, ptr %12, align 8, !tbaa !5
  %10806 = getelementptr inbounds %struct.complex, ptr %10805, i64 3
  %10807 = getelementptr inbounds %struct.complex, ptr %10806, i32 0, i32 1
  %10808 = load float, ptr %10807, align 4, !tbaa !14
  %10809 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %10808, ptr %10809, align 4, !tbaa !14
  %10810 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %10810, ptr %186, align 4
  %10811 = getelementptr inbounds { float, float }, ptr %186, i32 0, i32 0
  %10812 = load float, ptr %10811, align 4
  %10813 = getelementptr inbounds { float, float }, ptr %186, i32 0, i32 1
  %10814 = load float, ptr %10813, align 4
  %10815 = fneg float %10814
  %10816 = call ptr @_pCf(ptr noundef %31)
  %10817 = getelementptr inbounds { float, float }, ptr %10816, i32 0, i32 0
  %10818 = getelementptr inbounds { float, float }, ptr %10816, i32 0, i32 1
  store float %10812, ptr %10817, align 4
  store float %10815, ptr %10818, align 4
  %10819 = load ptr, ptr %13, align 8, !tbaa !5
  %10820 = getelementptr inbounds %struct.complex, ptr %10819, i32 0, i32 0
  %10821 = load float, ptr %10820, align 4, !tbaa !11
  %10822 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10823 = load float, ptr %10822, align 4, !tbaa !11
  %10824 = load ptr, ptr %13, align 8, !tbaa !5
  %10825 = getelementptr inbounds %struct.complex, ptr %10824, i32 0, i32 1
  %10826 = load float, ptr %10825, align 4, !tbaa !14
  %10827 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10828 = load float, ptr %10827, align 4, !tbaa !14
  %10829 = fmul float %10826, %10828
  %10830 = fneg float %10829
  %10831 = call float @llvm.fmuladd.f32(float %10821, float %10823, float %10830)
  %10832 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %10831, ptr %10832, align 4, !tbaa !11
  %10833 = load ptr, ptr %13, align 8, !tbaa !5
  %10834 = getelementptr inbounds %struct.complex, ptr %10833, i32 0, i32 0
  %10835 = load float, ptr %10834, align 4, !tbaa !11
  %10836 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10837 = load float, ptr %10836, align 4, !tbaa !14
  %10838 = load ptr, ptr %13, align 8, !tbaa !5
  %10839 = getelementptr inbounds %struct.complex, ptr %10838, i32 0, i32 1
  %10840 = load float, ptr %10839, align 4, !tbaa !14
  %10841 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10842 = load float, ptr %10841, align 4, !tbaa !11
  %10843 = fmul float %10840, %10842
  %10844 = call float @llvm.fmuladd.f32(float %10835, float %10837, float %10843)
  %10845 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %10844, ptr %10845, align 4, !tbaa !14
  %10846 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %10847 = load float, ptr %10846, align 4, !tbaa !11
  %10848 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %10847, ptr %10848, align 4, !tbaa !11
  %10849 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %10850 = load float, ptr %10849, align 4, !tbaa !14
  %10851 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %10850, ptr %10851, align 4, !tbaa !14
  %10852 = load ptr, ptr %10, align 8, !tbaa !5
  %10853 = load i32, ptr %10852, align 4, !tbaa !9
  store i32 %10853, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %10854

10854:                                            ; preds = %11210, %10695
  %10855 = load i32, ptr %49, align 4, !tbaa !9
  %10856 = load i32, ptr %19, align 4, !tbaa !9
  %10857 = icmp sle i32 %10855, %10856
  br i1 %10857, label %10858, label %11213

10858:                                            ; preds = %10854
  %10859 = load i32, ptr %49, align 4, !tbaa !9
  %10860 = load i32, ptr %17, align 4, !tbaa !9
  %10861 = add nsw i32 %10859, %10860
  store i32 %10861, ptr %20, align 4, !tbaa !9
  %10862 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %10863 = load float, ptr %10862, align 4, !tbaa !11
  %10864 = load ptr, ptr %14, align 8, !tbaa !5
  %10865 = load i32, ptr %20, align 4, !tbaa !9
  %10866 = sext i32 %10865 to i64
  %10867 = getelementptr inbounds %struct.complex, ptr %10864, i64 %10866
  %10868 = getelementptr inbounds %struct.complex, ptr %10867, i32 0, i32 0
  %10869 = load float, ptr %10868, align 4, !tbaa !11
  %10870 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %10871 = load float, ptr %10870, align 4, !tbaa !14
  %10872 = load ptr, ptr %14, align 8, !tbaa !5
  %10873 = load i32, ptr %20, align 4, !tbaa !9
  %10874 = sext i32 %10873 to i64
  %10875 = getelementptr inbounds %struct.complex, ptr %10872, i64 %10874
  %10876 = getelementptr inbounds %struct.complex, ptr %10875, i32 0, i32 1
  %10877 = load float, ptr %10876, align 4, !tbaa !14
  %10878 = fmul float %10871, %10877
  %10879 = fneg float %10878
  %10880 = call float @llvm.fmuladd.f32(float %10863, float %10869, float %10879)
  %10881 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10880, ptr %10881, align 4, !tbaa !11
  %10882 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %10883 = load float, ptr %10882, align 4, !tbaa !11
  %10884 = load ptr, ptr %14, align 8, !tbaa !5
  %10885 = load i32, ptr %20, align 4, !tbaa !9
  %10886 = sext i32 %10885 to i64
  %10887 = getelementptr inbounds %struct.complex, ptr %10884, i64 %10886
  %10888 = getelementptr inbounds %struct.complex, ptr %10887, i32 0, i32 1
  %10889 = load float, ptr %10888, align 4, !tbaa !14
  %10890 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %10891 = load float, ptr %10890, align 4, !tbaa !14
  %10892 = load ptr, ptr %14, align 8, !tbaa !5
  %10893 = load i32, ptr %20, align 4, !tbaa !9
  %10894 = sext i32 %10893 to i64
  %10895 = getelementptr inbounds %struct.complex, ptr %10892, i64 %10894
  %10896 = getelementptr inbounds %struct.complex, ptr %10895, i32 0, i32 0
  %10897 = load float, ptr %10896, align 4, !tbaa !11
  %10898 = fmul float %10891, %10897
  %10899 = call float @llvm.fmuladd.f32(float %10883, float %10889, float %10898)
  %10900 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10899, ptr %10900, align 4, !tbaa !14
  %10901 = load i32, ptr %49, align 4, !tbaa !9
  %10902 = load i32, ptr %17, align 4, !tbaa !9
  %10903 = shl i32 %10902, 1
  %10904 = add nsw i32 %10901, %10903
  store i32 %10904, ptr %21, align 4, !tbaa !9
  %10905 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %10906 = load float, ptr %10905, align 4, !tbaa !11
  %10907 = load ptr, ptr %14, align 8, !tbaa !5
  %10908 = load i32, ptr %21, align 4, !tbaa !9
  %10909 = sext i32 %10908 to i64
  %10910 = getelementptr inbounds %struct.complex, ptr %10907, i64 %10909
  %10911 = getelementptr inbounds %struct.complex, ptr %10910, i32 0, i32 0
  %10912 = load float, ptr %10911, align 4, !tbaa !11
  %10913 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %10914 = load float, ptr %10913, align 4, !tbaa !14
  %10915 = load ptr, ptr %14, align 8, !tbaa !5
  %10916 = load i32, ptr %21, align 4, !tbaa !9
  %10917 = sext i32 %10916 to i64
  %10918 = getelementptr inbounds %struct.complex, ptr %10915, i64 %10917
  %10919 = getelementptr inbounds %struct.complex, ptr %10918, i32 0, i32 1
  %10920 = load float, ptr %10919, align 4, !tbaa !14
  %10921 = fmul float %10914, %10920
  %10922 = fneg float %10921
  %10923 = call float @llvm.fmuladd.f32(float %10906, float %10912, float %10922)
  %10924 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %10923, ptr %10924, align 4, !tbaa !11
  %10925 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %10926 = load float, ptr %10925, align 4, !tbaa !11
  %10927 = load ptr, ptr %14, align 8, !tbaa !5
  %10928 = load i32, ptr %21, align 4, !tbaa !9
  %10929 = sext i32 %10928 to i64
  %10930 = getelementptr inbounds %struct.complex, ptr %10927, i64 %10929
  %10931 = getelementptr inbounds %struct.complex, ptr %10930, i32 0, i32 1
  %10932 = load float, ptr %10931, align 4, !tbaa !14
  %10933 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %10934 = load float, ptr %10933, align 4, !tbaa !14
  %10935 = load ptr, ptr %14, align 8, !tbaa !5
  %10936 = load i32, ptr %21, align 4, !tbaa !9
  %10937 = sext i32 %10936 to i64
  %10938 = getelementptr inbounds %struct.complex, ptr %10935, i64 %10937
  %10939 = getelementptr inbounds %struct.complex, ptr %10938, i32 0, i32 0
  %10940 = load float, ptr %10939, align 4, !tbaa !11
  %10941 = fmul float %10934, %10940
  %10942 = call float @llvm.fmuladd.f32(float %10926, float %10932, float %10941)
  %10943 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %10942, ptr %10943, align 4, !tbaa !14
  %10944 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10945 = load float, ptr %10944, align 4, !tbaa !11
  %10946 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %10947 = load float, ptr %10946, align 4, !tbaa !11
  %10948 = fadd float %10945, %10947
  %10949 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10948, ptr %10949, align 4, !tbaa !11
  %10950 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10951 = load float, ptr %10950, align 4, !tbaa !14
  %10952 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %10953 = load float, ptr %10952, align 4, !tbaa !14
  %10954 = fadd float %10951, %10953
  %10955 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10954, ptr %10955, align 4, !tbaa !14
  %10956 = load i32, ptr %49, align 4, !tbaa !9
  %10957 = load i32, ptr %17, align 4, !tbaa !9
  %10958 = mul nsw i32 %10957, 3
  %10959 = add nsw i32 %10956, %10958
  store i32 %10959, ptr %22, align 4, !tbaa !9
  %10960 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %10961 = load float, ptr %10960, align 4, !tbaa !11
  %10962 = load ptr, ptr %14, align 8, !tbaa !5
  %10963 = load i32, ptr %22, align 4, !tbaa !9
  %10964 = sext i32 %10963 to i64
  %10965 = getelementptr inbounds %struct.complex, ptr %10962, i64 %10964
  %10966 = getelementptr inbounds %struct.complex, ptr %10965, i32 0, i32 0
  %10967 = load float, ptr %10966, align 4, !tbaa !11
  %10968 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %10969 = load float, ptr %10968, align 4, !tbaa !14
  %10970 = load ptr, ptr %14, align 8, !tbaa !5
  %10971 = load i32, ptr %22, align 4, !tbaa !9
  %10972 = sext i32 %10971 to i64
  %10973 = getelementptr inbounds %struct.complex, ptr %10970, i64 %10972
  %10974 = getelementptr inbounds %struct.complex, ptr %10973, i32 0, i32 1
  %10975 = load float, ptr %10974, align 4, !tbaa !14
  %10976 = fmul float %10969, %10975
  %10977 = fneg float %10976
  %10978 = call float @llvm.fmuladd.f32(float %10961, float %10967, float %10977)
  %10979 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %10978, ptr %10979, align 4, !tbaa !11
  %10980 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %10981 = load float, ptr %10980, align 4, !tbaa !11
  %10982 = load ptr, ptr %14, align 8, !tbaa !5
  %10983 = load i32, ptr %22, align 4, !tbaa !9
  %10984 = sext i32 %10983 to i64
  %10985 = getelementptr inbounds %struct.complex, ptr %10982, i64 %10984
  %10986 = getelementptr inbounds %struct.complex, ptr %10985, i32 0, i32 1
  %10987 = load float, ptr %10986, align 4, !tbaa !14
  %10988 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %10989 = load float, ptr %10988, align 4, !tbaa !14
  %10990 = load ptr, ptr %14, align 8, !tbaa !5
  %10991 = load i32, ptr %22, align 4, !tbaa !9
  %10992 = sext i32 %10991 to i64
  %10993 = getelementptr inbounds %struct.complex, ptr %10990, i64 %10992
  %10994 = getelementptr inbounds %struct.complex, ptr %10993, i32 0, i32 0
  %10995 = load float, ptr %10994, align 4, !tbaa !11
  %10996 = fmul float %10989, %10995
  %10997 = call float @llvm.fmuladd.f32(float %10981, float %10987, float %10996)
  %10998 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %10997, ptr %10998, align 4, !tbaa !14
  %10999 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11000 = load float, ptr %10999, align 4, !tbaa !11
  %11001 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %11002 = load float, ptr %11001, align 4, !tbaa !11
  %11003 = fadd float %11000, %11002
  %11004 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11003, ptr %11004, align 4, !tbaa !11
  %11005 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11006 = load float, ptr %11005, align 4, !tbaa !14
  %11007 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %11008 = load float, ptr %11007, align 4, !tbaa !14
  %11009 = fadd float %11006, %11008
  %11010 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11009, ptr %11010, align 4, !tbaa !14
  %11011 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11012 = load float, ptr %11011, align 4, !tbaa !11
  %11013 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %11012, ptr %11013, align 4, !tbaa !11
  %11014 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11015 = load float, ptr %11014, align 4, !tbaa !14
  %11016 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %11015, ptr %11016, align 4, !tbaa !14
  %11017 = load i32, ptr %49, align 4, !tbaa !9
  %11018 = load i32, ptr %17, align 4, !tbaa !9
  %11019 = add nsw i32 %11017, %11018
  store i32 %11019, ptr %20, align 4, !tbaa !9
  %11020 = load i32, ptr %49, align 4, !tbaa !9
  %11021 = load i32, ptr %17, align 4, !tbaa !9
  %11022 = add nsw i32 %11020, %11021
  store i32 %11022, ptr %21, align 4, !tbaa !9
  %11023 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11024 = load float, ptr %11023, align 4, !tbaa !11
  %11025 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %11026 = load float, ptr %11025, align 4, !tbaa !11
  %11027 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11028 = load float, ptr %11027, align 4, !tbaa !14
  %11029 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %11030 = load float, ptr %11029, align 4, !tbaa !14
  %11031 = fmul float %11028, %11030
  %11032 = fneg float %11031
  %11033 = call float @llvm.fmuladd.f32(float %11024, float %11026, float %11032)
  %11034 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11033, ptr %11034, align 4, !tbaa !11
  %11035 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11036 = load float, ptr %11035, align 4, !tbaa !11
  %11037 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %11038 = load float, ptr %11037, align 4, !tbaa !14
  %11039 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11040 = load float, ptr %11039, align 4, !tbaa !14
  %11041 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %11042 = load float, ptr %11041, align 4, !tbaa !11
  %11043 = fmul float %11040, %11042
  %11044 = call float @llvm.fmuladd.f32(float %11036, float %11038, float %11043)
  %11045 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11044, ptr %11045, align 4, !tbaa !14
  %11046 = load ptr, ptr %14, align 8, !tbaa !5
  %11047 = load i32, ptr %21, align 4, !tbaa !9
  %11048 = sext i32 %11047 to i64
  %11049 = getelementptr inbounds %struct.complex, ptr %11046, i64 %11048
  %11050 = getelementptr inbounds %struct.complex, ptr %11049, i32 0, i32 0
  %11051 = load float, ptr %11050, align 4, !tbaa !11
  %11052 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11053 = load float, ptr %11052, align 4, !tbaa !11
  %11054 = fsub float %11051, %11053
  %11055 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11054, ptr %11055, align 4, !tbaa !11
  %11056 = load ptr, ptr %14, align 8, !tbaa !5
  %11057 = load i32, ptr %21, align 4, !tbaa !9
  %11058 = sext i32 %11057 to i64
  %11059 = getelementptr inbounds %struct.complex, ptr %11056, i64 %11058
  %11060 = getelementptr inbounds %struct.complex, ptr %11059, i32 0, i32 1
  %11061 = load float, ptr %11060, align 4, !tbaa !14
  %11062 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11063 = load float, ptr %11062, align 4, !tbaa !14
  %11064 = fsub float %11061, %11063
  %11065 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11064, ptr %11065, align 4, !tbaa !14
  %11066 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11067 = load float, ptr %11066, align 4, !tbaa !11
  %11068 = load ptr, ptr %14, align 8, !tbaa !5
  %11069 = load i32, ptr %20, align 4, !tbaa !9
  %11070 = sext i32 %11069 to i64
  %11071 = getelementptr inbounds %struct.complex, ptr %11068, i64 %11070
  %11072 = getelementptr inbounds %struct.complex, ptr %11071, i32 0, i32 0
  store float %11067, ptr %11072, align 4, !tbaa !11
  %11073 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11074 = load float, ptr %11073, align 4, !tbaa !14
  %11075 = load ptr, ptr %14, align 8, !tbaa !5
  %11076 = load i32, ptr %20, align 4, !tbaa !9
  %11077 = sext i32 %11076 to i64
  %11078 = getelementptr inbounds %struct.complex, ptr %11075, i64 %11077
  %11079 = getelementptr inbounds %struct.complex, ptr %11078, i32 0, i32 1
  store float %11074, ptr %11079, align 4, !tbaa !14
  %11080 = load i32, ptr %49, align 4, !tbaa !9
  %11081 = load i32, ptr %17, align 4, !tbaa !9
  %11082 = shl i32 %11081, 1
  %11083 = add nsw i32 %11080, %11082
  store i32 %11083, ptr %20, align 4, !tbaa !9
  %11084 = load i32, ptr %49, align 4, !tbaa !9
  %11085 = load i32, ptr %17, align 4, !tbaa !9
  %11086 = shl i32 %11085, 1
  %11087 = add nsw i32 %11084, %11086
  store i32 %11087, ptr %21, align 4, !tbaa !9
  %11088 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11089 = load float, ptr %11088, align 4, !tbaa !11
  %11090 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %11091 = load float, ptr %11090, align 4, !tbaa !11
  %11092 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11093 = load float, ptr %11092, align 4, !tbaa !14
  %11094 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %11095 = load float, ptr %11094, align 4, !tbaa !14
  %11096 = fmul float %11093, %11095
  %11097 = fneg float %11096
  %11098 = call float @llvm.fmuladd.f32(float %11089, float %11091, float %11097)
  %11099 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11098, ptr %11099, align 4, !tbaa !11
  %11100 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11101 = load float, ptr %11100, align 4, !tbaa !11
  %11102 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %11103 = load float, ptr %11102, align 4, !tbaa !14
  %11104 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11105 = load float, ptr %11104, align 4, !tbaa !14
  %11106 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %11107 = load float, ptr %11106, align 4, !tbaa !11
  %11108 = fmul float %11105, %11107
  %11109 = call float @llvm.fmuladd.f32(float %11101, float %11103, float %11108)
  %11110 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11109, ptr %11110, align 4, !tbaa !14
  %11111 = load ptr, ptr %14, align 8, !tbaa !5
  %11112 = load i32, ptr %21, align 4, !tbaa !9
  %11113 = sext i32 %11112 to i64
  %11114 = getelementptr inbounds %struct.complex, ptr %11111, i64 %11113
  %11115 = getelementptr inbounds %struct.complex, ptr %11114, i32 0, i32 0
  %11116 = load float, ptr %11115, align 4, !tbaa !11
  %11117 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11118 = load float, ptr %11117, align 4, !tbaa !11
  %11119 = fsub float %11116, %11118
  %11120 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11119, ptr %11120, align 4, !tbaa !11
  %11121 = load ptr, ptr %14, align 8, !tbaa !5
  %11122 = load i32, ptr %21, align 4, !tbaa !9
  %11123 = sext i32 %11122 to i64
  %11124 = getelementptr inbounds %struct.complex, ptr %11121, i64 %11123
  %11125 = getelementptr inbounds %struct.complex, ptr %11124, i32 0, i32 1
  %11126 = load float, ptr %11125, align 4, !tbaa !14
  %11127 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11128 = load float, ptr %11127, align 4, !tbaa !14
  %11129 = fsub float %11126, %11128
  %11130 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11129, ptr %11130, align 4, !tbaa !14
  %11131 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11132 = load float, ptr %11131, align 4, !tbaa !11
  %11133 = load ptr, ptr %14, align 8, !tbaa !5
  %11134 = load i32, ptr %20, align 4, !tbaa !9
  %11135 = sext i32 %11134 to i64
  %11136 = getelementptr inbounds %struct.complex, ptr %11133, i64 %11135
  %11137 = getelementptr inbounds %struct.complex, ptr %11136, i32 0, i32 0
  store float %11132, ptr %11137, align 4, !tbaa !11
  %11138 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11139 = load float, ptr %11138, align 4, !tbaa !14
  %11140 = load ptr, ptr %14, align 8, !tbaa !5
  %11141 = load i32, ptr %20, align 4, !tbaa !9
  %11142 = sext i32 %11141 to i64
  %11143 = getelementptr inbounds %struct.complex, ptr %11140, i64 %11142
  %11144 = getelementptr inbounds %struct.complex, ptr %11143, i32 0, i32 1
  store float %11139, ptr %11144, align 4, !tbaa !14
  %11145 = load i32, ptr %49, align 4, !tbaa !9
  %11146 = load i32, ptr %17, align 4, !tbaa !9
  %11147 = mul nsw i32 %11146, 3
  %11148 = add nsw i32 %11145, %11147
  store i32 %11148, ptr %20, align 4, !tbaa !9
  %11149 = load i32, ptr %49, align 4, !tbaa !9
  %11150 = load i32, ptr %17, align 4, !tbaa !9
  %11151 = mul nsw i32 %11150, 3
  %11152 = add nsw i32 %11149, %11151
  store i32 %11152, ptr %21, align 4, !tbaa !9
  %11153 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11154 = load float, ptr %11153, align 4, !tbaa !11
  %11155 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %11156 = load float, ptr %11155, align 4, !tbaa !11
  %11157 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11158 = load float, ptr %11157, align 4, !tbaa !14
  %11159 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %11160 = load float, ptr %11159, align 4, !tbaa !14
  %11161 = fmul float %11158, %11160
  %11162 = fneg float %11161
  %11163 = call float @llvm.fmuladd.f32(float %11154, float %11156, float %11162)
  %11164 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11163, ptr %11164, align 4, !tbaa !11
  %11165 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11166 = load float, ptr %11165, align 4, !tbaa !11
  %11167 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %11168 = load float, ptr %11167, align 4, !tbaa !14
  %11169 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11170 = load float, ptr %11169, align 4, !tbaa !14
  %11171 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %11172 = load float, ptr %11171, align 4, !tbaa !11
  %11173 = fmul float %11170, %11172
  %11174 = call float @llvm.fmuladd.f32(float %11166, float %11168, float %11173)
  %11175 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11174, ptr %11175, align 4, !tbaa !14
  %11176 = load ptr, ptr %14, align 8, !tbaa !5
  %11177 = load i32, ptr %21, align 4, !tbaa !9
  %11178 = sext i32 %11177 to i64
  %11179 = getelementptr inbounds %struct.complex, ptr %11176, i64 %11178
  %11180 = getelementptr inbounds %struct.complex, ptr %11179, i32 0, i32 0
  %11181 = load float, ptr %11180, align 4, !tbaa !11
  %11182 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11183 = load float, ptr %11182, align 4, !tbaa !11
  %11184 = fsub float %11181, %11183
  %11185 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11184, ptr %11185, align 4, !tbaa !11
  %11186 = load ptr, ptr %14, align 8, !tbaa !5
  %11187 = load i32, ptr %21, align 4, !tbaa !9
  %11188 = sext i32 %11187 to i64
  %11189 = getelementptr inbounds %struct.complex, ptr %11186, i64 %11188
  %11190 = getelementptr inbounds %struct.complex, ptr %11189, i32 0, i32 1
  %11191 = load float, ptr %11190, align 4, !tbaa !14
  %11192 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11193 = load float, ptr %11192, align 4, !tbaa !14
  %11194 = fsub float %11191, %11193
  %11195 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11194, ptr %11195, align 4, !tbaa !14
  %11196 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11197 = load float, ptr %11196, align 4, !tbaa !11
  %11198 = load ptr, ptr %14, align 8, !tbaa !5
  %11199 = load i32, ptr %20, align 4, !tbaa !9
  %11200 = sext i32 %11199 to i64
  %11201 = getelementptr inbounds %struct.complex, ptr %11198, i64 %11200
  %11202 = getelementptr inbounds %struct.complex, ptr %11201, i32 0, i32 0
  store float %11197, ptr %11202, align 4, !tbaa !11
  %11203 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11204 = load float, ptr %11203, align 4, !tbaa !14
  %11205 = load ptr, ptr %14, align 8, !tbaa !5
  %11206 = load i32, ptr %20, align 4, !tbaa !9
  %11207 = sext i32 %11206 to i64
  %11208 = getelementptr inbounds %struct.complex, ptr %11205, i64 %11207
  %11209 = getelementptr inbounds %struct.complex, ptr %11208, i32 0, i32 1
  store float %11204, ptr %11209, align 4, !tbaa !14
  br label %11210

11210:                                            ; preds = %10858
  %11211 = load i32, ptr %49, align 4, !tbaa !9
  %11212 = add nsw i32 %11211, 1
  store i32 %11212, ptr %49, align 4, !tbaa !9
  br label %10854, !llvm.loop !28

11213:                                            ; preds = %10854
  br label %19663

11214:                                            ; preds = %10173
  %11215 = load ptr, ptr %12, align 8, !tbaa !5
  %11216 = getelementptr inbounds %struct.complex, ptr %11215, i64 1
  %11217 = getelementptr inbounds %struct.complex, ptr %11216, i32 0, i32 0
  %11218 = load float, ptr %11217, align 4, !tbaa !11
  %11219 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %11218, ptr %11219, align 4, !tbaa !11
  %11220 = load ptr, ptr %12, align 8, !tbaa !5
  %11221 = getelementptr inbounds %struct.complex, ptr %11220, i64 1
  %11222 = getelementptr inbounds %struct.complex, ptr %11221, i32 0, i32 1
  %11223 = load float, ptr %11222, align 4, !tbaa !14
  %11224 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %11223, ptr %11224, align 4, !tbaa !14
  %11225 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %11225, ptr %187, align 4
  %11226 = getelementptr inbounds { float, float }, ptr %187, i32 0, i32 0
  %11227 = load float, ptr %11226, align 4
  %11228 = getelementptr inbounds { float, float }, ptr %187, i32 0, i32 1
  %11229 = load float, ptr %11228, align 4
  %11230 = fneg float %11229
  %11231 = call ptr @_pCf(ptr noundef %31)
  %11232 = getelementptr inbounds { float, float }, ptr %11231, i32 0, i32 0
  %11233 = getelementptr inbounds { float, float }, ptr %11231, i32 0, i32 1
  store float %11227, ptr %11232, align 4
  store float %11230, ptr %11233, align 4
  %11234 = load ptr, ptr %13, align 8, !tbaa !5
  %11235 = getelementptr inbounds %struct.complex, ptr %11234, i32 0, i32 0
  %11236 = load float, ptr %11235, align 4, !tbaa !11
  %11237 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11238 = load float, ptr %11237, align 4, !tbaa !11
  %11239 = load ptr, ptr %13, align 8, !tbaa !5
  %11240 = getelementptr inbounds %struct.complex, ptr %11239, i32 0, i32 1
  %11241 = load float, ptr %11240, align 4, !tbaa !14
  %11242 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11243 = load float, ptr %11242, align 4, !tbaa !14
  %11244 = fmul float %11241, %11243
  %11245 = fneg float %11244
  %11246 = call float @llvm.fmuladd.f32(float %11236, float %11238, float %11245)
  %11247 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11246, ptr %11247, align 4, !tbaa !11
  %11248 = load ptr, ptr %13, align 8, !tbaa !5
  %11249 = getelementptr inbounds %struct.complex, ptr %11248, i32 0, i32 0
  %11250 = load float, ptr %11249, align 4, !tbaa !11
  %11251 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11252 = load float, ptr %11251, align 4, !tbaa !14
  %11253 = load ptr, ptr %13, align 8, !tbaa !5
  %11254 = getelementptr inbounds %struct.complex, ptr %11253, i32 0, i32 1
  %11255 = load float, ptr %11254, align 4, !tbaa !14
  %11256 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11257 = load float, ptr %11256, align 4, !tbaa !11
  %11258 = fmul float %11255, %11257
  %11259 = call float @llvm.fmuladd.f32(float %11250, float %11252, float %11258)
  %11260 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11259, ptr %11260, align 4, !tbaa !14
  %11261 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11262 = load float, ptr %11261, align 4, !tbaa !11
  %11263 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %11262, ptr %11263, align 4, !tbaa !11
  %11264 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11265 = load float, ptr %11264, align 4, !tbaa !14
  %11266 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %11265, ptr %11266, align 4, !tbaa !14
  %11267 = load ptr, ptr %12, align 8, !tbaa !5
  %11268 = getelementptr inbounds %struct.complex, ptr %11267, i64 2
  %11269 = getelementptr inbounds %struct.complex, ptr %11268, i32 0, i32 0
  %11270 = load float, ptr %11269, align 4, !tbaa !11
  %11271 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %11270, ptr %11271, align 4, !tbaa !11
  %11272 = load ptr, ptr %12, align 8, !tbaa !5
  %11273 = getelementptr inbounds %struct.complex, ptr %11272, i64 2
  %11274 = getelementptr inbounds %struct.complex, ptr %11273, i32 0, i32 1
  %11275 = load float, ptr %11274, align 4, !tbaa !14
  %11276 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %11275, ptr %11276, align 4, !tbaa !14
  %11277 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %11277, ptr %188, align 4
  %11278 = getelementptr inbounds { float, float }, ptr %188, i32 0, i32 0
  %11279 = load float, ptr %11278, align 4
  %11280 = getelementptr inbounds { float, float }, ptr %188, i32 0, i32 1
  %11281 = load float, ptr %11280, align 4
  %11282 = fneg float %11281
  %11283 = call ptr @_pCf(ptr noundef %31)
  %11284 = getelementptr inbounds { float, float }, ptr %11283, i32 0, i32 0
  %11285 = getelementptr inbounds { float, float }, ptr %11283, i32 0, i32 1
  store float %11279, ptr %11284, align 4
  store float %11282, ptr %11285, align 4
  %11286 = load ptr, ptr %13, align 8, !tbaa !5
  %11287 = getelementptr inbounds %struct.complex, ptr %11286, i32 0, i32 0
  %11288 = load float, ptr %11287, align 4, !tbaa !11
  %11289 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11290 = load float, ptr %11289, align 4, !tbaa !11
  %11291 = load ptr, ptr %13, align 8, !tbaa !5
  %11292 = getelementptr inbounds %struct.complex, ptr %11291, i32 0, i32 1
  %11293 = load float, ptr %11292, align 4, !tbaa !14
  %11294 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11295 = load float, ptr %11294, align 4, !tbaa !14
  %11296 = fmul float %11293, %11295
  %11297 = fneg float %11296
  %11298 = call float @llvm.fmuladd.f32(float %11288, float %11290, float %11297)
  %11299 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11298, ptr %11299, align 4, !tbaa !11
  %11300 = load ptr, ptr %13, align 8, !tbaa !5
  %11301 = getelementptr inbounds %struct.complex, ptr %11300, i32 0, i32 0
  %11302 = load float, ptr %11301, align 4, !tbaa !11
  %11303 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11304 = load float, ptr %11303, align 4, !tbaa !14
  %11305 = load ptr, ptr %13, align 8, !tbaa !5
  %11306 = getelementptr inbounds %struct.complex, ptr %11305, i32 0, i32 1
  %11307 = load float, ptr %11306, align 4, !tbaa !14
  %11308 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11309 = load float, ptr %11308, align 4, !tbaa !11
  %11310 = fmul float %11307, %11309
  %11311 = call float @llvm.fmuladd.f32(float %11302, float %11304, float %11310)
  %11312 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11311, ptr %11312, align 4, !tbaa !14
  %11313 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11314 = load float, ptr %11313, align 4, !tbaa !11
  %11315 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %11314, ptr %11315, align 4, !tbaa !11
  %11316 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11317 = load float, ptr %11316, align 4, !tbaa !14
  %11318 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %11317, ptr %11318, align 4, !tbaa !14
  %11319 = load ptr, ptr %12, align 8, !tbaa !5
  %11320 = getelementptr inbounds %struct.complex, ptr %11319, i64 3
  %11321 = getelementptr inbounds %struct.complex, ptr %11320, i32 0, i32 0
  %11322 = load float, ptr %11321, align 4, !tbaa !11
  %11323 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %11322, ptr %11323, align 4, !tbaa !11
  %11324 = load ptr, ptr %12, align 8, !tbaa !5
  %11325 = getelementptr inbounds %struct.complex, ptr %11324, i64 3
  %11326 = getelementptr inbounds %struct.complex, ptr %11325, i32 0, i32 1
  %11327 = load float, ptr %11326, align 4, !tbaa !14
  %11328 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %11327, ptr %11328, align 4, !tbaa !14
  %11329 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %11329, ptr %189, align 4
  %11330 = getelementptr inbounds { float, float }, ptr %189, i32 0, i32 0
  %11331 = load float, ptr %11330, align 4
  %11332 = getelementptr inbounds { float, float }, ptr %189, i32 0, i32 1
  %11333 = load float, ptr %11332, align 4
  %11334 = fneg float %11333
  %11335 = call ptr @_pCf(ptr noundef %31)
  %11336 = getelementptr inbounds { float, float }, ptr %11335, i32 0, i32 0
  %11337 = getelementptr inbounds { float, float }, ptr %11335, i32 0, i32 1
  store float %11331, ptr %11336, align 4
  store float %11334, ptr %11337, align 4
  %11338 = load ptr, ptr %13, align 8, !tbaa !5
  %11339 = getelementptr inbounds %struct.complex, ptr %11338, i32 0, i32 0
  %11340 = load float, ptr %11339, align 4, !tbaa !11
  %11341 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11342 = load float, ptr %11341, align 4, !tbaa !11
  %11343 = load ptr, ptr %13, align 8, !tbaa !5
  %11344 = getelementptr inbounds %struct.complex, ptr %11343, i32 0, i32 1
  %11345 = load float, ptr %11344, align 4, !tbaa !14
  %11346 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11347 = load float, ptr %11346, align 4, !tbaa !14
  %11348 = fmul float %11345, %11347
  %11349 = fneg float %11348
  %11350 = call float @llvm.fmuladd.f32(float %11340, float %11342, float %11349)
  %11351 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11350, ptr %11351, align 4, !tbaa !11
  %11352 = load ptr, ptr %13, align 8, !tbaa !5
  %11353 = getelementptr inbounds %struct.complex, ptr %11352, i32 0, i32 0
  %11354 = load float, ptr %11353, align 4, !tbaa !11
  %11355 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11356 = load float, ptr %11355, align 4, !tbaa !14
  %11357 = load ptr, ptr %13, align 8, !tbaa !5
  %11358 = getelementptr inbounds %struct.complex, ptr %11357, i32 0, i32 1
  %11359 = load float, ptr %11358, align 4, !tbaa !14
  %11360 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11361 = load float, ptr %11360, align 4, !tbaa !11
  %11362 = fmul float %11359, %11361
  %11363 = call float @llvm.fmuladd.f32(float %11354, float %11356, float %11362)
  %11364 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11363, ptr %11364, align 4, !tbaa !14
  %11365 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11366 = load float, ptr %11365, align 4, !tbaa !11
  %11367 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %11366, ptr %11367, align 4, !tbaa !11
  %11368 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11369 = load float, ptr %11368, align 4, !tbaa !14
  %11370 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %11369, ptr %11370, align 4, !tbaa !14
  %11371 = load ptr, ptr %12, align 8, !tbaa !5
  %11372 = getelementptr inbounds %struct.complex, ptr %11371, i64 4
  %11373 = getelementptr inbounds %struct.complex, ptr %11372, i32 0, i32 0
  %11374 = load float, ptr %11373, align 4, !tbaa !11
  %11375 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %11374, ptr %11375, align 4, !tbaa !11
  %11376 = load ptr, ptr %12, align 8, !tbaa !5
  %11377 = getelementptr inbounds %struct.complex, ptr %11376, i64 4
  %11378 = getelementptr inbounds %struct.complex, ptr %11377, i32 0, i32 1
  %11379 = load float, ptr %11378, align 4, !tbaa !14
  %11380 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %11379, ptr %11380, align 4, !tbaa !14
  %11381 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %11381, ptr %190, align 4
  %11382 = getelementptr inbounds { float, float }, ptr %190, i32 0, i32 0
  %11383 = load float, ptr %11382, align 4
  %11384 = getelementptr inbounds { float, float }, ptr %190, i32 0, i32 1
  %11385 = load float, ptr %11384, align 4
  %11386 = fneg float %11385
  %11387 = call ptr @_pCf(ptr noundef %31)
  %11388 = getelementptr inbounds { float, float }, ptr %11387, i32 0, i32 0
  %11389 = getelementptr inbounds { float, float }, ptr %11387, i32 0, i32 1
  store float %11383, ptr %11388, align 4
  store float %11386, ptr %11389, align 4
  %11390 = load ptr, ptr %13, align 8, !tbaa !5
  %11391 = getelementptr inbounds %struct.complex, ptr %11390, i32 0, i32 0
  %11392 = load float, ptr %11391, align 4, !tbaa !11
  %11393 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11394 = load float, ptr %11393, align 4, !tbaa !11
  %11395 = load ptr, ptr %13, align 8, !tbaa !5
  %11396 = getelementptr inbounds %struct.complex, ptr %11395, i32 0, i32 1
  %11397 = load float, ptr %11396, align 4, !tbaa !14
  %11398 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11399 = load float, ptr %11398, align 4, !tbaa !14
  %11400 = fmul float %11397, %11399
  %11401 = fneg float %11400
  %11402 = call float @llvm.fmuladd.f32(float %11392, float %11394, float %11401)
  %11403 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11402, ptr %11403, align 4, !tbaa !11
  %11404 = load ptr, ptr %13, align 8, !tbaa !5
  %11405 = getelementptr inbounds %struct.complex, ptr %11404, i32 0, i32 0
  %11406 = load float, ptr %11405, align 4, !tbaa !11
  %11407 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11408 = load float, ptr %11407, align 4, !tbaa !14
  %11409 = load ptr, ptr %13, align 8, !tbaa !5
  %11410 = getelementptr inbounds %struct.complex, ptr %11409, i32 0, i32 1
  %11411 = load float, ptr %11410, align 4, !tbaa !14
  %11412 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11413 = load float, ptr %11412, align 4, !tbaa !11
  %11414 = fmul float %11411, %11413
  %11415 = call float @llvm.fmuladd.f32(float %11406, float %11408, float %11414)
  %11416 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11415, ptr %11416, align 4, !tbaa !14
  %11417 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11418 = load float, ptr %11417, align 4, !tbaa !11
  %11419 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %11418, ptr %11419, align 4, !tbaa !11
  %11420 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11421 = load float, ptr %11420, align 4, !tbaa !14
  %11422 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %11421, ptr %11422, align 4, !tbaa !14
  %11423 = load ptr, ptr %10, align 8, !tbaa !5
  %11424 = load i32, ptr %11423, align 4, !tbaa !9
  store i32 %11424, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %11425

11425:                                            ; preds = %11901, %11214
  %11426 = load i32, ptr %49, align 4, !tbaa !9
  %11427 = load i32, ptr %19, align 4, !tbaa !9
  %11428 = icmp sle i32 %11426, %11427
  br i1 %11428, label %11429, label %11904

11429:                                            ; preds = %11425
  %11430 = load i32, ptr %49, align 4, !tbaa !9
  %11431 = load i32, ptr %17, align 4, !tbaa !9
  %11432 = add nsw i32 %11430, %11431
  store i32 %11432, ptr %20, align 4, !tbaa !9
  %11433 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %11434 = load float, ptr %11433, align 4, !tbaa !11
  %11435 = load ptr, ptr %14, align 8, !tbaa !5
  %11436 = load i32, ptr %20, align 4, !tbaa !9
  %11437 = sext i32 %11436 to i64
  %11438 = getelementptr inbounds %struct.complex, ptr %11435, i64 %11437
  %11439 = getelementptr inbounds %struct.complex, ptr %11438, i32 0, i32 0
  %11440 = load float, ptr %11439, align 4, !tbaa !11
  %11441 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %11442 = load float, ptr %11441, align 4, !tbaa !14
  %11443 = load ptr, ptr %14, align 8, !tbaa !5
  %11444 = load i32, ptr %20, align 4, !tbaa !9
  %11445 = sext i32 %11444 to i64
  %11446 = getelementptr inbounds %struct.complex, ptr %11443, i64 %11445
  %11447 = getelementptr inbounds %struct.complex, ptr %11446, i32 0, i32 1
  %11448 = load float, ptr %11447, align 4, !tbaa !14
  %11449 = fmul float %11442, %11448
  %11450 = fneg float %11449
  %11451 = call float @llvm.fmuladd.f32(float %11434, float %11440, float %11450)
  %11452 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %11451, ptr %11452, align 4, !tbaa !11
  %11453 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %11454 = load float, ptr %11453, align 4, !tbaa !11
  %11455 = load ptr, ptr %14, align 8, !tbaa !5
  %11456 = load i32, ptr %20, align 4, !tbaa !9
  %11457 = sext i32 %11456 to i64
  %11458 = getelementptr inbounds %struct.complex, ptr %11455, i64 %11457
  %11459 = getelementptr inbounds %struct.complex, ptr %11458, i32 0, i32 1
  %11460 = load float, ptr %11459, align 4, !tbaa !14
  %11461 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %11462 = load float, ptr %11461, align 4, !tbaa !14
  %11463 = load ptr, ptr %14, align 8, !tbaa !5
  %11464 = load i32, ptr %20, align 4, !tbaa !9
  %11465 = sext i32 %11464 to i64
  %11466 = getelementptr inbounds %struct.complex, ptr %11463, i64 %11465
  %11467 = getelementptr inbounds %struct.complex, ptr %11466, i32 0, i32 0
  %11468 = load float, ptr %11467, align 4, !tbaa !11
  %11469 = fmul float %11462, %11468
  %11470 = call float @llvm.fmuladd.f32(float %11454, float %11460, float %11469)
  %11471 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %11470, ptr %11471, align 4, !tbaa !14
  %11472 = load i32, ptr %49, align 4, !tbaa !9
  %11473 = load i32, ptr %17, align 4, !tbaa !9
  %11474 = shl i32 %11473, 1
  %11475 = add nsw i32 %11472, %11474
  store i32 %11475, ptr %21, align 4, !tbaa !9
  %11476 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %11477 = load float, ptr %11476, align 4, !tbaa !11
  %11478 = load ptr, ptr %14, align 8, !tbaa !5
  %11479 = load i32, ptr %21, align 4, !tbaa !9
  %11480 = sext i32 %11479 to i64
  %11481 = getelementptr inbounds %struct.complex, ptr %11478, i64 %11480
  %11482 = getelementptr inbounds %struct.complex, ptr %11481, i32 0, i32 0
  %11483 = load float, ptr %11482, align 4, !tbaa !11
  %11484 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %11485 = load float, ptr %11484, align 4, !tbaa !14
  %11486 = load ptr, ptr %14, align 8, !tbaa !5
  %11487 = load i32, ptr %21, align 4, !tbaa !9
  %11488 = sext i32 %11487 to i64
  %11489 = getelementptr inbounds %struct.complex, ptr %11486, i64 %11488
  %11490 = getelementptr inbounds %struct.complex, ptr %11489, i32 0, i32 1
  %11491 = load float, ptr %11490, align 4, !tbaa !14
  %11492 = fmul float %11485, %11491
  %11493 = fneg float %11492
  %11494 = call float @llvm.fmuladd.f32(float %11477, float %11483, float %11493)
  %11495 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %11494, ptr %11495, align 4, !tbaa !11
  %11496 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %11497 = load float, ptr %11496, align 4, !tbaa !11
  %11498 = load ptr, ptr %14, align 8, !tbaa !5
  %11499 = load i32, ptr %21, align 4, !tbaa !9
  %11500 = sext i32 %11499 to i64
  %11501 = getelementptr inbounds %struct.complex, ptr %11498, i64 %11500
  %11502 = getelementptr inbounds %struct.complex, ptr %11501, i32 0, i32 1
  %11503 = load float, ptr %11502, align 4, !tbaa !14
  %11504 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %11505 = load float, ptr %11504, align 4, !tbaa !14
  %11506 = load ptr, ptr %14, align 8, !tbaa !5
  %11507 = load i32, ptr %21, align 4, !tbaa !9
  %11508 = sext i32 %11507 to i64
  %11509 = getelementptr inbounds %struct.complex, ptr %11506, i64 %11508
  %11510 = getelementptr inbounds %struct.complex, ptr %11509, i32 0, i32 0
  %11511 = load float, ptr %11510, align 4, !tbaa !11
  %11512 = fmul float %11505, %11511
  %11513 = call float @llvm.fmuladd.f32(float %11497, float %11503, float %11512)
  %11514 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %11513, ptr %11514, align 4, !tbaa !14
  %11515 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %11516 = load float, ptr %11515, align 4, !tbaa !11
  %11517 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %11518 = load float, ptr %11517, align 4, !tbaa !11
  %11519 = fadd float %11516, %11518
  %11520 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11519, ptr %11520, align 4, !tbaa !11
  %11521 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %11522 = load float, ptr %11521, align 4, !tbaa !14
  %11523 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %11524 = load float, ptr %11523, align 4, !tbaa !14
  %11525 = fadd float %11522, %11524
  %11526 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11525, ptr %11526, align 4, !tbaa !14
  %11527 = load i32, ptr %49, align 4, !tbaa !9
  %11528 = load i32, ptr %17, align 4, !tbaa !9
  %11529 = mul nsw i32 %11528, 3
  %11530 = add nsw i32 %11527, %11529
  store i32 %11530, ptr %22, align 4, !tbaa !9
  %11531 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %11532 = load float, ptr %11531, align 4, !tbaa !11
  %11533 = load ptr, ptr %14, align 8, !tbaa !5
  %11534 = load i32, ptr %22, align 4, !tbaa !9
  %11535 = sext i32 %11534 to i64
  %11536 = getelementptr inbounds %struct.complex, ptr %11533, i64 %11535
  %11537 = getelementptr inbounds %struct.complex, ptr %11536, i32 0, i32 0
  %11538 = load float, ptr %11537, align 4, !tbaa !11
  %11539 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %11540 = load float, ptr %11539, align 4, !tbaa !14
  %11541 = load ptr, ptr %14, align 8, !tbaa !5
  %11542 = load i32, ptr %22, align 4, !tbaa !9
  %11543 = sext i32 %11542 to i64
  %11544 = getelementptr inbounds %struct.complex, ptr %11541, i64 %11543
  %11545 = getelementptr inbounds %struct.complex, ptr %11544, i32 0, i32 1
  %11546 = load float, ptr %11545, align 4, !tbaa !14
  %11547 = fmul float %11540, %11546
  %11548 = fneg float %11547
  %11549 = call float @llvm.fmuladd.f32(float %11532, float %11538, float %11548)
  %11550 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %11549, ptr %11550, align 4, !tbaa !11
  %11551 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %11552 = load float, ptr %11551, align 4, !tbaa !11
  %11553 = load ptr, ptr %14, align 8, !tbaa !5
  %11554 = load i32, ptr %22, align 4, !tbaa !9
  %11555 = sext i32 %11554 to i64
  %11556 = getelementptr inbounds %struct.complex, ptr %11553, i64 %11555
  %11557 = getelementptr inbounds %struct.complex, ptr %11556, i32 0, i32 1
  %11558 = load float, ptr %11557, align 4, !tbaa !14
  %11559 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %11560 = load float, ptr %11559, align 4, !tbaa !14
  %11561 = load ptr, ptr %14, align 8, !tbaa !5
  %11562 = load i32, ptr %22, align 4, !tbaa !9
  %11563 = sext i32 %11562 to i64
  %11564 = getelementptr inbounds %struct.complex, ptr %11561, i64 %11563
  %11565 = getelementptr inbounds %struct.complex, ptr %11564, i32 0, i32 0
  %11566 = load float, ptr %11565, align 4, !tbaa !11
  %11567 = fmul float %11560, %11566
  %11568 = call float @llvm.fmuladd.f32(float %11552, float %11558, float %11567)
  %11569 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %11568, ptr %11569, align 4, !tbaa !14
  %11570 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11571 = load float, ptr %11570, align 4, !tbaa !11
  %11572 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %11573 = load float, ptr %11572, align 4, !tbaa !11
  %11574 = fadd float %11571, %11573
  %11575 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11574, ptr %11575, align 4, !tbaa !11
  %11576 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11577 = load float, ptr %11576, align 4, !tbaa !14
  %11578 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %11579 = load float, ptr %11578, align 4, !tbaa !14
  %11580 = fadd float %11577, %11579
  %11581 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11580, ptr %11581, align 4, !tbaa !14
  %11582 = load i32, ptr %49, align 4, !tbaa !9
  %11583 = load i32, ptr %17, align 4, !tbaa !9
  %11584 = shl i32 %11583, 2
  %11585 = add nsw i32 %11582, %11584
  store i32 %11585, ptr %23, align 4, !tbaa !9
  %11586 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %11587 = load float, ptr %11586, align 4, !tbaa !11
  %11588 = load ptr, ptr %14, align 8, !tbaa !5
  %11589 = load i32, ptr %23, align 4, !tbaa !9
  %11590 = sext i32 %11589 to i64
  %11591 = getelementptr inbounds %struct.complex, ptr %11588, i64 %11590
  %11592 = getelementptr inbounds %struct.complex, ptr %11591, i32 0, i32 0
  %11593 = load float, ptr %11592, align 4, !tbaa !11
  %11594 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %11595 = load float, ptr %11594, align 4, !tbaa !14
  %11596 = load ptr, ptr %14, align 8, !tbaa !5
  %11597 = load i32, ptr %23, align 4, !tbaa !9
  %11598 = sext i32 %11597 to i64
  %11599 = getelementptr inbounds %struct.complex, ptr %11596, i64 %11598
  %11600 = getelementptr inbounds %struct.complex, ptr %11599, i32 0, i32 1
  %11601 = load float, ptr %11600, align 4, !tbaa !14
  %11602 = fmul float %11595, %11601
  %11603 = fneg float %11602
  %11604 = call float @llvm.fmuladd.f32(float %11587, float %11593, float %11603)
  %11605 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %11604, ptr %11605, align 4, !tbaa !11
  %11606 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %11607 = load float, ptr %11606, align 4, !tbaa !11
  %11608 = load ptr, ptr %14, align 8, !tbaa !5
  %11609 = load i32, ptr %23, align 4, !tbaa !9
  %11610 = sext i32 %11609 to i64
  %11611 = getelementptr inbounds %struct.complex, ptr %11608, i64 %11610
  %11612 = getelementptr inbounds %struct.complex, ptr %11611, i32 0, i32 1
  %11613 = load float, ptr %11612, align 4, !tbaa !14
  %11614 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %11615 = load float, ptr %11614, align 4, !tbaa !14
  %11616 = load ptr, ptr %14, align 8, !tbaa !5
  %11617 = load i32, ptr %23, align 4, !tbaa !9
  %11618 = sext i32 %11617 to i64
  %11619 = getelementptr inbounds %struct.complex, ptr %11616, i64 %11618
  %11620 = getelementptr inbounds %struct.complex, ptr %11619, i32 0, i32 0
  %11621 = load float, ptr %11620, align 4, !tbaa !11
  %11622 = fmul float %11615, %11621
  %11623 = call float @llvm.fmuladd.f32(float %11607, float %11613, float %11622)
  %11624 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %11623, ptr %11624, align 4, !tbaa !14
  %11625 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11626 = load float, ptr %11625, align 4, !tbaa !11
  %11627 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %11628 = load float, ptr %11627, align 4, !tbaa !11
  %11629 = fadd float %11626, %11628
  %11630 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11629, ptr %11630, align 4, !tbaa !11
  %11631 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11632 = load float, ptr %11631, align 4, !tbaa !14
  %11633 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %11634 = load float, ptr %11633, align 4, !tbaa !14
  %11635 = fadd float %11632, %11634
  %11636 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11635, ptr %11636, align 4, !tbaa !14
  %11637 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11638 = load float, ptr %11637, align 4, !tbaa !11
  %11639 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %11638, ptr %11639, align 4, !tbaa !11
  %11640 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11641 = load float, ptr %11640, align 4, !tbaa !14
  %11642 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %11641, ptr %11642, align 4, !tbaa !14
  %11643 = load i32, ptr %49, align 4, !tbaa !9
  %11644 = load i32, ptr %17, align 4, !tbaa !9
  %11645 = add nsw i32 %11643, %11644
  store i32 %11645, ptr %20, align 4, !tbaa !9
  %11646 = load i32, ptr %49, align 4, !tbaa !9
  %11647 = load i32, ptr %17, align 4, !tbaa !9
  %11648 = add nsw i32 %11646, %11647
  store i32 %11648, ptr %21, align 4, !tbaa !9
  %11649 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11650 = load float, ptr %11649, align 4, !tbaa !11
  %11651 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %11652 = load float, ptr %11651, align 4, !tbaa !11
  %11653 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11654 = load float, ptr %11653, align 4, !tbaa !14
  %11655 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %11656 = load float, ptr %11655, align 4, !tbaa !14
  %11657 = fmul float %11654, %11656
  %11658 = fneg float %11657
  %11659 = call float @llvm.fmuladd.f32(float %11650, float %11652, float %11658)
  %11660 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11659, ptr %11660, align 4, !tbaa !11
  %11661 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11662 = load float, ptr %11661, align 4, !tbaa !11
  %11663 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %11664 = load float, ptr %11663, align 4, !tbaa !14
  %11665 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11666 = load float, ptr %11665, align 4, !tbaa !14
  %11667 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %11668 = load float, ptr %11667, align 4, !tbaa !11
  %11669 = fmul float %11666, %11668
  %11670 = call float @llvm.fmuladd.f32(float %11662, float %11664, float %11669)
  %11671 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11670, ptr %11671, align 4, !tbaa !14
  %11672 = load ptr, ptr %14, align 8, !tbaa !5
  %11673 = load i32, ptr %21, align 4, !tbaa !9
  %11674 = sext i32 %11673 to i64
  %11675 = getelementptr inbounds %struct.complex, ptr %11672, i64 %11674
  %11676 = getelementptr inbounds %struct.complex, ptr %11675, i32 0, i32 0
  %11677 = load float, ptr %11676, align 4, !tbaa !11
  %11678 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11679 = load float, ptr %11678, align 4, !tbaa !11
  %11680 = fsub float %11677, %11679
  %11681 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11680, ptr %11681, align 4, !tbaa !11
  %11682 = load ptr, ptr %14, align 8, !tbaa !5
  %11683 = load i32, ptr %21, align 4, !tbaa !9
  %11684 = sext i32 %11683 to i64
  %11685 = getelementptr inbounds %struct.complex, ptr %11682, i64 %11684
  %11686 = getelementptr inbounds %struct.complex, ptr %11685, i32 0, i32 1
  %11687 = load float, ptr %11686, align 4, !tbaa !14
  %11688 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11689 = load float, ptr %11688, align 4, !tbaa !14
  %11690 = fsub float %11687, %11689
  %11691 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11690, ptr %11691, align 4, !tbaa !14
  %11692 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11693 = load float, ptr %11692, align 4, !tbaa !11
  %11694 = load ptr, ptr %14, align 8, !tbaa !5
  %11695 = load i32, ptr %20, align 4, !tbaa !9
  %11696 = sext i32 %11695 to i64
  %11697 = getelementptr inbounds %struct.complex, ptr %11694, i64 %11696
  %11698 = getelementptr inbounds %struct.complex, ptr %11697, i32 0, i32 0
  store float %11693, ptr %11698, align 4, !tbaa !11
  %11699 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11700 = load float, ptr %11699, align 4, !tbaa !14
  %11701 = load ptr, ptr %14, align 8, !tbaa !5
  %11702 = load i32, ptr %20, align 4, !tbaa !9
  %11703 = sext i32 %11702 to i64
  %11704 = getelementptr inbounds %struct.complex, ptr %11701, i64 %11703
  %11705 = getelementptr inbounds %struct.complex, ptr %11704, i32 0, i32 1
  store float %11700, ptr %11705, align 4, !tbaa !14
  %11706 = load i32, ptr %49, align 4, !tbaa !9
  %11707 = load i32, ptr %17, align 4, !tbaa !9
  %11708 = shl i32 %11707, 1
  %11709 = add nsw i32 %11706, %11708
  store i32 %11709, ptr %20, align 4, !tbaa !9
  %11710 = load i32, ptr %49, align 4, !tbaa !9
  %11711 = load i32, ptr %17, align 4, !tbaa !9
  %11712 = shl i32 %11711, 1
  %11713 = add nsw i32 %11710, %11712
  store i32 %11713, ptr %21, align 4, !tbaa !9
  %11714 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11715 = load float, ptr %11714, align 4, !tbaa !11
  %11716 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %11717 = load float, ptr %11716, align 4, !tbaa !11
  %11718 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11719 = load float, ptr %11718, align 4, !tbaa !14
  %11720 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %11721 = load float, ptr %11720, align 4, !tbaa !14
  %11722 = fmul float %11719, %11721
  %11723 = fneg float %11722
  %11724 = call float @llvm.fmuladd.f32(float %11715, float %11717, float %11723)
  %11725 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11724, ptr %11725, align 4, !tbaa !11
  %11726 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11727 = load float, ptr %11726, align 4, !tbaa !11
  %11728 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %11729 = load float, ptr %11728, align 4, !tbaa !14
  %11730 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11731 = load float, ptr %11730, align 4, !tbaa !14
  %11732 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %11733 = load float, ptr %11732, align 4, !tbaa !11
  %11734 = fmul float %11731, %11733
  %11735 = call float @llvm.fmuladd.f32(float %11727, float %11729, float %11734)
  %11736 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11735, ptr %11736, align 4, !tbaa !14
  %11737 = load ptr, ptr %14, align 8, !tbaa !5
  %11738 = load i32, ptr %21, align 4, !tbaa !9
  %11739 = sext i32 %11738 to i64
  %11740 = getelementptr inbounds %struct.complex, ptr %11737, i64 %11739
  %11741 = getelementptr inbounds %struct.complex, ptr %11740, i32 0, i32 0
  %11742 = load float, ptr %11741, align 4, !tbaa !11
  %11743 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11744 = load float, ptr %11743, align 4, !tbaa !11
  %11745 = fsub float %11742, %11744
  %11746 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11745, ptr %11746, align 4, !tbaa !11
  %11747 = load ptr, ptr %14, align 8, !tbaa !5
  %11748 = load i32, ptr %21, align 4, !tbaa !9
  %11749 = sext i32 %11748 to i64
  %11750 = getelementptr inbounds %struct.complex, ptr %11747, i64 %11749
  %11751 = getelementptr inbounds %struct.complex, ptr %11750, i32 0, i32 1
  %11752 = load float, ptr %11751, align 4, !tbaa !14
  %11753 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11754 = load float, ptr %11753, align 4, !tbaa !14
  %11755 = fsub float %11752, %11754
  %11756 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11755, ptr %11756, align 4, !tbaa !14
  %11757 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11758 = load float, ptr %11757, align 4, !tbaa !11
  %11759 = load ptr, ptr %14, align 8, !tbaa !5
  %11760 = load i32, ptr %20, align 4, !tbaa !9
  %11761 = sext i32 %11760 to i64
  %11762 = getelementptr inbounds %struct.complex, ptr %11759, i64 %11761
  %11763 = getelementptr inbounds %struct.complex, ptr %11762, i32 0, i32 0
  store float %11758, ptr %11763, align 4, !tbaa !11
  %11764 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11765 = load float, ptr %11764, align 4, !tbaa !14
  %11766 = load ptr, ptr %14, align 8, !tbaa !5
  %11767 = load i32, ptr %20, align 4, !tbaa !9
  %11768 = sext i32 %11767 to i64
  %11769 = getelementptr inbounds %struct.complex, ptr %11766, i64 %11768
  %11770 = getelementptr inbounds %struct.complex, ptr %11769, i32 0, i32 1
  store float %11765, ptr %11770, align 4, !tbaa !14
  %11771 = load i32, ptr %49, align 4, !tbaa !9
  %11772 = load i32, ptr %17, align 4, !tbaa !9
  %11773 = mul nsw i32 %11772, 3
  %11774 = add nsw i32 %11771, %11773
  store i32 %11774, ptr %20, align 4, !tbaa !9
  %11775 = load i32, ptr %49, align 4, !tbaa !9
  %11776 = load i32, ptr %17, align 4, !tbaa !9
  %11777 = mul nsw i32 %11776, 3
  %11778 = add nsw i32 %11775, %11777
  store i32 %11778, ptr %21, align 4, !tbaa !9
  %11779 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11780 = load float, ptr %11779, align 4, !tbaa !11
  %11781 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %11782 = load float, ptr %11781, align 4, !tbaa !11
  %11783 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11784 = load float, ptr %11783, align 4, !tbaa !14
  %11785 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %11786 = load float, ptr %11785, align 4, !tbaa !14
  %11787 = fmul float %11784, %11786
  %11788 = fneg float %11787
  %11789 = call float @llvm.fmuladd.f32(float %11780, float %11782, float %11788)
  %11790 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11789, ptr %11790, align 4, !tbaa !11
  %11791 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11792 = load float, ptr %11791, align 4, !tbaa !11
  %11793 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %11794 = load float, ptr %11793, align 4, !tbaa !14
  %11795 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11796 = load float, ptr %11795, align 4, !tbaa !14
  %11797 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %11798 = load float, ptr %11797, align 4, !tbaa !11
  %11799 = fmul float %11796, %11798
  %11800 = call float @llvm.fmuladd.f32(float %11792, float %11794, float %11799)
  %11801 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11800, ptr %11801, align 4, !tbaa !14
  %11802 = load ptr, ptr %14, align 8, !tbaa !5
  %11803 = load i32, ptr %21, align 4, !tbaa !9
  %11804 = sext i32 %11803 to i64
  %11805 = getelementptr inbounds %struct.complex, ptr %11802, i64 %11804
  %11806 = getelementptr inbounds %struct.complex, ptr %11805, i32 0, i32 0
  %11807 = load float, ptr %11806, align 4, !tbaa !11
  %11808 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11809 = load float, ptr %11808, align 4, !tbaa !11
  %11810 = fsub float %11807, %11809
  %11811 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11810, ptr %11811, align 4, !tbaa !11
  %11812 = load ptr, ptr %14, align 8, !tbaa !5
  %11813 = load i32, ptr %21, align 4, !tbaa !9
  %11814 = sext i32 %11813 to i64
  %11815 = getelementptr inbounds %struct.complex, ptr %11812, i64 %11814
  %11816 = getelementptr inbounds %struct.complex, ptr %11815, i32 0, i32 1
  %11817 = load float, ptr %11816, align 4, !tbaa !14
  %11818 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11819 = load float, ptr %11818, align 4, !tbaa !14
  %11820 = fsub float %11817, %11819
  %11821 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11820, ptr %11821, align 4, !tbaa !14
  %11822 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11823 = load float, ptr %11822, align 4, !tbaa !11
  %11824 = load ptr, ptr %14, align 8, !tbaa !5
  %11825 = load i32, ptr %20, align 4, !tbaa !9
  %11826 = sext i32 %11825 to i64
  %11827 = getelementptr inbounds %struct.complex, ptr %11824, i64 %11826
  %11828 = getelementptr inbounds %struct.complex, ptr %11827, i32 0, i32 0
  store float %11823, ptr %11828, align 4, !tbaa !11
  %11829 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11830 = load float, ptr %11829, align 4, !tbaa !14
  %11831 = load ptr, ptr %14, align 8, !tbaa !5
  %11832 = load i32, ptr %20, align 4, !tbaa !9
  %11833 = sext i32 %11832 to i64
  %11834 = getelementptr inbounds %struct.complex, ptr %11831, i64 %11833
  %11835 = getelementptr inbounds %struct.complex, ptr %11834, i32 0, i32 1
  store float %11830, ptr %11835, align 4, !tbaa !14
  %11836 = load i32, ptr %49, align 4, !tbaa !9
  %11837 = load i32, ptr %17, align 4, !tbaa !9
  %11838 = shl i32 %11837, 2
  %11839 = add nsw i32 %11836, %11838
  store i32 %11839, ptr %20, align 4, !tbaa !9
  %11840 = load i32, ptr %49, align 4, !tbaa !9
  %11841 = load i32, ptr %17, align 4, !tbaa !9
  %11842 = shl i32 %11841, 2
  %11843 = add nsw i32 %11840, %11842
  store i32 %11843, ptr %21, align 4, !tbaa !9
  %11844 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11845 = load float, ptr %11844, align 4, !tbaa !11
  %11846 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %11847 = load float, ptr %11846, align 4, !tbaa !11
  %11848 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11849 = load float, ptr %11848, align 4, !tbaa !14
  %11850 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %11851 = load float, ptr %11850, align 4, !tbaa !14
  %11852 = fmul float %11849, %11851
  %11853 = fneg float %11852
  %11854 = call float @llvm.fmuladd.f32(float %11845, float %11847, float %11853)
  %11855 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11854, ptr %11855, align 4, !tbaa !11
  %11856 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %11857 = load float, ptr %11856, align 4, !tbaa !11
  %11858 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %11859 = load float, ptr %11858, align 4, !tbaa !14
  %11860 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %11861 = load float, ptr %11860, align 4, !tbaa !14
  %11862 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %11863 = load float, ptr %11862, align 4, !tbaa !11
  %11864 = fmul float %11861, %11863
  %11865 = call float @llvm.fmuladd.f32(float %11857, float %11859, float %11864)
  %11866 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11865, ptr %11866, align 4, !tbaa !14
  %11867 = load ptr, ptr %14, align 8, !tbaa !5
  %11868 = load i32, ptr %21, align 4, !tbaa !9
  %11869 = sext i32 %11868 to i64
  %11870 = getelementptr inbounds %struct.complex, ptr %11867, i64 %11869
  %11871 = getelementptr inbounds %struct.complex, ptr %11870, i32 0, i32 0
  %11872 = load float, ptr %11871, align 4, !tbaa !11
  %11873 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11874 = load float, ptr %11873, align 4, !tbaa !11
  %11875 = fsub float %11872, %11874
  %11876 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11875, ptr %11876, align 4, !tbaa !11
  %11877 = load ptr, ptr %14, align 8, !tbaa !5
  %11878 = load i32, ptr %21, align 4, !tbaa !9
  %11879 = sext i32 %11878 to i64
  %11880 = getelementptr inbounds %struct.complex, ptr %11877, i64 %11879
  %11881 = getelementptr inbounds %struct.complex, ptr %11880, i32 0, i32 1
  %11882 = load float, ptr %11881, align 4, !tbaa !14
  %11883 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11884 = load float, ptr %11883, align 4, !tbaa !14
  %11885 = fsub float %11882, %11884
  %11886 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11885, ptr %11886, align 4, !tbaa !14
  %11887 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11888 = load float, ptr %11887, align 4, !tbaa !11
  %11889 = load ptr, ptr %14, align 8, !tbaa !5
  %11890 = load i32, ptr %20, align 4, !tbaa !9
  %11891 = sext i32 %11890 to i64
  %11892 = getelementptr inbounds %struct.complex, ptr %11889, i64 %11891
  %11893 = getelementptr inbounds %struct.complex, ptr %11892, i32 0, i32 0
  store float %11888, ptr %11893, align 4, !tbaa !11
  %11894 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11895 = load float, ptr %11894, align 4, !tbaa !14
  %11896 = load ptr, ptr %14, align 8, !tbaa !5
  %11897 = load i32, ptr %20, align 4, !tbaa !9
  %11898 = sext i32 %11897 to i64
  %11899 = getelementptr inbounds %struct.complex, ptr %11896, i64 %11898
  %11900 = getelementptr inbounds %struct.complex, ptr %11899, i32 0, i32 1
  store float %11895, ptr %11900, align 4, !tbaa !14
  br label %11901

11901:                                            ; preds = %11429
  %11902 = load i32, ptr %49, align 4, !tbaa !9
  %11903 = add nsw i32 %11902, 1
  store i32 %11903, ptr %49, align 4, !tbaa !9
  br label %11425, !llvm.loop !29

11904:                                            ; preds = %11425
  br label %19663

11905:                                            ; preds = %10174
  %11906 = load ptr, ptr %12, align 8, !tbaa !5
  %11907 = getelementptr inbounds %struct.complex, ptr %11906, i64 1
  %11908 = getelementptr inbounds %struct.complex, ptr %11907, i32 0, i32 0
  %11909 = load float, ptr %11908, align 4, !tbaa !11
  %11910 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %11909, ptr %11910, align 4, !tbaa !11
  %11911 = load ptr, ptr %12, align 8, !tbaa !5
  %11912 = getelementptr inbounds %struct.complex, ptr %11911, i64 1
  %11913 = getelementptr inbounds %struct.complex, ptr %11912, i32 0, i32 1
  %11914 = load float, ptr %11913, align 4, !tbaa !14
  %11915 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %11914, ptr %11915, align 4, !tbaa !14
  %11916 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %11916, ptr %191, align 4
  %11917 = getelementptr inbounds { float, float }, ptr %191, i32 0, i32 0
  %11918 = load float, ptr %11917, align 4
  %11919 = getelementptr inbounds { float, float }, ptr %191, i32 0, i32 1
  %11920 = load float, ptr %11919, align 4
  %11921 = fneg float %11920
  %11922 = call ptr @_pCf(ptr noundef %31)
  %11923 = getelementptr inbounds { float, float }, ptr %11922, i32 0, i32 0
  %11924 = getelementptr inbounds { float, float }, ptr %11922, i32 0, i32 1
  store float %11918, ptr %11923, align 4
  store float %11921, ptr %11924, align 4
  %11925 = load ptr, ptr %13, align 8, !tbaa !5
  %11926 = getelementptr inbounds %struct.complex, ptr %11925, i32 0, i32 0
  %11927 = load float, ptr %11926, align 4, !tbaa !11
  %11928 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11929 = load float, ptr %11928, align 4, !tbaa !11
  %11930 = load ptr, ptr %13, align 8, !tbaa !5
  %11931 = getelementptr inbounds %struct.complex, ptr %11930, i32 0, i32 1
  %11932 = load float, ptr %11931, align 4, !tbaa !14
  %11933 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11934 = load float, ptr %11933, align 4, !tbaa !14
  %11935 = fmul float %11932, %11934
  %11936 = fneg float %11935
  %11937 = call float @llvm.fmuladd.f32(float %11927, float %11929, float %11936)
  %11938 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11937, ptr %11938, align 4, !tbaa !11
  %11939 = load ptr, ptr %13, align 8, !tbaa !5
  %11940 = getelementptr inbounds %struct.complex, ptr %11939, i32 0, i32 0
  %11941 = load float, ptr %11940, align 4, !tbaa !11
  %11942 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11943 = load float, ptr %11942, align 4, !tbaa !14
  %11944 = load ptr, ptr %13, align 8, !tbaa !5
  %11945 = getelementptr inbounds %struct.complex, ptr %11944, i32 0, i32 1
  %11946 = load float, ptr %11945, align 4, !tbaa !14
  %11947 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11948 = load float, ptr %11947, align 4, !tbaa !11
  %11949 = fmul float %11946, %11948
  %11950 = call float @llvm.fmuladd.f32(float %11941, float %11943, float %11949)
  %11951 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %11950, ptr %11951, align 4, !tbaa !14
  %11952 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %11953 = load float, ptr %11952, align 4, !tbaa !11
  %11954 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %11953, ptr %11954, align 4, !tbaa !11
  %11955 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %11956 = load float, ptr %11955, align 4, !tbaa !14
  %11957 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %11956, ptr %11957, align 4, !tbaa !14
  %11958 = load ptr, ptr %12, align 8, !tbaa !5
  %11959 = getelementptr inbounds %struct.complex, ptr %11958, i64 2
  %11960 = getelementptr inbounds %struct.complex, ptr %11959, i32 0, i32 0
  %11961 = load float, ptr %11960, align 4, !tbaa !11
  %11962 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %11961, ptr %11962, align 4, !tbaa !11
  %11963 = load ptr, ptr %12, align 8, !tbaa !5
  %11964 = getelementptr inbounds %struct.complex, ptr %11963, i64 2
  %11965 = getelementptr inbounds %struct.complex, ptr %11964, i32 0, i32 1
  %11966 = load float, ptr %11965, align 4, !tbaa !14
  %11967 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %11966, ptr %11967, align 4, !tbaa !14
  %11968 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %11968, ptr %192, align 4
  %11969 = getelementptr inbounds { float, float }, ptr %192, i32 0, i32 0
  %11970 = load float, ptr %11969, align 4
  %11971 = getelementptr inbounds { float, float }, ptr %192, i32 0, i32 1
  %11972 = load float, ptr %11971, align 4
  %11973 = fneg float %11972
  %11974 = call ptr @_pCf(ptr noundef %31)
  %11975 = getelementptr inbounds { float, float }, ptr %11974, i32 0, i32 0
  %11976 = getelementptr inbounds { float, float }, ptr %11974, i32 0, i32 1
  store float %11970, ptr %11975, align 4
  store float %11973, ptr %11976, align 4
  %11977 = load ptr, ptr %13, align 8, !tbaa !5
  %11978 = getelementptr inbounds %struct.complex, ptr %11977, i32 0, i32 0
  %11979 = load float, ptr %11978, align 4, !tbaa !11
  %11980 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11981 = load float, ptr %11980, align 4, !tbaa !11
  %11982 = load ptr, ptr %13, align 8, !tbaa !5
  %11983 = getelementptr inbounds %struct.complex, ptr %11982, i32 0, i32 1
  %11984 = load float, ptr %11983, align 4, !tbaa !14
  %11985 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11986 = load float, ptr %11985, align 4, !tbaa !14
  %11987 = fmul float %11984, %11986
  %11988 = fneg float %11987
  %11989 = call float @llvm.fmuladd.f32(float %11979, float %11981, float %11988)
  %11990 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %11989, ptr %11990, align 4, !tbaa !11
  %11991 = load ptr, ptr %13, align 8, !tbaa !5
  %11992 = getelementptr inbounds %struct.complex, ptr %11991, i32 0, i32 0
  %11993 = load float, ptr %11992, align 4, !tbaa !11
  %11994 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11995 = load float, ptr %11994, align 4, !tbaa !14
  %11996 = load ptr, ptr %13, align 8, !tbaa !5
  %11997 = getelementptr inbounds %struct.complex, ptr %11996, i32 0, i32 1
  %11998 = load float, ptr %11997, align 4, !tbaa !14
  %11999 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12000 = load float, ptr %11999, align 4, !tbaa !11
  %12001 = fmul float %11998, %12000
  %12002 = call float @llvm.fmuladd.f32(float %11993, float %11995, float %12001)
  %12003 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12002, ptr %12003, align 4, !tbaa !14
  %12004 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12005 = load float, ptr %12004, align 4, !tbaa !11
  %12006 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %12005, ptr %12006, align 4, !tbaa !11
  %12007 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12008 = load float, ptr %12007, align 4, !tbaa !14
  %12009 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %12008, ptr %12009, align 4, !tbaa !14
  %12010 = load ptr, ptr %12, align 8, !tbaa !5
  %12011 = getelementptr inbounds %struct.complex, ptr %12010, i64 3
  %12012 = getelementptr inbounds %struct.complex, ptr %12011, i32 0, i32 0
  %12013 = load float, ptr %12012, align 4, !tbaa !11
  %12014 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %12013, ptr %12014, align 4, !tbaa !11
  %12015 = load ptr, ptr %12, align 8, !tbaa !5
  %12016 = getelementptr inbounds %struct.complex, ptr %12015, i64 3
  %12017 = getelementptr inbounds %struct.complex, ptr %12016, i32 0, i32 1
  %12018 = load float, ptr %12017, align 4, !tbaa !14
  %12019 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %12018, ptr %12019, align 4, !tbaa !14
  %12020 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %12020, ptr %193, align 4
  %12021 = getelementptr inbounds { float, float }, ptr %193, i32 0, i32 0
  %12022 = load float, ptr %12021, align 4
  %12023 = getelementptr inbounds { float, float }, ptr %193, i32 0, i32 1
  %12024 = load float, ptr %12023, align 4
  %12025 = fneg float %12024
  %12026 = call ptr @_pCf(ptr noundef %31)
  %12027 = getelementptr inbounds { float, float }, ptr %12026, i32 0, i32 0
  %12028 = getelementptr inbounds { float, float }, ptr %12026, i32 0, i32 1
  store float %12022, ptr %12027, align 4
  store float %12025, ptr %12028, align 4
  %12029 = load ptr, ptr %13, align 8, !tbaa !5
  %12030 = getelementptr inbounds %struct.complex, ptr %12029, i32 0, i32 0
  %12031 = load float, ptr %12030, align 4, !tbaa !11
  %12032 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12033 = load float, ptr %12032, align 4, !tbaa !11
  %12034 = load ptr, ptr %13, align 8, !tbaa !5
  %12035 = getelementptr inbounds %struct.complex, ptr %12034, i32 0, i32 1
  %12036 = load float, ptr %12035, align 4, !tbaa !14
  %12037 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12038 = load float, ptr %12037, align 4, !tbaa !14
  %12039 = fmul float %12036, %12038
  %12040 = fneg float %12039
  %12041 = call float @llvm.fmuladd.f32(float %12031, float %12033, float %12040)
  %12042 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12041, ptr %12042, align 4, !tbaa !11
  %12043 = load ptr, ptr %13, align 8, !tbaa !5
  %12044 = getelementptr inbounds %struct.complex, ptr %12043, i32 0, i32 0
  %12045 = load float, ptr %12044, align 4, !tbaa !11
  %12046 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12047 = load float, ptr %12046, align 4, !tbaa !14
  %12048 = load ptr, ptr %13, align 8, !tbaa !5
  %12049 = getelementptr inbounds %struct.complex, ptr %12048, i32 0, i32 1
  %12050 = load float, ptr %12049, align 4, !tbaa !14
  %12051 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12052 = load float, ptr %12051, align 4, !tbaa !11
  %12053 = fmul float %12050, %12052
  %12054 = call float @llvm.fmuladd.f32(float %12045, float %12047, float %12053)
  %12055 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12054, ptr %12055, align 4, !tbaa !14
  %12056 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12057 = load float, ptr %12056, align 4, !tbaa !11
  %12058 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %12057, ptr %12058, align 4, !tbaa !11
  %12059 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12060 = load float, ptr %12059, align 4, !tbaa !14
  %12061 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %12060, ptr %12061, align 4, !tbaa !14
  %12062 = load ptr, ptr %12, align 8, !tbaa !5
  %12063 = getelementptr inbounds %struct.complex, ptr %12062, i64 4
  %12064 = getelementptr inbounds %struct.complex, ptr %12063, i32 0, i32 0
  %12065 = load float, ptr %12064, align 4, !tbaa !11
  %12066 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %12065, ptr %12066, align 4, !tbaa !11
  %12067 = load ptr, ptr %12, align 8, !tbaa !5
  %12068 = getelementptr inbounds %struct.complex, ptr %12067, i64 4
  %12069 = getelementptr inbounds %struct.complex, ptr %12068, i32 0, i32 1
  %12070 = load float, ptr %12069, align 4, !tbaa !14
  %12071 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %12070, ptr %12071, align 4, !tbaa !14
  %12072 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %12072, ptr %194, align 4
  %12073 = getelementptr inbounds { float, float }, ptr %194, i32 0, i32 0
  %12074 = load float, ptr %12073, align 4
  %12075 = getelementptr inbounds { float, float }, ptr %194, i32 0, i32 1
  %12076 = load float, ptr %12075, align 4
  %12077 = fneg float %12076
  %12078 = call ptr @_pCf(ptr noundef %31)
  %12079 = getelementptr inbounds { float, float }, ptr %12078, i32 0, i32 0
  %12080 = getelementptr inbounds { float, float }, ptr %12078, i32 0, i32 1
  store float %12074, ptr %12079, align 4
  store float %12077, ptr %12080, align 4
  %12081 = load ptr, ptr %13, align 8, !tbaa !5
  %12082 = getelementptr inbounds %struct.complex, ptr %12081, i32 0, i32 0
  %12083 = load float, ptr %12082, align 4, !tbaa !11
  %12084 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12085 = load float, ptr %12084, align 4, !tbaa !11
  %12086 = load ptr, ptr %13, align 8, !tbaa !5
  %12087 = getelementptr inbounds %struct.complex, ptr %12086, i32 0, i32 1
  %12088 = load float, ptr %12087, align 4, !tbaa !14
  %12089 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12090 = load float, ptr %12089, align 4, !tbaa !14
  %12091 = fmul float %12088, %12090
  %12092 = fneg float %12091
  %12093 = call float @llvm.fmuladd.f32(float %12083, float %12085, float %12092)
  %12094 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12093, ptr %12094, align 4, !tbaa !11
  %12095 = load ptr, ptr %13, align 8, !tbaa !5
  %12096 = getelementptr inbounds %struct.complex, ptr %12095, i32 0, i32 0
  %12097 = load float, ptr %12096, align 4, !tbaa !11
  %12098 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12099 = load float, ptr %12098, align 4, !tbaa !14
  %12100 = load ptr, ptr %13, align 8, !tbaa !5
  %12101 = getelementptr inbounds %struct.complex, ptr %12100, i32 0, i32 1
  %12102 = load float, ptr %12101, align 4, !tbaa !14
  %12103 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12104 = load float, ptr %12103, align 4, !tbaa !11
  %12105 = fmul float %12102, %12104
  %12106 = call float @llvm.fmuladd.f32(float %12097, float %12099, float %12105)
  %12107 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12106, ptr %12107, align 4, !tbaa !14
  %12108 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12109 = load float, ptr %12108, align 4, !tbaa !11
  %12110 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %12109, ptr %12110, align 4, !tbaa !11
  %12111 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12112 = load float, ptr %12111, align 4, !tbaa !14
  %12113 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %12112, ptr %12113, align 4, !tbaa !14
  %12114 = load ptr, ptr %12, align 8, !tbaa !5
  %12115 = getelementptr inbounds %struct.complex, ptr %12114, i64 5
  %12116 = getelementptr inbounds %struct.complex, ptr %12115, i32 0, i32 0
  %12117 = load float, ptr %12116, align 4, !tbaa !11
  %12118 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %12117, ptr %12118, align 4, !tbaa !11
  %12119 = load ptr, ptr %12, align 8, !tbaa !5
  %12120 = getelementptr inbounds %struct.complex, ptr %12119, i64 5
  %12121 = getelementptr inbounds %struct.complex, ptr %12120, i32 0, i32 1
  %12122 = load float, ptr %12121, align 4, !tbaa !14
  %12123 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %12122, ptr %12123, align 4, !tbaa !14
  %12124 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %12124, ptr %195, align 4
  %12125 = getelementptr inbounds { float, float }, ptr %195, i32 0, i32 0
  %12126 = load float, ptr %12125, align 4
  %12127 = getelementptr inbounds { float, float }, ptr %195, i32 0, i32 1
  %12128 = load float, ptr %12127, align 4
  %12129 = fneg float %12128
  %12130 = call ptr @_pCf(ptr noundef %31)
  %12131 = getelementptr inbounds { float, float }, ptr %12130, i32 0, i32 0
  %12132 = getelementptr inbounds { float, float }, ptr %12130, i32 0, i32 1
  store float %12126, ptr %12131, align 4
  store float %12129, ptr %12132, align 4
  %12133 = load ptr, ptr %13, align 8, !tbaa !5
  %12134 = getelementptr inbounds %struct.complex, ptr %12133, i32 0, i32 0
  %12135 = load float, ptr %12134, align 4, !tbaa !11
  %12136 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12137 = load float, ptr %12136, align 4, !tbaa !11
  %12138 = load ptr, ptr %13, align 8, !tbaa !5
  %12139 = getelementptr inbounds %struct.complex, ptr %12138, i32 0, i32 1
  %12140 = load float, ptr %12139, align 4, !tbaa !14
  %12141 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12142 = load float, ptr %12141, align 4, !tbaa !14
  %12143 = fmul float %12140, %12142
  %12144 = fneg float %12143
  %12145 = call float @llvm.fmuladd.f32(float %12135, float %12137, float %12144)
  %12146 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12145, ptr %12146, align 4, !tbaa !11
  %12147 = load ptr, ptr %13, align 8, !tbaa !5
  %12148 = getelementptr inbounds %struct.complex, ptr %12147, i32 0, i32 0
  %12149 = load float, ptr %12148, align 4, !tbaa !11
  %12150 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12151 = load float, ptr %12150, align 4, !tbaa !14
  %12152 = load ptr, ptr %13, align 8, !tbaa !5
  %12153 = getelementptr inbounds %struct.complex, ptr %12152, i32 0, i32 1
  %12154 = load float, ptr %12153, align 4, !tbaa !14
  %12155 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12156 = load float, ptr %12155, align 4, !tbaa !11
  %12157 = fmul float %12154, %12156
  %12158 = call float @llvm.fmuladd.f32(float %12149, float %12151, float %12157)
  %12159 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12158, ptr %12159, align 4, !tbaa !14
  %12160 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12161 = load float, ptr %12160, align 4, !tbaa !11
  %12162 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %12161, ptr %12162, align 4, !tbaa !11
  %12163 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12164 = load float, ptr %12163, align 4, !tbaa !14
  %12165 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %12164, ptr %12165, align 4, !tbaa !14
  %12166 = load ptr, ptr %10, align 8, !tbaa !5
  %12167 = load i32, ptr %12166, align 4, !tbaa !9
  store i32 %12167, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %12168

12168:                                            ; preds = %12764, %11905
  %12169 = load i32, ptr %49, align 4, !tbaa !9
  %12170 = load i32, ptr %19, align 4, !tbaa !9
  %12171 = icmp sle i32 %12169, %12170
  br i1 %12171, label %12172, label %12767

12172:                                            ; preds = %12168
  %12173 = load i32, ptr %49, align 4, !tbaa !9
  %12174 = load i32, ptr %17, align 4, !tbaa !9
  %12175 = add nsw i32 %12173, %12174
  store i32 %12175, ptr %20, align 4, !tbaa !9
  %12176 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %12177 = load float, ptr %12176, align 4, !tbaa !11
  %12178 = load ptr, ptr %14, align 8, !tbaa !5
  %12179 = load i32, ptr %20, align 4, !tbaa !9
  %12180 = sext i32 %12179 to i64
  %12181 = getelementptr inbounds %struct.complex, ptr %12178, i64 %12180
  %12182 = getelementptr inbounds %struct.complex, ptr %12181, i32 0, i32 0
  %12183 = load float, ptr %12182, align 4, !tbaa !11
  %12184 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %12185 = load float, ptr %12184, align 4, !tbaa !14
  %12186 = load ptr, ptr %14, align 8, !tbaa !5
  %12187 = load i32, ptr %20, align 4, !tbaa !9
  %12188 = sext i32 %12187 to i64
  %12189 = getelementptr inbounds %struct.complex, ptr %12186, i64 %12188
  %12190 = getelementptr inbounds %struct.complex, ptr %12189, i32 0, i32 1
  %12191 = load float, ptr %12190, align 4, !tbaa !14
  %12192 = fmul float %12185, %12191
  %12193 = fneg float %12192
  %12194 = call float @llvm.fmuladd.f32(float %12177, float %12183, float %12193)
  %12195 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %12194, ptr %12195, align 4, !tbaa !11
  %12196 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %12197 = load float, ptr %12196, align 4, !tbaa !11
  %12198 = load ptr, ptr %14, align 8, !tbaa !5
  %12199 = load i32, ptr %20, align 4, !tbaa !9
  %12200 = sext i32 %12199 to i64
  %12201 = getelementptr inbounds %struct.complex, ptr %12198, i64 %12200
  %12202 = getelementptr inbounds %struct.complex, ptr %12201, i32 0, i32 1
  %12203 = load float, ptr %12202, align 4, !tbaa !14
  %12204 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %12205 = load float, ptr %12204, align 4, !tbaa !14
  %12206 = load ptr, ptr %14, align 8, !tbaa !5
  %12207 = load i32, ptr %20, align 4, !tbaa !9
  %12208 = sext i32 %12207 to i64
  %12209 = getelementptr inbounds %struct.complex, ptr %12206, i64 %12208
  %12210 = getelementptr inbounds %struct.complex, ptr %12209, i32 0, i32 0
  %12211 = load float, ptr %12210, align 4, !tbaa !11
  %12212 = fmul float %12205, %12211
  %12213 = call float @llvm.fmuladd.f32(float %12197, float %12203, float %12212)
  %12214 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %12213, ptr %12214, align 4, !tbaa !14
  %12215 = load i32, ptr %49, align 4, !tbaa !9
  %12216 = load i32, ptr %17, align 4, !tbaa !9
  %12217 = shl i32 %12216, 1
  %12218 = add nsw i32 %12215, %12217
  store i32 %12218, ptr %21, align 4, !tbaa !9
  %12219 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %12220 = load float, ptr %12219, align 4, !tbaa !11
  %12221 = load ptr, ptr %14, align 8, !tbaa !5
  %12222 = load i32, ptr %21, align 4, !tbaa !9
  %12223 = sext i32 %12222 to i64
  %12224 = getelementptr inbounds %struct.complex, ptr %12221, i64 %12223
  %12225 = getelementptr inbounds %struct.complex, ptr %12224, i32 0, i32 0
  %12226 = load float, ptr %12225, align 4, !tbaa !11
  %12227 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %12228 = load float, ptr %12227, align 4, !tbaa !14
  %12229 = load ptr, ptr %14, align 8, !tbaa !5
  %12230 = load i32, ptr %21, align 4, !tbaa !9
  %12231 = sext i32 %12230 to i64
  %12232 = getelementptr inbounds %struct.complex, ptr %12229, i64 %12231
  %12233 = getelementptr inbounds %struct.complex, ptr %12232, i32 0, i32 1
  %12234 = load float, ptr %12233, align 4, !tbaa !14
  %12235 = fmul float %12228, %12234
  %12236 = fneg float %12235
  %12237 = call float @llvm.fmuladd.f32(float %12220, float %12226, float %12236)
  %12238 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %12237, ptr %12238, align 4, !tbaa !11
  %12239 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %12240 = load float, ptr %12239, align 4, !tbaa !11
  %12241 = load ptr, ptr %14, align 8, !tbaa !5
  %12242 = load i32, ptr %21, align 4, !tbaa !9
  %12243 = sext i32 %12242 to i64
  %12244 = getelementptr inbounds %struct.complex, ptr %12241, i64 %12243
  %12245 = getelementptr inbounds %struct.complex, ptr %12244, i32 0, i32 1
  %12246 = load float, ptr %12245, align 4, !tbaa !14
  %12247 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %12248 = load float, ptr %12247, align 4, !tbaa !14
  %12249 = load ptr, ptr %14, align 8, !tbaa !5
  %12250 = load i32, ptr %21, align 4, !tbaa !9
  %12251 = sext i32 %12250 to i64
  %12252 = getelementptr inbounds %struct.complex, ptr %12249, i64 %12251
  %12253 = getelementptr inbounds %struct.complex, ptr %12252, i32 0, i32 0
  %12254 = load float, ptr %12253, align 4, !tbaa !11
  %12255 = fmul float %12248, %12254
  %12256 = call float @llvm.fmuladd.f32(float %12240, float %12246, float %12255)
  %12257 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %12256, ptr %12257, align 4, !tbaa !14
  %12258 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %12259 = load float, ptr %12258, align 4, !tbaa !11
  %12260 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %12261 = load float, ptr %12260, align 4, !tbaa !11
  %12262 = fadd float %12259, %12261
  %12263 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %12262, ptr %12263, align 4, !tbaa !11
  %12264 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %12265 = load float, ptr %12264, align 4, !tbaa !14
  %12266 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %12267 = load float, ptr %12266, align 4, !tbaa !14
  %12268 = fadd float %12265, %12267
  %12269 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %12268, ptr %12269, align 4, !tbaa !14
  %12270 = load i32, ptr %49, align 4, !tbaa !9
  %12271 = load i32, ptr %17, align 4, !tbaa !9
  %12272 = mul nsw i32 %12271, 3
  %12273 = add nsw i32 %12270, %12272
  store i32 %12273, ptr %22, align 4, !tbaa !9
  %12274 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %12275 = load float, ptr %12274, align 4, !tbaa !11
  %12276 = load ptr, ptr %14, align 8, !tbaa !5
  %12277 = load i32, ptr %22, align 4, !tbaa !9
  %12278 = sext i32 %12277 to i64
  %12279 = getelementptr inbounds %struct.complex, ptr %12276, i64 %12278
  %12280 = getelementptr inbounds %struct.complex, ptr %12279, i32 0, i32 0
  %12281 = load float, ptr %12280, align 4, !tbaa !11
  %12282 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %12283 = load float, ptr %12282, align 4, !tbaa !14
  %12284 = load ptr, ptr %14, align 8, !tbaa !5
  %12285 = load i32, ptr %22, align 4, !tbaa !9
  %12286 = sext i32 %12285 to i64
  %12287 = getelementptr inbounds %struct.complex, ptr %12284, i64 %12286
  %12288 = getelementptr inbounds %struct.complex, ptr %12287, i32 0, i32 1
  %12289 = load float, ptr %12288, align 4, !tbaa !14
  %12290 = fmul float %12283, %12289
  %12291 = fneg float %12290
  %12292 = call float @llvm.fmuladd.f32(float %12275, float %12281, float %12291)
  %12293 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %12292, ptr %12293, align 4, !tbaa !11
  %12294 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %12295 = load float, ptr %12294, align 4, !tbaa !11
  %12296 = load ptr, ptr %14, align 8, !tbaa !5
  %12297 = load i32, ptr %22, align 4, !tbaa !9
  %12298 = sext i32 %12297 to i64
  %12299 = getelementptr inbounds %struct.complex, ptr %12296, i64 %12298
  %12300 = getelementptr inbounds %struct.complex, ptr %12299, i32 0, i32 1
  %12301 = load float, ptr %12300, align 4, !tbaa !14
  %12302 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %12303 = load float, ptr %12302, align 4, !tbaa !14
  %12304 = load ptr, ptr %14, align 8, !tbaa !5
  %12305 = load i32, ptr %22, align 4, !tbaa !9
  %12306 = sext i32 %12305 to i64
  %12307 = getelementptr inbounds %struct.complex, ptr %12304, i64 %12306
  %12308 = getelementptr inbounds %struct.complex, ptr %12307, i32 0, i32 0
  %12309 = load float, ptr %12308, align 4, !tbaa !11
  %12310 = fmul float %12303, %12309
  %12311 = call float @llvm.fmuladd.f32(float %12295, float %12301, float %12310)
  %12312 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %12311, ptr %12312, align 4, !tbaa !14
  %12313 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %12314 = load float, ptr %12313, align 4, !tbaa !11
  %12315 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %12316 = load float, ptr %12315, align 4, !tbaa !11
  %12317 = fadd float %12314, %12316
  %12318 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12317, ptr %12318, align 4, !tbaa !11
  %12319 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %12320 = load float, ptr %12319, align 4, !tbaa !14
  %12321 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %12322 = load float, ptr %12321, align 4, !tbaa !14
  %12323 = fadd float %12320, %12322
  %12324 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12323, ptr %12324, align 4, !tbaa !14
  %12325 = load i32, ptr %49, align 4, !tbaa !9
  %12326 = load i32, ptr %17, align 4, !tbaa !9
  %12327 = shl i32 %12326, 2
  %12328 = add nsw i32 %12325, %12327
  store i32 %12328, ptr %23, align 4, !tbaa !9
  %12329 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %12330 = load float, ptr %12329, align 4, !tbaa !11
  %12331 = load ptr, ptr %14, align 8, !tbaa !5
  %12332 = load i32, ptr %23, align 4, !tbaa !9
  %12333 = sext i32 %12332 to i64
  %12334 = getelementptr inbounds %struct.complex, ptr %12331, i64 %12333
  %12335 = getelementptr inbounds %struct.complex, ptr %12334, i32 0, i32 0
  %12336 = load float, ptr %12335, align 4, !tbaa !11
  %12337 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %12338 = load float, ptr %12337, align 4, !tbaa !14
  %12339 = load ptr, ptr %14, align 8, !tbaa !5
  %12340 = load i32, ptr %23, align 4, !tbaa !9
  %12341 = sext i32 %12340 to i64
  %12342 = getelementptr inbounds %struct.complex, ptr %12339, i64 %12341
  %12343 = getelementptr inbounds %struct.complex, ptr %12342, i32 0, i32 1
  %12344 = load float, ptr %12343, align 4, !tbaa !14
  %12345 = fmul float %12338, %12344
  %12346 = fneg float %12345
  %12347 = call float @llvm.fmuladd.f32(float %12330, float %12336, float %12346)
  %12348 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %12347, ptr %12348, align 4, !tbaa !11
  %12349 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %12350 = load float, ptr %12349, align 4, !tbaa !11
  %12351 = load ptr, ptr %14, align 8, !tbaa !5
  %12352 = load i32, ptr %23, align 4, !tbaa !9
  %12353 = sext i32 %12352 to i64
  %12354 = getelementptr inbounds %struct.complex, ptr %12351, i64 %12353
  %12355 = getelementptr inbounds %struct.complex, ptr %12354, i32 0, i32 1
  %12356 = load float, ptr %12355, align 4, !tbaa !14
  %12357 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %12358 = load float, ptr %12357, align 4, !tbaa !14
  %12359 = load ptr, ptr %14, align 8, !tbaa !5
  %12360 = load i32, ptr %23, align 4, !tbaa !9
  %12361 = sext i32 %12360 to i64
  %12362 = getelementptr inbounds %struct.complex, ptr %12359, i64 %12361
  %12363 = getelementptr inbounds %struct.complex, ptr %12362, i32 0, i32 0
  %12364 = load float, ptr %12363, align 4, !tbaa !11
  %12365 = fmul float %12358, %12364
  %12366 = call float @llvm.fmuladd.f32(float %12350, float %12356, float %12365)
  %12367 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %12366, ptr %12367, align 4, !tbaa !14
  %12368 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12369 = load float, ptr %12368, align 4, !tbaa !11
  %12370 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %12371 = load float, ptr %12370, align 4, !tbaa !11
  %12372 = fadd float %12369, %12371
  %12373 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12372, ptr %12373, align 4, !tbaa !11
  %12374 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12375 = load float, ptr %12374, align 4, !tbaa !14
  %12376 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %12377 = load float, ptr %12376, align 4, !tbaa !14
  %12378 = fadd float %12375, %12377
  %12379 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12378, ptr %12379, align 4, !tbaa !14
  %12380 = load i32, ptr %49, align 4, !tbaa !9
  %12381 = load i32, ptr %17, align 4, !tbaa !9
  %12382 = mul nsw i32 %12381, 5
  %12383 = add nsw i32 %12380, %12382
  store i32 %12383, ptr %24, align 4, !tbaa !9
  %12384 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %12385 = load float, ptr %12384, align 4, !tbaa !11
  %12386 = load ptr, ptr %14, align 8, !tbaa !5
  %12387 = load i32, ptr %24, align 4, !tbaa !9
  %12388 = sext i32 %12387 to i64
  %12389 = getelementptr inbounds %struct.complex, ptr %12386, i64 %12388
  %12390 = getelementptr inbounds %struct.complex, ptr %12389, i32 0, i32 0
  %12391 = load float, ptr %12390, align 4, !tbaa !11
  %12392 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %12393 = load float, ptr %12392, align 4, !tbaa !14
  %12394 = load ptr, ptr %14, align 8, !tbaa !5
  %12395 = load i32, ptr %24, align 4, !tbaa !9
  %12396 = sext i32 %12395 to i64
  %12397 = getelementptr inbounds %struct.complex, ptr %12394, i64 %12396
  %12398 = getelementptr inbounds %struct.complex, ptr %12397, i32 0, i32 1
  %12399 = load float, ptr %12398, align 4, !tbaa !14
  %12400 = fmul float %12393, %12399
  %12401 = fneg float %12400
  %12402 = call float @llvm.fmuladd.f32(float %12385, float %12391, float %12401)
  %12403 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %12402, ptr %12403, align 4, !tbaa !11
  %12404 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %12405 = load float, ptr %12404, align 4, !tbaa !11
  %12406 = load ptr, ptr %14, align 8, !tbaa !5
  %12407 = load i32, ptr %24, align 4, !tbaa !9
  %12408 = sext i32 %12407 to i64
  %12409 = getelementptr inbounds %struct.complex, ptr %12406, i64 %12408
  %12410 = getelementptr inbounds %struct.complex, ptr %12409, i32 0, i32 1
  %12411 = load float, ptr %12410, align 4, !tbaa !14
  %12412 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %12413 = load float, ptr %12412, align 4, !tbaa !14
  %12414 = load ptr, ptr %14, align 8, !tbaa !5
  %12415 = load i32, ptr %24, align 4, !tbaa !9
  %12416 = sext i32 %12415 to i64
  %12417 = getelementptr inbounds %struct.complex, ptr %12414, i64 %12416
  %12418 = getelementptr inbounds %struct.complex, ptr %12417, i32 0, i32 0
  %12419 = load float, ptr %12418, align 4, !tbaa !11
  %12420 = fmul float %12413, %12419
  %12421 = call float @llvm.fmuladd.f32(float %12405, float %12411, float %12420)
  %12422 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %12421, ptr %12422, align 4, !tbaa !14
  %12423 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12424 = load float, ptr %12423, align 4, !tbaa !11
  %12425 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %12426 = load float, ptr %12425, align 4, !tbaa !11
  %12427 = fadd float %12424, %12426
  %12428 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12427, ptr %12428, align 4, !tbaa !11
  %12429 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12430 = load float, ptr %12429, align 4, !tbaa !14
  %12431 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %12432 = load float, ptr %12431, align 4, !tbaa !14
  %12433 = fadd float %12430, %12432
  %12434 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12433, ptr %12434, align 4, !tbaa !14
  %12435 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12436 = load float, ptr %12435, align 4, !tbaa !11
  %12437 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %12436, ptr %12437, align 4, !tbaa !11
  %12438 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12439 = load float, ptr %12438, align 4, !tbaa !14
  %12440 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %12439, ptr %12440, align 4, !tbaa !14
  %12441 = load i32, ptr %49, align 4, !tbaa !9
  %12442 = load i32, ptr %17, align 4, !tbaa !9
  %12443 = add nsw i32 %12441, %12442
  store i32 %12443, ptr %20, align 4, !tbaa !9
  %12444 = load i32, ptr %49, align 4, !tbaa !9
  %12445 = load i32, ptr %17, align 4, !tbaa !9
  %12446 = add nsw i32 %12444, %12445
  store i32 %12446, ptr %21, align 4, !tbaa !9
  %12447 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12448 = load float, ptr %12447, align 4, !tbaa !11
  %12449 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %12450 = load float, ptr %12449, align 4, !tbaa !11
  %12451 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12452 = load float, ptr %12451, align 4, !tbaa !14
  %12453 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %12454 = load float, ptr %12453, align 4, !tbaa !14
  %12455 = fmul float %12452, %12454
  %12456 = fneg float %12455
  %12457 = call float @llvm.fmuladd.f32(float %12448, float %12450, float %12456)
  %12458 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12457, ptr %12458, align 4, !tbaa !11
  %12459 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12460 = load float, ptr %12459, align 4, !tbaa !11
  %12461 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %12462 = load float, ptr %12461, align 4, !tbaa !14
  %12463 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12464 = load float, ptr %12463, align 4, !tbaa !14
  %12465 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %12466 = load float, ptr %12465, align 4, !tbaa !11
  %12467 = fmul float %12464, %12466
  %12468 = call float @llvm.fmuladd.f32(float %12460, float %12462, float %12467)
  %12469 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12468, ptr %12469, align 4, !tbaa !14
  %12470 = load ptr, ptr %14, align 8, !tbaa !5
  %12471 = load i32, ptr %21, align 4, !tbaa !9
  %12472 = sext i32 %12471 to i64
  %12473 = getelementptr inbounds %struct.complex, ptr %12470, i64 %12472
  %12474 = getelementptr inbounds %struct.complex, ptr %12473, i32 0, i32 0
  %12475 = load float, ptr %12474, align 4, !tbaa !11
  %12476 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12477 = load float, ptr %12476, align 4, !tbaa !11
  %12478 = fsub float %12475, %12477
  %12479 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12478, ptr %12479, align 4, !tbaa !11
  %12480 = load ptr, ptr %14, align 8, !tbaa !5
  %12481 = load i32, ptr %21, align 4, !tbaa !9
  %12482 = sext i32 %12481 to i64
  %12483 = getelementptr inbounds %struct.complex, ptr %12480, i64 %12482
  %12484 = getelementptr inbounds %struct.complex, ptr %12483, i32 0, i32 1
  %12485 = load float, ptr %12484, align 4, !tbaa !14
  %12486 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12487 = load float, ptr %12486, align 4, !tbaa !14
  %12488 = fsub float %12485, %12487
  %12489 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12488, ptr %12489, align 4, !tbaa !14
  %12490 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12491 = load float, ptr %12490, align 4, !tbaa !11
  %12492 = load ptr, ptr %14, align 8, !tbaa !5
  %12493 = load i32, ptr %20, align 4, !tbaa !9
  %12494 = sext i32 %12493 to i64
  %12495 = getelementptr inbounds %struct.complex, ptr %12492, i64 %12494
  %12496 = getelementptr inbounds %struct.complex, ptr %12495, i32 0, i32 0
  store float %12491, ptr %12496, align 4, !tbaa !11
  %12497 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12498 = load float, ptr %12497, align 4, !tbaa !14
  %12499 = load ptr, ptr %14, align 8, !tbaa !5
  %12500 = load i32, ptr %20, align 4, !tbaa !9
  %12501 = sext i32 %12500 to i64
  %12502 = getelementptr inbounds %struct.complex, ptr %12499, i64 %12501
  %12503 = getelementptr inbounds %struct.complex, ptr %12502, i32 0, i32 1
  store float %12498, ptr %12503, align 4, !tbaa !14
  %12504 = load i32, ptr %49, align 4, !tbaa !9
  %12505 = load i32, ptr %17, align 4, !tbaa !9
  %12506 = shl i32 %12505, 1
  %12507 = add nsw i32 %12504, %12506
  store i32 %12507, ptr %20, align 4, !tbaa !9
  %12508 = load i32, ptr %49, align 4, !tbaa !9
  %12509 = load i32, ptr %17, align 4, !tbaa !9
  %12510 = shl i32 %12509, 1
  %12511 = add nsw i32 %12508, %12510
  store i32 %12511, ptr %21, align 4, !tbaa !9
  %12512 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12513 = load float, ptr %12512, align 4, !tbaa !11
  %12514 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %12515 = load float, ptr %12514, align 4, !tbaa !11
  %12516 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12517 = load float, ptr %12516, align 4, !tbaa !14
  %12518 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %12519 = load float, ptr %12518, align 4, !tbaa !14
  %12520 = fmul float %12517, %12519
  %12521 = fneg float %12520
  %12522 = call float @llvm.fmuladd.f32(float %12513, float %12515, float %12521)
  %12523 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12522, ptr %12523, align 4, !tbaa !11
  %12524 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12525 = load float, ptr %12524, align 4, !tbaa !11
  %12526 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %12527 = load float, ptr %12526, align 4, !tbaa !14
  %12528 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12529 = load float, ptr %12528, align 4, !tbaa !14
  %12530 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %12531 = load float, ptr %12530, align 4, !tbaa !11
  %12532 = fmul float %12529, %12531
  %12533 = call float @llvm.fmuladd.f32(float %12525, float %12527, float %12532)
  %12534 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12533, ptr %12534, align 4, !tbaa !14
  %12535 = load ptr, ptr %14, align 8, !tbaa !5
  %12536 = load i32, ptr %21, align 4, !tbaa !9
  %12537 = sext i32 %12536 to i64
  %12538 = getelementptr inbounds %struct.complex, ptr %12535, i64 %12537
  %12539 = getelementptr inbounds %struct.complex, ptr %12538, i32 0, i32 0
  %12540 = load float, ptr %12539, align 4, !tbaa !11
  %12541 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12542 = load float, ptr %12541, align 4, !tbaa !11
  %12543 = fsub float %12540, %12542
  %12544 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12543, ptr %12544, align 4, !tbaa !11
  %12545 = load ptr, ptr %14, align 8, !tbaa !5
  %12546 = load i32, ptr %21, align 4, !tbaa !9
  %12547 = sext i32 %12546 to i64
  %12548 = getelementptr inbounds %struct.complex, ptr %12545, i64 %12547
  %12549 = getelementptr inbounds %struct.complex, ptr %12548, i32 0, i32 1
  %12550 = load float, ptr %12549, align 4, !tbaa !14
  %12551 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12552 = load float, ptr %12551, align 4, !tbaa !14
  %12553 = fsub float %12550, %12552
  %12554 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12553, ptr %12554, align 4, !tbaa !14
  %12555 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12556 = load float, ptr %12555, align 4, !tbaa !11
  %12557 = load ptr, ptr %14, align 8, !tbaa !5
  %12558 = load i32, ptr %20, align 4, !tbaa !9
  %12559 = sext i32 %12558 to i64
  %12560 = getelementptr inbounds %struct.complex, ptr %12557, i64 %12559
  %12561 = getelementptr inbounds %struct.complex, ptr %12560, i32 0, i32 0
  store float %12556, ptr %12561, align 4, !tbaa !11
  %12562 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12563 = load float, ptr %12562, align 4, !tbaa !14
  %12564 = load ptr, ptr %14, align 8, !tbaa !5
  %12565 = load i32, ptr %20, align 4, !tbaa !9
  %12566 = sext i32 %12565 to i64
  %12567 = getelementptr inbounds %struct.complex, ptr %12564, i64 %12566
  %12568 = getelementptr inbounds %struct.complex, ptr %12567, i32 0, i32 1
  store float %12563, ptr %12568, align 4, !tbaa !14
  %12569 = load i32, ptr %49, align 4, !tbaa !9
  %12570 = load i32, ptr %17, align 4, !tbaa !9
  %12571 = mul nsw i32 %12570, 3
  %12572 = add nsw i32 %12569, %12571
  store i32 %12572, ptr %20, align 4, !tbaa !9
  %12573 = load i32, ptr %49, align 4, !tbaa !9
  %12574 = load i32, ptr %17, align 4, !tbaa !9
  %12575 = mul nsw i32 %12574, 3
  %12576 = add nsw i32 %12573, %12575
  store i32 %12576, ptr %21, align 4, !tbaa !9
  %12577 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12578 = load float, ptr %12577, align 4, !tbaa !11
  %12579 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %12580 = load float, ptr %12579, align 4, !tbaa !11
  %12581 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12582 = load float, ptr %12581, align 4, !tbaa !14
  %12583 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %12584 = load float, ptr %12583, align 4, !tbaa !14
  %12585 = fmul float %12582, %12584
  %12586 = fneg float %12585
  %12587 = call float @llvm.fmuladd.f32(float %12578, float %12580, float %12586)
  %12588 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12587, ptr %12588, align 4, !tbaa !11
  %12589 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12590 = load float, ptr %12589, align 4, !tbaa !11
  %12591 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %12592 = load float, ptr %12591, align 4, !tbaa !14
  %12593 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12594 = load float, ptr %12593, align 4, !tbaa !14
  %12595 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %12596 = load float, ptr %12595, align 4, !tbaa !11
  %12597 = fmul float %12594, %12596
  %12598 = call float @llvm.fmuladd.f32(float %12590, float %12592, float %12597)
  %12599 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12598, ptr %12599, align 4, !tbaa !14
  %12600 = load ptr, ptr %14, align 8, !tbaa !5
  %12601 = load i32, ptr %21, align 4, !tbaa !9
  %12602 = sext i32 %12601 to i64
  %12603 = getelementptr inbounds %struct.complex, ptr %12600, i64 %12602
  %12604 = getelementptr inbounds %struct.complex, ptr %12603, i32 0, i32 0
  %12605 = load float, ptr %12604, align 4, !tbaa !11
  %12606 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12607 = load float, ptr %12606, align 4, !tbaa !11
  %12608 = fsub float %12605, %12607
  %12609 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12608, ptr %12609, align 4, !tbaa !11
  %12610 = load ptr, ptr %14, align 8, !tbaa !5
  %12611 = load i32, ptr %21, align 4, !tbaa !9
  %12612 = sext i32 %12611 to i64
  %12613 = getelementptr inbounds %struct.complex, ptr %12610, i64 %12612
  %12614 = getelementptr inbounds %struct.complex, ptr %12613, i32 0, i32 1
  %12615 = load float, ptr %12614, align 4, !tbaa !14
  %12616 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12617 = load float, ptr %12616, align 4, !tbaa !14
  %12618 = fsub float %12615, %12617
  %12619 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12618, ptr %12619, align 4, !tbaa !14
  %12620 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12621 = load float, ptr %12620, align 4, !tbaa !11
  %12622 = load ptr, ptr %14, align 8, !tbaa !5
  %12623 = load i32, ptr %20, align 4, !tbaa !9
  %12624 = sext i32 %12623 to i64
  %12625 = getelementptr inbounds %struct.complex, ptr %12622, i64 %12624
  %12626 = getelementptr inbounds %struct.complex, ptr %12625, i32 0, i32 0
  store float %12621, ptr %12626, align 4, !tbaa !11
  %12627 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12628 = load float, ptr %12627, align 4, !tbaa !14
  %12629 = load ptr, ptr %14, align 8, !tbaa !5
  %12630 = load i32, ptr %20, align 4, !tbaa !9
  %12631 = sext i32 %12630 to i64
  %12632 = getelementptr inbounds %struct.complex, ptr %12629, i64 %12631
  %12633 = getelementptr inbounds %struct.complex, ptr %12632, i32 0, i32 1
  store float %12628, ptr %12633, align 4, !tbaa !14
  %12634 = load i32, ptr %49, align 4, !tbaa !9
  %12635 = load i32, ptr %17, align 4, !tbaa !9
  %12636 = shl i32 %12635, 2
  %12637 = add nsw i32 %12634, %12636
  store i32 %12637, ptr %20, align 4, !tbaa !9
  %12638 = load i32, ptr %49, align 4, !tbaa !9
  %12639 = load i32, ptr %17, align 4, !tbaa !9
  %12640 = shl i32 %12639, 2
  %12641 = add nsw i32 %12638, %12640
  store i32 %12641, ptr %21, align 4, !tbaa !9
  %12642 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12643 = load float, ptr %12642, align 4, !tbaa !11
  %12644 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %12645 = load float, ptr %12644, align 4, !tbaa !11
  %12646 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12647 = load float, ptr %12646, align 4, !tbaa !14
  %12648 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %12649 = load float, ptr %12648, align 4, !tbaa !14
  %12650 = fmul float %12647, %12649
  %12651 = fneg float %12650
  %12652 = call float @llvm.fmuladd.f32(float %12643, float %12645, float %12651)
  %12653 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12652, ptr %12653, align 4, !tbaa !11
  %12654 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12655 = load float, ptr %12654, align 4, !tbaa !11
  %12656 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %12657 = load float, ptr %12656, align 4, !tbaa !14
  %12658 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12659 = load float, ptr %12658, align 4, !tbaa !14
  %12660 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %12661 = load float, ptr %12660, align 4, !tbaa !11
  %12662 = fmul float %12659, %12661
  %12663 = call float @llvm.fmuladd.f32(float %12655, float %12657, float %12662)
  %12664 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12663, ptr %12664, align 4, !tbaa !14
  %12665 = load ptr, ptr %14, align 8, !tbaa !5
  %12666 = load i32, ptr %21, align 4, !tbaa !9
  %12667 = sext i32 %12666 to i64
  %12668 = getelementptr inbounds %struct.complex, ptr %12665, i64 %12667
  %12669 = getelementptr inbounds %struct.complex, ptr %12668, i32 0, i32 0
  %12670 = load float, ptr %12669, align 4, !tbaa !11
  %12671 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12672 = load float, ptr %12671, align 4, !tbaa !11
  %12673 = fsub float %12670, %12672
  %12674 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12673, ptr %12674, align 4, !tbaa !11
  %12675 = load ptr, ptr %14, align 8, !tbaa !5
  %12676 = load i32, ptr %21, align 4, !tbaa !9
  %12677 = sext i32 %12676 to i64
  %12678 = getelementptr inbounds %struct.complex, ptr %12675, i64 %12677
  %12679 = getelementptr inbounds %struct.complex, ptr %12678, i32 0, i32 1
  %12680 = load float, ptr %12679, align 4, !tbaa !14
  %12681 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12682 = load float, ptr %12681, align 4, !tbaa !14
  %12683 = fsub float %12680, %12682
  %12684 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12683, ptr %12684, align 4, !tbaa !14
  %12685 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12686 = load float, ptr %12685, align 4, !tbaa !11
  %12687 = load ptr, ptr %14, align 8, !tbaa !5
  %12688 = load i32, ptr %20, align 4, !tbaa !9
  %12689 = sext i32 %12688 to i64
  %12690 = getelementptr inbounds %struct.complex, ptr %12687, i64 %12689
  %12691 = getelementptr inbounds %struct.complex, ptr %12690, i32 0, i32 0
  store float %12686, ptr %12691, align 4, !tbaa !11
  %12692 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12693 = load float, ptr %12692, align 4, !tbaa !14
  %12694 = load ptr, ptr %14, align 8, !tbaa !5
  %12695 = load i32, ptr %20, align 4, !tbaa !9
  %12696 = sext i32 %12695 to i64
  %12697 = getelementptr inbounds %struct.complex, ptr %12694, i64 %12696
  %12698 = getelementptr inbounds %struct.complex, ptr %12697, i32 0, i32 1
  store float %12693, ptr %12698, align 4, !tbaa !14
  %12699 = load i32, ptr %49, align 4, !tbaa !9
  %12700 = load i32, ptr %17, align 4, !tbaa !9
  %12701 = mul nsw i32 %12700, 5
  %12702 = add nsw i32 %12699, %12701
  store i32 %12702, ptr %20, align 4, !tbaa !9
  %12703 = load i32, ptr %49, align 4, !tbaa !9
  %12704 = load i32, ptr %17, align 4, !tbaa !9
  %12705 = mul nsw i32 %12704, 5
  %12706 = add nsw i32 %12703, %12705
  store i32 %12706, ptr %21, align 4, !tbaa !9
  %12707 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12708 = load float, ptr %12707, align 4, !tbaa !11
  %12709 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %12710 = load float, ptr %12709, align 4, !tbaa !11
  %12711 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12712 = load float, ptr %12711, align 4, !tbaa !14
  %12713 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %12714 = load float, ptr %12713, align 4, !tbaa !14
  %12715 = fmul float %12712, %12714
  %12716 = fneg float %12715
  %12717 = call float @llvm.fmuladd.f32(float %12708, float %12710, float %12716)
  %12718 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12717, ptr %12718, align 4, !tbaa !11
  %12719 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %12720 = load float, ptr %12719, align 4, !tbaa !11
  %12721 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %12722 = load float, ptr %12721, align 4, !tbaa !14
  %12723 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %12724 = load float, ptr %12723, align 4, !tbaa !14
  %12725 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %12726 = load float, ptr %12725, align 4, !tbaa !11
  %12727 = fmul float %12724, %12726
  %12728 = call float @llvm.fmuladd.f32(float %12720, float %12722, float %12727)
  %12729 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12728, ptr %12729, align 4, !tbaa !14
  %12730 = load ptr, ptr %14, align 8, !tbaa !5
  %12731 = load i32, ptr %21, align 4, !tbaa !9
  %12732 = sext i32 %12731 to i64
  %12733 = getelementptr inbounds %struct.complex, ptr %12730, i64 %12732
  %12734 = getelementptr inbounds %struct.complex, ptr %12733, i32 0, i32 0
  %12735 = load float, ptr %12734, align 4, !tbaa !11
  %12736 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12737 = load float, ptr %12736, align 4, !tbaa !11
  %12738 = fsub float %12735, %12737
  %12739 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12738, ptr %12739, align 4, !tbaa !11
  %12740 = load ptr, ptr %14, align 8, !tbaa !5
  %12741 = load i32, ptr %21, align 4, !tbaa !9
  %12742 = sext i32 %12741 to i64
  %12743 = getelementptr inbounds %struct.complex, ptr %12740, i64 %12742
  %12744 = getelementptr inbounds %struct.complex, ptr %12743, i32 0, i32 1
  %12745 = load float, ptr %12744, align 4, !tbaa !14
  %12746 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12747 = load float, ptr %12746, align 4, !tbaa !14
  %12748 = fsub float %12745, %12747
  %12749 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12748, ptr %12749, align 4, !tbaa !14
  %12750 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12751 = load float, ptr %12750, align 4, !tbaa !11
  %12752 = load ptr, ptr %14, align 8, !tbaa !5
  %12753 = load i32, ptr %20, align 4, !tbaa !9
  %12754 = sext i32 %12753 to i64
  %12755 = getelementptr inbounds %struct.complex, ptr %12752, i64 %12754
  %12756 = getelementptr inbounds %struct.complex, ptr %12755, i32 0, i32 0
  store float %12751, ptr %12756, align 4, !tbaa !11
  %12757 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12758 = load float, ptr %12757, align 4, !tbaa !14
  %12759 = load ptr, ptr %14, align 8, !tbaa !5
  %12760 = load i32, ptr %20, align 4, !tbaa !9
  %12761 = sext i32 %12760 to i64
  %12762 = getelementptr inbounds %struct.complex, ptr %12759, i64 %12761
  %12763 = getelementptr inbounds %struct.complex, ptr %12762, i32 0, i32 1
  store float %12758, ptr %12763, align 4, !tbaa !14
  br label %12764

12764:                                            ; preds = %12172
  %12765 = load i32, ptr %49, align 4, !tbaa !9
  %12766 = add nsw i32 %12765, 1
  store i32 %12766, ptr %49, align 4, !tbaa !9
  br label %12168, !llvm.loop !30

12767:                                            ; preds = %12168
  br label %19663

12768:                                            ; preds = %10175
  %12769 = load ptr, ptr %12, align 8, !tbaa !5
  %12770 = getelementptr inbounds %struct.complex, ptr %12769, i64 1
  %12771 = getelementptr inbounds %struct.complex, ptr %12770, i32 0, i32 0
  %12772 = load float, ptr %12771, align 4, !tbaa !11
  %12773 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %12772, ptr %12773, align 4, !tbaa !11
  %12774 = load ptr, ptr %12, align 8, !tbaa !5
  %12775 = getelementptr inbounds %struct.complex, ptr %12774, i64 1
  %12776 = getelementptr inbounds %struct.complex, ptr %12775, i32 0, i32 1
  %12777 = load float, ptr %12776, align 4, !tbaa !14
  %12778 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %12777, ptr %12778, align 4, !tbaa !14
  %12779 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %12779, ptr %196, align 4
  %12780 = getelementptr inbounds { float, float }, ptr %196, i32 0, i32 0
  %12781 = load float, ptr %12780, align 4
  %12782 = getelementptr inbounds { float, float }, ptr %196, i32 0, i32 1
  %12783 = load float, ptr %12782, align 4
  %12784 = fneg float %12783
  %12785 = call ptr @_pCf(ptr noundef %31)
  %12786 = getelementptr inbounds { float, float }, ptr %12785, i32 0, i32 0
  %12787 = getelementptr inbounds { float, float }, ptr %12785, i32 0, i32 1
  store float %12781, ptr %12786, align 4
  store float %12784, ptr %12787, align 4
  %12788 = load ptr, ptr %13, align 8, !tbaa !5
  %12789 = getelementptr inbounds %struct.complex, ptr %12788, i32 0, i32 0
  %12790 = load float, ptr %12789, align 4, !tbaa !11
  %12791 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12792 = load float, ptr %12791, align 4, !tbaa !11
  %12793 = load ptr, ptr %13, align 8, !tbaa !5
  %12794 = getelementptr inbounds %struct.complex, ptr %12793, i32 0, i32 1
  %12795 = load float, ptr %12794, align 4, !tbaa !14
  %12796 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12797 = load float, ptr %12796, align 4, !tbaa !14
  %12798 = fmul float %12795, %12797
  %12799 = fneg float %12798
  %12800 = call float @llvm.fmuladd.f32(float %12790, float %12792, float %12799)
  %12801 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12800, ptr %12801, align 4, !tbaa !11
  %12802 = load ptr, ptr %13, align 8, !tbaa !5
  %12803 = getelementptr inbounds %struct.complex, ptr %12802, i32 0, i32 0
  %12804 = load float, ptr %12803, align 4, !tbaa !11
  %12805 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12806 = load float, ptr %12805, align 4, !tbaa !14
  %12807 = load ptr, ptr %13, align 8, !tbaa !5
  %12808 = getelementptr inbounds %struct.complex, ptr %12807, i32 0, i32 1
  %12809 = load float, ptr %12808, align 4, !tbaa !14
  %12810 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12811 = load float, ptr %12810, align 4, !tbaa !11
  %12812 = fmul float %12809, %12811
  %12813 = call float @llvm.fmuladd.f32(float %12804, float %12806, float %12812)
  %12814 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12813, ptr %12814, align 4, !tbaa !14
  %12815 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12816 = load float, ptr %12815, align 4, !tbaa !11
  %12817 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %12816, ptr %12817, align 4, !tbaa !11
  %12818 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12819 = load float, ptr %12818, align 4, !tbaa !14
  %12820 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %12819, ptr %12820, align 4, !tbaa !14
  %12821 = load ptr, ptr %12, align 8, !tbaa !5
  %12822 = getelementptr inbounds %struct.complex, ptr %12821, i64 2
  %12823 = getelementptr inbounds %struct.complex, ptr %12822, i32 0, i32 0
  %12824 = load float, ptr %12823, align 4, !tbaa !11
  %12825 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %12824, ptr %12825, align 4, !tbaa !11
  %12826 = load ptr, ptr %12, align 8, !tbaa !5
  %12827 = getelementptr inbounds %struct.complex, ptr %12826, i64 2
  %12828 = getelementptr inbounds %struct.complex, ptr %12827, i32 0, i32 1
  %12829 = load float, ptr %12828, align 4, !tbaa !14
  %12830 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %12829, ptr %12830, align 4, !tbaa !14
  %12831 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %12831, ptr %197, align 4
  %12832 = getelementptr inbounds { float, float }, ptr %197, i32 0, i32 0
  %12833 = load float, ptr %12832, align 4
  %12834 = getelementptr inbounds { float, float }, ptr %197, i32 0, i32 1
  %12835 = load float, ptr %12834, align 4
  %12836 = fneg float %12835
  %12837 = call ptr @_pCf(ptr noundef %31)
  %12838 = getelementptr inbounds { float, float }, ptr %12837, i32 0, i32 0
  %12839 = getelementptr inbounds { float, float }, ptr %12837, i32 0, i32 1
  store float %12833, ptr %12838, align 4
  store float %12836, ptr %12839, align 4
  %12840 = load ptr, ptr %13, align 8, !tbaa !5
  %12841 = getelementptr inbounds %struct.complex, ptr %12840, i32 0, i32 0
  %12842 = load float, ptr %12841, align 4, !tbaa !11
  %12843 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12844 = load float, ptr %12843, align 4, !tbaa !11
  %12845 = load ptr, ptr %13, align 8, !tbaa !5
  %12846 = getelementptr inbounds %struct.complex, ptr %12845, i32 0, i32 1
  %12847 = load float, ptr %12846, align 4, !tbaa !14
  %12848 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12849 = load float, ptr %12848, align 4, !tbaa !14
  %12850 = fmul float %12847, %12849
  %12851 = fneg float %12850
  %12852 = call float @llvm.fmuladd.f32(float %12842, float %12844, float %12851)
  %12853 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12852, ptr %12853, align 4, !tbaa !11
  %12854 = load ptr, ptr %13, align 8, !tbaa !5
  %12855 = getelementptr inbounds %struct.complex, ptr %12854, i32 0, i32 0
  %12856 = load float, ptr %12855, align 4, !tbaa !11
  %12857 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12858 = load float, ptr %12857, align 4, !tbaa !14
  %12859 = load ptr, ptr %13, align 8, !tbaa !5
  %12860 = getelementptr inbounds %struct.complex, ptr %12859, i32 0, i32 1
  %12861 = load float, ptr %12860, align 4, !tbaa !14
  %12862 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12863 = load float, ptr %12862, align 4, !tbaa !11
  %12864 = fmul float %12861, %12863
  %12865 = call float @llvm.fmuladd.f32(float %12856, float %12858, float %12864)
  %12866 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12865, ptr %12866, align 4, !tbaa !14
  %12867 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12868 = load float, ptr %12867, align 4, !tbaa !11
  %12869 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %12868, ptr %12869, align 4, !tbaa !11
  %12870 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12871 = load float, ptr %12870, align 4, !tbaa !14
  %12872 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %12871, ptr %12872, align 4, !tbaa !14
  %12873 = load ptr, ptr %12, align 8, !tbaa !5
  %12874 = getelementptr inbounds %struct.complex, ptr %12873, i64 3
  %12875 = getelementptr inbounds %struct.complex, ptr %12874, i32 0, i32 0
  %12876 = load float, ptr %12875, align 4, !tbaa !11
  %12877 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %12876, ptr %12877, align 4, !tbaa !11
  %12878 = load ptr, ptr %12, align 8, !tbaa !5
  %12879 = getelementptr inbounds %struct.complex, ptr %12878, i64 3
  %12880 = getelementptr inbounds %struct.complex, ptr %12879, i32 0, i32 1
  %12881 = load float, ptr %12880, align 4, !tbaa !14
  %12882 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %12881, ptr %12882, align 4, !tbaa !14
  %12883 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %12883, ptr %198, align 4
  %12884 = getelementptr inbounds { float, float }, ptr %198, i32 0, i32 0
  %12885 = load float, ptr %12884, align 4
  %12886 = getelementptr inbounds { float, float }, ptr %198, i32 0, i32 1
  %12887 = load float, ptr %12886, align 4
  %12888 = fneg float %12887
  %12889 = call ptr @_pCf(ptr noundef %31)
  %12890 = getelementptr inbounds { float, float }, ptr %12889, i32 0, i32 0
  %12891 = getelementptr inbounds { float, float }, ptr %12889, i32 0, i32 1
  store float %12885, ptr %12890, align 4
  store float %12888, ptr %12891, align 4
  %12892 = load ptr, ptr %13, align 8, !tbaa !5
  %12893 = getelementptr inbounds %struct.complex, ptr %12892, i32 0, i32 0
  %12894 = load float, ptr %12893, align 4, !tbaa !11
  %12895 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12896 = load float, ptr %12895, align 4, !tbaa !11
  %12897 = load ptr, ptr %13, align 8, !tbaa !5
  %12898 = getelementptr inbounds %struct.complex, ptr %12897, i32 0, i32 1
  %12899 = load float, ptr %12898, align 4, !tbaa !14
  %12900 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12901 = load float, ptr %12900, align 4, !tbaa !14
  %12902 = fmul float %12899, %12901
  %12903 = fneg float %12902
  %12904 = call float @llvm.fmuladd.f32(float %12894, float %12896, float %12903)
  %12905 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12904, ptr %12905, align 4, !tbaa !11
  %12906 = load ptr, ptr %13, align 8, !tbaa !5
  %12907 = getelementptr inbounds %struct.complex, ptr %12906, i32 0, i32 0
  %12908 = load float, ptr %12907, align 4, !tbaa !11
  %12909 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12910 = load float, ptr %12909, align 4, !tbaa !14
  %12911 = load ptr, ptr %13, align 8, !tbaa !5
  %12912 = getelementptr inbounds %struct.complex, ptr %12911, i32 0, i32 1
  %12913 = load float, ptr %12912, align 4, !tbaa !14
  %12914 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12915 = load float, ptr %12914, align 4, !tbaa !11
  %12916 = fmul float %12913, %12915
  %12917 = call float @llvm.fmuladd.f32(float %12908, float %12910, float %12916)
  %12918 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12917, ptr %12918, align 4, !tbaa !14
  %12919 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12920 = load float, ptr %12919, align 4, !tbaa !11
  %12921 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %12920, ptr %12921, align 4, !tbaa !11
  %12922 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12923 = load float, ptr %12922, align 4, !tbaa !14
  %12924 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %12923, ptr %12924, align 4, !tbaa !14
  %12925 = load ptr, ptr %12, align 8, !tbaa !5
  %12926 = getelementptr inbounds %struct.complex, ptr %12925, i64 4
  %12927 = getelementptr inbounds %struct.complex, ptr %12926, i32 0, i32 0
  %12928 = load float, ptr %12927, align 4, !tbaa !11
  %12929 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %12928, ptr %12929, align 4, !tbaa !11
  %12930 = load ptr, ptr %12, align 8, !tbaa !5
  %12931 = getelementptr inbounds %struct.complex, ptr %12930, i64 4
  %12932 = getelementptr inbounds %struct.complex, ptr %12931, i32 0, i32 1
  %12933 = load float, ptr %12932, align 4, !tbaa !14
  %12934 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %12933, ptr %12934, align 4, !tbaa !14
  %12935 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %12935, ptr %199, align 4
  %12936 = getelementptr inbounds { float, float }, ptr %199, i32 0, i32 0
  %12937 = load float, ptr %12936, align 4
  %12938 = getelementptr inbounds { float, float }, ptr %199, i32 0, i32 1
  %12939 = load float, ptr %12938, align 4
  %12940 = fneg float %12939
  %12941 = call ptr @_pCf(ptr noundef %31)
  %12942 = getelementptr inbounds { float, float }, ptr %12941, i32 0, i32 0
  %12943 = getelementptr inbounds { float, float }, ptr %12941, i32 0, i32 1
  store float %12937, ptr %12942, align 4
  store float %12940, ptr %12943, align 4
  %12944 = load ptr, ptr %13, align 8, !tbaa !5
  %12945 = getelementptr inbounds %struct.complex, ptr %12944, i32 0, i32 0
  %12946 = load float, ptr %12945, align 4, !tbaa !11
  %12947 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12948 = load float, ptr %12947, align 4, !tbaa !11
  %12949 = load ptr, ptr %13, align 8, !tbaa !5
  %12950 = getelementptr inbounds %struct.complex, ptr %12949, i32 0, i32 1
  %12951 = load float, ptr %12950, align 4, !tbaa !14
  %12952 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12953 = load float, ptr %12952, align 4, !tbaa !14
  %12954 = fmul float %12951, %12953
  %12955 = fneg float %12954
  %12956 = call float @llvm.fmuladd.f32(float %12946, float %12948, float %12955)
  %12957 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %12956, ptr %12957, align 4, !tbaa !11
  %12958 = load ptr, ptr %13, align 8, !tbaa !5
  %12959 = getelementptr inbounds %struct.complex, ptr %12958, i32 0, i32 0
  %12960 = load float, ptr %12959, align 4, !tbaa !11
  %12961 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12962 = load float, ptr %12961, align 4, !tbaa !14
  %12963 = load ptr, ptr %13, align 8, !tbaa !5
  %12964 = getelementptr inbounds %struct.complex, ptr %12963, i32 0, i32 1
  %12965 = load float, ptr %12964, align 4, !tbaa !14
  %12966 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12967 = load float, ptr %12966, align 4, !tbaa !11
  %12968 = fmul float %12965, %12967
  %12969 = call float @llvm.fmuladd.f32(float %12960, float %12962, float %12968)
  %12970 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %12969, ptr %12970, align 4, !tbaa !14
  %12971 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %12972 = load float, ptr %12971, align 4, !tbaa !11
  %12973 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %12972, ptr %12973, align 4, !tbaa !11
  %12974 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %12975 = load float, ptr %12974, align 4, !tbaa !14
  %12976 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %12975, ptr %12976, align 4, !tbaa !14
  %12977 = load ptr, ptr %12, align 8, !tbaa !5
  %12978 = getelementptr inbounds %struct.complex, ptr %12977, i64 5
  %12979 = getelementptr inbounds %struct.complex, ptr %12978, i32 0, i32 0
  %12980 = load float, ptr %12979, align 4, !tbaa !11
  %12981 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %12980, ptr %12981, align 4, !tbaa !11
  %12982 = load ptr, ptr %12, align 8, !tbaa !5
  %12983 = getelementptr inbounds %struct.complex, ptr %12982, i64 5
  %12984 = getelementptr inbounds %struct.complex, ptr %12983, i32 0, i32 1
  %12985 = load float, ptr %12984, align 4, !tbaa !14
  %12986 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %12985, ptr %12986, align 4, !tbaa !14
  %12987 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %12987, ptr %200, align 4
  %12988 = getelementptr inbounds { float, float }, ptr %200, i32 0, i32 0
  %12989 = load float, ptr %12988, align 4
  %12990 = getelementptr inbounds { float, float }, ptr %200, i32 0, i32 1
  %12991 = load float, ptr %12990, align 4
  %12992 = fneg float %12991
  %12993 = call ptr @_pCf(ptr noundef %31)
  %12994 = getelementptr inbounds { float, float }, ptr %12993, i32 0, i32 0
  %12995 = getelementptr inbounds { float, float }, ptr %12993, i32 0, i32 1
  store float %12989, ptr %12994, align 4
  store float %12992, ptr %12995, align 4
  %12996 = load ptr, ptr %13, align 8, !tbaa !5
  %12997 = getelementptr inbounds %struct.complex, ptr %12996, i32 0, i32 0
  %12998 = load float, ptr %12997, align 4, !tbaa !11
  %12999 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13000 = load float, ptr %12999, align 4, !tbaa !11
  %13001 = load ptr, ptr %13, align 8, !tbaa !5
  %13002 = getelementptr inbounds %struct.complex, ptr %13001, i32 0, i32 1
  %13003 = load float, ptr %13002, align 4, !tbaa !14
  %13004 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13005 = load float, ptr %13004, align 4, !tbaa !14
  %13006 = fmul float %13003, %13005
  %13007 = fneg float %13006
  %13008 = call float @llvm.fmuladd.f32(float %12998, float %13000, float %13007)
  %13009 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13008, ptr %13009, align 4, !tbaa !11
  %13010 = load ptr, ptr %13, align 8, !tbaa !5
  %13011 = getelementptr inbounds %struct.complex, ptr %13010, i32 0, i32 0
  %13012 = load float, ptr %13011, align 4, !tbaa !11
  %13013 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13014 = load float, ptr %13013, align 4, !tbaa !14
  %13015 = load ptr, ptr %13, align 8, !tbaa !5
  %13016 = getelementptr inbounds %struct.complex, ptr %13015, i32 0, i32 1
  %13017 = load float, ptr %13016, align 4, !tbaa !14
  %13018 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13019 = load float, ptr %13018, align 4, !tbaa !11
  %13020 = fmul float %13017, %13019
  %13021 = call float @llvm.fmuladd.f32(float %13012, float %13014, float %13020)
  %13022 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13021, ptr %13022, align 4, !tbaa !14
  %13023 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13024 = load float, ptr %13023, align 4, !tbaa !11
  %13025 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %13024, ptr %13025, align 4, !tbaa !11
  %13026 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13027 = load float, ptr %13026, align 4, !tbaa !14
  %13028 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %13027, ptr %13028, align 4, !tbaa !14
  %13029 = load ptr, ptr %12, align 8, !tbaa !5
  %13030 = getelementptr inbounds %struct.complex, ptr %13029, i64 6
  %13031 = getelementptr inbounds %struct.complex, ptr %13030, i32 0, i32 0
  %13032 = load float, ptr %13031, align 4, !tbaa !11
  %13033 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %13032, ptr %13033, align 4, !tbaa !11
  %13034 = load ptr, ptr %12, align 8, !tbaa !5
  %13035 = getelementptr inbounds %struct.complex, ptr %13034, i64 6
  %13036 = getelementptr inbounds %struct.complex, ptr %13035, i32 0, i32 1
  %13037 = load float, ptr %13036, align 4, !tbaa !14
  %13038 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %13037, ptr %13038, align 4, !tbaa !14
  %13039 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %13039, ptr %201, align 4
  %13040 = getelementptr inbounds { float, float }, ptr %201, i32 0, i32 0
  %13041 = load float, ptr %13040, align 4
  %13042 = getelementptr inbounds { float, float }, ptr %201, i32 0, i32 1
  %13043 = load float, ptr %13042, align 4
  %13044 = fneg float %13043
  %13045 = call ptr @_pCf(ptr noundef %31)
  %13046 = getelementptr inbounds { float, float }, ptr %13045, i32 0, i32 0
  %13047 = getelementptr inbounds { float, float }, ptr %13045, i32 0, i32 1
  store float %13041, ptr %13046, align 4
  store float %13044, ptr %13047, align 4
  %13048 = load ptr, ptr %13, align 8, !tbaa !5
  %13049 = getelementptr inbounds %struct.complex, ptr %13048, i32 0, i32 0
  %13050 = load float, ptr %13049, align 4, !tbaa !11
  %13051 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13052 = load float, ptr %13051, align 4, !tbaa !11
  %13053 = load ptr, ptr %13, align 8, !tbaa !5
  %13054 = getelementptr inbounds %struct.complex, ptr %13053, i32 0, i32 1
  %13055 = load float, ptr %13054, align 4, !tbaa !14
  %13056 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13057 = load float, ptr %13056, align 4, !tbaa !14
  %13058 = fmul float %13055, %13057
  %13059 = fneg float %13058
  %13060 = call float @llvm.fmuladd.f32(float %13050, float %13052, float %13059)
  %13061 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13060, ptr %13061, align 4, !tbaa !11
  %13062 = load ptr, ptr %13, align 8, !tbaa !5
  %13063 = getelementptr inbounds %struct.complex, ptr %13062, i32 0, i32 0
  %13064 = load float, ptr %13063, align 4, !tbaa !11
  %13065 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13066 = load float, ptr %13065, align 4, !tbaa !14
  %13067 = load ptr, ptr %13, align 8, !tbaa !5
  %13068 = getelementptr inbounds %struct.complex, ptr %13067, i32 0, i32 1
  %13069 = load float, ptr %13068, align 4, !tbaa !14
  %13070 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13071 = load float, ptr %13070, align 4, !tbaa !11
  %13072 = fmul float %13069, %13071
  %13073 = call float @llvm.fmuladd.f32(float %13064, float %13066, float %13072)
  %13074 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13073, ptr %13074, align 4, !tbaa !14
  %13075 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13076 = load float, ptr %13075, align 4, !tbaa !11
  %13077 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %13076, ptr %13077, align 4, !tbaa !11
  %13078 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13079 = load float, ptr %13078, align 4, !tbaa !14
  %13080 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %13079, ptr %13080, align 4, !tbaa !14
  %13081 = load ptr, ptr %10, align 8, !tbaa !5
  %13082 = load i32, ptr %13081, align 4, !tbaa !9
  store i32 %13082, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %13083

13083:                                            ; preds = %13799, %12768
  %13084 = load i32, ptr %49, align 4, !tbaa !9
  %13085 = load i32, ptr %19, align 4, !tbaa !9
  %13086 = icmp sle i32 %13084, %13085
  br i1 %13086, label %13087, label %13802

13087:                                            ; preds = %13083
  %13088 = load i32, ptr %49, align 4, !tbaa !9
  %13089 = load i32, ptr %17, align 4, !tbaa !9
  %13090 = add nsw i32 %13088, %13089
  store i32 %13090, ptr %20, align 4, !tbaa !9
  %13091 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %13092 = load float, ptr %13091, align 4, !tbaa !11
  %13093 = load ptr, ptr %14, align 8, !tbaa !5
  %13094 = load i32, ptr %20, align 4, !tbaa !9
  %13095 = sext i32 %13094 to i64
  %13096 = getelementptr inbounds %struct.complex, ptr %13093, i64 %13095
  %13097 = getelementptr inbounds %struct.complex, ptr %13096, i32 0, i32 0
  %13098 = load float, ptr %13097, align 4, !tbaa !11
  %13099 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %13100 = load float, ptr %13099, align 4, !tbaa !14
  %13101 = load ptr, ptr %14, align 8, !tbaa !5
  %13102 = load i32, ptr %20, align 4, !tbaa !9
  %13103 = sext i32 %13102 to i64
  %13104 = getelementptr inbounds %struct.complex, ptr %13101, i64 %13103
  %13105 = getelementptr inbounds %struct.complex, ptr %13104, i32 0, i32 1
  %13106 = load float, ptr %13105, align 4, !tbaa !14
  %13107 = fmul float %13100, %13106
  %13108 = fneg float %13107
  %13109 = call float @llvm.fmuladd.f32(float %13092, float %13098, float %13108)
  %13110 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %13109, ptr %13110, align 4, !tbaa !11
  %13111 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %13112 = load float, ptr %13111, align 4, !tbaa !11
  %13113 = load ptr, ptr %14, align 8, !tbaa !5
  %13114 = load i32, ptr %20, align 4, !tbaa !9
  %13115 = sext i32 %13114 to i64
  %13116 = getelementptr inbounds %struct.complex, ptr %13113, i64 %13115
  %13117 = getelementptr inbounds %struct.complex, ptr %13116, i32 0, i32 1
  %13118 = load float, ptr %13117, align 4, !tbaa !14
  %13119 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %13120 = load float, ptr %13119, align 4, !tbaa !14
  %13121 = load ptr, ptr %14, align 8, !tbaa !5
  %13122 = load i32, ptr %20, align 4, !tbaa !9
  %13123 = sext i32 %13122 to i64
  %13124 = getelementptr inbounds %struct.complex, ptr %13121, i64 %13123
  %13125 = getelementptr inbounds %struct.complex, ptr %13124, i32 0, i32 0
  %13126 = load float, ptr %13125, align 4, !tbaa !11
  %13127 = fmul float %13120, %13126
  %13128 = call float @llvm.fmuladd.f32(float %13112, float %13118, float %13127)
  %13129 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %13128, ptr %13129, align 4, !tbaa !14
  %13130 = load i32, ptr %49, align 4, !tbaa !9
  %13131 = load i32, ptr %17, align 4, !tbaa !9
  %13132 = shl i32 %13131, 1
  %13133 = add nsw i32 %13130, %13132
  store i32 %13133, ptr %21, align 4, !tbaa !9
  %13134 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %13135 = load float, ptr %13134, align 4, !tbaa !11
  %13136 = load ptr, ptr %14, align 8, !tbaa !5
  %13137 = load i32, ptr %21, align 4, !tbaa !9
  %13138 = sext i32 %13137 to i64
  %13139 = getelementptr inbounds %struct.complex, ptr %13136, i64 %13138
  %13140 = getelementptr inbounds %struct.complex, ptr %13139, i32 0, i32 0
  %13141 = load float, ptr %13140, align 4, !tbaa !11
  %13142 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %13143 = load float, ptr %13142, align 4, !tbaa !14
  %13144 = load ptr, ptr %14, align 8, !tbaa !5
  %13145 = load i32, ptr %21, align 4, !tbaa !9
  %13146 = sext i32 %13145 to i64
  %13147 = getelementptr inbounds %struct.complex, ptr %13144, i64 %13146
  %13148 = getelementptr inbounds %struct.complex, ptr %13147, i32 0, i32 1
  %13149 = load float, ptr %13148, align 4, !tbaa !14
  %13150 = fmul float %13143, %13149
  %13151 = fneg float %13150
  %13152 = call float @llvm.fmuladd.f32(float %13135, float %13141, float %13151)
  %13153 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %13152, ptr %13153, align 4, !tbaa !11
  %13154 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %13155 = load float, ptr %13154, align 4, !tbaa !11
  %13156 = load ptr, ptr %14, align 8, !tbaa !5
  %13157 = load i32, ptr %21, align 4, !tbaa !9
  %13158 = sext i32 %13157 to i64
  %13159 = getelementptr inbounds %struct.complex, ptr %13156, i64 %13158
  %13160 = getelementptr inbounds %struct.complex, ptr %13159, i32 0, i32 1
  %13161 = load float, ptr %13160, align 4, !tbaa !14
  %13162 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %13163 = load float, ptr %13162, align 4, !tbaa !14
  %13164 = load ptr, ptr %14, align 8, !tbaa !5
  %13165 = load i32, ptr %21, align 4, !tbaa !9
  %13166 = sext i32 %13165 to i64
  %13167 = getelementptr inbounds %struct.complex, ptr %13164, i64 %13166
  %13168 = getelementptr inbounds %struct.complex, ptr %13167, i32 0, i32 0
  %13169 = load float, ptr %13168, align 4, !tbaa !11
  %13170 = fmul float %13163, %13169
  %13171 = call float @llvm.fmuladd.f32(float %13155, float %13161, float %13170)
  %13172 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %13171, ptr %13172, align 4, !tbaa !14
  %13173 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %13174 = load float, ptr %13173, align 4, !tbaa !11
  %13175 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %13176 = load float, ptr %13175, align 4, !tbaa !11
  %13177 = fadd float %13174, %13176
  %13178 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %13177, ptr %13178, align 4, !tbaa !11
  %13179 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %13180 = load float, ptr %13179, align 4, !tbaa !14
  %13181 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %13182 = load float, ptr %13181, align 4, !tbaa !14
  %13183 = fadd float %13180, %13182
  %13184 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %13183, ptr %13184, align 4, !tbaa !14
  %13185 = load i32, ptr %49, align 4, !tbaa !9
  %13186 = load i32, ptr %17, align 4, !tbaa !9
  %13187 = mul nsw i32 %13186, 3
  %13188 = add nsw i32 %13185, %13187
  store i32 %13188, ptr %22, align 4, !tbaa !9
  %13189 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %13190 = load float, ptr %13189, align 4, !tbaa !11
  %13191 = load ptr, ptr %14, align 8, !tbaa !5
  %13192 = load i32, ptr %22, align 4, !tbaa !9
  %13193 = sext i32 %13192 to i64
  %13194 = getelementptr inbounds %struct.complex, ptr %13191, i64 %13193
  %13195 = getelementptr inbounds %struct.complex, ptr %13194, i32 0, i32 0
  %13196 = load float, ptr %13195, align 4, !tbaa !11
  %13197 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %13198 = load float, ptr %13197, align 4, !tbaa !14
  %13199 = load ptr, ptr %14, align 8, !tbaa !5
  %13200 = load i32, ptr %22, align 4, !tbaa !9
  %13201 = sext i32 %13200 to i64
  %13202 = getelementptr inbounds %struct.complex, ptr %13199, i64 %13201
  %13203 = getelementptr inbounds %struct.complex, ptr %13202, i32 0, i32 1
  %13204 = load float, ptr %13203, align 4, !tbaa !14
  %13205 = fmul float %13198, %13204
  %13206 = fneg float %13205
  %13207 = call float @llvm.fmuladd.f32(float %13190, float %13196, float %13206)
  %13208 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %13207, ptr %13208, align 4, !tbaa !11
  %13209 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %13210 = load float, ptr %13209, align 4, !tbaa !11
  %13211 = load ptr, ptr %14, align 8, !tbaa !5
  %13212 = load i32, ptr %22, align 4, !tbaa !9
  %13213 = sext i32 %13212 to i64
  %13214 = getelementptr inbounds %struct.complex, ptr %13211, i64 %13213
  %13215 = getelementptr inbounds %struct.complex, ptr %13214, i32 0, i32 1
  %13216 = load float, ptr %13215, align 4, !tbaa !14
  %13217 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %13218 = load float, ptr %13217, align 4, !tbaa !14
  %13219 = load ptr, ptr %14, align 8, !tbaa !5
  %13220 = load i32, ptr %22, align 4, !tbaa !9
  %13221 = sext i32 %13220 to i64
  %13222 = getelementptr inbounds %struct.complex, ptr %13219, i64 %13221
  %13223 = getelementptr inbounds %struct.complex, ptr %13222, i32 0, i32 0
  %13224 = load float, ptr %13223, align 4, !tbaa !11
  %13225 = fmul float %13218, %13224
  %13226 = call float @llvm.fmuladd.f32(float %13210, float %13216, float %13225)
  %13227 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %13226, ptr %13227, align 4, !tbaa !14
  %13228 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %13229 = load float, ptr %13228, align 4, !tbaa !11
  %13230 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %13231 = load float, ptr %13230, align 4, !tbaa !11
  %13232 = fadd float %13229, %13231
  %13233 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %13232, ptr %13233, align 4, !tbaa !11
  %13234 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %13235 = load float, ptr %13234, align 4, !tbaa !14
  %13236 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %13237 = load float, ptr %13236, align 4, !tbaa !14
  %13238 = fadd float %13235, %13237
  %13239 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %13238, ptr %13239, align 4, !tbaa !14
  %13240 = load i32, ptr %49, align 4, !tbaa !9
  %13241 = load i32, ptr %17, align 4, !tbaa !9
  %13242 = shl i32 %13241, 2
  %13243 = add nsw i32 %13240, %13242
  store i32 %13243, ptr %23, align 4, !tbaa !9
  %13244 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %13245 = load float, ptr %13244, align 4, !tbaa !11
  %13246 = load ptr, ptr %14, align 8, !tbaa !5
  %13247 = load i32, ptr %23, align 4, !tbaa !9
  %13248 = sext i32 %13247 to i64
  %13249 = getelementptr inbounds %struct.complex, ptr %13246, i64 %13248
  %13250 = getelementptr inbounds %struct.complex, ptr %13249, i32 0, i32 0
  %13251 = load float, ptr %13250, align 4, !tbaa !11
  %13252 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %13253 = load float, ptr %13252, align 4, !tbaa !14
  %13254 = load ptr, ptr %14, align 8, !tbaa !5
  %13255 = load i32, ptr %23, align 4, !tbaa !9
  %13256 = sext i32 %13255 to i64
  %13257 = getelementptr inbounds %struct.complex, ptr %13254, i64 %13256
  %13258 = getelementptr inbounds %struct.complex, ptr %13257, i32 0, i32 1
  %13259 = load float, ptr %13258, align 4, !tbaa !14
  %13260 = fmul float %13253, %13259
  %13261 = fneg float %13260
  %13262 = call float @llvm.fmuladd.f32(float %13245, float %13251, float %13261)
  %13263 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %13262, ptr %13263, align 4, !tbaa !11
  %13264 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %13265 = load float, ptr %13264, align 4, !tbaa !11
  %13266 = load ptr, ptr %14, align 8, !tbaa !5
  %13267 = load i32, ptr %23, align 4, !tbaa !9
  %13268 = sext i32 %13267 to i64
  %13269 = getelementptr inbounds %struct.complex, ptr %13266, i64 %13268
  %13270 = getelementptr inbounds %struct.complex, ptr %13269, i32 0, i32 1
  %13271 = load float, ptr %13270, align 4, !tbaa !14
  %13272 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %13273 = load float, ptr %13272, align 4, !tbaa !14
  %13274 = load ptr, ptr %14, align 8, !tbaa !5
  %13275 = load i32, ptr %23, align 4, !tbaa !9
  %13276 = sext i32 %13275 to i64
  %13277 = getelementptr inbounds %struct.complex, ptr %13274, i64 %13276
  %13278 = getelementptr inbounds %struct.complex, ptr %13277, i32 0, i32 0
  %13279 = load float, ptr %13278, align 4, !tbaa !11
  %13280 = fmul float %13273, %13279
  %13281 = call float @llvm.fmuladd.f32(float %13265, float %13271, float %13280)
  %13282 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %13281, ptr %13282, align 4, !tbaa !14
  %13283 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %13284 = load float, ptr %13283, align 4, !tbaa !11
  %13285 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %13286 = load float, ptr %13285, align 4, !tbaa !11
  %13287 = fadd float %13284, %13286
  %13288 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %13287, ptr %13288, align 4, !tbaa !11
  %13289 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %13290 = load float, ptr %13289, align 4, !tbaa !14
  %13291 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %13292 = load float, ptr %13291, align 4, !tbaa !14
  %13293 = fadd float %13290, %13292
  %13294 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %13293, ptr %13294, align 4, !tbaa !14
  %13295 = load i32, ptr %49, align 4, !tbaa !9
  %13296 = load i32, ptr %17, align 4, !tbaa !9
  %13297 = mul nsw i32 %13296, 5
  %13298 = add nsw i32 %13295, %13297
  store i32 %13298, ptr %24, align 4, !tbaa !9
  %13299 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %13300 = load float, ptr %13299, align 4, !tbaa !11
  %13301 = load ptr, ptr %14, align 8, !tbaa !5
  %13302 = load i32, ptr %24, align 4, !tbaa !9
  %13303 = sext i32 %13302 to i64
  %13304 = getelementptr inbounds %struct.complex, ptr %13301, i64 %13303
  %13305 = getelementptr inbounds %struct.complex, ptr %13304, i32 0, i32 0
  %13306 = load float, ptr %13305, align 4, !tbaa !11
  %13307 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %13308 = load float, ptr %13307, align 4, !tbaa !14
  %13309 = load ptr, ptr %14, align 8, !tbaa !5
  %13310 = load i32, ptr %24, align 4, !tbaa !9
  %13311 = sext i32 %13310 to i64
  %13312 = getelementptr inbounds %struct.complex, ptr %13309, i64 %13311
  %13313 = getelementptr inbounds %struct.complex, ptr %13312, i32 0, i32 1
  %13314 = load float, ptr %13313, align 4, !tbaa !14
  %13315 = fmul float %13308, %13314
  %13316 = fneg float %13315
  %13317 = call float @llvm.fmuladd.f32(float %13300, float %13306, float %13316)
  %13318 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %13317, ptr %13318, align 4, !tbaa !11
  %13319 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %13320 = load float, ptr %13319, align 4, !tbaa !11
  %13321 = load ptr, ptr %14, align 8, !tbaa !5
  %13322 = load i32, ptr %24, align 4, !tbaa !9
  %13323 = sext i32 %13322 to i64
  %13324 = getelementptr inbounds %struct.complex, ptr %13321, i64 %13323
  %13325 = getelementptr inbounds %struct.complex, ptr %13324, i32 0, i32 1
  %13326 = load float, ptr %13325, align 4, !tbaa !14
  %13327 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %13328 = load float, ptr %13327, align 4, !tbaa !14
  %13329 = load ptr, ptr %14, align 8, !tbaa !5
  %13330 = load i32, ptr %24, align 4, !tbaa !9
  %13331 = sext i32 %13330 to i64
  %13332 = getelementptr inbounds %struct.complex, ptr %13329, i64 %13331
  %13333 = getelementptr inbounds %struct.complex, ptr %13332, i32 0, i32 0
  %13334 = load float, ptr %13333, align 4, !tbaa !11
  %13335 = fmul float %13328, %13334
  %13336 = call float @llvm.fmuladd.f32(float %13320, float %13326, float %13335)
  %13337 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %13336, ptr %13337, align 4, !tbaa !14
  %13338 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13339 = load float, ptr %13338, align 4, !tbaa !11
  %13340 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %13341 = load float, ptr %13340, align 4, !tbaa !11
  %13342 = fadd float %13339, %13341
  %13343 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13342, ptr %13343, align 4, !tbaa !11
  %13344 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13345 = load float, ptr %13344, align 4, !tbaa !14
  %13346 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %13347 = load float, ptr %13346, align 4, !tbaa !14
  %13348 = fadd float %13345, %13347
  %13349 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13348, ptr %13349, align 4, !tbaa !14
  %13350 = load i32, ptr %49, align 4, !tbaa !9
  %13351 = load i32, ptr %17, align 4, !tbaa !9
  %13352 = mul nsw i32 %13351, 6
  %13353 = add nsw i32 %13350, %13352
  store i32 %13353, ptr %25, align 4, !tbaa !9
  %13354 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %13355 = load float, ptr %13354, align 4, !tbaa !11
  %13356 = load ptr, ptr %14, align 8, !tbaa !5
  %13357 = load i32, ptr %25, align 4, !tbaa !9
  %13358 = sext i32 %13357 to i64
  %13359 = getelementptr inbounds %struct.complex, ptr %13356, i64 %13358
  %13360 = getelementptr inbounds %struct.complex, ptr %13359, i32 0, i32 0
  %13361 = load float, ptr %13360, align 4, !tbaa !11
  %13362 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %13363 = load float, ptr %13362, align 4, !tbaa !14
  %13364 = load ptr, ptr %14, align 8, !tbaa !5
  %13365 = load i32, ptr %25, align 4, !tbaa !9
  %13366 = sext i32 %13365 to i64
  %13367 = getelementptr inbounds %struct.complex, ptr %13364, i64 %13366
  %13368 = getelementptr inbounds %struct.complex, ptr %13367, i32 0, i32 1
  %13369 = load float, ptr %13368, align 4, !tbaa !14
  %13370 = fmul float %13363, %13369
  %13371 = fneg float %13370
  %13372 = call float @llvm.fmuladd.f32(float %13355, float %13361, float %13371)
  %13373 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %13372, ptr %13373, align 4, !tbaa !11
  %13374 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %13375 = load float, ptr %13374, align 4, !tbaa !11
  %13376 = load ptr, ptr %14, align 8, !tbaa !5
  %13377 = load i32, ptr %25, align 4, !tbaa !9
  %13378 = sext i32 %13377 to i64
  %13379 = getelementptr inbounds %struct.complex, ptr %13376, i64 %13378
  %13380 = getelementptr inbounds %struct.complex, ptr %13379, i32 0, i32 1
  %13381 = load float, ptr %13380, align 4, !tbaa !14
  %13382 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %13383 = load float, ptr %13382, align 4, !tbaa !14
  %13384 = load ptr, ptr %14, align 8, !tbaa !5
  %13385 = load i32, ptr %25, align 4, !tbaa !9
  %13386 = sext i32 %13385 to i64
  %13387 = getelementptr inbounds %struct.complex, ptr %13384, i64 %13386
  %13388 = getelementptr inbounds %struct.complex, ptr %13387, i32 0, i32 0
  %13389 = load float, ptr %13388, align 4, !tbaa !11
  %13390 = fmul float %13383, %13389
  %13391 = call float @llvm.fmuladd.f32(float %13375, float %13381, float %13390)
  %13392 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %13391, ptr %13392, align 4, !tbaa !14
  %13393 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13394 = load float, ptr %13393, align 4, !tbaa !11
  %13395 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %13396 = load float, ptr %13395, align 4, !tbaa !11
  %13397 = fadd float %13394, %13396
  %13398 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13397, ptr %13398, align 4, !tbaa !11
  %13399 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13400 = load float, ptr %13399, align 4, !tbaa !14
  %13401 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %13402 = load float, ptr %13401, align 4, !tbaa !14
  %13403 = fadd float %13400, %13402
  %13404 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13403, ptr %13404, align 4, !tbaa !14
  %13405 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13406 = load float, ptr %13405, align 4, !tbaa !11
  %13407 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %13406, ptr %13407, align 4, !tbaa !11
  %13408 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13409 = load float, ptr %13408, align 4, !tbaa !14
  %13410 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %13409, ptr %13410, align 4, !tbaa !14
  %13411 = load i32, ptr %49, align 4, !tbaa !9
  %13412 = load i32, ptr %17, align 4, !tbaa !9
  %13413 = add nsw i32 %13411, %13412
  store i32 %13413, ptr %20, align 4, !tbaa !9
  %13414 = load i32, ptr %49, align 4, !tbaa !9
  %13415 = load i32, ptr %17, align 4, !tbaa !9
  %13416 = add nsw i32 %13414, %13415
  store i32 %13416, ptr %21, align 4, !tbaa !9
  %13417 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13418 = load float, ptr %13417, align 4, !tbaa !11
  %13419 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %13420 = load float, ptr %13419, align 4, !tbaa !11
  %13421 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13422 = load float, ptr %13421, align 4, !tbaa !14
  %13423 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %13424 = load float, ptr %13423, align 4, !tbaa !14
  %13425 = fmul float %13422, %13424
  %13426 = fneg float %13425
  %13427 = call float @llvm.fmuladd.f32(float %13418, float %13420, float %13426)
  %13428 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13427, ptr %13428, align 4, !tbaa !11
  %13429 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13430 = load float, ptr %13429, align 4, !tbaa !11
  %13431 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %13432 = load float, ptr %13431, align 4, !tbaa !14
  %13433 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13434 = load float, ptr %13433, align 4, !tbaa !14
  %13435 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %13436 = load float, ptr %13435, align 4, !tbaa !11
  %13437 = fmul float %13434, %13436
  %13438 = call float @llvm.fmuladd.f32(float %13430, float %13432, float %13437)
  %13439 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13438, ptr %13439, align 4, !tbaa !14
  %13440 = load ptr, ptr %14, align 8, !tbaa !5
  %13441 = load i32, ptr %21, align 4, !tbaa !9
  %13442 = sext i32 %13441 to i64
  %13443 = getelementptr inbounds %struct.complex, ptr %13440, i64 %13442
  %13444 = getelementptr inbounds %struct.complex, ptr %13443, i32 0, i32 0
  %13445 = load float, ptr %13444, align 4, !tbaa !11
  %13446 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13447 = load float, ptr %13446, align 4, !tbaa !11
  %13448 = fsub float %13445, %13447
  %13449 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13448, ptr %13449, align 4, !tbaa !11
  %13450 = load ptr, ptr %14, align 8, !tbaa !5
  %13451 = load i32, ptr %21, align 4, !tbaa !9
  %13452 = sext i32 %13451 to i64
  %13453 = getelementptr inbounds %struct.complex, ptr %13450, i64 %13452
  %13454 = getelementptr inbounds %struct.complex, ptr %13453, i32 0, i32 1
  %13455 = load float, ptr %13454, align 4, !tbaa !14
  %13456 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13457 = load float, ptr %13456, align 4, !tbaa !14
  %13458 = fsub float %13455, %13457
  %13459 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13458, ptr %13459, align 4, !tbaa !14
  %13460 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13461 = load float, ptr %13460, align 4, !tbaa !11
  %13462 = load ptr, ptr %14, align 8, !tbaa !5
  %13463 = load i32, ptr %20, align 4, !tbaa !9
  %13464 = sext i32 %13463 to i64
  %13465 = getelementptr inbounds %struct.complex, ptr %13462, i64 %13464
  %13466 = getelementptr inbounds %struct.complex, ptr %13465, i32 0, i32 0
  store float %13461, ptr %13466, align 4, !tbaa !11
  %13467 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13468 = load float, ptr %13467, align 4, !tbaa !14
  %13469 = load ptr, ptr %14, align 8, !tbaa !5
  %13470 = load i32, ptr %20, align 4, !tbaa !9
  %13471 = sext i32 %13470 to i64
  %13472 = getelementptr inbounds %struct.complex, ptr %13469, i64 %13471
  %13473 = getelementptr inbounds %struct.complex, ptr %13472, i32 0, i32 1
  store float %13468, ptr %13473, align 4, !tbaa !14
  %13474 = load i32, ptr %49, align 4, !tbaa !9
  %13475 = load i32, ptr %17, align 4, !tbaa !9
  %13476 = shl i32 %13475, 1
  %13477 = add nsw i32 %13474, %13476
  store i32 %13477, ptr %20, align 4, !tbaa !9
  %13478 = load i32, ptr %49, align 4, !tbaa !9
  %13479 = load i32, ptr %17, align 4, !tbaa !9
  %13480 = shl i32 %13479, 1
  %13481 = add nsw i32 %13478, %13480
  store i32 %13481, ptr %21, align 4, !tbaa !9
  %13482 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13483 = load float, ptr %13482, align 4, !tbaa !11
  %13484 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %13485 = load float, ptr %13484, align 4, !tbaa !11
  %13486 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13487 = load float, ptr %13486, align 4, !tbaa !14
  %13488 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %13489 = load float, ptr %13488, align 4, !tbaa !14
  %13490 = fmul float %13487, %13489
  %13491 = fneg float %13490
  %13492 = call float @llvm.fmuladd.f32(float %13483, float %13485, float %13491)
  %13493 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13492, ptr %13493, align 4, !tbaa !11
  %13494 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13495 = load float, ptr %13494, align 4, !tbaa !11
  %13496 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %13497 = load float, ptr %13496, align 4, !tbaa !14
  %13498 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13499 = load float, ptr %13498, align 4, !tbaa !14
  %13500 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %13501 = load float, ptr %13500, align 4, !tbaa !11
  %13502 = fmul float %13499, %13501
  %13503 = call float @llvm.fmuladd.f32(float %13495, float %13497, float %13502)
  %13504 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13503, ptr %13504, align 4, !tbaa !14
  %13505 = load ptr, ptr %14, align 8, !tbaa !5
  %13506 = load i32, ptr %21, align 4, !tbaa !9
  %13507 = sext i32 %13506 to i64
  %13508 = getelementptr inbounds %struct.complex, ptr %13505, i64 %13507
  %13509 = getelementptr inbounds %struct.complex, ptr %13508, i32 0, i32 0
  %13510 = load float, ptr %13509, align 4, !tbaa !11
  %13511 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13512 = load float, ptr %13511, align 4, !tbaa !11
  %13513 = fsub float %13510, %13512
  %13514 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13513, ptr %13514, align 4, !tbaa !11
  %13515 = load ptr, ptr %14, align 8, !tbaa !5
  %13516 = load i32, ptr %21, align 4, !tbaa !9
  %13517 = sext i32 %13516 to i64
  %13518 = getelementptr inbounds %struct.complex, ptr %13515, i64 %13517
  %13519 = getelementptr inbounds %struct.complex, ptr %13518, i32 0, i32 1
  %13520 = load float, ptr %13519, align 4, !tbaa !14
  %13521 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13522 = load float, ptr %13521, align 4, !tbaa !14
  %13523 = fsub float %13520, %13522
  %13524 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13523, ptr %13524, align 4, !tbaa !14
  %13525 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13526 = load float, ptr %13525, align 4, !tbaa !11
  %13527 = load ptr, ptr %14, align 8, !tbaa !5
  %13528 = load i32, ptr %20, align 4, !tbaa !9
  %13529 = sext i32 %13528 to i64
  %13530 = getelementptr inbounds %struct.complex, ptr %13527, i64 %13529
  %13531 = getelementptr inbounds %struct.complex, ptr %13530, i32 0, i32 0
  store float %13526, ptr %13531, align 4, !tbaa !11
  %13532 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13533 = load float, ptr %13532, align 4, !tbaa !14
  %13534 = load ptr, ptr %14, align 8, !tbaa !5
  %13535 = load i32, ptr %20, align 4, !tbaa !9
  %13536 = sext i32 %13535 to i64
  %13537 = getelementptr inbounds %struct.complex, ptr %13534, i64 %13536
  %13538 = getelementptr inbounds %struct.complex, ptr %13537, i32 0, i32 1
  store float %13533, ptr %13538, align 4, !tbaa !14
  %13539 = load i32, ptr %49, align 4, !tbaa !9
  %13540 = load i32, ptr %17, align 4, !tbaa !9
  %13541 = mul nsw i32 %13540, 3
  %13542 = add nsw i32 %13539, %13541
  store i32 %13542, ptr %20, align 4, !tbaa !9
  %13543 = load i32, ptr %49, align 4, !tbaa !9
  %13544 = load i32, ptr %17, align 4, !tbaa !9
  %13545 = mul nsw i32 %13544, 3
  %13546 = add nsw i32 %13543, %13545
  store i32 %13546, ptr %21, align 4, !tbaa !9
  %13547 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13548 = load float, ptr %13547, align 4, !tbaa !11
  %13549 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %13550 = load float, ptr %13549, align 4, !tbaa !11
  %13551 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13552 = load float, ptr %13551, align 4, !tbaa !14
  %13553 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %13554 = load float, ptr %13553, align 4, !tbaa !14
  %13555 = fmul float %13552, %13554
  %13556 = fneg float %13555
  %13557 = call float @llvm.fmuladd.f32(float %13548, float %13550, float %13556)
  %13558 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13557, ptr %13558, align 4, !tbaa !11
  %13559 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13560 = load float, ptr %13559, align 4, !tbaa !11
  %13561 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %13562 = load float, ptr %13561, align 4, !tbaa !14
  %13563 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13564 = load float, ptr %13563, align 4, !tbaa !14
  %13565 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %13566 = load float, ptr %13565, align 4, !tbaa !11
  %13567 = fmul float %13564, %13566
  %13568 = call float @llvm.fmuladd.f32(float %13560, float %13562, float %13567)
  %13569 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13568, ptr %13569, align 4, !tbaa !14
  %13570 = load ptr, ptr %14, align 8, !tbaa !5
  %13571 = load i32, ptr %21, align 4, !tbaa !9
  %13572 = sext i32 %13571 to i64
  %13573 = getelementptr inbounds %struct.complex, ptr %13570, i64 %13572
  %13574 = getelementptr inbounds %struct.complex, ptr %13573, i32 0, i32 0
  %13575 = load float, ptr %13574, align 4, !tbaa !11
  %13576 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13577 = load float, ptr %13576, align 4, !tbaa !11
  %13578 = fsub float %13575, %13577
  %13579 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13578, ptr %13579, align 4, !tbaa !11
  %13580 = load ptr, ptr %14, align 8, !tbaa !5
  %13581 = load i32, ptr %21, align 4, !tbaa !9
  %13582 = sext i32 %13581 to i64
  %13583 = getelementptr inbounds %struct.complex, ptr %13580, i64 %13582
  %13584 = getelementptr inbounds %struct.complex, ptr %13583, i32 0, i32 1
  %13585 = load float, ptr %13584, align 4, !tbaa !14
  %13586 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13587 = load float, ptr %13586, align 4, !tbaa !14
  %13588 = fsub float %13585, %13587
  %13589 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13588, ptr %13589, align 4, !tbaa !14
  %13590 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13591 = load float, ptr %13590, align 4, !tbaa !11
  %13592 = load ptr, ptr %14, align 8, !tbaa !5
  %13593 = load i32, ptr %20, align 4, !tbaa !9
  %13594 = sext i32 %13593 to i64
  %13595 = getelementptr inbounds %struct.complex, ptr %13592, i64 %13594
  %13596 = getelementptr inbounds %struct.complex, ptr %13595, i32 0, i32 0
  store float %13591, ptr %13596, align 4, !tbaa !11
  %13597 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13598 = load float, ptr %13597, align 4, !tbaa !14
  %13599 = load ptr, ptr %14, align 8, !tbaa !5
  %13600 = load i32, ptr %20, align 4, !tbaa !9
  %13601 = sext i32 %13600 to i64
  %13602 = getelementptr inbounds %struct.complex, ptr %13599, i64 %13601
  %13603 = getelementptr inbounds %struct.complex, ptr %13602, i32 0, i32 1
  store float %13598, ptr %13603, align 4, !tbaa !14
  %13604 = load i32, ptr %49, align 4, !tbaa !9
  %13605 = load i32, ptr %17, align 4, !tbaa !9
  %13606 = shl i32 %13605, 2
  %13607 = add nsw i32 %13604, %13606
  store i32 %13607, ptr %20, align 4, !tbaa !9
  %13608 = load i32, ptr %49, align 4, !tbaa !9
  %13609 = load i32, ptr %17, align 4, !tbaa !9
  %13610 = shl i32 %13609, 2
  %13611 = add nsw i32 %13608, %13610
  store i32 %13611, ptr %21, align 4, !tbaa !9
  %13612 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13613 = load float, ptr %13612, align 4, !tbaa !11
  %13614 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %13615 = load float, ptr %13614, align 4, !tbaa !11
  %13616 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13617 = load float, ptr %13616, align 4, !tbaa !14
  %13618 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %13619 = load float, ptr %13618, align 4, !tbaa !14
  %13620 = fmul float %13617, %13619
  %13621 = fneg float %13620
  %13622 = call float @llvm.fmuladd.f32(float %13613, float %13615, float %13621)
  %13623 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13622, ptr %13623, align 4, !tbaa !11
  %13624 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13625 = load float, ptr %13624, align 4, !tbaa !11
  %13626 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %13627 = load float, ptr %13626, align 4, !tbaa !14
  %13628 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13629 = load float, ptr %13628, align 4, !tbaa !14
  %13630 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %13631 = load float, ptr %13630, align 4, !tbaa !11
  %13632 = fmul float %13629, %13631
  %13633 = call float @llvm.fmuladd.f32(float %13625, float %13627, float %13632)
  %13634 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13633, ptr %13634, align 4, !tbaa !14
  %13635 = load ptr, ptr %14, align 8, !tbaa !5
  %13636 = load i32, ptr %21, align 4, !tbaa !9
  %13637 = sext i32 %13636 to i64
  %13638 = getelementptr inbounds %struct.complex, ptr %13635, i64 %13637
  %13639 = getelementptr inbounds %struct.complex, ptr %13638, i32 0, i32 0
  %13640 = load float, ptr %13639, align 4, !tbaa !11
  %13641 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13642 = load float, ptr %13641, align 4, !tbaa !11
  %13643 = fsub float %13640, %13642
  %13644 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13643, ptr %13644, align 4, !tbaa !11
  %13645 = load ptr, ptr %14, align 8, !tbaa !5
  %13646 = load i32, ptr %21, align 4, !tbaa !9
  %13647 = sext i32 %13646 to i64
  %13648 = getelementptr inbounds %struct.complex, ptr %13645, i64 %13647
  %13649 = getelementptr inbounds %struct.complex, ptr %13648, i32 0, i32 1
  %13650 = load float, ptr %13649, align 4, !tbaa !14
  %13651 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13652 = load float, ptr %13651, align 4, !tbaa !14
  %13653 = fsub float %13650, %13652
  %13654 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13653, ptr %13654, align 4, !tbaa !14
  %13655 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13656 = load float, ptr %13655, align 4, !tbaa !11
  %13657 = load ptr, ptr %14, align 8, !tbaa !5
  %13658 = load i32, ptr %20, align 4, !tbaa !9
  %13659 = sext i32 %13658 to i64
  %13660 = getelementptr inbounds %struct.complex, ptr %13657, i64 %13659
  %13661 = getelementptr inbounds %struct.complex, ptr %13660, i32 0, i32 0
  store float %13656, ptr %13661, align 4, !tbaa !11
  %13662 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13663 = load float, ptr %13662, align 4, !tbaa !14
  %13664 = load ptr, ptr %14, align 8, !tbaa !5
  %13665 = load i32, ptr %20, align 4, !tbaa !9
  %13666 = sext i32 %13665 to i64
  %13667 = getelementptr inbounds %struct.complex, ptr %13664, i64 %13666
  %13668 = getelementptr inbounds %struct.complex, ptr %13667, i32 0, i32 1
  store float %13663, ptr %13668, align 4, !tbaa !14
  %13669 = load i32, ptr %49, align 4, !tbaa !9
  %13670 = load i32, ptr %17, align 4, !tbaa !9
  %13671 = mul nsw i32 %13670, 5
  %13672 = add nsw i32 %13669, %13671
  store i32 %13672, ptr %20, align 4, !tbaa !9
  %13673 = load i32, ptr %49, align 4, !tbaa !9
  %13674 = load i32, ptr %17, align 4, !tbaa !9
  %13675 = mul nsw i32 %13674, 5
  %13676 = add nsw i32 %13673, %13675
  store i32 %13676, ptr %21, align 4, !tbaa !9
  %13677 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13678 = load float, ptr %13677, align 4, !tbaa !11
  %13679 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %13680 = load float, ptr %13679, align 4, !tbaa !11
  %13681 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13682 = load float, ptr %13681, align 4, !tbaa !14
  %13683 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %13684 = load float, ptr %13683, align 4, !tbaa !14
  %13685 = fmul float %13682, %13684
  %13686 = fneg float %13685
  %13687 = call float @llvm.fmuladd.f32(float %13678, float %13680, float %13686)
  %13688 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13687, ptr %13688, align 4, !tbaa !11
  %13689 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13690 = load float, ptr %13689, align 4, !tbaa !11
  %13691 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %13692 = load float, ptr %13691, align 4, !tbaa !14
  %13693 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13694 = load float, ptr %13693, align 4, !tbaa !14
  %13695 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %13696 = load float, ptr %13695, align 4, !tbaa !11
  %13697 = fmul float %13694, %13696
  %13698 = call float @llvm.fmuladd.f32(float %13690, float %13692, float %13697)
  %13699 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13698, ptr %13699, align 4, !tbaa !14
  %13700 = load ptr, ptr %14, align 8, !tbaa !5
  %13701 = load i32, ptr %21, align 4, !tbaa !9
  %13702 = sext i32 %13701 to i64
  %13703 = getelementptr inbounds %struct.complex, ptr %13700, i64 %13702
  %13704 = getelementptr inbounds %struct.complex, ptr %13703, i32 0, i32 0
  %13705 = load float, ptr %13704, align 4, !tbaa !11
  %13706 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13707 = load float, ptr %13706, align 4, !tbaa !11
  %13708 = fsub float %13705, %13707
  %13709 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13708, ptr %13709, align 4, !tbaa !11
  %13710 = load ptr, ptr %14, align 8, !tbaa !5
  %13711 = load i32, ptr %21, align 4, !tbaa !9
  %13712 = sext i32 %13711 to i64
  %13713 = getelementptr inbounds %struct.complex, ptr %13710, i64 %13712
  %13714 = getelementptr inbounds %struct.complex, ptr %13713, i32 0, i32 1
  %13715 = load float, ptr %13714, align 4, !tbaa !14
  %13716 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13717 = load float, ptr %13716, align 4, !tbaa !14
  %13718 = fsub float %13715, %13717
  %13719 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13718, ptr %13719, align 4, !tbaa !14
  %13720 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13721 = load float, ptr %13720, align 4, !tbaa !11
  %13722 = load ptr, ptr %14, align 8, !tbaa !5
  %13723 = load i32, ptr %20, align 4, !tbaa !9
  %13724 = sext i32 %13723 to i64
  %13725 = getelementptr inbounds %struct.complex, ptr %13722, i64 %13724
  %13726 = getelementptr inbounds %struct.complex, ptr %13725, i32 0, i32 0
  store float %13721, ptr %13726, align 4, !tbaa !11
  %13727 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13728 = load float, ptr %13727, align 4, !tbaa !14
  %13729 = load ptr, ptr %14, align 8, !tbaa !5
  %13730 = load i32, ptr %20, align 4, !tbaa !9
  %13731 = sext i32 %13730 to i64
  %13732 = getelementptr inbounds %struct.complex, ptr %13729, i64 %13731
  %13733 = getelementptr inbounds %struct.complex, ptr %13732, i32 0, i32 1
  store float %13728, ptr %13733, align 4, !tbaa !14
  %13734 = load i32, ptr %49, align 4, !tbaa !9
  %13735 = load i32, ptr %17, align 4, !tbaa !9
  %13736 = mul nsw i32 %13735, 6
  %13737 = add nsw i32 %13734, %13736
  store i32 %13737, ptr %20, align 4, !tbaa !9
  %13738 = load i32, ptr %49, align 4, !tbaa !9
  %13739 = load i32, ptr %17, align 4, !tbaa !9
  %13740 = mul nsw i32 %13739, 6
  %13741 = add nsw i32 %13738, %13740
  store i32 %13741, ptr %21, align 4, !tbaa !9
  %13742 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13743 = load float, ptr %13742, align 4, !tbaa !11
  %13744 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %13745 = load float, ptr %13744, align 4, !tbaa !11
  %13746 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13747 = load float, ptr %13746, align 4, !tbaa !14
  %13748 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %13749 = load float, ptr %13748, align 4, !tbaa !14
  %13750 = fmul float %13747, %13749
  %13751 = fneg float %13750
  %13752 = call float @llvm.fmuladd.f32(float %13743, float %13745, float %13751)
  %13753 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13752, ptr %13753, align 4, !tbaa !11
  %13754 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %13755 = load float, ptr %13754, align 4, !tbaa !11
  %13756 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %13757 = load float, ptr %13756, align 4, !tbaa !14
  %13758 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %13759 = load float, ptr %13758, align 4, !tbaa !14
  %13760 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %13761 = load float, ptr %13760, align 4, !tbaa !11
  %13762 = fmul float %13759, %13761
  %13763 = call float @llvm.fmuladd.f32(float %13755, float %13757, float %13762)
  %13764 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13763, ptr %13764, align 4, !tbaa !14
  %13765 = load ptr, ptr %14, align 8, !tbaa !5
  %13766 = load i32, ptr %21, align 4, !tbaa !9
  %13767 = sext i32 %13766 to i64
  %13768 = getelementptr inbounds %struct.complex, ptr %13765, i64 %13767
  %13769 = getelementptr inbounds %struct.complex, ptr %13768, i32 0, i32 0
  %13770 = load float, ptr %13769, align 4, !tbaa !11
  %13771 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13772 = load float, ptr %13771, align 4, !tbaa !11
  %13773 = fsub float %13770, %13772
  %13774 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13773, ptr %13774, align 4, !tbaa !11
  %13775 = load ptr, ptr %14, align 8, !tbaa !5
  %13776 = load i32, ptr %21, align 4, !tbaa !9
  %13777 = sext i32 %13776 to i64
  %13778 = getelementptr inbounds %struct.complex, ptr %13775, i64 %13777
  %13779 = getelementptr inbounds %struct.complex, ptr %13778, i32 0, i32 1
  %13780 = load float, ptr %13779, align 4, !tbaa !14
  %13781 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13782 = load float, ptr %13781, align 4, !tbaa !14
  %13783 = fsub float %13780, %13782
  %13784 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13783, ptr %13784, align 4, !tbaa !14
  %13785 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13786 = load float, ptr %13785, align 4, !tbaa !11
  %13787 = load ptr, ptr %14, align 8, !tbaa !5
  %13788 = load i32, ptr %20, align 4, !tbaa !9
  %13789 = sext i32 %13788 to i64
  %13790 = getelementptr inbounds %struct.complex, ptr %13787, i64 %13789
  %13791 = getelementptr inbounds %struct.complex, ptr %13790, i32 0, i32 0
  store float %13786, ptr %13791, align 4, !tbaa !11
  %13792 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13793 = load float, ptr %13792, align 4, !tbaa !14
  %13794 = load ptr, ptr %14, align 8, !tbaa !5
  %13795 = load i32, ptr %20, align 4, !tbaa !9
  %13796 = sext i32 %13795 to i64
  %13797 = getelementptr inbounds %struct.complex, ptr %13794, i64 %13796
  %13798 = getelementptr inbounds %struct.complex, ptr %13797, i32 0, i32 1
  store float %13793, ptr %13798, align 4, !tbaa !14
  br label %13799

13799:                                            ; preds = %13087
  %13800 = load i32, ptr %49, align 4, !tbaa !9
  %13801 = add nsw i32 %13800, 1
  store i32 %13801, ptr %49, align 4, !tbaa !9
  br label %13083, !llvm.loop !31

13802:                                            ; preds = %13083
  br label %19663

13803:                                            ; preds = %10176
  %13804 = load ptr, ptr %12, align 8, !tbaa !5
  %13805 = getelementptr inbounds %struct.complex, ptr %13804, i64 1
  %13806 = getelementptr inbounds %struct.complex, ptr %13805, i32 0, i32 0
  %13807 = load float, ptr %13806, align 4, !tbaa !11
  %13808 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %13807, ptr %13808, align 4, !tbaa !11
  %13809 = load ptr, ptr %12, align 8, !tbaa !5
  %13810 = getelementptr inbounds %struct.complex, ptr %13809, i64 1
  %13811 = getelementptr inbounds %struct.complex, ptr %13810, i32 0, i32 1
  %13812 = load float, ptr %13811, align 4, !tbaa !14
  %13813 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %13812, ptr %13813, align 4, !tbaa !14
  %13814 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %13814, ptr %202, align 4
  %13815 = getelementptr inbounds { float, float }, ptr %202, i32 0, i32 0
  %13816 = load float, ptr %13815, align 4
  %13817 = getelementptr inbounds { float, float }, ptr %202, i32 0, i32 1
  %13818 = load float, ptr %13817, align 4
  %13819 = fneg float %13818
  %13820 = call ptr @_pCf(ptr noundef %31)
  %13821 = getelementptr inbounds { float, float }, ptr %13820, i32 0, i32 0
  %13822 = getelementptr inbounds { float, float }, ptr %13820, i32 0, i32 1
  store float %13816, ptr %13821, align 4
  store float %13819, ptr %13822, align 4
  %13823 = load ptr, ptr %13, align 8, !tbaa !5
  %13824 = getelementptr inbounds %struct.complex, ptr %13823, i32 0, i32 0
  %13825 = load float, ptr %13824, align 4, !tbaa !11
  %13826 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13827 = load float, ptr %13826, align 4, !tbaa !11
  %13828 = load ptr, ptr %13, align 8, !tbaa !5
  %13829 = getelementptr inbounds %struct.complex, ptr %13828, i32 0, i32 1
  %13830 = load float, ptr %13829, align 4, !tbaa !14
  %13831 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13832 = load float, ptr %13831, align 4, !tbaa !14
  %13833 = fmul float %13830, %13832
  %13834 = fneg float %13833
  %13835 = call float @llvm.fmuladd.f32(float %13825, float %13827, float %13834)
  %13836 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13835, ptr %13836, align 4, !tbaa !11
  %13837 = load ptr, ptr %13, align 8, !tbaa !5
  %13838 = getelementptr inbounds %struct.complex, ptr %13837, i32 0, i32 0
  %13839 = load float, ptr %13838, align 4, !tbaa !11
  %13840 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13841 = load float, ptr %13840, align 4, !tbaa !14
  %13842 = load ptr, ptr %13, align 8, !tbaa !5
  %13843 = getelementptr inbounds %struct.complex, ptr %13842, i32 0, i32 1
  %13844 = load float, ptr %13843, align 4, !tbaa !14
  %13845 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13846 = load float, ptr %13845, align 4, !tbaa !11
  %13847 = fmul float %13844, %13846
  %13848 = call float @llvm.fmuladd.f32(float %13839, float %13841, float %13847)
  %13849 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13848, ptr %13849, align 4, !tbaa !14
  %13850 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13851 = load float, ptr %13850, align 4, !tbaa !11
  %13852 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %13851, ptr %13852, align 4, !tbaa !11
  %13853 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13854 = load float, ptr %13853, align 4, !tbaa !14
  %13855 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %13854, ptr %13855, align 4, !tbaa !14
  %13856 = load ptr, ptr %12, align 8, !tbaa !5
  %13857 = getelementptr inbounds %struct.complex, ptr %13856, i64 2
  %13858 = getelementptr inbounds %struct.complex, ptr %13857, i32 0, i32 0
  %13859 = load float, ptr %13858, align 4, !tbaa !11
  %13860 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %13859, ptr %13860, align 4, !tbaa !11
  %13861 = load ptr, ptr %12, align 8, !tbaa !5
  %13862 = getelementptr inbounds %struct.complex, ptr %13861, i64 2
  %13863 = getelementptr inbounds %struct.complex, ptr %13862, i32 0, i32 1
  %13864 = load float, ptr %13863, align 4, !tbaa !14
  %13865 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %13864, ptr %13865, align 4, !tbaa !14
  %13866 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %13866, ptr %203, align 4
  %13867 = getelementptr inbounds { float, float }, ptr %203, i32 0, i32 0
  %13868 = load float, ptr %13867, align 4
  %13869 = getelementptr inbounds { float, float }, ptr %203, i32 0, i32 1
  %13870 = load float, ptr %13869, align 4
  %13871 = fneg float %13870
  %13872 = call ptr @_pCf(ptr noundef %31)
  %13873 = getelementptr inbounds { float, float }, ptr %13872, i32 0, i32 0
  %13874 = getelementptr inbounds { float, float }, ptr %13872, i32 0, i32 1
  store float %13868, ptr %13873, align 4
  store float %13871, ptr %13874, align 4
  %13875 = load ptr, ptr %13, align 8, !tbaa !5
  %13876 = getelementptr inbounds %struct.complex, ptr %13875, i32 0, i32 0
  %13877 = load float, ptr %13876, align 4, !tbaa !11
  %13878 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13879 = load float, ptr %13878, align 4, !tbaa !11
  %13880 = load ptr, ptr %13, align 8, !tbaa !5
  %13881 = getelementptr inbounds %struct.complex, ptr %13880, i32 0, i32 1
  %13882 = load float, ptr %13881, align 4, !tbaa !14
  %13883 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13884 = load float, ptr %13883, align 4, !tbaa !14
  %13885 = fmul float %13882, %13884
  %13886 = fneg float %13885
  %13887 = call float @llvm.fmuladd.f32(float %13877, float %13879, float %13886)
  %13888 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13887, ptr %13888, align 4, !tbaa !11
  %13889 = load ptr, ptr %13, align 8, !tbaa !5
  %13890 = getelementptr inbounds %struct.complex, ptr %13889, i32 0, i32 0
  %13891 = load float, ptr %13890, align 4, !tbaa !11
  %13892 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13893 = load float, ptr %13892, align 4, !tbaa !14
  %13894 = load ptr, ptr %13, align 8, !tbaa !5
  %13895 = getelementptr inbounds %struct.complex, ptr %13894, i32 0, i32 1
  %13896 = load float, ptr %13895, align 4, !tbaa !14
  %13897 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13898 = load float, ptr %13897, align 4, !tbaa !11
  %13899 = fmul float %13896, %13898
  %13900 = call float @llvm.fmuladd.f32(float %13891, float %13893, float %13899)
  %13901 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13900, ptr %13901, align 4, !tbaa !14
  %13902 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13903 = load float, ptr %13902, align 4, !tbaa !11
  %13904 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %13903, ptr %13904, align 4, !tbaa !11
  %13905 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13906 = load float, ptr %13905, align 4, !tbaa !14
  %13907 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %13906, ptr %13907, align 4, !tbaa !14
  %13908 = load ptr, ptr %12, align 8, !tbaa !5
  %13909 = getelementptr inbounds %struct.complex, ptr %13908, i64 3
  %13910 = getelementptr inbounds %struct.complex, ptr %13909, i32 0, i32 0
  %13911 = load float, ptr %13910, align 4, !tbaa !11
  %13912 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %13911, ptr %13912, align 4, !tbaa !11
  %13913 = load ptr, ptr %12, align 8, !tbaa !5
  %13914 = getelementptr inbounds %struct.complex, ptr %13913, i64 3
  %13915 = getelementptr inbounds %struct.complex, ptr %13914, i32 0, i32 1
  %13916 = load float, ptr %13915, align 4, !tbaa !14
  %13917 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %13916, ptr %13917, align 4, !tbaa !14
  %13918 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %13918, ptr %204, align 4
  %13919 = getelementptr inbounds { float, float }, ptr %204, i32 0, i32 0
  %13920 = load float, ptr %13919, align 4
  %13921 = getelementptr inbounds { float, float }, ptr %204, i32 0, i32 1
  %13922 = load float, ptr %13921, align 4
  %13923 = fneg float %13922
  %13924 = call ptr @_pCf(ptr noundef %31)
  %13925 = getelementptr inbounds { float, float }, ptr %13924, i32 0, i32 0
  %13926 = getelementptr inbounds { float, float }, ptr %13924, i32 0, i32 1
  store float %13920, ptr %13925, align 4
  store float %13923, ptr %13926, align 4
  %13927 = load ptr, ptr %13, align 8, !tbaa !5
  %13928 = getelementptr inbounds %struct.complex, ptr %13927, i32 0, i32 0
  %13929 = load float, ptr %13928, align 4, !tbaa !11
  %13930 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13931 = load float, ptr %13930, align 4, !tbaa !11
  %13932 = load ptr, ptr %13, align 8, !tbaa !5
  %13933 = getelementptr inbounds %struct.complex, ptr %13932, i32 0, i32 1
  %13934 = load float, ptr %13933, align 4, !tbaa !14
  %13935 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13936 = load float, ptr %13935, align 4, !tbaa !14
  %13937 = fmul float %13934, %13936
  %13938 = fneg float %13937
  %13939 = call float @llvm.fmuladd.f32(float %13929, float %13931, float %13938)
  %13940 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13939, ptr %13940, align 4, !tbaa !11
  %13941 = load ptr, ptr %13, align 8, !tbaa !5
  %13942 = getelementptr inbounds %struct.complex, ptr %13941, i32 0, i32 0
  %13943 = load float, ptr %13942, align 4, !tbaa !11
  %13944 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13945 = load float, ptr %13944, align 4, !tbaa !14
  %13946 = load ptr, ptr %13, align 8, !tbaa !5
  %13947 = getelementptr inbounds %struct.complex, ptr %13946, i32 0, i32 1
  %13948 = load float, ptr %13947, align 4, !tbaa !14
  %13949 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13950 = load float, ptr %13949, align 4, !tbaa !11
  %13951 = fmul float %13948, %13950
  %13952 = call float @llvm.fmuladd.f32(float %13943, float %13945, float %13951)
  %13953 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %13952, ptr %13953, align 4, !tbaa !14
  %13954 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %13955 = load float, ptr %13954, align 4, !tbaa !11
  %13956 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %13955, ptr %13956, align 4, !tbaa !11
  %13957 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %13958 = load float, ptr %13957, align 4, !tbaa !14
  %13959 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %13958, ptr %13959, align 4, !tbaa !14
  %13960 = load ptr, ptr %12, align 8, !tbaa !5
  %13961 = getelementptr inbounds %struct.complex, ptr %13960, i64 4
  %13962 = getelementptr inbounds %struct.complex, ptr %13961, i32 0, i32 0
  %13963 = load float, ptr %13962, align 4, !tbaa !11
  %13964 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %13963, ptr %13964, align 4, !tbaa !11
  %13965 = load ptr, ptr %12, align 8, !tbaa !5
  %13966 = getelementptr inbounds %struct.complex, ptr %13965, i64 4
  %13967 = getelementptr inbounds %struct.complex, ptr %13966, i32 0, i32 1
  %13968 = load float, ptr %13967, align 4, !tbaa !14
  %13969 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %13968, ptr %13969, align 4, !tbaa !14
  %13970 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %13970, ptr %205, align 4
  %13971 = getelementptr inbounds { float, float }, ptr %205, i32 0, i32 0
  %13972 = load float, ptr %13971, align 4
  %13973 = getelementptr inbounds { float, float }, ptr %205, i32 0, i32 1
  %13974 = load float, ptr %13973, align 4
  %13975 = fneg float %13974
  %13976 = call ptr @_pCf(ptr noundef %31)
  %13977 = getelementptr inbounds { float, float }, ptr %13976, i32 0, i32 0
  %13978 = getelementptr inbounds { float, float }, ptr %13976, i32 0, i32 1
  store float %13972, ptr %13977, align 4
  store float %13975, ptr %13978, align 4
  %13979 = load ptr, ptr %13, align 8, !tbaa !5
  %13980 = getelementptr inbounds %struct.complex, ptr %13979, i32 0, i32 0
  %13981 = load float, ptr %13980, align 4, !tbaa !11
  %13982 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13983 = load float, ptr %13982, align 4, !tbaa !11
  %13984 = load ptr, ptr %13, align 8, !tbaa !5
  %13985 = getelementptr inbounds %struct.complex, ptr %13984, i32 0, i32 1
  %13986 = load float, ptr %13985, align 4, !tbaa !14
  %13987 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13988 = load float, ptr %13987, align 4, !tbaa !14
  %13989 = fmul float %13986, %13988
  %13990 = fneg float %13989
  %13991 = call float @llvm.fmuladd.f32(float %13981, float %13983, float %13990)
  %13992 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %13991, ptr %13992, align 4, !tbaa !11
  %13993 = load ptr, ptr %13, align 8, !tbaa !5
  %13994 = getelementptr inbounds %struct.complex, ptr %13993, i32 0, i32 0
  %13995 = load float, ptr %13994, align 4, !tbaa !11
  %13996 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13997 = load float, ptr %13996, align 4, !tbaa !14
  %13998 = load ptr, ptr %13, align 8, !tbaa !5
  %13999 = getelementptr inbounds %struct.complex, ptr %13998, i32 0, i32 1
  %14000 = load float, ptr %13999, align 4, !tbaa !14
  %14001 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14002 = load float, ptr %14001, align 4, !tbaa !11
  %14003 = fmul float %14000, %14002
  %14004 = call float @llvm.fmuladd.f32(float %13995, float %13997, float %14003)
  %14005 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14004, ptr %14005, align 4, !tbaa !14
  %14006 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14007 = load float, ptr %14006, align 4, !tbaa !11
  %14008 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %14007, ptr %14008, align 4, !tbaa !11
  %14009 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14010 = load float, ptr %14009, align 4, !tbaa !14
  %14011 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %14010, ptr %14011, align 4, !tbaa !14
  %14012 = load ptr, ptr %12, align 8, !tbaa !5
  %14013 = getelementptr inbounds %struct.complex, ptr %14012, i64 5
  %14014 = getelementptr inbounds %struct.complex, ptr %14013, i32 0, i32 0
  %14015 = load float, ptr %14014, align 4, !tbaa !11
  %14016 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %14015, ptr %14016, align 4, !tbaa !11
  %14017 = load ptr, ptr %12, align 8, !tbaa !5
  %14018 = getelementptr inbounds %struct.complex, ptr %14017, i64 5
  %14019 = getelementptr inbounds %struct.complex, ptr %14018, i32 0, i32 1
  %14020 = load float, ptr %14019, align 4, !tbaa !14
  %14021 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %14020, ptr %14021, align 4, !tbaa !14
  %14022 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %14022, ptr %206, align 4
  %14023 = getelementptr inbounds { float, float }, ptr %206, i32 0, i32 0
  %14024 = load float, ptr %14023, align 4
  %14025 = getelementptr inbounds { float, float }, ptr %206, i32 0, i32 1
  %14026 = load float, ptr %14025, align 4
  %14027 = fneg float %14026
  %14028 = call ptr @_pCf(ptr noundef %31)
  %14029 = getelementptr inbounds { float, float }, ptr %14028, i32 0, i32 0
  %14030 = getelementptr inbounds { float, float }, ptr %14028, i32 0, i32 1
  store float %14024, ptr %14029, align 4
  store float %14027, ptr %14030, align 4
  %14031 = load ptr, ptr %13, align 8, !tbaa !5
  %14032 = getelementptr inbounds %struct.complex, ptr %14031, i32 0, i32 0
  %14033 = load float, ptr %14032, align 4, !tbaa !11
  %14034 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14035 = load float, ptr %14034, align 4, !tbaa !11
  %14036 = load ptr, ptr %13, align 8, !tbaa !5
  %14037 = getelementptr inbounds %struct.complex, ptr %14036, i32 0, i32 1
  %14038 = load float, ptr %14037, align 4, !tbaa !14
  %14039 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14040 = load float, ptr %14039, align 4, !tbaa !14
  %14041 = fmul float %14038, %14040
  %14042 = fneg float %14041
  %14043 = call float @llvm.fmuladd.f32(float %14033, float %14035, float %14042)
  %14044 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14043, ptr %14044, align 4, !tbaa !11
  %14045 = load ptr, ptr %13, align 8, !tbaa !5
  %14046 = getelementptr inbounds %struct.complex, ptr %14045, i32 0, i32 0
  %14047 = load float, ptr %14046, align 4, !tbaa !11
  %14048 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14049 = load float, ptr %14048, align 4, !tbaa !14
  %14050 = load ptr, ptr %13, align 8, !tbaa !5
  %14051 = getelementptr inbounds %struct.complex, ptr %14050, i32 0, i32 1
  %14052 = load float, ptr %14051, align 4, !tbaa !14
  %14053 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14054 = load float, ptr %14053, align 4, !tbaa !11
  %14055 = fmul float %14052, %14054
  %14056 = call float @llvm.fmuladd.f32(float %14047, float %14049, float %14055)
  %14057 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14056, ptr %14057, align 4, !tbaa !14
  %14058 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14059 = load float, ptr %14058, align 4, !tbaa !11
  %14060 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %14059, ptr %14060, align 4, !tbaa !11
  %14061 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14062 = load float, ptr %14061, align 4, !tbaa !14
  %14063 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %14062, ptr %14063, align 4, !tbaa !14
  %14064 = load ptr, ptr %12, align 8, !tbaa !5
  %14065 = getelementptr inbounds %struct.complex, ptr %14064, i64 6
  %14066 = getelementptr inbounds %struct.complex, ptr %14065, i32 0, i32 0
  %14067 = load float, ptr %14066, align 4, !tbaa !11
  %14068 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %14067, ptr %14068, align 4, !tbaa !11
  %14069 = load ptr, ptr %12, align 8, !tbaa !5
  %14070 = getelementptr inbounds %struct.complex, ptr %14069, i64 6
  %14071 = getelementptr inbounds %struct.complex, ptr %14070, i32 0, i32 1
  %14072 = load float, ptr %14071, align 4, !tbaa !14
  %14073 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %14072, ptr %14073, align 4, !tbaa !14
  %14074 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %14074, ptr %207, align 4
  %14075 = getelementptr inbounds { float, float }, ptr %207, i32 0, i32 0
  %14076 = load float, ptr %14075, align 4
  %14077 = getelementptr inbounds { float, float }, ptr %207, i32 0, i32 1
  %14078 = load float, ptr %14077, align 4
  %14079 = fneg float %14078
  %14080 = call ptr @_pCf(ptr noundef %31)
  %14081 = getelementptr inbounds { float, float }, ptr %14080, i32 0, i32 0
  %14082 = getelementptr inbounds { float, float }, ptr %14080, i32 0, i32 1
  store float %14076, ptr %14081, align 4
  store float %14079, ptr %14082, align 4
  %14083 = load ptr, ptr %13, align 8, !tbaa !5
  %14084 = getelementptr inbounds %struct.complex, ptr %14083, i32 0, i32 0
  %14085 = load float, ptr %14084, align 4, !tbaa !11
  %14086 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14087 = load float, ptr %14086, align 4, !tbaa !11
  %14088 = load ptr, ptr %13, align 8, !tbaa !5
  %14089 = getelementptr inbounds %struct.complex, ptr %14088, i32 0, i32 1
  %14090 = load float, ptr %14089, align 4, !tbaa !14
  %14091 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14092 = load float, ptr %14091, align 4, !tbaa !14
  %14093 = fmul float %14090, %14092
  %14094 = fneg float %14093
  %14095 = call float @llvm.fmuladd.f32(float %14085, float %14087, float %14094)
  %14096 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14095, ptr %14096, align 4, !tbaa !11
  %14097 = load ptr, ptr %13, align 8, !tbaa !5
  %14098 = getelementptr inbounds %struct.complex, ptr %14097, i32 0, i32 0
  %14099 = load float, ptr %14098, align 4, !tbaa !11
  %14100 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14101 = load float, ptr %14100, align 4, !tbaa !14
  %14102 = load ptr, ptr %13, align 8, !tbaa !5
  %14103 = getelementptr inbounds %struct.complex, ptr %14102, i32 0, i32 1
  %14104 = load float, ptr %14103, align 4, !tbaa !14
  %14105 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14106 = load float, ptr %14105, align 4, !tbaa !11
  %14107 = fmul float %14104, %14106
  %14108 = call float @llvm.fmuladd.f32(float %14099, float %14101, float %14107)
  %14109 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14108, ptr %14109, align 4, !tbaa !14
  %14110 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14111 = load float, ptr %14110, align 4, !tbaa !11
  %14112 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %14111, ptr %14112, align 4, !tbaa !11
  %14113 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14114 = load float, ptr %14113, align 4, !tbaa !14
  %14115 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %14114, ptr %14115, align 4, !tbaa !14
  %14116 = load ptr, ptr %12, align 8, !tbaa !5
  %14117 = getelementptr inbounds %struct.complex, ptr %14116, i64 7
  %14118 = getelementptr inbounds %struct.complex, ptr %14117, i32 0, i32 0
  %14119 = load float, ptr %14118, align 4, !tbaa !11
  %14120 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %14119, ptr %14120, align 4, !tbaa !11
  %14121 = load ptr, ptr %12, align 8, !tbaa !5
  %14122 = getelementptr inbounds %struct.complex, ptr %14121, i64 7
  %14123 = getelementptr inbounds %struct.complex, ptr %14122, i32 0, i32 1
  %14124 = load float, ptr %14123, align 4, !tbaa !14
  %14125 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %14124, ptr %14125, align 4, !tbaa !14
  %14126 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %14126, ptr %208, align 4
  %14127 = getelementptr inbounds { float, float }, ptr %208, i32 0, i32 0
  %14128 = load float, ptr %14127, align 4
  %14129 = getelementptr inbounds { float, float }, ptr %208, i32 0, i32 1
  %14130 = load float, ptr %14129, align 4
  %14131 = fneg float %14130
  %14132 = call ptr @_pCf(ptr noundef %31)
  %14133 = getelementptr inbounds { float, float }, ptr %14132, i32 0, i32 0
  %14134 = getelementptr inbounds { float, float }, ptr %14132, i32 0, i32 1
  store float %14128, ptr %14133, align 4
  store float %14131, ptr %14134, align 4
  %14135 = load ptr, ptr %13, align 8, !tbaa !5
  %14136 = getelementptr inbounds %struct.complex, ptr %14135, i32 0, i32 0
  %14137 = load float, ptr %14136, align 4, !tbaa !11
  %14138 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14139 = load float, ptr %14138, align 4, !tbaa !11
  %14140 = load ptr, ptr %13, align 8, !tbaa !5
  %14141 = getelementptr inbounds %struct.complex, ptr %14140, i32 0, i32 1
  %14142 = load float, ptr %14141, align 4, !tbaa !14
  %14143 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14144 = load float, ptr %14143, align 4, !tbaa !14
  %14145 = fmul float %14142, %14144
  %14146 = fneg float %14145
  %14147 = call float @llvm.fmuladd.f32(float %14137, float %14139, float %14146)
  %14148 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14147, ptr %14148, align 4, !tbaa !11
  %14149 = load ptr, ptr %13, align 8, !tbaa !5
  %14150 = getelementptr inbounds %struct.complex, ptr %14149, i32 0, i32 0
  %14151 = load float, ptr %14150, align 4, !tbaa !11
  %14152 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14153 = load float, ptr %14152, align 4, !tbaa !14
  %14154 = load ptr, ptr %13, align 8, !tbaa !5
  %14155 = getelementptr inbounds %struct.complex, ptr %14154, i32 0, i32 1
  %14156 = load float, ptr %14155, align 4, !tbaa !14
  %14157 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14158 = load float, ptr %14157, align 4, !tbaa !11
  %14159 = fmul float %14156, %14158
  %14160 = call float @llvm.fmuladd.f32(float %14151, float %14153, float %14159)
  %14161 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14160, ptr %14161, align 4, !tbaa !14
  %14162 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14163 = load float, ptr %14162, align 4, !tbaa !11
  %14164 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %14163, ptr %14164, align 4, !tbaa !11
  %14165 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14166 = load float, ptr %14165, align 4, !tbaa !14
  %14167 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %14166, ptr %14167, align 4, !tbaa !14
  %14168 = load ptr, ptr %10, align 8, !tbaa !5
  %14169 = load i32, ptr %14168, align 4, !tbaa !9
  store i32 %14169, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %14170

14170:                                            ; preds = %15006, %13803
  %14171 = load i32, ptr %49, align 4, !tbaa !9
  %14172 = load i32, ptr %19, align 4, !tbaa !9
  %14173 = icmp sle i32 %14171, %14172
  br i1 %14173, label %14174, label %15009

14174:                                            ; preds = %14170
  %14175 = load i32, ptr %49, align 4, !tbaa !9
  %14176 = load i32, ptr %17, align 4, !tbaa !9
  %14177 = add nsw i32 %14175, %14176
  store i32 %14177, ptr %20, align 4, !tbaa !9
  %14178 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %14179 = load float, ptr %14178, align 4, !tbaa !11
  %14180 = load ptr, ptr %14, align 8, !tbaa !5
  %14181 = load i32, ptr %20, align 4, !tbaa !9
  %14182 = sext i32 %14181 to i64
  %14183 = getelementptr inbounds %struct.complex, ptr %14180, i64 %14182
  %14184 = getelementptr inbounds %struct.complex, ptr %14183, i32 0, i32 0
  %14185 = load float, ptr %14184, align 4, !tbaa !11
  %14186 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %14187 = load float, ptr %14186, align 4, !tbaa !14
  %14188 = load ptr, ptr %14, align 8, !tbaa !5
  %14189 = load i32, ptr %20, align 4, !tbaa !9
  %14190 = sext i32 %14189 to i64
  %14191 = getelementptr inbounds %struct.complex, ptr %14188, i64 %14190
  %14192 = getelementptr inbounds %struct.complex, ptr %14191, i32 0, i32 1
  %14193 = load float, ptr %14192, align 4, !tbaa !14
  %14194 = fmul float %14187, %14193
  %14195 = fneg float %14194
  %14196 = call float @llvm.fmuladd.f32(float %14179, float %14185, float %14195)
  %14197 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %14196, ptr %14197, align 4, !tbaa !11
  %14198 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %14199 = load float, ptr %14198, align 4, !tbaa !11
  %14200 = load ptr, ptr %14, align 8, !tbaa !5
  %14201 = load i32, ptr %20, align 4, !tbaa !9
  %14202 = sext i32 %14201 to i64
  %14203 = getelementptr inbounds %struct.complex, ptr %14200, i64 %14202
  %14204 = getelementptr inbounds %struct.complex, ptr %14203, i32 0, i32 1
  %14205 = load float, ptr %14204, align 4, !tbaa !14
  %14206 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %14207 = load float, ptr %14206, align 4, !tbaa !14
  %14208 = load ptr, ptr %14, align 8, !tbaa !5
  %14209 = load i32, ptr %20, align 4, !tbaa !9
  %14210 = sext i32 %14209 to i64
  %14211 = getelementptr inbounds %struct.complex, ptr %14208, i64 %14210
  %14212 = getelementptr inbounds %struct.complex, ptr %14211, i32 0, i32 0
  %14213 = load float, ptr %14212, align 4, !tbaa !11
  %14214 = fmul float %14207, %14213
  %14215 = call float @llvm.fmuladd.f32(float %14199, float %14205, float %14214)
  %14216 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %14215, ptr %14216, align 4, !tbaa !14
  %14217 = load i32, ptr %49, align 4, !tbaa !9
  %14218 = load i32, ptr %17, align 4, !tbaa !9
  %14219 = shl i32 %14218, 1
  %14220 = add nsw i32 %14217, %14219
  store i32 %14220, ptr %21, align 4, !tbaa !9
  %14221 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %14222 = load float, ptr %14221, align 4, !tbaa !11
  %14223 = load ptr, ptr %14, align 8, !tbaa !5
  %14224 = load i32, ptr %21, align 4, !tbaa !9
  %14225 = sext i32 %14224 to i64
  %14226 = getelementptr inbounds %struct.complex, ptr %14223, i64 %14225
  %14227 = getelementptr inbounds %struct.complex, ptr %14226, i32 0, i32 0
  %14228 = load float, ptr %14227, align 4, !tbaa !11
  %14229 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %14230 = load float, ptr %14229, align 4, !tbaa !14
  %14231 = load ptr, ptr %14, align 8, !tbaa !5
  %14232 = load i32, ptr %21, align 4, !tbaa !9
  %14233 = sext i32 %14232 to i64
  %14234 = getelementptr inbounds %struct.complex, ptr %14231, i64 %14233
  %14235 = getelementptr inbounds %struct.complex, ptr %14234, i32 0, i32 1
  %14236 = load float, ptr %14235, align 4, !tbaa !14
  %14237 = fmul float %14230, %14236
  %14238 = fneg float %14237
  %14239 = call float @llvm.fmuladd.f32(float %14222, float %14228, float %14238)
  %14240 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %14239, ptr %14240, align 4, !tbaa !11
  %14241 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %14242 = load float, ptr %14241, align 4, !tbaa !11
  %14243 = load ptr, ptr %14, align 8, !tbaa !5
  %14244 = load i32, ptr %21, align 4, !tbaa !9
  %14245 = sext i32 %14244 to i64
  %14246 = getelementptr inbounds %struct.complex, ptr %14243, i64 %14245
  %14247 = getelementptr inbounds %struct.complex, ptr %14246, i32 0, i32 1
  %14248 = load float, ptr %14247, align 4, !tbaa !14
  %14249 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %14250 = load float, ptr %14249, align 4, !tbaa !14
  %14251 = load ptr, ptr %14, align 8, !tbaa !5
  %14252 = load i32, ptr %21, align 4, !tbaa !9
  %14253 = sext i32 %14252 to i64
  %14254 = getelementptr inbounds %struct.complex, ptr %14251, i64 %14253
  %14255 = getelementptr inbounds %struct.complex, ptr %14254, i32 0, i32 0
  %14256 = load float, ptr %14255, align 4, !tbaa !11
  %14257 = fmul float %14250, %14256
  %14258 = call float @llvm.fmuladd.f32(float %14242, float %14248, float %14257)
  %14259 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %14258, ptr %14259, align 4, !tbaa !14
  %14260 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %14261 = load float, ptr %14260, align 4, !tbaa !11
  %14262 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %14263 = load float, ptr %14262, align 4, !tbaa !11
  %14264 = fadd float %14261, %14263
  %14265 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %14264, ptr %14265, align 4, !tbaa !11
  %14266 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %14267 = load float, ptr %14266, align 4, !tbaa !14
  %14268 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %14269 = load float, ptr %14268, align 4, !tbaa !14
  %14270 = fadd float %14267, %14269
  %14271 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %14270, ptr %14271, align 4, !tbaa !14
  %14272 = load i32, ptr %49, align 4, !tbaa !9
  %14273 = load i32, ptr %17, align 4, !tbaa !9
  %14274 = mul nsw i32 %14273, 3
  %14275 = add nsw i32 %14272, %14274
  store i32 %14275, ptr %22, align 4, !tbaa !9
  %14276 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %14277 = load float, ptr %14276, align 4, !tbaa !11
  %14278 = load ptr, ptr %14, align 8, !tbaa !5
  %14279 = load i32, ptr %22, align 4, !tbaa !9
  %14280 = sext i32 %14279 to i64
  %14281 = getelementptr inbounds %struct.complex, ptr %14278, i64 %14280
  %14282 = getelementptr inbounds %struct.complex, ptr %14281, i32 0, i32 0
  %14283 = load float, ptr %14282, align 4, !tbaa !11
  %14284 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %14285 = load float, ptr %14284, align 4, !tbaa !14
  %14286 = load ptr, ptr %14, align 8, !tbaa !5
  %14287 = load i32, ptr %22, align 4, !tbaa !9
  %14288 = sext i32 %14287 to i64
  %14289 = getelementptr inbounds %struct.complex, ptr %14286, i64 %14288
  %14290 = getelementptr inbounds %struct.complex, ptr %14289, i32 0, i32 1
  %14291 = load float, ptr %14290, align 4, !tbaa !14
  %14292 = fmul float %14285, %14291
  %14293 = fneg float %14292
  %14294 = call float @llvm.fmuladd.f32(float %14277, float %14283, float %14293)
  %14295 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %14294, ptr %14295, align 4, !tbaa !11
  %14296 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %14297 = load float, ptr %14296, align 4, !tbaa !11
  %14298 = load ptr, ptr %14, align 8, !tbaa !5
  %14299 = load i32, ptr %22, align 4, !tbaa !9
  %14300 = sext i32 %14299 to i64
  %14301 = getelementptr inbounds %struct.complex, ptr %14298, i64 %14300
  %14302 = getelementptr inbounds %struct.complex, ptr %14301, i32 0, i32 1
  %14303 = load float, ptr %14302, align 4, !tbaa !14
  %14304 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %14305 = load float, ptr %14304, align 4, !tbaa !14
  %14306 = load ptr, ptr %14, align 8, !tbaa !5
  %14307 = load i32, ptr %22, align 4, !tbaa !9
  %14308 = sext i32 %14307 to i64
  %14309 = getelementptr inbounds %struct.complex, ptr %14306, i64 %14308
  %14310 = getelementptr inbounds %struct.complex, ptr %14309, i32 0, i32 0
  %14311 = load float, ptr %14310, align 4, !tbaa !11
  %14312 = fmul float %14305, %14311
  %14313 = call float @llvm.fmuladd.f32(float %14297, float %14303, float %14312)
  %14314 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %14313, ptr %14314, align 4, !tbaa !14
  %14315 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %14316 = load float, ptr %14315, align 4, !tbaa !11
  %14317 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %14318 = load float, ptr %14317, align 4, !tbaa !11
  %14319 = fadd float %14316, %14318
  %14320 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %14319, ptr %14320, align 4, !tbaa !11
  %14321 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %14322 = load float, ptr %14321, align 4, !tbaa !14
  %14323 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %14324 = load float, ptr %14323, align 4, !tbaa !14
  %14325 = fadd float %14322, %14324
  %14326 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %14325, ptr %14326, align 4, !tbaa !14
  %14327 = load i32, ptr %49, align 4, !tbaa !9
  %14328 = load i32, ptr %17, align 4, !tbaa !9
  %14329 = shl i32 %14328, 2
  %14330 = add nsw i32 %14327, %14329
  store i32 %14330, ptr %23, align 4, !tbaa !9
  %14331 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %14332 = load float, ptr %14331, align 4, !tbaa !11
  %14333 = load ptr, ptr %14, align 8, !tbaa !5
  %14334 = load i32, ptr %23, align 4, !tbaa !9
  %14335 = sext i32 %14334 to i64
  %14336 = getelementptr inbounds %struct.complex, ptr %14333, i64 %14335
  %14337 = getelementptr inbounds %struct.complex, ptr %14336, i32 0, i32 0
  %14338 = load float, ptr %14337, align 4, !tbaa !11
  %14339 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %14340 = load float, ptr %14339, align 4, !tbaa !14
  %14341 = load ptr, ptr %14, align 8, !tbaa !5
  %14342 = load i32, ptr %23, align 4, !tbaa !9
  %14343 = sext i32 %14342 to i64
  %14344 = getelementptr inbounds %struct.complex, ptr %14341, i64 %14343
  %14345 = getelementptr inbounds %struct.complex, ptr %14344, i32 0, i32 1
  %14346 = load float, ptr %14345, align 4, !tbaa !14
  %14347 = fmul float %14340, %14346
  %14348 = fneg float %14347
  %14349 = call float @llvm.fmuladd.f32(float %14332, float %14338, float %14348)
  %14350 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %14349, ptr %14350, align 4, !tbaa !11
  %14351 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %14352 = load float, ptr %14351, align 4, !tbaa !11
  %14353 = load ptr, ptr %14, align 8, !tbaa !5
  %14354 = load i32, ptr %23, align 4, !tbaa !9
  %14355 = sext i32 %14354 to i64
  %14356 = getelementptr inbounds %struct.complex, ptr %14353, i64 %14355
  %14357 = getelementptr inbounds %struct.complex, ptr %14356, i32 0, i32 1
  %14358 = load float, ptr %14357, align 4, !tbaa !14
  %14359 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %14360 = load float, ptr %14359, align 4, !tbaa !14
  %14361 = load ptr, ptr %14, align 8, !tbaa !5
  %14362 = load i32, ptr %23, align 4, !tbaa !9
  %14363 = sext i32 %14362 to i64
  %14364 = getelementptr inbounds %struct.complex, ptr %14361, i64 %14363
  %14365 = getelementptr inbounds %struct.complex, ptr %14364, i32 0, i32 0
  %14366 = load float, ptr %14365, align 4, !tbaa !11
  %14367 = fmul float %14360, %14366
  %14368 = call float @llvm.fmuladd.f32(float %14352, float %14358, float %14367)
  %14369 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %14368, ptr %14369, align 4, !tbaa !14
  %14370 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %14371 = load float, ptr %14370, align 4, !tbaa !11
  %14372 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %14373 = load float, ptr %14372, align 4, !tbaa !11
  %14374 = fadd float %14371, %14373
  %14375 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %14374, ptr %14375, align 4, !tbaa !11
  %14376 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %14377 = load float, ptr %14376, align 4, !tbaa !14
  %14378 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %14379 = load float, ptr %14378, align 4, !tbaa !14
  %14380 = fadd float %14377, %14379
  %14381 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %14380, ptr %14381, align 4, !tbaa !14
  %14382 = load i32, ptr %49, align 4, !tbaa !9
  %14383 = load i32, ptr %17, align 4, !tbaa !9
  %14384 = mul nsw i32 %14383, 5
  %14385 = add nsw i32 %14382, %14384
  store i32 %14385, ptr %24, align 4, !tbaa !9
  %14386 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %14387 = load float, ptr %14386, align 4, !tbaa !11
  %14388 = load ptr, ptr %14, align 8, !tbaa !5
  %14389 = load i32, ptr %24, align 4, !tbaa !9
  %14390 = sext i32 %14389 to i64
  %14391 = getelementptr inbounds %struct.complex, ptr %14388, i64 %14390
  %14392 = getelementptr inbounds %struct.complex, ptr %14391, i32 0, i32 0
  %14393 = load float, ptr %14392, align 4, !tbaa !11
  %14394 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %14395 = load float, ptr %14394, align 4, !tbaa !14
  %14396 = load ptr, ptr %14, align 8, !tbaa !5
  %14397 = load i32, ptr %24, align 4, !tbaa !9
  %14398 = sext i32 %14397 to i64
  %14399 = getelementptr inbounds %struct.complex, ptr %14396, i64 %14398
  %14400 = getelementptr inbounds %struct.complex, ptr %14399, i32 0, i32 1
  %14401 = load float, ptr %14400, align 4, !tbaa !14
  %14402 = fmul float %14395, %14401
  %14403 = fneg float %14402
  %14404 = call float @llvm.fmuladd.f32(float %14387, float %14393, float %14403)
  %14405 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %14404, ptr %14405, align 4, !tbaa !11
  %14406 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %14407 = load float, ptr %14406, align 4, !tbaa !11
  %14408 = load ptr, ptr %14, align 8, !tbaa !5
  %14409 = load i32, ptr %24, align 4, !tbaa !9
  %14410 = sext i32 %14409 to i64
  %14411 = getelementptr inbounds %struct.complex, ptr %14408, i64 %14410
  %14412 = getelementptr inbounds %struct.complex, ptr %14411, i32 0, i32 1
  %14413 = load float, ptr %14412, align 4, !tbaa !14
  %14414 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %14415 = load float, ptr %14414, align 4, !tbaa !14
  %14416 = load ptr, ptr %14, align 8, !tbaa !5
  %14417 = load i32, ptr %24, align 4, !tbaa !9
  %14418 = sext i32 %14417 to i64
  %14419 = getelementptr inbounds %struct.complex, ptr %14416, i64 %14418
  %14420 = getelementptr inbounds %struct.complex, ptr %14419, i32 0, i32 0
  %14421 = load float, ptr %14420, align 4, !tbaa !11
  %14422 = fmul float %14415, %14421
  %14423 = call float @llvm.fmuladd.f32(float %14407, float %14413, float %14422)
  %14424 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %14423, ptr %14424, align 4, !tbaa !14
  %14425 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %14426 = load float, ptr %14425, align 4, !tbaa !11
  %14427 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %14428 = load float, ptr %14427, align 4, !tbaa !11
  %14429 = fadd float %14426, %14428
  %14430 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %14429, ptr %14430, align 4, !tbaa !11
  %14431 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %14432 = load float, ptr %14431, align 4, !tbaa !14
  %14433 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %14434 = load float, ptr %14433, align 4, !tbaa !14
  %14435 = fadd float %14432, %14434
  %14436 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %14435, ptr %14436, align 4, !tbaa !14
  %14437 = load i32, ptr %49, align 4, !tbaa !9
  %14438 = load i32, ptr %17, align 4, !tbaa !9
  %14439 = mul nsw i32 %14438, 6
  %14440 = add nsw i32 %14437, %14439
  store i32 %14440, ptr %25, align 4, !tbaa !9
  %14441 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %14442 = load float, ptr %14441, align 4, !tbaa !11
  %14443 = load ptr, ptr %14, align 8, !tbaa !5
  %14444 = load i32, ptr %25, align 4, !tbaa !9
  %14445 = sext i32 %14444 to i64
  %14446 = getelementptr inbounds %struct.complex, ptr %14443, i64 %14445
  %14447 = getelementptr inbounds %struct.complex, ptr %14446, i32 0, i32 0
  %14448 = load float, ptr %14447, align 4, !tbaa !11
  %14449 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %14450 = load float, ptr %14449, align 4, !tbaa !14
  %14451 = load ptr, ptr %14, align 8, !tbaa !5
  %14452 = load i32, ptr %25, align 4, !tbaa !9
  %14453 = sext i32 %14452 to i64
  %14454 = getelementptr inbounds %struct.complex, ptr %14451, i64 %14453
  %14455 = getelementptr inbounds %struct.complex, ptr %14454, i32 0, i32 1
  %14456 = load float, ptr %14455, align 4, !tbaa !14
  %14457 = fmul float %14450, %14456
  %14458 = fneg float %14457
  %14459 = call float @llvm.fmuladd.f32(float %14442, float %14448, float %14458)
  %14460 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %14459, ptr %14460, align 4, !tbaa !11
  %14461 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %14462 = load float, ptr %14461, align 4, !tbaa !11
  %14463 = load ptr, ptr %14, align 8, !tbaa !5
  %14464 = load i32, ptr %25, align 4, !tbaa !9
  %14465 = sext i32 %14464 to i64
  %14466 = getelementptr inbounds %struct.complex, ptr %14463, i64 %14465
  %14467 = getelementptr inbounds %struct.complex, ptr %14466, i32 0, i32 1
  %14468 = load float, ptr %14467, align 4, !tbaa !14
  %14469 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %14470 = load float, ptr %14469, align 4, !tbaa !14
  %14471 = load ptr, ptr %14, align 8, !tbaa !5
  %14472 = load i32, ptr %25, align 4, !tbaa !9
  %14473 = sext i32 %14472 to i64
  %14474 = getelementptr inbounds %struct.complex, ptr %14471, i64 %14473
  %14475 = getelementptr inbounds %struct.complex, ptr %14474, i32 0, i32 0
  %14476 = load float, ptr %14475, align 4, !tbaa !11
  %14477 = fmul float %14470, %14476
  %14478 = call float @llvm.fmuladd.f32(float %14462, float %14468, float %14477)
  %14479 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %14478, ptr %14479, align 4, !tbaa !14
  %14480 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14481 = load float, ptr %14480, align 4, !tbaa !11
  %14482 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %14483 = load float, ptr %14482, align 4, !tbaa !11
  %14484 = fadd float %14481, %14483
  %14485 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14484, ptr %14485, align 4, !tbaa !11
  %14486 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14487 = load float, ptr %14486, align 4, !tbaa !14
  %14488 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %14489 = load float, ptr %14488, align 4, !tbaa !14
  %14490 = fadd float %14487, %14489
  %14491 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14490, ptr %14491, align 4, !tbaa !14
  %14492 = load i32, ptr %49, align 4, !tbaa !9
  %14493 = load i32, ptr %17, align 4, !tbaa !9
  %14494 = mul nsw i32 %14493, 7
  %14495 = add nsw i32 %14492, %14494
  store i32 %14495, ptr %26, align 4, !tbaa !9
  %14496 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %14497 = load float, ptr %14496, align 4, !tbaa !11
  %14498 = load ptr, ptr %14, align 8, !tbaa !5
  %14499 = load i32, ptr %26, align 4, !tbaa !9
  %14500 = sext i32 %14499 to i64
  %14501 = getelementptr inbounds %struct.complex, ptr %14498, i64 %14500
  %14502 = getelementptr inbounds %struct.complex, ptr %14501, i32 0, i32 0
  %14503 = load float, ptr %14502, align 4, !tbaa !11
  %14504 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %14505 = load float, ptr %14504, align 4, !tbaa !14
  %14506 = load ptr, ptr %14, align 8, !tbaa !5
  %14507 = load i32, ptr %26, align 4, !tbaa !9
  %14508 = sext i32 %14507 to i64
  %14509 = getelementptr inbounds %struct.complex, ptr %14506, i64 %14508
  %14510 = getelementptr inbounds %struct.complex, ptr %14509, i32 0, i32 1
  %14511 = load float, ptr %14510, align 4, !tbaa !14
  %14512 = fmul float %14505, %14511
  %14513 = fneg float %14512
  %14514 = call float @llvm.fmuladd.f32(float %14497, float %14503, float %14513)
  %14515 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %14514, ptr %14515, align 4, !tbaa !11
  %14516 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %14517 = load float, ptr %14516, align 4, !tbaa !11
  %14518 = load ptr, ptr %14, align 8, !tbaa !5
  %14519 = load i32, ptr %26, align 4, !tbaa !9
  %14520 = sext i32 %14519 to i64
  %14521 = getelementptr inbounds %struct.complex, ptr %14518, i64 %14520
  %14522 = getelementptr inbounds %struct.complex, ptr %14521, i32 0, i32 1
  %14523 = load float, ptr %14522, align 4, !tbaa !14
  %14524 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %14525 = load float, ptr %14524, align 4, !tbaa !14
  %14526 = load ptr, ptr %14, align 8, !tbaa !5
  %14527 = load i32, ptr %26, align 4, !tbaa !9
  %14528 = sext i32 %14527 to i64
  %14529 = getelementptr inbounds %struct.complex, ptr %14526, i64 %14528
  %14530 = getelementptr inbounds %struct.complex, ptr %14529, i32 0, i32 0
  %14531 = load float, ptr %14530, align 4, !tbaa !11
  %14532 = fmul float %14525, %14531
  %14533 = call float @llvm.fmuladd.f32(float %14517, float %14523, float %14532)
  %14534 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %14533, ptr %14534, align 4, !tbaa !14
  %14535 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14536 = load float, ptr %14535, align 4, !tbaa !11
  %14537 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %14538 = load float, ptr %14537, align 4, !tbaa !11
  %14539 = fadd float %14536, %14538
  %14540 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14539, ptr %14540, align 4, !tbaa !11
  %14541 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14542 = load float, ptr %14541, align 4, !tbaa !14
  %14543 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %14544 = load float, ptr %14543, align 4, !tbaa !14
  %14545 = fadd float %14542, %14544
  %14546 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14545, ptr %14546, align 4, !tbaa !14
  %14547 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14548 = load float, ptr %14547, align 4, !tbaa !11
  %14549 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %14548, ptr %14549, align 4, !tbaa !11
  %14550 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14551 = load float, ptr %14550, align 4, !tbaa !14
  %14552 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %14551, ptr %14552, align 4, !tbaa !14
  %14553 = load i32, ptr %49, align 4, !tbaa !9
  %14554 = load i32, ptr %17, align 4, !tbaa !9
  %14555 = add nsw i32 %14553, %14554
  store i32 %14555, ptr %20, align 4, !tbaa !9
  %14556 = load i32, ptr %49, align 4, !tbaa !9
  %14557 = load i32, ptr %17, align 4, !tbaa !9
  %14558 = add nsw i32 %14556, %14557
  store i32 %14558, ptr %21, align 4, !tbaa !9
  %14559 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14560 = load float, ptr %14559, align 4, !tbaa !11
  %14561 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %14562 = load float, ptr %14561, align 4, !tbaa !11
  %14563 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14564 = load float, ptr %14563, align 4, !tbaa !14
  %14565 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %14566 = load float, ptr %14565, align 4, !tbaa !14
  %14567 = fmul float %14564, %14566
  %14568 = fneg float %14567
  %14569 = call float @llvm.fmuladd.f32(float %14560, float %14562, float %14568)
  %14570 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14569, ptr %14570, align 4, !tbaa !11
  %14571 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14572 = load float, ptr %14571, align 4, !tbaa !11
  %14573 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %14574 = load float, ptr %14573, align 4, !tbaa !14
  %14575 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14576 = load float, ptr %14575, align 4, !tbaa !14
  %14577 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %14578 = load float, ptr %14577, align 4, !tbaa !11
  %14579 = fmul float %14576, %14578
  %14580 = call float @llvm.fmuladd.f32(float %14572, float %14574, float %14579)
  %14581 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14580, ptr %14581, align 4, !tbaa !14
  %14582 = load ptr, ptr %14, align 8, !tbaa !5
  %14583 = load i32, ptr %21, align 4, !tbaa !9
  %14584 = sext i32 %14583 to i64
  %14585 = getelementptr inbounds %struct.complex, ptr %14582, i64 %14584
  %14586 = getelementptr inbounds %struct.complex, ptr %14585, i32 0, i32 0
  %14587 = load float, ptr %14586, align 4, !tbaa !11
  %14588 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14589 = load float, ptr %14588, align 4, !tbaa !11
  %14590 = fsub float %14587, %14589
  %14591 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14590, ptr %14591, align 4, !tbaa !11
  %14592 = load ptr, ptr %14, align 8, !tbaa !5
  %14593 = load i32, ptr %21, align 4, !tbaa !9
  %14594 = sext i32 %14593 to i64
  %14595 = getelementptr inbounds %struct.complex, ptr %14592, i64 %14594
  %14596 = getelementptr inbounds %struct.complex, ptr %14595, i32 0, i32 1
  %14597 = load float, ptr %14596, align 4, !tbaa !14
  %14598 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14599 = load float, ptr %14598, align 4, !tbaa !14
  %14600 = fsub float %14597, %14599
  %14601 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14600, ptr %14601, align 4, !tbaa !14
  %14602 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14603 = load float, ptr %14602, align 4, !tbaa !11
  %14604 = load ptr, ptr %14, align 8, !tbaa !5
  %14605 = load i32, ptr %20, align 4, !tbaa !9
  %14606 = sext i32 %14605 to i64
  %14607 = getelementptr inbounds %struct.complex, ptr %14604, i64 %14606
  %14608 = getelementptr inbounds %struct.complex, ptr %14607, i32 0, i32 0
  store float %14603, ptr %14608, align 4, !tbaa !11
  %14609 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14610 = load float, ptr %14609, align 4, !tbaa !14
  %14611 = load ptr, ptr %14, align 8, !tbaa !5
  %14612 = load i32, ptr %20, align 4, !tbaa !9
  %14613 = sext i32 %14612 to i64
  %14614 = getelementptr inbounds %struct.complex, ptr %14611, i64 %14613
  %14615 = getelementptr inbounds %struct.complex, ptr %14614, i32 0, i32 1
  store float %14610, ptr %14615, align 4, !tbaa !14
  %14616 = load i32, ptr %49, align 4, !tbaa !9
  %14617 = load i32, ptr %17, align 4, !tbaa !9
  %14618 = shl i32 %14617, 1
  %14619 = add nsw i32 %14616, %14618
  store i32 %14619, ptr %20, align 4, !tbaa !9
  %14620 = load i32, ptr %49, align 4, !tbaa !9
  %14621 = load i32, ptr %17, align 4, !tbaa !9
  %14622 = shl i32 %14621, 1
  %14623 = add nsw i32 %14620, %14622
  store i32 %14623, ptr %21, align 4, !tbaa !9
  %14624 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14625 = load float, ptr %14624, align 4, !tbaa !11
  %14626 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %14627 = load float, ptr %14626, align 4, !tbaa !11
  %14628 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14629 = load float, ptr %14628, align 4, !tbaa !14
  %14630 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %14631 = load float, ptr %14630, align 4, !tbaa !14
  %14632 = fmul float %14629, %14631
  %14633 = fneg float %14632
  %14634 = call float @llvm.fmuladd.f32(float %14625, float %14627, float %14633)
  %14635 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14634, ptr %14635, align 4, !tbaa !11
  %14636 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14637 = load float, ptr %14636, align 4, !tbaa !11
  %14638 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %14639 = load float, ptr %14638, align 4, !tbaa !14
  %14640 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14641 = load float, ptr %14640, align 4, !tbaa !14
  %14642 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %14643 = load float, ptr %14642, align 4, !tbaa !11
  %14644 = fmul float %14641, %14643
  %14645 = call float @llvm.fmuladd.f32(float %14637, float %14639, float %14644)
  %14646 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14645, ptr %14646, align 4, !tbaa !14
  %14647 = load ptr, ptr %14, align 8, !tbaa !5
  %14648 = load i32, ptr %21, align 4, !tbaa !9
  %14649 = sext i32 %14648 to i64
  %14650 = getelementptr inbounds %struct.complex, ptr %14647, i64 %14649
  %14651 = getelementptr inbounds %struct.complex, ptr %14650, i32 0, i32 0
  %14652 = load float, ptr %14651, align 4, !tbaa !11
  %14653 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14654 = load float, ptr %14653, align 4, !tbaa !11
  %14655 = fsub float %14652, %14654
  %14656 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14655, ptr %14656, align 4, !tbaa !11
  %14657 = load ptr, ptr %14, align 8, !tbaa !5
  %14658 = load i32, ptr %21, align 4, !tbaa !9
  %14659 = sext i32 %14658 to i64
  %14660 = getelementptr inbounds %struct.complex, ptr %14657, i64 %14659
  %14661 = getelementptr inbounds %struct.complex, ptr %14660, i32 0, i32 1
  %14662 = load float, ptr %14661, align 4, !tbaa !14
  %14663 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14664 = load float, ptr %14663, align 4, !tbaa !14
  %14665 = fsub float %14662, %14664
  %14666 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14665, ptr %14666, align 4, !tbaa !14
  %14667 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14668 = load float, ptr %14667, align 4, !tbaa !11
  %14669 = load ptr, ptr %14, align 8, !tbaa !5
  %14670 = load i32, ptr %20, align 4, !tbaa !9
  %14671 = sext i32 %14670 to i64
  %14672 = getelementptr inbounds %struct.complex, ptr %14669, i64 %14671
  %14673 = getelementptr inbounds %struct.complex, ptr %14672, i32 0, i32 0
  store float %14668, ptr %14673, align 4, !tbaa !11
  %14674 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14675 = load float, ptr %14674, align 4, !tbaa !14
  %14676 = load ptr, ptr %14, align 8, !tbaa !5
  %14677 = load i32, ptr %20, align 4, !tbaa !9
  %14678 = sext i32 %14677 to i64
  %14679 = getelementptr inbounds %struct.complex, ptr %14676, i64 %14678
  %14680 = getelementptr inbounds %struct.complex, ptr %14679, i32 0, i32 1
  store float %14675, ptr %14680, align 4, !tbaa !14
  %14681 = load i32, ptr %49, align 4, !tbaa !9
  %14682 = load i32, ptr %17, align 4, !tbaa !9
  %14683 = mul nsw i32 %14682, 3
  %14684 = add nsw i32 %14681, %14683
  store i32 %14684, ptr %20, align 4, !tbaa !9
  %14685 = load i32, ptr %49, align 4, !tbaa !9
  %14686 = load i32, ptr %17, align 4, !tbaa !9
  %14687 = mul nsw i32 %14686, 3
  %14688 = add nsw i32 %14685, %14687
  store i32 %14688, ptr %21, align 4, !tbaa !9
  %14689 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14690 = load float, ptr %14689, align 4, !tbaa !11
  %14691 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %14692 = load float, ptr %14691, align 4, !tbaa !11
  %14693 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14694 = load float, ptr %14693, align 4, !tbaa !14
  %14695 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %14696 = load float, ptr %14695, align 4, !tbaa !14
  %14697 = fmul float %14694, %14696
  %14698 = fneg float %14697
  %14699 = call float @llvm.fmuladd.f32(float %14690, float %14692, float %14698)
  %14700 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14699, ptr %14700, align 4, !tbaa !11
  %14701 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14702 = load float, ptr %14701, align 4, !tbaa !11
  %14703 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %14704 = load float, ptr %14703, align 4, !tbaa !14
  %14705 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14706 = load float, ptr %14705, align 4, !tbaa !14
  %14707 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %14708 = load float, ptr %14707, align 4, !tbaa !11
  %14709 = fmul float %14706, %14708
  %14710 = call float @llvm.fmuladd.f32(float %14702, float %14704, float %14709)
  %14711 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14710, ptr %14711, align 4, !tbaa !14
  %14712 = load ptr, ptr %14, align 8, !tbaa !5
  %14713 = load i32, ptr %21, align 4, !tbaa !9
  %14714 = sext i32 %14713 to i64
  %14715 = getelementptr inbounds %struct.complex, ptr %14712, i64 %14714
  %14716 = getelementptr inbounds %struct.complex, ptr %14715, i32 0, i32 0
  %14717 = load float, ptr %14716, align 4, !tbaa !11
  %14718 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14719 = load float, ptr %14718, align 4, !tbaa !11
  %14720 = fsub float %14717, %14719
  %14721 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14720, ptr %14721, align 4, !tbaa !11
  %14722 = load ptr, ptr %14, align 8, !tbaa !5
  %14723 = load i32, ptr %21, align 4, !tbaa !9
  %14724 = sext i32 %14723 to i64
  %14725 = getelementptr inbounds %struct.complex, ptr %14722, i64 %14724
  %14726 = getelementptr inbounds %struct.complex, ptr %14725, i32 0, i32 1
  %14727 = load float, ptr %14726, align 4, !tbaa !14
  %14728 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14729 = load float, ptr %14728, align 4, !tbaa !14
  %14730 = fsub float %14727, %14729
  %14731 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14730, ptr %14731, align 4, !tbaa !14
  %14732 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14733 = load float, ptr %14732, align 4, !tbaa !11
  %14734 = load ptr, ptr %14, align 8, !tbaa !5
  %14735 = load i32, ptr %20, align 4, !tbaa !9
  %14736 = sext i32 %14735 to i64
  %14737 = getelementptr inbounds %struct.complex, ptr %14734, i64 %14736
  %14738 = getelementptr inbounds %struct.complex, ptr %14737, i32 0, i32 0
  store float %14733, ptr %14738, align 4, !tbaa !11
  %14739 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14740 = load float, ptr %14739, align 4, !tbaa !14
  %14741 = load ptr, ptr %14, align 8, !tbaa !5
  %14742 = load i32, ptr %20, align 4, !tbaa !9
  %14743 = sext i32 %14742 to i64
  %14744 = getelementptr inbounds %struct.complex, ptr %14741, i64 %14743
  %14745 = getelementptr inbounds %struct.complex, ptr %14744, i32 0, i32 1
  store float %14740, ptr %14745, align 4, !tbaa !14
  %14746 = load i32, ptr %49, align 4, !tbaa !9
  %14747 = load i32, ptr %17, align 4, !tbaa !9
  %14748 = shl i32 %14747, 2
  %14749 = add nsw i32 %14746, %14748
  store i32 %14749, ptr %20, align 4, !tbaa !9
  %14750 = load i32, ptr %49, align 4, !tbaa !9
  %14751 = load i32, ptr %17, align 4, !tbaa !9
  %14752 = shl i32 %14751, 2
  %14753 = add nsw i32 %14750, %14752
  store i32 %14753, ptr %21, align 4, !tbaa !9
  %14754 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14755 = load float, ptr %14754, align 4, !tbaa !11
  %14756 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %14757 = load float, ptr %14756, align 4, !tbaa !11
  %14758 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14759 = load float, ptr %14758, align 4, !tbaa !14
  %14760 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %14761 = load float, ptr %14760, align 4, !tbaa !14
  %14762 = fmul float %14759, %14761
  %14763 = fneg float %14762
  %14764 = call float @llvm.fmuladd.f32(float %14755, float %14757, float %14763)
  %14765 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14764, ptr %14765, align 4, !tbaa !11
  %14766 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14767 = load float, ptr %14766, align 4, !tbaa !11
  %14768 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %14769 = load float, ptr %14768, align 4, !tbaa !14
  %14770 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14771 = load float, ptr %14770, align 4, !tbaa !14
  %14772 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %14773 = load float, ptr %14772, align 4, !tbaa !11
  %14774 = fmul float %14771, %14773
  %14775 = call float @llvm.fmuladd.f32(float %14767, float %14769, float %14774)
  %14776 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14775, ptr %14776, align 4, !tbaa !14
  %14777 = load ptr, ptr %14, align 8, !tbaa !5
  %14778 = load i32, ptr %21, align 4, !tbaa !9
  %14779 = sext i32 %14778 to i64
  %14780 = getelementptr inbounds %struct.complex, ptr %14777, i64 %14779
  %14781 = getelementptr inbounds %struct.complex, ptr %14780, i32 0, i32 0
  %14782 = load float, ptr %14781, align 4, !tbaa !11
  %14783 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14784 = load float, ptr %14783, align 4, !tbaa !11
  %14785 = fsub float %14782, %14784
  %14786 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14785, ptr %14786, align 4, !tbaa !11
  %14787 = load ptr, ptr %14, align 8, !tbaa !5
  %14788 = load i32, ptr %21, align 4, !tbaa !9
  %14789 = sext i32 %14788 to i64
  %14790 = getelementptr inbounds %struct.complex, ptr %14787, i64 %14789
  %14791 = getelementptr inbounds %struct.complex, ptr %14790, i32 0, i32 1
  %14792 = load float, ptr %14791, align 4, !tbaa !14
  %14793 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14794 = load float, ptr %14793, align 4, !tbaa !14
  %14795 = fsub float %14792, %14794
  %14796 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14795, ptr %14796, align 4, !tbaa !14
  %14797 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14798 = load float, ptr %14797, align 4, !tbaa !11
  %14799 = load ptr, ptr %14, align 8, !tbaa !5
  %14800 = load i32, ptr %20, align 4, !tbaa !9
  %14801 = sext i32 %14800 to i64
  %14802 = getelementptr inbounds %struct.complex, ptr %14799, i64 %14801
  %14803 = getelementptr inbounds %struct.complex, ptr %14802, i32 0, i32 0
  store float %14798, ptr %14803, align 4, !tbaa !11
  %14804 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14805 = load float, ptr %14804, align 4, !tbaa !14
  %14806 = load ptr, ptr %14, align 8, !tbaa !5
  %14807 = load i32, ptr %20, align 4, !tbaa !9
  %14808 = sext i32 %14807 to i64
  %14809 = getelementptr inbounds %struct.complex, ptr %14806, i64 %14808
  %14810 = getelementptr inbounds %struct.complex, ptr %14809, i32 0, i32 1
  store float %14805, ptr %14810, align 4, !tbaa !14
  %14811 = load i32, ptr %49, align 4, !tbaa !9
  %14812 = load i32, ptr %17, align 4, !tbaa !9
  %14813 = mul nsw i32 %14812, 5
  %14814 = add nsw i32 %14811, %14813
  store i32 %14814, ptr %20, align 4, !tbaa !9
  %14815 = load i32, ptr %49, align 4, !tbaa !9
  %14816 = load i32, ptr %17, align 4, !tbaa !9
  %14817 = mul nsw i32 %14816, 5
  %14818 = add nsw i32 %14815, %14817
  store i32 %14818, ptr %21, align 4, !tbaa !9
  %14819 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14820 = load float, ptr %14819, align 4, !tbaa !11
  %14821 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %14822 = load float, ptr %14821, align 4, !tbaa !11
  %14823 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14824 = load float, ptr %14823, align 4, !tbaa !14
  %14825 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %14826 = load float, ptr %14825, align 4, !tbaa !14
  %14827 = fmul float %14824, %14826
  %14828 = fneg float %14827
  %14829 = call float @llvm.fmuladd.f32(float %14820, float %14822, float %14828)
  %14830 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14829, ptr %14830, align 4, !tbaa !11
  %14831 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14832 = load float, ptr %14831, align 4, !tbaa !11
  %14833 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %14834 = load float, ptr %14833, align 4, !tbaa !14
  %14835 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14836 = load float, ptr %14835, align 4, !tbaa !14
  %14837 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %14838 = load float, ptr %14837, align 4, !tbaa !11
  %14839 = fmul float %14836, %14838
  %14840 = call float @llvm.fmuladd.f32(float %14832, float %14834, float %14839)
  %14841 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14840, ptr %14841, align 4, !tbaa !14
  %14842 = load ptr, ptr %14, align 8, !tbaa !5
  %14843 = load i32, ptr %21, align 4, !tbaa !9
  %14844 = sext i32 %14843 to i64
  %14845 = getelementptr inbounds %struct.complex, ptr %14842, i64 %14844
  %14846 = getelementptr inbounds %struct.complex, ptr %14845, i32 0, i32 0
  %14847 = load float, ptr %14846, align 4, !tbaa !11
  %14848 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14849 = load float, ptr %14848, align 4, !tbaa !11
  %14850 = fsub float %14847, %14849
  %14851 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14850, ptr %14851, align 4, !tbaa !11
  %14852 = load ptr, ptr %14, align 8, !tbaa !5
  %14853 = load i32, ptr %21, align 4, !tbaa !9
  %14854 = sext i32 %14853 to i64
  %14855 = getelementptr inbounds %struct.complex, ptr %14852, i64 %14854
  %14856 = getelementptr inbounds %struct.complex, ptr %14855, i32 0, i32 1
  %14857 = load float, ptr %14856, align 4, !tbaa !14
  %14858 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14859 = load float, ptr %14858, align 4, !tbaa !14
  %14860 = fsub float %14857, %14859
  %14861 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14860, ptr %14861, align 4, !tbaa !14
  %14862 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14863 = load float, ptr %14862, align 4, !tbaa !11
  %14864 = load ptr, ptr %14, align 8, !tbaa !5
  %14865 = load i32, ptr %20, align 4, !tbaa !9
  %14866 = sext i32 %14865 to i64
  %14867 = getelementptr inbounds %struct.complex, ptr %14864, i64 %14866
  %14868 = getelementptr inbounds %struct.complex, ptr %14867, i32 0, i32 0
  store float %14863, ptr %14868, align 4, !tbaa !11
  %14869 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14870 = load float, ptr %14869, align 4, !tbaa !14
  %14871 = load ptr, ptr %14, align 8, !tbaa !5
  %14872 = load i32, ptr %20, align 4, !tbaa !9
  %14873 = sext i32 %14872 to i64
  %14874 = getelementptr inbounds %struct.complex, ptr %14871, i64 %14873
  %14875 = getelementptr inbounds %struct.complex, ptr %14874, i32 0, i32 1
  store float %14870, ptr %14875, align 4, !tbaa !14
  %14876 = load i32, ptr %49, align 4, !tbaa !9
  %14877 = load i32, ptr %17, align 4, !tbaa !9
  %14878 = mul nsw i32 %14877, 6
  %14879 = add nsw i32 %14876, %14878
  store i32 %14879, ptr %20, align 4, !tbaa !9
  %14880 = load i32, ptr %49, align 4, !tbaa !9
  %14881 = load i32, ptr %17, align 4, !tbaa !9
  %14882 = mul nsw i32 %14881, 6
  %14883 = add nsw i32 %14880, %14882
  store i32 %14883, ptr %21, align 4, !tbaa !9
  %14884 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14885 = load float, ptr %14884, align 4, !tbaa !11
  %14886 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %14887 = load float, ptr %14886, align 4, !tbaa !11
  %14888 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14889 = load float, ptr %14888, align 4, !tbaa !14
  %14890 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %14891 = load float, ptr %14890, align 4, !tbaa !14
  %14892 = fmul float %14889, %14891
  %14893 = fneg float %14892
  %14894 = call float @llvm.fmuladd.f32(float %14885, float %14887, float %14893)
  %14895 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14894, ptr %14895, align 4, !tbaa !11
  %14896 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14897 = load float, ptr %14896, align 4, !tbaa !11
  %14898 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %14899 = load float, ptr %14898, align 4, !tbaa !14
  %14900 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14901 = load float, ptr %14900, align 4, !tbaa !14
  %14902 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %14903 = load float, ptr %14902, align 4, !tbaa !11
  %14904 = fmul float %14901, %14903
  %14905 = call float @llvm.fmuladd.f32(float %14897, float %14899, float %14904)
  %14906 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14905, ptr %14906, align 4, !tbaa !14
  %14907 = load ptr, ptr %14, align 8, !tbaa !5
  %14908 = load i32, ptr %21, align 4, !tbaa !9
  %14909 = sext i32 %14908 to i64
  %14910 = getelementptr inbounds %struct.complex, ptr %14907, i64 %14909
  %14911 = getelementptr inbounds %struct.complex, ptr %14910, i32 0, i32 0
  %14912 = load float, ptr %14911, align 4, !tbaa !11
  %14913 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14914 = load float, ptr %14913, align 4, !tbaa !11
  %14915 = fsub float %14912, %14914
  %14916 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14915, ptr %14916, align 4, !tbaa !11
  %14917 = load ptr, ptr %14, align 8, !tbaa !5
  %14918 = load i32, ptr %21, align 4, !tbaa !9
  %14919 = sext i32 %14918 to i64
  %14920 = getelementptr inbounds %struct.complex, ptr %14917, i64 %14919
  %14921 = getelementptr inbounds %struct.complex, ptr %14920, i32 0, i32 1
  %14922 = load float, ptr %14921, align 4, !tbaa !14
  %14923 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14924 = load float, ptr %14923, align 4, !tbaa !14
  %14925 = fsub float %14922, %14924
  %14926 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14925, ptr %14926, align 4, !tbaa !14
  %14927 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14928 = load float, ptr %14927, align 4, !tbaa !11
  %14929 = load ptr, ptr %14, align 8, !tbaa !5
  %14930 = load i32, ptr %20, align 4, !tbaa !9
  %14931 = sext i32 %14930 to i64
  %14932 = getelementptr inbounds %struct.complex, ptr %14929, i64 %14931
  %14933 = getelementptr inbounds %struct.complex, ptr %14932, i32 0, i32 0
  store float %14928, ptr %14933, align 4, !tbaa !11
  %14934 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %14935 = load float, ptr %14934, align 4, !tbaa !14
  %14936 = load ptr, ptr %14, align 8, !tbaa !5
  %14937 = load i32, ptr %20, align 4, !tbaa !9
  %14938 = sext i32 %14937 to i64
  %14939 = getelementptr inbounds %struct.complex, ptr %14936, i64 %14938
  %14940 = getelementptr inbounds %struct.complex, ptr %14939, i32 0, i32 1
  store float %14935, ptr %14940, align 4, !tbaa !14
  %14941 = load i32, ptr %49, align 4, !tbaa !9
  %14942 = load i32, ptr %17, align 4, !tbaa !9
  %14943 = mul nsw i32 %14942, 7
  %14944 = add nsw i32 %14941, %14943
  store i32 %14944, ptr %20, align 4, !tbaa !9
  %14945 = load i32, ptr %49, align 4, !tbaa !9
  %14946 = load i32, ptr %17, align 4, !tbaa !9
  %14947 = mul nsw i32 %14946, 7
  %14948 = add nsw i32 %14945, %14947
  store i32 %14948, ptr %21, align 4, !tbaa !9
  %14949 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14950 = load float, ptr %14949, align 4, !tbaa !11
  %14951 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %14952 = load float, ptr %14951, align 4, !tbaa !11
  %14953 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14954 = load float, ptr %14953, align 4, !tbaa !14
  %14955 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %14956 = load float, ptr %14955, align 4, !tbaa !14
  %14957 = fmul float %14954, %14956
  %14958 = fneg float %14957
  %14959 = call float @llvm.fmuladd.f32(float %14950, float %14952, float %14958)
  %14960 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14959, ptr %14960, align 4, !tbaa !11
  %14961 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %14962 = load float, ptr %14961, align 4, !tbaa !11
  %14963 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %14964 = load float, ptr %14963, align 4, !tbaa !14
  %14965 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %14966 = load float, ptr %14965, align 4, !tbaa !14
  %14967 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %14968 = load float, ptr %14967, align 4, !tbaa !11
  %14969 = fmul float %14966, %14968
  %14970 = call float @llvm.fmuladd.f32(float %14962, float %14964, float %14969)
  %14971 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14970, ptr %14971, align 4, !tbaa !14
  %14972 = load ptr, ptr %14, align 8, !tbaa !5
  %14973 = load i32, ptr %21, align 4, !tbaa !9
  %14974 = sext i32 %14973 to i64
  %14975 = getelementptr inbounds %struct.complex, ptr %14972, i64 %14974
  %14976 = getelementptr inbounds %struct.complex, ptr %14975, i32 0, i32 0
  %14977 = load float, ptr %14976, align 4, !tbaa !11
  %14978 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14979 = load float, ptr %14978, align 4, !tbaa !11
  %14980 = fsub float %14977, %14979
  %14981 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %14980, ptr %14981, align 4, !tbaa !11
  %14982 = load ptr, ptr %14, align 8, !tbaa !5
  %14983 = load i32, ptr %21, align 4, !tbaa !9
  %14984 = sext i32 %14983 to i64
  %14985 = getelementptr inbounds %struct.complex, ptr %14982, i64 %14984
  %14986 = getelementptr inbounds %struct.complex, ptr %14985, i32 0, i32 1
  %14987 = load float, ptr %14986, align 4, !tbaa !14
  %14988 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14989 = load float, ptr %14988, align 4, !tbaa !14
  %14990 = fsub float %14987, %14989
  %14991 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %14990, ptr %14991, align 4, !tbaa !14
  %14992 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %14993 = load float, ptr %14992, align 4, !tbaa !11
  %14994 = load ptr, ptr %14, align 8, !tbaa !5
  %14995 = load i32, ptr %20, align 4, !tbaa !9
  %14996 = sext i32 %14995 to i64
  %14997 = getelementptr inbounds %struct.complex, ptr %14994, i64 %14996
  %14998 = getelementptr inbounds %struct.complex, ptr %14997, i32 0, i32 0
  store float %14993, ptr %14998, align 4, !tbaa !11
  %14999 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15000 = load float, ptr %14999, align 4, !tbaa !14
  %15001 = load ptr, ptr %14, align 8, !tbaa !5
  %15002 = load i32, ptr %20, align 4, !tbaa !9
  %15003 = sext i32 %15002 to i64
  %15004 = getelementptr inbounds %struct.complex, ptr %15001, i64 %15003
  %15005 = getelementptr inbounds %struct.complex, ptr %15004, i32 0, i32 1
  store float %15000, ptr %15005, align 4, !tbaa !14
  br label %15006

15006:                                            ; preds = %14174
  %15007 = load i32, ptr %49, align 4, !tbaa !9
  %15008 = add nsw i32 %15007, 1
  store i32 %15008, ptr %49, align 4, !tbaa !9
  br label %14170, !llvm.loop !32

15009:                                            ; preds = %14170
  br label %19663

15010:                                            ; preds = %10177
  %15011 = load ptr, ptr %12, align 8, !tbaa !5
  %15012 = getelementptr inbounds %struct.complex, ptr %15011, i64 1
  %15013 = getelementptr inbounds %struct.complex, ptr %15012, i32 0, i32 0
  %15014 = load float, ptr %15013, align 4, !tbaa !11
  %15015 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %15014, ptr %15015, align 4, !tbaa !11
  %15016 = load ptr, ptr %12, align 8, !tbaa !5
  %15017 = getelementptr inbounds %struct.complex, ptr %15016, i64 1
  %15018 = getelementptr inbounds %struct.complex, ptr %15017, i32 0, i32 1
  %15019 = load float, ptr %15018, align 4, !tbaa !14
  %15020 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %15019, ptr %15020, align 4, !tbaa !14
  %15021 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %15021, ptr %209, align 4
  %15022 = getelementptr inbounds { float, float }, ptr %209, i32 0, i32 0
  %15023 = load float, ptr %15022, align 4
  %15024 = getelementptr inbounds { float, float }, ptr %209, i32 0, i32 1
  %15025 = load float, ptr %15024, align 4
  %15026 = fneg float %15025
  %15027 = call ptr @_pCf(ptr noundef %31)
  %15028 = getelementptr inbounds { float, float }, ptr %15027, i32 0, i32 0
  %15029 = getelementptr inbounds { float, float }, ptr %15027, i32 0, i32 1
  store float %15023, ptr %15028, align 4
  store float %15026, ptr %15029, align 4
  %15030 = load ptr, ptr %13, align 8, !tbaa !5
  %15031 = getelementptr inbounds %struct.complex, ptr %15030, i32 0, i32 0
  %15032 = load float, ptr %15031, align 4, !tbaa !11
  %15033 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15034 = load float, ptr %15033, align 4, !tbaa !11
  %15035 = load ptr, ptr %13, align 8, !tbaa !5
  %15036 = getelementptr inbounds %struct.complex, ptr %15035, i32 0, i32 1
  %15037 = load float, ptr %15036, align 4, !tbaa !14
  %15038 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15039 = load float, ptr %15038, align 4, !tbaa !14
  %15040 = fmul float %15037, %15039
  %15041 = fneg float %15040
  %15042 = call float @llvm.fmuladd.f32(float %15032, float %15034, float %15041)
  %15043 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15042, ptr %15043, align 4, !tbaa !11
  %15044 = load ptr, ptr %13, align 8, !tbaa !5
  %15045 = getelementptr inbounds %struct.complex, ptr %15044, i32 0, i32 0
  %15046 = load float, ptr %15045, align 4, !tbaa !11
  %15047 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15048 = load float, ptr %15047, align 4, !tbaa !14
  %15049 = load ptr, ptr %13, align 8, !tbaa !5
  %15050 = getelementptr inbounds %struct.complex, ptr %15049, i32 0, i32 1
  %15051 = load float, ptr %15050, align 4, !tbaa !14
  %15052 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15053 = load float, ptr %15052, align 4, !tbaa !11
  %15054 = fmul float %15051, %15053
  %15055 = call float @llvm.fmuladd.f32(float %15046, float %15048, float %15054)
  %15056 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15055, ptr %15056, align 4, !tbaa !14
  %15057 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15058 = load float, ptr %15057, align 4, !tbaa !11
  %15059 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %15058, ptr %15059, align 4, !tbaa !11
  %15060 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15061 = load float, ptr %15060, align 4, !tbaa !14
  %15062 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %15061, ptr %15062, align 4, !tbaa !14
  %15063 = load ptr, ptr %12, align 8, !tbaa !5
  %15064 = getelementptr inbounds %struct.complex, ptr %15063, i64 2
  %15065 = getelementptr inbounds %struct.complex, ptr %15064, i32 0, i32 0
  %15066 = load float, ptr %15065, align 4, !tbaa !11
  %15067 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %15066, ptr %15067, align 4, !tbaa !11
  %15068 = load ptr, ptr %12, align 8, !tbaa !5
  %15069 = getelementptr inbounds %struct.complex, ptr %15068, i64 2
  %15070 = getelementptr inbounds %struct.complex, ptr %15069, i32 0, i32 1
  %15071 = load float, ptr %15070, align 4, !tbaa !14
  %15072 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %15071, ptr %15072, align 4, !tbaa !14
  %15073 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %15073, ptr %210, align 4
  %15074 = getelementptr inbounds { float, float }, ptr %210, i32 0, i32 0
  %15075 = load float, ptr %15074, align 4
  %15076 = getelementptr inbounds { float, float }, ptr %210, i32 0, i32 1
  %15077 = load float, ptr %15076, align 4
  %15078 = fneg float %15077
  %15079 = call ptr @_pCf(ptr noundef %31)
  %15080 = getelementptr inbounds { float, float }, ptr %15079, i32 0, i32 0
  %15081 = getelementptr inbounds { float, float }, ptr %15079, i32 0, i32 1
  store float %15075, ptr %15080, align 4
  store float %15078, ptr %15081, align 4
  %15082 = load ptr, ptr %13, align 8, !tbaa !5
  %15083 = getelementptr inbounds %struct.complex, ptr %15082, i32 0, i32 0
  %15084 = load float, ptr %15083, align 4, !tbaa !11
  %15085 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15086 = load float, ptr %15085, align 4, !tbaa !11
  %15087 = load ptr, ptr %13, align 8, !tbaa !5
  %15088 = getelementptr inbounds %struct.complex, ptr %15087, i32 0, i32 1
  %15089 = load float, ptr %15088, align 4, !tbaa !14
  %15090 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15091 = load float, ptr %15090, align 4, !tbaa !14
  %15092 = fmul float %15089, %15091
  %15093 = fneg float %15092
  %15094 = call float @llvm.fmuladd.f32(float %15084, float %15086, float %15093)
  %15095 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15094, ptr %15095, align 4, !tbaa !11
  %15096 = load ptr, ptr %13, align 8, !tbaa !5
  %15097 = getelementptr inbounds %struct.complex, ptr %15096, i32 0, i32 0
  %15098 = load float, ptr %15097, align 4, !tbaa !11
  %15099 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15100 = load float, ptr %15099, align 4, !tbaa !14
  %15101 = load ptr, ptr %13, align 8, !tbaa !5
  %15102 = getelementptr inbounds %struct.complex, ptr %15101, i32 0, i32 1
  %15103 = load float, ptr %15102, align 4, !tbaa !14
  %15104 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15105 = load float, ptr %15104, align 4, !tbaa !11
  %15106 = fmul float %15103, %15105
  %15107 = call float @llvm.fmuladd.f32(float %15098, float %15100, float %15106)
  %15108 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15107, ptr %15108, align 4, !tbaa !14
  %15109 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15110 = load float, ptr %15109, align 4, !tbaa !11
  %15111 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %15110, ptr %15111, align 4, !tbaa !11
  %15112 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15113 = load float, ptr %15112, align 4, !tbaa !14
  %15114 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %15113, ptr %15114, align 4, !tbaa !14
  %15115 = load ptr, ptr %12, align 8, !tbaa !5
  %15116 = getelementptr inbounds %struct.complex, ptr %15115, i64 3
  %15117 = getelementptr inbounds %struct.complex, ptr %15116, i32 0, i32 0
  %15118 = load float, ptr %15117, align 4, !tbaa !11
  %15119 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %15118, ptr %15119, align 4, !tbaa !11
  %15120 = load ptr, ptr %12, align 8, !tbaa !5
  %15121 = getelementptr inbounds %struct.complex, ptr %15120, i64 3
  %15122 = getelementptr inbounds %struct.complex, ptr %15121, i32 0, i32 1
  %15123 = load float, ptr %15122, align 4, !tbaa !14
  %15124 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %15123, ptr %15124, align 4, !tbaa !14
  %15125 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %15125, ptr %211, align 4
  %15126 = getelementptr inbounds { float, float }, ptr %211, i32 0, i32 0
  %15127 = load float, ptr %15126, align 4
  %15128 = getelementptr inbounds { float, float }, ptr %211, i32 0, i32 1
  %15129 = load float, ptr %15128, align 4
  %15130 = fneg float %15129
  %15131 = call ptr @_pCf(ptr noundef %31)
  %15132 = getelementptr inbounds { float, float }, ptr %15131, i32 0, i32 0
  %15133 = getelementptr inbounds { float, float }, ptr %15131, i32 0, i32 1
  store float %15127, ptr %15132, align 4
  store float %15130, ptr %15133, align 4
  %15134 = load ptr, ptr %13, align 8, !tbaa !5
  %15135 = getelementptr inbounds %struct.complex, ptr %15134, i32 0, i32 0
  %15136 = load float, ptr %15135, align 4, !tbaa !11
  %15137 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15138 = load float, ptr %15137, align 4, !tbaa !11
  %15139 = load ptr, ptr %13, align 8, !tbaa !5
  %15140 = getelementptr inbounds %struct.complex, ptr %15139, i32 0, i32 1
  %15141 = load float, ptr %15140, align 4, !tbaa !14
  %15142 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15143 = load float, ptr %15142, align 4, !tbaa !14
  %15144 = fmul float %15141, %15143
  %15145 = fneg float %15144
  %15146 = call float @llvm.fmuladd.f32(float %15136, float %15138, float %15145)
  %15147 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15146, ptr %15147, align 4, !tbaa !11
  %15148 = load ptr, ptr %13, align 8, !tbaa !5
  %15149 = getelementptr inbounds %struct.complex, ptr %15148, i32 0, i32 0
  %15150 = load float, ptr %15149, align 4, !tbaa !11
  %15151 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15152 = load float, ptr %15151, align 4, !tbaa !14
  %15153 = load ptr, ptr %13, align 8, !tbaa !5
  %15154 = getelementptr inbounds %struct.complex, ptr %15153, i32 0, i32 1
  %15155 = load float, ptr %15154, align 4, !tbaa !14
  %15156 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15157 = load float, ptr %15156, align 4, !tbaa !11
  %15158 = fmul float %15155, %15157
  %15159 = call float @llvm.fmuladd.f32(float %15150, float %15152, float %15158)
  %15160 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15159, ptr %15160, align 4, !tbaa !14
  %15161 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15162 = load float, ptr %15161, align 4, !tbaa !11
  %15163 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %15162, ptr %15163, align 4, !tbaa !11
  %15164 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15165 = load float, ptr %15164, align 4, !tbaa !14
  %15166 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %15165, ptr %15166, align 4, !tbaa !14
  %15167 = load ptr, ptr %12, align 8, !tbaa !5
  %15168 = getelementptr inbounds %struct.complex, ptr %15167, i64 4
  %15169 = getelementptr inbounds %struct.complex, ptr %15168, i32 0, i32 0
  %15170 = load float, ptr %15169, align 4, !tbaa !11
  %15171 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %15170, ptr %15171, align 4, !tbaa !11
  %15172 = load ptr, ptr %12, align 8, !tbaa !5
  %15173 = getelementptr inbounds %struct.complex, ptr %15172, i64 4
  %15174 = getelementptr inbounds %struct.complex, ptr %15173, i32 0, i32 1
  %15175 = load float, ptr %15174, align 4, !tbaa !14
  %15176 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %15175, ptr %15176, align 4, !tbaa !14
  %15177 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %15177, ptr %212, align 4
  %15178 = getelementptr inbounds { float, float }, ptr %212, i32 0, i32 0
  %15179 = load float, ptr %15178, align 4
  %15180 = getelementptr inbounds { float, float }, ptr %212, i32 0, i32 1
  %15181 = load float, ptr %15180, align 4
  %15182 = fneg float %15181
  %15183 = call ptr @_pCf(ptr noundef %31)
  %15184 = getelementptr inbounds { float, float }, ptr %15183, i32 0, i32 0
  %15185 = getelementptr inbounds { float, float }, ptr %15183, i32 0, i32 1
  store float %15179, ptr %15184, align 4
  store float %15182, ptr %15185, align 4
  %15186 = load ptr, ptr %13, align 8, !tbaa !5
  %15187 = getelementptr inbounds %struct.complex, ptr %15186, i32 0, i32 0
  %15188 = load float, ptr %15187, align 4, !tbaa !11
  %15189 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15190 = load float, ptr %15189, align 4, !tbaa !11
  %15191 = load ptr, ptr %13, align 8, !tbaa !5
  %15192 = getelementptr inbounds %struct.complex, ptr %15191, i32 0, i32 1
  %15193 = load float, ptr %15192, align 4, !tbaa !14
  %15194 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15195 = load float, ptr %15194, align 4, !tbaa !14
  %15196 = fmul float %15193, %15195
  %15197 = fneg float %15196
  %15198 = call float @llvm.fmuladd.f32(float %15188, float %15190, float %15197)
  %15199 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15198, ptr %15199, align 4, !tbaa !11
  %15200 = load ptr, ptr %13, align 8, !tbaa !5
  %15201 = getelementptr inbounds %struct.complex, ptr %15200, i32 0, i32 0
  %15202 = load float, ptr %15201, align 4, !tbaa !11
  %15203 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15204 = load float, ptr %15203, align 4, !tbaa !14
  %15205 = load ptr, ptr %13, align 8, !tbaa !5
  %15206 = getelementptr inbounds %struct.complex, ptr %15205, i32 0, i32 1
  %15207 = load float, ptr %15206, align 4, !tbaa !14
  %15208 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15209 = load float, ptr %15208, align 4, !tbaa !11
  %15210 = fmul float %15207, %15209
  %15211 = call float @llvm.fmuladd.f32(float %15202, float %15204, float %15210)
  %15212 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15211, ptr %15212, align 4, !tbaa !14
  %15213 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15214 = load float, ptr %15213, align 4, !tbaa !11
  %15215 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %15214, ptr %15215, align 4, !tbaa !11
  %15216 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15217 = load float, ptr %15216, align 4, !tbaa !14
  %15218 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %15217, ptr %15218, align 4, !tbaa !14
  %15219 = load ptr, ptr %12, align 8, !tbaa !5
  %15220 = getelementptr inbounds %struct.complex, ptr %15219, i64 5
  %15221 = getelementptr inbounds %struct.complex, ptr %15220, i32 0, i32 0
  %15222 = load float, ptr %15221, align 4, !tbaa !11
  %15223 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %15222, ptr %15223, align 4, !tbaa !11
  %15224 = load ptr, ptr %12, align 8, !tbaa !5
  %15225 = getelementptr inbounds %struct.complex, ptr %15224, i64 5
  %15226 = getelementptr inbounds %struct.complex, ptr %15225, i32 0, i32 1
  %15227 = load float, ptr %15226, align 4, !tbaa !14
  %15228 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %15227, ptr %15228, align 4, !tbaa !14
  %15229 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %15229, ptr %213, align 4
  %15230 = getelementptr inbounds { float, float }, ptr %213, i32 0, i32 0
  %15231 = load float, ptr %15230, align 4
  %15232 = getelementptr inbounds { float, float }, ptr %213, i32 0, i32 1
  %15233 = load float, ptr %15232, align 4
  %15234 = fneg float %15233
  %15235 = call ptr @_pCf(ptr noundef %31)
  %15236 = getelementptr inbounds { float, float }, ptr %15235, i32 0, i32 0
  %15237 = getelementptr inbounds { float, float }, ptr %15235, i32 0, i32 1
  store float %15231, ptr %15236, align 4
  store float %15234, ptr %15237, align 4
  %15238 = load ptr, ptr %13, align 8, !tbaa !5
  %15239 = getelementptr inbounds %struct.complex, ptr %15238, i32 0, i32 0
  %15240 = load float, ptr %15239, align 4, !tbaa !11
  %15241 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15242 = load float, ptr %15241, align 4, !tbaa !11
  %15243 = load ptr, ptr %13, align 8, !tbaa !5
  %15244 = getelementptr inbounds %struct.complex, ptr %15243, i32 0, i32 1
  %15245 = load float, ptr %15244, align 4, !tbaa !14
  %15246 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15247 = load float, ptr %15246, align 4, !tbaa !14
  %15248 = fmul float %15245, %15247
  %15249 = fneg float %15248
  %15250 = call float @llvm.fmuladd.f32(float %15240, float %15242, float %15249)
  %15251 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15250, ptr %15251, align 4, !tbaa !11
  %15252 = load ptr, ptr %13, align 8, !tbaa !5
  %15253 = getelementptr inbounds %struct.complex, ptr %15252, i32 0, i32 0
  %15254 = load float, ptr %15253, align 4, !tbaa !11
  %15255 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15256 = load float, ptr %15255, align 4, !tbaa !14
  %15257 = load ptr, ptr %13, align 8, !tbaa !5
  %15258 = getelementptr inbounds %struct.complex, ptr %15257, i32 0, i32 1
  %15259 = load float, ptr %15258, align 4, !tbaa !14
  %15260 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15261 = load float, ptr %15260, align 4, !tbaa !11
  %15262 = fmul float %15259, %15261
  %15263 = call float @llvm.fmuladd.f32(float %15254, float %15256, float %15262)
  %15264 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15263, ptr %15264, align 4, !tbaa !14
  %15265 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15266 = load float, ptr %15265, align 4, !tbaa !11
  %15267 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %15266, ptr %15267, align 4, !tbaa !11
  %15268 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15269 = load float, ptr %15268, align 4, !tbaa !14
  %15270 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %15269, ptr %15270, align 4, !tbaa !14
  %15271 = load ptr, ptr %12, align 8, !tbaa !5
  %15272 = getelementptr inbounds %struct.complex, ptr %15271, i64 6
  %15273 = getelementptr inbounds %struct.complex, ptr %15272, i32 0, i32 0
  %15274 = load float, ptr %15273, align 4, !tbaa !11
  %15275 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %15274, ptr %15275, align 4, !tbaa !11
  %15276 = load ptr, ptr %12, align 8, !tbaa !5
  %15277 = getelementptr inbounds %struct.complex, ptr %15276, i64 6
  %15278 = getelementptr inbounds %struct.complex, ptr %15277, i32 0, i32 1
  %15279 = load float, ptr %15278, align 4, !tbaa !14
  %15280 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %15279, ptr %15280, align 4, !tbaa !14
  %15281 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %15281, ptr %214, align 4
  %15282 = getelementptr inbounds { float, float }, ptr %214, i32 0, i32 0
  %15283 = load float, ptr %15282, align 4
  %15284 = getelementptr inbounds { float, float }, ptr %214, i32 0, i32 1
  %15285 = load float, ptr %15284, align 4
  %15286 = fneg float %15285
  %15287 = call ptr @_pCf(ptr noundef %31)
  %15288 = getelementptr inbounds { float, float }, ptr %15287, i32 0, i32 0
  %15289 = getelementptr inbounds { float, float }, ptr %15287, i32 0, i32 1
  store float %15283, ptr %15288, align 4
  store float %15286, ptr %15289, align 4
  %15290 = load ptr, ptr %13, align 8, !tbaa !5
  %15291 = getelementptr inbounds %struct.complex, ptr %15290, i32 0, i32 0
  %15292 = load float, ptr %15291, align 4, !tbaa !11
  %15293 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15294 = load float, ptr %15293, align 4, !tbaa !11
  %15295 = load ptr, ptr %13, align 8, !tbaa !5
  %15296 = getelementptr inbounds %struct.complex, ptr %15295, i32 0, i32 1
  %15297 = load float, ptr %15296, align 4, !tbaa !14
  %15298 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15299 = load float, ptr %15298, align 4, !tbaa !14
  %15300 = fmul float %15297, %15299
  %15301 = fneg float %15300
  %15302 = call float @llvm.fmuladd.f32(float %15292, float %15294, float %15301)
  %15303 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15302, ptr %15303, align 4, !tbaa !11
  %15304 = load ptr, ptr %13, align 8, !tbaa !5
  %15305 = getelementptr inbounds %struct.complex, ptr %15304, i32 0, i32 0
  %15306 = load float, ptr %15305, align 4, !tbaa !11
  %15307 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15308 = load float, ptr %15307, align 4, !tbaa !14
  %15309 = load ptr, ptr %13, align 8, !tbaa !5
  %15310 = getelementptr inbounds %struct.complex, ptr %15309, i32 0, i32 1
  %15311 = load float, ptr %15310, align 4, !tbaa !14
  %15312 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15313 = load float, ptr %15312, align 4, !tbaa !11
  %15314 = fmul float %15311, %15313
  %15315 = call float @llvm.fmuladd.f32(float %15306, float %15308, float %15314)
  %15316 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15315, ptr %15316, align 4, !tbaa !14
  %15317 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15318 = load float, ptr %15317, align 4, !tbaa !11
  %15319 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %15318, ptr %15319, align 4, !tbaa !11
  %15320 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15321 = load float, ptr %15320, align 4, !tbaa !14
  %15322 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %15321, ptr %15322, align 4, !tbaa !14
  %15323 = load ptr, ptr %12, align 8, !tbaa !5
  %15324 = getelementptr inbounds %struct.complex, ptr %15323, i64 7
  %15325 = getelementptr inbounds %struct.complex, ptr %15324, i32 0, i32 0
  %15326 = load float, ptr %15325, align 4, !tbaa !11
  %15327 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %15326, ptr %15327, align 4, !tbaa !11
  %15328 = load ptr, ptr %12, align 8, !tbaa !5
  %15329 = getelementptr inbounds %struct.complex, ptr %15328, i64 7
  %15330 = getelementptr inbounds %struct.complex, ptr %15329, i32 0, i32 1
  %15331 = load float, ptr %15330, align 4, !tbaa !14
  %15332 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %15331, ptr %15332, align 4, !tbaa !14
  %15333 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %15333, ptr %215, align 4
  %15334 = getelementptr inbounds { float, float }, ptr %215, i32 0, i32 0
  %15335 = load float, ptr %15334, align 4
  %15336 = getelementptr inbounds { float, float }, ptr %215, i32 0, i32 1
  %15337 = load float, ptr %15336, align 4
  %15338 = fneg float %15337
  %15339 = call ptr @_pCf(ptr noundef %31)
  %15340 = getelementptr inbounds { float, float }, ptr %15339, i32 0, i32 0
  %15341 = getelementptr inbounds { float, float }, ptr %15339, i32 0, i32 1
  store float %15335, ptr %15340, align 4
  store float %15338, ptr %15341, align 4
  %15342 = load ptr, ptr %13, align 8, !tbaa !5
  %15343 = getelementptr inbounds %struct.complex, ptr %15342, i32 0, i32 0
  %15344 = load float, ptr %15343, align 4, !tbaa !11
  %15345 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15346 = load float, ptr %15345, align 4, !tbaa !11
  %15347 = load ptr, ptr %13, align 8, !tbaa !5
  %15348 = getelementptr inbounds %struct.complex, ptr %15347, i32 0, i32 1
  %15349 = load float, ptr %15348, align 4, !tbaa !14
  %15350 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15351 = load float, ptr %15350, align 4, !tbaa !14
  %15352 = fmul float %15349, %15351
  %15353 = fneg float %15352
  %15354 = call float @llvm.fmuladd.f32(float %15344, float %15346, float %15353)
  %15355 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15354, ptr %15355, align 4, !tbaa !11
  %15356 = load ptr, ptr %13, align 8, !tbaa !5
  %15357 = getelementptr inbounds %struct.complex, ptr %15356, i32 0, i32 0
  %15358 = load float, ptr %15357, align 4, !tbaa !11
  %15359 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15360 = load float, ptr %15359, align 4, !tbaa !14
  %15361 = load ptr, ptr %13, align 8, !tbaa !5
  %15362 = getelementptr inbounds %struct.complex, ptr %15361, i32 0, i32 1
  %15363 = load float, ptr %15362, align 4, !tbaa !14
  %15364 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15365 = load float, ptr %15364, align 4, !tbaa !11
  %15366 = fmul float %15363, %15365
  %15367 = call float @llvm.fmuladd.f32(float %15358, float %15360, float %15366)
  %15368 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15367, ptr %15368, align 4, !tbaa !14
  %15369 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15370 = load float, ptr %15369, align 4, !tbaa !11
  %15371 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %15370, ptr %15371, align 4, !tbaa !11
  %15372 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15373 = load float, ptr %15372, align 4, !tbaa !14
  %15374 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %15373, ptr %15374, align 4, !tbaa !14
  %15375 = load ptr, ptr %12, align 8, !tbaa !5
  %15376 = getelementptr inbounds %struct.complex, ptr %15375, i64 8
  %15377 = getelementptr inbounds %struct.complex, ptr %15376, i32 0, i32 0
  %15378 = load float, ptr %15377, align 4, !tbaa !11
  %15379 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %15378, ptr %15379, align 4, !tbaa !11
  %15380 = load ptr, ptr %12, align 8, !tbaa !5
  %15381 = getelementptr inbounds %struct.complex, ptr %15380, i64 8
  %15382 = getelementptr inbounds %struct.complex, ptr %15381, i32 0, i32 1
  %15383 = load float, ptr %15382, align 4, !tbaa !14
  %15384 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %15383, ptr %15384, align 4, !tbaa !14
  %15385 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %15385, ptr %216, align 4
  %15386 = getelementptr inbounds { float, float }, ptr %216, i32 0, i32 0
  %15387 = load float, ptr %15386, align 4
  %15388 = getelementptr inbounds { float, float }, ptr %216, i32 0, i32 1
  %15389 = load float, ptr %15388, align 4
  %15390 = fneg float %15389
  %15391 = call ptr @_pCf(ptr noundef %31)
  %15392 = getelementptr inbounds { float, float }, ptr %15391, i32 0, i32 0
  %15393 = getelementptr inbounds { float, float }, ptr %15391, i32 0, i32 1
  store float %15387, ptr %15392, align 4
  store float %15390, ptr %15393, align 4
  %15394 = load ptr, ptr %13, align 8, !tbaa !5
  %15395 = getelementptr inbounds %struct.complex, ptr %15394, i32 0, i32 0
  %15396 = load float, ptr %15395, align 4, !tbaa !11
  %15397 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15398 = load float, ptr %15397, align 4, !tbaa !11
  %15399 = load ptr, ptr %13, align 8, !tbaa !5
  %15400 = getelementptr inbounds %struct.complex, ptr %15399, i32 0, i32 1
  %15401 = load float, ptr %15400, align 4, !tbaa !14
  %15402 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15403 = load float, ptr %15402, align 4, !tbaa !14
  %15404 = fmul float %15401, %15403
  %15405 = fneg float %15404
  %15406 = call float @llvm.fmuladd.f32(float %15396, float %15398, float %15405)
  %15407 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15406, ptr %15407, align 4, !tbaa !11
  %15408 = load ptr, ptr %13, align 8, !tbaa !5
  %15409 = getelementptr inbounds %struct.complex, ptr %15408, i32 0, i32 0
  %15410 = load float, ptr %15409, align 4, !tbaa !11
  %15411 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15412 = load float, ptr %15411, align 4, !tbaa !14
  %15413 = load ptr, ptr %13, align 8, !tbaa !5
  %15414 = getelementptr inbounds %struct.complex, ptr %15413, i32 0, i32 1
  %15415 = load float, ptr %15414, align 4, !tbaa !14
  %15416 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15417 = load float, ptr %15416, align 4, !tbaa !11
  %15418 = fmul float %15415, %15417
  %15419 = call float @llvm.fmuladd.f32(float %15410, float %15412, float %15418)
  %15420 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15419, ptr %15420, align 4, !tbaa !14
  %15421 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15422 = load float, ptr %15421, align 4, !tbaa !11
  %15423 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %15422, ptr %15423, align 4, !tbaa !11
  %15424 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15425 = load float, ptr %15424, align 4, !tbaa !14
  %15426 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %15425, ptr %15426, align 4, !tbaa !14
  %15427 = load ptr, ptr %10, align 8, !tbaa !5
  %15428 = load i32, ptr %15427, align 4, !tbaa !9
  store i32 %15428, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %15429

15429:                                            ; preds = %16385, %15010
  %15430 = load i32, ptr %49, align 4, !tbaa !9
  %15431 = load i32, ptr %19, align 4, !tbaa !9
  %15432 = icmp sle i32 %15430, %15431
  br i1 %15432, label %15433, label %16388

15433:                                            ; preds = %15429
  %15434 = load i32, ptr %49, align 4, !tbaa !9
  %15435 = load i32, ptr %17, align 4, !tbaa !9
  %15436 = add nsw i32 %15434, %15435
  store i32 %15436, ptr %20, align 4, !tbaa !9
  %15437 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %15438 = load float, ptr %15437, align 4, !tbaa !11
  %15439 = load ptr, ptr %14, align 8, !tbaa !5
  %15440 = load i32, ptr %20, align 4, !tbaa !9
  %15441 = sext i32 %15440 to i64
  %15442 = getelementptr inbounds %struct.complex, ptr %15439, i64 %15441
  %15443 = getelementptr inbounds %struct.complex, ptr %15442, i32 0, i32 0
  %15444 = load float, ptr %15443, align 4, !tbaa !11
  %15445 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %15446 = load float, ptr %15445, align 4, !tbaa !14
  %15447 = load ptr, ptr %14, align 8, !tbaa !5
  %15448 = load i32, ptr %20, align 4, !tbaa !9
  %15449 = sext i32 %15448 to i64
  %15450 = getelementptr inbounds %struct.complex, ptr %15447, i64 %15449
  %15451 = getelementptr inbounds %struct.complex, ptr %15450, i32 0, i32 1
  %15452 = load float, ptr %15451, align 4, !tbaa !14
  %15453 = fmul float %15446, %15452
  %15454 = fneg float %15453
  %15455 = call float @llvm.fmuladd.f32(float %15438, float %15444, float %15454)
  %15456 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %15455, ptr %15456, align 4, !tbaa !11
  %15457 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %15458 = load float, ptr %15457, align 4, !tbaa !11
  %15459 = load ptr, ptr %14, align 8, !tbaa !5
  %15460 = load i32, ptr %20, align 4, !tbaa !9
  %15461 = sext i32 %15460 to i64
  %15462 = getelementptr inbounds %struct.complex, ptr %15459, i64 %15461
  %15463 = getelementptr inbounds %struct.complex, ptr %15462, i32 0, i32 1
  %15464 = load float, ptr %15463, align 4, !tbaa !14
  %15465 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %15466 = load float, ptr %15465, align 4, !tbaa !14
  %15467 = load ptr, ptr %14, align 8, !tbaa !5
  %15468 = load i32, ptr %20, align 4, !tbaa !9
  %15469 = sext i32 %15468 to i64
  %15470 = getelementptr inbounds %struct.complex, ptr %15467, i64 %15469
  %15471 = getelementptr inbounds %struct.complex, ptr %15470, i32 0, i32 0
  %15472 = load float, ptr %15471, align 4, !tbaa !11
  %15473 = fmul float %15466, %15472
  %15474 = call float @llvm.fmuladd.f32(float %15458, float %15464, float %15473)
  %15475 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %15474, ptr %15475, align 4, !tbaa !14
  %15476 = load i32, ptr %49, align 4, !tbaa !9
  %15477 = load i32, ptr %17, align 4, !tbaa !9
  %15478 = shl i32 %15477, 1
  %15479 = add nsw i32 %15476, %15478
  store i32 %15479, ptr %21, align 4, !tbaa !9
  %15480 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %15481 = load float, ptr %15480, align 4, !tbaa !11
  %15482 = load ptr, ptr %14, align 8, !tbaa !5
  %15483 = load i32, ptr %21, align 4, !tbaa !9
  %15484 = sext i32 %15483 to i64
  %15485 = getelementptr inbounds %struct.complex, ptr %15482, i64 %15484
  %15486 = getelementptr inbounds %struct.complex, ptr %15485, i32 0, i32 0
  %15487 = load float, ptr %15486, align 4, !tbaa !11
  %15488 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %15489 = load float, ptr %15488, align 4, !tbaa !14
  %15490 = load ptr, ptr %14, align 8, !tbaa !5
  %15491 = load i32, ptr %21, align 4, !tbaa !9
  %15492 = sext i32 %15491 to i64
  %15493 = getelementptr inbounds %struct.complex, ptr %15490, i64 %15492
  %15494 = getelementptr inbounds %struct.complex, ptr %15493, i32 0, i32 1
  %15495 = load float, ptr %15494, align 4, !tbaa !14
  %15496 = fmul float %15489, %15495
  %15497 = fneg float %15496
  %15498 = call float @llvm.fmuladd.f32(float %15481, float %15487, float %15497)
  %15499 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %15498, ptr %15499, align 4, !tbaa !11
  %15500 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %15501 = load float, ptr %15500, align 4, !tbaa !11
  %15502 = load ptr, ptr %14, align 8, !tbaa !5
  %15503 = load i32, ptr %21, align 4, !tbaa !9
  %15504 = sext i32 %15503 to i64
  %15505 = getelementptr inbounds %struct.complex, ptr %15502, i64 %15504
  %15506 = getelementptr inbounds %struct.complex, ptr %15505, i32 0, i32 1
  %15507 = load float, ptr %15506, align 4, !tbaa !14
  %15508 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %15509 = load float, ptr %15508, align 4, !tbaa !14
  %15510 = load ptr, ptr %14, align 8, !tbaa !5
  %15511 = load i32, ptr %21, align 4, !tbaa !9
  %15512 = sext i32 %15511 to i64
  %15513 = getelementptr inbounds %struct.complex, ptr %15510, i64 %15512
  %15514 = getelementptr inbounds %struct.complex, ptr %15513, i32 0, i32 0
  %15515 = load float, ptr %15514, align 4, !tbaa !11
  %15516 = fmul float %15509, %15515
  %15517 = call float @llvm.fmuladd.f32(float %15501, float %15507, float %15516)
  %15518 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %15517, ptr %15518, align 4, !tbaa !14
  %15519 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %15520 = load float, ptr %15519, align 4, !tbaa !11
  %15521 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %15522 = load float, ptr %15521, align 4, !tbaa !11
  %15523 = fadd float %15520, %15522
  %15524 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %15523, ptr %15524, align 4, !tbaa !11
  %15525 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %15526 = load float, ptr %15525, align 4, !tbaa !14
  %15527 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %15528 = load float, ptr %15527, align 4, !tbaa !14
  %15529 = fadd float %15526, %15528
  %15530 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %15529, ptr %15530, align 4, !tbaa !14
  %15531 = load i32, ptr %49, align 4, !tbaa !9
  %15532 = load i32, ptr %17, align 4, !tbaa !9
  %15533 = mul nsw i32 %15532, 3
  %15534 = add nsw i32 %15531, %15533
  store i32 %15534, ptr %22, align 4, !tbaa !9
  %15535 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %15536 = load float, ptr %15535, align 4, !tbaa !11
  %15537 = load ptr, ptr %14, align 8, !tbaa !5
  %15538 = load i32, ptr %22, align 4, !tbaa !9
  %15539 = sext i32 %15538 to i64
  %15540 = getelementptr inbounds %struct.complex, ptr %15537, i64 %15539
  %15541 = getelementptr inbounds %struct.complex, ptr %15540, i32 0, i32 0
  %15542 = load float, ptr %15541, align 4, !tbaa !11
  %15543 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %15544 = load float, ptr %15543, align 4, !tbaa !14
  %15545 = load ptr, ptr %14, align 8, !tbaa !5
  %15546 = load i32, ptr %22, align 4, !tbaa !9
  %15547 = sext i32 %15546 to i64
  %15548 = getelementptr inbounds %struct.complex, ptr %15545, i64 %15547
  %15549 = getelementptr inbounds %struct.complex, ptr %15548, i32 0, i32 1
  %15550 = load float, ptr %15549, align 4, !tbaa !14
  %15551 = fmul float %15544, %15550
  %15552 = fneg float %15551
  %15553 = call float @llvm.fmuladd.f32(float %15536, float %15542, float %15552)
  %15554 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %15553, ptr %15554, align 4, !tbaa !11
  %15555 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %15556 = load float, ptr %15555, align 4, !tbaa !11
  %15557 = load ptr, ptr %14, align 8, !tbaa !5
  %15558 = load i32, ptr %22, align 4, !tbaa !9
  %15559 = sext i32 %15558 to i64
  %15560 = getelementptr inbounds %struct.complex, ptr %15557, i64 %15559
  %15561 = getelementptr inbounds %struct.complex, ptr %15560, i32 0, i32 1
  %15562 = load float, ptr %15561, align 4, !tbaa !14
  %15563 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %15564 = load float, ptr %15563, align 4, !tbaa !14
  %15565 = load ptr, ptr %14, align 8, !tbaa !5
  %15566 = load i32, ptr %22, align 4, !tbaa !9
  %15567 = sext i32 %15566 to i64
  %15568 = getelementptr inbounds %struct.complex, ptr %15565, i64 %15567
  %15569 = getelementptr inbounds %struct.complex, ptr %15568, i32 0, i32 0
  %15570 = load float, ptr %15569, align 4, !tbaa !11
  %15571 = fmul float %15564, %15570
  %15572 = call float @llvm.fmuladd.f32(float %15556, float %15562, float %15571)
  %15573 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %15572, ptr %15573, align 4, !tbaa !14
  %15574 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %15575 = load float, ptr %15574, align 4, !tbaa !11
  %15576 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %15577 = load float, ptr %15576, align 4, !tbaa !11
  %15578 = fadd float %15575, %15577
  %15579 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %15578, ptr %15579, align 4, !tbaa !11
  %15580 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %15581 = load float, ptr %15580, align 4, !tbaa !14
  %15582 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %15583 = load float, ptr %15582, align 4, !tbaa !14
  %15584 = fadd float %15581, %15583
  %15585 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %15584, ptr %15585, align 4, !tbaa !14
  %15586 = load i32, ptr %49, align 4, !tbaa !9
  %15587 = load i32, ptr %17, align 4, !tbaa !9
  %15588 = shl i32 %15587, 2
  %15589 = add nsw i32 %15586, %15588
  store i32 %15589, ptr %23, align 4, !tbaa !9
  %15590 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %15591 = load float, ptr %15590, align 4, !tbaa !11
  %15592 = load ptr, ptr %14, align 8, !tbaa !5
  %15593 = load i32, ptr %23, align 4, !tbaa !9
  %15594 = sext i32 %15593 to i64
  %15595 = getelementptr inbounds %struct.complex, ptr %15592, i64 %15594
  %15596 = getelementptr inbounds %struct.complex, ptr %15595, i32 0, i32 0
  %15597 = load float, ptr %15596, align 4, !tbaa !11
  %15598 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %15599 = load float, ptr %15598, align 4, !tbaa !14
  %15600 = load ptr, ptr %14, align 8, !tbaa !5
  %15601 = load i32, ptr %23, align 4, !tbaa !9
  %15602 = sext i32 %15601 to i64
  %15603 = getelementptr inbounds %struct.complex, ptr %15600, i64 %15602
  %15604 = getelementptr inbounds %struct.complex, ptr %15603, i32 0, i32 1
  %15605 = load float, ptr %15604, align 4, !tbaa !14
  %15606 = fmul float %15599, %15605
  %15607 = fneg float %15606
  %15608 = call float @llvm.fmuladd.f32(float %15591, float %15597, float %15607)
  %15609 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %15608, ptr %15609, align 4, !tbaa !11
  %15610 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %15611 = load float, ptr %15610, align 4, !tbaa !11
  %15612 = load ptr, ptr %14, align 8, !tbaa !5
  %15613 = load i32, ptr %23, align 4, !tbaa !9
  %15614 = sext i32 %15613 to i64
  %15615 = getelementptr inbounds %struct.complex, ptr %15612, i64 %15614
  %15616 = getelementptr inbounds %struct.complex, ptr %15615, i32 0, i32 1
  %15617 = load float, ptr %15616, align 4, !tbaa !14
  %15618 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %15619 = load float, ptr %15618, align 4, !tbaa !14
  %15620 = load ptr, ptr %14, align 8, !tbaa !5
  %15621 = load i32, ptr %23, align 4, !tbaa !9
  %15622 = sext i32 %15621 to i64
  %15623 = getelementptr inbounds %struct.complex, ptr %15620, i64 %15622
  %15624 = getelementptr inbounds %struct.complex, ptr %15623, i32 0, i32 0
  %15625 = load float, ptr %15624, align 4, !tbaa !11
  %15626 = fmul float %15619, %15625
  %15627 = call float @llvm.fmuladd.f32(float %15611, float %15617, float %15626)
  %15628 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %15627, ptr %15628, align 4, !tbaa !14
  %15629 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %15630 = load float, ptr %15629, align 4, !tbaa !11
  %15631 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %15632 = load float, ptr %15631, align 4, !tbaa !11
  %15633 = fadd float %15630, %15632
  %15634 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %15633, ptr %15634, align 4, !tbaa !11
  %15635 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %15636 = load float, ptr %15635, align 4, !tbaa !14
  %15637 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %15638 = load float, ptr %15637, align 4, !tbaa !14
  %15639 = fadd float %15636, %15638
  %15640 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %15639, ptr %15640, align 4, !tbaa !14
  %15641 = load i32, ptr %49, align 4, !tbaa !9
  %15642 = load i32, ptr %17, align 4, !tbaa !9
  %15643 = mul nsw i32 %15642, 5
  %15644 = add nsw i32 %15641, %15643
  store i32 %15644, ptr %24, align 4, !tbaa !9
  %15645 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %15646 = load float, ptr %15645, align 4, !tbaa !11
  %15647 = load ptr, ptr %14, align 8, !tbaa !5
  %15648 = load i32, ptr %24, align 4, !tbaa !9
  %15649 = sext i32 %15648 to i64
  %15650 = getelementptr inbounds %struct.complex, ptr %15647, i64 %15649
  %15651 = getelementptr inbounds %struct.complex, ptr %15650, i32 0, i32 0
  %15652 = load float, ptr %15651, align 4, !tbaa !11
  %15653 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %15654 = load float, ptr %15653, align 4, !tbaa !14
  %15655 = load ptr, ptr %14, align 8, !tbaa !5
  %15656 = load i32, ptr %24, align 4, !tbaa !9
  %15657 = sext i32 %15656 to i64
  %15658 = getelementptr inbounds %struct.complex, ptr %15655, i64 %15657
  %15659 = getelementptr inbounds %struct.complex, ptr %15658, i32 0, i32 1
  %15660 = load float, ptr %15659, align 4, !tbaa !14
  %15661 = fmul float %15654, %15660
  %15662 = fneg float %15661
  %15663 = call float @llvm.fmuladd.f32(float %15646, float %15652, float %15662)
  %15664 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %15663, ptr %15664, align 4, !tbaa !11
  %15665 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %15666 = load float, ptr %15665, align 4, !tbaa !11
  %15667 = load ptr, ptr %14, align 8, !tbaa !5
  %15668 = load i32, ptr %24, align 4, !tbaa !9
  %15669 = sext i32 %15668 to i64
  %15670 = getelementptr inbounds %struct.complex, ptr %15667, i64 %15669
  %15671 = getelementptr inbounds %struct.complex, ptr %15670, i32 0, i32 1
  %15672 = load float, ptr %15671, align 4, !tbaa !14
  %15673 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %15674 = load float, ptr %15673, align 4, !tbaa !14
  %15675 = load ptr, ptr %14, align 8, !tbaa !5
  %15676 = load i32, ptr %24, align 4, !tbaa !9
  %15677 = sext i32 %15676 to i64
  %15678 = getelementptr inbounds %struct.complex, ptr %15675, i64 %15677
  %15679 = getelementptr inbounds %struct.complex, ptr %15678, i32 0, i32 0
  %15680 = load float, ptr %15679, align 4, !tbaa !11
  %15681 = fmul float %15674, %15680
  %15682 = call float @llvm.fmuladd.f32(float %15666, float %15672, float %15681)
  %15683 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %15682, ptr %15683, align 4, !tbaa !14
  %15684 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %15685 = load float, ptr %15684, align 4, !tbaa !11
  %15686 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %15687 = load float, ptr %15686, align 4, !tbaa !11
  %15688 = fadd float %15685, %15687
  %15689 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %15688, ptr %15689, align 4, !tbaa !11
  %15690 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %15691 = load float, ptr %15690, align 4, !tbaa !14
  %15692 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %15693 = load float, ptr %15692, align 4, !tbaa !14
  %15694 = fadd float %15691, %15693
  %15695 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %15694, ptr %15695, align 4, !tbaa !14
  %15696 = load i32, ptr %49, align 4, !tbaa !9
  %15697 = load i32, ptr %17, align 4, !tbaa !9
  %15698 = mul nsw i32 %15697, 6
  %15699 = add nsw i32 %15696, %15698
  store i32 %15699, ptr %25, align 4, !tbaa !9
  %15700 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %15701 = load float, ptr %15700, align 4, !tbaa !11
  %15702 = load ptr, ptr %14, align 8, !tbaa !5
  %15703 = load i32, ptr %25, align 4, !tbaa !9
  %15704 = sext i32 %15703 to i64
  %15705 = getelementptr inbounds %struct.complex, ptr %15702, i64 %15704
  %15706 = getelementptr inbounds %struct.complex, ptr %15705, i32 0, i32 0
  %15707 = load float, ptr %15706, align 4, !tbaa !11
  %15708 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %15709 = load float, ptr %15708, align 4, !tbaa !14
  %15710 = load ptr, ptr %14, align 8, !tbaa !5
  %15711 = load i32, ptr %25, align 4, !tbaa !9
  %15712 = sext i32 %15711 to i64
  %15713 = getelementptr inbounds %struct.complex, ptr %15710, i64 %15712
  %15714 = getelementptr inbounds %struct.complex, ptr %15713, i32 0, i32 1
  %15715 = load float, ptr %15714, align 4, !tbaa !14
  %15716 = fmul float %15709, %15715
  %15717 = fneg float %15716
  %15718 = call float @llvm.fmuladd.f32(float %15701, float %15707, float %15717)
  %15719 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %15718, ptr %15719, align 4, !tbaa !11
  %15720 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %15721 = load float, ptr %15720, align 4, !tbaa !11
  %15722 = load ptr, ptr %14, align 8, !tbaa !5
  %15723 = load i32, ptr %25, align 4, !tbaa !9
  %15724 = sext i32 %15723 to i64
  %15725 = getelementptr inbounds %struct.complex, ptr %15722, i64 %15724
  %15726 = getelementptr inbounds %struct.complex, ptr %15725, i32 0, i32 1
  %15727 = load float, ptr %15726, align 4, !tbaa !14
  %15728 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %15729 = load float, ptr %15728, align 4, !tbaa !14
  %15730 = load ptr, ptr %14, align 8, !tbaa !5
  %15731 = load i32, ptr %25, align 4, !tbaa !9
  %15732 = sext i32 %15731 to i64
  %15733 = getelementptr inbounds %struct.complex, ptr %15730, i64 %15732
  %15734 = getelementptr inbounds %struct.complex, ptr %15733, i32 0, i32 0
  %15735 = load float, ptr %15734, align 4, !tbaa !11
  %15736 = fmul float %15729, %15735
  %15737 = call float @llvm.fmuladd.f32(float %15721, float %15727, float %15736)
  %15738 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %15737, ptr %15738, align 4, !tbaa !14
  %15739 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %15740 = load float, ptr %15739, align 4, !tbaa !11
  %15741 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %15742 = load float, ptr %15741, align 4, !tbaa !11
  %15743 = fadd float %15740, %15742
  %15744 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15743, ptr %15744, align 4, !tbaa !11
  %15745 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %15746 = load float, ptr %15745, align 4, !tbaa !14
  %15747 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %15748 = load float, ptr %15747, align 4, !tbaa !14
  %15749 = fadd float %15746, %15748
  %15750 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15749, ptr %15750, align 4, !tbaa !14
  %15751 = load i32, ptr %49, align 4, !tbaa !9
  %15752 = load i32, ptr %17, align 4, !tbaa !9
  %15753 = mul nsw i32 %15752, 7
  %15754 = add nsw i32 %15751, %15753
  store i32 %15754, ptr %26, align 4, !tbaa !9
  %15755 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %15756 = load float, ptr %15755, align 4, !tbaa !11
  %15757 = load ptr, ptr %14, align 8, !tbaa !5
  %15758 = load i32, ptr %26, align 4, !tbaa !9
  %15759 = sext i32 %15758 to i64
  %15760 = getelementptr inbounds %struct.complex, ptr %15757, i64 %15759
  %15761 = getelementptr inbounds %struct.complex, ptr %15760, i32 0, i32 0
  %15762 = load float, ptr %15761, align 4, !tbaa !11
  %15763 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %15764 = load float, ptr %15763, align 4, !tbaa !14
  %15765 = load ptr, ptr %14, align 8, !tbaa !5
  %15766 = load i32, ptr %26, align 4, !tbaa !9
  %15767 = sext i32 %15766 to i64
  %15768 = getelementptr inbounds %struct.complex, ptr %15765, i64 %15767
  %15769 = getelementptr inbounds %struct.complex, ptr %15768, i32 0, i32 1
  %15770 = load float, ptr %15769, align 4, !tbaa !14
  %15771 = fmul float %15764, %15770
  %15772 = fneg float %15771
  %15773 = call float @llvm.fmuladd.f32(float %15756, float %15762, float %15772)
  %15774 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %15773, ptr %15774, align 4, !tbaa !11
  %15775 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %15776 = load float, ptr %15775, align 4, !tbaa !11
  %15777 = load ptr, ptr %14, align 8, !tbaa !5
  %15778 = load i32, ptr %26, align 4, !tbaa !9
  %15779 = sext i32 %15778 to i64
  %15780 = getelementptr inbounds %struct.complex, ptr %15777, i64 %15779
  %15781 = getelementptr inbounds %struct.complex, ptr %15780, i32 0, i32 1
  %15782 = load float, ptr %15781, align 4, !tbaa !14
  %15783 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %15784 = load float, ptr %15783, align 4, !tbaa !14
  %15785 = load ptr, ptr %14, align 8, !tbaa !5
  %15786 = load i32, ptr %26, align 4, !tbaa !9
  %15787 = sext i32 %15786 to i64
  %15788 = getelementptr inbounds %struct.complex, ptr %15785, i64 %15787
  %15789 = getelementptr inbounds %struct.complex, ptr %15788, i32 0, i32 0
  %15790 = load float, ptr %15789, align 4, !tbaa !11
  %15791 = fmul float %15784, %15790
  %15792 = call float @llvm.fmuladd.f32(float %15776, float %15782, float %15791)
  %15793 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %15792, ptr %15793, align 4, !tbaa !14
  %15794 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15795 = load float, ptr %15794, align 4, !tbaa !11
  %15796 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %15797 = load float, ptr %15796, align 4, !tbaa !11
  %15798 = fadd float %15795, %15797
  %15799 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15798, ptr %15799, align 4, !tbaa !11
  %15800 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15801 = load float, ptr %15800, align 4, !tbaa !14
  %15802 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %15803 = load float, ptr %15802, align 4, !tbaa !14
  %15804 = fadd float %15801, %15803
  %15805 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15804, ptr %15805, align 4, !tbaa !14
  %15806 = load i32, ptr %49, align 4, !tbaa !9
  %15807 = load i32, ptr %17, align 4, !tbaa !9
  %15808 = shl i32 %15807, 3
  %15809 = add nsw i32 %15806, %15808
  store i32 %15809, ptr %27, align 4, !tbaa !9
  %15810 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %15811 = load float, ptr %15810, align 4, !tbaa !11
  %15812 = load ptr, ptr %14, align 8, !tbaa !5
  %15813 = load i32, ptr %27, align 4, !tbaa !9
  %15814 = sext i32 %15813 to i64
  %15815 = getelementptr inbounds %struct.complex, ptr %15812, i64 %15814
  %15816 = getelementptr inbounds %struct.complex, ptr %15815, i32 0, i32 0
  %15817 = load float, ptr %15816, align 4, !tbaa !11
  %15818 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %15819 = load float, ptr %15818, align 4, !tbaa !14
  %15820 = load ptr, ptr %14, align 8, !tbaa !5
  %15821 = load i32, ptr %27, align 4, !tbaa !9
  %15822 = sext i32 %15821 to i64
  %15823 = getelementptr inbounds %struct.complex, ptr %15820, i64 %15822
  %15824 = getelementptr inbounds %struct.complex, ptr %15823, i32 0, i32 1
  %15825 = load float, ptr %15824, align 4, !tbaa !14
  %15826 = fmul float %15819, %15825
  %15827 = fneg float %15826
  %15828 = call float @llvm.fmuladd.f32(float %15811, float %15817, float %15827)
  %15829 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %15828, ptr %15829, align 4, !tbaa !11
  %15830 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %15831 = load float, ptr %15830, align 4, !tbaa !11
  %15832 = load ptr, ptr %14, align 8, !tbaa !5
  %15833 = load i32, ptr %27, align 4, !tbaa !9
  %15834 = sext i32 %15833 to i64
  %15835 = getelementptr inbounds %struct.complex, ptr %15832, i64 %15834
  %15836 = getelementptr inbounds %struct.complex, ptr %15835, i32 0, i32 1
  %15837 = load float, ptr %15836, align 4, !tbaa !14
  %15838 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %15839 = load float, ptr %15838, align 4, !tbaa !14
  %15840 = load ptr, ptr %14, align 8, !tbaa !5
  %15841 = load i32, ptr %27, align 4, !tbaa !9
  %15842 = sext i32 %15841 to i64
  %15843 = getelementptr inbounds %struct.complex, ptr %15840, i64 %15842
  %15844 = getelementptr inbounds %struct.complex, ptr %15843, i32 0, i32 0
  %15845 = load float, ptr %15844, align 4, !tbaa !11
  %15846 = fmul float %15839, %15845
  %15847 = call float @llvm.fmuladd.f32(float %15831, float %15837, float %15846)
  %15848 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %15847, ptr %15848, align 4, !tbaa !14
  %15849 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15850 = load float, ptr %15849, align 4, !tbaa !11
  %15851 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %15852 = load float, ptr %15851, align 4, !tbaa !11
  %15853 = fadd float %15850, %15852
  %15854 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15853, ptr %15854, align 4, !tbaa !11
  %15855 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15856 = load float, ptr %15855, align 4, !tbaa !14
  %15857 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %15858 = load float, ptr %15857, align 4, !tbaa !14
  %15859 = fadd float %15856, %15858
  %15860 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15859, ptr %15860, align 4, !tbaa !14
  %15861 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15862 = load float, ptr %15861, align 4, !tbaa !11
  %15863 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %15862, ptr %15863, align 4, !tbaa !11
  %15864 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15865 = load float, ptr %15864, align 4, !tbaa !14
  %15866 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %15865, ptr %15866, align 4, !tbaa !14
  %15867 = load i32, ptr %49, align 4, !tbaa !9
  %15868 = load i32, ptr %17, align 4, !tbaa !9
  %15869 = add nsw i32 %15867, %15868
  store i32 %15869, ptr %20, align 4, !tbaa !9
  %15870 = load i32, ptr %49, align 4, !tbaa !9
  %15871 = load i32, ptr %17, align 4, !tbaa !9
  %15872 = add nsw i32 %15870, %15871
  store i32 %15872, ptr %21, align 4, !tbaa !9
  %15873 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %15874 = load float, ptr %15873, align 4, !tbaa !11
  %15875 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %15876 = load float, ptr %15875, align 4, !tbaa !11
  %15877 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %15878 = load float, ptr %15877, align 4, !tbaa !14
  %15879 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %15880 = load float, ptr %15879, align 4, !tbaa !14
  %15881 = fmul float %15878, %15880
  %15882 = fneg float %15881
  %15883 = call float @llvm.fmuladd.f32(float %15874, float %15876, float %15882)
  %15884 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15883, ptr %15884, align 4, !tbaa !11
  %15885 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %15886 = load float, ptr %15885, align 4, !tbaa !11
  %15887 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %15888 = load float, ptr %15887, align 4, !tbaa !14
  %15889 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %15890 = load float, ptr %15889, align 4, !tbaa !14
  %15891 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %15892 = load float, ptr %15891, align 4, !tbaa !11
  %15893 = fmul float %15890, %15892
  %15894 = call float @llvm.fmuladd.f32(float %15886, float %15888, float %15893)
  %15895 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15894, ptr %15895, align 4, !tbaa !14
  %15896 = load ptr, ptr %14, align 8, !tbaa !5
  %15897 = load i32, ptr %21, align 4, !tbaa !9
  %15898 = sext i32 %15897 to i64
  %15899 = getelementptr inbounds %struct.complex, ptr %15896, i64 %15898
  %15900 = getelementptr inbounds %struct.complex, ptr %15899, i32 0, i32 0
  %15901 = load float, ptr %15900, align 4, !tbaa !11
  %15902 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15903 = load float, ptr %15902, align 4, !tbaa !11
  %15904 = fsub float %15901, %15903
  %15905 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15904, ptr %15905, align 4, !tbaa !11
  %15906 = load ptr, ptr %14, align 8, !tbaa !5
  %15907 = load i32, ptr %21, align 4, !tbaa !9
  %15908 = sext i32 %15907 to i64
  %15909 = getelementptr inbounds %struct.complex, ptr %15906, i64 %15908
  %15910 = getelementptr inbounds %struct.complex, ptr %15909, i32 0, i32 1
  %15911 = load float, ptr %15910, align 4, !tbaa !14
  %15912 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15913 = load float, ptr %15912, align 4, !tbaa !14
  %15914 = fsub float %15911, %15913
  %15915 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15914, ptr %15915, align 4, !tbaa !14
  %15916 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15917 = load float, ptr %15916, align 4, !tbaa !11
  %15918 = load ptr, ptr %14, align 8, !tbaa !5
  %15919 = load i32, ptr %20, align 4, !tbaa !9
  %15920 = sext i32 %15919 to i64
  %15921 = getelementptr inbounds %struct.complex, ptr %15918, i64 %15920
  %15922 = getelementptr inbounds %struct.complex, ptr %15921, i32 0, i32 0
  store float %15917, ptr %15922, align 4, !tbaa !11
  %15923 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15924 = load float, ptr %15923, align 4, !tbaa !14
  %15925 = load ptr, ptr %14, align 8, !tbaa !5
  %15926 = load i32, ptr %20, align 4, !tbaa !9
  %15927 = sext i32 %15926 to i64
  %15928 = getelementptr inbounds %struct.complex, ptr %15925, i64 %15927
  %15929 = getelementptr inbounds %struct.complex, ptr %15928, i32 0, i32 1
  store float %15924, ptr %15929, align 4, !tbaa !14
  %15930 = load i32, ptr %49, align 4, !tbaa !9
  %15931 = load i32, ptr %17, align 4, !tbaa !9
  %15932 = shl i32 %15931, 1
  %15933 = add nsw i32 %15930, %15932
  store i32 %15933, ptr %20, align 4, !tbaa !9
  %15934 = load i32, ptr %49, align 4, !tbaa !9
  %15935 = load i32, ptr %17, align 4, !tbaa !9
  %15936 = shl i32 %15935, 1
  %15937 = add nsw i32 %15934, %15936
  store i32 %15937, ptr %21, align 4, !tbaa !9
  %15938 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %15939 = load float, ptr %15938, align 4, !tbaa !11
  %15940 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %15941 = load float, ptr %15940, align 4, !tbaa !11
  %15942 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %15943 = load float, ptr %15942, align 4, !tbaa !14
  %15944 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %15945 = load float, ptr %15944, align 4, !tbaa !14
  %15946 = fmul float %15943, %15945
  %15947 = fneg float %15946
  %15948 = call float @llvm.fmuladd.f32(float %15939, float %15941, float %15947)
  %15949 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15948, ptr %15949, align 4, !tbaa !11
  %15950 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %15951 = load float, ptr %15950, align 4, !tbaa !11
  %15952 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %15953 = load float, ptr %15952, align 4, !tbaa !14
  %15954 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %15955 = load float, ptr %15954, align 4, !tbaa !14
  %15956 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %15957 = load float, ptr %15956, align 4, !tbaa !11
  %15958 = fmul float %15955, %15957
  %15959 = call float @llvm.fmuladd.f32(float %15951, float %15953, float %15958)
  %15960 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15959, ptr %15960, align 4, !tbaa !14
  %15961 = load ptr, ptr %14, align 8, !tbaa !5
  %15962 = load i32, ptr %21, align 4, !tbaa !9
  %15963 = sext i32 %15962 to i64
  %15964 = getelementptr inbounds %struct.complex, ptr %15961, i64 %15963
  %15965 = getelementptr inbounds %struct.complex, ptr %15964, i32 0, i32 0
  %15966 = load float, ptr %15965, align 4, !tbaa !11
  %15967 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15968 = load float, ptr %15967, align 4, !tbaa !11
  %15969 = fsub float %15966, %15968
  %15970 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %15969, ptr %15970, align 4, !tbaa !11
  %15971 = load ptr, ptr %14, align 8, !tbaa !5
  %15972 = load i32, ptr %21, align 4, !tbaa !9
  %15973 = sext i32 %15972 to i64
  %15974 = getelementptr inbounds %struct.complex, ptr %15971, i64 %15973
  %15975 = getelementptr inbounds %struct.complex, ptr %15974, i32 0, i32 1
  %15976 = load float, ptr %15975, align 4, !tbaa !14
  %15977 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15978 = load float, ptr %15977, align 4, !tbaa !14
  %15979 = fsub float %15976, %15978
  %15980 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %15979, ptr %15980, align 4, !tbaa !14
  %15981 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %15982 = load float, ptr %15981, align 4, !tbaa !11
  %15983 = load ptr, ptr %14, align 8, !tbaa !5
  %15984 = load i32, ptr %20, align 4, !tbaa !9
  %15985 = sext i32 %15984 to i64
  %15986 = getelementptr inbounds %struct.complex, ptr %15983, i64 %15985
  %15987 = getelementptr inbounds %struct.complex, ptr %15986, i32 0, i32 0
  store float %15982, ptr %15987, align 4, !tbaa !11
  %15988 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %15989 = load float, ptr %15988, align 4, !tbaa !14
  %15990 = load ptr, ptr %14, align 8, !tbaa !5
  %15991 = load i32, ptr %20, align 4, !tbaa !9
  %15992 = sext i32 %15991 to i64
  %15993 = getelementptr inbounds %struct.complex, ptr %15990, i64 %15992
  %15994 = getelementptr inbounds %struct.complex, ptr %15993, i32 0, i32 1
  store float %15989, ptr %15994, align 4, !tbaa !14
  %15995 = load i32, ptr %49, align 4, !tbaa !9
  %15996 = load i32, ptr %17, align 4, !tbaa !9
  %15997 = mul nsw i32 %15996, 3
  %15998 = add nsw i32 %15995, %15997
  store i32 %15998, ptr %20, align 4, !tbaa !9
  %15999 = load i32, ptr %49, align 4, !tbaa !9
  %16000 = load i32, ptr %17, align 4, !tbaa !9
  %16001 = mul nsw i32 %16000, 3
  %16002 = add nsw i32 %15999, %16001
  store i32 %16002, ptr %21, align 4, !tbaa !9
  %16003 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16004 = load float, ptr %16003, align 4, !tbaa !11
  %16005 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %16006 = load float, ptr %16005, align 4, !tbaa !11
  %16007 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16008 = load float, ptr %16007, align 4, !tbaa !14
  %16009 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %16010 = load float, ptr %16009, align 4, !tbaa !14
  %16011 = fmul float %16008, %16010
  %16012 = fneg float %16011
  %16013 = call float @llvm.fmuladd.f32(float %16004, float %16006, float %16012)
  %16014 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16013, ptr %16014, align 4, !tbaa !11
  %16015 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16016 = load float, ptr %16015, align 4, !tbaa !11
  %16017 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %16018 = load float, ptr %16017, align 4, !tbaa !14
  %16019 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16020 = load float, ptr %16019, align 4, !tbaa !14
  %16021 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %16022 = load float, ptr %16021, align 4, !tbaa !11
  %16023 = fmul float %16020, %16022
  %16024 = call float @llvm.fmuladd.f32(float %16016, float %16018, float %16023)
  %16025 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16024, ptr %16025, align 4, !tbaa !14
  %16026 = load ptr, ptr %14, align 8, !tbaa !5
  %16027 = load i32, ptr %21, align 4, !tbaa !9
  %16028 = sext i32 %16027 to i64
  %16029 = getelementptr inbounds %struct.complex, ptr %16026, i64 %16028
  %16030 = getelementptr inbounds %struct.complex, ptr %16029, i32 0, i32 0
  %16031 = load float, ptr %16030, align 4, !tbaa !11
  %16032 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16033 = load float, ptr %16032, align 4, !tbaa !11
  %16034 = fsub float %16031, %16033
  %16035 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16034, ptr %16035, align 4, !tbaa !11
  %16036 = load ptr, ptr %14, align 8, !tbaa !5
  %16037 = load i32, ptr %21, align 4, !tbaa !9
  %16038 = sext i32 %16037 to i64
  %16039 = getelementptr inbounds %struct.complex, ptr %16036, i64 %16038
  %16040 = getelementptr inbounds %struct.complex, ptr %16039, i32 0, i32 1
  %16041 = load float, ptr %16040, align 4, !tbaa !14
  %16042 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16043 = load float, ptr %16042, align 4, !tbaa !14
  %16044 = fsub float %16041, %16043
  %16045 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16044, ptr %16045, align 4, !tbaa !14
  %16046 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16047 = load float, ptr %16046, align 4, !tbaa !11
  %16048 = load ptr, ptr %14, align 8, !tbaa !5
  %16049 = load i32, ptr %20, align 4, !tbaa !9
  %16050 = sext i32 %16049 to i64
  %16051 = getelementptr inbounds %struct.complex, ptr %16048, i64 %16050
  %16052 = getelementptr inbounds %struct.complex, ptr %16051, i32 0, i32 0
  store float %16047, ptr %16052, align 4, !tbaa !11
  %16053 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16054 = load float, ptr %16053, align 4, !tbaa !14
  %16055 = load ptr, ptr %14, align 8, !tbaa !5
  %16056 = load i32, ptr %20, align 4, !tbaa !9
  %16057 = sext i32 %16056 to i64
  %16058 = getelementptr inbounds %struct.complex, ptr %16055, i64 %16057
  %16059 = getelementptr inbounds %struct.complex, ptr %16058, i32 0, i32 1
  store float %16054, ptr %16059, align 4, !tbaa !14
  %16060 = load i32, ptr %49, align 4, !tbaa !9
  %16061 = load i32, ptr %17, align 4, !tbaa !9
  %16062 = shl i32 %16061, 2
  %16063 = add nsw i32 %16060, %16062
  store i32 %16063, ptr %20, align 4, !tbaa !9
  %16064 = load i32, ptr %49, align 4, !tbaa !9
  %16065 = load i32, ptr %17, align 4, !tbaa !9
  %16066 = shl i32 %16065, 2
  %16067 = add nsw i32 %16064, %16066
  store i32 %16067, ptr %21, align 4, !tbaa !9
  %16068 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16069 = load float, ptr %16068, align 4, !tbaa !11
  %16070 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %16071 = load float, ptr %16070, align 4, !tbaa !11
  %16072 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16073 = load float, ptr %16072, align 4, !tbaa !14
  %16074 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %16075 = load float, ptr %16074, align 4, !tbaa !14
  %16076 = fmul float %16073, %16075
  %16077 = fneg float %16076
  %16078 = call float @llvm.fmuladd.f32(float %16069, float %16071, float %16077)
  %16079 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16078, ptr %16079, align 4, !tbaa !11
  %16080 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16081 = load float, ptr %16080, align 4, !tbaa !11
  %16082 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %16083 = load float, ptr %16082, align 4, !tbaa !14
  %16084 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16085 = load float, ptr %16084, align 4, !tbaa !14
  %16086 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %16087 = load float, ptr %16086, align 4, !tbaa !11
  %16088 = fmul float %16085, %16087
  %16089 = call float @llvm.fmuladd.f32(float %16081, float %16083, float %16088)
  %16090 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16089, ptr %16090, align 4, !tbaa !14
  %16091 = load ptr, ptr %14, align 8, !tbaa !5
  %16092 = load i32, ptr %21, align 4, !tbaa !9
  %16093 = sext i32 %16092 to i64
  %16094 = getelementptr inbounds %struct.complex, ptr %16091, i64 %16093
  %16095 = getelementptr inbounds %struct.complex, ptr %16094, i32 0, i32 0
  %16096 = load float, ptr %16095, align 4, !tbaa !11
  %16097 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16098 = load float, ptr %16097, align 4, !tbaa !11
  %16099 = fsub float %16096, %16098
  %16100 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16099, ptr %16100, align 4, !tbaa !11
  %16101 = load ptr, ptr %14, align 8, !tbaa !5
  %16102 = load i32, ptr %21, align 4, !tbaa !9
  %16103 = sext i32 %16102 to i64
  %16104 = getelementptr inbounds %struct.complex, ptr %16101, i64 %16103
  %16105 = getelementptr inbounds %struct.complex, ptr %16104, i32 0, i32 1
  %16106 = load float, ptr %16105, align 4, !tbaa !14
  %16107 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16108 = load float, ptr %16107, align 4, !tbaa !14
  %16109 = fsub float %16106, %16108
  %16110 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16109, ptr %16110, align 4, !tbaa !14
  %16111 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16112 = load float, ptr %16111, align 4, !tbaa !11
  %16113 = load ptr, ptr %14, align 8, !tbaa !5
  %16114 = load i32, ptr %20, align 4, !tbaa !9
  %16115 = sext i32 %16114 to i64
  %16116 = getelementptr inbounds %struct.complex, ptr %16113, i64 %16115
  %16117 = getelementptr inbounds %struct.complex, ptr %16116, i32 0, i32 0
  store float %16112, ptr %16117, align 4, !tbaa !11
  %16118 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16119 = load float, ptr %16118, align 4, !tbaa !14
  %16120 = load ptr, ptr %14, align 8, !tbaa !5
  %16121 = load i32, ptr %20, align 4, !tbaa !9
  %16122 = sext i32 %16121 to i64
  %16123 = getelementptr inbounds %struct.complex, ptr %16120, i64 %16122
  %16124 = getelementptr inbounds %struct.complex, ptr %16123, i32 0, i32 1
  store float %16119, ptr %16124, align 4, !tbaa !14
  %16125 = load i32, ptr %49, align 4, !tbaa !9
  %16126 = load i32, ptr %17, align 4, !tbaa !9
  %16127 = mul nsw i32 %16126, 5
  %16128 = add nsw i32 %16125, %16127
  store i32 %16128, ptr %20, align 4, !tbaa !9
  %16129 = load i32, ptr %49, align 4, !tbaa !9
  %16130 = load i32, ptr %17, align 4, !tbaa !9
  %16131 = mul nsw i32 %16130, 5
  %16132 = add nsw i32 %16129, %16131
  store i32 %16132, ptr %21, align 4, !tbaa !9
  %16133 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16134 = load float, ptr %16133, align 4, !tbaa !11
  %16135 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %16136 = load float, ptr %16135, align 4, !tbaa !11
  %16137 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16138 = load float, ptr %16137, align 4, !tbaa !14
  %16139 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %16140 = load float, ptr %16139, align 4, !tbaa !14
  %16141 = fmul float %16138, %16140
  %16142 = fneg float %16141
  %16143 = call float @llvm.fmuladd.f32(float %16134, float %16136, float %16142)
  %16144 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16143, ptr %16144, align 4, !tbaa !11
  %16145 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16146 = load float, ptr %16145, align 4, !tbaa !11
  %16147 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %16148 = load float, ptr %16147, align 4, !tbaa !14
  %16149 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16150 = load float, ptr %16149, align 4, !tbaa !14
  %16151 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %16152 = load float, ptr %16151, align 4, !tbaa !11
  %16153 = fmul float %16150, %16152
  %16154 = call float @llvm.fmuladd.f32(float %16146, float %16148, float %16153)
  %16155 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16154, ptr %16155, align 4, !tbaa !14
  %16156 = load ptr, ptr %14, align 8, !tbaa !5
  %16157 = load i32, ptr %21, align 4, !tbaa !9
  %16158 = sext i32 %16157 to i64
  %16159 = getelementptr inbounds %struct.complex, ptr %16156, i64 %16158
  %16160 = getelementptr inbounds %struct.complex, ptr %16159, i32 0, i32 0
  %16161 = load float, ptr %16160, align 4, !tbaa !11
  %16162 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16163 = load float, ptr %16162, align 4, !tbaa !11
  %16164 = fsub float %16161, %16163
  %16165 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16164, ptr %16165, align 4, !tbaa !11
  %16166 = load ptr, ptr %14, align 8, !tbaa !5
  %16167 = load i32, ptr %21, align 4, !tbaa !9
  %16168 = sext i32 %16167 to i64
  %16169 = getelementptr inbounds %struct.complex, ptr %16166, i64 %16168
  %16170 = getelementptr inbounds %struct.complex, ptr %16169, i32 0, i32 1
  %16171 = load float, ptr %16170, align 4, !tbaa !14
  %16172 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16173 = load float, ptr %16172, align 4, !tbaa !14
  %16174 = fsub float %16171, %16173
  %16175 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16174, ptr %16175, align 4, !tbaa !14
  %16176 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16177 = load float, ptr %16176, align 4, !tbaa !11
  %16178 = load ptr, ptr %14, align 8, !tbaa !5
  %16179 = load i32, ptr %20, align 4, !tbaa !9
  %16180 = sext i32 %16179 to i64
  %16181 = getelementptr inbounds %struct.complex, ptr %16178, i64 %16180
  %16182 = getelementptr inbounds %struct.complex, ptr %16181, i32 0, i32 0
  store float %16177, ptr %16182, align 4, !tbaa !11
  %16183 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16184 = load float, ptr %16183, align 4, !tbaa !14
  %16185 = load ptr, ptr %14, align 8, !tbaa !5
  %16186 = load i32, ptr %20, align 4, !tbaa !9
  %16187 = sext i32 %16186 to i64
  %16188 = getelementptr inbounds %struct.complex, ptr %16185, i64 %16187
  %16189 = getelementptr inbounds %struct.complex, ptr %16188, i32 0, i32 1
  store float %16184, ptr %16189, align 4, !tbaa !14
  %16190 = load i32, ptr %49, align 4, !tbaa !9
  %16191 = load i32, ptr %17, align 4, !tbaa !9
  %16192 = mul nsw i32 %16191, 6
  %16193 = add nsw i32 %16190, %16192
  store i32 %16193, ptr %20, align 4, !tbaa !9
  %16194 = load i32, ptr %49, align 4, !tbaa !9
  %16195 = load i32, ptr %17, align 4, !tbaa !9
  %16196 = mul nsw i32 %16195, 6
  %16197 = add nsw i32 %16194, %16196
  store i32 %16197, ptr %21, align 4, !tbaa !9
  %16198 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16199 = load float, ptr %16198, align 4, !tbaa !11
  %16200 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %16201 = load float, ptr %16200, align 4, !tbaa !11
  %16202 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16203 = load float, ptr %16202, align 4, !tbaa !14
  %16204 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %16205 = load float, ptr %16204, align 4, !tbaa !14
  %16206 = fmul float %16203, %16205
  %16207 = fneg float %16206
  %16208 = call float @llvm.fmuladd.f32(float %16199, float %16201, float %16207)
  %16209 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16208, ptr %16209, align 4, !tbaa !11
  %16210 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16211 = load float, ptr %16210, align 4, !tbaa !11
  %16212 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %16213 = load float, ptr %16212, align 4, !tbaa !14
  %16214 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16215 = load float, ptr %16214, align 4, !tbaa !14
  %16216 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %16217 = load float, ptr %16216, align 4, !tbaa !11
  %16218 = fmul float %16215, %16217
  %16219 = call float @llvm.fmuladd.f32(float %16211, float %16213, float %16218)
  %16220 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16219, ptr %16220, align 4, !tbaa !14
  %16221 = load ptr, ptr %14, align 8, !tbaa !5
  %16222 = load i32, ptr %21, align 4, !tbaa !9
  %16223 = sext i32 %16222 to i64
  %16224 = getelementptr inbounds %struct.complex, ptr %16221, i64 %16223
  %16225 = getelementptr inbounds %struct.complex, ptr %16224, i32 0, i32 0
  %16226 = load float, ptr %16225, align 4, !tbaa !11
  %16227 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16228 = load float, ptr %16227, align 4, !tbaa !11
  %16229 = fsub float %16226, %16228
  %16230 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16229, ptr %16230, align 4, !tbaa !11
  %16231 = load ptr, ptr %14, align 8, !tbaa !5
  %16232 = load i32, ptr %21, align 4, !tbaa !9
  %16233 = sext i32 %16232 to i64
  %16234 = getelementptr inbounds %struct.complex, ptr %16231, i64 %16233
  %16235 = getelementptr inbounds %struct.complex, ptr %16234, i32 0, i32 1
  %16236 = load float, ptr %16235, align 4, !tbaa !14
  %16237 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16238 = load float, ptr %16237, align 4, !tbaa !14
  %16239 = fsub float %16236, %16238
  %16240 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16239, ptr %16240, align 4, !tbaa !14
  %16241 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16242 = load float, ptr %16241, align 4, !tbaa !11
  %16243 = load ptr, ptr %14, align 8, !tbaa !5
  %16244 = load i32, ptr %20, align 4, !tbaa !9
  %16245 = sext i32 %16244 to i64
  %16246 = getelementptr inbounds %struct.complex, ptr %16243, i64 %16245
  %16247 = getelementptr inbounds %struct.complex, ptr %16246, i32 0, i32 0
  store float %16242, ptr %16247, align 4, !tbaa !11
  %16248 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16249 = load float, ptr %16248, align 4, !tbaa !14
  %16250 = load ptr, ptr %14, align 8, !tbaa !5
  %16251 = load i32, ptr %20, align 4, !tbaa !9
  %16252 = sext i32 %16251 to i64
  %16253 = getelementptr inbounds %struct.complex, ptr %16250, i64 %16252
  %16254 = getelementptr inbounds %struct.complex, ptr %16253, i32 0, i32 1
  store float %16249, ptr %16254, align 4, !tbaa !14
  %16255 = load i32, ptr %49, align 4, !tbaa !9
  %16256 = load i32, ptr %17, align 4, !tbaa !9
  %16257 = mul nsw i32 %16256, 7
  %16258 = add nsw i32 %16255, %16257
  store i32 %16258, ptr %20, align 4, !tbaa !9
  %16259 = load i32, ptr %49, align 4, !tbaa !9
  %16260 = load i32, ptr %17, align 4, !tbaa !9
  %16261 = mul nsw i32 %16260, 7
  %16262 = add nsw i32 %16259, %16261
  store i32 %16262, ptr %21, align 4, !tbaa !9
  %16263 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16264 = load float, ptr %16263, align 4, !tbaa !11
  %16265 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %16266 = load float, ptr %16265, align 4, !tbaa !11
  %16267 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16268 = load float, ptr %16267, align 4, !tbaa !14
  %16269 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %16270 = load float, ptr %16269, align 4, !tbaa !14
  %16271 = fmul float %16268, %16270
  %16272 = fneg float %16271
  %16273 = call float @llvm.fmuladd.f32(float %16264, float %16266, float %16272)
  %16274 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16273, ptr %16274, align 4, !tbaa !11
  %16275 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16276 = load float, ptr %16275, align 4, !tbaa !11
  %16277 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %16278 = load float, ptr %16277, align 4, !tbaa !14
  %16279 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16280 = load float, ptr %16279, align 4, !tbaa !14
  %16281 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %16282 = load float, ptr %16281, align 4, !tbaa !11
  %16283 = fmul float %16280, %16282
  %16284 = call float @llvm.fmuladd.f32(float %16276, float %16278, float %16283)
  %16285 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16284, ptr %16285, align 4, !tbaa !14
  %16286 = load ptr, ptr %14, align 8, !tbaa !5
  %16287 = load i32, ptr %21, align 4, !tbaa !9
  %16288 = sext i32 %16287 to i64
  %16289 = getelementptr inbounds %struct.complex, ptr %16286, i64 %16288
  %16290 = getelementptr inbounds %struct.complex, ptr %16289, i32 0, i32 0
  %16291 = load float, ptr %16290, align 4, !tbaa !11
  %16292 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16293 = load float, ptr %16292, align 4, !tbaa !11
  %16294 = fsub float %16291, %16293
  %16295 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16294, ptr %16295, align 4, !tbaa !11
  %16296 = load ptr, ptr %14, align 8, !tbaa !5
  %16297 = load i32, ptr %21, align 4, !tbaa !9
  %16298 = sext i32 %16297 to i64
  %16299 = getelementptr inbounds %struct.complex, ptr %16296, i64 %16298
  %16300 = getelementptr inbounds %struct.complex, ptr %16299, i32 0, i32 1
  %16301 = load float, ptr %16300, align 4, !tbaa !14
  %16302 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16303 = load float, ptr %16302, align 4, !tbaa !14
  %16304 = fsub float %16301, %16303
  %16305 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16304, ptr %16305, align 4, !tbaa !14
  %16306 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16307 = load float, ptr %16306, align 4, !tbaa !11
  %16308 = load ptr, ptr %14, align 8, !tbaa !5
  %16309 = load i32, ptr %20, align 4, !tbaa !9
  %16310 = sext i32 %16309 to i64
  %16311 = getelementptr inbounds %struct.complex, ptr %16308, i64 %16310
  %16312 = getelementptr inbounds %struct.complex, ptr %16311, i32 0, i32 0
  store float %16307, ptr %16312, align 4, !tbaa !11
  %16313 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16314 = load float, ptr %16313, align 4, !tbaa !14
  %16315 = load ptr, ptr %14, align 8, !tbaa !5
  %16316 = load i32, ptr %20, align 4, !tbaa !9
  %16317 = sext i32 %16316 to i64
  %16318 = getelementptr inbounds %struct.complex, ptr %16315, i64 %16317
  %16319 = getelementptr inbounds %struct.complex, ptr %16318, i32 0, i32 1
  store float %16314, ptr %16319, align 4, !tbaa !14
  %16320 = load i32, ptr %49, align 4, !tbaa !9
  %16321 = load i32, ptr %17, align 4, !tbaa !9
  %16322 = shl i32 %16321, 3
  %16323 = add nsw i32 %16320, %16322
  store i32 %16323, ptr %20, align 4, !tbaa !9
  %16324 = load i32, ptr %49, align 4, !tbaa !9
  %16325 = load i32, ptr %17, align 4, !tbaa !9
  %16326 = shl i32 %16325, 3
  %16327 = add nsw i32 %16324, %16326
  store i32 %16327, ptr %21, align 4, !tbaa !9
  %16328 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16329 = load float, ptr %16328, align 4, !tbaa !11
  %16330 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %16331 = load float, ptr %16330, align 4, !tbaa !11
  %16332 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16333 = load float, ptr %16332, align 4, !tbaa !14
  %16334 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %16335 = load float, ptr %16334, align 4, !tbaa !14
  %16336 = fmul float %16333, %16335
  %16337 = fneg float %16336
  %16338 = call float @llvm.fmuladd.f32(float %16329, float %16331, float %16337)
  %16339 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16338, ptr %16339, align 4, !tbaa !11
  %16340 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16341 = load float, ptr %16340, align 4, !tbaa !11
  %16342 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %16343 = load float, ptr %16342, align 4, !tbaa !14
  %16344 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16345 = load float, ptr %16344, align 4, !tbaa !14
  %16346 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %16347 = load float, ptr %16346, align 4, !tbaa !11
  %16348 = fmul float %16345, %16347
  %16349 = call float @llvm.fmuladd.f32(float %16341, float %16343, float %16348)
  %16350 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16349, ptr %16350, align 4, !tbaa !14
  %16351 = load ptr, ptr %14, align 8, !tbaa !5
  %16352 = load i32, ptr %21, align 4, !tbaa !9
  %16353 = sext i32 %16352 to i64
  %16354 = getelementptr inbounds %struct.complex, ptr %16351, i64 %16353
  %16355 = getelementptr inbounds %struct.complex, ptr %16354, i32 0, i32 0
  %16356 = load float, ptr %16355, align 4, !tbaa !11
  %16357 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16358 = load float, ptr %16357, align 4, !tbaa !11
  %16359 = fsub float %16356, %16358
  %16360 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16359, ptr %16360, align 4, !tbaa !11
  %16361 = load ptr, ptr %14, align 8, !tbaa !5
  %16362 = load i32, ptr %21, align 4, !tbaa !9
  %16363 = sext i32 %16362 to i64
  %16364 = getelementptr inbounds %struct.complex, ptr %16361, i64 %16363
  %16365 = getelementptr inbounds %struct.complex, ptr %16364, i32 0, i32 1
  %16366 = load float, ptr %16365, align 4, !tbaa !14
  %16367 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16368 = load float, ptr %16367, align 4, !tbaa !14
  %16369 = fsub float %16366, %16368
  %16370 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16369, ptr %16370, align 4, !tbaa !14
  %16371 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16372 = load float, ptr %16371, align 4, !tbaa !11
  %16373 = load ptr, ptr %14, align 8, !tbaa !5
  %16374 = load i32, ptr %20, align 4, !tbaa !9
  %16375 = sext i32 %16374 to i64
  %16376 = getelementptr inbounds %struct.complex, ptr %16373, i64 %16375
  %16377 = getelementptr inbounds %struct.complex, ptr %16376, i32 0, i32 0
  store float %16372, ptr %16377, align 4, !tbaa !11
  %16378 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16379 = load float, ptr %16378, align 4, !tbaa !14
  %16380 = load ptr, ptr %14, align 8, !tbaa !5
  %16381 = load i32, ptr %20, align 4, !tbaa !9
  %16382 = sext i32 %16381 to i64
  %16383 = getelementptr inbounds %struct.complex, ptr %16380, i64 %16382
  %16384 = getelementptr inbounds %struct.complex, ptr %16383, i32 0, i32 1
  store float %16379, ptr %16384, align 4, !tbaa !14
  br label %16385

16385:                                            ; preds = %15433
  %16386 = load i32, ptr %49, align 4, !tbaa !9
  %16387 = add nsw i32 %16386, 1
  store i32 %16387, ptr %49, align 4, !tbaa !9
  br label %15429, !llvm.loop !33

16388:                                            ; preds = %15429
  br label %19663

16389:                                            ; preds = %10178
  %16390 = load ptr, ptr %12, align 8, !tbaa !5
  %16391 = getelementptr inbounds %struct.complex, ptr %16390, i64 1
  %16392 = getelementptr inbounds %struct.complex, ptr %16391, i32 0, i32 0
  %16393 = load float, ptr %16392, align 4, !tbaa !11
  %16394 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %16393, ptr %16394, align 4, !tbaa !11
  %16395 = load ptr, ptr %12, align 8, !tbaa !5
  %16396 = getelementptr inbounds %struct.complex, ptr %16395, i64 1
  %16397 = getelementptr inbounds %struct.complex, ptr %16396, i32 0, i32 1
  %16398 = load float, ptr %16397, align 4, !tbaa !14
  %16399 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %16398, ptr %16399, align 4, !tbaa !14
  %16400 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %16400, ptr %217, align 4
  %16401 = getelementptr inbounds { float, float }, ptr %217, i32 0, i32 0
  %16402 = load float, ptr %16401, align 4
  %16403 = getelementptr inbounds { float, float }, ptr %217, i32 0, i32 1
  %16404 = load float, ptr %16403, align 4
  %16405 = fneg float %16404
  %16406 = call ptr @_pCf(ptr noundef %31)
  %16407 = getelementptr inbounds { float, float }, ptr %16406, i32 0, i32 0
  %16408 = getelementptr inbounds { float, float }, ptr %16406, i32 0, i32 1
  store float %16402, ptr %16407, align 4
  store float %16405, ptr %16408, align 4
  %16409 = load ptr, ptr %13, align 8, !tbaa !5
  %16410 = getelementptr inbounds %struct.complex, ptr %16409, i32 0, i32 0
  %16411 = load float, ptr %16410, align 4, !tbaa !11
  %16412 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16413 = load float, ptr %16412, align 4, !tbaa !11
  %16414 = load ptr, ptr %13, align 8, !tbaa !5
  %16415 = getelementptr inbounds %struct.complex, ptr %16414, i32 0, i32 1
  %16416 = load float, ptr %16415, align 4, !tbaa !14
  %16417 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16418 = load float, ptr %16417, align 4, !tbaa !14
  %16419 = fmul float %16416, %16418
  %16420 = fneg float %16419
  %16421 = call float @llvm.fmuladd.f32(float %16411, float %16413, float %16420)
  %16422 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16421, ptr %16422, align 4, !tbaa !11
  %16423 = load ptr, ptr %13, align 8, !tbaa !5
  %16424 = getelementptr inbounds %struct.complex, ptr %16423, i32 0, i32 0
  %16425 = load float, ptr %16424, align 4, !tbaa !11
  %16426 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16427 = load float, ptr %16426, align 4, !tbaa !14
  %16428 = load ptr, ptr %13, align 8, !tbaa !5
  %16429 = getelementptr inbounds %struct.complex, ptr %16428, i32 0, i32 1
  %16430 = load float, ptr %16429, align 4, !tbaa !14
  %16431 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16432 = load float, ptr %16431, align 4, !tbaa !11
  %16433 = fmul float %16430, %16432
  %16434 = call float @llvm.fmuladd.f32(float %16425, float %16427, float %16433)
  %16435 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16434, ptr %16435, align 4, !tbaa !14
  %16436 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16437 = load float, ptr %16436, align 4, !tbaa !11
  %16438 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %16437, ptr %16438, align 4, !tbaa !11
  %16439 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16440 = load float, ptr %16439, align 4, !tbaa !14
  %16441 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %16440, ptr %16441, align 4, !tbaa !14
  %16442 = load ptr, ptr %12, align 8, !tbaa !5
  %16443 = getelementptr inbounds %struct.complex, ptr %16442, i64 2
  %16444 = getelementptr inbounds %struct.complex, ptr %16443, i32 0, i32 0
  %16445 = load float, ptr %16444, align 4, !tbaa !11
  %16446 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %16445, ptr %16446, align 4, !tbaa !11
  %16447 = load ptr, ptr %12, align 8, !tbaa !5
  %16448 = getelementptr inbounds %struct.complex, ptr %16447, i64 2
  %16449 = getelementptr inbounds %struct.complex, ptr %16448, i32 0, i32 1
  %16450 = load float, ptr %16449, align 4, !tbaa !14
  %16451 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %16450, ptr %16451, align 4, !tbaa !14
  %16452 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %16452, ptr %218, align 4
  %16453 = getelementptr inbounds { float, float }, ptr %218, i32 0, i32 0
  %16454 = load float, ptr %16453, align 4
  %16455 = getelementptr inbounds { float, float }, ptr %218, i32 0, i32 1
  %16456 = load float, ptr %16455, align 4
  %16457 = fneg float %16456
  %16458 = call ptr @_pCf(ptr noundef %31)
  %16459 = getelementptr inbounds { float, float }, ptr %16458, i32 0, i32 0
  %16460 = getelementptr inbounds { float, float }, ptr %16458, i32 0, i32 1
  store float %16454, ptr %16459, align 4
  store float %16457, ptr %16460, align 4
  %16461 = load ptr, ptr %13, align 8, !tbaa !5
  %16462 = getelementptr inbounds %struct.complex, ptr %16461, i32 0, i32 0
  %16463 = load float, ptr %16462, align 4, !tbaa !11
  %16464 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16465 = load float, ptr %16464, align 4, !tbaa !11
  %16466 = load ptr, ptr %13, align 8, !tbaa !5
  %16467 = getelementptr inbounds %struct.complex, ptr %16466, i32 0, i32 1
  %16468 = load float, ptr %16467, align 4, !tbaa !14
  %16469 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16470 = load float, ptr %16469, align 4, !tbaa !14
  %16471 = fmul float %16468, %16470
  %16472 = fneg float %16471
  %16473 = call float @llvm.fmuladd.f32(float %16463, float %16465, float %16472)
  %16474 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16473, ptr %16474, align 4, !tbaa !11
  %16475 = load ptr, ptr %13, align 8, !tbaa !5
  %16476 = getelementptr inbounds %struct.complex, ptr %16475, i32 0, i32 0
  %16477 = load float, ptr %16476, align 4, !tbaa !11
  %16478 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16479 = load float, ptr %16478, align 4, !tbaa !14
  %16480 = load ptr, ptr %13, align 8, !tbaa !5
  %16481 = getelementptr inbounds %struct.complex, ptr %16480, i32 0, i32 1
  %16482 = load float, ptr %16481, align 4, !tbaa !14
  %16483 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16484 = load float, ptr %16483, align 4, !tbaa !11
  %16485 = fmul float %16482, %16484
  %16486 = call float @llvm.fmuladd.f32(float %16477, float %16479, float %16485)
  %16487 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16486, ptr %16487, align 4, !tbaa !14
  %16488 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16489 = load float, ptr %16488, align 4, !tbaa !11
  %16490 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %16489, ptr %16490, align 4, !tbaa !11
  %16491 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16492 = load float, ptr %16491, align 4, !tbaa !14
  %16493 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %16492, ptr %16493, align 4, !tbaa !14
  %16494 = load ptr, ptr %12, align 8, !tbaa !5
  %16495 = getelementptr inbounds %struct.complex, ptr %16494, i64 3
  %16496 = getelementptr inbounds %struct.complex, ptr %16495, i32 0, i32 0
  %16497 = load float, ptr %16496, align 4, !tbaa !11
  %16498 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %16497, ptr %16498, align 4, !tbaa !11
  %16499 = load ptr, ptr %12, align 8, !tbaa !5
  %16500 = getelementptr inbounds %struct.complex, ptr %16499, i64 3
  %16501 = getelementptr inbounds %struct.complex, ptr %16500, i32 0, i32 1
  %16502 = load float, ptr %16501, align 4, !tbaa !14
  %16503 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %16502, ptr %16503, align 4, !tbaa !14
  %16504 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %16504, ptr %219, align 4
  %16505 = getelementptr inbounds { float, float }, ptr %219, i32 0, i32 0
  %16506 = load float, ptr %16505, align 4
  %16507 = getelementptr inbounds { float, float }, ptr %219, i32 0, i32 1
  %16508 = load float, ptr %16507, align 4
  %16509 = fneg float %16508
  %16510 = call ptr @_pCf(ptr noundef %31)
  %16511 = getelementptr inbounds { float, float }, ptr %16510, i32 0, i32 0
  %16512 = getelementptr inbounds { float, float }, ptr %16510, i32 0, i32 1
  store float %16506, ptr %16511, align 4
  store float %16509, ptr %16512, align 4
  %16513 = load ptr, ptr %13, align 8, !tbaa !5
  %16514 = getelementptr inbounds %struct.complex, ptr %16513, i32 0, i32 0
  %16515 = load float, ptr %16514, align 4, !tbaa !11
  %16516 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16517 = load float, ptr %16516, align 4, !tbaa !11
  %16518 = load ptr, ptr %13, align 8, !tbaa !5
  %16519 = getelementptr inbounds %struct.complex, ptr %16518, i32 0, i32 1
  %16520 = load float, ptr %16519, align 4, !tbaa !14
  %16521 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16522 = load float, ptr %16521, align 4, !tbaa !14
  %16523 = fmul float %16520, %16522
  %16524 = fneg float %16523
  %16525 = call float @llvm.fmuladd.f32(float %16515, float %16517, float %16524)
  %16526 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16525, ptr %16526, align 4, !tbaa !11
  %16527 = load ptr, ptr %13, align 8, !tbaa !5
  %16528 = getelementptr inbounds %struct.complex, ptr %16527, i32 0, i32 0
  %16529 = load float, ptr %16528, align 4, !tbaa !11
  %16530 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16531 = load float, ptr %16530, align 4, !tbaa !14
  %16532 = load ptr, ptr %13, align 8, !tbaa !5
  %16533 = getelementptr inbounds %struct.complex, ptr %16532, i32 0, i32 1
  %16534 = load float, ptr %16533, align 4, !tbaa !14
  %16535 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16536 = load float, ptr %16535, align 4, !tbaa !11
  %16537 = fmul float %16534, %16536
  %16538 = call float @llvm.fmuladd.f32(float %16529, float %16531, float %16537)
  %16539 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16538, ptr %16539, align 4, !tbaa !14
  %16540 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16541 = load float, ptr %16540, align 4, !tbaa !11
  %16542 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %16541, ptr %16542, align 4, !tbaa !11
  %16543 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16544 = load float, ptr %16543, align 4, !tbaa !14
  %16545 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %16544, ptr %16545, align 4, !tbaa !14
  %16546 = load ptr, ptr %12, align 8, !tbaa !5
  %16547 = getelementptr inbounds %struct.complex, ptr %16546, i64 4
  %16548 = getelementptr inbounds %struct.complex, ptr %16547, i32 0, i32 0
  %16549 = load float, ptr %16548, align 4, !tbaa !11
  %16550 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %16549, ptr %16550, align 4, !tbaa !11
  %16551 = load ptr, ptr %12, align 8, !tbaa !5
  %16552 = getelementptr inbounds %struct.complex, ptr %16551, i64 4
  %16553 = getelementptr inbounds %struct.complex, ptr %16552, i32 0, i32 1
  %16554 = load float, ptr %16553, align 4, !tbaa !14
  %16555 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %16554, ptr %16555, align 4, !tbaa !14
  %16556 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %16556, ptr %220, align 4
  %16557 = getelementptr inbounds { float, float }, ptr %220, i32 0, i32 0
  %16558 = load float, ptr %16557, align 4
  %16559 = getelementptr inbounds { float, float }, ptr %220, i32 0, i32 1
  %16560 = load float, ptr %16559, align 4
  %16561 = fneg float %16560
  %16562 = call ptr @_pCf(ptr noundef %31)
  %16563 = getelementptr inbounds { float, float }, ptr %16562, i32 0, i32 0
  %16564 = getelementptr inbounds { float, float }, ptr %16562, i32 0, i32 1
  store float %16558, ptr %16563, align 4
  store float %16561, ptr %16564, align 4
  %16565 = load ptr, ptr %13, align 8, !tbaa !5
  %16566 = getelementptr inbounds %struct.complex, ptr %16565, i32 0, i32 0
  %16567 = load float, ptr %16566, align 4, !tbaa !11
  %16568 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16569 = load float, ptr %16568, align 4, !tbaa !11
  %16570 = load ptr, ptr %13, align 8, !tbaa !5
  %16571 = getelementptr inbounds %struct.complex, ptr %16570, i32 0, i32 1
  %16572 = load float, ptr %16571, align 4, !tbaa !14
  %16573 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16574 = load float, ptr %16573, align 4, !tbaa !14
  %16575 = fmul float %16572, %16574
  %16576 = fneg float %16575
  %16577 = call float @llvm.fmuladd.f32(float %16567, float %16569, float %16576)
  %16578 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16577, ptr %16578, align 4, !tbaa !11
  %16579 = load ptr, ptr %13, align 8, !tbaa !5
  %16580 = getelementptr inbounds %struct.complex, ptr %16579, i32 0, i32 0
  %16581 = load float, ptr %16580, align 4, !tbaa !11
  %16582 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16583 = load float, ptr %16582, align 4, !tbaa !14
  %16584 = load ptr, ptr %13, align 8, !tbaa !5
  %16585 = getelementptr inbounds %struct.complex, ptr %16584, i32 0, i32 1
  %16586 = load float, ptr %16585, align 4, !tbaa !14
  %16587 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16588 = load float, ptr %16587, align 4, !tbaa !11
  %16589 = fmul float %16586, %16588
  %16590 = call float @llvm.fmuladd.f32(float %16581, float %16583, float %16589)
  %16591 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16590, ptr %16591, align 4, !tbaa !14
  %16592 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16593 = load float, ptr %16592, align 4, !tbaa !11
  %16594 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %16593, ptr %16594, align 4, !tbaa !11
  %16595 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16596 = load float, ptr %16595, align 4, !tbaa !14
  %16597 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %16596, ptr %16597, align 4, !tbaa !14
  %16598 = load ptr, ptr %12, align 8, !tbaa !5
  %16599 = getelementptr inbounds %struct.complex, ptr %16598, i64 5
  %16600 = getelementptr inbounds %struct.complex, ptr %16599, i32 0, i32 0
  %16601 = load float, ptr %16600, align 4, !tbaa !11
  %16602 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %16601, ptr %16602, align 4, !tbaa !11
  %16603 = load ptr, ptr %12, align 8, !tbaa !5
  %16604 = getelementptr inbounds %struct.complex, ptr %16603, i64 5
  %16605 = getelementptr inbounds %struct.complex, ptr %16604, i32 0, i32 1
  %16606 = load float, ptr %16605, align 4, !tbaa !14
  %16607 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %16606, ptr %16607, align 4, !tbaa !14
  %16608 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %16608, ptr %221, align 4
  %16609 = getelementptr inbounds { float, float }, ptr %221, i32 0, i32 0
  %16610 = load float, ptr %16609, align 4
  %16611 = getelementptr inbounds { float, float }, ptr %221, i32 0, i32 1
  %16612 = load float, ptr %16611, align 4
  %16613 = fneg float %16612
  %16614 = call ptr @_pCf(ptr noundef %31)
  %16615 = getelementptr inbounds { float, float }, ptr %16614, i32 0, i32 0
  %16616 = getelementptr inbounds { float, float }, ptr %16614, i32 0, i32 1
  store float %16610, ptr %16615, align 4
  store float %16613, ptr %16616, align 4
  %16617 = load ptr, ptr %13, align 8, !tbaa !5
  %16618 = getelementptr inbounds %struct.complex, ptr %16617, i32 0, i32 0
  %16619 = load float, ptr %16618, align 4, !tbaa !11
  %16620 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16621 = load float, ptr %16620, align 4, !tbaa !11
  %16622 = load ptr, ptr %13, align 8, !tbaa !5
  %16623 = getelementptr inbounds %struct.complex, ptr %16622, i32 0, i32 1
  %16624 = load float, ptr %16623, align 4, !tbaa !14
  %16625 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16626 = load float, ptr %16625, align 4, !tbaa !14
  %16627 = fmul float %16624, %16626
  %16628 = fneg float %16627
  %16629 = call float @llvm.fmuladd.f32(float %16619, float %16621, float %16628)
  %16630 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16629, ptr %16630, align 4, !tbaa !11
  %16631 = load ptr, ptr %13, align 8, !tbaa !5
  %16632 = getelementptr inbounds %struct.complex, ptr %16631, i32 0, i32 0
  %16633 = load float, ptr %16632, align 4, !tbaa !11
  %16634 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16635 = load float, ptr %16634, align 4, !tbaa !14
  %16636 = load ptr, ptr %13, align 8, !tbaa !5
  %16637 = getelementptr inbounds %struct.complex, ptr %16636, i32 0, i32 1
  %16638 = load float, ptr %16637, align 4, !tbaa !14
  %16639 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16640 = load float, ptr %16639, align 4, !tbaa !11
  %16641 = fmul float %16638, %16640
  %16642 = call float @llvm.fmuladd.f32(float %16633, float %16635, float %16641)
  %16643 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16642, ptr %16643, align 4, !tbaa !14
  %16644 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16645 = load float, ptr %16644, align 4, !tbaa !11
  %16646 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %16645, ptr %16646, align 4, !tbaa !11
  %16647 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16648 = load float, ptr %16647, align 4, !tbaa !14
  %16649 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %16648, ptr %16649, align 4, !tbaa !14
  %16650 = load ptr, ptr %12, align 8, !tbaa !5
  %16651 = getelementptr inbounds %struct.complex, ptr %16650, i64 6
  %16652 = getelementptr inbounds %struct.complex, ptr %16651, i32 0, i32 0
  %16653 = load float, ptr %16652, align 4, !tbaa !11
  %16654 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %16653, ptr %16654, align 4, !tbaa !11
  %16655 = load ptr, ptr %12, align 8, !tbaa !5
  %16656 = getelementptr inbounds %struct.complex, ptr %16655, i64 6
  %16657 = getelementptr inbounds %struct.complex, ptr %16656, i32 0, i32 1
  %16658 = load float, ptr %16657, align 4, !tbaa !14
  %16659 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %16658, ptr %16659, align 4, !tbaa !14
  %16660 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %16660, ptr %222, align 4
  %16661 = getelementptr inbounds { float, float }, ptr %222, i32 0, i32 0
  %16662 = load float, ptr %16661, align 4
  %16663 = getelementptr inbounds { float, float }, ptr %222, i32 0, i32 1
  %16664 = load float, ptr %16663, align 4
  %16665 = fneg float %16664
  %16666 = call ptr @_pCf(ptr noundef %31)
  %16667 = getelementptr inbounds { float, float }, ptr %16666, i32 0, i32 0
  %16668 = getelementptr inbounds { float, float }, ptr %16666, i32 0, i32 1
  store float %16662, ptr %16667, align 4
  store float %16665, ptr %16668, align 4
  %16669 = load ptr, ptr %13, align 8, !tbaa !5
  %16670 = getelementptr inbounds %struct.complex, ptr %16669, i32 0, i32 0
  %16671 = load float, ptr %16670, align 4, !tbaa !11
  %16672 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16673 = load float, ptr %16672, align 4, !tbaa !11
  %16674 = load ptr, ptr %13, align 8, !tbaa !5
  %16675 = getelementptr inbounds %struct.complex, ptr %16674, i32 0, i32 1
  %16676 = load float, ptr %16675, align 4, !tbaa !14
  %16677 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16678 = load float, ptr %16677, align 4, !tbaa !14
  %16679 = fmul float %16676, %16678
  %16680 = fneg float %16679
  %16681 = call float @llvm.fmuladd.f32(float %16671, float %16673, float %16680)
  %16682 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16681, ptr %16682, align 4, !tbaa !11
  %16683 = load ptr, ptr %13, align 8, !tbaa !5
  %16684 = getelementptr inbounds %struct.complex, ptr %16683, i32 0, i32 0
  %16685 = load float, ptr %16684, align 4, !tbaa !11
  %16686 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16687 = load float, ptr %16686, align 4, !tbaa !14
  %16688 = load ptr, ptr %13, align 8, !tbaa !5
  %16689 = getelementptr inbounds %struct.complex, ptr %16688, i32 0, i32 1
  %16690 = load float, ptr %16689, align 4, !tbaa !14
  %16691 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16692 = load float, ptr %16691, align 4, !tbaa !11
  %16693 = fmul float %16690, %16692
  %16694 = call float @llvm.fmuladd.f32(float %16685, float %16687, float %16693)
  %16695 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16694, ptr %16695, align 4, !tbaa !14
  %16696 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16697 = load float, ptr %16696, align 4, !tbaa !11
  %16698 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %16697, ptr %16698, align 4, !tbaa !11
  %16699 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16700 = load float, ptr %16699, align 4, !tbaa !14
  %16701 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %16700, ptr %16701, align 4, !tbaa !14
  %16702 = load ptr, ptr %12, align 8, !tbaa !5
  %16703 = getelementptr inbounds %struct.complex, ptr %16702, i64 7
  %16704 = getelementptr inbounds %struct.complex, ptr %16703, i32 0, i32 0
  %16705 = load float, ptr %16704, align 4, !tbaa !11
  %16706 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %16705, ptr %16706, align 4, !tbaa !11
  %16707 = load ptr, ptr %12, align 8, !tbaa !5
  %16708 = getelementptr inbounds %struct.complex, ptr %16707, i64 7
  %16709 = getelementptr inbounds %struct.complex, ptr %16708, i32 0, i32 1
  %16710 = load float, ptr %16709, align 4, !tbaa !14
  %16711 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %16710, ptr %16711, align 4, !tbaa !14
  %16712 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %16712, ptr %223, align 4
  %16713 = getelementptr inbounds { float, float }, ptr %223, i32 0, i32 0
  %16714 = load float, ptr %16713, align 4
  %16715 = getelementptr inbounds { float, float }, ptr %223, i32 0, i32 1
  %16716 = load float, ptr %16715, align 4
  %16717 = fneg float %16716
  %16718 = call ptr @_pCf(ptr noundef %31)
  %16719 = getelementptr inbounds { float, float }, ptr %16718, i32 0, i32 0
  %16720 = getelementptr inbounds { float, float }, ptr %16718, i32 0, i32 1
  store float %16714, ptr %16719, align 4
  store float %16717, ptr %16720, align 4
  %16721 = load ptr, ptr %13, align 8, !tbaa !5
  %16722 = getelementptr inbounds %struct.complex, ptr %16721, i32 0, i32 0
  %16723 = load float, ptr %16722, align 4, !tbaa !11
  %16724 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16725 = load float, ptr %16724, align 4, !tbaa !11
  %16726 = load ptr, ptr %13, align 8, !tbaa !5
  %16727 = getelementptr inbounds %struct.complex, ptr %16726, i32 0, i32 1
  %16728 = load float, ptr %16727, align 4, !tbaa !14
  %16729 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16730 = load float, ptr %16729, align 4, !tbaa !14
  %16731 = fmul float %16728, %16730
  %16732 = fneg float %16731
  %16733 = call float @llvm.fmuladd.f32(float %16723, float %16725, float %16732)
  %16734 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16733, ptr %16734, align 4, !tbaa !11
  %16735 = load ptr, ptr %13, align 8, !tbaa !5
  %16736 = getelementptr inbounds %struct.complex, ptr %16735, i32 0, i32 0
  %16737 = load float, ptr %16736, align 4, !tbaa !11
  %16738 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16739 = load float, ptr %16738, align 4, !tbaa !14
  %16740 = load ptr, ptr %13, align 8, !tbaa !5
  %16741 = getelementptr inbounds %struct.complex, ptr %16740, i32 0, i32 1
  %16742 = load float, ptr %16741, align 4, !tbaa !14
  %16743 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16744 = load float, ptr %16743, align 4, !tbaa !11
  %16745 = fmul float %16742, %16744
  %16746 = call float @llvm.fmuladd.f32(float %16737, float %16739, float %16745)
  %16747 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16746, ptr %16747, align 4, !tbaa !14
  %16748 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16749 = load float, ptr %16748, align 4, !tbaa !11
  %16750 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %16749, ptr %16750, align 4, !tbaa !11
  %16751 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16752 = load float, ptr %16751, align 4, !tbaa !14
  %16753 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %16752, ptr %16753, align 4, !tbaa !14
  %16754 = load ptr, ptr %12, align 8, !tbaa !5
  %16755 = getelementptr inbounds %struct.complex, ptr %16754, i64 8
  %16756 = getelementptr inbounds %struct.complex, ptr %16755, i32 0, i32 0
  %16757 = load float, ptr %16756, align 4, !tbaa !11
  %16758 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %16757, ptr %16758, align 4, !tbaa !11
  %16759 = load ptr, ptr %12, align 8, !tbaa !5
  %16760 = getelementptr inbounds %struct.complex, ptr %16759, i64 8
  %16761 = getelementptr inbounds %struct.complex, ptr %16760, i32 0, i32 1
  %16762 = load float, ptr %16761, align 4, !tbaa !14
  %16763 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %16762, ptr %16763, align 4, !tbaa !14
  %16764 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %16764, ptr %224, align 4
  %16765 = getelementptr inbounds { float, float }, ptr %224, i32 0, i32 0
  %16766 = load float, ptr %16765, align 4
  %16767 = getelementptr inbounds { float, float }, ptr %224, i32 0, i32 1
  %16768 = load float, ptr %16767, align 4
  %16769 = fneg float %16768
  %16770 = call ptr @_pCf(ptr noundef %31)
  %16771 = getelementptr inbounds { float, float }, ptr %16770, i32 0, i32 0
  %16772 = getelementptr inbounds { float, float }, ptr %16770, i32 0, i32 1
  store float %16766, ptr %16771, align 4
  store float %16769, ptr %16772, align 4
  %16773 = load ptr, ptr %13, align 8, !tbaa !5
  %16774 = getelementptr inbounds %struct.complex, ptr %16773, i32 0, i32 0
  %16775 = load float, ptr %16774, align 4, !tbaa !11
  %16776 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16777 = load float, ptr %16776, align 4, !tbaa !11
  %16778 = load ptr, ptr %13, align 8, !tbaa !5
  %16779 = getelementptr inbounds %struct.complex, ptr %16778, i32 0, i32 1
  %16780 = load float, ptr %16779, align 4, !tbaa !14
  %16781 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16782 = load float, ptr %16781, align 4, !tbaa !14
  %16783 = fmul float %16780, %16782
  %16784 = fneg float %16783
  %16785 = call float @llvm.fmuladd.f32(float %16775, float %16777, float %16784)
  %16786 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16785, ptr %16786, align 4, !tbaa !11
  %16787 = load ptr, ptr %13, align 8, !tbaa !5
  %16788 = getelementptr inbounds %struct.complex, ptr %16787, i32 0, i32 0
  %16789 = load float, ptr %16788, align 4, !tbaa !11
  %16790 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16791 = load float, ptr %16790, align 4, !tbaa !14
  %16792 = load ptr, ptr %13, align 8, !tbaa !5
  %16793 = getelementptr inbounds %struct.complex, ptr %16792, i32 0, i32 1
  %16794 = load float, ptr %16793, align 4, !tbaa !14
  %16795 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16796 = load float, ptr %16795, align 4, !tbaa !11
  %16797 = fmul float %16794, %16796
  %16798 = call float @llvm.fmuladd.f32(float %16789, float %16791, float %16797)
  %16799 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16798, ptr %16799, align 4, !tbaa !14
  %16800 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16801 = load float, ptr %16800, align 4, !tbaa !11
  %16802 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %16801, ptr %16802, align 4, !tbaa !11
  %16803 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16804 = load float, ptr %16803, align 4, !tbaa !14
  %16805 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %16804, ptr %16805, align 4, !tbaa !14
  %16806 = load ptr, ptr %12, align 8, !tbaa !5
  %16807 = getelementptr inbounds %struct.complex, ptr %16806, i64 9
  %16808 = getelementptr inbounds %struct.complex, ptr %16807, i32 0, i32 0
  %16809 = load float, ptr %16808, align 4, !tbaa !11
  %16810 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %16809, ptr %16810, align 4, !tbaa !11
  %16811 = load ptr, ptr %12, align 8, !tbaa !5
  %16812 = getelementptr inbounds %struct.complex, ptr %16811, i64 9
  %16813 = getelementptr inbounds %struct.complex, ptr %16812, i32 0, i32 1
  %16814 = load float, ptr %16813, align 4, !tbaa !14
  %16815 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %16814, ptr %16815, align 4, !tbaa !14
  %16816 = call <2 x float> @Cf(ptr noundef %67)
  store <2 x float> %16816, ptr %225, align 4
  %16817 = getelementptr inbounds { float, float }, ptr %225, i32 0, i32 0
  %16818 = load float, ptr %16817, align 4
  %16819 = getelementptr inbounds { float, float }, ptr %225, i32 0, i32 1
  %16820 = load float, ptr %16819, align 4
  %16821 = fneg float %16820
  %16822 = call ptr @_pCf(ptr noundef %31)
  %16823 = getelementptr inbounds { float, float }, ptr %16822, i32 0, i32 0
  %16824 = getelementptr inbounds { float, float }, ptr %16822, i32 0, i32 1
  store float %16818, ptr %16823, align 4
  store float %16821, ptr %16824, align 4
  %16825 = load ptr, ptr %13, align 8, !tbaa !5
  %16826 = getelementptr inbounds %struct.complex, ptr %16825, i32 0, i32 0
  %16827 = load float, ptr %16826, align 4, !tbaa !11
  %16828 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16829 = load float, ptr %16828, align 4, !tbaa !11
  %16830 = load ptr, ptr %13, align 8, !tbaa !5
  %16831 = getelementptr inbounds %struct.complex, ptr %16830, i32 0, i32 1
  %16832 = load float, ptr %16831, align 4, !tbaa !14
  %16833 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16834 = load float, ptr %16833, align 4, !tbaa !14
  %16835 = fmul float %16832, %16834
  %16836 = fneg float %16835
  %16837 = call float @llvm.fmuladd.f32(float %16827, float %16829, float %16836)
  %16838 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %16837, ptr %16838, align 4, !tbaa !11
  %16839 = load ptr, ptr %13, align 8, !tbaa !5
  %16840 = getelementptr inbounds %struct.complex, ptr %16839, i32 0, i32 0
  %16841 = load float, ptr %16840, align 4, !tbaa !11
  %16842 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16843 = load float, ptr %16842, align 4, !tbaa !14
  %16844 = load ptr, ptr %13, align 8, !tbaa !5
  %16845 = getelementptr inbounds %struct.complex, ptr %16844, i32 0, i32 1
  %16846 = load float, ptr %16845, align 4, !tbaa !14
  %16847 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16848 = load float, ptr %16847, align 4, !tbaa !11
  %16849 = fmul float %16846, %16848
  %16850 = call float @llvm.fmuladd.f32(float %16841, float %16843, float %16849)
  %16851 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %16850, ptr %16851, align 4, !tbaa !14
  %16852 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %16853 = load float, ptr %16852, align 4, !tbaa !11
  %16854 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %16853, ptr %16854, align 4, !tbaa !11
  %16855 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %16856 = load float, ptr %16855, align 4, !tbaa !14
  %16857 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %16856, ptr %16857, align 4, !tbaa !14
  %16858 = load ptr, ptr %10, align 8, !tbaa !5
  %16859 = load i32, ptr %16858, align 4, !tbaa !9
  store i32 %16859, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %16860

16860:                                            ; preds = %17936, %16389
  %16861 = load i32, ptr %49, align 4, !tbaa !9
  %16862 = load i32, ptr %19, align 4, !tbaa !9
  %16863 = icmp sle i32 %16861, %16862
  br i1 %16863, label %16864, label %17939

16864:                                            ; preds = %16860
  %16865 = load i32, ptr %49, align 4, !tbaa !9
  %16866 = load i32, ptr %17, align 4, !tbaa !9
  %16867 = add nsw i32 %16865, %16866
  store i32 %16867, ptr %20, align 4, !tbaa !9
  %16868 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %16869 = load float, ptr %16868, align 4, !tbaa !11
  %16870 = load ptr, ptr %14, align 8, !tbaa !5
  %16871 = load i32, ptr %20, align 4, !tbaa !9
  %16872 = sext i32 %16871 to i64
  %16873 = getelementptr inbounds %struct.complex, ptr %16870, i64 %16872
  %16874 = getelementptr inbounds %struct.complex, ptr %16873, i32 0, i32 0
  %16875 = load float, ptr %16874, align 4, !tbaa !11
  %16876 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %16877 = load float, ptr %16876, align 4, !tbaa !14
  %16878 = load ptr, ptr %14, align 8, !tbaa !5
  %16879 = load i32, ptr %20, align 4, !tbaa !9
  %16880 = sext i32 %16879 to i64
  %16881 = getelementptr inbounds %struct.complex, ptr %16878, i64 %16880
  %16882 = getelementptr inbounds %struct.complex, ptr %16881, i32 0, i32 1
  %16883 = load float, ptr %16882, align 4, !tbaa !14
  %16884 = fmul float %16877, %16883
  %16885 = fneg float %16884
  %16886 = call float @llvm.fmuladd.f32(float %16869, float %16875, float %16885)
  %16887 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %16886, ptr %16887, align 4, !tbaa !11
  %16888 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %16889 = load float, ptr %16888, align 4, !tbaa !11
  %16890 = load ptr, ptr %14, align 8, !tbaa !5
  %16891 = load i32, ptr %20, align 4, !tbaa !9
  %16892 = sext i32 %16891 to i64
  %16893 = getelementptr inbounds %struct.complex, ptr %16890, i64 %16892
  %16894 = getelementptr inbounds %struct.complex, ptr %16893, i32 0, i32 1
  %16895 = load float, ptr %16894, align 4, !tbaa !14
  %16896 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %16897 = load float, ptr %16896, align 4, !tbaa !14
  %16898 = load ptr, ptr %14, align 8, !tbaa !5
  %16899 = load i32, ptr %20, align 4, !tbaa !9
  %16900 = sext i32 %16899 to i64
  %16901 = getelementptr inbounds %struct.complex, ptr %16898, i64 %16900
  %16902 = getelementptr inbounds %struct.complex, ptr %16901, i32 0, i32 0
  %16903 = load float, ptr %16902, align 4, !tbaa !11
  %16904 = fmul float %16897, %16903
  %16905 = call float @llvm.fmuladd.f32(float %16889, float %16895, float %16904)
  %16906 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %16905, ptr %16906, align 4, !tbaa !14
  %16907 = load i32, ptr %49, align 4, !tbaa !9
  %16908 = load i32, ptr %17, align 4, !tbaa !9
  %16909 = shl i32 %16908, 1
  %16910 = add nsw i32 %16907, %16909
  store i32 %16910, ptr %21, align 4, !tbaa !9
  %16911 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %16912 = load float, ptr %16911, align 4, !tbaa !11
  %16913 = load ptr, ptr %14, align 8, !tbaa !5
  %16914 = load i32, ptr %21, align 4, !tbaa !9
  %16915 = sext i32 %16914 to i64
  %16916 = getelementptr inbounds %struct.complex, ptr %16913, i64 %16915
  %16917 = getelementptr inbounds %struct.complex, ptr %16916, i32 0, i32 0
  %16918 = load float, ptr %16917, align 4, !tbaa !11
  %16919 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %16920 = load float, ptr %16919, align 4, !tbaa !14
  %16921 = load ptr, ptr %14, align 8, !tbaa !5
  %16922 = load i32, ptr %21, align 4, !tbaa !9
  %16923 = sext i32 %16922 to i64
  %16924 = getelementptr inbounds %struct.complex, ptr %16921, i64 %16923
  %16925 = getelementptr inbounds %struct.complex, ptr %16924, i32 0, i32 1
  %16926 = load float, ptr %16925, align 4, !tbaa !14
  %16927 = fmul float %16920, %16926
  %16928 = fneg float %16927
  %16929 = call float @llvm.fmuladd.f32(float %16912, float %16918, float %16928)
  %16930 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %16929, ptr %16930, align 4, !tbaa !11
  %16931 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %16932 = load float, ptr %16931, align 4, !tbaa !11
  %16933 = load ptr, ptr %14, align 8, !tbaa !5
  %16934 = load i32, ptr %21, align 4, !tbaa !9
  %16935 = sext i32 %16934 to i64
  %16936 = getelementptr inbounds %struct.complex, ptr %16933, i64 %16935
  %16937 = getelementptr inbounds %struct.complex, ptr %16936, i32 0, i32 1
  %16938 = load float, ptr %16937, align 4, !tbaa !14
  %16939 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %16940 = load float, ptr %16939, align 4, !tbaa !14
  %16941 = load ptr, ptr %14, align 8, !tbaa !5
  %16942 = load i32, ptr %21, align 4, !tbaa !9
  %16943 = sext i32 %16942 to i64
  %16944 = getelementptr inbounds %struct.complex, ptr %16941, i64 %16943
  %16945 = getelementptr inbounds %struct.complex, ptr %16944, i32 0, i32 0
  %16946 = load float, ptr %16945, align 4, !tbaa !11
  %16947 = fmul float %16940, %16946
  %16948 = call float @llvm.fmuladd.f32(float %16932, float %16938, float %16947)
  %16949 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %16948, ptr %16949, align 4, !tbaa !14
  %16950 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %16951 = load float, ptr %16950, align 4, !tbaa !11
  %16952 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %16953 = load float, ptr %16952, align 4, !tbaa !11
  %16954 = fadd float %16951, %16953
  %16955 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %16954, ptr %16955, align 4, !tbaa !11
  %16956 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %16957 = load float, ptr %16956, align 4, !tbaa !14
  %16958 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %16959 = load float, ptr %16958, align 4, !tbaa !14
  %16960 = fadd float %16957, %16959
  %16961 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %16960, ptr %16961, align 4, !tbaa !14
  %16962 = load i32, ptr %49, align 4, !tbaa !9
  %16963 = load i32, ptr %17, align 4, !tbaa !9
  %16964 = mul nsw i32 %16963, 3
  %16965 = add nsw i32 %16962, %16964
  store i32 %16965, ptr %22, align 4, !tbaa !9
  %16966 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %16967 = load float, ptr %16966, align 4, !tbaa !11
  %16968 = load ptr, ptr %14, align 8, !tbaa !5
  %16969 = load i32, ptr %22, align 4, !tbaa !9
  %16970 = sext i32 %16969 to i64
  %16971 = getelementptr inbounds %struct.complex, ptr %16968, i64 %16970
  %16972 = getelementptr inbounds %struct.complex, ptr %16971, i32 0, i32 0
  %16973 = load float, ptr %16972, align 4, !tbaa !11
  %16974 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %16975 = load float, ptr %16974, align 4, !tbaa !14
  %16976 = load ptr, ptr %14, align 8, !tbaa !5
  %16977 = load i32, ptr %22, align 4, !tbaa !9
  %16978 = sext i32 %16977 to i64
  %16979 = getelementptr inbounds %struct.complex, ptr %16976, i64 %16978
  %16980 = getelementptr inbounds %struct.complex, ptr %16979, i32 0, i32 1
  %16981 = load float, ptr %16980, align 4, !tbaa !14
  %16982 = fmul float %16975, %16981
  %16983 = fneg float %16982
  %16984 = call float @llvm.fmuladd.f32(float %16967, float %16973, float %16983)
  %16985 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %16984, ptr %16985, align 4, !tbaa !11
  %16986 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %16987 = load float, ptr %16986, align 4, !tbaa !11
  %16988 = load ptr, ptr %14, align 8, !tbaa !5
  %16989 = load i32, ptr %22, align 4, !tbaa !9
  %16990 = sext i32 %16989 to i64
  %16991 = getelementptr inbounds %struct.complex, ptr %16988, i64 %16990
  %16992 = getelementptr inbounds %struct.complex, ptr %16991, i32 0, i32 1
  %16993 = load float, ptr %16992, align 4, !tbaa !14
  %16994 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %16995 = load float, ptr %16994, align 4, !tbaa !14
  %16996 = load ptr, ptr %14, align 8, !tbaa !5
  %16997 = load i32, ptr %22, align 4, !tbaa !9
  %16998 = sext i32 %16997 to i64
  %16999 = getelementptr inbounds %struct.complex, ptr %16996, i64 %16998
  %17000 = getelementptr inbounds %struct.complex, ptr %16999, i32 0, i32 0
  %17001 = load float, ptr %17000, align 4, !tbaa !11
  %17002 = fmul float %16995, %17001
  %17003 = call float @llvm.fmuladd.f32(float %16987, float %16993, float %17002)
  %17004 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %17003, ptr %17004, align 4, !tbaa !14
  %17005 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %17006 = load float, ptr %17005, align 4, !tbaa !11
  %17007 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %17008 = load float, ptr %17007, align 4, !tbaa !11
  %17009 = fadd float %17006, %17008
  %17010 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %17009, ptr %17010, align 4, !tbaa !11
  %17011 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %17012 = load float, ptr %17011, align 4, !tbaa !14
  %17013 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %17014 = load float, ptr %17013, align 4, !tbaa !14
  %17015 = fadd float %17012, %17014
  %17016 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %17015, ptr %17016, align 4, !tbaa !14
  %17017 = load i32, ptr %49, align 4, !tbaa !9
  %17018 = load i32, ptr %17, align 4, !tbaa !9
  %17019 = shl i32 %17018, 2
  %17020 = add nsw i32 %17017, %17019
  store i32 %17020, ptr %23, align 4, !tbaa !9
  %17021 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %17022 = load float, ptr %17021, align 4, !tbaa !11
  %17023 = load ptr, ptr %14, align 8, !tbaa !5
  %17024 = load i32, ptr %23, align 4, !tbaa !9
  %17025 = sext i32 %17024 to i64
  %17026 = getelementptr inbounds %struct.complex, ptr %17023, i64 %17025
  %17027 = getelementptr inbounds %struct.complex, ptr %17026, i32 0, i32 0
  %17028 = load float, ptr %17027, align 4, !tbaa !11
  %17029 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %17030 = load float, ptr %17029, align 4, !tbaa !14
  %17031 = load ptr, ptr %14, align 8, !tbaa !5
  %17032 = load i32, ptr %23, align 4, !tbaa !9
  %17033 = sext i32 %17032 to i64
  %17034 = getelementptr inbounds %struct.complex, ptr %17031, i64 %17033
  %17035 = getelementptr inbounds %struct.complex, ptr %17034, i32 0, i32 1
  %17036 = load float, ptr %17035, align 4, !tbaa !14
  %17037 = fmul float %17030, %17036
  %17038 = fneg float %17037
  %17039 = call float @llvm.fmuladd.f32(float %17022, float %17028, float %17038)
  %17040 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %17039, ptr %17040, align 4, !tbaa !11
  %17041 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %17042 = load float, ptr %17041, align 4, !tbaa !11
  %17043 = load ptr, ptr %14, align 8, !tbaa !5
  %17044 = load i32, ptr %23, align 4, !tbaa !9
  %17045 = sext i32 %17044 to i64
  %17046 = getelementptr inbounds %struct.complex, ptr %17043, i64 %17045
  %17047 = getelementptr inbounds %struct.complex, ptr %17046, i32 0, i32 1
  %17048 = load float, ptr %17047, align 4, !tbaa !14
  %17049 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %17050 = load float, ptr %17049, align 4, !tbaa !14
  %17051 = load ptr, ptr %14, align 8, !tbaa !5
  %17052 = load i32, ptr %23, align 4, !tbaa !9
  %17053 = sext i32 %17052 to i64
  %17054 = getelementptr inbounds %struct.complex, ptr %17051, i64 %17053
  %17055 = getelementptr inbounds %struct.complex, ptr %17054, i32 0, i32 0
  %17056 = load float, ptr %17055, align 4, !tbaa !11
  %17057 = fmul float %17050, %17056
  %17058 = call float @llvm.fmuladd.f32(float %17042, float %17048, float %17057)
  %17059 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %17058, ptr %17059, align 4, !tbaa !14
  %17060 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %17061 = load float, ptr %17060, align 4, !tbaa !11
  %17062 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %17063 = load float, ptr %17062, align 4, !tbaa !11
  %17064 = fadd float %17061, %17063
  %17065 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %17064, ptr %17065, align 4, !tbaa !11
  %17066 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %17067 = load float, ptr %17066, align 4, !tbaa !14
  %17068 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %17069 = load float, ptr %17068, align 4, !tbaa !14
  %17070 = fadd float %17067, %17069
  %17071 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %17070, ptr %17071, align 4, !tbaa !14
  %17072 = load i32, ptr %49, align 4, !tbaa !9
  %17073 = load i32, ptr %17, align 4, !tbaa !9
  %17074 = mul nsw i32 %17073, 5
  %17075 = add nsw i32 %17072, %17074
  store i32 %17075, ptr %24, align 4, !tbaa !9
  %17076 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %17077 = load float, ptr %17076, align 4, !tbaa !11
  %17078 = load ptr, ptr %14, align 8, !tbaa !5
  %17079 = load i32, ptr %24, align 4, !tbaa !9
  %17080 = sext i32 %17079 to i64
  %17081 = getelementptr inbounds %struct.complex, ptr %17078, i64 %17080
  %17082 = getelementptr inbounds %struct.complex, ptr %17081, i32 0, i32 0
  %17083 = load float, ptr %17082, align 4, !tbaa !11
  %17084 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %17085 = load float, ptr %17084, align 4, !tbaa !14
  %17086 = load ptr, ptr %14, align 8, !tbaa !5
  %17087 = load i32, ptr %24, align 4, !tbaa !9
  %17088 = sext i32 %17087 to i64
  %17089 = getelementptr inbounds %struct.complex, ptr %17086, i64 %17088
  %17090 = getelementptr inbounds %struct.complex, ptr %17089, i32 0, i32 1
  %17091 = load float, ptr %17090, align 4, !tbaa !14
  %17092 = fmul float %17085, %17091
  %17093 = fneg float %17092
  %17094 = call float @llvm.fmuladd.f32(float %17077, float %17083, float %17093)
  %17095 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %17094, ptr %17095, align 4, !tbaa !11
  %17096 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %17097 = load float, ptr %17096, align 4, !tbaa !11
  %17098 = load ptr, ptr %14, align 8, !tbaa !5
  %17099 = load i32, ptr %24, align 4, !tbaa !9
  %17100 = sext i32 %17099 to i64
  %17101 = getelementptr inbounds %struct.complex, ptr %17098, i64 %17100
  %17102 = getelementptr inbounds %struct.complex, ptr %17101, i32 0, i32 1
  %17103 = load float, ptr %17102, align 4, !tbaa !14
  %17104 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %17105 = load float, ptr %17104, align 4, !tbaa !14
  %17106 = load ptr, ptr %14, align 8, !tbaa !5
  %17107 = load i32, ptr %24, align 4, !tbaa !9
  %17108 = sext i32 %17107 to i64
  %17109 = getelementptr inbounds %struct.complex, ptr %17106, i64 %17108
  %17110 = getelementptr inbounds %struct.complex, ptr %17109, i32 0, i32 0
  %17111 = load float, ptr %17110, align 4, !tbaa !11
  %17112 = fmul float %17105, %17111
  %17113 = call float @llvm.fmuladd.f32(float %17097, float %17103, float %17112)
  %17114 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %17113, ptr %17114, align 4, !tbaa !14
  %17115 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %17116 = load float, ptr %17115, align 4, !tbaa !11
  %17117 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %17118 = load float, ptr %17117, align 4, !tbaa !11
  %17119 = fadd float %17116, %17118
  %17120 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %17119, ptr %17120, align 4, !tbaa !11
  %17121 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %17122 = load float, ptr %17121, align 4, !tbaa !14
  %17123 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %17124 = load float, ptr %17123, align 4, !tbaa !14
  %17125 = fadd float %17122, %17124
  %17126 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %17125, ptr %17126, align 4, !tbaa !14
  %17127 = load i32, ptr %49, align 4, !tbaa !9
  %17128 = load i32, ptr %17, align 4, !tbaa !9
  %17129 = mul nsw i32 %17128, 6
  %17130 = add nsw i32 %17127, %17129
  store i32 %17130, ptr %25, align 4, !tbaa !9
  %17131 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %17132 = load float, ptr %17131, align 4, !tbaa !11
  %17133 = load ptr, ptr %14, align 8, !tbaa !5
  %17134 = load i32, ptr %25, align 4, !tbaa !9
  %17135 = sext i32 %17134 to i64
  %17136 = getelementptr inbounds %struct.complex, ptr %17133, i64 %17135
  %17137 = getelementptr inbounds %struct.complex, ptr %17136, i32 0, i32 0
  %17138 = load float, ptr %17137, align 4, !tbaa !11
  %17139 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %17140 = load float, ptr %17139, align 4, !tbaa !14
  %17141 = load ptr, ptr %14, align 8, !tbaa !5
  %17142 = load i32, ptr %25, align 4, !tbaa !9
  %17143 = sext i32 %17142 to i64
  %17144 = getelementptr inbounds %struct.complex, ptr %17141, i64 %17143
  %17145 = getelementptr inbounds %struct.complex, ptr %17144, i32 0, i32 1
  %17146 = load float, ptr %17145, align 4, !tbaa !14
  %17147 = fmul float %17140, %17146
  %17148 = fneg float %17147
  %17149 = call float @llvm.fmuladd.f32(float %17132, float %17138, float %17148)
  %17150 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %17149, ptr %17150, align 4, !tbaa !11
  %17151 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %17152 = load float, ptr %17151, align 4, !tbaa !11
  %17153 = load ptr, ptr %14, align 8, !tbaa !5
  %17154 = load i32, ptr %25, align 4, !tbaa !9
  %17155 = sext i32 %17154 to i64
  %17156 = getelementptr inbounds %struct.complex, ptr %17153, i64 %17155
  %17157 = getelementptr inbounds %struct.complex, ptr %17156, i32 0, i32 1
  %17158 = load float, ptr %17157, align 4, !tbaa !14
  %17159 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %17160 = load float, ptr %17159, align 4, !tbaa !14
  %17161 = load ptr, ptr %14, align 8, !tbaa !5
  %17162 = load i32, ptr %25, align 4, !tbaa !9
  %17163 = sext i32 %17162 to i64
  %17164 = getelementptr inbounds %struct.complex, ptr %17161, i64 %17163
  %17165 = getelementptr inbounds %struct.complex, ptr %17164, i32 0, i32 0
  %17166 = load float, ptr %17165, align 4, !tbaa !11
  %17167 = fmul float %17160, %17166
  %17168 = call float @llvm.fmuladd.f32(float %17152, float %17158, float %17167)
  %17169 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %17168, ptr %17169, align 4, !tbaa !14
  %17170 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %17171 = load float, ptr %17170, align 4, !tbaa !11
  %17172 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %17173 = load float, ptr %17172, align 4, !tbaa !11
  %17174 = fadd float %17171, %17173
  %17175 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %17174, ptr %17175, align 4, !tbaa !11
  %17176 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %17177 = load float, ptr %17176, align 4, !tbaa !14
  %17178 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %17179 = load float, ptr %17178, align 4, !tbaa !14
  %17180 = fadd float %17177, %17179
  %17181 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %17180, ptr %17181, align 4, !tbaa !14
  %17182 = load i32, ptr %49, align 4, !tbaa !9
  %17183 = load i32, ptr %17, align 4, !tbaa !9
  %17184 = mul nsw i32 %17183, 7
  %17185 = add nsw i32 %17182, %17184
  store i32 %17185, ptr %26, align 4, !tbaa !9
  %17186 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %17187 = load float, ptr %17186, align 4, !tbaa !11
  %17188 = load ptr, ptr %14, align 8, !tbaa !5
  %17189 = load i32, ptr %26, align 4, !tbaa !9
  %17190 = sext i32 %17189 to i64
  %17191 = getelementptr inbounds %struct.complex, ptr %17188, i64 %17190
  %17192 = getelementptr inbounds %struct.complex, ptr %17191, i32 0, i32 0
  %17193 = load float, ptr %17192, align 4, !tbaa !11
  %17194 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %17195 = load float, ptr %17194, align 4, !tbaa !14
  %17196 = load ptr, ptr %14, align 8, !tbaa !5
  %17197 = load i32, ptr %26, align 4, !tbaa !9
  %17198 = sext i32 %17197 to i64
  %17199 = getelementptr inbounds %struct.complex, ptr %17196, i64 %17198
  %17200 = getelementptr inbounds %struct.complex, ptr %17199, i32 0, i32 1
  %17201 = load float, ptr %17200, align 4, !tbaa !14
  %17202 = fmul float %17195, %17201
  %17203 = fneg float %17202
  %17204 = call float @llvm.fmuladd.f32(float %17187, float %17193, float %17203)
  %17205 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %17204, ptr %17205, align 4, !tbaa !11
  %17206 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %17207 = load float, ptr %17206, align 4, !tbaa !11
  %17208 = load ptr, ptr %14, align 8, !tbaa !5
  %17209 = load i32, ptr %26, align 4, !tbaa !9
  %17210 = sext i32 %17209 to i64
  %17211 = getelementptr inbounds %struct.complex, ptr %17208, i64 %17210
  %17212 = getelementptr inbounds %struct.complex, ptr %17211, i32 0, i32 1
  %17213 = load float, ptr %17212, align 4, !tbaa !14
  %17214 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %17215 = load float, ptr %17214, align 4, !tbaa !14
  %17216 = load ptr, ptr %14, align 8, !tbaa !5
  %17217 = load i32, ptr %26, align 4, !tbaa !9
  %17218 = sext i32 %17217 to i64
  %17219 = getelementptr inbounds %struct.complex, ptr %17216, i64 %17218
  %17220 = getelementptr inbounds %struct.complex, ptr %17219, i32 0, i32 0
  %17221 = load float, ptr %17220, align 4, !tbaa !11
  %17222 = fmul float %17215, %17221
  %17223 = call float @llvm.fmuladd.f32(float %17207, float %17213, float %17222)
  %17224 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %17223, ptr %17224, align 4, !tbaa !14
  %17225 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %17226 = load float, ptr %17225, align 4, !tbaa !11
  %17227 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %17228 = load float, ptr %17227, align 4, !tbaa !11
  %17229 = fadd float %17226, %17228
  %17230 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %17229, ptr %17230, align 4, !tbaa !11
  %17231 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %17232 = load float, ptr %17231, align 4, !tbaa !14
  %17233 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %17234 = load float, ptr %17233, align 4, !tbaa !14
  %17235 = fadd float %17232, %17234
  %17236 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %17235, ptr %17236, align 4, !tbaa !14
  %17237 = load i32, ptr %49, align 4, !tbaa !9
  %17238 = load i32, ptr %17, align 4, !tbaa !9
  %17239 = shl i32 %17238, 3
  %17240 = add nsw i32 %17237, %17239
  store i32 %17240, ptr %27, align 4, !tbaa !9
  %17241 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %17242 = load float, ptr %17241, align 4, !tbaa !11
  %17243 = load ptr, ptr %14, align 8, !tbaa !5
  %17244 = load i32, ptr %27, align 4, !tbaa !9
  %17245 = sext i32 %17244 to i64
  %17246 = getelementptr inbounds %struct.complex, ptr %17243, i64 %17245
  %17247 = getelementptr inbounds %struct.complex, ptr %17246, i32 0, i32 0
  %17248 = load float, ptr %17247, align 4, !tbaa !11
  %17249 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %17250 = load float, ptr %17249, align 4, !tbaa !14
  %17251 = load ptr, ptr %14, align 8, !tbaa !5
  %17252 = load i32, ptr %27, align 4, !tbaa !9
  %17253 = sext i32 %17252 to i64
  %17254 = getelementptr inbounds %struct.complex, ptr %17251, i64 %17253
  %17255 = getelementptr inbounds %struct.complex, ptr %17254, i32 0, i32 1
  %17256 = load float, ptr %17255, align 4, !tbaa !14
  %17257 = fmul float %17250, %17256
  %17258 = fneg float %17257
  %17259 = call float @llvm.fmuladd.f32(float %17242, float %17248, float %17258)
  %17260 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %17259, ptr %17260, align 4, !tbaa !11
  %17261 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %17262 = load float, ptr %17261, align 4, !tbaa !11
  %17263 = load ptr, ptr %14, align 8, !tbaa !5
  %17264 = load i32, ptr %27, align 4, !tbaa !9
  %17265 = sext i32 %17264 to i64
  %17266 = getelementptr inbounds %struct.complex, ptr %17263, i64 %17265
  %17267 = getelementptr inbounds %struct.complex, ptr %17266, i32 0, i32 1
  %17268 = load float, ptr %17267, align 4, !tbaa !14
  %17269 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %17270 = load float, ptr %17269, align 4, !tbaa !14
  %17271 = load ptr, ptr %14, align 8, !tbaa !5
  %17272 = load i32, ptr %27, align 4, !tbaa !9
  %17273 = sext i32 %17272 to i64
  %17274 = getelementptr inbounds %struct.complex, ptr %17271, i64 %17273
  %17275 = getelementptr inbounds %struct.complex, ptr %17274, i32 0, i32 0
  %17276 = load float, ptr %17275, align 4, !tbaa !11
  %17277 = fmul float %17270, %17276
  %17278 = call float @llvm.fmuladd.f32(float %17262, float %17268, float %17277)
  %17279 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %17278, ptr %17279, align 4, !tbaa !14
  %17280 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %17281 = load float, ptr %17280, align 4, !tbaa !11
  %17282 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %17283 = load float, ptr %17282, align 4, !tbaa !11
  %17284 = fadd float %17281, %17283
  %17285 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17284, ptr %17285, align 4, !tbaa !11
  %17286 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %17287 = load float, ptr %17286, align 4, !tbaa !14
  %17288 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %17289 = load float, ptr %17288, align 4, !tbaa !14
  %17290 = fadd float %17287, %17289
  %17291 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17290, ptr %17291, align 4, !tbaa !14
  %17292 = load i32, ptr %49, align 4, !tbaa !9
  %17293 = load i32, ptr %17, align 4, !tbaa !9
  %17294 = mul nsw i32 %17293, 9
  %17295 = add nsw i32 %17292, %17294
  store i32 %17295, ptr %28, align 4, !tbaa !9
  %17296 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %17297 = load float, ptr %17296, align 4, !tbaa !11
  %17298 = load ptr, ptr %14, align 8, !tbaa !5
  %17299 = load i32, ptr %28, align 4, !tbaa !9
  %17300 = sext i32 %17299 to i64
  %17301 = getelementptr inbounds %struct.complex, ptr %17298, i64 %17300
  %17302 = getelementptr inbounds %struct.complex, ptr %17301, i32 0, i32 0
  %17303 = load float, ptr %17302, align 4, !tbaa !11
  %17304 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %17305 = load float, ptr %17304, align 4, !tbaa !14
  %17306 = load ptr, ptr %14, align 8, !tbaa !5
  %17307 = load i32, ptr %28, align 4, !tbaa !9
  %17308 = sext i32 %17307 to i64
  %17309 = getelementptr inbounds %struct.complex, ptr %17306, i64 %17308
  %17310 = getelementptr inbounds %struct.complex, ptr %17309, i32 0, i32 1
  %17311 = load float, ptr %17310, align 4, !tbaa !14
  %17312 = fmul float %17305, %17311
  %17313 = fneg float %17312
  %17314 = call float @llvm.fmuladd.f32(float %17297, float %17303, float %17313)
  %17315 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %17314, ptr %17315, align 4, !tbaa !11
  %17316 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %17317 = load float, ptr %17316, align 4, !tbaa !11
  %17318 = load ptr, ptr %14, align 8, !tbaa !5
  %17319 = load i32, ptr %28, align 4, !tbaa !9
  %17320 = sext i32 %17319 to i64
  %17321 = getelementptr inbounds %struct.complex, ptr %17318, i64 %17320
  %17322 = getelementptr inbounds %struct.complex, ptr %17321, i32 0, i32 1
  %17323 = load float, ptr %17322, align 4, !tbaa !14
  %17324 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %17325 = load float, ptr %17324, align 4, !tbaa !14
  %17326 = load ptr, ptr %14, align 8, !tbaa !5
  %17327 = load i32, ptr %28, align 4, !tbaa !9
  %17328 = sext i32 %17327 to i64
  %17329 = getelementptr inbounds %struct.complex, ptr %17326, i64 %17328
  %17330 = getelementptr inbounds %struct.complex, ptr %17329, i32 0, i32 0
  %17331 = load float, ptr %17330, align 4, !tbaa !11
  %17332 = fmul float %17325, %17331
  %17333 = call float @llvm.fmuladd.f32(float %17317, float %17323, float %17332)
  %17334 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %17333, ptr %17334, align 4, !tbaa !14
  %17335 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17336 = load float, ptr %17335, align 4, !tbaa !11
  %17337 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %17338 = load float, ptr %17337, align 4, !tbaa !11
  %17339 = fadd float %17336, %17338
  %17340 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17339, ptr %17340, align 4, !tbaa !11
  %17341 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17342 = load float, ptr %17341, align 4, !tbaa !14
  %17343 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %17344 = load float, ptr %17343, align 4, !tbaa !14
  %17345 = fadd float %17342, %17344
  %17346 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17345, ptr %17346, align 4, !tbaa !14
  %17347 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17348 = load float, ptr %17347, align 4, !tbaa !11
  %17349 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %17348, ptr %17349, align 4, !tbaa !11
  %17350 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17351 = load float, ptr %17350, align 4, !tbaa !14
  %17352 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %17351, ptr %17352, align 4, !tbaa !14
  %17353 = load i32, ptr %49, align 4, !tbaa !9
  %17354 = load i32, ptr %17, align 4, !tbaa !9
  %17355 = add nsw i32 %17353, %17354
  store i32 %17355, ptr %20, align 4, !tbaa !9
  %17356 = load i32, ptr %49, align 4, !tbaa !9
  %17357 = load i32, ptr %17, align 4, !tbaa !9
  %17358 = add nsw i32 %17356, %17357
  store i32 %17358, ptr %21, align 4, !tbaa !9
  %17359 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17360 = load float, ptr %17359, align 4, !tbaa !11
  %17361 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %17362 = load float, ptr %17361, align 4, !tbaa !11
  %17363 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17364 = load float, ptr %17363, align 4, !tbaa !14
  %17365 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %17366 = load float, ptr %17365, align 4, !tbaa !14
  %17367 = fmul float %17364, %17366
  %17368 = fneg float %17367
  %17369 = call float @llvm.fmuladd.f32(float %17360, float %17362, float %17368)
  %17370 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17369, ptr %17370, align 4, !tbaa !11
  %17371 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17372 = load float, ptr %17371, align 4, !tbaa !11
  %17373 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %17374 = load float, ptr %17373, align 4, !tbaa !14
  %17375 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17376 = load float, ptr %17375, align 4, !tbaa !14
  %17377 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %17378 = load float, ptr %17377, align 4, !tbaa !11
  %17379 = fmul float %17376, %17378
  %17380 = call float @llvm.fmuladd.f32(float %17372, float %17374, float %17379)
  %17381 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17380, ptr %17381, align 4, !tbaa !14
  %17382 = load ptr, ptr %14, align 8, !tbaa !5
  %17383 = load i32, ptr %21, align 4, !tbaa !9
  %17384 = sext i32 %17383 to i64
  %17385 = getelementptr inbounds %struct.complex, ptr %17382, i64 %17384
  %17386 = getelementptr inbounds %struct.complex, ptr %17385, i32 0, i32 0
  %17387 = load float, ptr %17386, align 4, !tbaa !11
  %17388 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17389 = load float, ptr %17388, align 4, !tbaa !11
  %17390 = fsub float %17387, %17389
  %17391 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17390, ptr %17391, align 4, !tbaa !11
  %17392 = load ptr, ptr %14, align 8, !tbaa !5
  %17393 = load i32, ptr %21, align 4, !tbaa !9
  %17394 = sext i32 %17393 to i64
  %17395 = getelementptr inbounds %struct.complex, ptr %17392, i64 %17394
  %17396 = getelementptr inbounds %struct.complex, ptr %17395, i32 0, i32 1
  %17397 = load float, ptr %17396, align 4, !tbaa !14
  %17398 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17399 = load float, ptr %17398, align 4, !tbaa !14
  %17400 = fsub float %17397, %17399
  %17401 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17400, ptr %17401, align 4, !tbaa !14
  %17402 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17403 = load float, ptr %17402, align 4, !tbaa !11
  %17404 = load ptr, ptr %14, align 8, !tbaa !5
  %17405 = load i32, ptr %20, align 4, !tbaa !9
  %17406 = sext i32 %17405 to i64
  %17407 = getelementptr inbounds %struct.complex, ptr %17404, i64 %17406
  %17408 = getelementptr inbounds %struct.complex, ptr %17407, i32 0, i32 0
  store float %17403, ptr %17408, align 4, !tbaa !11
  %17409 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17410 = load float, ptr %17409, align 4, !tbaa !14
  %17411 = load ptr, ptr %14, align 8, !tbaa !5
  %17412 = load i32, ptr %20, align 4, !tbaa !9
  %17413 = sext i32 %17412 to i64
  %17414 = getelementptr inbounds %struct.complex, ptr %17411, i64 %17413
  %17415 = getelementptr inbounds %struct.complex, ptr %17414, i32 0, i32 1
  store float %17410, ptr %17415, align 4, !tbaa !14
  %17416 = load i32, ptr %49, align 4, !tbaa !9
  %17417 = load i32, ptr %17, align 4, !tbaa !9
  %17418 = shl i32 %17417, 1
  %17419 = add nsw i32 %17416, %17418
  store i32 %17419, ptr %20, align 4, !tbaa !9
  %17420 = load i32, ptr %49, align 4, !tbaa !9
  %17421 = load i32, ptr %17, align 4, !tbaa !9
  %17422 = shl i32 %17421, 1
  %17423 = add nsw i32 %17420, %17422
  store i32 %17423, ptr %21, align 4, !tbaa !9
  %17424 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17425 = load float, ptr %17424, align 4, !tbaa !11
  %17426 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %17427 = load float, ptr %17426, align 4, !tbaa !11
  %17428 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17429 = load float, ptr %17428, align 4, !tbaa !14
  %17430 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %17431 = load float, ptr %17430, align 4, !tbaa !14
  %17432 = fmul float %17429, %17431
  %17433 = fneg float %17432
  %17434 = call float @llvm.fmuladd.f32(float %17425, float %17427, float %17433)
  %17435 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17434, ptr %17435, align 4, !tbaa !11
  %17436 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17437 = load float, ptr %17436, align 4, !tbaa !11
  %17438 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %17439 = load float, ptr %17438, align 4, !tbaa !14
  %17440 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17441 = load float, ptr %17440, align 4, !tbaa !14
  %17442 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %17443 = load float, ptr %17442, align 4, !tbaa !11
  %17444 = fmul float %17441, %17443
  %17445 = call float @llvm.fmuladd.f32(float %17437, float %17439, float %17444)
  %17446 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17445, ptr %17446, align 4, !tbaa !14
  %17447 = load ptr, ptr %14, align 8, !tbaa !5
  %17448 = load i32, ptr %21, align 4, !tbaa !9
  %17449 = sext i32 %17448 to i64
  %17450 = getelementptr inbounds %struct.complex, ptr %17447, i64 %17449
  %17451 = getelementptr inbounds %struct.complex, ptr %17450, i32 0, i32 0
  %17452 = load float, ptr %17451, align 4, !tbaa !11
  %17453 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17454 = load float, ptr %17453, align 4, !tbaa !11
  %17455 = fsub float %17452, %17454
  %17456 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17455, ptr %17456, align 4, !tbaa !11
  %17457 = load ptr, ptr %14, align 8, !tbaa !5
  %17458 = load i32, ptr %21, align 4, !tbaa !9
  %17459 = sext i32 %17458 to i64
  %17460 = getelementptr inbounds %struct.complex, ptr %17457, i64 %17459
  %17461 = getelementptr inbounds %struct.complex, ptr %17460, i32 0, i32 1
  %17462 = load float, ptr %17461, align 4, !tbaa !14
  %17463 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17464 = load float, ptr %17463, align 4, !tbaa !14
  %17465 = fsub float %17462, %17464
  %17466 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17465, ptr %17466, align 4, !tbaa !14
  %17467 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17468 = load float, ptr %17467, align 4, !tbaa !11
  %17469 = load ptr, ptr %14, align 8, !tbaa !5
  %17470 = load i32, ptr %20, align 4, !tbaa !9
  %17471 = sext i32 %17470 to i64
  %17472 = getelementptr inbounds %struct.complex, ptr %17469, i64 %17471
  %17473 = getelementptr inbounds %struct.complex, ptr %17472, i32 0, i32 0
  store float %17468, ptr %17473, align 4, !tbaa !11
  %17474 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17475 = load float, ptr %17474, align 4, !tbaa !14
  %17476 = load ptr, ptr %14, align 8, !tbaa !5
  %17477 = load i32, ptr %20, align 4, !tbaa !9
  %17478 = sext i32 %17477 to i64
  %17479 = getelementptr inbounds %struct.complex, ptr %17476, i64 %17478
  %17480 = getelementptr inbounds %struct.complex, ptr %17479, i32 0, i32 1
  store float %17475, ptr %17480, align 4, !tbaa !14
  %17481 = load i32, ptr %49, align 4, !tbaa !9
  %17482 = load i32, ptr %17, align 4, !tbaa !9
  %17483 = mul nsw i32 %17482, 3
  %17484 = add nsw i32 %17481, %17483
  store i32 %17484, ptr %20, align 4, !tbaa !9
  %17485 = load i32, ptr %49, align 4, !tbaa !9
  %17486 = load i32, ptr %17, align 4, !tbaa !9
  %17487 = mul nsw i32 %17486, 3
  %17488 = add nsw i32 %17485, %17487
  store i32 %17488, ptr %21, align 4, !tbaa !9
  %17489 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17490 = load float, ptr %17489, align 4, !tbaa !11
  %17491 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %17492 = load float, ptr %17491, align 4, !tbaa !11
  %17493 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17494 = load float, ptr %17493, align 4, !tbaa !14
  %17495 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %17496 = load float, ptr %17495, align 4, !tbaa !14
  %17497 = fmul float %17494, %17496
  %17498 = fneg float %17497
  %17499 = call float @llvm.fmuladd.f32(float %17490, float %17492, float %17498)
  %17500 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17499, ptr %17500, align 4, !tbaa !11
  %17501 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17502 = load float, ptr %17501, align 4, !tbaa !11
  %17503 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %17504 = load float, ptr %17503, align 4, !tbaa !14
  %17505 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17506 = load float, ptr %17505, align 4, !tbaa !14
  %17507 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %17508 = load float, ptr %17507, align 4, !tbaa !11
  %17509 = fmul float %17506, %17508
  %17510 = call float @llvm.fmuladd.f32(float %17502, float %17504, float %17509)
  %17511 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17510, ptr %17511, align 4, !tbaa !14
  %17512 = load ptr, ptr %14, align 8, !tbaa !5
  %17513 = load i32, ptr %21, align 4, !tbaa !9
  %17514 = sext i32 %17513 to i64
  %17515 = getelementptr inbounds %struct.complex, ptr %17512, i64 %17514
  %17516 = getelementptr inbounds %struct.complex, ptr %17515, i32 0, i32 0
  %17517 = load float, ptr %17516, align 4, !tbaa !11
  %17518 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17519 = load float, ptr %17518, align 4, !tbaa !11
  %17520 = fsub float %17517, %17519
  %17521 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17520, ptr %17521, align 4, !tbaa !11
  %17522 = load ptr, ptr %14, align 8, !tbaa !5
  %17523 = load i32, ptr %21, align 4, !tbaa !9
  %17524 = sext i32 %17523 to i64
  %17525 = getelementptr inbounds %struct.complex, ptr %17522, i64 %17524
  %17526 = getelementptr inbounds %struct.complex, ptr %17525, i32 0, i32 1
  %17527 = load float, ptr %17526, align 4, !tbaa !14
  %17528 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17529 = load float, ptr %17528, align 4, !tbaa !14
  %17530 = fsub float %17527, %17529
  %17531 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17530, ptr %17531, align 4, !tbaa !14
  %17532 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17533 = load float, ptr %17532, align 4, !tbaa !11
  %17534 = load ptr, ptr %14, align 8, !tbaa !5
  %17535 = load i32, ptr %20, align 4, !tbaa !9
  %17536 = sext i32 %17535 to i64
  %17537 = getelementptr inbounds %struct.complex, ptr %17534, i64 %17536
  %17538 = getelementptr inbounds %struct.complex, ptr %17537, i32 0, i32 0
  store float %17533, ptr %17538, align 4, !tbaa !11
  %17539 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17540 = load float, ptr %17539, align 4, !tbaa !14
  %17541 = load ptr, ptr %14, align 8, !tbaa !5
  %17542 = load i32, ptr %20, align 4, !tbaa !9
  %17543 = sext i32 %17542 to i64
  %17544 = getelementptr inbounds %struct.complex, ptr %17541, i64 %17543
  %17545 = getelementptr inbounds %struct.complex, ptr %17544, i32 0, i32 1
  store float %17540, ptr %17545, align 4, !tbaa !14
  %17546 = load i32, ptr %49, align 4, !tbaa !9
  %17547 = load i32, ptr %17, align 4, !tbaa !9
  %17548 = shl i32 %17547, 2
  %17549 = add nsw i32 %17546, %17548
  store i32 %17549, ptr %20, align 4, !tbaa !9
  %17550 = load i32, ptr %49, align 4, !tbaa !9
  %17551 = load i32, ptr %17, align 4, !tbaa !9
  %17552 = shl i32 %17551, 2
  %17553 = add nsw i32 %17550, %17552
  store i32 %17553, ptr %21, align 4, !tbaa !9
  %17554 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17555 = load float, ptr %17554, align 4, !tbaa !11
  %17556 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %17557 = load float, ptr %17556, align 4, !tbaa !11
  %17558 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17559 = load float, ptr %17558, align 4, !tbaa !14
  %17560 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %17561 = load float, ptr %17560, align 4, !tbaa !14
  %17562 = fmul float %17559, %17561
  %17563 = fneg float %17562
  %17564 = call float @llvm.fmuladd.f32(float %17555, float %17557, float %17563)
  %17565 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17564, ptr %17565, align 4, !tbaa !11
  %17566 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17567 = load float, ptr %17566, align 4, !tbaa !11
  %17568 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %17569 = load float, ptr %17568, align 4, !tbaa !14
  %17570 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17571 = load float, ptr %17570, align 4, !tbaa !14
  %17572 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %17573 = load float, ptr %17572, align 4, !tbaa !11
  %17574 = fmul float %17571, %17573
  %17575 = call float @llvm.fmuladd.f32(float %17567, float %17569, float %17574)
  %17576 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17575, ptr %17576, align 4, !tbaa !14
  %17577 = load ptr, ptr %14, align 8, !tbaa !5
  %17578 = load i32, ptr %21, align 4, !tbaa !9
  %17579 = sext i32 %17578 to i64
  %17580 = getelementptr inbounds %struct.complex, ptr %17577, i64 %17579
  %17581 = getelementptr inbounds %struct.complex, ptr %17580, i32 0, i32 0
  %17582 = load float, ptr %17581, align 4, !tbaa !11
  %17583 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17584 = load float, ptr %17583, align 4, !tbaa !11
  %17585 = fsub float %17582, %17584
  %17586 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17585, ptr %17586, align 4, !tbaa !11
  %17587 = load ptr, ptr %14, align 8, !tbaa !5
  %17588 = load i32, ptr %21, align 4, !tbaa !9
  %17589 = sext i32 %17588 to i64
  %17590 = getelementptr inbounds %struct.complex, ptr %17587, i64 %17589
  %17591 = getelementptr inbounds %struct.complex, ptr %17590, i32 0, i32 1
  %17592 = load float, ptr %17591, align 4, !tbaa !14
  %17593 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17594 = load float, ptr %17593, align 4, !tbaa !14
  %17595 = fsub float %17592, %17594
  %17596 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17595, ptr %17596, align 4, !tbaa !14
  %17597 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17598 = load float, ptr %17597, align 4, !tbaa !11
  %17599 = load ptr, ptr %14, align 8, !tbaa !5
  %17600 = load i32, ptr %20, align 4, !tbaa !9
  %17601 = sext i32 %17600 to i64
  %17602 = getelementptr inbounds %struct.complex, ptr %17599, i64 %17601
  %17603 = getelementptr inbounds %struct.complex, ptr %17602, i32 0, i32 0
  store float %17598, ptr %17603, align 4, !tbaa !11
  %17604 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17605 = load float, ptr %17604, align 4, !tbaa !14
  %17606 = load ptr, ptr %14, align 8, !tbaa !5
  %17607 = load i32, ptr %20, align 4, !tbaa !9
  %17608 = sext i32 %17607 to i64
  %17609 = getelementptr inbounds %struct.complex, ptr %17606, i64 %17608
  %17610 = getelementptr inbounds %struct.complex, ptr %17609, i32 0, i32 1
  store float %17605, ptr %17610, align 4, !tbaa !14
  %17611 = load i32, ptr %49, align 4, !tbaa !9
  %17612 = load i32, ptr %17, align 4, !tbaa !9
  %17613 = mul nsw i32 %17612, 5
  %17614 = add nsw i32 %17611, %17613
  store i32 %17614, ptr %20, align 4, !tbaa !9
  %17615 = load i32, ptr %49, align 4, !tbaa !9
  %17616 = load i32, ptr %17, align 4, !tbaa !9
  %17617 = mul nsw i32 %17616, 5
  %17618 = add nsw i32 %17615, %17617
  store i32 %17618, ptr %21, align 4, !tbaa !9
  %17619 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17620 = load float, ptr %17619, align 4, !tbaa !11
  %17621 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %17622 = load float, ptr %17621, align 4, !tbaa !11
  %17623 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17624 = load float, ptr %17623, align 4, !tbaa !14
  %17625 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %17626 = load float, ptr %17625, align 4, !tbaa !14
  %17627 = fmul float %17624, %17626
  %17628 = fneg float %17627
  %17629 = call float @llvm.fmuladd.f32(float %17620, float %17622, float %17628)
  %17630 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17629, ptr %17630, align 4, !tbaa !11
  %17631 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17632 = load float, ptr %17631, align 4, !tbaa !11
  %17633 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %17634 = load float, ptr %17633, align 4, !tbaa !14
  %17635 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17636 = load float, ptr %17635, align 4, !tbaa !14
  %17637 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %17638 = load float, ptr %17637, align 4, !tbaa !11
  %17639 = fmul float %17636, %17638
  %17640 = call float @llvm.fmuladd.f32(float %17632, float %17634, float %17639)
  %17641 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17640, ptr %17641, align 4, !tbaa !14
  %17642 = load ptr, ptr %14, align 8, !tbaa !5
  %17643 = load i32, ptr %21, align 4, !tbaa !9
  %17644 = sext i32 %17643 to i64
  %17645 = getelementptr inbounds %struct.complex, ptr %17642, i64 %17644
  %17646 = getelementptr inbounds %struct.complex, ptr %17645, i32 0, i32 0
  %17647 = load float, ptr %17646, align 4, !tbaa !11
  %17648 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17649 = load float, ptr %17648, align 4, !tbaa !11
  %17650 = fsub float %17647, %17649
  %17651 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17650, ptr %17651, align 4, !tbaa !11
  %17652 = load ptr, ptr %14, align 8, !tbaa !5
  %17653 = load i32, ptr %21, align 4, !tbaa !9
  %17654 = sext i32 %17653 to i64
  %17655 = getelementptr inbounds %struct.complex, ptr %17652, i64 %17654
  %17656 = getelementptr inbounds %struct.complex, ptr %17655, i32 0, i32 1
  %17657 = load float, ptr %17656, align 4, !tbaa !14
  %17658 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17659 = load float, ptr %17658, align 4, !tbaa !14
  %17660 = fsub float %17657, %17659
  %17661 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17660, ptr %17661, align 4, !tbaa !14
  %17662 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17663 = load float, ptr %17662, align 4, !tbaa !11
  %17664 = load ptr, ptr %14, align 8, !tbaa !5
  %17665 = load i32, ptr %20, align 4, !tbaa !9
  %17666 = sext i32 %17665 to i64
  %17667 = getelementptr inbounds %struct.complex, ptr %17664, i64 %17666
  %17668 = getelementptr inbounds %struct.complex, ptr %17667, i32 0, i32 0
  store float %17663, ptr %17668, align 4, !tbaa !11
  %17669 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17670 = load float, ptr %17669, align 4, !tbaa !14
  %17671 = load ptr, ptr %14, align 8, !tbaa !5
  %17672 = load i32, ptr %20, align 4, !tbaa !9
  %17673 = sext i32 %17672 to i64
  %17674 = getelementptr inbounds %struct.complex, ptr %17671, i64 %17673
  %17675 = getelementptr inbounds %struct.complex, ptr %17674, i32 0, i32 1
  store float %17670, ptr %17675, align 4, !tbaa !14
  %17676 = load i32, ptr %49, align 4, !tbaa !9
  %17677 = load i32, ptr %17, align 4, !tbaa !9
  %17678 = mul nsw i32 %17677, 6
  %17679 = add nsw i32 %17676, %17678
  store i32 %17679, ptr %20, align 4, !tbaa !9
  %17680 = load i32, ptr %49, align 4, !tbaa !9
  %17681 = load i32, ptr %17, align 4, !tbaa !9
  %17682 = mul nsw i32 %17681, 6
  %17683 = add nsw i32 %17680, %17682
  store i32 %17683, ptr %21, align 4, !tbaa !9
  %17684 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17685 = load float, ptr %17684, align 4, !tbaa !11
  %17686 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %17687 = load float, ptr %17686, align 4, !tbaa !11
  %17688 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17689 = load float, ptr %17688, align 4, !tbaa !14
  %17690 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %17691 = load float, ptr %17690, align 4, !tbaa !14
  %17692 = fmul float %17689, %17691
  %17693 = fneg float %17692
  %17694 = call float @llvm.fmuladd.f32(float %17685, float %17687, float %17693)
  %17695 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17694, ptr %17695, align 4, !tbaa !11
  %17696 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17697 = load float, ptr %17696, align 4, !tbaa !11
  %17698 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %17699 = load float, ptr %17698, align 4, !tbaa !14
  %17700 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17701 = load float, ptr %17700, align 4, !tbaa !14
  %17702 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %17703 = load float, ptr %17702, align 4, !tbaa !11
  %17704 = fmul float %17701, %17703
  %17705 = call float @llvm.fmuladd.f32(float %17697, float %17699, float %17704)
  %17706 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17705, ptr %17706, align 4, !tbaa !14
  %17707 = load ptr, ptr %14, align 8, !tbaa !5
  %17708 = load i32, ptr %21, align 4, !tbaa !9
  %17709 = sext i32 %17708 to i64
  %17710 = getelementptr inbounds %struct.complex, ptr %17707, i64 %17709
  %17711 = getelementptr inbounds %struct.complex, ptr %17710, i32 0, i32 0
  %17712 = load float, ptr %17711, align 4, !tbaa !11
  %17713 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17714 = load float, ptr %17713, align 4, !tbaa !11
  %17715 = fsub float %17712, %17714
  %17716 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17715, ptr %17716, align 4, !tbaa !11
  %17717 = load ptr, ptr %14, align 8, !tbaa !5
  %17718 = load i32, ptr %21, align 4, !tbaa !9
  %17719 = sext i32 %17718 to i64
  %17720 = getelementptr inbounds %struct.complex, ptr %17717, i64 %17719
  %17721 = getelementptr inbounds %struct.complex, ptr %17720, i32 0, i32 1
  %17722 = load float, ptr %17721, align 4, !tbaa !14
  %17723 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17724 = load float, ptr %17723, align 4, !tbaa !14
  %17725 = fsub float %17722, %17724
  %17726 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17725, ptr %17726, align 4, !tbaa !14
  %17727 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17728 = load float, ptr %17727, align 4, !tbaa !11
  %17729 = load ptr, ptr %14, align 8, !tbaa !5
  %17730 = load i32, ptr %20, align 4, !tbaa !9
  %17731 = sext i32 %17730 to i64
  %17732 = getelementptr inbounds %struct.complex, ptr %17729, i64 %17731
  %17733 = getelementptr inbounds %struct.complex, ptr %17732, i32 0, i32 0
  store float %17728, ptr %17733, align 4, !tbaa !11
  %17734 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17735 = load float, ptr %17734, align 4, !tbaa !14
  %17736 = load ptr, ptr %14, align 8, !tbaa !5
  %17737 = load i32, ptr %20, align 4, !tbaa !9
  %17738 = sext i32 %17737 to i64
  %17739 = getelementptr inbounds %struct.complex, ptr %17736, i64 %17738
  %17740 = getelementptr inbounds %struct.complex, ptr %17739, i32 0, i32 1
  store float %17735, ptr %17740, align 4, !tbaa !14
  %17741 = load i32, ptr %49, align 4, !tbaa !9
  %17742 = load i32, ptr %17, align 4, !tbaa !9
  %17743 = mul nsw i32 %17742, 7
  %17744 = add nsw i32 %17741, %17743
  store i32 %17744, ptr %20, align 4, !tbaa !9
  %17745 = load i32, ptr %49, align 4, !tbaa !9
  %17746 = load i32, ptr %17, align 4, !tbaa !9
  %17747 = mul nsw i32 %17746, 7
  %17748 = add nsw i32 %17745, %17747
  store i32 %17748, ptr %21, align 4, !tbaa !9
  %17749 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17750 = load float, ptr %17749, align 4, !tbaa !11
  %17751 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %17752 = load float, ptr %17751, align 4, !tbaa !11
  %17753 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17754 = load float, ptr %17753, align 4, !tbaa !14
  %17755 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %17756 = load float, ptr %17755, align 4, !tbaa !14
  %17757 = fmul float %17754, %17756
  %17758 = fneg float %17757
  %17759 = call float @llvm.fmuladd.f32(float %17750, float %17752, float %17758)
  %17760 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17759, ptr %17760, align 4, !tbaa !11
  %17761 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17762 = load float, ptr %17761, align 4, !tbaa !11
  %17763 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %17764 = load float, ptr %17763, align 4, !tbaa !14
  %17765 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17766 = load float, ptr %17765, align 4, !tbaa !14
  %17767 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %17768 = load float, ptr %17767, align 4, !tbaa !11
  %17769 = fmul float %17766, %17768
  %17770 = call float @llvm.fmuladd.f32(float %17762, float %17764, float %17769)
  %17771 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17770, ptr %17771, align 4, !tbaa !14
  %17772 = load ptr, ptr %14, align 8, !tbaa !5
  %17773 = load i32, ptr %21, align 4, !tbaa !9
  %17774 = sext i32 %17773 to i64
  %17775 = getelementptr inbounds %struct.complex, ptr %17772, i64 %17774
  %17776 = getelementptr inbounds %struct.complex, ptr %17775, i32 0, i32 0
  %17777 = load float, ptr %17776, align 4, !tbaa !11
  %17778 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17779 = load float, ptr %17778, align 4, !tbaa !11
  %17780 = fsub float %17777, %17779
  %17781 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17780, ptr %17781, align 4, !tbaa !11
  %17782 = load ptr, ptr %14, align 8, !tbaa !5
  %17783 = load i32, ptr %21, align 4, !tbaa !9
  %17784 = sext i32 %17783 to i64
  %17785 = getelementptr inbounds %struct.complex, ptr %17782, i64 %17784
  %17786 = getelementptr inbounds %struct.complex, ptr %17785, i32 0, i32 1
  %17787 = load float, ptr %17786, align 4, !tbaa !14
  %17788 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17789 = load float, ptr %17788, align 4, !tbaa !14
  %17790 = fsub float %17787, %17789
  %17791 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17790, ptr %17791, align 4, !tbaa !14
  %17792 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17793 = load float, ptr %17792, align 4, !tbaa !11
  %17794 = load ptr, ptr %14, align 8, !tbaa !5
  %17795 = load i32, ptr %20, align 4, !tbaa !9
  %17796 = sext i32 %17795 to i64
  %17797 = getelementptr inbounds %struct.complex, ptr %17794, i64 %17796
  %17798 = getelementptr inbounds %struct.complex, ptr %17797, i32 0, i32 0
  store float %17793, ptr %17798, align 4, !tbaa !11
  %17799 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17800 = load float, ptr %17799, align 4, !tbaa !14
  %17801 = load ptr, ptr %14, align 8, !tbaa !5
  %17802 = load i32, ptr %20, align 4, !tbaa !9
  %17803 = sext i32 %17802 to i64
  %17804 = getelementptr inbounds %struct.complex, ptr %17801, i64 %17803
  %17805 = getelementptr inbounds %struct.complex, ptr %17804, i32 0, i32 1
  store float %17800, ptr %17805, align 4, !tbaa !14
  %17806 = load i32, ptr %49, align 4, !tbaa !9
  %17807 = load i32, ptr %17, align 4, !tbaa !9
  %17808 = shl i32 %17807, 3
  %17809 = add nsw i32 %17806, %17808
  store i32 %17809, ptr %20, align 4, !tbaa !9
  %17810 = load i32, ptr %49, align 4, !tbaa !9
  %17811 = load i32, ptr %17, align 4, !tbaa !9
  %17812 = shl i32 %17811, 3
  %17813 = add nsw i32 %17810, %17812
  store i32 %17813, ptr %21, align 4, !tbaa !9
  %17814 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17815 = load float, ptr %17814, align 4, !tbaa !11
  %17816 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %17817 = load float, ptr %17816, align 4, !tbaa !11
  %17818 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17819 = load float, ptr %17818, align 4, !tbaa !14
  %17820 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %17821 = load float, ptr %17820, align 4, !tbaa !14
  %17822 = fmul float %17819, %17821
  %17823 = fneg float %17822
  %17824 = call float @llvm.fmuladd.f32(float %17815, float %17817, float %17823)
  %17825 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17824, ptr %17825, align 4, !tbaa !11
  %17826 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17827 = load float, ptr %17826, align 4, !tbaa !11
  %17828 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %17829 = load float, ptr %17828, align 4, !tbaa !14
  %17830 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17831 = load float, ptr %17830, align 4, !tbaa !14
  %17832 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %17833 = load float, ptr %17832, align 4, !tbaa !11
  %17834 = fmul float %17831, %17833
  %17835 = call float @llvm.fmuladd.f32(float %17827, float %17829, float %17834)
  %17836 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17835, ptr %17836, align 4, !tbaa !14
  %17837 = load ptr, ptr %14, align 8, !tbaa !5
  %17838 = load i32, ptr %21, align 4, !tbaa !9
  %17839 = sext i32 %17838 to i64
  %17840 = getelementptr inbounds %struct.complex, ptr %17837, i64 %17839
  %17841 = getelementptr inbounds %struct.complex, ptr %17840, i32 0, i32 0
  %17842 = load float, ptr %17841, align 4, !tbaa !11
  %17843 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17844 = load float, ptr %17843, align 4, !tbaa !11
  %17845 = fsub float %17842, %17844
  %17846 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17845, ptr %17846, align 4, !tbaa !11
  %17847 = load ptr, ptr %14, align 8, !tbaa !5
  %17848 = load i32, ptr %21, align 4, !tbaa !9
  %17849 = sext i32 %17848 to i64
  %17850 = getelementptr inbounds %struct.complex, ptr %17847, i64 %17849
  %17851 = getelementptr inbounds %struct.complex, ptr %17850, i32 0, i32 1
  %17852 = load float, ptr %17851, align 4, !tbaa !14
  %17853 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17854 = load float, ptr %17853, align 4, !tbaa !14
  %17855 = fsub float %17852, %17854
  %17856 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17855, ptr %17856, align 4, !tbaa !14
  %17857 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17858 = load float, ptr %17857, align 4, !tbaa !11
  %17859 = load ptr, ptr %14, align 8, !tbaa !5
  %17860 = load i32, ptr %20, align 4, !tbaa !9
  %17861 = sext i32 %17860 to i64
  %17862 = getelementptr inbounds %struct.complex, ptr %17859, i64 %17861
  %17863 = getelementptr inbounds %struct.complex, ptr %17862, i32 0, i32 0
  store float %17858, ptr %17863, align 4, !tbaa !11
  %17864 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17865 = load float, ptr %17864, align 4, !tbaa !14
  %17866 = load ptr, ptr %14, align 8, !tbaa !5
  %17867 = load i32, ptr %20, align 4, !tbaa !9
  %17868 = sext i32 %17867 to i64
  %17869 = getelementptr inbounds %struct.complex, ptr %17866, i64 %17868
  %17870 = getelementptr inbounds %struct.complex, ptr %17869, i32 0, i32 1
  store float %17865, ptr %17870, align 4, !tbaa !14
  %17871 = load i32, ptr %49, align 4, !tbaa !9
  %17872 = load i32, ptr %17, align 4, !tbaa !9
  %17873 = mul nsw i32 %17872, 9
  %17874 = add nsw i32 %17871, %17873
  store i32 %17874, ptr %20, align 4, !tbaa !9
  %17875 = load i32, ptr %49, align 4, !tbaa !9
  %17876 = load i32, ptr %17, align 4, !tbaa !9
  %17877 = mul nsw i32 %17876, 9
  %17878 = add nsw i32 %17875, %17877
  store i32 %17878, ptr %21, align 4, !tbaa !9
  %17879 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17880 = load float, ptr %17879, align 4, !tbaa !11
  %17881 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %17882 = load float, ptr %17881, align 4, !tbaa !11
  %17883 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17884 = load float, ptr %17883, align 4, !tbaa !14
  %17885 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %17886 = load float, ptr %17885, align 4, !tbaa !14
  %17887 = fmul float %17884, %17886
  %17888 = fneg float %17887
  %17889 = call float @llvm.fmuladd.f32(float %17880, float %17882, float %17888)
  %17890 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17889, ptr %17890, align 4, !tbaa !11
  %17891 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %17892 = load float, ptr %17891, align 4, !tbaa !11
  %17893 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %17894 = load float, ptr %17893, align 4, !tbaa !14
  %17895 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %17896 = load float, ptr %17895, align 4, !tbaa !14
  %17897 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %17898 = load float, ptr %17897, align 4, !tbaa !11
  %17899 = fmul float %17896, %17898
  %17900 = call float @llvm.fmuladd.f32(float %17892, float %17894, float %17899)
  %17901 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17900, ptr %17901, align 4, !tbaa !14
  %17902 = load ptr, ptr %14, align 8, !tbaa !5
  %17903 = load i32, ptr %21, align 4, !tbaa !9
  %17904 = sext i32 %17903 to i64
  %17905 = getelementptr inbounds %struct.complex, ptr %17902, i64 %17904
  %17906 = getelementptr inbounds %struct.complex, ptr %17905, i32 0, i32 0
  %17907 = load float, ptr %17906, align 4, !tbaa !11
  %17908 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17909 = load float, ptr %17908, align 4, !tbaa !11
  %17910 = fsub float %17907, %17909
  %17911 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17910, ptr %17911, align 4, !tbaa !11
  %17912 = load ptr, ptr %14, align 8, !tbaa !5
  %17913 = load i32, ptr %21, align 4, !tbaa !9
  %17914 = sext i32 %17913 to i64
  %17915 = getelementptr inbounds %struct.complex, ptr %17912, i64 %17914
  %17916 = getelementptr inbounds %struct.complex, ptr %17915, i32 0, i32 1
  %17917 = load float, ptr %17916, align 4, !tbaa !14
  %17918 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17919 = load float, ptr %17918, align 4, !tbaa !14
  %17920 = fsub float %17917, %17919
  %17921 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17920, ptr %17921, align 4, !tbaa !14
  %17922 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17923 = load float, ptr %17922, align 4, !tbaa !11
  %17924 = load ptr, ptr %14, align 8, !tbaa !5
  %17925 = load i32, ptr %20, align 4, !tbaa !9
  %17926 = sext i32 %17925 to i64
  %17927 = getelementptr inbounds %struct.complex, ptr %17924, i64 %17926
  %17928 = getelementptr inbounds %struct.complex, ptr %17927, i32 0, i32 0
  store float %17923, ptr %17928, align 4, !tbaa !11
  %17929 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17930 = load float, ptr %17929, align 4, !tbaa !14
  %17931 = load ptr, ptr %14, align 8, !tbaa !5
  %17932 = load i32, ptr %20, align 4, !tbaa !9
  %17933 = sext i32 %17932 to i64
  %17934 = getelementptr inbounds %struct.complex, ptr %17931, i64 %17933
  %17935 = getelementptr inbounds %struct.complex, ptr %17934, i32 0, i32 1
  store float %17930, ptr %17935, align 4, !tbaa !14
  br label %17936

17936:                                            ; preds = %16864
  %17937 = load i32, ptr %49, align 4, !tbaa !9
  %17938 = add nsw i32 %17937, 1
  store i32 %17938, ptr %49, align 4, !tbaa !9
  br label %16860, !llvm.loop !34

17939:                                            ; preds = %16860
  br label %19663

17940:                                            ; preds = %10179
  %17941 = load ptr, ptr %12, align 8, !tbaa !5
  %17942 = getelementptr inbounds %struct.complex, ptr %17941, i64 1
  %17943 = getelementptr inbounds %struct.complex, ptr %17942, i32 0, i32 0
  %17944 = load float, ptr %17943, align 4, !tbaa !11
  %17945 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %17944, ptr %17945, align 4, !tbaa !11
  %17946 = load ptr, ptr %12, align 8, !tbaa !5
  %17947 = getelementptr inbounds %struct.complex, ptr %17946, i64 1
  %17948 = getelementptr inbounds %struct.complex, ptr %17947, i32 0, i32 1
  %17949 = load float, ptr %17948, align 4, !tbaa !14
  %17950 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %17949, ptr %17950, align 4, !tbaa !14
  %17951 = call <2 x float> @Cf(ptr noundef %59)
  store <2 x float> %17951, ptr %226, align 4
  %17952 = getelementptr inbounds { float, float }, ptr %226, i32 0, i32 0
  %17953 = load float, ptr %17952, align 4
  %17954 = getelementptr inbounds { float, float }, ptr %226, i32 0, i32 1
  %17955 = load float, ptr %17954, align 4
  %17956 = fneg float %17955
  %17957 = call ptr @_pCf(ptr noundef %31)
  %17958 = getelementptr inbounds { float, float }, ptr %17957, i32 0, i32 0
  %17959 = getelementptr inbounds { float, float }, ptr %17957, i32 0, i32 1
  store float %17953, ptr %17958, align 4
  store float %17956, ptr %17959, align 4
  %17960 = load ptr, ptr %13, align 8, !tbaa !5
  %17961 = getelementptr inbounds %struct.complex, ptr %17960, i32 0, i32 0
  %17962 = load float, ptr %17961, align 4, !tbaa !11
  %17963 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17964 = load float, ptr %17963, align 4, !tbaa !11
  %17965 = load ptr, ptr %13, align 8, !tbaa !5
  %17966 = getelementptr inbounds %struct.complex, ptr %17965, i32 0, i32 1
  %17967 = load float, ptr %17966, align 4, !tbaa !14
  %17968 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17969 = load float, ptr %17968, align 4, !tbaa !14
  %17970 = fmul float %17967, %17969
  %17971 = fneg float %17970
  %17972 = call float @llvm.fmuladd.f32(float %17962, float %17964, float %17971)
  %17973 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %17972, ptr %17973, align 4, !tbaa !11
  %17974 = load ptr, ptr %13, align 8, !tbaa !5
  %17975 = getelementptr inbounds %struct.complex, ptr %17974, i32 0, i32 0
  %17976 = load float, ptr %17975, align 4, !tbaa !11
  %17977 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17978 = load float, ptr %17977, align 4, !tbaa !14
  %17979 = load ptr, ptr %13, align 8, !tbaa !5
  %17980 = getelementptr inbounds %struct.complex, ptr %17979, i32 0, i32 1
  %17981 = load float, ptr %17980, align 4, !tbaa !14
  %17982 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17983 = load float, ptr %17982, align 4, !tbaa !11
  %17984 = fmul float %17981, %17983
  %17985 = call float @llvm.fmuladd.f32(float %17976, float %17978, float %17984)
  %17986 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %17985, ptr %17986, align 4, !tbaa !14
  %17987 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %17988 = load float, ptr %17987, align 4, !tbaa !11
  %17989 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  store float %17988, ptr %17989, align 4, !tbaa !11
  %17990 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %17991 = load float, ptr %17990, align 4, !tbaa !14
  %17992 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  store float %17991, ptr %17992, align 4, !tbaa !14
  %17993 = load ptr, ptr %12, align 8, !tbaa !5
  %17994 = getelementptr inbounds %struct.complex, ptr %17993, i64 2
  %17995 = getelementptr inbounds %struct.complex, ptr %17994, i32 0, i32 0
  %17996 = load float, ptr %17995, align 4, !tbaa !11
  %17997 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %17996, ptr %17997, align 4, !tbaa !11
  %17998 = load ptr, ptr %12, align 8, !tbaa !5
  %17999 = getelementptr inbounds %struct.complex, ptr %17998, i64 2
  %18000 = getelementptr inbounds %struct.complex, ptr %17999, i32 0, i32 1
  %18001 = load float, ptr %18000, align 4, !tbaa !14
  %18002 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %18001, ptr %18002, align 4, !tbaa !14
  %18003 = call <2 x float> @Cf(ptr noundef %60)
  store <2 x float> %18003, ptr %227, align 4
  %18004 = getelementptr inbounds { float, float }, ptr %227, i32 0, i32 0
  %18005 = load float, ptr %18004, align 4
  %18006 = getelementptr inbounds { float, float }, ptr %227, i32 0, i32 1
  %18007 = load float, ptr %18006, align 4
  %18008 = fneg float %18007
  %18009 = call ptr @_pCf(ptr noundef %31)
  %18010 = getelementptr inbounds { float, float }, ptr %18009, i32 0, i32 0
  %18011 = getelementptr inbounds { float, float }, ptr %18009, i32 0, i32 1
  store float %18005, ptr %18010, align 4
  store float %18008, ptr %18011, align 4
  %18012 = load ptr, ptr %13, align 8, !tbaa !5
  %18013 = getelementptr inbounds %struct.complex, ptr %18012, i32 0, i32 0
  %18014 = load float, ptr %18013, align 4, !tbaa !11
  %18015 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18016 = load float, ptr %18015, align 4, !tbaa !11
  %18017 = load ptr, ptr %13, align 8, !tbaa !5
  %18018 = getelementptr inbounds %struct.complex, ptr %18017, i32 0, i32 1
  %18019 = load float, ptr %18018, align 4, !tbaa !14
  %18020 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18021 = load float, ptr %18020, align 4, !tbaa !14
  %18022 = fmul float %18019, %18021
  %18023 = fneg float %18022
  %18024 = call float @llvm.fmuladd.f32(float %18014, float %18016, float %18023)
  %18025 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18024, ptr %18025, align 4, !tbaa !11
  %18026 = load ptr, ptr %13, align 8, !tbaa !5
  %18027 = getelementptr inbounds %struct.complex, ptr %18026, i32 0, i32 0
  %18028 = load float, ptr %18027, align 4, !tbaa !11
  %18029 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18030 = load float, ptr %18029, align 4, !tbaa !14
  %18031 = load ptr, ptr %13, align 8, !tbaa !5
  %18032 = getelementptr inbounds %struct.complex, ptr %18031, i32 0, i32 1
  %18033 = load float, ptr %18032, align 4, !tbaa !14
  %18034 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18035 = load float, ptr %18034, align 4, !tbaa !11
  %18036 = fmul float %18033, %18035
  %18037 = call float @llvm.fmuladd.f32(float %18028, float %18030, float %18036)
  %18038 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18037, ptr %18038, align 4, !tbaa !14
  %18039 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18040 = load float, ptr %18039, align 4, !tbaa !11
  %18041 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %18040, ptr %18041, align 4, !tbaa !11
  %18042 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18043 = load float, ptr %18042, align 4, !tbaa !14
  %18044 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %18043, ptr %18044, align 4, !tbaa !14
  %18045 = load ptr, ptr %12, align 8, !tbaa !5
  %18046 = getelementptr inbounds %struct.complex, ptr %18045, i64 3
  %18047 = getelementptr inbounds %struct.complex, ptr %18046, i32 0, i32 0
  %18048 = load float, ptr %18047, align 4, !tbaa !11
  %18049 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %18048, ptr %18049, align 4, !tbaa !11
  %18050 = load ptr, ptr %12, align 8, !tbaa !5
  %18051 = getelementptr inbounds %struct.complex, ptr %18050, i64 3
  %18052 = getelementptr inbounds %struct.complex, ptr %18051, i32 0, i32 1
  %18053 = load float, ptr %18052, align 4, !tbaa !14
  %18054 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %18053, ptr %18054, align 4, !tbaa !14
  %18055 = call <2 x float> @Cf(ptr noundef %61)
  store <2 x float> %18055, ptr %228, align 4
  %18056 = getelementptr inbounds { float, float }, ptr %228, i32 0, i32 0
  %18057 = load float, ptr %18056, align 4
  %18058 = getelementptr inbounds { float, float }, ptr %228, i32 0, i32 1
  %18059 = load float, ptr %18058, align 4
  %18060 = fneg float %18059
  %18061 = call ptr @_pCf(ptr noundef %31)
  %18062 = getelementptr inbounds { float, float }, ptr %18061, i32 0, i32 0
  %18063 = getelementptr inbounds { float, float }, ptr %18061, i32 0, i32 1
  store float %18057, ptr %18062, align 4
  store float %18060, ptr %18063, align 4
  %18064 = load ptr, ptr %13, align 8, !tbaa !5
  %18065 = getelementptr inbounds %struct.complex, ptr %18064, i32 0, i32 0
  %18066 = load float, ptr %18065, align 4, !tbaa !11
  %18067 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18068 = load float, ptr %18067, align 4, !tbaa !11
  %18069 = load ptr, ptr %13, align 8, !tbaa !5
  %18070 = getelementptr inbounds %struct.complex, ptr %18069, i32 0, i32 1
  %18071 = load float, ptr %18070, align 4, !tbaa !14
  %18072 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18073 = load float, ptr %18072, align 4, !tbaa !14
  %18074 = fmul float %18071, %18073
  %18075 = fneg float %18074
  %18076 = call float @llvm.fmuladd.f32(float %18066, float %18068, float %18075)
  %18077 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18076, ptr %18077, align 4, !tbaa !11
  %18078 = load ptr, ptr %13, align 8, !tbaa !5
  %18079 = getelementptr inbounds %struct.complex, ptr %18078, i32 0, i32 0
  %18080 = load float, ptr %18079, align 4, !tbaa !11
  %18081 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18082 = load float, ptr %18081, align 4, !tbaa !14
  %18083 = load ptr, ptr %13, align 8, !tbaa !5
  %18084 = getelementptr inbounds %struct.complex, ptr %18083, i32 0, i32 1
  %18085 = load float, ptr %18084, align 4, !tbaa !14
  %18086 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18087 = load float, ptr %18086, align 4, !tbaa !11
  %18088 = fmul float %18085, %18087
  %18089 = call float @llvm.fmuladd.f32(float %18080, float %18082, float %18088)
  %18090 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18089, ptr %18090, align 4, !tbaa !14
  %18091 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18092 = load float, ptr %18091, align 4, !tbaa !11
  %18093 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %18092, ptr %18093, align 4, !tbaa !11
  %18094 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18095 = load float, ptr %18094, align 4, !tbaa !14
  %18096 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %18095, ptr %18096, align 4, !tbaa !14
  %18097 = load ptr, ptr %12, align 8, !tbaa !5
  %18098 = getelementptr inbounds %struct.complex, ptr %18097, i64 4
  %18099 = getelementptr inbounds %struct.complex, ptr %18098, i32 0, i32 0
  %18100 = load float, ptr %18099, align 4, !tbaa !11
  %18101 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %18100, ptr %18101, align 4, !tbaa !11
  %18102 = load ptr, ptr %12, align 8, !tbaa !5
  %18103 = getelementptr inbounds %struct.complex, ptr %18102, i64 4
  %18104 = getelementptr inbounds %struct.complex, ptr %18103, i32 0, i32 1
  %18105 = load float, ptr %18104, align 4, !tbaa !14
  %18106 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %18105, ptr %18106, align 4, !tbaa !14
  %18107 = call <2 x float> @Cf(ptr noundef %62)
  store <2 x float> %18107, ptr %229, align 4
  %18108 = getelementptr inbounds { float, float }, ptr %229, i32 0, i32 0
  %18109 = load float, ptr %18108, align 4
  %18110 = getelementptr inbounds { float, float }, ptr %229, i32 0, i32 1
  %18111 = load float, ptr %18110, align 4
  %18112 = fneg float %18111
  %18113 = call ptr @_pCf(ptr noundef %31)
  %18114 = getelementptr inbounds { float, float }, ptr %18113, i32 0, i32 0
  %18115 = getelementptr inbounds { float, float }, ptr %18113, i32 0, i32 1
  store float %18109, ptr %18114, align 4
  store float %18112, ptr %18115, align 4
  %18116 = load ptr, ptr %13, align 8, !tbaa !5
  %18117 = getelementptr inbounds %struct.complex, ptr %18116, i32 0, i32 0
  %18118 = load float, ptr %18117, align 4, !tbaa !11
  %18119 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18120 = load float, ptr %18119, align 4, !tbaa !11
  %18121 = load ptr, ptr %13, align 8, !tbaa !5
  %18122 = getelementptr inbounds %struct.complex, ptr %18121, i32 0, i32 1
  %18123 = load float, ptr %18122, align 4, !tbaa !14
  %18124 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18125 = load float, ptr %18124, align 4, !tbaa !14
  %18126 = fmul float %18123, %18125
  %18127 = fneg float %18126
  %18128 = call float @llvm.fmuladd.f32(float %18118, float %18120, float %18127)
  %18129 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18128, ptr %18129, align 4, !tbaa !11
  %18130 = load ptr, ptr %13, align 8, !tbaa !5
  %18131 = getelementptr inbounds %struct.complex, ptr %18130, i32 0, i32 0
  %18132 = load float, ptr %18131, align 4, !tbaa !11
  %18133 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18134 = load float, ptr %18133, align 4, !tbaa !14
  %18135 = load ptr, ptr %13, align 8, !tbaa !5
  %18136 = getelementptr inbounds %struct.complex, ptr %18135, i32 0, i32 1
  %18137 = load float, ptr %18136, align 4, !tbaa !14
  %18138 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18139 = load float, ptr %18138, align 4, !tbaa !11
  %18140 = fmul float %18137, %18139
  %18141 = call float @llvm.fmuladd.f32(float %18132, float %18134, float %18140)
  %18142 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18141, ptr %18142, align 4, !tbaa !14
  %18143 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18144 = load float, ptr %18143, align 4, !tbaa !11
  %18145 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %18144, ptr %18145, align 4, !tbaa !11
  %18146 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18147 = load float, ptr %18146, align 4, !tbaa !14
  %18148 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %18147, ptr %18148, align 4, !tbaa !14
  %18149 = load ptr, ptr %12, align 8, !tbaa !5
  %18150 = getelementptr inbounds %struct.complex, ptr %18149, i64 5
  %18151 = getelementptr inbounds %struct.complex, ptr %18150, i32 0, i32 0
  %18152 = load float, ptr %18151, align 4, !tbaa !11
  %18153 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %18152, ptr %18153, align 4, !tbaa !11
  %18154 = load ptr, ptr %12, align 8, !tbaa !5
  %18155 = getelementptr inbounds %struct.complex, ptr %18154, i64 5
  %18156 = getelementptr inbounds %struct.complex, ptr %18155, i32 0, i32 1
  %18157 = load float, ptr %18156, align 4, !tbaa !14
  %18158 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %18157, ptr %18158, align 4, !tbaa !14
  %18159 = call <2 x float> @Cf(ptr noundef %63)
  store <2 x float> %18159, ptr %230, align 4
  %18160 = getelementptr inbounds { float, float }, ptr %230, i32 0, i32 0
  %18161 = load float, ptr %18160, align 4
  %18162 = getelementptr inbounds { float, float }, ptr %230, i32 0, i32 1
  %18163 = load float, ptr %18162, align 4
  %18164 = fneg float %18163
  %18165 = call ptr @_pCf(ptr noundef %31)
  %18166 = getelementptr inbounds { float, float }, ptr %18165, i32 0, i32 0
  %18167 = getelementptr inbounds { float, float }, ptr %18165, i32 0, i32 1
  store float %18161, ptr %18166, align 4
  store float %18164, ptr %18167, align 4
  %18168 = load ptr, ptr %13, align 8, !tbaa !5
  %18169 = getelementptr inbounds %struct.complex, ptr %18168, i32 0, i32 0
  %18170 = load float, ptr %18169, align 4, !tbaa !11
  %18171 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18172 = load float, ptr %18171, align 4, !tbaa !11
  %18173 = load ptr, ptr %13, align 8, !tbaa !5
  %18174 = getelementptr inbounds %struct.complex, ptr %18173, i32 0, i32 1
  %18175 = load float, ptr %18174, align 4, !tbaa !14
  %18176 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18177 = load float, ptr %18176, align 4, !tbaa !14
  %18178 = fmul float %18175, %18177
  %18179 = fneg float %18178
  %18180 = call float @llvm.fmuladd.f32(float %18170, float %18172, float %18179)
  %18181 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18180, ptr %18181, align 4, !tbaa !11
  %18182 = load ptr, ptr %13, align 8, !tbaa !5
  %18183 = getelementptr inbounds %struct.complex, ptr %18182, i32 0, i32 0
  %18184 = load float, ptr %18183, align 4, !tbaa !11
  %18185 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18186 = load float, ptr %18185, align 4, !tbaa !14
  %18187 = load ptr, ptr %13, align 8, !tbaa !5
  %18188 = getelementptr inbounds %struct.complex, ptr %18187, i32 0, i32 1
  %18189 = load float, ptr %18188, align 4, !tbaa !14
  %18190 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18191 = load float, ptr %18190, align 4, !tbaa !11
  %18192 = fmul float %18189, %18191
  %18193 = call float @llvm.fmuladd.f32(float %18184, float %18186, float %18192)
  %18194 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18193, ptr %18194, align 4, !tbaa !14
  %18195 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18196 = load float, ptr %18195, align 4, !tbaa !11
  %18197 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %18196, ptr %18197, align 4, !tbaa !11
  %18198 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18199 = load float, ptr %18198, align 4, !tbaa !14
  %18200 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %18199, ptr %18200, align 4, !tbaa !14
  %18201 = load ptr, ptr %12, align 8, !tbaa !5
  %18202 = getelementptr inbounds %struct.complex, ptr %18201, i64 6
  %18203 = getelementptr inbounds %struct.complex, ptr %18202, i32 0, i32 0
  %18204 = load float, ptr %18203, align 4, !tbaa !11
  %18205 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %18204, ptr %18205, align 4, !tbaa !11
  %18206 = load ptr, ptr %12, align 8, !tbaa !5
  %18207 = getelementptr inbounds %struct.complex, ptr %18206, i64 6
  %18208 = getelementptr inbounds %struct.complex, ptr %18207, i32 0, i32 1
  %18209 = load float, ptr %18208, align 4, !tbaa !14
  %18210 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %18209, ptr %18210, align 4, !tbaa !14
  %18211 = call <2 x float> @Cf(ptr noundef %64)
  store <2 x float> %18211, ptr %231, align 4
  %18212 = getelementptr inbounds { float, float }, ptr %231, i32 0, i32 0
  %18213 = load float, ptr %18212, align 4
  %18214 = getelementptr inbounds { float, float }, ptr %231, i32 0, i32 1
  %18215 = load float, ptr %18214, align 4
  %18216 = fneg float %18215
  %18217 = call ptr @_pCf(ptr noundef %31)
  %18218 = getelementptr inbounds { float, float }, ptr %18217, i32 0, i32 0
  %18219 = getelementptr inbounds { float, float }, ptr %18217, i32 0, i32 1
  store float %18213, ptr %18218, align 4
  store float %18216, ptr %18219, align 4
  %18220 = load ptr, ptr %13, align 8, !tbaa !5
  %18221 = getelementptr inbounds %struct.complex, ptr %18220, i32 0, i32 0
  %18222 = load float, ptr %18221, align 4, !tbaa !11
  %18223 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18224 = load float, ptr %18223, align 4, !tbaa !11
  %18225 = load ptr, ptr %13, align 8, !tbaa !5
  %18226 = getelementptr inbounds %struct.complex, ptr %18225, i32 0, i32 1
  %18227 = load float, ptr %18226, align 4, !tbaa !14
  %18228 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18229 = load float, ptr %18228, align 4, !tbaa !14
  %18230 = fmul float %18227, %18229
  %18231 = fneg float %18230
  %18232 = call float @llvm.fmuladd.f32(float %18222, float %18224, float %18231)
  %18233 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18232, ptr %18233, align 4, !tbaa !11
  %18234 = load ptr, ptr %13, align 8, !tbaa !5
  %18235 = getelementptr inbounds %struct.complex, ptr %18234, i32 0, i32 0
  %18236 = load float, ptr %18235, align 4, !tbaa !11
  %18237 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18238 = load float, ptr %18237, align 4, !tbaa !14
  %18239 = load ptr, ptr %13, align 8, !tbaa !5
  %18240 = getelementptr inbounds %struct.complex, ptr %18239, i32 0, i32 1
  %18241 = load float, ptr %18240, align 4, !tbaa !14
  %18242 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18243 = load float, ptr %18242, align 4, !tbaa !11
  %18244 = fmul float %18241, %18243
  %18245 = call float @llvm.fmuladd.f32(float %18236, float %18238, float %18244)
  %18246 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18245, ptr %18246, align 4, !tbaa !14
  %18247 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18248 = load float, ptr %18247, align 4, !tbaa !11
  %18249 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %18248, ptr %18249, align 4, !tbaa !11
  %18250 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18251 = load float, ptr %18250, align 4, !tbaa !14
  %18252 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %18251, ptr %18252, align 4, !tbaa !14
  %18253 = load ptr, ptr %12, align 8, !tbaa !5
  %18254 = getelementptr inbounds %struct.complex, ptr %18253, i64 7
  %18255 = getelementptr inbounds %struct.complex, ptr %18254, i32 0, i32 0
  %18256 = load float, ptr %18255, align 4, !tbaa !11
  %18257 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %18256, ptr %18257, align 4, !tbaa !11
  %18258 = load ptr, ptr %12, align 8, !tbaa !5
  %18259 = getelementptr inbounds %struct.complex, ptr %18258, i64 7
  %18260 = getelementptr inbounds %struct.complex, ptr %18259, i32 0, i32 1
  %18261 = load float, ptr %18260, align 4, !tbaa !14
  %18262 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %18261, ptr %18262, align 4, !tbaa !14
  %18263 = call <2 x float> @Cf(ptr noundef %65)
  store <2 x float> %18263, ptr %232, align 4
  %18264 = getelementptr inbounds { float, float }, ptr %232, i32 0, i32 0
  %18265 = load float, ptr %18264, align 4
  %18266 = getelementptr inbounds { float, float }, ptr %232, i32 0, i32 1
  %18267 = load float, ptr %18266, align 4
  %18268 = fneg float %18267
  %18269 = call ptr @_pCf(ptr noundef %31)
  %18270 = getelementptr inbounds { float, float }, ptr %18269, i32 0, i32 0
  %18271 = getelementptr inbounds { float, float }, ptr %18269, i32 0, i32 1
  store float %18265, ptr %18270, align 4
  store float %18268, ptr %18271, align 4
  %18272 = load ptr, ptr %13, align 8, !tbaa !5
  %18273 = getelementptr inbounds %struct.complex, ptr %18272, i32 0, i32 0
  %18274 = load float, ptr %18273, align 4, !tbaa !11
  %18275 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18276 = load float, ptr %18275, align 4, !tbaa !11
  %18277 = load ptr, ptr %13, align 8, !tbaa !5
  %18278 = getelementptr inbounds %struct.complex, ptr %18277, i32 0, i32 1
  %18279 = load float, ptr %18278, align 4, !tbaa !14
  %18280 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18281 = load float, ptr %18280, align 4, !tbaa !14
  %18282 = fmul float %18279, %18281
  %18283 = fneg float %18282
  %18284 = call float @llvm.fmuladd.f32(float %18274, float %18276, float %18283)
  %18285 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18284, ptr %18285, align 4, !tbaa !11
  %18286 = load ptr, ptr %13, align 8, !tbaa !5
  %18287 = getelementptr inbounds %struct.complex, ptr %18286, i32 0, i32 0
  %18288 = load float, ptr %18287, align 4, !tbaa !11
  %18289 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18290 = load float, ptr %18289, align 4, !tbaa !14
  %18291 = load ptr, ptr %13, align 8, !tbaa !5
  %18292 = getelementptr inbounds %struct.complex, ptr %18291, i32 0, i32 1
  %18293 = load float, ptr %18292, align 4, !tbaa !14
  %18294 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18295 = load float, ptr %18294, align 4, !tbaa !11
  %18296 = fmul float %18293, %18295
  %18297 = call float @llvm.fmuladd.f32(float %18288, float %18290, float %18296)
  %18298 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18297, ptr %18298, align 4, !tbaa !14
  %18299 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18300 = load float, ptr %18299, align 4, !tbaa !11
  %18301 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %18300, ptr %18301, align 4, !tbaa !11
  %18302 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18303 = load float, ptr %18302, align 4, !tbaa !14
  %18304 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %18303, ptr %18304, align 4, !tbaa !14
  %18305 = load ptr, ptr %12, align 8, !tbaa !5
  %18306 = getelementptr inbounds %struct.complex, ptr %18305, i64 8
  %18307 = getelementptr inbounds %struct.complex, ptr %18306, i32 0, i32 0
  %18308 = load float, ptr %18307, align 4, !tbaa !11
  %18309 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %18308, ptr %18309, align 4, !tbaa !11
  %18310 = load ptr, ptr %12, align 8, !tbaa !5
  %18311 = getelementptr inbounds %struct.complex, ptr %18310, i64 8
  %18312 = getelementptr inbounds %struct.complex, ptr %18311, i32 0, i32 1
  %18313 = load float, ptr %18312, align 4, !tbaa !14
  %18314 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %18313, ptr %18314, align 4, !tbaa !14
  %18315 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %18315, ptr %233, align 4
  %18316 = getelementptr inbounds { float, float }, ptr %233, i32 0, i32 0
  %18317 = load float, ptr %18316, align 4
  %18318 = getelementptr inbounds { float, float }, ptr %233, i32 0, i32 1
  %18319 = load float, ptr %18318, align 4
  %18320 = fneg float %18319
  %18321 = call ptr @_pCf(ptr noundef %31)
  %18322 = getelementptr inbounds { float, float }, ptr %18321, i32 0, i32 0
  %18323 = getelementptr inbounds { float, float }, ptr %18321, i32 0, i32 1
  store float %18317, ptr %18322, align 4
  store float %18320, ptr %18323, align 4
  %18324 = load ptr, ptr %13, align 8, !tbaa !5
  %18325 = getelementptr inbounds %struct.complex, ptr %18324, i32 0, i32 0
  %18326 = load float, ptr %18325, align 4, !tbaa !11
  %18327 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18328 = load float, ptr %18327, align 4, !tbaa !11
  %18329 = load ptr, ptr %13, align 8, !tbaa !5
  %18330 = getelementptr inbounds %struct.complex, ptr %18329, i32 0, i32 1
  %18331 = load float, ptr %18330, align 4, !tbaa !14
  %18332 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18333 = load float, ptr %18332, align 4, !tbaa !14
  %18334 = fmul float %18331, %18333
  %18335 = fneg float %18334
  %18336 = call float @llvm.fmuladd.f32(float %18326, float %18328, float %18335)
  %18337 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18336, ptr %18337, align 4, !tbaa !11
  %18338 = load ptr, ptr %13, align 8, !tbaa !5
  %18339 = getelementptr inbounds %struct.complex, ptr %18338, i32 0, i32 0
  %18340 = load float, ptr %18339, align 4, !tbaa !11
  %18341 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18342 = load float, ptr %18341, align 4, !tbaa !14
  %18343 = load ptr, ptr %13, align 8, !tbaa !5
  %18344 = getelementptr inbounds %struct.complex, ptr %18343, i32 0, i32 1
  %18345 = load float, ptr %18344, align 4, !tbaa !14
  %18346 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18347 = load float, ptr %18346, align 4, !tbaa !11
  %18348 = fmul float %18345, %18347
  %18349 = call float @llvm.fmuladd.f32(float %18340, float %18342, float %18348)
  %18350 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18349, ptr %18350, align 4, !tbaa !14
  %18351 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18352 = load float, ptr %18351, align 4, !tbaa !11
  %18353 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %18352, ptr %18353, align 4, !tbaa !11
  %18354 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18355 = load float, ptr %18354, align 4, !tbaa !14
  %18356 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %18355, ptr %18356, align 4, !tbaa !14
  %18357 = load ptr, ptr %12, align 8, !tbaa !5
  %18358 = getelementptr inbounds %struct.complex, ptr %18357, i64 9
  %18359 = getelementptr inbounds %struct.complex, ptr %18358, i32 0, i32 0
  %18360 = load float, ptr %18359, align 4, !tbaa !11
  %18361 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %18360, ptr %18361, align 4, !tbaa !11
  %18362 = load ptr, ptr %12, align 8, !tbaa !5
  %18363 = getelementptr inbounds %struct.complex, ptr %18362, i64 9
  %18364 = getelementptr inbounds %struct.complex, ptr %18363, i32 0, i32 1
  %18365 = load float, ptr %18364, align 4, !tbaa !14
  %18366 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %18365, ptr %18366, align 4, !tbaa !14
  %18367 = call <2 x float> @Cf(ptr noundef %67)
  store <2 x float> %18367, ptr %234, align 4
  %18368 = getelementptr inbounds { float, float }, ptr %234, i32 0, i32 0
  %18369 = load float, ptr %18368, align 4
  %18370 = getelementptr inbounds { float, float }, ptr %234, i32 0, i32 1
  %18371 = load float, ptr %18370, align 4
  %18372 = fneg float %18371
  %18373 = call ptr @_pCf(ptr noundef %31)
  %18374 = getelementptr inbounds { float, float }, ptr %18373, i32 0, i32 0
  %18375 = getelementptr inbounds { float, float }, ptr %18373, i32 0, i32 1
  store float %18369, ptr %18374, align 4
  store float %18372, ptr %18375, align 4
  %18376 = load ptr, ptr %13, align 8, !tbaa !5
  %18377 = getelementptr inbounds %struct.complex, ptr %18376, i32 0, i32 0
  %18378 = load float, ptr %18377, align 4, !tbaa !11
  %18379 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18380 = load float, ptr %18379, align 4, !tbaa !11
  %18381 = load ptr, ptr %13, align 8, !tbaa !5
  %18382 = getelementptr inbounds %struct.complex, ptr %18381, i32 0, i32 1
  %18383 = load float, ptr %18382, align 4, !tbaa !14
  %18384 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18385 = load float, ptr %18384, align 4, !tbaa !14
  %18386 = fmul float %18383, %18385
  %18387 = fneg float %18386
  %18388 = call float @llvm.fmuladd.f32(float %18378, float %18380, float %18387)
  %18389 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18388, ptr %18389, align 4, !tbaa !11
  %18390 = load ptr, ptr %13, align 8, !tbaa !5
  %18391 = getelementptr inbounds %struct.complex, ptr %18390, i32 0, i32 0
  %18392 = load float, ptr %18391, align 4, !tbaa !11
  %18393 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18394 = load float, ptr %18393, align 4, !tbaa !14
  %18395 = load ptr, ptr %13, align 8, !tbaa !5
  %18396 = getelementptr inbounds %struct.complex, ptr %18395, i32 0, i32 1
  %18397 = load float, ptr %18396, align 4, !tbaa !14
  %18398 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18399 = load float, ptr %18398, align 4, !tbaa !11
  %18400 = fmul float %18397, %18399
  %18401 = call float @llvm.fmuladd.f32(float %18392, float %18394, float %18400)
  %18402 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18401, ptr %18402, align 4, !tbaa !14
  %18403 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18404 = load float, ptr %18403, align 4, !tbaa !11
  %18405 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %18404, ptr %18405, align 4, !tbaa !11
  %18406 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18407 = load float, ptr %18406, align 4, !tbaa !14
  %18408 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %18407, ptr %18408, align 4, !tbaa !14
  %18409 = load ptr, ptr %12, align 8, !tbaa !5
  %18410 = getelementptr inbounds %struct.complex, ptr %18409, i64 10
  %18411 = getelementptr inbounds %struct.complex, ptr %18410, i32 0, i32 0
  %18412 = load float, ptr %18411, align 4, !tbaa !11
  %18413 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  store float %18412, ptr %18413, align 4, !tbaa !11
  %18414 = load ptr, ptr %12, align 8, !tbaa !5
  %18415 = getelementptr inbounds %struct.complex, ptr %18414, i64 10
  %18416 = getelementptr inbounds %struct.complex, ptr %18415, i32 0, i32 1
  %18417 = load float, ptr %18416, align 4, !tbaa !14
  %18418 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  store float %18417, ptr %18418, align 4, !tbaa !14
  %18419 = call <2 x float> @Cf(ptr noundef %69)
  store <2 x float> %18419, ptr %235, align 4
  %18420 = getelementptr inbounds { float, float }, ptr %235, i32 0, i32 0
  %18421 = load float, ptr %18420, align 4
  %18422 = getelementptr inbounds { float, float }, ptr %235, i32 0, i32 1
  %18423 = load float, ptr %18422, align 4
  %18424 = fneg float %18423
  %18425 = call ptr @_pCf(ptr noundef %31)
  %18426 = getelementptr inbounds { float, float }, ptr %18425, i32 0, i32 0
  %18427 = getelementptr inbounds { float, float }, ptr %18425, i32 0, i32 1
  store float %18421, ptr %18426, align 4
  store float %18424, ptr %18427, align 4
  %18428 = load ptr, ptr %13, align 8, !tbaa !5
  %18429 = getelementptr inbounds %struct.complex, ptr %18428, i32 0, i32 0
  %18430 = load float, ptr %18429, align 4, !tbaa !11
  %18431 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18432 = load float, ptr %18431, align 4, !tbaa !11
  %18433 = load ptr, ptr %13, align 8, !tbaa !5
  %18434 = getelementptr inbounds %struct.complex, ptr %18433, i32 0, i32 1
  %18435 = load float, ptr %18434, align 4, !tbaa !14
  %18436 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18437 = load float, ptr %18436, align 4, !tbaa !14
  %18438 = fmul float %18435, %18437
  %18439 = fneg float %18438
  %18440 = call float @llvm.fmuladd.f32(float %18430, float %18432, float %18439)
  %18441 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18440, ptr %18441, align 4, !tbaa !11
  %18442 = load ptr, ptr %13, align 8, !tbaa !5
  %18443 = getelementptr inbounds %struct.complex, ptr %18442, i32 0, i32 0
  %18444 = load float, ptr %18443, align 4, !tbaa !11
  %18445 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %18446 = load float, ptr %18445, align 4, !tbaa !14
  %18447 = load ptr, ptr %13, align 8, !tbaa !5
  %18448 = getelementptr inbounds %struct.complex, ptr %18447, i32 0, i32 1
  %18449 = load float, ptr %18448, align 4, !tbaa !14
  %18450 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18451 = load float, ptr %18450, align 4, !tbaa !11
  %18452 = fmul float %18449, %18451
  %18453 = call float @llvm.fmuladd.f32(float %18444, float %18446, float %18452)
  %18454 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %18453, ptr %18454, align 4, !tbaa !14
  %18455 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %18456 = load float, ptr %18455, align 4, !tbaa !11
  %18457 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  store float %18456, ptr %18457, align 4, !tbaa !11
  %18458 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %18459 = load float, ptr %18458, align 4, !tbaa !14
  %18460 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  store float %18459, ptr %18460, align 4, !tbaa !14
  %18461 = load ptr, ptr %10, align 8, !tbaa !5
  %18462 = load i32, ptr %18461, align 4, !tbaa !9
  store i32 %18462, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %18463

18463:                                            ; preds = %19659, %17940
  %18464 = load i32, ptr %49, align 4, !tbaa !9
  %18465 = load i32, ptr %19, align 4, !tbaa !9
  %18466 = icmp sle i32 %18464, %18465
  br i1 %18466, label %18467, label %19662

18467:                                            ; preds = %18463
  %18468 = load i32, ptr %49, align 4, !tbaa !9
  %18469 = load i32, ptr %17, align 4, !tbaa !9
  %18470 = add nsw i32 %18468, %18469
  store i32 %18470, ptr %20, align 4, !tbaa !9
  %18471 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %18472 = load float, ptr %18471, align 4, !tbaa !11
  %18473 = load ptr, ptr %14, align 8, !tbaa !5
  %18474 = load i32, ptr %20, align 4, !tbaa !9
  %18475 = sext i32 %18474 to i64
  %18476 = getelementptr inbounds %struct.complex, ptr %18473, i64 %18475
  %18477 = getelementptr inbounds %struct.complex, ptr %18476, i32 0, i32 0
  %18478 = load float, ptr %18477, align 4, !tbaa !11
  %18479 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %18480 = load float, ptr %18479, align 4, !tbaa !14
  %18481 = load ptr, ptr %14, align 8, !tbaa !5
  %18482 = load i32, ptr %20, align 4, !tbaa !9
  %18483 = sext i32 %18482 to i64
  %18484 = getelementptr inbounds %struct.complex, ptr %18481, i64 %18483
  %18485 = getelementptr inbounds %struct.complex, ptr %18484, i32 0, i32 1
  %18486 = load float, ptr %18485, align 4, !tbaa !14
  %18487 = fmul float %18480, %18486
  %18488 = fneg float %18487
  %18489 = call float @llvm.fmuladd.f32(float %18472, float %18478, float %18488)
  %18490 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %18489, ptr %18490, align 4, !tbaa !11
  %18491 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %18492 = load float, ptr %18491, align 4, !tbaa !11
  %18493 = load ptr, ptr %14, align 8, !tbaa !5
  %18494 = load i32, ptr %20, align 4, !tbaa !9
  %18495 = sext i32 %18494 to i64
  %18496 = getelementptr inbounds %struct.complex, ptr %18493, i64 %18495
  %18497 = getelementptr inbounds %struct.complex, ptr %18496, i32 0, i32 1
  %18498 = load float, ptr %18497, align 4, !tbaa !14
  %18499 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %18500 = load float, ptr %18499, align 4, !tbaa !14
  %18501 = load ptr, ptr %14, align 8, !tbaa !5
  %18502 = load i32, ptr %20, align 4, !tbaa !9
  %18503 = sext i32 %18502 to i64
  %18504 = getelementptr inbounds %struct.complex, ptr %18501, i64 %18503
  %18505 = getelementptr inbounds %struct.complex, ptr %18504, i32 0, i32 0
  %18506 = load float, ptr %18505, align 4, !tbaa !11
  %18507 = fmul float %18500, %18506
  %18508 = call float @llvm.fmuladd.f32(float %18492, float %18498, float %18507)
  %18509 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %18508, ptr %18509, align 4, !tbaa !14
  %18510 = load i32, ptr %49, align 4, !tbaa !9
  %18511 = load i32, ptr %17, align 4, !tbaa !9
  %18512 = shl i32 %18511, 1
  %18513 = add nsw i32 %18510, %18512
  store i32 %18513, ptr %21, align 4, !tbaa !9
  %18514 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %18515 = load float, ptr %18514, align 4, !tbaa !11
  %18516 = load ptr, ptr %14, align 8, !tbaa !5
  %18517 = load i32, ptr %21, align 4, !tbaa !9
  %18518 = sext i32 %18517 to i64
  %18519 = getelementptr inbounds %struct.complex, ptr %18516, i64 %18518
  %18520 = getelementptr inbounds %struct.complex, ptr %18519, i32 0, i32 0
  %18521 = load float, ptr %18520, align 4, !tbaa !11
  %18522 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %18523 = load float, ptr %18522, align 4, !tbaa !14
  %18524 = load ptr, ptr %14, align 8, !tbaa !5
  %18525 = load i32, ptr %21, align 4, !tbaa !9
  %18526 = sext i32 %18525 to i64
  %18527 = getelementptr inbounds %struct.complex, ptr %18524, i64 %18526
  %18528 = getelementptr inbounds %struct.complex, ptr %18527, i32 0, i32 1
  %18529 = load float, ptr %18528, align 4, !tbaa !14
  %18530 = fmul float %18523, %18529
  %18531 = fneg float %18530
  %18532 = call float @llvm.fmuladd.f32(float %18515, float %18521, float %18531)
  %18533 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %18532, ptr %18533, align 4, !tbaa !11
  %18534 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %18535 = load float, ptr %18534, align 4, !tbaa !11
  %18536 = load ptr, ptr %14, align 8, !tbaa !5
  %18537 = load i32, ptr %21, align 4, !tbaa !9
  %18538 = sext i32 %18537 to i64
  %18539 = getelementptr inbounds %struct.complex, ptr %18536, i64 %18538
  %18540 = getelementptr inbounds %struct.complex, ptr %18539, i32 0, i32 1
  %18541 = load float, ptr %18540, align 4, !tbaa !14
  %18542 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %18543 = load float, ptr %18542, align 4, !tbaa !14
  %18544 = load ptr, ptr %14, align 8, !tbaa !5
  %18545 = load i32, ptr %21, align 4, !tbaa !9
  %18546 = sext i32 %18545 to i64
  %18547 = getelementptr inbounds %struct.complex, ptr %18544, i64 %18546
  %18548 = getelementptr inbounds %struct.complex, ptr %18547, i32 0, i32 0
  %18549 = load float, ptr %18548, align 4, !tbaa !11
  %18550 = fmul float %18543, %18549
  %18551 = call float @llvm.fmuladd.f32(float %18535, float %18541, float %18550)
  %18552 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %18551, ptr %18552, align 4, !tbaa !14
  %18553 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %18554 = load float, ptr %18553, align 4, !tbaa !11
  %18555 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %18556 = load float, ptr %18555, align 4, !tbaa !11
  %18557 = fadd float %18554, %18556
  %18558 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %18557, ptr %18558, align 4, !tbaa !11
  %18559 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %18560 = load float, ptr %18559, align 4, !tbaa !14
  %18561 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %18562 = load float, ptr %18561, align 4, !tbaa !14
  %18563 = fadd float %18560, %18562
  %18564 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %18563, ptr %18564, align 4, !tbaa !14
  %18565 = load i32, ptr %49, align 4, !tbaa !9
  %18566 = load i32, ptr %17, align 4, !tbaa !9
  %18567 = mul nsw i32 %18566, 3
  %18568 = add nsw i32 %18565, %18567
  store i32 %18568, ptr %22, align 4, !tbaa !9
  %18569 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %18570 = load float, ptr %18569, align 4, !tbaa !11
  %18571 = load ptr, ptr %14, align 8, !tbaa !5
  %18572 = load i32, ptr %22, align 4, !tbaa !9
  %18573 = sext i32 %18572 to i64
  %18574 = getelementptr inbounds %struct.complex, ptr %18571, i64 %18573
  %18575 = getelementptr inbounds %struct.complex, ptr %18574, i32 0, i32 0
  %18576 = load float, ptr %18575, align 4, !tbaa !11
  %18577 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %18578 = load float, ptr %18577, align 4, !tbaa !14
  %18579 = load ptr, ptr %14, align 8, !tbaa !5
  %18580 = load i32, ptr %22, align 4, !tbaa !9
  %18581 = sext i32 %18580 to i64
  %18582 = getelementptr inbounds %struct.complex, ptr %18579, i64 %18581
  %18583 = getelementptr inbounds %struct.complex, ptr %18582, i32 0, i32 1
  %18584 = load float, ptr %18583, align 4, !tbaa !14
  %18585 = fmul float %18578, %18584
  %18586 = fneg float %18585
  %18587 = call float @llvm.fmuladd.f32(float %18570, float %18576, float %18586)
  %18588 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %18587, ptr %18588, align 4, !tbaa !11
  %18589 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %18590 = load float, ptr %18589, align 4, !tbaa !11
  %18591 = load ptr, ptr %14, align 8, !tbaa !5
  %18592 = load i32, ptr %22, align 4, !tbaa !9
  %18593 = sext i32 %18592 to i64
  %18594 = getelementptr inbounds %struct.complex, ptr %18591, i64 %18593
  %18595 = getelementptr inbounds %struct.complex, ptr %18594, i32 0, i32 1
  %18596 = load float, ptr %18595, align 4, !tbaa !14
  %18597 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %18598 = load float, ptr %18597, align 4, !tbaa !14
  %18599 = load ptr, ptr %14, align 8, !tbaa !5
  %18600 = load i32, ptr %22, align 4, !tbaa !9
  %18601 = sext i32 %18600 to i64
  %18602 = getelementptr inbounds %struct.complex, ptr %18599, i64 %18601
  %18603 = getelementptr inbounds %struct.complex, ptr %18602, i32 0, i32 0
  %18604 = load float, ptr %18603, align 4, !tbaa !11
  %18605 = fmul float %18598, %18604
  %18606 = call float @llvm.fmuladd.f32(float %18590, float %18596, float %18605)
  %18607 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %18606, ptr %18607, align 4, !tbaa !14
  %18608 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %18609 = load float, ptr %18608, align 4, !tbaa !11
  %18610 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %18611 = load float, ptr %18610, align 4, !tbaa !11
  %18612 = fadd float %18609, %18611
  %18613 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %18612, ptr %18613, align 4, !tbaa !11
  %18614 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %18615 = load float, ptr %18614, align 4, !tbaa !14
  %18616 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %18617 = load float, ptr %18616, align 4, !tbaa !14
  %18618 = fadd float %18615, %18617
  %18619 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %18618, ptr %18619, align 4, !tbaa !14
  %18620 = load i32, ptr %49, align 4, !tbaa !9
  %18621 = load i32, ptr %17, align 4, !tbaa !9
  %18622 = shl i32 %18621, 2
  %18623 = add nsw i32 %18620, %18622
  store i32 %18623, ptr %23, align 4, !tbaa !9
  %18624 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %18625 = load float, ptr %18624, align 4, !tbaa !11
  %18626 = load ptr, ptr %14, align 8, !tbaa !5
  %18627 = load i32, ptr %23, align 4, !tbaa !9
  %18628 = sext i32 %18627 to i64
  %18629 = getelementptr inbounds %struct.complex, ptr %18626, i64 %18628
  %18630 = getelementptr inbounds %struct.complex, ptr %18629, i32 0, i32 0
  %18631 = load float, ptr %18630, align 4, !tbaa !11
  %18632 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %18633 = load float, ptr %18632, align 4, !tbaa !14
  %18634 = load ptr, ptr %14, align 8, !tbaa !5
  %18635 = load i32, ptr %23, align 4, !tbaa !9
  %18636 = sext i32 %18635 to i64
  %18637 = getelementptr inbounds %struct.complex, ptr %18634, i64 %18636
  %18638 = getelementptr inbounds %struct.complex, ptr %18637, i32 0, i32 1
  %18639 = load float, ptr %18638, align 4, !tbaa !14
  %18640 = fmul float %18633, %18639
  %18641 = fneg float %18640
  %18642 = call float @llvm.fmuladd.f32(float %18625, float %18631, float %18641)
  %18643 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %18642, ptr %18643, align 4, !tbaa !11
  %18644 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %18645 = load float, ptr %18644, align 4, !tbaa !11
  %18646 = load ptr, ptr %14, align 8, !tbaa !5
  %18647 = load i32, ptr %23, align 4, !tbaa !9
  %18648 = sext i32 %18647 to i64
  %18649 = getelementptr inbounds %struct.complex, ptr %18646, i64 %18648
  %18650 = getelementptr inbounds %struct.complex, ptr %18649, i32 0, i32 1
  %18651 = load float, ptr %18650, align 4, !tbaa !14
  %18652 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %18653 = load float, ptr %18652, align 4, !tbaa !14
  %18654 = load ptr, ptr %14, align 8, !tbaa !5
  %18655 = load i32, ptr %23, align 4, !tbaa !9
  %18656 = sext i32 %18655 to i64
  %18657 = getelementptr inbounds %struct.complex, ptr %18654, i64 %18656
  %18658 = getelementptr inbounds %struct.complex, ptr %18657, i32 0, i32 0
  %18659 = load float, ptr %18658, align 4, !tbaa !11
  %18660 = fmul float %18653, %18659
  %18661 = call float @llvm.fmuladd.f32(float %18645, float %18651, float %18660)
  %18662 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %18661, ptr %18662, align 4, !tbaa !14
  %18663 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %18664 = load float, ptr %18663, align 4, !tbaa !11
  %18665 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %18666 = load float, ptr %18665, align 4, !tbaa !11
  %18667 = fadd float %18664, %18666
  %18668 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %18667, ptr %18668, align 4, !tbaa !11
  %18669 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %18670 = load float, ptr %18669, align 4, !tbaa !14
  %18671 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %18672 = load float, ptr %18671, align 4, !tbaa !14
  %18673 = fadd float %18670, %18672
  %18674 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %18673, ptr %18674, align 4, !tbaa !14
  %18675 = load i32, ptr %49, align 4, !tbaa !9
  %18676 = load i32, ptr %17, align 4, !tbaa !9
  %18677 = mul nsw i32 %18676, 5
  %18678 = add nsw i32 %18675, %18677
  store i32 %18678, ptr %24, align 4, !tbaa !9
  %18679 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %18680 = load float, ptr %18679, align 4, !tbaa !11
  %18681 = load ptr, ptr %14, align 8, !tbaa !5
  %18682 = load i32, ptr %24, align 4, !tbaa !9
  %18683 = sext i32 %18682 to i64
  %18684 = getelementptr inbounds %struct.complex, ptr %18681, i64 %18683
  %18685 = getelementptr inbounds %struct.complex, ptr %18684, i32 0, i32 0
  %18686 = load float, ptr %18685, align 4, !tbaa !11
  %18687 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %18688 = load float, ptr %18687, align 4, !tbaa !14
  %18689 = load ptr, ptr %14, align 8, !tbaa !5
  %18690 = load i32, ptr %24, align 4, !tbaa !9
  %18691 = sext i32 %18690 to i64
  %18692 = getelementptr inbounds %struct.complex, ptr %18689, i64 %18691
  %18693 = getelementptr inbounds %struct.complex, ptr %18692, i32 0, i32 1
  %18694 = load float, ptr %18693, align 4, !tbaa !14
  %18695 = fmul float %18688, %18694
  %18696 = fneg float %18695
  %18697 = call float @llvm.fmuladd.f32(float %18680, float %18686, float %18696)
  %18698 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %18697, ptr %18698, align 4, !tbaa !11
  %18699 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %18700 = load float, ptr %18699, align 4, !tbaa !11
  %18701 = load ptr, ptr %14, align 8, !tbaa !5
  %18702 = load i32, ptr %24, align 4, !tbaa !9
  %18703 = sext i32 %18702 to i64
  %18704 = getelementptr inbounds %struct.complex, ptr %18701, i64 %18703
  %18705 = getelementptr inbounds %struct.complex, ptr %18704, i32 0, i32 1
  %18706 = load float, ptr %18705, align 4, !tbaa !14
  %18707 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %18708 = load float, ptr %18707, align 4, !tbaa !14
  %18709 = load ptr, ptr %14, align 8, !tbaa !5
  %18710 = load i32, ptr %24, align 4, !tbaa !9
  %18711 = sext i32 %18710 to i64
  %18712 = getelementptr inbounds %struct.complex, ptr %18709, i64 %18711
  %18713 = getelementptr inbounds %struct.complex, ptr %18712, i32 0, i32 0
  %18714 = load float, ptr %18713, align 4, !tbaa !11
  %18715 = fmul float %18708, %18714
  %18716 = call float @llvm.fmuladd.f32(float %18700, float %18706, float %18715)
  %18717 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %18716, ptr %18717, align 4, !tbaa !14
  %18718 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %18719 = load float, ptr %18718, align 4, !tbaa !11
  %18720 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %18721 = load float, ptr %18720, align 4, !tbaa !11
  %18722 = fadd float %18719, %18721
  %18723 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %18722, ptr %18723, align 4, !tbaa !11
  %18724 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %18725 = load float, ptr %18724, align 4, !tbaa !14
  %18726 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %18727 = load float, ptr %18726, align 4, !tbaa !14
  %18728 = fadd float %18725, %18727
  %18729 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %18728, ptr %18729, align 4, !tbaa !14
  %18730 = load i32, ptr %49, align 4, !tbaa !9
  %18731 = load i32, ptr %17, align 4, !tbaa !9
  %18732 = mul nsw i32 %18731, 6
  %18733 = add nsw i32 %18730, %18732
  store i32 %18733, ptr %25, align 4, !tbaa !9
  %18734 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %18735 = load float, ptr %18734, align 4, !tbaa !11
  %18736 = load ptr, ptr %14, align 8, !tbaa !5
  %18737 = load i32, ptr %25, align 4, !tbaa !9
  %18738 = sext i32 %18737 to i64
  %18739 = getelementptr inbounds %struct.complex, ptr %18736, i64 %18738
  %18740 = getelementptr inbounds %struct.complex, ptr %18739, i32 0, i32 0
  %18741 = load float, ptr %18740, align 4, !tbaa !11
  %18742 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %18743 = load float, ptr %18742, align 4, !tbaa !14
  %18744 = load ptr, ptr %14, align 8, !tbaa !5
  %18745 = load i32, ptr %25, align 4, !tbaa !9
  %18746 = sext i32 %18745 to i64
  %18747 = getelementptr inbounds %struct.complex, ptr %18744, i64 %18746
  %18748 = getelementptr inbounds %struct.complex, ptr %18747, i32 0, i32 1
  %18749 = load float, ptr %18748, align 4, !tbaa !14
  %18750 = fmul float %18743, %18749
  %18751 = fneg float %18750
  %18752 = call float @llvm.fmuladd.f32(float %18735, float %18741, float %18751)
  %18753 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %18752, ptr %18753, align 4, !tbaa !11
  %18754 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %18755 = load float, ptr %18754, align 4, !tbaa !11
  %18756 = load ptr, ptr %14, align 8, !tbaa !5
  %18757 = load i32, ptr %25, align 4, !tbaa !9
  %18758 = sext i32 %18757 to i64
  %18759 = getelementptr inbounds %struct.complex, ptr %18756, i64 %18758
  %18760 = getelementptr inbounds %struct.complex, ptr %18759, i32 0, i32 1
  %18761 = load float, ptr %18760, align 4, !tbaa !14
  %18762 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %18763 = load float, ptr %18762, align 4, !tbaa !14
  %18764 = load ptr, ptr %14, align 8, !tbaa !5
  %18765 = load i32, ptr %25, align 4, !tbaa !9
  %18766 = sext i32 %18765 to i64
  %18767 = getelementptr inbounds %struct.complex, ptr %18764, i64 %18766
  %18768 = getelementptr inbounds %struct.complex, ptr %18767, i32 0, i32 0
  %18769 = load float, ptr %18768, align 4, !tbaa !11
  %18770 = fmul float %18763, %18769
  %18771 = call float @llvm.fmuladd.f32(float %18755, float %18761, float %18770)
  %18772 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %18771, ptr %18772, align 4, !tbaa !14
  %18773 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %18774 = load float, ptr %18773, align 4, !tbaa !11
  %18775 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %18776 = load float, ptr %18775, align 4, !tbaa !11
  %18777 = fadd float %18774, %18776
  %18778 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %18777, ptr %18778, align 4, !tbaa !11
  %18779 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %18780 = load float, ptr %18779, align 4, !tbaa !14
  %18781 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %18782 = load float, ptr %18781, align 4, !tbaa !14
  %18783 = fadd float %18780, %18782
  %18784 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %18783, ptr %18784, align 4, !tbaa !14
  %18785 = load i32, ptr %49, align 4, !tbaa !9
  %18786 = load i32, ptr %17, align 4, !tbaa !9
  %18787 = mul nsw i32 %18786, 7
  %18788 = add nsw i32 %18785, %18787
  store i32 %18788, ptr %26, align 4, !tbaa !9
  %18789 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %18790 = load float, ptr %18789, align 4, !tbaa !11
  %18791 = load ptr, ptr %14, align 8, !tbaa !5
  %18792 = load i32, ptr %26, align 4, !tbaa !9
  %18793 = sext i32 %18792 to i64
  %18794 = getelementptr inbounds %struct.complex, ptr %18791, i64 %18793
  %18795 = getelementptr inbounds %struct.complex, ptr %18794, i32 0, i32 0
  %18796 = load float, ptr %18795, align 4, !tbaa !11
  %18797 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %18798 = load float, ptr %18797, align 4, !tbaa !14
  %18799 = load ptr, ptr %14, align 8, !tbaa !5
  %18800 = load i32, ptr %26, align 4, !tbaa !9
  %18801 = sext i32 %18800 to i64
  %18802 = getelementptr inbounds %struct.complex, ptr %18799, i64 %18801
  %18803 = getelementptr inbounds %struct.complex, ptr %18802, i32 0, i32 1
  %18804 = load float, ptr %18803, align 4, !tbaa !14
  %18805 = fmul float %18798, %18804
  %18806 = fneg float %18805
  %18807 = call float @llvm.fmuladd.f32(float %18790, float %18796, float %18806)
  %18808 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %18807, ptr %18808, align 4, !tbaa !11
  %18809 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %18810 = load float, ptr %18809, align 4, !tbaa !11
  %18811 = load ptr, ptr %14, align 8, !tbaa !5
  %18812 = load i32, ptr %26, align 4, !tbaa !9
  %18813 = sext i32 %18812 to i64
  %18814 = getelementptr inbounds %struct.complex, ptr %18811, i64 %18813
  %18815 = getelementptr inbounds %struct.complex, ptr %18814, i32 0, i32 1
  %18816 = load float, ptr %18815, align 4, !tbaa !14
  %18817 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %18818 = load float, ptr %18817, align 4, !tbaa !14
  %18819 = load ptr, ptr %14, align 8, !tbaa !5
  %18820 = load i32, ptr %26, align 4, !tbaa !9
  %18821 = sext i32 %18820 to i64
  %18822 = getelementptr inbounds %struct.complex, ptr %18819, i64 %18821
  %18823 = getelementptr inbounds %struct.complex, ptr %18822, i32 0, i32 0
  %18824 = load float, ptr %18823, align 4, !tbaa !11
  %18825 = fmul float %18818, %18824
  %18826 = call float @llvm.fmuladd.f32(float %18810, float %18816, float %18825)
  %18827 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %18826, ptr %18827, align 4, !tbaa !14
  %18828 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %18829 = load float, ptr %18828, align 4, !tbaa !11
  %18830 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %18831 = load float, ptr %18830, align 4, !tbaa !11
  %18832 = fadd float %18829, %18831
  %18833 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %18832, ptr %18833, align 4, !tbaa !11
  %18834 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %18835 = load float, ptr %18834, align 4, !tbaa !14
  %18836 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %18837 = load float, ptr %18836, align 4, !tbaa !14
  %18838 = fadd float %18835, %18837
  %18839 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %18838, ptr %18839, align 4, !tbaa !14
  %18840 = load i32, ptr %49, align 4, !tbaa !9
  %18841 = load i32, ptr %17, align 4, !tbaa !9
  %18842 = shl i32 %18841, 3
  %18843 = add nsw i32 %18840, %18842
  store i32 %18843, ptr %27, align 4, !tbaa !9
  %18844 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %18845 = load float, ptr %18844, align 4, !tbaa !11
  %18846 = load ptr, ptr %14, align 8, !tbaa !5
  %18847 = load i32, ptr %27, align 4, !tbaa !9
  %18848 = sext i32 %18847 to i64
  %18849 = getelementptr inbounds %struct.complex, ptr %18846, i64 %18848
  %18850 = getelementptr inbounds %struct.complex, ptr %18849, i32 0, i32 0
  %18851 = load float, ptr %18850, align 4, !tbaa !11
  %18852 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %18853 = load float, ptr %18852, align 4, !tbaa !14
  %18854 = load ptr, ptr %14, align 8, !tbaa !5
  %18855 = load i32, ptr %27, align 4, !tbaa !9
  %18856 = sext i32 %18855 to i64
  %18857 = getelementptr inbounds %struct.complex, ptr %18854, i64 %18856
  %18858 = getelementptr inbounds %struct.complex, ptr %18857, i32 0, i32 1
  %18859 = load float, ptr %18858, align 4, !tbaa !14
  %18860 = fmul float %18853, %18859
  %18861 = fneg float %18860
  %18862 = call float @llvm.fmuladd.f32(float %18845, float %18851, float %18861)
  %18863 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %18862, ptr %18863, align 4, !tbaa !11
  %18864 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %18865 = load float, ptr %18864, align 4, !tbaa !11
  %18866 = load ptr, ptr %14, align 8, !tbaa !5
  %18867 = load i32, ptr %27, align 4, !tbaa !9
  %18868 = sext i32 %18867 to i64
  %18869 = getelementptr inbounds %struct.complex, ptr %18866, i64 %18868
  %18870 = getelementptr inbounds %struct.complex, ptr %18869, i32 0, i32 1
  %18871 = load float, ptr %18870, align 4, !tbaa !14
  %18872 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %18873 = load float, ptr %18872, align 4, !tbaa !14
  %18874 = load ptr, ptr %14, align 8, !tbaa !5
  %18875 = load i32, ptr %27, align 4, !tbaa !9
  %18876 = sext i32 %18875 to i64
  %18877 = getelementptr inbounds %struct.complex, ptr %18874, i64 %18876
  %18878 = getelementptr inbounds %struct.complex, ptr %18877, i32 0, i32 0
  %18879 = load float, ptr %18878, align 4, !tbaa !11
  %18880 = fmul float %18873, %18879
  %18881 = call float @llvm.fmuladd.f32(float %18865, float %18871, float %18880)
  %18882 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %18881, ptr %18882, align 4, !tbaa !14
  %18883 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %18884 = load float, ptr %18883, align 4, !tbaa !11
  %18885 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %18886 = load float, ptr %18885, align 4, !tbaa !11
  %18887 = fadd float %18884, %18886
  %18888 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %18887, ptr %18888, align 4, !tbaa !11
  %18889 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %18890 = load float, ptr %18889, align 4, !tbaa !14
  %18891 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %18892 = load float, ptr %18891, align 4, !tbaa !14
  %18893 = fadd float %18890, %18892
  %18894 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %18893, ptr %18894, align 4, !tbaa !14
  %18895 = load i32, ptr %49, align 4, !tbaa !9
  %18896 = load i32, ptr %17, align 4, !tbaa !9
  %18897 = mul nsw i32 %18896, 9
  %18898 = add nsw i32 %18895, %18897
  store i32 %18898, ptr %28, align 4, !tbaa !9
  %18899 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %18900 = load float, ptr %18899, align 4, !tbaa !11
  %18901 = load ptr, ptr %14, align 8, !tbaa !5
  %18902 = load i32, ptr %28, align 4, !tbaa !9
  %18903 = sext i32 %18902 to i64
  %18904 = getelementptr inbounds %struct.complex, ptr %18901, i64 %18903
  %18905 = getelementptr inbounds %struct.complex, ptr %18904, i32 0, i32 0
  %18906 = load float, ptr %18905, align 4, !tbaa !11
  %18907 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %18908 = load float, ptr %18907, align 4, !tbaa !14
  %18909 = load ptr, ptr %14, align 8, !tbaa !5
  %18910 = load i32, ptr %28, align 4, !tbaa !9
  %18911 = sext i32 %18910 to i64
  %18912 = getelementptr inbounds %struct.complex, ptr %18909, i64 %18911
  %18913 = getelementptr inbounds %struct.complex, ptr %18912, i32 0, i32 1
  %18914 = load float, ptr %18913, align 4, !tbaa !14
  %18915 = fmul float %18908, %18914
  %18916 = fneg float %18915
  %18917 = call float @llvm.fmuladd.f32(float %18900, float %18906, float %18916)
  %18918 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  store float %18917, ptr %18918, align 4, !tbaa !11
  %18919 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %18920 = load float, ptr %18919, align 4, !tbaa !11
  %18921 = load ptr, ptr %14, align 8, !tbaa !5
  %18922 = load i32, ptr %28, align 4, !tbaa !9
  %18923 = sext i32 %18922 to i64
  %18924 = getelementptr inbounds %struct.complex, ptr %18921, i64 %18923
  %18925 = getelementptr inbounds %struct.complex, ptr %18924, i32 0, i32 1
  %18926 = load float, ptr %18925, align 4, !tbaa !14
  %18927 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %18928 = load float, ptr %18927, align 4, !tbaa !14
  %18929 = load ptr, ptr %14, align 8, !tbaa !5
  %18930 = load i32, ptr %28, align 4, !tbaa !9
  %18931 = sext i32 %18930 to i64
  %18932 = getelementptr inbounds %struct.complex, ptr %18929, i64 %18931
  %18933 = getelementptr inbounds %struct.complex, ptr %18932, i32 0, i32 0
  %18934 = load float, ptr %18933, align 4, !tbaa !11
  %18935 = fmul float %18928, %18934
  %18936 = call float @llvm.fmuladd.f32(float %18920, float %18926, float %18935)
  %18937 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  store float %18936, ptr %18937, align 4, !tbaa !14
  %18938 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %18939 = load float, ptr %18938, align 4, !tbaa !11
  %18940 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  %18941 = load float, ptr %18940, align 4, !tbaa !11
  %18942 = fadd float %18939, %18941
  %18943 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %18942, ptr %18943, align 4, !tbaa !11
  %18944 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %18945 = load float, ptr %18944, align 4, !tbaa !14
  %18946 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  %18947 = load float, ptr %18946, align 4, !tbaa !14
  %18948 = fadd float %18945, %18947
  %18949 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %18948, ptr %18949, align 4, !tbaa !14
  %18950 = load i32, ptr %49, align 4, !tbaa !9
  %18951 = load i32, ptr %17, align 4, !tbaa !9
  %18952 = mul nsw i32 %18951, 10
  %18953 = add nsw i32 %18950, %18952
  store i32 %18953, ptr %29, align 4, !tbaa !9
  %18954 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %18955 = load float, ptr %18954, align 4, !tbaa !11
  %18956 = load ptr, ptr %14, align 8, !tbaa !5
  %18957 = load i32, ptr %29, align 4, !tbaa !9
  %18958 = sext i32 %18957 to i64
  %18959 = getelementptr inbounds %struct.complex, ptr %18956, i64 %18958
  %18960 = getelementptr inbounds %struct.complex, ptr %18959, i32 0, i32 0
  %18961 = load float, ptr %18960, align 4, !tbaa !11
  %18962 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %18963 = load float, ptr %18962, align 4, !tbaa !14
  %18964 = load ptr, ptr %14, align 8, !tbaa !5
  %18965 = load i32, ptr %29, align 4, !tbaa !9
  %18966 = sext i32 %18965 to i64
  %18967 = getelementptr inbounds %struct.complex, ptr %18964, i64 %18966
  %18968 = getelementptr inbounds %struct.complex, ptr %18967, i32 0, i32 1
  %18969 = load float, ptr %18968, align 4, !tbaa !14
  %18970 = fmul float %18963, %18969
  %18971 = fneg float %18970
  %18972 = call float @llvm.fmuladd.f32(float %18955, float %18961, float %18971)
  %18973 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  store float %18972, ptr %18973, align 4, !tbaa !11
  %18974 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %18975 = load float, ptr %18974, align 4, !tbaa !11
  %18976 = load ptr, ptr %14, align 8, !tbaa !5
  %18977 = load i32, ptr %29, align 4, !tbaa !9
  %18978 = sext i32 %18977 to i64
  %18979 = getelementptr inbounds %struct.complex, ptr %18976, i64 %18978
  %18980 = getelementptr inbounds %struct.complex, ptr %18979, i32 0, i32 1
  %18981 = load float, ptr %18980, align 4, !tbaa !14
  %18982 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %18983 = load float, ptr %18982, align 4, !tbaa !14
  %18984 = load ptr, ptr %14, align 8, !tbaa !5
  %18985 = load i32, ptr %29, align 4, !tbaa !9
  %18986 = sext i32 %18985 to i64
  %18987 = getelementptr inbounds %struct.complex, ptr %18984, i64 %18986
  %18988 = getelementptr inbounds %struct.complex, ptr %18987, i32 0, i32 0
  %18989 = load float, ptr %18988, align 4, !tbaa !11
  %18990 = fmul float %18983, %18989
  %18991 = call float @llvm.fmuladd.f32(float %18975, float %18981, float %18990)
  %18992 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  store float %18991, ptr %18992, align 4, !tbaa !14
  %18993 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %18994 = load float, ptr %18993, align 4, !tbaa !11
  %18995 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  %18996 = load float, ptr %18995, align 4, !tbaa !11
  %18997 = fadd float %18994, %18996
  %18998 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %18997, ptr %18998, align 4, !tbaa !11
  %18999 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19000 = load float, ptr %18999, align 4, !tbaa !14
  %19001 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  %19002 = load float, ptr %19001, align 4, !tbaa !14
  %19003 = fadd float %19000, %19002
  %19004 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19003, ptr %19004, align 4, !tbaa !14
  %19005 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19006 = load float, ptr %19005, align 4, !tbaa !11
  %19007 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %19006, ptr %19007, align 4, !tbaa !11
  %19008 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19009 = load float, ptr %19008, align 4, !tbaa !14
  %19010 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %19009, ptr %19010, align 4, !tbaa !14
  %19011 = load i32, ptr %49, align 4, !tbaa !9
  %19012 = load i32, ptr %17, align 4, !tbaa !9
  %19013 = add nsw i32 %19011, %19012
  store i32 %19013, ptr %20, align 4, !tbaa !9
  %19014 = load i32, ptr %49, align 4, !tbaa !9
  %19015 = load i32, ptr %17, align 4, !tbaa !9
  %19016 = add nsw i32 %19014, %19015
  store i32 %19016, ptr %21, align 4, !tbaa !9
  %19017 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19018 = load float, ptr %19017, align 4, !tbaa !11
  %19019 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %19020 = load float, ptr %19019, align 4, !tbaa !11
  %19021 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19022 = load float, ptr %19021, align 4, !tbaa !14
  %19023 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %19024 = load float, ptr %19023, align 4, !tbaa !14
  %19025 = fmul float %19022, %19024
  %19026 = fneg float %19025
  %19027 = call float @llvm.fmuladd.f32(float %19018, float %19020, float %19026)
  %19028 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19027, ptr %19028, align 4, !tbaa !11
  %19029 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19030 = load float, ptr %19029, align 4, !tbaa !11
  %19031 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 1
  %19032 = load float, ptr %19031, align 4, !tbaa !14
  %19033 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19034 = load float, ptr %19033, align 4, !tbaa !14
  %19035 = getelementptr inbounds %struct.complex, ptr %50, i32 0, i32 0
  %19036 = load float, ptr %19035, align 4, !tbaa !11
  %19037 = fmul float %19034, %19036
  %19038 = call float @llvm.fmuladd.f32(float %19030, float %19032, float %19037)
  %19039 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19038, ptr %19039, align 4, !tbaa !14
  %19040 = load ptr, ptr %14, align 8, !tbaa !5
  %19041 = load i32, ptr %21, align 4, !tbaa !9
  %19042 = sext i32 %19041 to i64
  %19043 = getelementptr inbounds %struct.complex, ptr %19040, i64 %19042
  %19044 = getelementptr inbounds %struct.complex, ptr %19043, i32 0, i32 0
  %19045 = load float, ptr %19044, align 4, !tbaa !11
  %19046 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19047 = load float, ptr %19046, align 4, !tbaa !11
  %19048 = fsub float %19045, %19047
  %19049 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19048, ptr %19049, align 4, !tbaa !11
  %19050 = load ptr, ptr %14, align 8, !tbaa !5
  %19051 = load i32, ptr %21, align 4, !tbaa !9
  %19052 = sext i32 %19051 to i64
  %19053 = getelementptr inbounds %struct.complex, ptr %19050, i64 %19052
  %19054 = getelementptr inbounds %struct.complex, ptr %19053, i32 0, i32 1
  %19055 = load float, ptr %19054, align 4, !tbaa !14
  %19056 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19057 = load float, ptr %19056, align 4, !tbaa !14
  %19058 = fsub float %19055, %19057
  %19059 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19058, ptr %19059, align 4, !tbaa !14
  %19060 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19061 = load float, ptr %19060, align 4, !tbaa !11
  %19062 = load ptr, ptr %14, align 8, !tbaa !5
  %19063 = load i32, ptr %20, align 4, !tbaa !9
  %19064 = sext i32 %19063 to i64
  %19065 = getelementptr inbounds %struct.complex, ptr %19062, i64 %19064
  %19066 = getelementptr inbounds %struct.complex, ptr %19065, i32 0, i32 0
  store float %19061, ptr %19066, align 4, !tbaa !11
  %19067 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19068 = load float, ptr %19067, align 4, !tbaa !14
  %19069 = load ptr, ptr %14, align 8, !tbaa !5
  %19070 = load i32, ptr %20, align 4, !tbaa !9
  %19071 = sext i32 %19070 to i64
  %19072 = getelementptr inbounds %struct.complex, ptr %19069, i64 %19071
  %19073 = getelementptr inbounds %struct.complex, ptr %19072, i32 0, i32 1
  store float %19068, ptr %19073, align 4, !tbaa !14
  %19074 = load i32, ptr %49, align 4, !tbaa !9
  %19075 = load i32, ptr %17, align 4, !tbaa !9
  %19076 = shl i32 %19075, 1
  %19077 = add nsw i32 %19074, %19076
  store i32 %19077, ptr %20, align 4, !tbaa !9
  %19078 = load i32, ptr %49, align 4, !tbaa !9
  %19079 = load i32, ptr %17, align 4, !tbaa !9
  %19080 = shl i32 %19079, 1
  %19081 = add nsw i32 %19078, %19080
  store i32 %19081, ptr %21, align 4, !tbaa !9
  %19082 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19083 = load float, ptr %19082, align 4, !tbaa !11
  %19084 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %19085 = load float, ptr %19084, align 4, !tbaa !11
  %19086 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19087 = load float, ptr %19086, align 4, !tbaa !14
  %19088 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %19089 = load float, ptr %19088, align 4, !tbaa !14
  %19090 = fmul float %19087, %19089
  %19091 = fneg float %19090
  %19092 = call float @llvm.fmuladd.f32(float %19083, float %19085, float %19091)
  %19093 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19092, ptr %19093, align 4, !tbaa !11
  %19094 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19095 = load float, ptr %19094, align 4, !tbaa !11
  %19096 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %19097 = load float, ptr %19096, align 4, !tbaa !14
  %19098 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19099 = load float, ptr %19098, align 4, !tbaa !14
  %19100 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %19101 = load float, ptr %19100, align 4, !tbaa !11
  %19102 = fmul float %19099, %19101
  %19103 = call float @llvm.fmuladd.f32(float %19095, float %19097, float %19102)
  %19104 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19103, ptr %19104, align 4, !tbaa !14
  %19105 = load ptr, ptr %14, align 8, !tbaa !5
  %19106 = load i32, ptr %21, align 4, !tbaa !9
  %19107 = sext i32 %19106 to i64
  %19108 = getelementptr inbounds %struct.complex, ptr %19105, i64 %19107
  %19109 = getelementptr inbounds %struct.complex, ptr %19108, i32 0, i32 0
  %19110 = load float, ptr %19109, align 4, !tbaa !11
  %19111 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19112 = load float, ptr %19111, align 4, !tbaa !11
  %19113 = fsub float %19110, %19112
  %19114 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19113, ptr %19114, align 4, !tbaa !11
  %19115 = load ptr, ptr %14, align 8, !tbaa !5
  %19116 = load i32, ptr %21, align 4, !tbaa !9
  %19117 = sext i32 %19116 to i64
  %19118 = getelementptr inbounds %struct.complex, ptr %19115, i64 %19117
  %19119 = getelementptr inbounds %struct.complex, ptr %19118, i32 0, i32 1
  %19120 = load float, ptr %19119, align 4, !tbaa !14
  %19121 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19122 = load float, ptr %19121, align 4, !tbaa !14
  %19123 = fsub float %19120, %19122
  %19124 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19123, ptr %19124, align 4, !tbaa !14
  %19125 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19126 = load float, ptr %19125, align 4, !tbaa !11
  %19127 = load ptr, ptr %14, align 8, !tbaa !5
  %19128 = load i32, ptr %20, align 4, !tbaa !9
  %19129 = sext i32 %19128 to i64
  %19130 = getelementptr inbounds %struct.complex, ptr %19127, i64 %19129
  %19131 = getelementptr inbounds %struct.complex, ptr %19130, i32 0, i32 0
  store float %19126, ptr %19131, align 4, !tbaa !11
  %19132 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19133 = load float, ptr %19132, align 4, !tbaa !14
  %19134 = load ptr, ptr %14, align 8, !tbaa !5
  %19135 = load i32, ptr %20, align 4, !tbaa !9
  %19136 = sext i32 %19135 to i64
  %19137 = getelementptr inbounds %struct.complex, ptr %19134, i64 %19136
  %19138 = getelementptr inbounds %struct.complex, ptr %19137, i32 0, i32 1
  store float %19133, ptr %19138, align 4, !tbaa !14
  %19139 = load i32, ptr %49, align 4, !tbaa !9
  %19140 = load i32, ptr %17, align 4, !tbaa !9
  %19141 = mul nsw i32 %19140, 3
  %19142 = add nsw i32 %19139, %19141
  store i32 %19142, ptr %20, align 4, !tbaa !9
  %19143 = load i32, ptr %49, align 4, !tbaa !9
  %19144 = load i32, ptr %17, align 4, !tbaa !9
  %19145 = mul nsw i32 %19144, 3
  %19146 = add nsw i32 %19143, %19145
  store i32 %19146, ptr %21, align 4, !tbaa !9
  %19147 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19148 = load float, ptr %19147, align 4, !tbaa !11
  %19149 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %19150 = load float, ptr %19149, align 4, !tbaa !11
  %19151 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19152 = load float, ptr %19151, align 4, !tbaa !14
  %19153 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %19154 = load float, ptr %19153, align 4, !tbaa !14
  %19155 = fmul float %19152, %19154
  %19156 = fneg float %19155
  %19157 = call float @llvm.fmuladd.f32(float %19148, float %19150, float %19156)
  %19158 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19157, ptr %19158, align 4, !tbaa !11
  %19159 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19160 = load float, ptr %19159, align 4, !tbaa !11
  %19161 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %19162 = load float, ptr %19161, align 4, !tbaa !14
  %19163 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19164 = load float, ptr %19163, align 4, !tbaa !14
  %19165 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %19166 = load float, ptr %19165, align 4, !tbaa !11
  %19167 = fmul float %19164, %19166
  %19168 = call float @llvm.fmuladd.f32(float %19160, float %19162, float %19167)
  %19169 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19168, ptr %19169, align 4, !tbaa !14
  %19170 = load ptr, ptr %14, align 8, !tbaa !5
  %19171 = load i32, ptr %21, align 4, !tbaa !9
  %19172 = sext i32 %19171 to i64
  %19173 = getelementptr inbounds %struct.complex, ptr %19170, i64 %19172
  %19174 = getelementptr inbounds %struct.complex, ptr %19173, i32 0, i32 0
  %19175 = load float, ptr %19174, align 4, !tbaa !11
  %19176 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19177 = load float, ptr %19176, align 4, !tbaa !11
  %19178 = fsub float %19175, %19177
  %19179 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19178, ptr %19179, align 4, !tbaa !11
  %19180 = load ptr, ptr %14, align 8, !tbaa !5
  %19181 = load i32, ptr %21, align 4, !tbaa !9
  %19182 = sext i32 %19181 to i64
  %19183 = getelementptr inbounds %struct.complex, ptr %19180, i64 %19182
  %19184 = getelementptr inbounds %struct.complex, ptr %19183, i32 0, i32 1
  %19185 = load float, ptr %19184, align 4, !tbaa !14
  %19186 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19187 = load float, ptr %19186, align 4, !tbaa !14
  %19188 = fsub float %19185, %19187
  %19189 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19188, ptr %19189, align 4, !tbaa !14
  %19190 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19191 = load float, ptr %19190, align 4, !tbaa !11
  %19192 = load ptr, ptr %14, align 8, !tbaa !5
  %19193 = load i32, ptr %20, align 4, !tbaa !9
  %19194 = sext i32 %19193 to i64
  %19195 = getelementptr inbounds %struct.complex, ptr %19192, i64 %19194
  %19196 = getelementptr inbounds %struct.complex, ptr %19195, i32 0, i32 0
  store float %19191, ptr %19196, align 4, !tbaa !11
  %19197 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19198 = load float, ptr %19197, align 4, !tbaa !14
  %19199 = load ptr, ptr %14, align 8, !tbaa !5
  %19200 = load i32, ptr %20, align 4, !tbaa !9
  %19201 = sext i32 %19200 to i64
  %19202 = getelementptr inbounds %struct.complex, ptr %19199, i64 %19201
  %19203 = getelementptr inbounds %struct.complex, ptr %19202, i32 0, i32 1
  store float %19198, ptr %19203, align 4, !tbaa !14
  %19204 = load i32, ptr %49, align 4, !tbaa !9
  %19205 = load i32, ptr %17, align 4, !tbaa !9
  %19206 = shl i32 %19205, 2
  %19207 = add nsw i32 %19204, %19206
  store i32 %19207, ptr %20, align 4, !tbaa !9
  %19208 = load i32, ptr %49, align 4, !tbaa !9
  %19209 = load i32, ptr %17, align 4, !tbaa !9
  %19210 = shl i32 %19209, 2
  %19211 = add nsw i32 %19208, %19210
  store i32 %19211, ptr %21, align 4, !tbaa !9
  %19212 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19213 = load float, ptr %19212, align 4, !tbaa !11
  %19214 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %19215 = load float, ptr %19214, align 4, !tbaa !11
  %19216 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19217 = load float, ptr %19216, align 4, !tbaa !14
  %19218 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %19219 = load float, ptr %19218, align 4, !tbaa !14
  %19220 = fmul float %19217, %19219
  %19221 = fneg float %19220
  %19222 = call float @llvm.fmuladd.f32(float %19213, float %19215, float %19221)
  %19223 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19222, ptr %19223, align 4, !tbaa !11
  %19224 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19225 = load float, ptr %19224, align 4, !tbaa !11
  %19226 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %19227 = load float, ptr %19226, align 4, !tbaa !14
  %19228 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19229 = load float, ptr %19228, align 4, !tbaa !14
  %19230 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %19231 = load float, ptr %19230, align 4, !tbaa !11
  %19232 = fmul float %19229, %19231
  %19233 = call float @llvm.fmuladd.f32(float %19225, float %19227, float %19232)
  %19234 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19233, ptr %19234, align 4, !tbaa !14
  %19235 = load ptr, ptr %14, align 8, !tbaa !5
  %19236 = load i32, ptr %21, align 4, !tbaa !9
  %19237 = sext i32 %19236 to i64
  %19238 = getelementptr inbounds %struct.complex, ptr %19235, i64 %19237
  %19239 = getelementptr inbounds %struct.complex, ptr %19238, i32 0, i32 0
  %19240 = load float, ptr %19239, align 4, !tbaa !11
  %19241 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19242 = load float, ptr %19241, align 4, !tbaa !11
  %19243 = fsub float %19240, %19242
  %19244 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19243, ptr %19244, align 4, !tbaa !11
  %19245 = load ptr, ptr %14, align 8, !tbaa !5
  %19246 = load i32, ptr %21, align 4, !tbaa !9
  %19247 = sext i32 %19246 to i64
  %19248 = getelementptr inbounds %struct.complex, ptr %19245, i64 %19247
  %19249 = getelementptr inbounds %struct.complex, ptr %19248, i32 0, i32 1
  %19250 = load float, ptr %19249, align 4, !tbaa !14
  %19251 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19252 = load float, ptr %19251, align 4, !tbaa !14
  %19253 = fsub float %19250, %19252
  %19254 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19253, ptr %19254, align 4, !tbaa !14
  %19255 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19256 = load float, ptr %19255, align 4, !tbaa !11
  %19257 = load ptr, ptr %14, align 8, !tbaa !5
  %19258 = load i32, ptr %20, align 4, !tbaa !9
  %19259 = sext i32 %19258 to i64
  %19260 = getelementptr inbounds %struct.complex, ptr %19257, i64 %19259
  %19261 = getelementptr inbounds %struct.complex, ptr %19260, i32 0, i32 0
  store float %19256, ptr %19261, align 4, !tbaa !11
  %19262 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19263 = load float, ptr %19262, align 4, !tbaa !14
  %19264 = load ptr, ptr %14, align 8, !tbaa !5
  %19265 = load i32, ptr %20, align 4, !tbaa !9
  %19266 = sext i32 %19265 to i64
  %19267 = getelementptr inbounds %struct.complex, ptr %19264, i64 %19266
  %19268 = getelementptr inbounds %struct.complex, ptr %19267, i32 0, i32 1
  store float %19263, ptr %19268, align 4, !tbaa !14
  %19269 = load i32, ptr %49, align 4, !tbaa !9
  %19270 = load i32, ptr %17, align 4, !tbaa !9
  %19271 = mul nsw i32 %19270, 5
  %19272 = add nsw i32 %19269, %19271
  store i32 %19272, ptr %20, align 4, !tbaa !9
  %19273 = load i32, ptr %49, align 4, !tbaa !9
  %19274 = load i32, ptr %17, align 4, !tbaa !9
  %19275 = mul nsw i32 %19274, 5
  %19276 = add nsw i32 %19273, %19275
  store i32 %19276, ptr %21, align 4, !tbaa !9
  %19277 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19278 = load float, ptr %19277, align 4, !tbaa !11
  %19279 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %19280 = load float, ptr %19279, align 4, !tbaa !11
  %19281 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19282 = load float, ptr %19281, align 4, !tbaa !14
  %19283 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %19284 = load float, ptr %19283, align 4, !tbaa !14
  %19285 = fmul float %19282, %19284
  %19286 = fneg float %19285
  %19287 = call float @llvm.fmuladd.f32(float %19278, float %19280, float %19286)
  %19288 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19287, ptr %19288, align 4, !tbaa !11
  %19289 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19290 = load float, ptr %19289, align 4, !tbaa !11
  %19291 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %19292 = load float, ptr %19291, align 4, !tbaa !14
  %19293 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19294 = load float, ptr %19293, align 4, !tbaa !14
  %19295 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %19296 = load float, ptr %19295, align 4, !tbaa !11
  %19297 = fmul float %19294, %19296
  %19298 = call float @llvm.fmuladd.f32(float %19290, float %19292, float %19297)
  %19299 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19298, ptr %19299, align 4, !tbaa !14
  %19300 = load ptr, ptr %14, align 8, !tbaa !5
  %19301 = load i32, ptr %21, align 4, !tbaa !9
  %19302 = sext i32 %19301 to i64
  %19303 = getelementptr inbounds %struct.complex, ptr %19300, i64 %19302
  %19304 = getelementptr inbounds %struct.complex, ptr %19303, i32 0, i32 0
  %19305 = load float, ptr %19304, align 4, !tbaa !11
  %19306 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19307 = load float, ptr %19306, align 4, !tbaa !11
  %19308 = fsub float %19305, %19307
  %19309 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19308, ptr %19309, align 4, !tbaa !11
  %19310 = load ptr, ptr %14, align 8, !tbaa !5
  %19311 = load i32, ptr %21, align 4, !tbaa !9
  %19312 = sext i32 %19311 to i64
  %19313 = getelementptr inbounds %struct.complex, ptr %19310, i64 %19312
  %19314 = getelementptr inbounds %struct.complex, ptr %19313, i32 0, i32 1
  %19315 = load float, ptr %19314, align 4, !tbaa !14
  %19316 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19317 = load float, ptr %19316, align 4, !tbaa !14
  %19318 = fsub float %19315, %19317
  %19319 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19318, ptr %19319, align 4, !tbaa !14
  %19320 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19321 = load float, ptr %19320, align 4, !tbaa !11
  %19322 = load ptr, ptr %14, align 8, !tbaa !5
  %19323 = load i32, ptr %20, align 4, !tbaa !9
  %19324 = sext i32 %19323 to i64
  %19325 = getelementptr inbounds %struct.complex, ptr %19322, i64 %19324
  %19326 = getelementptr inbounds %struct.complex, ptr %19325, i32 0, i32 0
  store float %19321, ptr %19326, align 4, !tbaa !11
  %19327 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19328 = load float, ptr %19327, align 4, !tbaa !14
  %19329 = load ptr, ptr %14, align 8, !tbaa !5
  %19330 = load i32, ptr %20, align 4, !tbaa !9
  %19331 = sext i32 %19330 to i64
  %19332 = getelementptr inbounds %struct.complex, ptr %19329, i64 %19331
  %19333 = getelementptr inbounds %struct.complex, ptr %19332, i32 0, i32 1
  store float %19328, ptr %19333, align 4, !tbaa !14
  %19334 = load i32, ptr %49, align 4, !tbaa !9
  %19335 = load i32, ptr %17, align 4, !tbaa !9
  %19336 = mul nsw i32 %19335, 6
  %19337 = add nsw i32 %19334, %19336
  store i32 %19337, ptr %20, align 4, !tbaa !9
  %19338 = load i32, ptr %49, align 4, !tbaa !9
  %19339 = load i32, ptr %17, align 4, !tbaa !9
  %19340 = mul nsw i32 %19339, 6
  %19341 = add nsw i32 %19338, %19340
  store i32 %19341, ptr %21, align 4, !tbaa !9
  %19342 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19343 = load float, ptr %19342, align 4, !tbaa !11
  %19344 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %19345 = load float, ptr %19344, align 4, !tbaa !11
  %19346 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19347 = load float, ptr %19346, align 4, !tbaa !14
  %19348 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %19349 = load float, ptr %19348, align 4, !tbaa !14
  %19350 = fmul float %19347, %19349
  %19351 = fneg float %19350
  %19352 = call float @llvm.fmuladd.f32(float %19343, float %19345, float %19351)
  %19353 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19352, ptr %19353, align 4, !tbaa !11
  %19354 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19355 = load float, ptr %19354, align 4, !tbaa !11
  %19356 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %19357 = load float, ptr %19356, align 4, !tbaa !14
  %19358 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19359 = load float, ptr %19358, align 4, !tbaa !14
  %19360 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %19361 = load float, ptr %19360, align 4, !tbaa !11
  %19362 = fmul float %19359, %19361
  %19363 = call float @llvm.fmuladd.f32(float %19355, float %19357, float %19362)
  %19364 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19363, ptr %19364, align 4, !tbaa !14
  %19365 = load ptr, ptr %14, align 8, !tbaa !5
  %19366 = load i32, ptr %21, align 4, !tbaa !9
  %19367 = sext i32 %19366 to i64
  %19368 = getelementptr inbounds %struct.complex, ptr %19365, i64 %19367
  %19369 = getelementptr inbounds %struct.complex, ptr %19368, i32 0, i32 0
  %19370 = load float, ptr %19369, align 4, !tbaa !11
  %19371 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19372 = load float, ptr %19371, align 4, !tbaa !11
  %19373 = fsub float %19370, %19372
  %19374 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19373, ptr %19374, align 4, !tbaa !11
  %19375 = load ptr, ptr %14, align 8, !tbaa !5
  %19376 = load i32, ptr %21, align 4, !tbaa !9
  %19377 = sext i32 %19376 to i64
  %19378 = getelementptr inbounds %struct.complex, ptr %19375, i64 %19377
  %19379 = getelementptr inbounds %struct.complex, ptr %19378, i32 0, i32 1
  %19380 = load float, ptr %19379, align 4, !tbaa !14
  %19381 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19382 = load float, ptr %19381, align 4, !tbaa !14
  %19383 = fsub float %19380, %19382
  %19384 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19383, ptr %19384, align 4, !tbaa !14
  %19385 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19386 = load float, ptr %19385, align 4, !tbaa !11
  %19387 = load ptr, ptr %14, align 8, !tbaa !5
  %19388 = load i32, ptr %20, align 4, !tbaa !9
  %19389 = sext i32 %19388 to i64
  %19390 = getelementptr inbounds %struct.complex, ptr %19387, i64 %19389
  %19391 = getelementptr inbounds %struct.complex, ptr %19390, i32 0, i32 0
  store float %19386, ptr %19391, align 4, !tbaa !11
  %19392 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19393 = load float, ptr %19392, align 4, !tbaa !14
  %19394 = load ptr, ptr %14, align 8, !tbaa !5
  %19395 = load i32, ptr %20, align 4, !tbaa !9
  %19396 = sext i32 %19395 to i64
  %19397 = getelementptr inbounds %struct.complex, ptr %19394, i64 %19396
  %19398 = getelementptr inbounds %struct.complex, ptr %19397, i32 0, i32 1
  store float %19393, ptr %19398, align 4, !tbaa !14
  %19399 = load i32, ptr %49, align 4, !tbaa !9
  %19400 = load i32, ptr %17, align 4, !tbaa !9
  %19401 = mul nsw i32 %19400, 7
  %19402 = add nsw i32 %19399, %19401
  store i32 %19402, ptr %20, align 4, !tbaa !9
  %19403 = load i32, ptr %49, align 4, !tbaa !9
  %19404 = load i32, ptr %17, align 4, !tbaa !9
  %19405 = mul nsw i32 %19404, 7
  %19406 = add nsw i32 %19403, %19405
  store i32 %19406, ptr %21, align 4, !tbaa !9
  %19407 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19408 = load float, ptr %19407, align 4, !tbaa !11
  %19409 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %19410 = load float, ptr %19409, align 4, !tbaa !11
  %19411 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19412 = load float, ptr %19411, align 4, !tbaa !14
  %19413 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %19414 = load float, ptr %19413, align 4, !tbaa !14
  %19415 = fmul float %19412, %19414
  %19416 = fneg float %19415
  %19417 = call float @llvm.fmuladd.f32(float %19408, float %19410, float %19416)
  %19418 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19417, ptr %19418, align 4, !tbaa !11
  %19419 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19420 = load float, ptr %19419, align 4, !tbaa !11
  %19421 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %19422 = load float, ptr %19421, align 4, !tbaa !14
  %19423 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19424 = load float, ptr %19423, align 4, !tbaa !14
  %19425 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %19426 = load float, ptr %19425, align 4, !tbaa !11
  %19427 = fmul float %19424, %19426
  %19428 = call float @llvm.fmuladd.f32(float %19420, float %19422, float %19427)
  %19429 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19428, ptr %19429, align 4, !tbaa !14
  %19430 = load ptr, ptr %14, align 8, !tbaa !5
  %19431 = load i32, ptr %21, align 4, !tbaa !9
  %19432 = sext i32 %19431 to i64
  %19433 = getelementptr inbounds %struct.complex, ptr %19430, i64 %19432
  %19434 = getelementptr inbounds %struct.complex, ptr %19433, i32 0, i32 0
  %19435 = load float, ptr %19434, align 4, !tbaa !11
  %19436 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19437 = load float, ptr %19436, align 4, !tbaa !11
  %19438 = fsub float %19435, %19437
  %19439 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19438, ptr %19439, align 4, !tbaa !11
  %19440 = load ptr, ptr %14, align 8, !tbaa !5
  %19441 = load i32, ptr %21, align 4, !tbaa !9
  %19442 = sext i32 %19441 to i64
  %19443 = getelementptr inbounds %struct.complex, ptr %19440, i64 %19442
  %19444 = getelementptr inbounds %struct.complex, ptr %19443, i32 0, i32 1
  %19445 = load float, ptr %19444, align 4, !tbaa !14
  %19446 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19447 = load float, ptr %19446, align 4, !tbaa !14
  %19448 = fsub float %19445, %19447
  %19449 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19448, ptr %19449, align 4, !tbaa !14
  %19450 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19451 = load float, ptr %19450, align 4, !tbaa !11
  %19452 = load ptr, ptr %14, align 8, !tbaa !5
  %19453 = load i32, ptr %20, align 4, !tbaa !9
  %19454 = sext i32 %19453 to i64
  %19455 = getelementptr inbounds %struct.complex, ptr %19452, i64 %19454
  %19456 = getelementptr inbounds %struct.complex, ptr %19455, i32 0, i32 0
  store float %19451, ptr %19456, align 4, !tbaa !11
  %19457 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19458 = load float, ptr %19457, align 4, !tbaa !14
  %19459 = load ptr, ptr %14, align 8, !tbaa !5
  %19460 = load i32, ptr %20, align 4, !tbaa !9
  %19461 = sext i32 %19460 to i64
  %19462 = getelementptr inbounds %struct.complex, ptr %19459, i64 %19461
  %19463 = getelementptr inbounds %struct.complex, ptr %19462, i32 0, i32 1
  store float %19458, ptr %19463, align 4, !tbaa !14
  %19464 = load i32, ptr %49, align 4, !tbaa !9
  %19465 = load i32, ptr %17, align 4, !tbaa !9
  %19466 = shl i32 %19465, 3
  %19467 = add nsw i32 %19464, %19466
  store i32 %19467, ptr %20, align 4, !tbaa !9
  %19468 = load i32, ptr %49, align 4, !tbaa !9
  %19469 = load i32, ptr %17, align 4, !tbaa !9
  %19470 = shl i32 %19469, 3
  %19471 = add nsw i32 %19468, %19470
  store i32 %19471, ptr %21, align 4, !tbaa !9
  %19472 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19473 = load float, ptr %19472, align 4, !tbaa !11
  %19474 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %19475 = load float, ptr %19474, align 4, !tbaa !11
  %19476 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19477 = load float, ptr %19476, align 4, !tbaa !14
  %19478 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %19479 = load float, ptr %19478, align 4, !tbaa !14
  %19480 = fmul float %19477, %19479
  %19481 = fneg float %19480
  %19482 = call float @llvm.fmuladd.f32(float %19473, float %19475, float %19481)
  %19483 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19482, ptr %19483, align 4, !tbaa !11
  %19484 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19485 = load float, ptr %19484, align 4, !tbaa !11
  %19486 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %19487 = load float, ptr %19486, align 4, !tbaa !14
  %19488 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19489 = load float, ptr %19488, align 4, !tbaa !14
  %19490 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %19491 = load float, ptr %19490, align 4, !tbaa !11
  %19492 = fmul float %19489, %19491
  %19493 = call float @llvm.fmuladd.f32(float %19485, float %19487, float %19492)
  %19494 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19493, ptr %19494, align 4, !tbaa !14
  %19495 = load ptr, ptr %14, align 8, !tbaa !5
  %19496 = load i32, ptr %21, align 4, !tbaa !9
  %19497 = sext i32 %19496 to i64
  %19498 = getelementptr inbounds %struct.complex, ptr %19495, i64 %19497
  %19499 = getelementptr inbounds %struct.complex, ptr %19498, i32 0, i32 0
  %19500 = load float, ptr %19499, align 4, !tbaa !11
  %19501 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19502 = load float, ptr %19501, align 4, !tbaa !11
  %19503 = fsub float %19500, %19502
  %19504 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19503, ptr %19504, align 4, !tbaa !11
  %19505 = load ptr, ptr %14, align 8, !tbaa !5
  %19506 = load i32, ptr %21, align 4, !tbaa !9
  %19507 = sext i32 %19506 to i64
  %19508 = getelementptr inbounds %struct.complex, ptr %19505, i64 %19507
  %19509 = getelementptr inbounds %struct.complex, ptr %19508, i32 0, i32 1
  %19510 = load float, ptr %19509, align 4, !tbaa !14
  %19511 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19512 = load float, ptr %19511, align 4, !tbaa !14
  %19513 = fsub float %19510, %19512
  %19514 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19513, ptr %19514, align 4, !tbaa !14
  %19515 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19516 = load float, ptr %19515, align 4, !tbaa !11
  %19517 = load ptr, ptr %14, align 8, !tbaa !5
  %19518 = load i32, ptr %20, align 4, !tbaa !9
  %19519 = sext i32 %19518 to i64
  %19520 = getelementptr inbounds %struct.complex, ptr %19517, i64 %19519
  %19521 = getelementptr inbounds %struct.complex, ptr %19520, i32 0, i32 0
  store float %19516, ptr %19521, align 4, !tbaa !11
  %19522 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19523 = load float, ptr %19522, align 4, !tbaa !14
  %19524 = load ptr, ptr %14, align 8, !tbaa !5
  %19525 = load i32, ptr %20, align 4, !tbaa !9
  %19526 = sext i32 %19525 to i64
  %19527 = getelementptr inbounds %struct.complex, ptr %19524, i64 %19526
  %19528 = getelementptr inbounds %struct.complex, ptr %19527, i32 0, i32 1
  store float %19523, ptr %19528, align 4, !tbaa !14
  %19529 = load i32, ptr %49, align 4, !tbaa !9
  %19530 = load i32, ptr %17, align 4, !tbaa !9
  %19531 = mul nsw i32 %19530, 9
  %19532 = add nsw i32 %19529, %19531
  store i32 %19532, ptr %20, align 4, !tbaa !9
  %19533 = load i32, ptr %49, align 4, !tbaa !9
  %19534 = load i32, ptr %17, align 4, !tbaa !9
  %19535 = mul nsw i32 %19534, 9
  %19536 = add nsw i32 %19533, %19535
  store i32 %19536, ptr %21, align 4, !tbaa !9
  %19537 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19538 = load float, ptr %19537, align 4, !tbaa !11
  %19539 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %19540 = load float, ptr %19539, align 4, !tbaa !11
  %19541 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19542 = load float, ptr %19541, align 4, !tbaa !14
  %19543 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %19544 = load float, ptr %19543, align 4, !tbaa !14
  %19545 = fmul float %19542, %19544
  %19546 = fneg float %19545
  %19547 = call float @llvm.fmuladd.f32(float %19538, float %19540, float %19546)
  %19548 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19547, ptr %19548, align 4, !tbaa !11
  %19549 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19550 = load float, ptr %19549, align 4, !tbaa !11
  %19551 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %19552 = load float, ptr %19551, align 4, !tbaa !14
  %19553 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19554 = load float, ptr %19553, align 4, !tbaa !14
  %19555 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %19556 = load float, ptr %19555, align 4, !tbaa !11
  %19557 = fmul float %19554, %19556
  %19558 = call float @llvm.fmuladd.f32(float %19550, float %19552, float %19557)
  %19559 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19558, ptr %19559, align 4, !tbaa !14
  %19560 = load ptr, ptr %14, align 8, !tbaa !5
  %19561 = load i32, ptr %21, align 4, !tbaa !9
  %19562 = sext i32 %19561 to i64
  %19563 = getelementptr inbounds %struct.complex, ptr %19560, i64 %19562
  %19564 = getelementptr inbounds %struct.complex, ptr %19563, i32 0, i32 0
  %19565 = load float, ptr %19564, align 4, !tbaa !11
  %19566 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19567 = load float, ptr %19566, align 4, !tbaa !11
  %19568 = fsub float %19565, %19567
  %19569 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19568, ptr %19569, align 4, !tbaa !11
  %19570 = load ptr, ptr %14, align 8, !tbaa !5
  %19571 = load i32, ptr %21, align 4, !tbaa !9
  %19572 = sext i32 %19571 to i64
  %19573 = getelementptr inbounds %struct.complex, ptr %19570, i64 %19572
  %19574 = getelementptr inbounds %struct.complex, ptr %19573, i32 0, i32 1
  %19575 = load float, ptr %19574, align 4, !tbaa !14
  %19576 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19577 = load float, ptr %19576, align 4, !tbaa !14
  %19578 = fsub float %19575, %19577
  %19579 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19578, ptr %19579, align 4, !tbaa !14
  %19580 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19581 = load float, ptr %19580, align 4, !tbaa !11
  %19582 = load ptr, ptr %14, align 8, !tbaa !5
  %19583 = load i32, ptr %20, align 4, !tbaa !9
  %19584 = sext i32 %19583 to i64
  %19585 = getelementptr inbounds %struct.complex, ptr %19582, i64 %19584
  %19586 = getelementptr inbounds %struct.complex, ptr %19585, i32 0, i32 0
  store float %19581, ptr %19586, align 4, !tbaa !11
  %19587 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19588 = load float, ptr %19587, align 4, !tbaa !14
  %19589 = load ptr, ptr %14, align 8, !tbaa !5
  %19590 = load i32, ptr %20, align 4, !tbaa !9
  %19591 = sext i32 %19590 to i64
  %19592 = getelementptr inbounds %struct.complex, ptr %19589, i64 %19591
  %19593 = getelementptr inbounds %struct.complex, ptr %19592, i32 0, i32 1
  store float %19588, ptr %19593, align 4, !tbaa !14
  %19594 = load i32, ptr %49, align 4, !tbaa !9
  %19595 = load i32, ptr %17, align 4, !tbaa !9
  %19596 = mul nsw i32 %19595, 10
  %19597 = add nsw i32 %19594, %19596
  store i32 %19597, ptr %20, align 4, !tbaa !9
  %19598 = load i32, ptr %49, align 4, !tbaa !9
  %19599 = load i32, ptr %17, align 4, !tbaa !9
  %19600 = mul nsw i32 %19599, 10
  %19601 = add nsw i32 %19598, %19600
  store i32 %19601, ptr %21, align 4, !tbaa !9
  %19602 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19603 = load float, ptr %19602, align 4, !tbaa !11
  %19604 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %19605 = load float, ptr %19604, align 4, !tbaa !11
  %19606 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19607 = load float, ptr %19606, align 4, !tbaa !14
  %19608 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %19609 = load float, ptr %19608, align 4, !tbaa !14
  %19610 = fmul float %19607, %19609
  %19611 = fneg float %19610
  %19612 = call float @llvm.fmuladd.f32(float %19603, float %19605, float %19611)
  %19613 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %19612, ptr %19613, align 4, !tbaa !11
  %19614 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %19615 = load float, ptr %19614, align 4, !tbaa !11
  %19616 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %19617 = load float, ptr %19616, align 4, !tbaa !14
  %19618 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %19619 = load float, ptr %19618, align 4, !tbaa !14
  %19620 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %19621 = load float, ptr %19620, align 4, !tbaa !11
  %19622 = fmul float %19619, %19621
  %19623 = call float @llvm.fmuladd.f32(float %19615, float %19617, float %19622)
  %19624 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %19623, ptr %19624, align 4, !tbaa !14
  %19625 = load ptr, ptr %14, align 8, !tbaa !5
  %19626 = load i32, ptr %21, align 4, !tbaa !9
  %19627 = sext i32 %19626 to i64
  %19628 = getelementptr inbounds %struct.complex, ptr %19625, i64 %19627
  %19629 = getelementptr inbounds %struct.complex, ptr %19628, i32 0, i32 0
  %19630 = load float, ptr %19629, align 4, !tbaa !11
  %19631 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %19632 = load float, ptr %19631, align 4, !tbaa !11
  %19633 = fsub float %19630, %19632
  %19634 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  store float %19633, ptr %19634, align 4, !tbaa !11
  %19635 = load ptr, ptr %14, align 8, !tbaa !5
  %19636 = load i32, ptr %21, align 4, !tbaa !9
  %19637 = sext i32 %19636 to i64
  %19638 = getelementptr inbounds %struct.complex, ptr %19635, i64 %19637
  %19639 = getelementptr inbounds %struct.complex, ptr %19638, i32 0, i32 1
  %19640 = load float, ptr %19639, align 4, !tbaa !14
  %19641 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %19642 = load float, ptr %19641, align 4, !tbaa !14
  %19643 = fsub float %19640, %19642
  %19644 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  store float %19643, ptr %19644, align 4, !tbaa !14
  %19645 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 0
  %19646 = load float, ptr %19645, align 4, !tbaa !11
  %19647 = load ptr, ptr %14, align 8, !tbaa !5
  %19648 = load i32, ptr %20, align 4, !tbaa !9
  %19649 = sext i32 %19648 to i64
  %19650 = getelementptr inbounds %struct.complex, ptr %19647, i64 %19649
  %19651 = getelementptr inbounds %struct.complex, ptr %19650, i32 0, i32 0
  store float %19646, ptr %19651, align 4, !tbaa !11
  %19652 = getelementptr inbounds %struct.complex, ptr %30, i32 0, i32 1
  %19653 = load float, ptr %19652, align 4, !tbaa !14
  %19654 = load ptr, ptr %14, align 8, !tbaa !5
  %19655 = load i32, ptr %20, align 4, !tbaa !9
  %19656 = sext i32 %19655 to i64
  %19657 = getelementptr inbounds %struct.complex, ptr %19654, i64 %19656
  %19658 = getelementptr inbounds %struct.complex, ptr %19657, i32 0, i32 1
  store float %19653, ptr %19658, align 4, !tbaa !14
  br label %19659

19659:                                            ; preds = %18467
  %19660 = load i32, ptr %49, align 4, !tbaa !9
  %19661 = add nsw i32 %19660, 1
  store i32 %19661, ptr %49, align 4, !tbaa !9
  br label %18463, !llvm.loop !35

19662:                                            ; preds = %18463
  br label %19663

19663:                                            ; preds = %19662, %17939, %16388, %15009, %13802, %12767, %11904, %11213, %10694, %10347, %10180, %10166, %8370, %6753, %5315, %4056, %2976, %2075, %1353, %810, %446, %277
  store i32 1, ptr %71, align 4
  br label %19664

19664:                                            ; preds = %19663, %259
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  ret void
}

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

declare i32 @lsame_(ptr noundef, ptr noundef) #2

declare void @clarf_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden <2 x float> @Cf(ptr noundef) #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden ptr @_pCf(ptr noundef) #5

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

attributes #0 = { nounwind uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { inlinehint nounwind uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"", !13, i64 0, !13, i64 4}
!13 = !{!"float", !7, i64 0}
!14 = !{!12, !13, i64 4}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = distinct !{!18, !16}
!19 = distinct !{!19, !16}
!20 = distinct !{!20, !16}
!21 = distinct !{!21, !16}
!22 = distinct !{!22, !16}
!23 = distinct !{!23, !16}
!24 = distinct !{!24, !16}
!25 = distinct !{!25, !16}
!26 = distinct !{!26, !16}
!27 = distinct !{!27, !16}
!28 = distinct !{!28, !16}
!29 = distinct !{!29, !16}
!30 = distinct !{!30, !16}
!31 = distinct !{!31, !16}
!32 = distinct !{!32, !16}
!33 = distinct !{!33, !16}
!34 = distinct !{!34, !16}
!35 = distinct !{!35, !16}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.complex = type { float, float }

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4

; Function Attrs: nounwind uwtable
define dso_local void @clarfx_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) local_unnamed_addr #0 {
  %9 = alloca %struct.complex, align 8
  %10 = alloca %struct.complex, align 8
  %11 = alloca %struct.complex, align 4
  %12 = alloca %struct.complex, align 8
  %13 = alloca %struct.complex, align 8
  %14 = alloca %struct.complex, align 8
  %15 = alloca %struct.complex, align 8
  %16 = alloca %struct.complex, align 8
  %17 = alloca %struct.complex, align 8
  %18 = alloca %struct.complex, align 8
  %19 = alloca %struct.complex, align 8
  %20 = alloca %struct.complex, align 8
  %21 = alloca %struct.complex, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %22 = load i32, ptr %6, align 4, !tbaa !5
  %narrow = xor i32 %22, -1
  %23 = sext i32 %narrow to i64
  %24 = getelementptr inbounds %struct.complex, ptr %5, i64 %23
  %25 = load float, ptr %4, align 4, !tbaa !9
  %26 = fcmp oeq float %25, 0.000000e+00
  br i1 %26, label %27, label %31

27:                                               ; preds = %8
  %28 = getelementptr inbounds i8, ptr %4, i64 4
  %29 = load float, ptr %28, align 4, !tbaa !12
  %30 = fcmp oeq float %29, 0.000000e+00
  br i1 %30, label %.loopexit, label %31

31:                                               ; preds = %27, %8
  %32 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #7
  %.not = icmp eq i32 %32, 0
  br i1 %.not, label %2238, label %33

33:                                               ; preds = %31
  %34 = load i32, ptr %1, align 4, !tbaa !5
  switch i32 %34, label %35 [
    i32 1, label %36
    i32 2, label %82
    i32 3, label %169
    i32 4, label %297
    i32 5, label %456
    i32 6, label %659
    i32 7, label %893
    i32 8, label %1171
    i32 9, label %1480
    i32 10, label %1833
  ]

35:                                               ; preds = %33
  tail call void @clarf_(ptr noundef %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef %3, ptr noundef nonnull @c__1, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %7) #7
  br label %.loopexit

36:                                               ; preds = %33
  %37 = load float, ptr %4, align 4, !tbaa !9
  %38 = load float, ptr %3, align 4, !tbaa !9
  %39 = getelementptr inbounds i8, ptr %4, i64 4
  %40 = load float, ptr %39, align 4, !tbaa !12
  %41 = getelementptr inbounds i8, ptr %3, i64 4
  %42 = load float, ptr %41, align 4, !tbaa !12
  %43 = tail call <2 x float> @Cf(ptr noundef nonnull %3)
  %.sroa.0163.0.vec.extract = extractelement <2 x float> %43, i64 0
  %.sroa.0163.4.vec.extract = extractelement <2 x float> %43, i64 1
  %44 = fneg float %.sroa.0163.4.vec.extract
  %45 = call ptr @_pCf(ptr noundef nonnull %11)
  %46 = getelementptr inbounds i8, ptr %45, i64 4
  store float %.sroa.0163.0.vec.extract, ptr %45, align 4
  store float %44, ptr %46, align 4
  %47 = load i32, ptr %2, align 4, !tbaa !5
  %.not44654594 = icmp slt i32 %47, 1
  br i1 %.not44654594, label %.loopexit, label %.lr.ph4596

.lr.ph4596:                                       ; preds = %36
  %48 = fneg float %40
  %49 = fmul float %42, %48
  %50 = tail call float @llvm.fmuladd.f32(float %37, float %38, float %49)
  %51 = getelementptr inbounds i8, ptr %11, i64 4
  %52 = load float, ptr %51, align 4, !tbaa !12
  %53 = fmul float %38, %40
  %54 = tail call float @llvm.fmuladd.f32(float %37, float %42, float %53)
  %55 = load float, ptr %11, align 4, !tbaa !9
  %56 = fmul float %54, %55
  %57 = call float @llvm.fmuladd.f32(float %50, float %52, float %56)
  %58 = fsub float 0.000000e+00, %57
  %59 = fneg float %54
  %60 = fmul float %52, %59
  %61 = call float @llvm.fmuladd.f32(float %50, float %55, float %60)
  %62 = fsub float 1.000000e+00, %61
  %63 = fneg float %58
  %64 = sext i32 %22 to i64
  %65 = insertelement <2 x float> poison, float %62, i64 0
  %66 = shufflevector <2 x float> %65, <2 x float> poison, <2 x i32> zeroinitializer
  %67 = insertelement <2 x float> poison, float %58, i64 0
  %68 = insertelement <2 x float> %67, float %63, i64 1
  %69 = zext nneg i32 %47 to i64
  %xtraiter = and i64 %69, 1
  %70 = icmp eq i32 %47, 1
  br i1 %70, label %.loopexit.loopexit6850.unr-lcssa, label %.lr.ph4596.new

.lr.ph4596.new:                                   ; preds = %.lr.ph4596
  %unroll_iter = and i64 %69, 2147483646
  %invariant.gep6862 = getelementptr i8, ptr %24, i64 8
  %invariant.gep6864 = getelementptr i8, ptr %24, i64 8
  br label %71

71:                                               ; preds = %71, %.lr.ph4596.new
  %indvars.iv4852 = phi i64 [ 1, %.lr.ph4596.new ], [ %indvars.iv.next4853.1, %71 ]
  %niter = phi i64 [ 0, %.lr.ph4596.new ], [ %niter.next.1, %71 ]
  %72 = mul nsw i64 %indvars.iv4852, %64
  %gep6863 = getelementptr %struct.complex, ptr %invariant.gep6862, i64 %72
  %73 = load <2 x float>, ptr %gep6863, align 4, !tbaa !13
  %74 = fmul <2 x float> %73, %68
  %75 = shufflevector <2 x float> %74, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %76 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %66, <2 x float> %73, <2 x float> %75)
  store <2 x float> %76, ptr %gep6863, align 4, !tbaa !13
  %indvars.iv.next4853 = add nuw nsw i64 %indvars.iv4852, 1
  %77 = mul nsw i64 %indvars.iv.next4853, %64
  %gep6865 = getelementptr %struct.complex, ptr %invariant.gep6864, i64 %77
  %78 = load <2 x float>, ptr %gep6865, align 4, !tbaa !13
  %79 = fmul <2 x float> %78, %68
  %80 = shufflevector <2 x float> %79, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %81 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %66, <2 x float> %78, <2 x float> %80)
  store <2 x float> %81, ptr %gep6865, align 4, !tbaa !13
  %indvars.iv.next4853.1 = add nuw nsw i64 %indvars.iv4852, 2
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %.loopexit.loopexit6850.unr-lcssa, label %71, !llvm.loop !14

82:                                               ; preds = %33
  %83 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.0162.0.vec.extract = extractelement <2 x float> %83, i64 0
  %.sroa.0162.4.vec.extract = extractelement <2 x float> %83, i64 1
  %84 = fneg float %.sroa.0162.4.vec.extract
  %85 = call ptr @_pCf(ptr noundef nonnull %9)
  %86 = getelementptr inbounds i8, ptr %85, i64 4
  store float %.sroa.0162.0.vec.extract, ptr %85, align 4
  store float %84, ptr %86, align 4
  %87 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %87, ptr %12, align 8, !tbaa !13
  %88 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.0161.0.vec.extract = extractelement <2 x float> %88, i64 0
  %.sroa.0161.4.vec.extract = extractelement <2 x float> %88, i64 1
  %89 = fneg float %.sroa.0161.4.vec.extract
  %90 = call ptr @_pCf(ptr noundef nonnull %10)
  %91 = getelementptr inbounds i8, ptr %90, i64 4
  store float %.sroa.0161.0.vec.extract, ptr %90, align 4
  store float %89, ptr %91, align 4
  %92 = load float, ptr %4, align 4, !tbaa !9
  %93 = getelementptr inbounds i8, ptr %4, i64 4
  %94 = load float, ptr %93, align 4, !tbaa !12
  %95 = fneg float %94
  %96 = getelementptr inbounds i8, ptr %3, i64 8
  %97 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %98 = shufflevector <2 x float> %97, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %99 = insertelement <2 x float> poison, float %94, i64 0
  %100 = insertelement <2 x float> %99, float %95, i64 1
  %101 = fmul <2 x float> %97, %100
  %102 = insertelement <2 x float> poison, float %92, i64 0
  %103 = shufflevector <2 x float> %102, <2 x float> poison, <2 x i32> zeroinitializer
  %104 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %103, <2 x float> %98, <2 x float> %101)
  %105 = shufflevector <2 x float> %104, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %105, ptr %9, align 8, !tbaa !13
  %106 = call <2 x float> @Cf(ptr noundef nonnull %96)
  %.sroa.0160.0.vec.extract = extractelement <2 x float> %106, i64 0
  %.sroa.0160.4.vec.extract = extractelement <2 x float> %106, i64 1
  %107 = fneg float %.sroa.0160.4.vec.extract
  %108 = call ptr @_pCf(ptr noundef nonnull %9)
  %109 = getelementptr inbounds i8, ptr %108, i64 4
  store float %.sroa.0160.0.vec.extract, ptr %108, align 4
  store float %107, ptr %109, align 4
  %110 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %110, ptr %13, align 8, !tbaa !13
  %111 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.0159.0.vec.extract = extractelement <2 x float> %111, i64 0
  %.sroa.0159.4.vec.extract = extractelement <2 x float> %111, i64 1
  %112 = fneg float %.sroa.0159.4.vec.extract
  %113 = call ptr @_pCf(ptr noundef nonnull %10)
  %114 = getelementptr inbounds i8, ptr %113, i64 4
  store float %.sroa.0159.0.vec.extract, ptr %113, align 4
  store float %112, ptr %114, align 4
  %115 = load float, ptr %4, align 4, !tbaa !9
  %116 = load float, ptr %93, align 4, !tbaa !12
  %117 = fneg float %116
  %118 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %119 = shufflevector <2 x float> %118, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %120 = insertelement <2 x float> poison, float %116, i64 0
  %121 = insertelement <2 x float> %120, float %117, i64 1
  %122 = fmul <2 x float> %118, %121
  %123 = insertelement <2 x float> poison, float %115, i64 0
  %124 = shufflevector <2 x float> %123, <2 x float> poison, <2 x i32> zeroinitializer
  %125 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %124, <2 x float> %119, <2 x float> %122)
  %126 = load i32, ptr %2, align 4, !tbaa !5
  %.not44644587 = icmp slt i32 %126, 1
  br i1 %.not44644587, label %.loopexit, label %.lr.ph4589

.lr.ph4589:                                       ; preds = %82
  %127 = getelementptr inbounds i8, ptr %13, i64 4
  %128 = getelementptr inbounds i8, ptr %12, i64 4
  %129 = load float, ptr %12, align 8, !tbaa !9
  %130 = load float, ptr %128, align 4, !tbaa !12
  %131 = load float, ptr %13, align 8, !tbaa !9
  %132 = load float, ptr %127, align 4, !tbaa !12
  %133 = insertelement <2 x float> poison, float %130, i64 0
  %134 = insertelement <2 x float> %133, float %132, i64 1
  %135 = fneg <2 x float> %134
  %136 = sext i32 %22 to i64
  %137 = add nuw i32 %126, 1
  %wide.trip.count4850 = zext i32 %137 to i64
  %138 = insertelement <2 x float> poison, float %129, i64 0
  %139 = insertelement <2 x float> %138, float %131, i64 1
  %140 = insertelement <2 x float> poison, float %131, i64 0
  %141 = insertelement <2 x float> %140, float %129, i64 1
  %142 = insertelement <2 x float> poison, float %132, i64 0
  %143 = insertelement <2 x float> %142, float %130, i64 1
  %invariant.gep6860 = getelementptr i8, ptr %24, i64 8
  %144 = shufflevector <2 x float> %104, <2 x float> %125, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %145 = shufflevector <2 x float> %104, <2 x float> %125, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %146

146:                                              ; preds = %.lr.ph4589, %146
  %indvars.iv4847 = phi i64 [ 1, %.lr.ph4589 ], [ %indvars.iv.next4848, %146 ]
  %147 = mul nsw i64 %indvars.iv4847, %136
  %gep6861 = getelementptr %struct.complex, ptr %invariant.gep6860, i64 %147
  %148 = load <4 x float>, ptr %gep6861, align 4, !tbaa !13
  %149 = shufflevector <4 x float> %148, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %150 = fmul <2 x float> %149, %135
  %151 = shufflevector <4 x float> %148, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %152 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %139, <2 x float> %151, <2 x float> %150)
  %153 = shufflevector <4 x float> %148, <4 x float> poison, <2 x i32> <i32 2, i32 0>
  %154 = fmul <2 x float> %153, %143
  %155 = shufflevector <4 x float> %148, <4 x float> poison, <2 x i32> <i32 3, i32 1>
  %156 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %141, <2 x float> %155, <2 x float> %154)
  %shift = shufflevector <2 x float> %152, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %157 = fadd <2 x float> %152, %shift
  %shift6813 = shufflevector <2 x float> %156, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %158 = fadd <2 x float> %156, %shift6813
  %159 = shufflevector <2 x float> %158, <2 x float> poison, <4 x i32> <i32 0, i32 poison, i32 poison, i32 poison>
  %160 = extractelement <2 x float> %158, i64 0
  %161 = fneg float %160
  %162 = insertelement <4 x float> poison, float %161, i64 0
  %163 = shufflevector <4 x float> %162, <4 x float> %159, <4 x i32> <i32 0, i32 4, i32 poison, i32 poison>
  %164 = shufflevector <4 x float> %163, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %165 = fmul <4 x float> %144, %164
  %166 = shufflevector <2 x float> %157, <2 x float> poison, <4 x i32> zeroinitializer
  %167 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %166, <4 x float> %145, <4 x float> %165)
  %168 = fsub <4 x float> %148, %167
  store <4 x float> %168, ptr %gep6861, align 4, !tbaa !13
  %indvars.iv.next4848 = add nuw nsw i64 %indvars.iv4847, 1
  %exitcond4851.not = icmp eq i64 %indvars.iv.next4848, %wide.trip.count4850
  br i1 %exitcond4851.not, label %.loopexit, label %146, !llvm.loop !16

169:                                              ; preds = %33
  %170 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.0158.0.vec.extract = extractelement <2 x float> %170, i64 0
  %.sroa.0158.4.vec.extract = extractelement <2 x float> %170, i64 1
  %171 = fneg float %.sroa.0158.4.vec.extract
  %172 = call ptr @_pCf(ptr noundef nonnull %9)
  %173 = getelementptr inbounds i8, ptr %172, i64 4
  store float %.sroa.0158.0.vec.extract, ptr %172, align 4
  store float %171, ptr %173, align 4
  %174 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %174, ptr %12, align 8, !tbaa !13
  %175 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.0157.0.vec.extract = extractelement <2 x float> %175, i64 0
  %.sroa.0157.4.vec.extract = extractelement <2 x float> %175, i64 1
  %176 = fneg float %.sroa.0157.4.vec.extract
  %177 = call ptr @_pCf(ptr noundef nonnull %10)
  %178 = getelementptr inbounds i8, ptr %177, i64 4
  store float %.sroa.0157.0.vec.extract, ptr %177, align 4
  store float %176, ptr %178, align 4
  %179 = load float, ptr %4, align 4, !tbaa !9
  %180 = getelementptr inbounds i8, ptr %4, i64 4
  %181 = load float, ptr %180, align 4, !tbaa !12
  %182 = fneg float %181
  %183 = getelementptr inbounds i8, ptr %3, i64 8
  %184 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %185 = shufflevector <2 x float> %184, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %186 = insertelement <2 x float> poison, float %181, i64 0
  %187 = insertelement <2 x float> %186, float %182, i64 1
  %188 = fmul <2 x float> %184, %187
  %189 = insertelement <2 x float> poison, float %179, i64 0
  %190 = shufflevector <2 x float> %189, <2 x float> poison, <2 x i32> zeroinitializer
  %191 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %190, <2 x float> %185, <2 x float> %188)
  %192 = shufflevector <2 x float> %191, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %192, ptr %9, align 8, !tbaa !13
  %193 = call <2 x float> @Cf(ptr noundef nonnull %183)
  %.sroa.0156.0.vec.extract = extractelement <2 x float> %193, i64 0
  %.sroa.0156.4.vec.extract = extractelement <2 x float> %193, i64 1
  %194 = fneg float %.sroa.0156.4.vec.extract
  %195 = call ptr @_pCf(ptr noundef nonnull %9)
  %196 = getelementptr inbounds i8, ptr %195, i64 4
  store float %.sroa.0156.0.vec.extract, ptr %195, align 4
  store float %194, ptr %196, align 4
  %197 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %197, ptr %13, align 8, !tbaa !13
  %198 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.0155.0.vec.extract = extractelement <2 x float> %198, i64 0
  %.sroa.0155.4.vec.extract = extractelement <2 x float> %198, i64 1
  %199 = fneg float %.sroa.0155.4.vec.extract
  %200 = call ptr @_pCf(ptr noundef nonnull %10)
  %201 = getelementptr inbounds i8, ptr %200, i64 4
  store float %.sroa.0155.0.vec.extract, ptr %200, align 4
  store float %199, ptr %201, align 4
  %202 = load float, ptr %4, align 4, !tbaa !9
  %203 = load float, ptr %180, align 4, !tbaa !12
  %204 = fneg float %203
  %205 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %206 = shufflevector <2 x float> %205, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %207 = insertelement <2 x float> poison, float %203, i64 0
  %208 = insertelement <2 x float> %207, float %204, i64 1
  %209 = fmul <2 x float> %205, %208
  %210 = insertelement <2 x float> poison, float %202, i64 0
  %211 = shufflevector <2 x float> %210, <2 x float> poison, <2 x i32> zeroinitializer
  %212 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %211, <2 x float> %206, <2 x float> %209)
  %213 = shufflevector <2 x float> %212, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %213, ptr %9, align 8, !tbaa !13
  %214 = getelementptr inbounds i8, ptr %3, i64 16
  %215 = call <2 x float> @Cf(ptr noundef nonnull %214)
  %.sroa.0154.0.vec.extract = extractelement <2 x float> %215, i64 0
  %.sroa.0154.4.vec.extract = extractelement <2 x float> %215, i64 1
  %216 = fneg float %.sroa.0154.4.vec.extract
  %217 = call ptr @_pCf(ptr noundef nonnull %9)
  %218 = getelementptr inbounds i8, ptr %217, i64 4
  store float %.sroa.0154.0.vec.extract, ptr %217, align 4
  store float %216, ptr %218, align 4
  %219 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %219, ptr %14, align 8, !tbaa !13
  %220 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.0153.0.vec.extract = extractelement <2 x float> %220, i64 0
  %.sroa.0153.4.vec.extract = extractelement <2 x float> %220, i64 1
  %221 = fneg float %.sroa.0153.4.vec.extract
  %222 = call ptr @_pCf(ptr noundef nonnull %10)
  %223 = getelementptr inbounds i8, ptr %222, i64 4
  store float %.sroa.0153.0.vec.extract, ptr %222, align 4
  store float %221, ptr %223, align 4
  %224 = load float, ptr %4, align 4, !tbaa !9
  %225 = load float, ptr %180, align 4, !tbaa !12
  %226 = fneg float %225
  %227 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %228 = insertelement <2 x float> poison, float %225, i64 0
  %229 = insertelement <2 x float> %228, float %226, i64 1
  %230 = fmul <2 x float> %227, %229
  %231 = shufflevector <2 x float> %230, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %232 = insertelement <2 x float> poison, float %224, i64 0
  %233 = shufflevector <2 x float> %232, <2 x float> poison, <2 x i32> zeroinitializer
  %234 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %233, <2 x float> %227, <2 x float> %231)
  %235 = load i32, ptr %2, align 4, !tbaa !5
  %.not44634576 = icmp slt i32 %235, 1
  br i1 %.not44634576, label %.loopexit, label %.lr.ph4578

.lr.ph4578:                                       ; preds = %169
  %236 = getelementptr inbounds i8, ptr %14, i64 4
  %237 = getelementptr inbounds i8, ptr %13, i64 4
  %238 = getelementptr inbounds i8, ptr %12, i64 4
  %239 = load float, ptr %12, align 8, !tbaa !9
  %240 = load float, ptr %238, align 4, !tbaa !12
  %241 = load float, ptr %13, align 8, !tbaa !9
  %242 = load float, ptr %237, align 4, !tbaa !12
  %243 = insertelement <2 x float> poison, float %240, i64 0
  %244 = insertelement <2 x float> %243, float %242, i64 1
  %245 = fneg <2 x float> %244
  %246 = load float, ptr %14, align 8, !tbaa !9
  %247 = load float, ptr %236, align 4, !tbaa !12
  %248 = fneg float %247
  %249 = sext i32 %22 to i64
  %250 = add nuw i32 %235, 1
  %wide.trip.count4845 = zext i32 %250 to i64
  %251 = insertelement <2 x float> poison, float %239, i64 0
  %252 = insertelement <2 x float> %251, float %241, i64 1
  %253 = shufflevector <2 x float> %191, <2 x float> %212, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %254 = shufflevector <2 x float> %191, <2 x float> %212, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %255

255:                                              ; preds = %.lr.ph4578, %255
  %indvars.iv4842 = phi i64 [ 1, %.lr.ph4578 ], [ %indvars.iv.next4843, %255 ]
  %256 = mul nsw i64 %indvars.iv4842, %249
  %257 = getelementptr %struct.complex, ptr %24, i64 %256
  %258 = getelementptr i8, ptr %257, i64 8
  %259 = getelementptr i8, ptr %257, i64 24
  %260 = load <4 x float>, ptr %258, align 4, !tbaa !13
  %261 = shufflevector <4 x float> %260, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %262 = fmul <2 x float> %261, %245
  %263 = shufflevector <4 x float> %260, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %264 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %252, <2 x float> %263, <2 x float> %262)
  %265 = fmul <2 x float> %263, %244
  %266 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %252, <2 x float> %261, <2 x float> %265)
  %shift6814 = shufflevector <2 x float> %264, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %267 = fadd <2 x float> %264, %shift6814
  %268 = extractelement <2 x float> %267, i64 0
  %shift6815 = shufflevector <2 x float> %266, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %269 = fadd <2 x float> %266, %shift6815
  %270 = extractelement <2 x float> %269, i64 0
  %271 = load <2 x float>, ptr %259, align 4, !tbaa !13
  %272 = extractelement <2 x float> %271, i64 1
  %273 = fmul float %272, %248
  %274 = extractelement <2 x float> %271, i64 0
  %275 = call float @llvm.fmuladd.f32(float %246, float %274, float %273)
  %276 = fmul float %274, %247
  %277 = call float @llvm.fmuladd.f32(float %246, float %272, float %276)
  %278 = fadd float %268, %275
  %279 = fadd float %277, %270
  %280 = fneg float %279
  %281 = insertelement <4 x float> poison, float %280, i64 0
  %282 = insertelement <4 x float> %281, float %279, i64 1
  %283 = shufflevector <4 x float> %282, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %284 = fmul <4 x float> %253, %283
  %285 = insertelement <4 x float> poison, float %278, i64 0
  %286 = shufflevector <4 x float> %285, <4 x float> poison, <4 x i32> zeroinitializer
  %287 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %286, <4 x float> %254, <4 x float> %284)
  %288 = fsub <4 x float> %260, %287
  store <4 x float> %288, ptr %258, align 4, !tbaa !13
  %289 = insertelement <2 x float> poison, float %279, i64 0
  %290 = insertelement <2 x float> %289, float %280, i64 1
  %291 = fmul <2 x float> %234, %290
  %292 = shufflevector <2 x float> %291, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %293 = insertelement <2 x float> poison, float %278, i64 0
  %294 = shufflevector <2 x float> %293, <2 x float> poison, <2 x i32> zeroinitializer
  %295 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %294, <2 x float> %234, <2 x float> %292)
  %296 = fsub <2 x float> %271, %295
  store <2 x float> %296, ptr %259, align 4, !tbaa !13
  %indvars.iv.next4843 = add nuw nsw i64 %indvars.iv4842, 1
  %exitcond4846.not = icmp eq i64 %indvars.iv.next4843, %wide.trip.count4845
  br i1 %exitcond4846.not, label %.loopexit, label %255, !llvm.loop !17

297:                                              ; preds = %33
  %298 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.0152.0.vec.extract = extractelement <2 x float> %298, i64 0
  %.sroa.0152.4.vec.extract = extractelement <2 x float> %298, i64 1
  %299 = fneg float %.sroa.0152.4.vec.extract
  %300 = call ptr @_pCf(ptr noundef nonnull %9)
  %301 = getelementptr inbounds i8, ptr %300, i64 4
  store float %.sroa.0152.0.vec.extract, ptr %300, align 4
  store float %299, ptr %301, align 4
  %302 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %302, ptr %12, align 8, !tbaa !13
  %303 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.0151.0.vec.extract = extractelement <2 x float> %303, i64 0
  %.sroa.0151.4.vec.extract = extractelement <2 x float> %303, i64 1
  %304 = fneg float %.sroa.0151.4.vec.extract
  %305 = call ptr @_pCf(ptr noundef nonnull %10)
  %306 = getelementptr inbounds i8, ptr %305, i64 4
  store float %.sroa.0151.0.vec.extract, ptr %305, align 4
  store float %304, ptr %306, align 4
  %307 = load float, ptr %4, align 4, !tbaa !9
  %308 = getelementptr inbounds i8, ptr %4, i64 4
  %309 = load float, ptr %308, align 4, !tbaa !12
  %310 = fneg float %309
  %311 = getelementptr inbounds i8, ptr %3, i64 8
  %312 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %313 = shufflevector <2 x float> %312, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %314 = insertelement <2 x float> poison, float %309, i64 0
  %315 = insertelement <2 x float> %314, float %310, i64 1
  %316 = fmul <2 x float> %312, %315
  %317 = insertelement <2 x float> poison, float %307, i64 0
  %318 = shufflevector <2 x float> %317, <2 x float> poison, <2 x i32> zeroinitializer
  %319 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %318, <2 x float> %313, <2 x float> %316)
  %320 = shufflevector <2 x float> %319, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %320, ptr %9, align 8, !tbaa !13
  %321 = call <2 x float> @Cf(ptr noundef nonnull %311)
  %.sroa.0150.0.vec.extract = extractelement <2 x float> %321, i64 0
  %.sroa.0150.4.vec.extract = extractelement <2 x float> %321, i64 1
  %322 = fneg float %.sroa.0150.4.vec.extract
  %323 = call ptr @_pCf(ptr noundef nonnull %9)
  %324 = getelementptr inbounds i8, ptr %323, i64 4
  store float %.sroa.0150.0.vec.extract, ptr %323, align 4
  store float %322, ptr %324, align 4
  %325 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %325, ptr %13, align 8, !tbaa !13
  %326 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.0149.0.vec.extract = extractelement <2 x float> %326, i64 0
  %.sroa.0149.4.vec.extract = extractelement <2 x float> %326, i64 1
  %327 = fneg float %.sroa.0149.4.vec.extract
  %328 = call ptr @_pCf(ptr noundef nonnull %10)
  %329 = getelementptr inbounds i8, ptr %328, i64 4
  store float %.sroa.0149.0.vec.extract, ptr %328, align 4
  store float %327, ptr %329, align 4
  %330 = load float, ptr %4, align 4, !tbaa !9
  %331 = load float, ptr %308, align 4, !tbaa !12
  %332 = fneg float %331
  %333 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %334 = shufflevector <2 x float> %333, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %335 = insertelement <2 x float> poison, float %331, i64 0
  %336 = insertelement <2 x float> %335, float %332, i64 1
  %337 = fmul <2 x float> %333, %336
  %338 = insertelement <2 x float> poison, float %330, i64 0
  %339 = shufflevector <2 x float> %338, <2 x float> poison, <2 x i32> zeroinitializer
  %340 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %339, <2 x float> %334, <2 x float> %337)
  %341 = shufflevector <2 x float> %340, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %341, ptr %9, align 8, !tbaa !13
  %342 = getelementptr inbounds i8, ptr %3, i64 16
  %343 = call <2 x float> @Cf(ptr noundef nonnull %342)
  %.sroa.0148.0.vec.extract = extractelement <2 x float> %343, i64 0
  %.sroa.0148.4.vec.extract = extractelement <2 x float> %343, i64 1
  %344 = fneg float %.sroa.0148.4.vec.extract
  %345 = call ptr @_pCf(ptr noundef nonnull %9)
  %346 = getelementptr inbounds i8, ptr %345, i64 4
  store float %.sroa.0148.0.vec.extract, ptr %345, align 4
  store float %344, ptr %346, align 4
  %347 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %347, ptr %14, align 8, !tbaa !13
  %348 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.0147.0.vec.extract = extractelement <2 x float> %348, i64 0
  %.sroa.0147.4.vec.extract = extractelement <2 x float> %348, i64 1
  %349 = fneg float %.sroa.0147.4.vec.extract
  %350 = call ptr @_pCf(ptr noundef nonnull %10)
  %351 = getelementptr inbounds i8, ptr %350, i64 4
  store float %.sroa.0147.0.vec.extract, ptr %350, align 4
  store float %349, ptr %351, align 4
  %352 = load float, ptr %4, align 4, !tbaa !9
  %353 = load float, ptr %308, align 4, !tbaa !12
  %354 = fneg float %353
  %355 = getelementptr inbounds i8, ptr %3, i64 24
  %356 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %357 = shufflevector <2 x float> %356, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %358 = insertelement <2 x float> poison, float %353, i64 0
  %359 = insertelement <2 x float> %358, float %354, i64 1
  %360 = fmul <2 x float> %356, %359
  %361 = insertelement <2 x float> poison, float %352, i64 0
  %362 = shufflevector <2 x float> %361, <2 x float> poison, <2 x i32> zeroinitializer
  %363 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %362, <2 x float> %357, <2 x float> %360)
  %364 = shufflevector <2 x float> %363, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %364, ptr %9, align 8, !tbaa !13
  %365 = call <2 x float> @Cf(ptr noundef nonnull %355)
  %.sroa.0146.0.vec.extract = extractelement <2 x float> %365, i64 0
  %.sroa.0146.4.vec.extract = extractelement <2 x float> %365, i64 1
  %366 = fneg float %.sroa.0146.4.vec.extract
  %367 = call ptr @_pCf(ptr noundef nonnull %9)
  %368 = getelementptr inbounds i8, ptr %367, i64 4
  store float %.sroa.0146.0.vec.extract, ptr %367, align 4
  store float %366, ptr %368, align 4
  %369 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %369, ptr %15, align 8, !tbaa !13
  %370 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.0145.0.vec.extract = extractelement <2 x float> %370, i64 0
  %.sroa.0145.4.vec.extract = extractelement <2 x float> %370, i64 1
  %371 = fneg float %.sroa.0145.4.vec.extract
  %372 = call ptr @_pCf(ptr noundef nonnull %10)
  %373 = getelementptr inbounds i8, ptr %372, i64 4
  store float %.sroa.0145.0.vec.extract, ptr %372, align 4
  store float %371, ptr %373, align 4
  %374 = load float, ptr %4, align 4, !tbaa !9
  %375 = load float, ptr %308, align 4, !tbaa !12
  %376 = fneg float %375
  %377 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %378 = shufflevector <2 x float> %377, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %379 = insertelement <2 x float> poison, float %375, i64 0
  %380 = insertelement <2 x float> %379, float %376, i64 1
  %381 = fmul <2 x float> %377, %380
  %382 = insertelement <2 x float> poison, float %374, i64 0
  %383 = shufflevector <2 x float> %382, <2 x float> poison, <2 x i32> zeroinitializer
  %384 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %383, <2 x float> %378, <2 x float> %381)
  %385 = load i32, ptr %2, align 4, !tbaa !5
  %.not44624563 = icmp slt i32 %385, 1
  br i1 %.not44624563, label %.loopexit, label %.lr.ph4565

.lr.ph4565:                                       ; preds = %297
  %386 = getelementptr inbounds i8, ptr %15, i64 4
  %387 = getelementptr inbounds i8, ptr %14, i64 4
  %388 = getelementptr inbounds i8, ptr %13, i64 4
  %389 = getelementptr inbounds i8, ptr %12, i64 4
  %390 = load float, ptr %12, align 8, !tbaa !9
  %391 = load float, ptr %389, align 4, !tbaa !12
  %392 = load float, ptr %13, align 8, !tbaa !9
  %393 = load float, ptr %388, align 4, !tbaa !12
  %394 = insertelement <2 x float> poison, float %391, i64 0
  %395 = insertelement <2 x float> %394, float %393, i64 1
  %396 = fneg <2 x float> %395
  %397 = load float, ptr %14, align 8, !tbaa !9
  %398 = load float, ptr %387, align 4, !tbaa !12
  %399 = fneg float %398
  %400 = load float, ptr %15, align 8, !tbaa !9
  %401 = load float, ptr %386, align 4, !tbaa !12
  %402 = fneg float %401
  %403 = sext i32 %22 to i64
  %404 = add nuw i32 %385, 1
  %wide.trip.count4840 = zext i32 %404 to i64
  %405 = insertelement <2 x float> poison, float %390, i64 0
  %406 = insertelement <2 x float> %405, float %392, i64 1
  %407 = shufflevector <2 x float> %319, <2 x float> %340, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %408 = shufflevector <2 x float> %319, <2 x float> %340, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %409 = shufflevector <2 x float> %363, <2 x float> %384, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %410 = shufflevector <2 x float> %363, <2 x float> %384, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %411

411:                                              ; preds = %.lr.ph4565, %411
  %indvars.iv4837 = phi i64 [ 1, %.lr.ph4565 ], [ %indvars.iv.next4838, %411 ]
  %412 = mul nsw i64 %indvars.iv4837, %403
  %413 = getelementptr %struct.complex, ptr %24, i64 %412
  %414 = getelementptr i8, ptr %413, i64 8
  %415 = getelementptr i8, ptr %413, i64 24
  %416 = load <4 x float>, ptr %414, align 4, !tbaa !13
  %417 = shufflevector <4 x float> %416, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %418 = fmul <2 x float> %417, %396
  %419 = shufflevector <4 x float> %416, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %420 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %406, <2 x float> %419, <2 x float> %418)
  %421 = fmul <2 x float> %395, %419
  %422 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %406, <2 x float> %417, <2 x float> %421)
  %shift6816 = shufflevector <2 x float> %420, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %423 = fadd <2 x float> %420, %shift6816
  %424 = extractelement <2 x float> %423, i64 0
  %shift6817 = shufflevector <2 x float> %422, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %425 = fadd <2 x float> %422, %shift6817
  %426 = extractelement <2 x float> %425, i64 0
  %427 = load <4 x float>, ptr %415, align 4, !tbaa !13
  %428 = extractelement <4 x float> %427, i64 1
  %429 = fmul float %428, %399
  %430 = extractelement <4 x float> %427, i64 0
  %431 = call float @llvm.fmuladd.f32(float %397, float %430, float %429)
  %432 = fmul float %430, %398
  %433 = call float @llvm.fmuladd.f32(float %397, float %428, float %432)
  %434 = extractelement <4 x float> %427, i64 3
  %435 = fmul float %434, %402
  %436 = extractelement <4 x float> %427, i64 2
  %437 = call float @llvm.fmuladd.f32(float %400, float %436, float %435)
  %438 = fmul float %436, %401
  %439 = call float @llvm.fmuladd.f32(float %400, float %434, float %438)
  %440 = fadd float %424, %431
  %441 = fadd float %426, %433
  %442 = fadd float %440, %437
  %443 = fadd float %439, %441
  %444 = fneg float %443
  %445 = insertelement <4 x float> poison, float %444, i64 0
  %446 = insertelement <4 x float> %445, float %443, i64 1
  %447 = shufflevector <4 x float> %446, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %448 = fmul <4 x float> %407, %447
  %449 = insertelement <4 x float> poison, float %442, i64 0
  %450 = shufflevector <4 x float> %449, <4 x float> poison, <4 x i32> zeroinitializer
  %451 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %450, <4 x float> %408, <4 x float> %448)
  %452 = fsub <4 x float> %416, %451
  store <4 x float> %452, ptr %414, align 4, !tbaa !13
  %453 = fmul <4 x float> %409, %447
  %454 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %450, <4 x float> %410, <4 x float> %453)
  %455 = fsub <4 x float> %427, %454
  store <4 x float> %455, ptr %415, align 4, !tbaa !13
  %indvars.iv.next4838 = add nuw nsw i64 %indvars.iv4837, 1
  %exitcond4841.not = icmp eq i64 %indvars.iv.next4838, %wide.trip.count4840
  br i1 %exitcond4841.not, label %.loopexit, label %411, !llvm.loop !18

456:                                              ; preds = %33
  %457 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.0144.0.vec.extract = extractelement <2 x float> %457, i64 0
  %.sroa.0144.4.vec.extract = extractelement <2 x float> %457, i64 1
  %458 = fneg float %.sroa.0144.4.vec.extract
  %459 = call ptr @_pCf(ptr noundef nonnull %9)
  %460 = getelementptr inbounds i8, ptr %459, i64 4
  store float %.sroa.0144.0.vec.extract, ptr %459, align 4
  store float %458, ptr %460, align 4
  %461 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %461, ptr %12, align 8, !tbaa !13
  %462 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.0143.0.vec.extract = extractelement <2 x float> %462, i64 0
  %.sroa.0143.4.vec.extract = extractelement <2 x float> %462, i64 1
  %463 = fneg float %.sroa.0143.4.vec.extract
  %464 = call ptr @_pCf(ptr noundef nonnull %10)
  %465 = getelementptr inbounds i8, ptr %464, i64 4
  store float %.sroa.0143.0.vec.extract, ptr %464, align 4
  store float %463, ptr %465, align 4
  %466 = load float, ptr %4, align 4, !tbaa !9
  %467 = getelementptr inbounds i8, ptr %4, i64 4
  %468 = load float, ptr %467, align 4, !tbaa !12
  %469 = fneg float %468
  %470 = getelementptr inbounds i8, ptr %3, i64 8
  %471 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %472 = shufflevector <2 x float> %471, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %473 = insertelement <2 x float> poison, float %468, i64 0
  %474 = insertelement <2 x float> %473, float %469, i64 1
  %475 = fmul <2 x float> %471, %474
  %476 = insertelement <2 x float> poison, float %466, i64 0
  %477 = shufflevector <2 x float> %476, <2 x float> poison, <2 x i32> zeroinitializer
  %478 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %477, <2 x float> %472, <2 x float> %475)
  %479 = shufflevector <2 x float> %478, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %479, ptr %9, align 8, !tbaa !13
  %480 = call <2 x float> @Cf(ptr noundef nonnull %470)
  %.sroa.0142.0.vec.extract = extractelement <2 x float> %480, i64 0
  %.sroa.0142.4.vec.extract = extractelement <2 x float> %480, i64 1
  %481 = fneg float %.sroa.0142.4.vec.extract
  %482 = call ptr @_pCf(ptr noundef nonnull %9)
  %483 = getelementptr inbounds i8, ptr %482, i64 4
  store float %.sroa.0142.0.vec.extract, ptr %482, align 4
  store float %481, ptr %483, align 4
  %484 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %484, ptr %13, align 8, !tbaa !13
  %485 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.0141.0.vec.extract = extractelement <2 x float> %485, i64 0
  %.sroa.0141.4.vec.extract = extractelement <2 x float> %485, i64 1
  %486 = fneg float %.sroa.0141.4.vec.extract
  %487 = call ptr @_pCf(ptr noundef nonnull %10)
  %488 = getelementptr inbounds i8, ptr %487, i64 4
  store float %.sroa.0141.0.vec.extract, ptr %487, align 4
  store float %486, ptr %488, align 4
  %489 = load float, ptr %4, align 4, !tbaa !9
  %490 = load float, ptr %467, align 4, !tbaa !12
  %491 = fneg float %490
  %492 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %493 = shufflevector <2 x float> %492, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %494 = insertelement <2 x float> poison, float %490, i64 0
  %495 = insertelement <2 x float> %494, float %491, i64 1
  %496 = fmul <2 x float> %492, %495
  %497 = insertelement <2 x float> poison, float %489, i64 0
  %498 = shufflevector <2 x float> %497, <2 x float> poison, <2 x i32> zeroinitializer
  %499 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %498, <2 x float> %493, <2 x float> %496)
  %500 = shufflevector <2 x float> %499, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %500, ptr %9, align 8, !tbaa !13
  %501 = getelementptr inbounds i8, ptr %3, i64 16
  %502 = call <2 x float> @Cf(ptr noundef nonnull %501)
  %.sroa.0140.0.vec.extract = extractelement <2 x float> %502, i64 0
  %.sroa.0140.4.vec.extract = extractelement <2 x float> %502, i64 1
  %503 = fneg float %.sroa.0140.4.vec.extract
  %504 = call ptr @_pCf(ptr noundef nonnull %9)
  %505 = getelementptr inbounds i8, ptr %504, i64 4
  store float %.sroa.0140.0.vec.extract, ptr %504, align 4
  store float %503, ptr %505, align 4
  %506 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %506, ptr %14, align 8, !tbaa !13
  %507 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.0139.0.vec.extract = extractelement <2 x float> %507, i64 0
  %.sroa.0139.4.vec.extract = extractelement <2 x float> %507, i64 1
  %508 = fneg float %.sroa.0139.4.vec.extract
  %509 = call ptr @_pCf(ptr noundef nonnull %10)
  %510 = getelementptr inbounds i8, ptr %509, i64 4
  store float %.sroa.0139.0.vec.extract, ptr %509, align 4
  store float %508, ptr %510, align 4
  %511 = load float, ptr %4, align 4, !tbaa !9
  %512 = load float, ptr %467, align 4, !tbaa !12
  %513 = fneg float %512
  %514 = getelementptr inbounds i8, ptr %3, i64 24
  %515 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %516 = shufflevector <2 x float> %515, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %517 = insertelement <2 x float> poison, float %512, i64 0
  %518 = insertelement <2 x float> %517, float %513, i64 1
  %519 = fmul <2 x float> %515, %518
  %520 = insertelement <2 x float> poison, float %511, i64 0
  %521 = shufflevector <2 x float> %520, <2 x float> poison, <2 x i32> zeroinitializer
  %522 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %521, <2 x float> %516, <2 x float> %519)
  %523 = shufflevector <2 x float> %522, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %523, ptr %9, align 8, !tbaa !13
  %524 = call <2 x float> @Cf(ptr noundef nonnull %514)
  %.sroa.0138.0.vec.extract = extractelement <2 x float> %524, i64 0
  %.sroa.0138.4.vec.extract = extractelement <2 x float> %524, i64 1
  %525 = fneg float %.sroa.0138.4.vec.extract
  %526 = call ptr @_pCf(ptr noundef nonnull %9)
  %527 = getelementptr inbounds i8, ptr %526, i64 4
  store float %.sroa.0138.0.vec.extract, ptr %526, align 4
  store float %525, ptr %527, align 4
  %528 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %528, ptr %15, align 8, !tbaa !13
  %529 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.0137.0.vec.extract = extractelement <2 x float> %529, i64 0
  %.sroa.0137.4.vec.extract = extractelement <2 x float> %529, i64 1
  %530 = fneg float %.sroa.0137.4.vec.extract
  %531 = call ptr @_pCf(ptr noundef nonnull %10)
  %532 = getelementptr inbounds i8, ptr %531, i64 4
  store float %.sroa.0137.0.vec.extract, ptr %531, align 4
  store float %530, ptr %532, align 4
  %533 = load float, ptr %4, align 4, !tbaa !9
  %534 = load float, ptr %467, align 4, !tbaa !12
  %535 = fneg float %534
  %536 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %537 = shufflevector <2 x float> %536, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %538 = insertelement <2 x float> poison, float %534, i64 0
  %539 = insertelement <2 x float> %538, float %535, i64 1
  %540 = fmul <2 x float> %536, %539
  %541 = insertelement <2 x float> poison, float %533, i64 0
  %542 = shufflevector <2 x float> %541, <2 x float> poison, <2 x i32> zeroinitializer
  %543 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %542, <2 x float> %537, <2 x float> %540)
  %544 = shufflevector <2 x float> %543, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %544, ptr %9, align 8, !tbaa !13
  %545 = getelementptr inbounds i8, ptr %3, i64 32
  %546 = call <2 x float> @Cf(ptr noundef nonnull %545)
  %.sroa.0136.0.vec.extract = extractelement <2 x float> %546, i64 0
  %.sroa.0136.4.vec.extract = extractelement <2 x float> %546, i64 1
  %547 = fneg float %.sroa.0136.4.vec.extract
  %548 = call ptr @_pCf(ptr noundef nonnull %9)
  %549 = getelementptr inbounds i8, ptr %548, i64 4
  store float %.sroa.0136.0.vec.extract, ptr %548, align 4
  store float %547, ptr %549, align 4
  %550 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %550, ptr %16, align 8, !tbaa !13
  %551 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.0135.0.vec.extract = extractelement <2 x float> %551, i64 0
  %.sroa.0135.4.vec.extract = extractelement <2 x float> %551, i64 1
  %552 = fneg float %.sroa.0135.4.vec.extract
  %553 = call ptr @_pCf(ptr noundef nonnull %10)
  %554 = getelementptr inbounds i8, ptr %553, i64 4
  store float %.sroa.0135.0.vec.extract, ptr %553, align 4
  store float %552, ptr %554, align 4
  %555 = load float, ptr %4, align 4, !tbaa !9
  %556 = load float, ptr %467, align 4, !tbaa !12
  %557 = fneg float %556
  %558 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %559 = insertelement <2 x float> poison, float %556, i64 0
  %560 = insertelement <2 x float> %559, float %557, i64 1
  %561 = fmul <2 x float> %558, %560
  %562 = shufflevector <2 x float> %561, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %563 = insertelement <2 x float> poison, float %555, i64 0
  %564 = shufflevector <2 x float> %563, <2 x float> poison, <2 x i32> zeroinitializer
  %565 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %564, <2 x float> %558, <2 x float> %562)
  %566 = load i32, ptr %2, align 4, !tbaa !5
  %.not44614550 = icmp slt i32 %566, 1
  br i1 %.not44614550, label %.loopexit, label %.lr.ph4552

.lr.ph4552:                                       ; preds = %456
  %567 = getelementptr inbounds i8, ptr %16, i64 4
  %568 = getelementptr inbounds i8, ptr %15, i64 4
  %569 = getelementptr inbounds i8, ptr %14, i64 4
  %570 = getelementptr inbounds i8, ptr %13, i64 4
  %571 = getelementptr inbounds i8, ptr %12, i64 4
  %572 = load float, ptr %12, align 8, !tbaa !9
  %573 = load float, ptr %571, align 4, !tbaa !12
  %574 = load float, ptr %13, align 8, !tbaa !9
  %575 = load float, ptr %570, align 4, !tbaa !12
  %576 = insertelement <2 x float> poison, float %573, i64 0
  %577 = insertelement <2 x float> %576, float %575, i64 1
  %578 = fneg <2 x float> %577
  %579 = load float, ptr %14, align 8, !tbaa !9
  %580 = load float, ptr %569, align 4, !tbaa !12
  %581 = fneg float %580
  %582 = load float, ptr %15, align 8, !tbaa !9
  %583 = load float, ptr %568, align 4, !tbaa !12
  %584 = fneg float %583
  %585 = load float, ptr %16, align 8, !tbaa !9
  %586 = load float, ptr %567, align 4, !tbaa !12
  %587 = fneg float %586
  %588 = sext i32 %22 to i64
  %589 = add nuw i32 %566, 1
  %wide.trip.count4835 = zext i32 %589 to i64
  %590 = insertelement <2 x float> poison, float %572, i64 0
  %591 = insertelement <2 x float> %590, float %574, i64 1
  %592 = shufflevector <2 x float> %478, <2 x float> %499, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %593 = shufflevector <2 x float> %478, <2 x float> %499, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %594 = shufflevector <2 x float> %522, <2 x float> %543, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %595 = shufflevector <2 x float> %522, <2 x float> %543, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %596

596:                                              ; preds = %.lr.ph4552, %596
  %indvars.iv4832 = phi i64 [ 1, %.lr.ph4552 ], [ %indvars.iv.next4833, %596 ]
  %597 = mul nsw i64 %indvars.iv4832, %588
  %598 = getelementptr %struct.complex, ptr %24, i64 %597
  %599 = getelementptr i8, ptr %598, i64 8
  %600 = getelementptr i8, ptr %598, i64 24
  %601 = getelementptr i8, ptr %598, i64 40
  %602 = load <4 x float>, ptr %599, align 4, !tbaa !13
  %603 = shufflevector <4 x float> %602, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %604 = fmul <2 x float> %603, %578
  %605 = shufflevector <4 x float> %602, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %606 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %591, <2 x float> %605, <2 x float> %604)
  %607 = fmul <2 x float> %605, %577
  %608 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %591, <2 x float> %603, <2 x float> %607)
  %shift6818 = shufflevector <2 x float> %606, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %609 = fadd <2 x float> %606, %shift6818
  %610 = extractelement <2 x float> %609, i64 0
  %shift6819 = shufflevector <2 x float> %608, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %611 = fadd <2 x float> %608, %shift6819
  %612 = extractelement <2 x float> %611, i64 0
  %613 = load <4 x float>, ptr %600, align 4, !tbaa !13
  %614 = extractelement <4 x float> %613, i64 1
  %615 = fmul float %614, %581
  %616 = extractelement <4 x float> %613, i64 0
  %617 = call float @llvm.fmuladd.f32(float %579, float %616, float %615)
  %618 = fmul float %616, %580
  %619 = call float @llvm.fmuladd.f32(float %579, float %614, float %618)
  %620 = extractelement <4 x float> %613, i64 3
  %621 = fmul float %620, %584
  %622 = extractelement <4 x float> %613, i64 2
  %623 = call float @llvm.fmuladd.f32(float %582, float %622, float %621)
  %624 = fmul float %622, %583
  %625 = call float @llvm.fmuladd.f32(float %582, float %620, float %624)
  %626 = fadd float %610, %617
  %627 = fadd float %612, %619
  %628 = fadd float %626, %623
  %629 = fadd float %627, %625
  %630 = load <2 x float>, ptr %601, align 4, !tbaa !13
  %631 = extractelement <2 x float> %630, i64 1
  %632 = fmul float %631, %587
  %633 = extractelement <2 x float> %630, i64 0
  %634 = call float @llvm.fmuladd.f32(float %585, float %633, float %632)
  %635 = fmul float %633, %586
  %636 = call float @llvm.fmuladd.f32(float %585, float %631, float %635)
  %637 = fadd float %628, %634
  %638 = fadd float %636, %629
  %639 = fneg float %638
  %640 = insertelement <4 x float> poison, float %639, i64 0
  %641 = insertelement <4 x float> %640, float %638, i64 1
  %642 = shufflevector <4 x float> %641, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %643 = fmul <4 x float> %592, %642
  %644 = insertelement <4 x float> poison, float %637, i64 0
  %645 = shufflevector <4 x float> %644, <4 x float> poison, <4 x i32> zeroinitializer
  %646 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %645, <4 x float> %593, <4 x float> %643)
  %647 = fsub <4 x float> %602, %646
  store <4 x float> %647, ptr %599, align 4, !tbaa !13
  %648 = fmul <4 x float> %594, %642
  %649 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %645, <4 x float> %595, <4 x float> %648)
  %650 = fsub <4 x float> %613, %649
  store <4 x float> %650, ptr %600, align 4, !tbaa !13
  %651 = insertelement <2 x float> poison, float %638, i64 0
  %652 = insertelement <2 x float> %651, float %639, i64 1
  %653 = fmul <2 x float> %565, %652
  %654 = shufflevector <2 x float> %653, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %655 = insertelement <2 x float> poison, float %637, i64 0
  %656 = shufflevector <2 x float> %655, <2 x float> poison, <2 x i32> zeroinitializer
  %657 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %656, <2 x float> %565, <2 x float> %654)
  %658 = fsub <2 x float> %630, %657
  store <2 x float> %658, ptr %601, align 4, !tbaa !13
  %indvars.iv.next4833 = add nuw nsw i64 %indvars.iv4832, 1
  %exitcond4836.not = icmp eq i64 %indvars.iv.next4833, %wide.trip.count4835
  br i1 %exitcond4836.not, label %.loopexit, label %596, !llvm.loop !19

659:                                              ; preds = %33
  %660 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.0134.0.vec.extract = extractelement <2 x float> %660, i64 0
  %.sroa.0134.4.vec.extract = extractelement <2 x float> %660, i64 1
  %661 = fneg float %.sroa.0134.4.vec.extract
  %662 = call ptr @_pCf(ptr noundef nonnull %9)
  %663 = getelementptr inbounds i8, ptr %662, i64 4
  store float %.sroa.0134.0.vec.extract, ptr %662, align 4
  store float %661, ptr %663, align 4
  %664 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %664, ptr %12, align 8, !tbaa !13
  %665 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.0133.0.vec.extract = extractelement <2 x float> %665, i64 0
  %.sroa.0133.4.vec.extract = extractelement <2 x float> %665, i64 1
  %666 = fneg float %.sroa.0133.4.vec.extract
  %667 = call ptr @_pCf(ptr noundef nonnull %10)
  %668 = getelementptr inbounds i8, ptr %667, i64 4
  store float %.sroa.0133.0.vec.extract, ptr %667, align 4
  store float %666, ptr %668, align 4
  %669 = load float, ptr %4, align 4, !tbaa !9
  %670 = getelementptr inbounds i8, ptr %4, i64 4
  %671 = load float, ptr %670, align 4, !tbaa !12
  %672 = fneg float %671
  %673 = getelementptr inbounds i8, ptr %3, i64 8
  %674 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %675 = shufflevector <2 x float> %674, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %676 = insertelement <2 x float> poison, float %671, i64 0
  %677 = insertelement <2 x float> %676, float %672, i64 1
  %678 = fmul <2 x float> %674, %677
  %679 = insertelement <2 x float> poison, float %669, i64 0
  %680 = shufflevector <2 x float> %679, <2 x float> poison, <2 x i32> zeroinitializer
  %681 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %680, <2 x float> %675, <2 x float> %678)
  %682 = shufflevector <2 x float> %681, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %682, ptr %9, align 8, !tbaa !13
  %683 = call <2 x float> @Cf(ptr noundef nonnull %673)
  %.sroa.0132.0.vec.extract = extractelement <2 x float> %683, i64 0
  %.sroa.0132.4.vec.extract = extractelement <2 x float> %683, i64 1
  %684 = fneg float %.sroa.0132.4.vec.extract
  %685 = call ptr @_pCf(ptr noundef nonnull %9)
  %686 = getelementptr inbounds i8, ptr %685, i64 4
  store float %.sroa.0132.0.vec.extract, ptr %685, align 4
  store float %684, ptr %686, align 4
  %687 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %687, ptr %13, align 8, !tbaa !13
  %688 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.0131.0.vec.extract = extractelement <2 x float> %688, i64 0
  %.sroa.0131.4.vec.extract = extractelement <2 x float> %688, i64 1
  %689 = fneg float %.sroa.0131.4.vec.extract
  %690 = call ptr @_pCf(ptr noundef nonnull %10)
  %691 = getelementptr inbounds i8, ptr %690, i64 4
  store float %.sroa.0131.0.vec.extract, ptr %690, align 4
  store float %689, ptr %691, align 4
  %692 = load float, ptr %4, align 4, !tbaa !9
  %693 = load float, ptr %670, align 4, !tbaa !12
  %694 = fneg float %693
  %695 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %696 = shufflevector <2 x float> %695, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %697 = insertelement <2 x float> poison, float %693, i64 0
  %698 = insertelement <2 x float> %697, float %694, i64 1
  %699 = fmul <2 x float> %695, %698
  %700 = insertelement <2 x float> poison, float %692, i64 0
  %701 = shufflevector <2 x float> %700, <2 x float> poison, <2 x i32> zeroinitializer
  %702 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %701, <2 x float> %696, <2 x float> %699)
  %703 = shufflevector <2 x float> %702, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %703, ptr %9, align 8, !tbaa !13
  %704 = getelementptr inbounds i8, ptr %3, i64 16
  %705 = call <2 x float> @Cf(ptr noundef nonnull %704)
  %.sroa.0130.0.vec.extract = extractelement <2 x float> %705, i64 0
  %.sroa.0130.4.vec.extract = extractelement <2 x float> %705, i64 1
  %706 = fneg float %.sroa.0130.4.vec.extract
  %707 = call ptr @_pCf(ptr noundef nonnull %9)
  %708 = getelementptr inbounds i8, ptr %707, i64 4
  store float %.sroa.0130.0.vec.extract, ptr %707, align 4
  store float %706, ptr %708, align 4
  %709 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %709, ptr %14, align 8, !tbaa !13
  %710 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.0129.0.vec.extract = extractelement <2 x float> %710, i64 0
  %.sroa.0129.4.vec.extract = extractelement <2 x float> %710, i64 1
  %711 = fneg float %.sroa.0129.4.vec.extract
  %712 = call ptr @_pCf(ptr noundef nonnull %10)
  %713 = getelementptr inbounds i8, ptr %712, i64 4
  store float %.sroa.0129.0.vec.extract, ptr %712, align 4
  store float %711, ptr %713, align 4
  %714 = load float, ptr %4, align 4, !tbaa !9
  %715 = load float, ptr %670, align 4, !tbaa !12
  %716 = fneg float %715
  %717 = getelementptr inbounds i8, ptr %3, i64 24
  %718 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %719 = shufflevector <2 x float> %718, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %720 = insertelement <2 x float> poison, float %715, i64 0
  %721 = insertelement <2 x float> %720, float %716, i64 1
  %722 = fmul <2 x float> %718, %721
  %723 = insertelement <2 x float> poison, float %714, i64 0
  %724 = shufflevector <2 x float> %723, <2 x float> poison, <2 x i32> zeroinitializer
  %725 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %724, <2 x float> %719, <2 x float> %722)
  %726 = shufflevector <2 x float> %725, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %726, ptr %9, align 8, !tbaa !13
  %727 = call <2 x float> @Cf(ptr noundef nonnull %717)
  %.sroa.0128.0.vec.extract = extractelement <2 x float> %727, i64 0
  %.sroa.0128.4.vec.extract = extractelement <2 x float> %727, i64 1
  %728 = fneg float %.sroa.0128.4.vec.extract
  %729 = call ptr @_pCf(ptr noundef nonnull %9)
  %730 = getelementptr inbounds i8, ptr %729, i64 4
  store float %.sroa.0128.0.vec.extract, ptr %729, align 4
  store float %728, ptr %730, align 4
  %731 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %731, ptr %15, align 8, !tbaa !13
  %732 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.0127.0.vec.extract = extractelement <2 x float> %732, i64 0
  %.sroa.0127.4.vec.extract = extractelement <2 x float> %732, i64 1
  %733 = fneg float %.sroa.0127.4.vec.extract
  %734 = call ptr @_pCf(ptr noundef nonnull %10)
  %735 = getelementptr inbounds i8, ptr %734, i64 4
  store float %.sroa.0127.0.vec.extract, ptr %734, align 4
  store float %733, ptr %735, align 4
  %736 = load float, ptr %4, align 4, !tbaa !9
  %737 = load float, ptr %670, align 4, !tbaa !12
  %738 = fneg float %737
  %739 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %740 = shufflevector <2 x float> %739, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %741 = insertelement <2 x float> poison, float %737, i64 0
  %742 = insertelement <2 x float> %741, float %738, i64 1
  %743 = fmul <2 x float> %739, %742
  %744 = insertelement <2 x float> poison, float %736, i64 0
  %745 = shufflevector <2 x float> %744, <2 x float> poison, <2 x i32> zeroinitializer
  %746 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %745, <2 x float> %740, <2 x float> %743)
  %747 = shufflevector <2 x float> %746, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %747, ptr %9, align 8, !tbaa !13
  %748 = getelementptr inbounds i8, ptr %3, i64 32
  %749 = call <2 x float> @Cf(ptr noundef nonnull %748)
  %.sroa.0126.0.vec.extract = extractelement <2 x float> %749, i64 0
  %.sroa.0126.4.vec.extract = extractelement <2 x float> %749, i64 1
  %750 = fneg float %.sroa.0126.4.vec.extract
  %751 = call ptr @_pCf(ptr noundef nonnull %9)
  %752 = getelementptr inbounds i8, ptr %751, i64 4
  store float %.sroa.0126.0.vec.extract, ptr %751, align 4
  store float %750, ptr %752, align 4
  %753 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %753, ptr %16, align 8, !tbaa !13
  %754 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.0125.0.vec.extract = extractelement <2 x float> %754, i64 0
  %.sroa.0125.4.vec.extract = extractelement <2 x float> %754, i64 1
  %755 = fneg float %.sroa.0125.4.vec.extract
  %756 = call ptr @_pCf(ptr noundef nonnull %10)
  %757 = getelementptr inbounds i8, ptr %756, i64 4
  store float %.sroa.0125.0.vec.extract, ptr %756, align 4
  store float %755, ptr %757, align 4
  %758 = load float, ptr %4, align 4, !tbaa !9
  %759 = load float, ptr %670, align 4, !tbaa !12
  %760 = fneg float %759
  %761 = getelementptr inbounds i8, ptr %3, i64 40
  %762 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %763 = shufflevector <2 x float> %762, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %764 = insertelement <2 x float> poison, float %759, i64 0
  %765 = insertelement <2 x float> %764, float %760, i64 1
  %766 = fmul <2 x float> %762, %765
  %767 = insertelement <2 x float> poison, float %758, i64 0
  %768 = shufflevector <2 x float> %767, <2 x float> poison, <2 x i32> zeroinitializer
  %769 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %768, <2 x float> %763, <2 x float> %766)
  %770 = shufflevector <2 x float> %769, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %770, ptr %9, align 8, !tbaa !13
  %771 = call <2 x float> @Cf(ptr noundef nonnull %761)
  %.sroa.0124.0.vec.extract = extractelement <2 x float> %771, i64 0
  %.sroa.0124.4.vec.extract = extractelement <2 x float> %771, i64 1
  %772 = fneg float %.sroa.0124.4.vec.extract
  %773 = call ptr @_pCf(ptr noundef nonnull %9)
  %774 = getelementptr inbounds i8, ptr %773, i64 4
  store float %.sroa.0124.0.vec.extract, ptr %773, align 4
  store float %772, ptr %774, align 4
  %775 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %775, ptr %17, align 8, !tbaa !13
  %776 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.0123.0.vec.extract = extractelement <2 x float> %776, i64 0
  %.sroa.0123.4.vec.extract = extractelement <2 x float> %776, i64 1
  %777 = fneg float %.sroa.0123.4.vec.extract
  %778 = call ptr @_pCf(ptr noundef nonnull %10)
  %779 = getelementptr inbounds i8, ptr %778, i64 4
  store float %.sroa.0123.0.vec.extract, ptr %778, align 4
  store float %777, ptr %779, align 4
  %780 = load float, ptr %4, align 4, !tbaa !9
  %781 = load float, ptr %670, align 4, !tbaa !12
  %782 = fneg float %781
  %783 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %784 = shufflevector <2 x float> %783, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %785 = insertelement <2 x float> poison, float %781, i64 0
  %786 = insertelement <2 x float> %785, float %782, i64 1
  %787 = fmul <2 x float> %783, %786
  %788 = insertelement <2 x float> poison, float %780, i64 0
  %789 = shufflevector <2 x float> %788, <2 x float> poison, <2 x i32> zeroinitializer
  %790 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %789, <2 x float> %784, <2 x float> %787)
  %791 = load i32, ptr %2, align 4, !tbaa !5
  %.not44604537 = icmp slt i32 %791, 1
  br i1 %.not44604537, label %.loopexit, label %.lr.ph4539

.lr.ph4539:                                       ; preds = %659
  %792 = getelementptr inbounds i8, ptr %17, i64 4
  %793 = getelementptr inbounds i8, ptr %16, i64 4
  %794 = getelementptr inbounds i8, ptr %15, i64 4
  %795 = getelementptr inbounds i8, ptr %14, i64 4
  %796 = getelementptr inbounds i8, ptr %13, i64 4
  %797 = getelementptr inbounds i8, ptr %12, i64 4
  %798 = load float, ptr %12, align 8, !tbaa !9
  %799 = load float, ptr %797, align 4, !tbaa !12
  %800 = load float, ptr %13, align 8, !tbaa !9
  %801 = load float, ptr %796, align 4, !tbaa !12
  %802 = insertelement <2 x float> poison, float %799, i64 0
  %803 = insertelement <2 x float> %802, float %801, i64 1
  %804 = fneg <2 x float> %803
  %805 = load float, ptr %14, align 8, !tbaa !9
  %806 = load float, ptr %795, align 4, !tbaa !12
  %807 = fneg float %806
  %808 = load float, ptr %15, align 8, !tbaa !9
  %809 = load float, ptr %794, align 4, !tbaa !12
  %810 = fneg float %809
  %811 = load float, ptr %16, align 8, !tbaa !9
  %812 = load float, ptr %793, align 4, !tbaa !12
  %813 = fneg float %812
  %814 = load float, ptr %17, align 8, !tbaa !9
  %815 = load float, ptr %792, align 4, !tbaa !12
  %816 = fneg float %815
  %817 = sext i32 %22 to i64
  %818 = add nuw i32 %791, 1
  %wide.trip.count4830 = zext i32 %818 to i64
  %819 = insertelement <2 x float> poison, float %798, i64 0
  %820 = insertelement <2 x float> %819, float %800, i64 1
  %821 = shufflevector <2 x float> %681, <2 x float> %702, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %822 = shufflevector <2 x float> %681, <2 x float> %702, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %823 = shufflevector <2 x float> %725, <2 x float> %746, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %824 = shufflevector <2 x float> %725, <2 x float> %746, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %825 = shufflevector <2 x float> %769, <2 x float> %790, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %826 = shufflevector <2 x float> %769, <2 x float> %790, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %827

827:                                              ; preds = %.lr.ph4539, %827
  %indvars.iv4827 = phi i64 [ 1, %.lr.ph4539 ], [ %indvars.iv.next4828, %827 ]
  %828 = mul nsw i64 %indvars.iv4827, %817
  %829 = getelementptr %struct.complex, ptr %24, i64 %828
  %830 = getelementptr i8, ptr %829, i64 8
  %831 = getelementptr i8, ptr %829, i64 24
  %832 = getelementptr i8, ptr %829, i64 40
  %833 = load <4 x float>, ptr %830, align 4, !tbaa !13
  %834 = shufflevector <4 x float> %833, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %835 = fmul <2 x float> %834, %804
  %836 = shufflevector <4 x float> %833, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %837 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %820, <2 x float> %836, <2 x float> %835)
  %838 = fmul <2 x float> %836, %803
  %839 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %820, <2 x float> %834, <2 x float> %838)
  %shift6820 = shufflevector <2 x float> %837, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %840 = fadd <2 x float> %837, %shift6820
  %841 = extractelement <2 x float> %840, i64 0
  %shift6821 = shufflevector <2 x float> %839, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %842 = fadd <2 x float> %839, %shift6821
  %843 = extractelement <2 x float> %842, i64 0
  %844 = load <4 x float>, ptr %831, align 4, !tbaa !13
  %845 = extractelement <4 x float> %844, i64 1
  %846 = fmul float %845, %807
  %847 = extractelement <4 x float> %844, i64 0
  %848 = call float @llvm.fmuladd.f32(float %805, float %847, float %846)
  %849 = fmul float %847, %806
  %850 = call float @llvm.fmuladd.f32(float %805, float %845, float %849)
  %851 = extractelement <4 x float> %844, i64 3
  %852 = fmul float %851, %810
  %853 = extractelement <4 x float> %844, i64 2
  %854 = call float @llvm.fmuladd.f32(float %808, float %853, float %852)
  %855 = fmul float %853, %809
  %856 = call float @llvm.fmuladd.f32(float %808, float %851, float %855)
  %857 = fadd float %841, %848
  %858 = fadd float %843, %850
  %859 = fadd float %857, %854
  %860 = fadd float %858, %856
  %861 = load <4 x float>, ptr %832, align 4, !tbaa !13
  %862 = extractelement <4 x float> %861, i64 1
  %863 = fmul float %862, %813
  %864 = extractelement <4 x float> %861, i64 0
  %865 = call float @llvm.fmuladd.f32(float %811, float %864, float %863)
  %866 = fmul float %864, %812
  %867 = call float @llvm.fmuladd.f32(float %811, float %862, float %866)
  %868 = extractelement <4 x float> %861, i64 3
  %869 = fmul float %868, %816
  %870 = extractelement <4 x float> %861, i64 2
  %871 = call float @llvm.fmuladd.f32(float %814, float %870, float %869)
  %872 = fmul float %870, %815
  %873 = call float @llvm.fmuladd.f32(float %814, float %868, float %872)
  %874 = fadd float %859, %865
  %875 = fadd float %860, %867
  %876 = fadd float %874, %871
  %877 = fadd float %873, %875
  %878 = fneg float %877
  %879 = insertelement <4 x float> poison, float %878, i64 0
  %880 = insertelement <4 x float> %879, float %877, i64 1
  %881 = shufflevector <4 x float> %880, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %882 = fmul <4 x float> %821, %881
  %883 = insertelement <4 x float> poison, float %876, i64 0
  %884 = shufflevector <4 x float> %883, <4 x float> poison, <4 x i32> zeroinitializer
  %885 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %884, <4 x float> %822, <4 x float> %882)
  %886 = fsub <4 x float> %833, %885
  store <4 x float> %886, ptr %830, align 4, !tbaa !13
  %887 = fmul <4 x float> %823, %881
  %888 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %884, <4 x float> %824, <4 x float> %887)
  %889 = fsub <4 x float> %844, %888
  store <4 x float> %889, ptr %831, align 4, !tbaa !13
  %890 = fmul <4 x float> %825, %881
  %891 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %884, <4 x float> %826, <4 x float> %890)
  %892 = fsub <4 x float> %861, %891
  store <4 x float> %892, ptr %832, align 4, !tbaa !13
  %indvars.iv.next4828 = add nuw nsw i64 %indvars.iv4827, 1
  %exitcond4831.not = icmp eq i64 %indvars.iv.next4828, %wide.trip.count4830
  br i1 %exitcond4831.not, label %.loopexit, label %827, !llvm.loop !20

893:                                              ; preds = %33
  %894 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.0122.0.vec.extract = extractelement <2 x float> %894, i64 0
  %.sroa.0122.4.vec.extract = extractelement <2 x float> %894, i64 1
  %895 = fneg float %.sroa.0122.4.vec.extract
  %896 = call ptr @_pCf(ptr noundef nonnull %9)
  %897 = getelementptr inbounds i8, ptr %896, i64 4
  store float %.sroa.0122.0.vec.extract, ptr %896, align 4
  store float %895, ptr %897, align 4
  %898 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %898, ptr %12, align 8, !tbaa !13
  %899 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.0121.0.vec.extract = extractelement <2 x float> %899, i64 0
  %.sroa.0121.4.vec.extract = extractelement <2 x float> %899, i64 1
  %900 = fneg float %.sroa.0121.4.vec.extract
  %901 = call ptr @_pCf(ptr noundef nonnull %10)
  %902 = getelementptr inbounds i8, ptr %901, i64 4
  store float %.sroa.0121.0.vec.extract, ptr %901, align 4
  store float %900, ptr %902, align 4
  %903 = load float, ptr %4, align 4, !tbaa !9
  %904 = getelementptr inbounds i8, ptr %4, i64 4
  %905 = load float, ptr %904, align 4, !tbaa !12
  %906 = fneg float %905
  %907 = getelementptr inbounds i8, ptr %3, i64 8
  %908 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %909 = shufflevector <2 x float> %908, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %910 = insertelement <2 x float> poison, float %905, i64 0
  %911 = insertelement <2 x float> %910, float %906, i64 1
  %912 = fmul <2 x float> %908, %911
  %913 = insertelement <2 x float> poison, float %903, i64 0
  %914 = shufflevector <2 x float> %913, <2 x float> poison, <2 x i32> zeroinitializer
  %915 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %914, <2 x float> %909, <2 x float> %912)
  %916 = shufflevector <2 x float> %915, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %916, ptr %9, align 8, !tbaa !13
  %917 = call <2 x float> @Cf(ptr noundef nonnull %907)
  %.sroa.0120.0.vec.extract = extractelement <2 x float> %917, i64 0
  %.sroa.0120.4.vec.extract = extractelement <2 x float> %917, i64 1
  %918 = fneg float %.sroa.0120.4.vec.extract
  %919 = call ptr @_pCf(ptr noundef nonnull %9)
  %920 = getelementptr inbounds i8, ptr %919, i64 4
  store float %.sroa.0120.0.vec.extract, ptr %919, align 4
  store float %918, ptr %920, align 4
  %921 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %921, ptr %13, align 8, !tbaa !13
  %922 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.0119.0.vec.extract = extractelement <2 x float> %922, i64 0
  %.sroa.0119.4.vec.extract = extractelement <2 x float> %922, i64 1
  %923 = fneg float %.sroa.0119.4.vec.extract
  %924 = call ptr @_pCf(ptr noundef nonnull %10)
  %925 = getelementptr inbounds i8, ptr %924, i64 4
  store float %.sroa.0119.0.vec.extract, ptr %924, align 4
  store float %923, ptr %925, align 4
  %926 = load float, ptr %4, align 4, !tbaa !9
  %927 = load float, ptr %904, align 4, !tbaa !12
  %928 = fneg float %927
  %929 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %930 = shufflevector <2 x float> %929, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %931 = insertelement <2 x float> poison, float %927, i64 0
  %932 = insertelement <2 x float> %931, float %928, i64 1
  %933 = fmul <2 x float> %929, %932
  %934 = insertelement <2 x float> poison, float %926, i64 0
  %935 = shufflevector <2 x float> %934, <2 x float> poison, <2 x i32> zeroinitializer
  %936 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %935, <2 x float> %930, <2 x float> %933)
  %937 = shufflevector <2 x float> %936, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %937, ptr %9, align 8, !tbaa !13
  %938 = getelementptr inbounds i8, ptr %3, i64 16
  %939 = call <2 x float> @Cf(ptr noundef nonnull %938)
  %.sroa.0118.0.vec.extract = extractelement <2 x float> %939, i64 0
  %.sroa.0118.4.vec.extract = extractelement <2 x float> %939, i64 1
  %940 = fneg float %.sroa.0118.4.vec.extract
  %941 = call ptr @_pCf(ptr noundef nonnull %9)
  %942 = getelementptr inbounds i8, ptr %941, i64 4
  store float %.sroa.0118.0.vec.extract, ptr %941, align 4
  store float %940, ptr %942, align 4
  %943 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %943, ptr %14, align 8, !tbaa !13
  %944 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.0117.0.vec.extract = extractelement <2 x float> %944, i64 0
  %.sroa.0117.4.vec.extract = extractelement <2 x float> %944, i64 1
  %945 = fneg float %.sroa.0117.4.vec.extract
  %946 = call ptr @_pCf(ptr noundef nonnull %10)
  %947 = getelementptr inbounds i8, ptr %946, i64 4
  store float %.sroa.0117.0.vec.extract, ptr %946, align 4
  store float %945, ptr %947, align 4
  %948 = load float, ptr %4, align 4, !tbaa !9
  %949 = load float, ptr %904, align 4, !tbaa !12
  %950 = fneg float %949
  %951 = getelementptr inbounds i8, ptr %3, i64 24
  %952 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %953 = shufflevector <2 x float> %952, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %954 = insertelement <2 x float> poison, float %949, i64 0
  %955 = insertelement <2 x float> %954, float %950, i64 1
  %956 = fmul <2 x float> %952, %955
  %957 = insertelement <2 x float> poison, float %948, i64 0
  %958 = shufflevector <2 x float> %957, <2 x float> poison, <2 x i32> zeroinitializer
  %959 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %958, <2 x float> %953, <2 x float> %956)
  %960 = shufflevector <2 x float> %959, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %960, ptr %9, align 8, !tbaa !13
  %961 = call <2 x float> @Cf(ptr noundef nonnull %951)
  %.sroa.0116.0.vec.extract = extractelement <2 x float> %961, i64 0
  %.sroa.0116.4.vec.extract = extractelement <2 x float> %961, i64 1
  %962 = fneg float %.sroa.0116.4.vec.extract
  %963 = call ptr @_pCf(ptr noundef nonnull %9)
  %964 = getelementptr inbounds i8, ptr %963, i64 4
  store float %.sroa.0116.0.vec.extract, ptr %963, align 4
  store float %962, ptr %964, align 4
  %965 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %965, ptr %15, align 8, !tbaa !13
  %966 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.0115.0.vec.extract = extractelement <2 x float> %966, i64 0
  %.sroa.0115.4.vec.extract = extractelement <2 x float> %966, i64 1
  %967 = fneg float %.sroa.0115.4.vec.extract
  %968 = call ptr @_pCf(ptr noundef nonnull %10)
  %969 = getelementptr inbounds i8, ptr %968, i64 4
  store float %.sroa.0115.0.vec.extract, ptr %968, align 4
  store float %967, ptr %969, align 4
  %970 = load float, ptr %4, align 4, !tbaa !9
  %971 = load float, ptr %904, align 4, !tbaa !12
  %972 = fneg float %971
  %973 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %974 = shufflevector <2 x float> %973, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %975 = insertelement <2 x float> poison, float %971, i64 0
  %976 = insertelement <2 x float> %975, float %972, i64 1
  %977 = fmul <2 x float> %973, %976
  %978 = insertelement <2 x float> poison, float %970, i64 0
  %979 = shufflevector <2 x float> %978, <2 x float> poison, <2 x i32> zeroinitializer
  %980 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %979, <2 x float> %974, <2 x float> %977)
  %981 = shufflevector <2 x float> %980, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %981, ptr %9, align 8, !tbaa !13
  %982 = getelementptr inbounds i8, ptr %3, i64 32
  %983 = call <2 x float> @Cf(ptr noundef nonnull %982)
  %.sroa.0114.0.vec.extract = extractelement <2 x float> %983, i64 0
  %.sroa.0114.4.vec.extract = extractelement <2 x float> %983, i64 1
  %984 = fneg float %.sroa.0114.4.vec.extract
  %985 = call ptr @_pCf(ptr noundef nonnull %9)
  %986 = getelementptr inbounds i8, ptr %985, i64 4
  store float %.sroa.0114.0.vec.extract, ptr %985, align 4
  store float %984, ptr %986, align 4
  %987 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %987, ptr %16, align 8, !tbaa !13
  %988 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.0113.0.vec.extract = extractelement <2 x float> %988, i64 0
  %.sroa.0113.4.vec.extract = extractelement <2 x float> %988, i64 1
  %989 = fneg float %.sroa.0113.4.vec.extract
  %990 = call ptr @_pCf(ptr noundef nonnull %10)
  %991 = getelementptr inbounds i8, ptr %990, i64 4
  store float %.sroa.0113.0.vec.extract, ptr %990, align 4
  store float %989, ptr %991, align 4
  %992 = load float, ptr %4, align 4, !tbaa !9
  %993 = load float, ptr %904, align 4, !tbaa !12
  %994 = fneg float %993
  %995 = getelementptr inbounds i8, ptr %3, i64 40
  %996 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %997 = shufflevector <2 x float> %996, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %998 = insertelement <2 x float> poison, float %993, i64 0
  %999 = insertelement <2 x float> %998, float %994, i64 1
  %1000 = fmul <2 x float> %996, %999
  %1001 = insertelement <2 x float> poison, float %992, i64 0
  %1002 = shufflevector <2 x float> %1001, <2 x float> poison, <2 x i32> zeroinitializer
  %1003 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1002, <2 x float> %997, <2 x float> %1000)
  %1004 = shufflevector <2 x float> %1003, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1004, ptr %9, align 8, !tbaa !13
  %1005 = call <2 x float> @Cf(ptr noundef nonnull %995)
  %.sroa.0112.0.vec.extract = extractelement <2 x float> %1005, i64 0
  %.sroa.0112.4.vec.extract = extractelement <2 x float> %1005, i64 1
  %1006 = fneg float %.sroa.0112.4.vec.extract
  %1007 = call ptr @_pCf(ptr noundef nonnull %9)
  %1008 = getelementptr inbounds i8, ptr %1007, i64 4
  store float %.sroa.0112.0.vec.extract, ptr %1007, align 4
  store float %1006, ptr %1008, align 4
  %1009 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1009, ptr %17, align 8, !tbaa !13
  %1010 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.0111.0.vec.extract = extractelement <2 x float> %1010, i64 0
  %.sroa.0111.4.vec.extract = extractelement <2 x float> %1010, i64 1
  %1011 = fneg float %.sroa.0111.4.vec.extract
  %1012 = call ptr @_pCf(ptr noundef nonnull %10)
  %1013 = getelementptr inbounds i8, ptr %1012, i64 4
  store float %.sroa.0111.0.vec.extract, ptr %1012, align 4
  store float %1011, ptr %1013, align 4
  %1014 = load float, ptr %4, align 4, !tbaa !9
  %1015 = load float, ptr %904, align 4, !tbaa !12
  %1016 = fneg float %1015
  %1017 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1018 = shufflevector <2 x float> %1017, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1019 = insertelement <2 x float> poison, float %1015, i64 0
  %1020 = insertelement <2 x float> %1019, float %1016, i64 1
  %1021 = fmul <2 x float> %1017, %1020
  %1022 = insertelement <2 x float> poison, float %1014, i64 0
  %1023 = shufflevector <2 x float> %1022, <2 x float> poison, <2 x i32> zeroinitializer
  %1024 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1023, <2 x float> %1018, <2 x float> %1021)
  %1025 = shufflevector <2 x float> %1024, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1025, ptr %9, align 8, !tbaa !13
  %1026 = getelementptr inbounds i8, ptr %3, i64 48
  %1027 = call <2 x float> @Cf(ptr noundef nonnull %1026)
  %.sroa.0110.0.vec.extract = extractelement <2 x float> %1027, i64 0
  %.sroa.0110.4.vec.extract = extractelement <2 x float> %1027, i64 1
  %1028 = fneg float %.sroa.0110.4.vec.extract
  %1029 = call ptr @_pCf(ptr noundef nonnull %9)
  %1030 = getelementptr inbounds i8, ptr %1029, i64 4
  store float %.sroa.0110.0.vec.extract, ptr %1029, align 4
  store float %1028, ptr %1030, align 4
  %1031 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1031, ptr %18, align 8, !tbaa !13
  %1032 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.0109.0.vec.extract = extractelement <2 x float> %1032, i64 0
  %.sroa.0109.4.vec.extract = extractelement <2 x float> %1032, i64 1
  %1033 = fneg float %.sroa.0109.4.vec.extract
  %1034 = call ptr @_pCf(ptr noundef nonnull %10)
  %1035 = getelementptr inbounds i8, ptr %1034, i64 4
  store float %.sroa.0109.0.vec.extract, ptr %1034, align 4
  store float %1033, ptr %1035, align 4
  %1036 = load float, ptr %4, align 4, !tbaa !9
  %1037 = load float, ptr %904, align 4, !tbaa !12
  %1038 = fneg float %1037
  %1039 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1040 = insertelement <2 x float> poison, float %1037, i64 0
  %1041 = insertelement <2 x float> %1040, float %1038, i64 1
  %1042 = fmul <2 x float> %1039, %1041
  %1043 = shufflevector <2 x float> %1042, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1044 = insertelement <2 x float> poison, float %1036, i64 0
  %1045 = shufflevector <2 x float> %1044, <2 x float> poison, <2 x i32> zeroinitializer
  %1046 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1045, <2 x float> %1039, <2 x float> %1043)
  %1047 = load i32, ptr %2, align 4, !tbaa !5
  %.not44594524 = icmp slt i32 %1047, 1
  br i1 %.not44594524, label %.loopexit, label %.lr.ph4526

.lr.ph4526:                                       ; preds = %893
  %1048 = getelementptr inbounds i8, ptr %18, i64 4
  %1049 = getelementptr inbounds i8, ptr %17, i64 4
  %1050 = getelementptr inbounds i8, ptr %16, i64 4
  %1051 = getelementptr inbounds i8, ptr %15, i64 4
  %1052 = getelementptr inbounds i8, ptr %14, i64 4
  %1053 = getelementptr inbounds i8, ptr %13, i64 4
  %1054 = getelementptr inbounds i8, ptr %12, i64 4
  %1055 = load float, ptr %12, align 8, !tbaa !9
  %1056 = load float, ptr %1054, align 4, !tbaa !12
  %1057 = load float, ptr %13, align 8, !tbaa !9
  %1058 = load float, ptr %1053, align 4, !tbaa !12
  %1059 = insertelement <2 x float> poison, float %1056, i64 0
  %1060 = insertelement <2 x float> %1059, float %1058, i64 1
  %1061 = fneg <2 x float> %1060
  %1062 = load float, ptr %14, align 8, !tbaa !9
  %1063 = load float, ptr %1052, align 4, !tbaa !12
  %1064 = fneg float %1063
  %1065 = load float, ptr %15, align 8, !tbaa !9
  %1066 = load float, ptr %1051, align 4, !tbaa !12
  %1067 = fneg float %1066
  %1068 = load float, ptr %16, align 8, !tbaa !9
  %1069 = load float, ptr %1050, align 4, !tbaa !12
  %1070 = fneg float %1069
  %1071 = load float, ptr %17, align 8, !tbaa !9
  %1072 = load float, ptr %1049, align 4, !tbaa !12
  %1073 = fneg float %1072
  %1074 = load float, ptr %18, align 8, !tbaa !9
  %1075 = load float, ptr %1048, align 4, !tbaa !12
  %1076 = fneg float %1075
  %1077 = sext i32 %22 to i64
  %1078 = add nuw i32 %1047, 1
  %wide.trip.count4825 = zext i32 %1078 to i64
  %1079 = insertelement <2 x float> poison, float %1055, i64 0
  %1080 = insertelement <2 x float> %1079, float %1057, i64 1
  %1081 = shufflevector <2 x float> %915, <2 x float> %936, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1082 = shufflevector <2 x float> %915, <2 x float> %936, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1083 = shufflevector <2 x float> %959, <2 x float> %980, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1084 = shufflevector <2 x float> %959, <2 x float> %980, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1085 = shufflevector <2 x float> %1003, <2 x float> %1024, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1086 = shufflevector <2 x float> %1003, <2 x float> %1024, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %1087

1087:                                             ; preds = %.lr.ph4526, %1087
  %indvars.iv4822 = phi i64 [ 1, %.lr.ph4526 ], [ %indvars.iv.next4823, %1087 ]
  %1088 = mul nsw i64 %indvars.iv4822, %1077
  %1089 = getelementptr %struct.complex, ptr %24, i64 %1088
  %1090 = getelementptr i8, ptr %1089, i64 8
  %1091 = getelementptr i8, ptr %1089, i64 24
  %1092 = getelementptr i8, ptr %1089, i64 40
  %1093 = getelementptr i8, ptr %1089, i64 56
  %1094 = load <4 x float>, ptr %1090, align 4, !tbaa !13
  %1095 = shufflevector <4 x float> %1094, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %1096 = fmul <2 x float> %1095, %1061
  %1097 = shufflevector <4 x float> %1094, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %1098 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1080, <2 x float> %1097, <2 x float> %1096)
  %1099 = fmul <2 x float> %1097, %1060
  %1100 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1080, <2 x float> %1095, <2 x float> %1099)
  %shift6822 = shufflevector <2 x float> %1098, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1101 = fadd <2 x float> %1098, %shift6822
  %1102 = extractelement <2 x float> %1101, i64 0
  %shift6823 = shufflevector <2 x float> %1100, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1103 = fadd <2 x float> %1100, %shift6823
  %1104 = extractelement <2 x float> %1103, i64 0
  %1105 = load <4 x float>, ptr %1091, align 4, !tbaa !13
  %1106 = extractelement <4 x float> %1105, i64 1
  %1107 = fmul float %1106, %1064
  %1108 = extractelement <4 x float> %1105, i64 0
  %1109 = call float @llvm.fmuladd.f32(float %1062, float %1108, float %1107)
  %1110 = fmul float %1108, %1063
  %1111 = call float @llvm.fmuladd.f32(float %1062, float %1106, float %1110)
  %1112 = extractelement <4 x float> %1105, i64 3
  %1113 = fmul float %1112, %1067
  %1114 = extractelement <4 x float> %1105, i64 2
  %1115 = call float @llvm.fmuladd.f32(float %1065, float %1114, float %1113)
  %1116 = fmul float %1114, %1066
  %1117 = call float @llvm.fmuladd.f32(float %1065, float %1112, float %1116)
  %1118 = fadd float %1102, %1109
  %1119 = fadd float %1104, %1111
  %1120 = fadd float %1118, %1115
  %1121 = fadd float %1119, %1117
  %1122 = load <4 x float>, ptr %1092, align 4, !tbaa !13
  %1123 = extractelement <4 x float> %1122, i64 1
  %1124 = fmul float %1123, %1070
  %1125 = extractelement <4 x float> %1122, i64 0
  %1126 = call float @llvm.fmuladd.f32(float %1068, float %1125, float %1124)
  %1127 = fmul float %1125, %1069
  %1128 = call float @llvm.fmuladd.f32(float %1068, float %1123, float %1127)
  %1129 = extractelement <4 x float> %1122, i64 3
  %1130 = fmul float %1129, %1073
  %1131 = extractelement <4 x float> %1122, i64 2
  %1132 = call float @llvm.fmuladd.f32(float %1071, float %1131, float %1130)
  %1133 = fmul float %1131, %1072
  %1134 = call float @llvm.fmuladd.f32(float %1071, float %1129, float %1133)
  %1135 = fadd float %1120, %1126
  %1136 = fadd float %1121, %1128
  %1137 = fadd float %1135, %1132
  %1138 = fadd float %1136, %1134
  %1139 = load <2 x float>, ptr %1093, align 4, !tbaa !13
  %1140 = extractelement <2 x float> %1139, i64 1
  %1141 = fmul float %1140, %1076
  %1142 = extractelement <2 x float> %1139, i64 0
  %1143 = call float @llvm.fmuladd.f32(float %1074, float %1142, float %1141)
  %1144 = fmul float %1142, %1075
  %1145 = call float @llvm.fmuladd.f32(float %1074, float %1140, float %1144)
  %1146 = fadd float %1137, %1143
  %1147 = fadd float %1145, %1138
  %1148 = fneg float %1147
  %1149 = insertelement <4 x float> poison, float %1148, i64 0
  %1150 = insertelement <4 x float> %1149, float %1147, i64 1
  %1151 = shufflevector <4 x float> %1150, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %1152 = fmul <4 x float> %1081, %1151
  %1153 = insertelement <4 x float> poison, float %1146, i64 0
  %1154 = shufflevector <4 x float> %1153, <4 x float> poison, <4 x i32> zeroinitializer
  %1155 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1154, <4 x float> %1082, <4 x float> %1152)
  %1156 = fsub <4 x float> %1094, %1155
  store <4 x float> %1156, ptr %1090, align 4, !tbaa !13
  %1157 = fmul <4 x float> %1083, %1151
  %1158 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1154, <4 x float> %1084, <4 x float> %1157)
  %1159 = fsub <4 x float> %1105, %1158
  store <4 x float> %1159, ptr %1091, align 4, !tbaa !13
  %1160 = fmul <4 x float> %1085, %1151
  %1161 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1154, <4 x float> %1086, <4 x float> %1160)
  %1162 = fsub <4 x float> %1122, %1161
  store <4 x float> %1162, ptr %1092, align 4, !tbaa !13
  %1163 = insertelement <2 x float> poison, float %1147, i64 0
  %1164 = insertelement <2 x float> %1163, float %1148, i64 1
  %1165 = fmul <2 x float> %1046, %1164
  %1166 = shufflevector <2 x float> %1165, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1167 = insertelement <2 x float> poison, float %1146, i64 0
  %1168 = shufflevector <2 x float> %1167, <2 x float> poison, <2 x i32> zeroinitializer
  %1169 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1168, <2 x float> %1046, <2 x float> %1166)
  %1170 = fsub <2 x float> %1139, %1169
  store <2 x float> %1170, ptr %1093, align 4, !tbaa !13
  %indvars.iv.next4823 = add nuw nsw i64 %indvars.iv4822, 1
  %exitcond4826.not = icmp eq i64 %indvars.iv.next4823, %wide.trip.count4825
  br i1 %exitcond4826.not, label %.loopexit, label %1087, !llvm.loop !21

1171:                                             ; preds = %33
  %1172 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.0108.0.vec.extract = extractelement <2 x float> %1172, i64 0
  %.sroa.0108.4.vec.extract = extractelement <2 x float> %1172, i64 1
  %1173 = fneg float %.sroa.0108.4.vec.extract
  %1174 = call ptr @_pCf(ptr noundef nonnull %9)
  %1175 = getelementptr inbounds i8, ptr %1174, i64 4
  store float %.sroa.0108.0.vec.extract, ptr %1174, align 4
  store float %1173, ptr %1175, align 4
  %1176 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1176, ptr %12, align 8, !tbaa !13
  %1177 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.0107.0.vec.extract = extractelement <2 x float> %1177, i64 0
  %.sroa.0107.4.vec.extract = extractelement <2 x float> %1177, i64 1
  %1178 = fneg float %.sroa.0107.4.vec.extract
  %1179 = call ptr @_pCf(ptr noundef nonnull %10)
  %1180 = getelementptr inbounds i8, ptr %1179, i64 4
  store float %.sroa.0107.0.vec.extract, ptr %1179, align 4
  store float %1178, ptr %1180, align 4
  %1181 = load float, ptr %4, align 4, !tbaa !9
  %1182 = getelementptr inbounds i8, ptr %4, i64 4
  %1183 = load float, ptr %1182, align 4, !tbaa !12
  %1184 = fneg float %1183
  %1185 = getelementptr inbounds i8, ptr %3, i64 8
  %1186 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1187 = shufflevector <2 x float> %1186, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1188 = insertelement <2 x float> poison, float %1183, i64 0
  %1189 = insertelement <2 x float> %1188, float %1184, i64 1
  %1190 = fmul <2 x float> %1186, %1189
  %1191 = insertelement <2 x float> poison, float %1181, i64 0
  %1192 = shufflevector <2 x float> %1191, <2 x float> poison, <2 x i32> zeroinitializer
  %1193 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1192, <2 x float> %1187, <2 x float> %1190)
  %1194 = shufflevector <2 x float> %1193, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1194, ptr %9, align 8, !tbaa !13
  %1195 = call <2 x float> @Cf(ptr noundef nonnull %1185)
  %.sroa.0106.0.vec.extract = extractelement <2 x float> %1195, i64 0
  %.sroa.0106.4.vec.extract = extractelement <2 x float> %1195, i64 1
  %1196 = fneg float %.sroa.0106.4.vec.extract
  %1197 = call ptr @_pCf(ptr noundef nonnull %9)
  %1198 = getelementptr inbounds i8, ptr %1197, i64 4
  store float %.sroa.0106.0.vec.extract, ptr %1197, align 4
  store float %1196, ptr %1198, align 4
  %1199 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1199, ptr %13, align 8, !tbaa !13
  %1200 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.0105.0.vec.extract = extractelement <2 x float> %1200, i64 0
  %.sroa.0105.4.vec.extract = extractelement <2 x float> %1200, i64 1
  %1201 = fneg float %.sroa.0105.4.vec.extract
  %1202 = call ptr @_pCf(ptr noundef nonnull %10)
  %1203 = getelementptr inbounds i8, ptr %1202, i64 4
  store float %.sroa.0105.0.vec.extract, ptr %1202, align 4
  store float %1201, ptr %1203, align 4
  %1204 = load float, ptr %4, align 4, !tbaa !9
  %1205 = load float, ptr %1182, align 4, !tbaa !12
  %1206 = fneg float %1205
  %1207 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1208 = shufflevector <2 x float> %1207, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1209 = insertelement <2 x float> poison, float %1205, i64 0
  %1210 = insertelement <2 x float> %1209, float %1206, i64 1
  %1211 = fmul <2 x float> %1207, %1210
  %1212 = insertelement <2 x float> poison, float %1204, i64 0
  %1213 = shufflevector <2 x float> %1212, <2 x float> poison, <2 x i32> zeroinitializer
  %1214 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1213, <2 x float> %1208, <2 x float> %1211)
  %1215 = shufflevector <2 x float> %1214, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1215, ptr %9, align 8, !tbaa !13
  %1216 = getelementptr inbounds i8, ptr %3, i64 16
  %1217 = call <2 x float> @Cf(ptr noundef nonnull %1216)
  %.sroa.0104.0.vec.extract = extractelement <2 x float> %1217, i64 0
  %.sroa.0104.4.vec.extract = extractelement <2 x float> %1217, i64 1
  %1218 = fneg float %.sroa.0104.4.vec.extract
  %1219 = call ptr @_pCf(ptr noundef nonnull %9)
  %1220 = getelementptr inbounds i8, ptr %1219, i64 4
  store float %.sroa.0104.0.vec.extract, ptr %1219, align 4
  store float %1218, ptr %1220, align 4
  %1221 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1221, ptr %14, align 8, !tbaa !13
  %1222 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.0103.0.vec.extract = extractelement <2 x float> %1222, i64 0
  %.sroa.0103.4.vec.extract = extractelement <2 x float> %1222, i64 1
  %1223 = fneg float %.sroa.0103.4.vec.extract
  %1224 = call ptr @_pCf(ptr noundef nonnull %10)
  %1225 = getelementptr inbounds i8, ptr %1224, i64 4
  store float %.sroa.0103.0.vec.extract, ptr %1224, align 4
  store float %1223, ptr %1225, align 4
  %1226 = load float, ptr %4, align 4, !tbaa !9
  %1227 = load float, ptr %1182, align 4, !tbaa !12
  %1228 = fneg float %1227
  %1229 = getelementptr inbounds i8, ptr %3, i64 24
  %1230 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1231 = shufflevector <2 x float> %1230, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1232 = insertelement <2 x float> poison, float %1227, i64 0
  %1233 = insertelement <2 x float> %1232, float %1228, i64 1
  %1234 = fmul <2 x float> %1230, %1233
  %1235 = insertelement <2 x float> poison, float %1226, i64 0
  %1236 = shufflevector <2 x float> %1235, <2 x float> poison, <2 x i32> zeroinitializer
  %1237 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1236, <2 x float> %1231, <2 x float> %1234)
  %1238 = shufflevector <2 x float> %1237, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1238, ptr %9, align 8, !tbaa !13
  %1239 = call <2 x float> @Cf(ptr noundef nonnull %1229)
  %.sroa.0102.0.vec.extract = extractelement <2 x float> %1239, i64 0
  %.sroa.0102.4.vec.extract = extractelement <2 x float> %1239, i64 1
  %1240 = fneg float %.sroa.0102.4.vec.extract
  %1241 = call ptr @_pCf(ptr noundef nonnull %9)
  %1242 = getelementptr inbounds i8, ptr %1241, i64 4
  store float %.sroa.0102.0.vec.extract, ptr %1241, align 4
  store float %1240, ptr %1242, align 4
  %1243 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1243, ptr %15, align 8, !tbaa !13
  %1244 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.0101.0.vec.extract = extractelement <2 x float> %1244, i64 0
  %.sroa.0101.4.vec.extract = extractelement <2 x float> %1244, i64 1
  %1245 = fneg float %.sroa.0101.4.vec.extract
  %1246 = call ptr @_pCf(ptr noundef nonnull %10)
  %1247 = getelementptr inbounds i8, ptr %1246, i64 4
  store float %.sroa.0101.0.vec.extract, ptr %1246, align 4
  store float %1245, ptr %1247, align 4
  %1248 = load float, ptr %4, align 4, !tbaa !9
  %1249 = load float, ptr %1182, align 4, !tbaa !12
  %1250 = fneg float %1249
  %1251 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1252 = shufflevector <2 x float> %1251, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1253 = insertelement <2 x float> poison, float %1249, i64 0
  %1254 = insertelement <2 x float> %1253, float %1250, i64 1
  %1255 = fmul <2 x float> %1251, %1254
  %1256 = insertelement <2 x float> poison, float %1248, i64 0
  %1257 = shufflevector <2 x float> %1256, <2 x float> poison, <2 x i32> zeroinitializer
  %1258 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1257, <2 x float> %1252, <2 x float> %1255)
  %1259 = shufflevector <2 x float> %1258, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1259, ptr %9, align 8, !tbaa !13
  %1260 = getelementptr inbounds i8, ptr %3, i64 32
  %1261 = call <2 x float> @Cf(ptr noundef nonnull %1260)
  %.sroa.0100.0.vec.extract = extractelement <2 x float> %1261, i64 0
  %.sroa.0100.4.vec.extract = extractelement <2 x float> %1261, i64 1
  %1262 = fneg float %.sroa.0100.4.vec.extract
  %1263 = call ptr @_pCf(ptr noundef nonnull %9)
  %1264 = getelementptr inbounds i8, ptr %1263, i64 4
  store float %.sroa.0100.0.vec.extract, ptr %1263, align 4
  store float %1262, ptr %1264, align 4
  %1265 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1265, ptr %16, align 8, !tbaa !13
  %1266 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.099.0.vec.extract = extractelement <2 x float> %1266, i64 0
  %.sroa.099.4.vec.extract = extractelement <2 x float> %1266, i64 1
  %1267 = fneg float %.sroa.099.4.vec.extract
  %1268 = call ptr @_pCf(ptr noundef nonnull %10)
  %1269 = getelementptr inbounds i8, ptr %1268, i64 4
  store float %.sroa.099.0.vec.extract, ptr %1268, align 4
  store float %1267, ptr %1269, align 4
  %1270 = load float, ptr %4, align 4, !tbaa !9
  %1271 = load float, ptr %1182, align 4, !tbaa !12
  %1272 = fneg float %1271
  %1273 = getelementptr inbounds i8, ptr %3, i64 40
  %1274 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1275 = shufflevector <2 x float> %1274, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1276 = insertelement <2 x float> poison, float %1271, i64 0
  %1277 = insertelement <2 x float> %1276, float %1272, i64 1
  %1278 = fmul <2 x float> %1274, %1277
  %1279 = insertelement <2 x float> poison, float %1270, i64 0
  %1280 = shufflevector <2 x float> %1279, <2 x float> poison, <2 x i32> zeroinitializer
  %1281 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1280, <2 x float> %1275, <2 x float> %1278)
  %1282 = shufflevector <2 x float> %1281, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1282, ptr %9, align 8, !tbaa !13
  %1283 = call <2 x float> @Cf(ptr noundef nonnull %1273)
  %.sroa.098.0.vec.extract = extractelement <2 x float> %1283, i64 0
  %.sroa.098.4.vec.extract = extractelement <2 x float> %1283, i64 1
  %1284 = fneg float %.sroa.098.4.vec.extract
  %1285 = call ptr @_pCf(ptr noundef nonnull %9)
  %1286 = getelementptr inbounds i8, ptr %1285, i64 4
  store float %.sroa.098.0.vec.extract, ptr %1285, align 4
  store float %1284, ptr %1286, align 4
  %1287 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1287, ptr %17, align 8, !tbaa !13
  %1288 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.097.0.vec.extract = extractelement <2 x float> %1288, i64 0
  %.sroa.097.4.vec.extract = extractelement <2 x float> %1288, i64 1
  %1289 = fneg float %.sroa.097.4.vec.extract
  %1290 = call ptr @_pCf(ptr noundef nonnull %10)
  %1291 = getelementptr inbounds i8, ptr %1290, i64 4
  store float %.sroa.097.0.vec.extract, ptr %1290, align 4
  store float %1289, ptr %1291, align 4
  %1292 = load float, ptr %4, align 4, !tbaa !9
  %1293 = load float, ptr %1182, align 4, !tbaa !12
  %1294 = fneg float %1293
  %1295 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1296 = shufflevector <2 x float> %1295, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1297 = insertelement <2 x float> poison, float %1293, i64 0
  %1298 = insertelement <2 x float> %1297, float %1294, i64 1
  %1299 = fmul <2 x float> %1295, %1298
  %1300 = insertelement <2 x float> poison, float %1292, i64 0
  %1301 = shufflevector <2 x float> %1300, <2 x float> poison, <2 x i32> zeroinitializer
  %1302 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1301, <2 x float> %1296, <2 x float> %1299)
  %1303 = shufflevector <2 x float> %1302, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1303, ptr %9, align 8, !tbaa !13
  %1304 = getelementptr inbounds i8, ptr %3, i64 48
  %1305 = call <2 x float> @Cf(ptr noundef nonnull %1304)
  %.sroa.096.0.vec.extract = extractelement <2 x float> %1305, i64 0
  %.sroa.096.4.vec.extract = extractelement <2 x float> %1305, i64 1
  %1306 = fneg float %.sroa.096.4.vec.extract
  %1307 = call ptr @_pCf(ptr noundef nonnull %9)
  %1308 = getelementptr inbounds i8, ptr %1307, i64 4
  store float %.sroa.096.0.vec.extract, ptr %1307, align 4
  store float %1306, ptr %1308, align 4
  %1309 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1309, ptr %18, align 8, !tbaa !13
  %1310 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.095.0.vec.extract = extractelement <2 x float> %1310, i64 0
  %.sroa.095.4.vec.extract = extractelement <2 x float> %1310, i64 1
  %1311 = fneg float %.sroa.095.4.vec.extract
  %1312 = call ptr @_pCf(ptr noundef nonnull %10)
  %1313 = getelementptr inbounds i8, ptr %1312, i64 4
  store float %.sroa.095.0.vec.extract, ptr %1312, align 4
  store float %1311, ptr %1313, align 4
  %1314 = load float, ptr %4, align 4, !tbaa !9
  %1315 = load float, ptr %1182, align 4, !tbaa !12
  %1316 = fneg float %1315
  %1317 = getelementptr inbounds i8, ptr %3, i64 56
  %1318 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1319 = shufflevector <2 x float> %1318, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1320 = insertelement <2 x float> poison, float %1315, i64 0
  %1321 = insertelement <2 x float> %1320, float %1316, i64 1
  %1322 = fmul <2 x float> %1318, %1321
  %1323 = insertelement <2 x float> poison, float %1314, i64 0
  %1324 = shufflevector <2 x float> %1323, <2 x float> poison, <2 x i32> zeroinitializer
  %1325 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1324, <2 x float> %1319, <2 x float> %1322)
  %1326 = shufflevector <2 x float> %1325, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1326, ptr %9, align 8, !tbaa !13
  %1327 = call <2 x float> @Cf(ptr noundef nonnull %1317)
  %.sroa.094.0.vec.extract = extractelement <2 x float> %1327, i64 0
  %.sroa.094.4.vec.extract = extractelement <2 x float> %1327, i64 1
  %1328 = fneg float %.sroa.094.4.vec.extract
  %1329 = call ptr @_pCf(ptr noundef nonnull %9)
  %1330 = getelementptr inbounds i8, ptr %1329, i64 4
  store float %.sroa.094.0.vec.extract, ptr %1329, align 4
  store float %1328, ptr %1330, align 4
  %1331 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1331, ptr %19, align 8, !tbaa !13
  %1332 = call <2 x float> @Cf(ptr noundef nonnull %19)
  %.sroa.093.0.vec.extract = extractelement <2 x float> %1332, i64 0
  %.sroa.093.4.vec.extract = extractelement <2 x float> %1332, i64 1
  %1333 = fneg float %.sroa.093.4.vec.extract
  %1334 = call ptr @_pCf(ptr noundef nonnull %10)
  %1335 = getelementptr inbounds i8, ptr %1334, i64 4
  store float %.sroa.093.0.vec.extract, ptr %1334, align 4
  store float %1333, ptr %1335, align 4
  %1336 = load float, ptr %4, align 4, !tbaa !9
  %1337 = load float, ptr %1182, align 4, !tbaa !12
  %1338 = fneg float %1337
  %1339 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1340 = shufflevector <2 x float> %1339, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1341 = insertelement <2 x float> poison, float %1337, i64 0
  %1342 = insertelement <2 x float> %1341, float %1338, i64 1
  %1343 = fmul <2 x float> %1339, %1342
  %1344 = insertelement <2 x float> poison, float %1336, i64 0
  %1345 = shufflevector <2 x float> %1344, <2 x float> poison, <2 x i32> zeroinitializer
  %1346 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1345, <2 x float> %1340, <2 x float> %1343)
  %1347 = load i32, ptr %2, align 4, !tbaa !5
  %.not44584511 = icmp slt i32 %1347, 1
  br i1 %.not44584511, label %.loopexit, label %.lr.ph4513

.lr.ph4513:                                       ; preds = %1171
  %1348 = getelementptr inbounds i8, ptr %19, i64 4
  %1349 = getelementptr inbounds i8, ptr %18, i64 4
  %1350 = getelementptr inbounds i8, ptr %17, i64 4
  %1351 = getelementptr inbounds i8, ptr %16, i64 4
  %1352 = getelementptr inbounds i8, ptr %15, i64 4
  %1353 = getelementptr inbounds i8, ptr %14, i64 4
  %1354 = getelementptr inbounds i8, ptr %13, i64 4
  %1355 = getelementptr inbounds i8, ptr %12, i64 4
  %1356 = load float, ptr %12, align 8, !tbaa !9
  %1357 = load float, ptr %1355, align 4, !tbaa !12
  %1358 = load float, ptr %13, align 8, !tbaa !9
  %1359 = load float, ptr %1354, align 4, !tbaa !12
  %1360 = insertelement <2 x float> poison, float %1357, i64 0
  %1361 = insertelement <2 x float> %1360, float %1359, i64 1
  %1362 = fneg <2 x float> %1361
  %1363 = load float, ptr %14, align 8, !tbaa !9
  %1364 = load float, ptr %1353, align 4, !tbaa !12
  %1365 = fneg float %1364
  %1366 = load float, ptr %15, align 8, !tbaa !9
  %1367 = load float, ptr %1352, align 4, !tbaa !12
  %1368 = fneg float %1367
  %1369 = load float, ptr %16, align 8, !tbaa !9
  %1370 = load float, ptr %1351, align 4, !tbaa !12
  %1371 = fneg float %1370
  %1372 = load float, ptr %17, align 8, !tbaa !9
  %1373 = load float, ptr %1350, align 4, !tbaa !12
  %1374 = fneg float %1373
  %1375 = load float, ptr %18, align 8, !tbaa !9
  %1376 = load float, ptr %1349, align 4, !tbaa !12
  %1377 = fneg float %1376
  %1378 = load float, ptr %19, align 8, !tbaa !9
  %1379 = load float, ptr %1348, align 4, !tbaa !12
  %1380 = fneg float %1379
  %1381 = sext i32 %22 to i64
  %1382 = add nuw i32 %1347, 1
  %wide.trip.count4820 = zext i32 %1382 to i64
  %1383 = insertelement <2 x float> poison, float %1356, i64 0
  %1384 = insertelement <2 x float> %1383, float %1358, i64 1
  %1385 = shufflevector <2 x float> %1193, <2 x float> %1214, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1386 = shufflevector <2 x float> %1193, <2 x float> %1214, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1387 = shufflevector <2 x float> %1237, <2 x float> %1258, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1388 = shufflevector <2 x float> %1237, <2 x float> %1258, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1389 = shufflevector <2 x float> %1281, <2 x float> %1302, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1390 = shufflevector <2 x float> %1281, <2 x float> %1302, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1391 = shufflevector <2 x float> %1325, <2 x float> %1346, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1392 = shufflevector <2 x float> %1325, <2 x float> %1346, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %1393

1393:                                             ; preds = %.lr.ph4513, %1393
  %indvars.iv4817 = phi i64 [ 1, %.lr.ph4513 ], [ %indvars.iv.next4818, %1393 ]
  %1394 = mul nsw i64 %indvars.iv4817, %1381
  %1395 = getelementptr %struct.complex, ptr %24, i64 %1394
  %1396 = getelementptr i8, ptr %1395, i64 8
  %1397 = getelementptr i8, ptr %1395, i64 24
  %1398 = getelementptr i8, ptr %1395, i64 40
  %1399 = getelementptr i8, ptr %1395, i64 56
  %1400 = load <4 x float>, ptr %1396, align 4, !tbaa !13
  %1401 = shufflevector <4 x float> %1400, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %1402 = fmul <2 x float> %1401, %1362
  %1403 = shufflevector <4 x float> %1400, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %1404 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1384, <2 x float> %1403, <2 x float> %1402)
  %1405 = fmul <2 x float> %1403, %1361
  %1406 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1384, <2 x float> %1401, <2 x float> %1405)
  %shift6824 = shufflevector <2 x float> %1404, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1407 = fadd <2 x float> %1404, %shift6824
  %1408 = extractelement <2 x float> %1407, i64 0
  %shift6825 = shufflevector <2 x float> %1406, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1409 = fadd <2 x float> %1406, %shift6825
  %1410 = extractelement <2 x float> %1409, i64 0
  %1411 = load <4 x float>, ptr %1397, align 4, !tbaa !13
  %1412 = extractelement <4 x float> %1411, i64 1
  %1413 = fmul float %1412, %1365
  %1414 = extractelement <4 x float> %1411, i64 0
  %1415 = call float @llvm.fmuladd.f32(float %1363, float %1414, float %1413)
  %1416 = fmul float %1414, %1364
  %1417 = call float @llvm.fmuladd.f32(float %1363, float %1412, float %1416)
  %1418 = extractelement <4 x float> %1411, i64 3
  %1419 = fmul float %1418, %1368
  %1420 = extractelement <4 x float> %1411, i64 2
  %1421 = call float @llvm.fmuladd.f32(float %1366, float %1420, float %1419)
  %1422 = fmul float %1420, %1367
  %1423 = call float @llvm.fmuladd.f32(float %1366, float %1418, float %1422)
  %1424 = fadd float %1408, %1415
  %1425 = fadd float %1410, %1417
  %1426 = fadd float %1424, %1421
  %1427 = fadd float %1425, %1423
  %1428 = load <4 x float>, ptr %1398, align 4, !tbaa !13
  %1429 = extractelement <4 x float> %1428, i64 1
  %1430 = fmul float %1429, %1371
  %1431 = extractelement <4 x float> %1428, i64 0
  %1432 = call float @llvm.fmuladd.f32(float %1369, float %1431, float %1430)
  %1433 = fmul float %1431, %1370
  %1434 = call float @llvm.fmuladd.f32(float %1369, float %1429, float %1433)
  %1435 = extractelement <4 x float> %1428, i64 3
  %1436 = fmul float %1435, %1374
  %1437 = extractelement <4 x float> %1428, i64 2
  %1438 = call float @llvm.fmuladd.f32(float %1372, float %1437, float %1436)
  %1439 = fmul float %1437, %1373
  %1440 = call float @llvm.fmuladd.f32(float %1372, float %1435, float %1439)
  %1441 = fadd float %1426, %1432
  %1442 = fadd float %1427, %1434
  %1443 = fadd float %1441, %1438
  %1444 = fadd float %1442, %1440
  %1445 = load <4 x float>, ptr %1399, align 4, !tbaa !13
  %1446 = extractelement <4 x float> %1445, i64 1
  %1447 = fmul float %1446, %1377
  %1448 = extractelement <4 x float> %1445, i64 0
  %1449 = call float @llvm.fmuladd.f32(float %1375, float %1448, float %1447)
  %1450 = fmul float %1448, %1376
  %1451 = call float @llvm.fmuladd.f32(float %1375, float %1446, float %1450)
  %1452 = extractelement <4 x float> %1445, i64 3
  %1453 = fmul float %1452, %1380
  %1454 = extractelement <4 x float> %1445, i64 2
  %1455 = call float @llvm.fmuladd.f32(float %1378, float %1454, float %1453)
  %1456 = fmul float %1454, %1379
  %1457 = call float @llvm.fmuladd.f32(float %1378, float %1452, float %1456)
  %1458 = fadd float %1443, %1449
  %1459 = fadd float %1444, %1451
  %1460 = fadd float %1458, %1455
  %1461 = fadd float %1457, %1459
  %1462 = fneg float %1461
  %1463 = insertelement <4 x float> poison, float %1462, i64 0
  %1464 = insertelement <4 x float> %1463, float %1461, i64 1
  %1465 = shufflevector <4 x float> %1464, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %1466 = fmul <4 x float> %1385, %1465
  %1467 = insertelement <4 x float> poison, float %1460, i64 0
  %1468 = shufflevector <4 x float> %1467, <4 x float> poison, <4 x i32> zeroinitializer
  %1469 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1468, <4 x float> %1386, <4 x float> %1466)
  %1470 = fsub <4 x float> %1400, %1469
  store <4 x float> %1470, ptr %1396, align 4, !tbaa !13
  %1471 = fmul <4 x float> %1387, %1465
  %1472 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1468, <4 x float> %1388, <4 x float> %1471)
  %1473 = fsub <4 x float> %1411, %1472
  store <4 x float> %1473, ptr %1397, align 4, !tbaa !13
  %1474 = fmul <4 x float> %1389, %1465
  %1475 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1468, <4 x float> %1390, <4 x float> %1474)
  %1476 = fsub <4 x float> %1428, %1475
  store <4 x float> %1476, ptr %1398, align 4, !tbaa !13
  %1477 = fmul <4 x float> %1391, %1465
  %1478 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1468, <4 x float> %1392, <4 x float> %1477)
  %1479 = fsub <4 x float> %1445, %1478
  store <4 x float> %1479, ptr %1399, align 4, !tbaa !13
  %indvars.iv.next4818 = add nuw nsw i64 %indvars.iv4817, 1
  %exitcond4821.not = icmp eq i64 %indvars.iv.next4818, %wide.trip.count4820
  br i1 %exitcond4821.not, label %.loopexit, label %1393, !llvm.loop !22

1480:                                             ; preds = %33
  %1481 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.092.0.vec.extract = extractelement <2 x float> %1481, i64 0
  %.sroa.092.4.vec.extract = extractelement <2 x float> %1481, i64 1
  %1482 = fneg float %.sroa.092.4.vec.extract
  %1483 = call ptr @_pCf(ptr noundef nonnull %9)
  %1484 = getelementptr inbounds i8, ptr %1483, i64 4
  store float %.sroa.092.0.vec.extract, ptr %1483, align 4
  store float %1482, ptr %1484, align 4
  %1485 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1485, ptr %12, align 8, !tbaa !13
  %1486 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.091.0.vec.extract = extractelement <2 x float> %1486, i64 0
  %.sroa.091.4.vec.extract = extractelement <2 x float> %1486, i64 1
  %1487 = fneg float %.sroa.091.4.vec.extract
  %1488 = call ptr @_pCf(ptr noundef nonnull %10)
  %1489 = getelementptr inbounds i8, ptr %1488, i64 4
  store float %.sroa.091.0.vec.extract, ptr %1488, align 4
  store float %1487, ptr %1489, align 4
  %1490 = load float, ptr %4, align 4, !tbaa !9
  %1491 = getelementptr inbounds i8, ptr %4, i64 4
  %1492 = load float, ptr %1491, align 4, !tbaa !12
  %1493 = fneg float %1492
  %1494 = getelementptr inbounds i8, ptr %3, i64 8
  %1495 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1496 = shufflevector <2 x float> %1495, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1497 = insertelement <2 x float> poison, float %1492, i64 0
  %1498 = insertelement <2 x float> %1497, float %1493, i64 1
  %1499 = fmul <2 x float> %1495, %1498
  %1500 = insertelement <2 x float> poison, float %1490, i64 0
  %1501 = shufflevector <2 x float> %1500, <2 x float> poison, <2 x i32> zeroinitializer
  %1502 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1501, <2 x float> %1496, <2 x float> %1499)
  %1503 = shufflevector <2 x float> %1502, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1503, ptr %9, align 8, !tbaa !13
  %1504 = call <2 x float> @Cf(ptr noundef nonnull %1494)
  %.sroa.090.0.vec.extract = extractelement <2 x float> %1504, i64 0
  %.sroa.090.4.vec.extract = extractelement <2 x float> %1504, i64 1
  %1505 = fneg float %.sroa.090.4.vec.extract
  %1506 = call ptr @_pCf(ptr noundef nonnull %9)
  %1507 = getelementptr inbounds i8, ptr %1506, i64 4
  store float %.sroa.090.0.vec.extract, ptr %1506, align 4
  store float %1505, ptr %1507, align 4
  %1508 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1508, ptr %13, align 8, !tbaa !13
  %1509 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.089.0.vec.extract = extractelement <2 x float> %1509, i64 0
  %.sroa.089.4.vec.extract = extractelement <2 x float> %1509, i64 1
  %1510 = fneg float %.sroa.089.4.vec.extract
  %1511 = call ptr @_pCf(ptr noundef nonnull %10)
  %1512 = getelementptr inbounds i8, ptr %1511, i64 4
  store float %.sroa.089.0.vec.extract, ptr %1511, align 4
  store float %1510, ptr %1512, align 4
  %1513 = load float, ptr %4, align 4, !tbaa !9
  %1514 = load float, ptr %1491, align 4, !tbaa !12
  %1515 = fneg float %1514
  %1516 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1517 = shufflevector <2 x float> %1516, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1518 = insertelement <2 x float> poison, float %1514, i64 0
  %1519 = insertelement <2 x float> %1518, float %1515, i64 1
  %1520 = fmul <2 x float> %1516, %1519
  %1521 = insertelement <2 x float> poison, float %1513, i64 0
  %1522 = shufflevector <2 x float> %1521, <2 x float> poison, <2 x i32> zeroinitializer
  %1523 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1522, <2 x float> %1517, <2 x float> %1520)
  %1524 = shufflevector <2 x float> %1523, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1524, ptr %9, align 8, !tbaa !13
  %1525 = getelementptr inbounds i8, ptr %3, i64 16
  %1526 = call <2 x float> @Cf(ptr noundef nonnull %1525)
  %.sroa.088.0.vec.extract = extractelement <2 x float> %1526, i64 0
  %.sroa.088.4.vec.extract = extractelement <2 x float> %1526, i64 1
  %1527 = fneg float %.sroa.088.4.vec.extract
  %1528 = call ptr @_pCf(ptr noundef nonnull %9)
  %1529 = getelementptr inbounds i8, ptr %1528, i64 4
  store float %.sroa.088.0.vec.extract, ptr %1528, align 4
  store float %1527, ptr %1529, align 4
  %1530 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1530, ptr %14, align 8, !tbaa !13
  %1531 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.087.0.vec.extract = extractelement <2 x float> %1531, i64 0
  %.sroa.087.4.vec.extract = extractelement <2 x float> %1531, i64 1
  %1532 = fneg float %.sroa.087.4.vec.extract
  %1533 = call ptr @_pCf(ptr noundef nonnull %10)
  %1534 = getelementptr inbounds i8, ptr %1533, i64 4
  store float %.sroa.087.0.vec.extract, ptr %1533, align 4
  store float %1532, ptr %1534, align 4
  %1535 = load float, ptr %4, align 4, !tbaa !9
  %1536 = load float, ptr %1491, align 4, !tbaa !12
  %1537 = fneg float %1536
  %1538 = getelementptr inbounds i8, ptr %3, i64 24
  %1539 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1540 = shufflevector <2 x float> %1539, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1541 = insertelement <2 x float> poison, float %1536, i64 0
  %1542 = insertelement <2 x float> %1541, float %1537, i64 1
  %1543 = fmul <2 x float> %1539, %1542
  %1544 = insertelement <2 x float> poison, float %1535, i64 0
  %1545 = shufflevector <2 x float> %1544, <2 x float> poison, <2 x i32> zeroinitializer
  %1546 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1545, <2 x float> %1540, <2 x float> %1543)
  %1547 = shufflevector <2 x float> %1546, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1547, ptr %9, align 8, !tbaa !13
  %1548 = call <2 x float> @Cf(ptr noundef nonnull %1538)
  %.sroa.086.0.vec.extract = extractelement <2 x float> %1548, i64 0
  %.sroa.086.4.vec.extract = extractelement <2 x float> %1548, i64 1
  %1549 = fneg float %.sroa.086.4.vec.extract
  %1550 = call ptr @_pCf(ptr noundef nonnull %9)
  %1551 = getelementptr inbounds i8, ptr %1550, i64 4
  store float %.sroa.086.0.vec.extract, ptr %1550, align 4
  store float %1549, ptr %1551, align 4
  %1552 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1552, ptr %15, align 8, !tbaa !13
  %1553 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.085.0.vec.extract = extractelement <2 x float> %1553, i64 0
  %.sroa.085.4.vec.extract = extractelement <2 x float> %1553, i64 1
  %1554 = fneg float %.sroa.085.4.vec.extract
  %1555 = call ptr @_pCf(ptr noundef nonnull %10)
  %1556 = getelementptr inbounds i8, ptr %1555, i64 4
  store float %.sroa.085.0.vec.extract, ptr %1555, align 4
  store float %1554, ptr %1556, align 4
  %1557 = load float, ptr %4, align 4, !tbaa !9
  %1558 = load float, ptr %1491, align 4, !tbaa !12
  %1559 = fneg float %1558
  %1560 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1561 = shufflevector <2 x float> %1560, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1562 = insertelement <2 x float> poison, float %1558, i64 0
  %1563 = insertelement <2 x float> %1562, float %1559, i64 1
  %1564 = fmul <2 x float> %1560, %1563
  %1565 = insertelement <2 x float> poison, float %1557, i64 0
  %1566 = shufflevector <2 x float> %1565, <2 x float> poison, <2 x i32> zeroinitializer
  %1567 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1566, <2 x float> %1561, <2 x float> %1564)
  %1568 = shufflevector <2 x float> %1567, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1568, ptr %9, align 8, !tbaa !13
  %1569 = getelementptr inbounds i8, ptr %3, i64 32
  %1570 = call <2 x float> @Cf(ptr noundef nonnull %1569)
  %.sroa.084.0.vec.extract = extractelement <2 x float> %1570, i64 0
  %.sroa.084.4.vec.extract = extractelement <2 x float> %1570, i64 1
  %1571 = fneg float %.sroa.084.4.vec.extract
  %1572 = call ptr @_pCf(ptr noundef nonnull %9)
  %1573 = getelementptr inbounds i8, ptr %1572, i64 4
  store float %.sroa.084.0.vec.extract, ptr %1572, align 4
  store float %1571, ptr %1573, align 4
  %1574 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1574, ptr %16, align 8, !tbaa !13
  %1575 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.083.0.vec.extract = extractelement <2 x float> %1575, i64 0
  %.sroa.083.4.vec.extract = extractelement <2 x float> %1575, i64 1
  %1576 = fneg float %.sroa.083.4.vec.extract
  %1577 = call ptr @_pCf(ptr noundef nonnull %10)
  %1578 = getelementptr inbounds i8, ptr %1577, i64 4
  store float %.sroa.083.0.vec.extract, ptr %1577, align 4
  store float %1576, ptr %1578, align 4
  %1579 = load float, ptr %4, align 4, !tbaa !9
  %1580 = load float, ptr %1491, align 4, !tbaa !12
  %1581 = fneg float %1580
  %1582 = getelementptr inbounds i8, ptr %3, i64 40
  %1583 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1584 = shufflevector <2 x float> %1583, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1585 = insertelement <2 x float> poison, float %1580, i64 0
  %1586 = insertelement <2 x float> %1585, float %1581, i64 1
  %1587 = fmul <2 x float> %1583, %1586
  %1588 = insertelement <2 x float> poison, float %1579, i64 0
  %1589 = shufflevector <2 x float> %1588, <2 x float> poison, <2 x i32> zeroinitializer
  %1590 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1589, <2 x float> %1584, <2 x float> %1587)
  %1591 = shufflevector <2 x float> %1590, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1591, ptr %9, align 8, !tbaa !13
  %1592 = call <2 x float> @Cf(ptr noundef nonnull %1582)
  %.sroa.082.0.vec.extract = extractelement <2 x float> %1592, i64 0
  %.sroa.082.4.vec.extract = extractelement <2 x float> %1592, i64 1
  %1593 = fneg float %.sroa.082.4.vec.extract
  %1594 = call ptr @_pCf(ptr noundef nonnull %9)
  %1595 = getelementptr inbounds i8, ptr %1594, i64 4
  store float %.sroa.082.0.vec.extract, ptr %1594, align 4
  store float %1593, ptr %1595, align 4
  %1596 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1596, ptr %17, align 8, !tbaa !13
  %1597 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.081.0.vec.extract = extractelement <2 x float> %1597, i64 0
  %.sroa.081.4.vec.extract = extractelement <2 x float> %1597, i64 1
  %1598 = fneg float %.sroa.081.4.vec.extract
  %1599 = call ptr @_pCf(ptr noundef nonnull %10)
  %1600 = getelementptr inbounds i8, ptr %1599, i64 4
  store float %.sroa.081.0.vec.extract, ptr %1599, align 4
  store float %1598, ptr %1600, align 4
  %1601 = load float, ptr %4, align 4, !tbaa !9
  %1602 = load float, ptr %1491, align 4, !tbaa !12
  %1603 = fneg float %1602
  %1604 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1605 = shufflevector <2 x float> %1604, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1606 = insertelement <2 x float> poison, float %1602, i64 0
  %1607 = insertelement <2 x float> %1606, float %1603, i64 1
  %1608 = fmul <2 x float> %1604, %1607
  %1609 = insertelement <2 x float> poison, float %1601, i64 0
  %1610 = shufflevector <2 x float> %1609, <2 x float> poison, <2 x i32> zeroinitializer
  %1611 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1610, <2 x float> %1605, <2 x float> %1608)
  %1612 = shufflevector <2 x float> %1611, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1612, ptr %9, align 8, !tbaa !13
  %1613 = getelementptr inbounds i8, ptr %3, i64 48
  %1614 = call <2 x float> @Cf(ptr noundef nonnull %1613)
  %.sroa.080.0.vec.extract = extractelement <2 x float> %1614, i64 0
  %.sroa.080.4.vec.extract = extractelement <2 x float> %1614, i64 1
  %1615 = fneg float %.sroa.080.4.vec.extract
  %1616 = call ptr @_pCf(ptr noundef nonnull %9)
  %1617 = getelementptr inbounds i8, ptr %1616, i64 4
  store float %.sroa.080.0.vec.extract, ptr %1616, align 4
  store float %1615, ptr %1617, align 4
  %1618 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1618, ptr %18, align 8, !tbaa !13
  %1619 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.079.0.vec.extract = extractelement <2 x float> %1619, i64 0
  %.sroa.079.4.vec.extract = extractelement <2 x float> %1619, i64 1
  %1620 = fneg float %.sroa.079.4.vec.extract
  %1621 = call ptr @_pCf(ptr noundef nonnull %10)
  %1622 = getelementptr inbounds i8, ptr %1621, i64 4
  store float %.sroa.079.0.vec.extract, ptr %1621, align 4
  store float %1620, ptr %1622, align 4
  %1623 = load float, ptr %4, align 4, !tbaa !9
  %1624 = load float, ptr %1491, align 4, !tbaa !12
  %1625 = fneg float %1624
  %1626 = getelementptr inbounds i8, ptr %3, i64 56
  %1627 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1628 = shufflevector <2 x float> %1627, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1629 = insertelement <2 x float> poison, float %1624, i64 0
  %1630 = insertelement <2 x float> %1629, float %1625, i64 1
  %1631 = fmul <2 x float> %1627, %1630
  %1632 = insertelement <2 x float> poison, float %1623, i64 0
  %1633 = shufflevector <2 x float> %1632, <2 x float> poison, <2 x i32> zeroinitializer
  %1634 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1633, <2 x float> %1628, <2 x float> %1631)
  %1635 = shufflevector <2 x float> %1634, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1635, ptr %9, align 8, !tbaa !13
  %1636 = call <2 x float> @Cf(ptr noundef nonnull %1626)
  %.sroa.078.0.vec.extract = extractelement <2 x float> %1636, i64 0
  %.sroa.078.4.vec.extract = extractelement <2 x float> %1636, i64 1
  %1637 = fneg float %.sroa.078.4.vec.extract
  %1638 = call ptr @_pCf(ptr noundef nonnull %9)
  %1639 = getelementptr inbounds i8, ptr %1638, i64 4
  store float %.sroa.078.0.vec.extract, ptr %1638, align 4
  store float %1637, ptr %1639, align 4
  %1640 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1640, ptr %19, align 8, !tbaa !13
  %1641 = call <2 x float> @Cf(ptr noundef nonnull %19)
  %.sroa.077.0.vec.extract = extractelement <2 x float> %1641, i64 0
  %.sroa.077.4.vec.extract = extractelement <2 x float> %1641, i64 1
  %1642 = fneg float %.sroa.077.4.vec.extract
  %1643 = call ptr @_pCf(ptr noundef nonnull %10)
  %1644 = getelementptr inbounds i8, ptr %1643, i64 4
  store float %.sroa.077.0.vec.extract, ptr %1643, align 4
  store float %1642, ptr %1644, align 4
  %1645 = load float, ptr %4, align 4, !tbaa !9
  %1646 = load float, ptr %1491, align 4, !tbaa !12
  %1647 = fneg float %1646
  %1648 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1649 = shufflevector <2 x float> %1648, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1650 = insertelement <2 x float> poison, float %1646, i64 0
  %1651 = insertelement <2 x float> %1650, float %1647, i64 1
  %1652 = fmul <2 x float> %1648, %1651
  %1653 = insertelement <2 x float> poison, float %1645, i64 0
  %1654 = shufflevector <2 x float> %1653, <2 x float> poison, <2 x i32> zeroinitializer
  %1655 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1654, <2 x float> %1649, <2 x float> %1652)
  %1656 = shufflevector <2 x float> %1655, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1656, ptr %9, align 8, !tbaa !13
  %1657 = getelementptr inbounds i8, ptr %3, i64 64
  %1658 = call <2 x float> @Cf(ptr noundef nonnull %1657)
  %.sroa.076.0.vec.extract = extractelement <2 x float> %1658, i64 0
  %.sroa.076.4.vec.extract = extractelement <2 x float> %1658, i64 1
  %1659 = fneg float %.sroa.076.4.vec.extract
  %1660 = call ptr @_pCf(ptr noundef nonnull %9)
  %1661 = getelementptr inbounds i8, ptr %1660, i64 4
  store float %.sroa.076.0.vec.extract, ptr %1660, align 4
  store float %1659, ptr %1661, align 4
  %1662 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1662, ptr %20, align 8, !tbaa !13
  %1663 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %.sroa.075.0.vec.extract = extractelement <2 x float> %1663, i64 0
  %.sroa.075.4.vec.extract = extractelement <2 x float> %1663, i64 1
  %1664 = fneg float %.sroa.075.4.vec.extract
  %1665 = call ptr @_pCf(ptr noundef nonnull %10)
  %1666 = getelementptr inbounds i8, ptr %1665, i64 4
  store float %.sroa.075.0.vec.extract, ptr %1665, align 4
  store float %1664, ptr %1666, align 4
  %1667 = load float, ptr %4, align 4, !tbaa !9
  %1668 = load float, ptr %1491, align 4, !tbaa !12
  %1669 = fneg float %1668
  %1670 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1671 = insertelement <2 x float> poison, float %1668, i64 0
  %1672 = insertelement <2 x float> %1671, float %1669, i64 1
  %1673 = fmul <2 x float> %1670, %1672
  %1674 = shufflevector <2 x float> %1673, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1675 = insertelement <2 x float> poison, float %1667, i64 0
  %1676 = shufflevector <2 x float> %1675, <2 x float> poison, <2 x i32> zeroinitializer
  %1677 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1676, <2 x float> %1670, <2 x float> %1674)
  %1678 = load i32, ptr %2, align 4, !tbaa !5
  %.not44574498 = icmp slt i32 %1678, 1
  br i1 %.not44574498, label %.loopexit, label %.lr.ph4500

.lr.ph4500:                                       ; preds = %1480
  %1679 = getelementptr inbounds i8, ptr %20, i64 4
  %1680 = getelementptr inbounds i8, ptr %19, i64 4
  %1681 = getelementptr inbounds i8, ptr %18, i64 4
  %1682 = getelementptr inbounds i8, ptr %17, i64 4
  %1683 = getelementptr inbounds i8, ptr %16, i64 4
  %1684 = getelementptr inbounds i8, ptr %15, i64 4
  %1685 = getelementptr inbounds i8, ptr %14, i64 4
  %1686 = getelementptr inbounds i8, ptr %13, i64 4
  %1687 = getelementptr inbounds i8, ptr %12, i64 4
  %1688 = load float, ptr %12, align 8, !tbaa !9
  %1689 = load float, ptr %1687, align 4, !tbaa !12
  %1690 = load float, ptr %13, align 8, !tbaa !9
  %1691 = load float, ptr %1686, align 4, !tbaa !12
  %1692 = insertelement <2 x float> poison, float %1689, i64 0
  %1693 = insertelement <2 x float> %1692, float %1691, i64 1
  %1694 = fneg <2 x float> %1693
  %1695 = load float, ptr %14, align 8, !tbaa !9
  %1696 = load float, ptr %1685, align 4, !tbaa !12
  %1697 = fneg float %1696
  %1698 = load float, ptr %15, align 8, !tbaa !9
  %1699 = load float, ptr %1684, align 4, !tbaa !12
  %1700 = fneg float %1699
  %1701 = load float, ptr %16, align 8, !tbaa !9
  %1702 = load float, ptr %1683, align 4, !tbaa !12
  %1703 = fneg float %1702
  %1704 = load float, ptr %17, align 8, !tbaa !9
  %1705 = load float, ptr %1682, align 4, !tbaa !12
  %1706 = fneg float %1705
  %1707 = load float, ptr %18, align 8, !tbaa !9
  %1708 = load float, ptr %1681, align 4, !tbaa !12
  %1709 = fneg float %1708
  %1710 = load float, ptr %19, align 8, !tbaa !9
  %1711 = load float, ptr %1680, align 4, !tbaa !12
  %1712 = fneg float %1711
  %1713 = load float, ptr %20, align 8, !tbaa !9
  %1714 = load float, ptr %1679, align 4, !tbaa !12
  %1715 = fneg float %1714
  %1716 = sext i32 %22 to i64
  %1717 = add nuw i32 %1678, 1
  %wide.trip.count4815 = zext i32 %1717 to i64
  %1718 = insertelement <2 x float> poison, float %1688, i64 0
  %1719 = insertelement <2 x float> %1718, float %1690, i64 1
  %1720 = shufflevector <2 x float> %1502, <2 x float> %1523, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1721 = shufflevector <2 x float> %1502, <2 x float> %1523, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1722 = shufflevector <2 x float> %1546, <2 x float> %1567, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1723 = shufflevector <2 x float> %1546, <2 x float> %1567, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1724 = shufflevector <2 x float> %1590, <2 x float> %1611, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1725 = shufflevector <2 x float> %1590, <2 x float> %1611, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1726 = shufflevector <2 x float> %1634, <2 x float> %1655, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1727 = shufflevector <2 x float> %1634, <2 x float> %1655, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %1728

1728:                                             ; preds = %.lr.ph4500, %1728
  %indvars.iv4812 = phi i64 [ 1, %.lr.ph4500 ], [ %indvars.iv.next4813, %1728 ]
  %1729 = mul nsw i64 %indvars.iv4812, %1716
  %1730 = getelementptr %struct.complex, ptr %24, i64 %1729
  %1731 = getelementptr i8, ptr %1730, i64 8
  %1732 = getelementptr i8, ptr %1730, i64 24
  %1733 = getelementptr i8, ptr %1730, i64 40
  %1734 = getelementptr i8, ptr %1730, i64 56
  %1735 = getelementptr i8, ptr %1730, i64 72
  %1736 = load <4 x float>, ptr %1731, align 4, !tbaa !13
  %1737 = shufflevector <4 x float> %1736, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %1738 = fmul <2 x float> %1737, %1694
  %1739 = shufflevector <4 x float> %1736, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %1740 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1719, <2 x float> %1739, <2 x float> %1738)
  %1741 = fmul <2 x float> %1739, %1693
  %1742 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1719, <2 x float> %1737, <2 x float> %1741)
  %shift6826 = shufflevector <2 x float> %1740, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1743 = fadd <2 x float> %1740, %shift6826
  %1744 = extractelement <2 x float> %1743, i64 0
  %shift6827 = shufflevector <2 x float> %1742, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1745 = fadd <2 x float> %1742, %shift6827
  %1746 = extractelement <2 x float> %1745, i64 0
  %1747 = load <4 x float>, ptr %1732, align 4, !tbaa !13
  %1748 = extractelement <4 x float> %1747, i64 1
  %1749 = fmul float %1748, %1697
  %1750 = extractelement <4 x float> %1747, i64 0
  %1751 = call float @llvm.fmuladd.f32(float %1695, float %1750, float %1749)
  %1752 = fmul float %1750, %1696
  %1753 = call float @llvm.fmuladd.f32(float %1695, float %1748, float %1752)
  %1754 = extractelement <4 x float> %1747, i64 3
  %1755 = fmul float %1754, %1700
  %1756 = extractelement <4 x float> %1747, i64 2
  %1757 = call float @llvm.fmuladd.f32(float %1698, float %1756, float %1755)
  %1758 = fmul float %1756, %1699
  %1759 = call float @llvm.fmuladd.f32(float %1698, float %1754, float %1758)
  %1760 = fadd float %1744, %1751
  %1761 = fadd float %1746, %1753
  %1762 = fadd float %1760, %1757
  %1763 = fadd float %1761, %1759
  %1764 = load <4 x float>, ptr %1733, align 4, !tbaa !13
  %1765 = extractelement <4 x float> %1764, i64 1
  %1766 = fmul float %1765, %1703
  %1767 = extractelement <4 x float> %1764, i64 0
  %1768 = call float @llvm.fmuladd.f32(float %1701, float %1767, float %1766)
  %1769 = fmul float %1767, %1702
  %1770 = call float @llvm.fmuladd.f32(float %1701, float %1765, float %1769)
  %1771 = extractelement <4 x float> %1764, i64 3
  %1772 = fmul float %1771, %1706
  %1773 = extractelement <4 x float> %1764, i64 2
  %1774 = call float @llvm.fmuladd.f32(float %1704, float %1773, float %1772)
  %1775 = fmul float %1773, %1705
  %1776 = call float @llvm.fmuladd.f32(float %1704, float %1771, float %1775)
  %1777 = fadd float %1762, %1768
  %1778 = fadd float %1763, %1770
  %1779 = fadd float %1777, %1774
  %1780 = fadd float %1778, %1776
  %1781 = load <4 x float>, ptr %1734, align 4, !tbaa !13
  %1782 = extractelement <4 x float> %1781, i64 1
  %1783 = fmul float %1782, %1709
  %1784 = extractelement <4 x float> %1781, i64 0
  %1785 = call float @llvm.fmuladd.f32(float %1707, float %1784, float %1783)
  %1786 = fmul float %1784, %1708
  %1787 = call float @llvm.fmuladd.f32(float %1707, float %1782, float %1786)
  %1788 = extractelement <4 x float> %1781, i64 3
  %1789 = fmul float %1788, %1712
  %1790 = extractelement <4 x float> %1781, i64 2
  %1791 = call float @llvm.fmuladd.f32(float %1710, float %1790, float %1789)
  %1792 = fmul float %1790, %1711
  %1793 = call float @llvm.fmuladd.f32(float %1710, float %1788, float %1792)
  %1794 = fadd float %1779, %1785
  %1795 = fadd float %1780, %1787
  %1796 = fadd float %1794, %1791
  %1797 = fadd float %1795, %1793
  %1798 = load <2 x float>, ptr %1735, align 4, !tbaa !13
  %1799 = extractelement <2 x float> %1798, i64 1
  %1800 = fmul float %1799, %1715
  %1801 = extractelement <2 x float> %1798, i64 0
  %1802 = call float @llvm.fmuladd.f32(float %1713, float %1801, float %1800)
  %1803 = fmul float %1801, %1714
  %1804 = call float @llvm.fmuladd.f32(float %1713, float %1799, float %1803)
  %1805 = fadd float %1796, %1802
  %1806 = fadd float %1804, %1797
  %1807 = fneg float %1806
  %1808 = insertelement <4 x float> poison, float %1807, i64 0
  %1809 = insertelement <4 x float> %1808, float %1806, i64 1
  %1810 = shufflevector <4 x float> %1809, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %1811 = fmul <4 x float> %1720, %1810
  %1812 = insertelement <4 x float> poison, float %1805, i64 0
  %1813 = shufflevector <4 x float> %1812, <4 x float> poison, <4 x i32> zeroinitializer
  %1814 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1813, <4 x float> %1721, <4 x float> %1811)
  %1815 = fsub <4 x float> %1736, %1814
  store <4 x float> %1815, ptr %1731, align 4, !tbaa !13
  %1816 = fmul <4 x float> %1722, %1810
  %1817 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1813, <4 x float> %1723, <4 x float> %1816)
  %1818 = fsub <4 x float> %1747, %1817
  store <4 x float> %1818, ptr %1732, align 4, !tbaa !13
  %1819 = fmul <4 x float> %1724, %1810
  %1820 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1813, <4 x float> %1725, <4 x float> %1819)
  %1821 = fsub <4 x float> %1764, %1820
  store <4 x float> %1821, ptr %1733, align 4, !tbaa !13
  %1822 = fmul <4 x float> %1726, %1810
  %1823 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1813, <4 x float> %1727, <4 x float> %1822)
  %1824 = fsub <4 x float> %1781, %1823
  store <4 x float> %1824, ptr %1734, align 4, !tbaa !13
  %1825 = insertelement <2 x float> poison, float %1806, i64 0
  %1826 = insertelement <2 x float> %1825, float %1807, i64 1
  %1827 = fmul <2 x float> %1677, %1826
  %1828 = shufflevector <2 x float> %1827, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1829 = insertelement <2 x float> poison, float %1805, i64 0
  %1830 = shufflevector <2 x float> %1829, <2 x float> poison, <2 x i32> zeroinitializer
  %1831 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1830, <2 x float> %1677, <2 x float> %1828)
  %1832 = fsub <2 x float> %1798, %1831
  store <2 x float> %1832, ptr %1735, align 4, !tbaa !13
  %indvars.iv.next4813 = add nuw nsw i64 %indvars.iv4812, 1
  %exitcond4816.not = icmp eq i64 %indvars.iv.next4813, %wide.trip.count4815
  br i1 %exitcond4816.not, label %.loopexit, label %1728, !llvm.loop !23

1833:                                             ; preds = %33
  %1834 = tail call <2 x float> @Cf(ptr noundef %3)
  %.sroa.074.0.vec.extract = extractelement <2 x float> %1834, i64 0
  %.sroa.074.4.vec.extract = extractelement <2 x float> %1834, i64 1
  %1835 = fneg float %.sroa.074.4.vec.extract
  %1836 = call ptr @_pCf(ptr noundef nonnull %9)
  %1837 = getelementptr inbounds i8, ptr %1836, i64 4
  store float %.sroa.074.0.vec.extract, ptr %1836, align 4
  store float %1835, ptr %1837, align 4
  %1838 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1838, ptr %12, align 8, !tbaa !13
  %1839 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.073.0.vec.extract = extractelement <2 x float> %1839, i64 0
  %.sroa.073.4.vec.extract = extractelement <2 x float> %1839, i64 1
  %1840 = fneg float %.sroa.073.4.vec.extract
  %1841 = call ptr @_pCf(ptr noundef nonnull %10)
  %1842 = getelementptr inbounds i8, ptr %1841, i64 4
  store float %.sroa.073.0.vec.extract, ptr %1841, align 4
  store float %1840, ptr %1842, align 4
  %1843 = load float, ptr %4, align 4, !tbaa !9
  %1844 = getelementptr inbounds i8, ptr %4, i64 4
  %1845 = load float, ptr %1844, align 4, !tbaa !12
  %1846 = fneg float %1845
  %1847 = getelementptr inbounds i8, ptr %3, i64 8
  %1848 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1849 = shufflevector <2 x float> %1848, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1850 = insertelement <2 x float> poison, float %1845, i64 0
  %1851 = insertelement <2 x float> %1850, float %1846, i64 1
  %1852 = fmul <2 x float> %1848, %1851
  %1853 = insertelement <2 x float> poison, float %1843, i64 0
  %1854 = shufflevector <2 x float> %1853, <2 x float> poison, <2 x i32> zeroinitializer
  %1855 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1854, <2 x float> %1849, <2 x float> %1852)
  %1856 = shufflevector <2 x float> %1855, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1856, ptr %9, align 8, !tbaa !13
  %1857 = call <2 x float> @Cf(ptr noundef nonnull %1847)
  %.sroa.072.0.vec.extract = extractelement <2 x float> %1857, i64 0
  %.sroa.072.4.vec.extract = extractelement <2 x float> %1857, i64 1
  %1858 = fneg float %.sroa.072.4.vec.extract
  %1859 = call ptr @_pCf(ptr noundef nonnull %9)
  %1860 = getelementptr inbounds i8, ptr %1859, i64 4
  store float %.sroa.072.0.vec.extract, ptr %1859, align 4
  store float %1858, ptr %1860, align 4
  %1861 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1861, ptr %13, align 8, !tbaa !13
  %1862 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.071.0.vec.extract = extractelement <2 x float> %1862, i64 0
  %.sroa.071.4.vec.extract = extractelement <2 x float> %1862, i64 1
  %1863 = fneg float %.sroa.071.4.vec.extract
  %1864 = call ptr @_pCf(ptr noundef nonnull %10)
  %1865 = getelementptr inbounds i8, ptr %1864, i64 4
  store float %.sroa.071.0.vec.extract, ptr %1864, align 4
  store float %1863, ptr %1865, align 4
  %1866 = load float, ptr %4, align 4, !tbaa !9
  %1867 = load float, ptr %1844, align 4, !tbaa !12
  %1868 = fneg float %1867
  %1869 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1870 = shufflevector <2 x float> %1869, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1871 = insertelement <2 x float> poison, float %1867, i64 0
  %1872 = insertelement <2 x float> %1871, float %1868, i64 1
  %1873 = fmul <2 x float> %1869, %1872
  %1874 = insertelement <2 x float> poison, float %1866, i64 0
  %1875 = shufflevector <2 x float> %1874, <2 x float> poison, <2 x i32> zeroinitializer
  %1876 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1875, <2 x float> %1870, <2 x float> %1873)
  %1877 = shufflevector <2 x float> %1876, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1877, ptr %9, align 8, !tbaa !13
  %1878 = getelementptr inbounds i8, ptr %3, i64 16
  %1879 = call <2 x float> @Cf(ptr noundef nonnull %1878)
  %.sroa.070.0.vec.extract = extractelement <2 x float> %1879, i64 0
  %.sroa.070.4.vec.extract = extractelement <2 x float> %1879, i64 1
  %1880 = fneg float %.sroa.070.4.vec.extract
  %1881 = call ptr @_pCf(ptr noundef nonnull %9)
  %1882 = getelementptr inbounds i8, ptr %1881, i64 4
  store float %.sroa.070.0.vec.extract, ptr %1881, align 4
  store float %1880, ptr %1882, align 4
  %1883 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1883, ptr %14, align 8, !tbaa !13
  %1884 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.069.0.vec.extract = extractelement <2 x float> %1884, i64 0
  %.sroa.069.4.vec.extract = extractelement <2 x float> %1884, i64 1
  %1885 = fneg float %.sroa.069.4.vec.extract
  %1886 = call ptr @_pCf(ptr noundef nonnull %10)
  %1887 = getelementptr inbounds i8, ptr %1886, i64 4
  store float %.sroa.069.0.vec.extract, ptr %1886, align 4
  store float %1885, ptr %1887, align 4
  %1888 = load float, ptr %4, align 4, !tbaa !9
  %1889 = load float, ptr %1844, align 4, !tbaa !12
  %1890 = fneg float %1889
  %1891 = getelementptr inbounds i8, ptr %3, i64 24
  %1892 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1893 = shufflevector <2 x float> %1892, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1894 = insertelement <2 x float> poison, float %1889, i64 0
  %1895 = insertelement <2 x float> %1894, float %1890, i64 1
  %1896 = fmul <2 x float> %1892, %1895
  %1897 = insertelement <2 x float> poison, float %1888, i64 0
  %1898 = shufflevector <2 x float> %1897, <2 x float> poison, <2 x i32> zeroinitializer
  %1899 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1898, <2 x float> %1893, <2 x float> %1896)
  %1900 = shufflevector <2 x float> %1899, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1900, ptr %9, align 8, !tbaa !13
  %1901 = call <2 x float> @Cf(ptr noundef nonnull %1891)
  %.sroa.068.0.vec.extract = extractelement <2 x float> %1901, i64 0
  %.sroa.068.4.vec.extract = extractelement <2 x float> %1901, i64 1
  %1902 = fneg float %.sroa.068.4.vec.extract
  %1903 = call ptr @_pCf(ptr noundef nonnull %9)
  %1904 = getelementptr inbounds i8, ptr %1903, i64 4
  store float %.sroa.068.0.vec.extract, ptr %1903, align 4
  store float %1902, ptr %1904, align 4
  %1905 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1905, ptr %15, align 8, !tbaa !13
  %1906 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.067.0.vec.extract = extractelement <2 x float> %1906, i64 0
  %.sroa.067.4.vec.extract = extractelement <2 x float> %1906, i64 1
  %1907 = fneg float %.sroa.067.4.vec.extract
  %1908 = call ptr @_pCf(ptr noundef nonnull %10)
  %1909 = getelementptr inbounds i8, ptr %1908, i64 4
  store float %.sroa.067.0.vec.extract, ptr %1908, align 4
  store float %1907, ptr %1909, align 4
  %1910 = load float, ptr %4, align 4, !tbaa !9
  %1911 = load float, ptr %1844, align 4, !tbaa !12
  %1912 = fneg float %1911
  %1913 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1914 = shufflevector <2 x float> %1913, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1915 = insertelement <2 x float> poison, float %1911, i64 0
  %1916 = insertelement <2 x float> %1915, float %1912, i64 1
  %1917 = fmul <2 x float> %1913, %1916
  %1918 = insertelement <2 x float> poison, float %1910, i64 0
  %1919 = shufflevector <2 x float> %1918, <2 x float> poison, <2 x i32> zeroinitializer
  %1920 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1919, <2 x float> %1914, <2 x float> %1917)
  %1921 = shufflevector <2 x float> %1920, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1921, ptr %9, align 8, !tbaa !13
  %1922 = getelementptr inbounds i8, ptr %3, i64 32
  %1923 = call <2 x float> @Cf(ptr noundef nonnull %1922)
  %.sroa.066.0.vec.extract = extractelement <2 x float> %1923, i64 0
  %.sroa.066.4.vec.extract = extractelement <2 x float> %1923, i64 1
  %1924 = fneg float %.sroa.066.4.vec.extract
  %1925 = call ptr @_pCf(ptr noundef nonnull %9)
  %1926 = getelementptr inbounds i8, ptr %1925, i64 4
  store float %.sroa.066.0.vec.extract, ptr %1925, align 4
  store float %1924, ptr %1926, align 4
  %1927 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1927, ptr %16, align 8, !tbaa !13
  %1928 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.065.0.vec.extract = extractelement <2 x float> %1928, i64 0
  %.sroa.065.4.vec.extract = extractelement <2 x float> %1928, i64 1
  %1929 = fneg float %.sroa.065.4.vec.extract
  %1930 = call ptr @_pCf(ptr noundef nonnull %10)
  %1931 = getelementptr inbounds i8, ptr %1930, i64 4
  store float %.sroa.065.0.vec.extract, ptr %1930, align 4
  store float %1929, ptr %1931, align 4
  %1932 = load float, ptr %4, align 4, !tbaa !9
  %1933 = load float, ptr %1844, align 4, !tbaa !12
  %1934 = fneg float %1933
  %1935 = getelementptr inbounds i8, ptr %3, i64 40
  %1936 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1937 = shufflevector <2 x float> %1936, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1938 = insertelement <2 x float> poison, float %1933, i64 0
  %1939 = insertelement <2 x float> %1938, float %1934, i64 1
  %1940 = fmul <2 x float> %1936, %1939
  %1941 = insertelement <2 x float> poison, float %1932, i64 0
  %1942 = shufflevector <2 x float> %1941, <2 x float> poison, <2 x i32> zeroinitializer
  %1943 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1942, <2 x float> %1937, <2 x float> %1940)
  %1944 = shufflevector <2 x float> %1943, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1944, ptr %9, align 8, !tbaa !13
  %1945 = call <2 x float> @Cf(ptr noundef nonnull %1935)
  %.sroa.064.0.vec.extract = extractelement <2 x float> %1945, i64 0
  %.sroa.064.4.vec.extract = extractelement <2 x float> %1945, i64 1
  %1946 = fneg float %.sroa.064.4.vec.extract
  %1947 = call ptr @_pCf(ptr noundef nonnull %9)
  %1948 = getelementptr inbounds i8, ptr %1947, i64 4
  store float %.sroa.064.0.vec.extract, ptr %1947, align 4
  store float %1946, ptr %1948, align 4
  %1949 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1949, ptr %17, align 8, !tbaa !13
  %1950 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.063.0.vec.extract = extractelement <2 x float> %1950, i64 0
  %.sroa.063.4.vec.extract = extractelement <2 x float> %1950, i64 1
  %1951 = fneg float %.sroa.063.4.vec.extract
  %1952 = call ptr @_pCf(ptr noundef nonnull %10)
  %1953 = getelementptr inbounds i8, ptr %1952, i64 4
  store float %.sroa.063.0.vec.extract, ptr %1952, align 4
  store float %1951, ptr %1953, align 4
  %1954 = load float, ptr %4, align 4, !tbaa !9
  %1955 = load float, ptr %1844, align 4, !tbaa !12
  %1956 = fneg float %1955
  %1957 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1958 = shufflevector <2 x float> %1957, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1959 = insertelement <2 x float> poison, float %1955, i64 0
  %1960 = insertelement <2 x float> %1959, float %1956, i64 1
  %1961 = fmul <2 x float> %1957, %1960
  %1962 = insertelement <2 x float> poison, float %1954, i64 0
  %1963 = shufflevector <2 x float> %1962, <2 x float> poison, <2 x i32> zeroinitializer
  %1964 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1963, <2 x float> %1958, <2 x float> %1961)
  %1965 = shufflevector <2 x float> %1964, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1965, ptr %9, align 8, !tbaa !13
  %1966 = getelementptr inbounds i8, ptr %3, i64 48
  %1967 = call <2 x float> @Cf(ptr noundef nonnull %1966)
  %.sroa.062.0.vec.extract = extractelement <2 x float> %1967, i64 0
  %.sroa.062.4.vec.extract = extractelement <2 x float> %1967, i64 1
  %1968 = fneg float %.sroa.062.4.vec.extract
  %1969 = call ptr @_pCf(ptr noundef nonnull %9)
  %1970 = getelementptr inbounds i8, ptr %1969, i64 4
  store float %.sroa.062.0.vec.extract, ptr %1969, align 4
  store float %1968, ptr %1970, align 4
  %1971 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1971, ptr %18, align 8, !tbaa !13
  %1972 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.061.0.vec.extract = extractelement <2 x float> %1972, i64 0
  %.sroa.061.4.vec.extract = extractelement <2 x float> %1972, i64 1
  %1973 = fneg float %.sroa.061.4.vec.extract
  %1974 = call ptr @_pCf(ptr noundef nonnull %10)
  %1975 = getelementptr inbounds i8, ptr %1974, i64 4
  store float %.sroa.061.0.vec.extract, ptr %1974, align 4
  store float %1973, ptr %1975, align 4
  %1976 = load float, ptr %4, align 4, !tbaa !9
  %1977 = load float, ptr %1844, align 4, !tbaa !12
  %1978 = fneg float %1977
  %1979 = getelementptr inbounds i8, ptr %3, i64 56
  %1980 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1981 = shufflevector <2 x float> %1980, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1982 = insertelement <2 x float> poison, float %1977, i64 0
  %1983 = insertelement <2 x float> %1982, float %1978, i64 1
  %1984 = fmul <2 x float> %1980, %1983
  %1985 = insertelement <2 x float> poison, float %1976, i64 0
  %1986 = shufflevector <2 x float> %1985, <2 x float> poison, <2 x i32> zeroinitializer
  %1987 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1986, <2 x float> %1981, <2 x float> %1984)
  %1988 = shufflevector <2 x float> %1987, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1988, ptr %9, align 8, !tbaa !13
  %1989 = call <2 x float> @Cf(ptr noundef nonnull %1979)
  %.sroa.060.0.vec.extract = extractelement <2 x float> %1989, i64 0
  %.sroa.060.4.vec.extract = extractelement <2 x float> %1989, i64 1
  %1990 = fneg float %.sroa.060.4.vec.extract
  %1991 = call ptr @_pCf(ptr noundef nonnull %9)
  %1992 = getelementptr inbounds i8, ptr %1991, i64 4
  store float %.sroa.060.0.vec.extract, ptr %1991, align 4
  store float %1990, ptr %1992, align 4
  %1993 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1993, ptr %19, align 8, !tbaa !13
  %1994 = call <2 x float> @Cf(ptr noundef nonnull %19)
  %.sroa.059.0.vec.extract = extractelement <2 x float> %1994, i64 0
  %.sroa.059.4.vec.extract = extractelement <2 x float> %1994, i64 1
  %1995 = fneg float %.sroa.059.4.vec.extract
  %1996 = call ptr @_pCf(ptr noundef nonnull %10)
  %1997 = getelementptr inbounds i8, ptr %1996, i64 4
  store float %.sroa.059.0.vec.extract, ptr %1996, align 4
  store float %1995, ptr %1997, align 4
  %1998 = load float, ptr %4, align 4, !tbaa !9
  %1999 = load float, ptr %1844, align 4, !tbaa !12
  %2000 = fneg float %1999
  %2001 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2002 = shufflevector <2 x float> %2001, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2003 = insertelement <2 x float> poison, float %1999, i64 0
  %2004 = insertelement <2 x float> %2003, float %2000, i64 1
  %2005 = fmul <2 x float> %2001, %2004
  %2006 = insertelement <2 x float> poison, float %1998, i64 0
  %2007 = shufflevector <2 x float> %2006, <2 x float> poison, <2 x i32> zeroinitializer
  %2008 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2007, <2 x float> %2002, <2 x float> %2005)
  %2009 = shufflevector <2 x float> %2008, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %2009, ptr %9, align 8, !tbaa !13
  %2010 = getelementptr inbounds i8, ptr %3, i64 64
  %2011 = call <2 x float> @Cf(ptr noundef nonnull %2010)
  %.sroa.058.0.vec.extract = extractelement <2 x float> %2011, i64 0
  %.sroa.058.4.vec.extract = extractelement <2 x float> %2011, i64 1
  %2012 = fneg float %.sroa.058.4.vec.extract
  %2013 = call ptr @_pCf(ptr noundef nonnull %9)
  %2014 = getelementptr inbounds i8, ptr %2013, i64 4
  store float %.sroa.058.0.vec.extract, ptr %2013, align 4
  store float %2012, ptr %2014, align 4
  %2015 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %2015, ptr %20, align 8, !tbaa !13
  %2016 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %.sroa.057.0.vec.extract = extractelement <2 x float> %2016, i64 0
  %.sroa.057.4.vec.extract = extractelement <2 x float> %2016, i64 1
  %2017 = fneg float %.sroa.057.4.vec.extract
  %2018 = call ptr @_pCf(ptr noundef nonnull %10)
  %2019 = getelementptr inbounds i8, ptr %2018, i64 4
  store float %.sroa.057.0.vec.extract, ptr %2018, align 4
  store float %2017, ptr %2019, align 4
  %2020 = load float, ptr %4, align 4, !tbaa !9
  %2021 = load float, ptr %1844, align 4, !tbaa !12
  %2022 = fneg float %2021
  %2023 = getelementptr inbounds i8, ptr %3, i64 72
  %2024 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2025 = shufflevector <2 x float> %2024, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2026 = insertelement <2 x float> poison, float %2021, i64 0
  %2027 = insertelement <2 x float> %2026, float %2022, i64 1
  %2028 = fmul <2 x float> %2024, %2027
  %2029 = insertelement <2 x float> poison, float %2020, i64 0
  %2030 = shufflevector <2 x float> %2029, <2 x float> poison, <2 x i32> zeroinitializer
  %2031 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2030, <2 x float> %2025, <2 x float> %2028)
  %2032 = shufflevector <2 x float> %2031, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %2032, ptr %9, align 8, !tbaa !13
  %2033 = call <2 x float> @Cf(ptr noundef nonnull %2023)
  %.sroa.056.0.vec.extract = extractelement <2 x float> %2033, i64 0
  %.sroa.056.4.vec.extract = extractelement <2 x float> %2033, i64 1
  %2034 = fneg float %.sroa.056.4.vec.extract
  %2035 = call ptr @_pCf(ptr noundef nonnull %9)
  %2036 = getelementptr inbounds i8, ptr %2035, i64 4
  store float %.sroa.056.0.vec.extract, ptr %2035, align 4
  store float %2034, ptr %2036, align 4
  %2037 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %2037, ptr %21, align 8, !tbaa !13
  %2038 = call <2 x float> @Cf(ptr noundef nonnull %21)
  %.sroa.055.0.vec.extract = extractelement <2 x float> %2038, i64 0
  %.sroa.055.4.vec.extract = extractelement <2 x float> %2038, i64 1
  %2039 = fneg float %.sroa.055.4.vec.extract
  %2040 = call ptr @_pCf(ptr noundef nonnull %10)
  %2041 = getelementptr inbounds i8, ptr %2040, i64 4
  store float %.sroa.055.0.vec.extract, ptr %2040, align 4
  store float %2039, ptr %2041, align 4
  %2042 = load float, ptr %4, align 4, !tbaa !9
  %2043 = load float, ptr %1844, align 4, !tbaa !12
  %2044 = fneg float %2043
  %2045 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2046 = shufflevector <2 x float> %2045, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2047 = insertelement <2 x float> poison, float %2043, i64 0
  %2048 = insertelement <2 x float> %2047, float %2044, i64 1
  %2049 = fmul <2 x float> %2045, %2048
  %2050 = insertelement <2 x float> poison, float %2042, i64 0
  %2051 = shufflevector <2 x float> %2050, <2 x float> poison, <2 x i32> zeroinitializer
  %2052 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2051, <2 x float> %2046, <2 x float> %2049)
  %2053 = load i32, ptr %2, align 4, !tbaa !5
  %.not44564487 = icmp slt i32 %2053, 1
  br i1 %.not44564487, label %.loopexit, label %.lr.ph

.lr.ph:                                           ; preds = %1833
  %2054 = getelementptr inbounds i8, ptr %21, i64 4
  %2055 = getelementptr inbounds i8, ptr %20, i64 4
  %2056 = getelementptr inbounds i8, ptr %19, i64 4
  %2057 = getelementptr inbounds i8, ptr %18, i64 4
  %2058 = getelementptr inbounds i8, ptr %17, i64 4
  %2059 = getelementptr inbounds i8, ptr %16, i64 4
  %2060 = getelementptr inbounds i8, ptr %15, i64 4
  %2061 = getelementptr inbounds i8, ptr %14, i64 4
  %2062 = getelementptr inbounds i8, ptr %13, i64 4
  %2063 = getelementptr inbounds i8, ptr %12, i64 4
  %2064 = load float, ptr %12, align 8, !tbaa !9
  %2065 = load float, ptr %2063, align 4, !tbaa !12
  %2066 = load float, ptr %13, align 8, !tbaa !9
  %2067 = load float, ptr %2062, align 4, !tbaa !12
  %2068 = insertelement <2 x float> poison, float %2065, i64 0
  %2069 = insertelement <2 x float> %2068, float %2067, i64 1
  %2070 = fneg <2 x float> %2069
  %2071 = load float, ptr %14, align 8, !tbaa !9
  %2072 = load float, ptr %2061, align 4, !tbaa !12
  %2073 = fneg float %2072
  %2074 = load float, ptr %15, align 8, !tbaa !9
  %2075 = load float, ptr %2060, align 4, !tbaa !12
  %2076 = fneg float %2075
  %2077 = load float, ptr %16, align 8, !tbaa !9
  %2078 = load float, ptr %2059, align 4, !tbaa !12
  %2079 = fneg float %2078
  %2080 = load float, ptr %17, align 8, !tbaa !9
  %2081 = load float, ptr %2058, align 4, !tbaa !12
  %2082 = fneg float %2081
  %2083 = load float, ptr %18, align 8, !tbaa !9
  %2084 = load float, ptr %2057, align 4, !tbaa !12
  %2085 = fneg float %2084
  %2086 = load float, ptr %19, align 8, !tbaa !9
  %2087 = load float, ptr %2056, align 4, !tbaa !12
  %2088 = fneg float %2087
  %2089 = load float, ptr %20, align 8, !tbaa !9
  %2090 = load float, ptr %2055, align 4, !tbaa !12
  %2091 = fneg float %2090
  %2092 = load float, ptr %21, align 8, !tbaa !9
  %2093 = load float, ptr %2054, align 4, !tbaa !12
  %2094 = fneg float %2093
  %2095 = sext i32 %22 to i64
  %2096 = add nuw i32 %2053, 1
  %wide.trip.count = zext i32 %2096 to i64
  %2097 = insertelement <2 x float> poison, float %2064, i64 0
  %2098 = insertelement <2 x float> %2097, float %2066, i64 1
  %2099 = shufflevector <2 x float> %1855, <2 x float> %1876, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %2100 = shufflevector <2 x float> %1855, <2 x float> %1876, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %2101 = shufflevector <2 x float> %1899, <2 x float> %1920, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %2102 = shufflevector <2 x float> %1899, <2 x float> %1920, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %2103 = shufflevector <2 x float> %1943, <2 x float> %1964, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %2104 = shufflevector <2 x float> %1943, <2 x float> %1964, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %2105 = shufflevector <2 x float> %1987, <2 x float> %2008, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %2106 = shufflevector <2 x float> %1987, <2 x float> %2008, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %2107 = shufflevector <2 x float> %2031, <2 x float> %2052, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %2108 = shufflevector <2 x float> %2031, <2 x float> %2052, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %2109

2109:                                             ; preds = %.lr.ph, %2109
  %indvars.iv = phi i64 [ 1, %.lr.ph ], [ %indvars.iv.next, %2109 ]
  %2110 = mul nsw i64 %indvars.iv, %2095
  %2111 = getelementptr %struct.complex, ptr %24, i64 %2110
  %2112 = getelementptr i8, ptr %2111, i64 8
  %2113 = load float, ptr %2112, align 4, !tbaa !9
  %2114 = getelementptr i8, ptr %2111, i64 12
  %2115 = load float, ptr %2114, align 4, !tbaa !12
  %2116 = getelementptr i8, ptr %2111, i64 16
  %2117 = load float, ptr %2116, align 4, !tbaa !9
  %2118 = getelementptr i8, ptr %2111, i64 20
  %2119 = load float, ptr %2118, align 4, !tbaa !12
  %2120 = insertelement <2 x float> poison, float %2115, i64 0
  %2121 = insertelement <2 x float> %2120, float %2119, i64 1
  %2122 = fmul <2 x float> %2121, %2070
  %2123 = insertelement <2 x float> poison, float %2113, i64 0
  %2124 = insertelement <2 x float> %2123, float %2117, i64 1
  %2125 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2098, <2 x float> %2124, <2 x float> %2122)
  %2126 = fmul <2 x float> %2124, %2069
  %2127 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2098, <2 x float> %2121, <2 x float> %2126)
  %shift6828 = shufflevector <2 x float> %2125, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2128 = fadd <2 x float> %2125, %shift6828
  %2129 = extractelement <2 x float> %2128, i64 0
  %shift6829 = shufflevector <2 x float> %2127, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2130 = fadd <2 x float> %2127, %shift6829
  %2131 = extractelement <2 x float> %2130, i64 0
  %2132 = getelementptr i8, ptr %2111, i64 24
  %2133 = load float, ptr %2132, align 4, !tbaa !9
  %2134 = getelementptr i8, ptr %2111, i64 28
  %2135 = load float, ptr %2134, align 4, !tbaa !12
  %2136 = fmul float %2135, %2073
  %2137 = call float @llvm.fmuladd.f32(float %2071, float %2133, float %2136)
  %2138 = fmul float %2133, %2072
  %2139 = call float @llvm.fmuladd.f32(float %2071, float %2135, float %2138)
  %2140 = fadd float %2129, %2137
  %2141 = fadd float %2131, %2139
  %2142 = getelementptr i8, ptr %2111, i64 32
  %2143 = load float, ptr %2142, align 4, !tbaa !9
  %2144 = getelementptr i8, ptr %2111, i64 36
  %2145 = load float, ptr %2144, align 4, !tbaa !12
  %2146 = fmul float %2145, %2076
  %2147 = call float @llvm.fmuladd.f32(float %2074, float %2143, float %2146)
  %2148 = fmul float %2143, %2075
  %2149 = call float @llvm.fmuladd.f32(float %2074, float %2145, float %2148)
  %2150 = fadd float %2140, %2147
  %2151 = fadd float %2141, %2149
  %2152 = getelementptr i8, ptr %2111, i64 40
  %2153 = load float, ptr %2152, align 4, !tbaa !9
  %2154 = getelementptr i8, ptr %2111, i64 44
  %2155 = load float, ptr %2154, align 4, !tbaa !12
  %2156 = fmul float %2155, %2079
  %2157 = call float @llvm.fmuladd.f32(float %2077, float %2153, float %2156)
  %2158 = fmul float %2153, %2078
  %2159 = call float @llvm.fmuladd.f32(float %2077, float %2155, float %2158)
  %2160 = fadd float %2150, %2157
  %2161 = fadd float %2151, %2159
  %2162 = getelementptr i8, ptr %2111, i64 48
  %2163 = load float, ptr %2162, align 4, !tbaa !9
  %2164 = getelementptr i8, ptr %2111, i64 52
  %2165 = load float, ptr %2164, align 4, !tbaa !12
  %2166 = fmul float %2165, %2082
  %2167 = call float @llvm.fmuladd.f32(float %2080, float %2163, float %2166)
  %2168 = fmul float %2163, %2081
  %2169 = call float @llvm.fmuladd.f32(float %2080, float %2165, float %2168)
  %2170 = fadd float %2160, %2167
  %2171 = fadd float %2161, %2169
  %2172 = getelementptr i8, ptr %2111, i64 56
  %2173 = load float, ptr %2172, align 4, !tbaa !9
  %2174 = getelementptr i8, ptr %2111, i64 60
  %2175 = load float, ptr %2174, align 4, !tbaa !12
  %2176 = fmul float %2175, %2085
  %2177 = call float @llvm.fmuladd.f32(float %2083, float %2173, float %2176)
  %2178 = fmul float %2173, %2084
  %2179 = call float @llvm.fmuladd.f32(float %2083, float %2175, float %2178)
  %2180 = fadd float %2170, %2177
  %2181 = fadd float %2171, %2179
  %2182 = getelementptr i8, ptr %2111, i64 64
  %2183 = load float, ptr %2182, align 4, !tbaa !9
  %2184 = getelementptr i8, ptr %2111, i64 68
  %2185 = load float, ptr %2184, align 4, !tbaa !12
  %2186 = fmul float %2185, %2088
  %2187 = call float @llvm.fmuladd.f32(float %2086, float %2183, float %2186)
  %2188 = fmul float %2183, %2087
  %2189 = call float @llvm.fmuladd.f32(float %2086, float %2185, float %2188)
  %2190 = fadd float %2180, %2187
  %2191 = fadd float %2181, %2189
  %2192 = getelementptr i8, ptr %2111, i64 72
  %2193 = load float, ptr %2192, align 4, !tbaa !9
  %2194 = getelementptr i8, ptr %2111, i64 76
  %2195 = load float, ptr %2194, align 4, !tbaa !12
  %2196 = fmul float %2195, %2091
  %2197 = call float @llvm.fmuladd.f32(float %2089, float %2193, float %2196)
  %2198 = fmul float %2193, %2090
  %2199 = call float @llvm.fmuladd.f32(float %2089, float %2195, float %2198)
  %2200 = fadd float %2190, %2197
  %2201 = fadd float %2191, %2199
  %2202 = getelementptr i8, ptr %2111, i64 80
  %2203 = load float, ptr %2202, align 4, !tbaa !9
  %2204 = getelementptr i8, ptr %2111, i64 84
  %2205 = load float, ptr %2204, align 4, !tbaa !12
  %2206 = fmul float %2205, %2094
  %2207 = call float @llvm.fmuladd.f32(float %2092, float %2203, float %2206)
  %2208 = fmul float %2203, %2093
  %2209 = call float @llvm.fmuladd.f32(float %2092, float %2205, float %2208)
  %2210 = fadd float %2200, %2207
  %2211 = fadd float %2209, %2201
  %2212 = fneg float %2211
  %2213 = insertelement <4 x float> poison, float %2212, i64 0
  %2214 = insertelement <4 x float> %2213, float %2211, i64 1
  %2215 = shufflevector <4 x float> %2214, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %2216 = fmul <4 x float> %2099, %2215
  %2217 = insertelement <4 x float> poison, float %2210, i64 0
  %2218 = shufflevector <4 x float> %2217, <4 x float> poison, <4 x i32> zeroinitializer
  %2219 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2218, <4 x float> %2100, <4 x float> %2216)
  %2220 = load <4 x float>, ptr %2112, align 4, !tbaa !13
  %2221 = fsub <4 x float> %2220, %2219
  store <4 x float> %2221, ptr %2112, align 4, !tbaa !13
  %2222 = fmul <4 x float> %2101, %2215
  %2223 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2218, <4 x float> %2102, <4 x float> %2222)
  %2224 = load <4 x float>, ptr %2132, align 4, !tbaa !13
  %2225 = fsub <4 x float> %2224, %2223
  store <4 x float> %2225, ptr %2132, align 4, !tbaa !13
  %2226 = fmul <4 x float> %2103, %2215
  %2227 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2218, <4 x float> %2104, <4 x float> %2226)
  %2228 = load <4 x float>, ptr %2152, align 4, !tbaa !13
  %2229 = fsub <4 x float> %2228, %2227
  store <4 x float> %2229, ptr %2152, align 4, !tbaa !13
  %2230 = fmul <4 x float> %2105, %2215
  %2231 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2218, <4 x float> %2106, <4 x float> %2230)
  %2232 = load <4 x float>, ptr %2172, align 4, !tbaa !13
  %2233 = fsub <4 x float> %2232, %2231
  store <4 x float> %2233, ptr %2172, align 4, !tbaa !13
  %2234 = fmul <4 x float> %2107, %2215
  %2235 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2218, <4 x float> %2108, <4 x float> %2234)
  %2236 = load <4 x float>, ptr %2192, align 4, !tbaa !13
  %2237 = fsub <4 x float> %2236, %2235
  store <4 x float> %2237, ptr %2192, align 4, !tbaa !13
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %.loopexit, label %2109, !llvm.loop !24

2238:                                             ; preds = %31
  %2239 = load i32, ptr %2, align 4, !tbaa !5
  switch i32 %2239, label %2240 [
    i32 1, label %2241
    i32 2, label %2286
    i32 3, label %2436
    i32 4, label %2657
    i32 5, label %2951
    i32 6, label %3312
    i32 7, label %3740
    i32 8, label %4235
    i32 9, label %4805
    i32 10, label %5149
  ]

2240:                                             ; preds = %2238
  tail call void @clarf_(ptr noundef %0, ptr noundef %1, ptr noundef nonnull %2, ptr noundef %3, ptr noundef nonnull @c__1, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %7) #7
  br label %.loopexit

2241:                                             ; preds = %2238
  %2242 = load float, ptr %4, align 4, !tbaa !9
  %2243 = load float, ptr %3, align 4, !tbaa !9
  %2244 = getelementptr inbounds i8, ptr %4, i64 4
  %2245 = load float, ptr %2244, align 4, !tbaa !12
  %2246 = getelementptr inbounds i8, ptr %3, i64 4
  %2247 = load float, ptr %2246, align 4, !tbaa !12
  %2248 = fneg float %2245
  %2249 = fmul float %2247, %2248
  %2250 = tail call float @llvm.fmuladd.f32(float %2242, float %2243, float %2249)
  %2251 = fmul float %2243, %2245
  %2252 = tail call float @llvm.fmuladd.f32(float %2242, float %2247, float %2251)
  %2253 = tail call <2 x float> @Cf(ptr noundef nonnull %3)
  %.sroa.054.0.vec.extract = extractelement <2 x float> %2253, i64 0
  %.sroa.054.4.vec.extract = extractelement <2 x float> %2253, i64 1
  %2254 = fneg float %.sroa.054.4.vec.extract
  %2255 = call ptr @_pCf(ptr noundef nonnull %11)
  %2256 = getelementptr inbounds i8, ptr %2255, i64 4
  store float %.sroa.054.0.vec.extract, ptr %2255, align 4
  store float %2254, ptr %2256, align 4
  %2257 = load float, ptr %11, align 4, !tbaa !9
  %2258 = getelementptr inbounds i8, ptr %11, i64 4
  %2259 = load float, ptr %2258, align 4, !tbaa !12
  %2260 = fneg float %2252
  %2261 = fmul float %2259, %2260
  %2262 = call float @llvm.fmuladd.f32(float %2250, float %2257, float %2261)
  %2263 = fmul float %2252, %2257
  %2264 = call float @llvm.fmuladd.f32(float %2250, float %2259, float %2263)
  %2265 = fsub float 1.000000e+00, %2262
  %2266 = fsub float 0.000000e+00, %2264
  %2267 = load i32, ptr %1, align 4, !tbaa !5
  %.not44554698 = icmp slt i32 %2267, 1
  br i1 %.not44554698, label %.loopexit, label %.lr.ph4700

.lr.ph4700:                                       ; preds = %2241
  %2268 = fneg float %2266
  %2269 = sext i32 %22 to i64
  %2270 = add nuw i32 %2267, 1
  %wide.trip.count4905 = zext i32 %2270 to i64
  %invariant.gep5013 = getelementptr %struct.complex, ptr %24, i64 %2269
  %2271 = zext nneg i32 %2267 to i64
  %min.iters.check6772 = icmp ult i32 %2267, 4
  br i1 %min.iters.check6772, label %scalar.ph6771.preheader, label %vector.ph6773

vector.ph6773:                                    ; preds = %.lr.ph4700
  %n.vec6775 = and i64 %2271, 2147483644
  %ind.end6776 = or disjoint i64 %n.vec6775, 1
  %broadcast.splatinsert6784 = insertelement <4 x float> poison, float %2268, i64 0
  %broadcast.splat6785 = shufflevector <4 x float> %broadcast.splatinsert6784, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6786 = insertelement <4 x float> poison, float %2265, i64 0
  %broadcast.splat6787 = shufflevector <4 x float> %broadcast.splatinsert6786, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6788 = insertelement <4 x float> poison, float %2266, i64 0
  %broadcast.splat6789 = shufflevector <4 x float> %broadcast.splatinsert6788, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6778

vector.body6778:                                  ; preds = %vector.body6778, %vector.ph6773
  %index6779 = phi i64 [ 0, %vector.ph6773 ], [ %index.next6791, %vector.body6778 ]
  %offset.idx6780 = or disjoint i64 %index6779, 1
  %2272 = getelementptr %struct.complex, ptr %invariant.gep5013, i64 %offset.idx6780
  %wide.vec6781 = load <8 x float>, ptr %2272, align 4, !tbaa !13
  %strided.vec6782 = shufflevector <8 x float> %wide.vec6781, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6783 = shufflevector <8 x float> %wide.vec6781, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2273 = fmul <4 x float> %strided.vec6783, %broadcast.splat6785
  %2274 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6787, <4 x float> %strided.vec6782, <4 x float> %2273)
  %2275 = fmul <4 x float> %broadcast.splat6789, %strided.vec6782
  %2276 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6787, <4 x float> %strided.vec6783, <4 x float> %2275)
  %interleaved.vec6790 = shufflevector <4 x float> %2274, <4 x float> %2276, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6790, ptr %2272, align 4, !tbaa !13
  %index.next6791 = add nuw i64 %index6779, 4
  %2277 = icmp eq i64 %index.next6791, %n.vec6775
  br i1 %2277, label %middle.block6770, label %vector.body6778, !llvm.loop !25

middle.block6770:                                 ; preds = %vector.body6778
  %cmp.n6792 = icmp eq i64 %n.vec6775, %2271
  br i1 %cmp.n6792, label %.loopexit, label %scalar.ph6771.preheader

scalar.ph6771.preheader:                          ; preds = %middle.block6770, %.lr.ph4700
  %indvars.iv4902.ph = phi i64 [ 1, %.lr.ph4700 ], [ %ind.end6776, %middle.block6770 ]
  %2278 = insertelement <2 x float> poison, float %2266, i64 0
  %2279 = insertelement <2 x float> %2278, float %2268, i64 1
  %2280 = insertelement <2 x float> poison, float %2265, i64 0
  %2281 = shufflevector <2 x float> %2280, <2 x float> poison, <2 x i32> zeroinitializer
  br label %scalar.ph6771

scalar.ph6771:                                    ; preds = %scalar.ph6771.preheader, %scalar.ph6771
  %indvars.iv4902 = phi i64 [ %indvars.iv.next4903, %scalar.ph6771 ], [ %indvars.iv4902.ph, %scalar.ph6771.preheader ]
  %gep5014 = getelementptr %struct.complex, ptr %invariant.gep5013, i64 %indvars.iv4902
  %2282 = load <2 x float>, ptr %gep5014, align 4, !tbaa !13
  %2283 = fmul <2 x float> %2282, %2279
  %2284 = shufflevector <2 x float> %2283, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2285 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2281, <2 x float> %2282, <2 x float> %2284)
  store <2 x float> %2285, ptr %gep5014, align 4, !tbaa !13
  %indvars.iv.next4903 = add nuw nsw i64 %indvars.iv4902, 1
  %exitcond4906.not = icmp eq i64 %indvars.iv.next4903, %wide.trip.count4905
  br i1 %exitcond4906.not, label %.loopexit, label %scalar.ph6771, !llvm.loop !28

2286:                                             ; preds = %2238
  %2287 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %2287, ptr %12, align 8, !tbaa !13
  %2288 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.053.0.vec.extract = extractelement <2 x float> %2288, i64 0
  %.sroa.053.4.vec.extract = extractelement <2 x float> %2288, i64 1
  %2289 = fneg float %.sroa.053.4.vec.extract
  %2290 = call ptr @_pCf(ptr noundef nonnull %10)
  %2291 = getelementptr inbounds i8, ptr %2290, i64 4
  store float %.sroa.053.0.vec.extract, ptr %2290, align 4
  store float %2289, ptr %2291, align 4
  %2292 = load float, ptr %4, align 4, !tbaa !9
  %2293 = getelementptr inbounds i8, ptr %4, i64 4
  %2294 = load float, ptr %2293, align 4, !tbaa !12
  %2295 = fneg float %2294
  %2296 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2297 = insertelement <2 x float> poison, float %2294, i64 0
  %2298 = insertelement <2 x float> %2297, float %2295, i64 1
  %2299 = fmul <2 x float> %2296, %2298
  %2300 = shufflevector <2 x float> %2299, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2301 = insertelement <2 x float> poison, float %2292, i64 0
  %2302 = shufflevector <2 x float> %2301, <2 x float> poison, <2 x i32> zeroinitializer
  %2303 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2302, <2 x float> %2296, <2 x float> %2300)
  store <2 x float> %2303, ptr %9, align 8, !tbaa !13
  %2304 = getelementptr inbounds i8, ptr %3, i64 8
  %2305 = load <2 x float>, ptr %2304, align 4, !tbaa !13
  store <2 x float> %2305, ptr %13, align 8, !tbaa !13
  %2306 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.052.0.vec.extract = extractelement <2 x float> %2306, i64 0
  %.sroa.052.4.vec.extract = extractelement <2 x float> %2306, i64 1
  %2307 = fneg float %.sroa.052.4.vec.extract
  %2308 = call ptr @_pCf(ptr noundef nonnull %10)
  %2309 = getelementptr inbounds i8, ptr %2308, i64 4
  store float %.sroa.052.0.vec.extract, ptr %2308, align 4
  store float %2307, ptr %2309, align 4
  %2310 = load float, ptr %4, align 4, !tbaa !9
  %2311 = load float, ptr %2293, align 4, !tbaa !12
  %2312 = fneg float %2311
  %2313 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2314 = insertelement <2 x float> poison, float %2311, i64 0
  %2315 = insertelement <2 x float> %2314, float %2312, i64 1
  %2316 = fmul <2 x float> %2313, %2315
  %2317 = shufflevector <2 x float> %2316, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2318 = insertelement <2 x float> poison, float %2310, i64 0
  %2319 = shufflevector <2 x float> %2318, <2 x float> poison, <2 x i32> zeroinitializer
  %2320 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2319, <2 x float> %2313, <2 x float> %2317)
  %2321 = load i32, ptr %1, align 4, !tbaa !5
  %.not44544691 = icmp slt i32 %2321, 1
  br i1 %.not44544691, label %.loopexit, label %.lr.ph4693

.lr.ph4693:                                       ; preds = %2286
  %2322 = getelementptr inbounds i8, ptr %13, i64 4
  %2323 = getelementptr inbounds i8, ptr %12, i64 4
  %2324 = load float, ptr %12, align 8, !tbaa !9
  %2325 = load float, ptr %2323, align 4, !tbaa !12
  %2326 = shl i32 %22, 1
  %2327 = load float, ptr %13, align 8, !tbaa !9
  %2328 = load float, ptr %2322, align 4, !tbaa !12
  %2329 = insertelement <2 x float> poison, float %2325, i64 0
  %2330 = insertelement <2 x float> %2329, float %2328, i64 1
  %2331 = fneg <2 x float> %2330
  %2332 = sext i32 %22 to i64
  %2333 = sext i32 %2326 to i64
  %2334 = add nuw i32 %2321, 1
  %wide.trip.count4900 = zext i32 %2334 to i64
  %invariant.gep5009 = getelementptr %struct.complex, ptr %24, i64 %2332
  %invariant.gep5011 = getelementptr %struct.complex, ptr %24, i64 %2333
  %2335 = zext nneg i32 %2321 to i64
  %min.iters.check6728 = icmp ult i32 %2321, 12
  br i1 %min.iters.check6728, label %scalar.ph6727.preheader, label %vector.scevcheck6693

vector.scevcheck6693:                             ; preds = %.lr.ph4693
  %2336 = add nsw i64 %wide.trip.count4900, -2
  %2337 = shl nsw i64 %2332, 3
  %2338 = shl nsw i64 %23, 3
  %2339 = getelementptr i8, ptr %5, i64 %2337
  %2340 = getelementptr i8, ptr %2339, i64 %2338
  %scevgep6694 = getelementptr i8, ptr %2340, i64 8
  %mul.result6696 = shl nsw i64 %2336, 3
  %2341 = getelementptr i8, ptr %scevgep6694, i64 %mul.result6696
  %2342 = icmp ult ptr %2341, %scevgep6694
  %2343 = shl nsw i64 %2333, 3
  %2344 = getelementptr i8, ptr %5, i64 %2343
  %2345 = getelementptr i8, ptr %2344, i64 %2338
  %scevgep6698 = getelementptr i8, ptr %2345, i64 8
  %mul.result6700 = shl nsw i64 %2336, 3
  %mul.overflow6701 = icmp ugt i64 %2336, 2305843009213693951
  %2346 = getelementptr i8, ptr %scevgep6698, i64 %mul.result6700
  %2347 = icmp ult ptr %2346, %scevgep6698
  %2348 = or i1 %2347, %mul.overflow6701
  %2349 = getelementptr i8, ptr %5, i64 %2337
  %2350 = getelementptr i8, ptr %2349, i64 %2338
  %scevgep6702 = getelementptr i8, ptr %2350, i64 12
  %mul.result6704 = shl nsw i64 %2336, 3
  %2351 = getelementptr i8, ptr %scevgep6702, i64 %mul.result6704
  %2352 = icmp ult ptr %2351, %scevgep6702
  %2353 = getelementptr i8, ptr %5, i64 %2343
  %2354 = getelementptr i8, ptr %2353, i64 %2338
  %scevgep6706 = getelementptr i8, ptr %2354, i64 12
  %mul.result6708 = shl nsw i64 %2336, 3
  %2355 = getelementptr i8, ptr %scevgep6706, i64 %mul.result6708
  %2356 = icmp ult ptr %2355, %scevgep6706
  %2357 = or i1 %2342, %2348
  %2358 = or i1 %2352, %2357
  %2359 = or i1 %2356, %2358
  br i1 %2359, label %scalar.ph6727.preheader, label %vector.memcheck6710

vector.memcheck6710:                              ; preds = %vector.scevcheck6693
  %2360 = shl nsw i64 %2332, 3
  %2361 = shl nsw i64 %23, 3
  %2362 = add nsw i64 %2360, %2361
  %2363 = getelementptr i8, ptr %5, i64 %2362
  %scevgep6711 = getelementptr i8, ptr %2363, i64 8
  %2364 = shl nuw nsw i64 %wide.trip.count4900, 3
  %2365 = getelementptr i8, ptr %5, i64 %2362
  %2366 = getelementptr i8, ptr %2365, i64 %2364
  %scevgep6712 = getelementptr i8, ptr %2366, i64 -4
  %2367 = shl nsw i64 %2333, 3
  %2368 = add nsw i64 %2367, %2361
  %2369 = getelementptr i8, ptr %5, i64 %2368
  %scevgep6713 = getelementptr i8, ptr %2369, i64 8
  %2370 = getelementptr i8, ptr %5, i64 %2368
  %2371 = getelementptr i8, ptr %2370, i64 %2364
  %scevgep6714 = getelementptr i8, ptr %2371, i64 -4
  %2372 = add nsw i64 %2360, %2361
  %2373 = getelementptr i8, ptr %5, i64 %2372
  %scevgep6715 = getelementptr i8, ptr %2373, i64 12
  %2374 = getelementptr i8, ptr %5, i64 %2372
  %scevgep6716 = getelementptr i8, ptr %2374, i64 %2364
  %2375 = add nsw i64 %2367, %2361
  %2376 = getelementptr i8, ptr %5, i64 %2375
  %scevgep6717 = getelementptr i8, ptr %2376, i64 12
  %2377 = getelementptr i8, ptr %5, i64 %2375
  %scevgep6718 = getelementptr i8, ptr %2377, i64 %2364
  %bound06719 = icmp ult ptr %scevgep6711, %scevgep6714
  %bound16720 = icmp ult ptr %scevgep6713, %scevgep6712
  %found.conflict6721 = and i1 %bound06719, %bound16720
  %bound06722 = icmp ult ptr %scevgep6715, %scevgep6718
  %bound16723 = icmp ult ptr %scevgep6717, %scevgep6716
  %found.conflict6724 = and i1 %bound06722, %bound16723
  %conflict.rdx6725 = or i1 %found.conflict6721, %found.conflict6724
  br i1 %conflict.rdx6725, label %scalar.ph6727.preheader, label %vector.ph6729

vector.ph6729:                                    ; preds = %vector.memcheck6710
  %n.vec6731 = and i64 %2335, 2147483644
  %ind.end6732 = or disjoint i64 %n.vec6731, 1
  %broadcast.splat6741 = shufflevector <2 x float> %2331, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6742 = insertelement <4 x float> poison, float %2324, i64 0
  %broadcast.splat6743 = shufflevector <4 x float> %broadcast.splatinsert6742, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6744 = insertelement <4 x float> poison, float %2325, i64 0
  %broadcast.splat6745 = shufflevector <4 x float> %broadcast.splatinsert6744, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6750 = shufflevector <2 x float> %2331, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6751 = insertelement <4 x float> poison, float %2327, i64 0
  %broadcast.splat6752 = shufflevector <4 x float> %broadcast.splatinsert6751, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6753 = insertelement <4 x float> poison, float %2328, i64 0
  %broadcast.splat6754 = shufflevector <4 x float> %broadcast.splatinsert6753, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6756 = shufflevector <2 x float> %2303, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6758 = shufflevector <2 x float> %2303, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6761 = shufflevector <2 x float> %2320, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6763 = shufflevector <2 x float> %2320, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6734

vector.body6734:                                  ; preds = %vector.body6734, %vector.ph6729
  %index6735 = phi i64 [ 0, %vector.ph6729 ], [ %index.next6768, %vector.body6734 ]
  %offset.idx6736 = or disjoint i64 %index6735, 1
  %2378 = getelementptr %struct.complex, ptr %invariant.gep5009, i64 %offset.idx6736
  %wide.vec6737 = load <8 x float>, ptr %2378, align 4, !tbaa !13
  %strided.vec6738 = shufflevector <8 x float> %wide.vec6737, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6739 = shufflevector <8 x float> %wide.vec6737, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2379 = fmul <4 x float> %strided.vec6739, %broadcast.splat6741
  %2380 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6743, <4 x float> %strided.vec6738, <4 x float> %2379)
  %2381 = fmul <4 x float> %strided.vec6738, %broadcast.splat6745
  %2382 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6743, <4 x float> %strided.vec6739, <4 x float> %2381)
  %2383 = getelementptr %struct.complex, ptr %invariant.gep5011, i64 %offset.idx6736
  %wide.vec6746 = load <8 x float>, ptr %2383, align 4, !tbaa !13
  %strided.vec6747 = shufflevector <8 x float> %wide.vec6746, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6748 = shufflevector <8 x float> %wide.vec6746, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2384 = fmul <4 x float> %strided.vec6748, %broadcast.splat6750
  %2385 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6752, <4 x float> %strided.vec6747, <4 x float> %2384)
  %2386 = fmul <4 x float> %strided.vec6747, %broadcast.splat6754
  %2387 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6752, <4 x float> %strided.vec6748, <4 x float> %2386)
  %2388 = fadd <4 x float> %2380, %2385
  %2389 = fadd <4 x float> %2382, %2387
  %2390 = fneg <4 x float> %2389
  %2391 = fmul <4 x float> %broadcast.splat6756, %2390
  %2392 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2388, <4 x float> %broadcast.splat6758, <4 x float> %2391)
  %2393 = fmul <4 x float> %broadcast.splat6758, %2389
  %2394 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2388, <4 x float> %broadcast.splat6756, <4 x float> %2393)
  %2395 = fsub <4 x float> %strided.vec6738, %2392
  %2396 = fsub <4 x float> %strided.vec6739, %2394
  %interleaved.vec6759 = shufflevector <4 x float> %2395, <4 x float> %2396, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6759, ptr %2378, align 4, !tbaa !13
  %2397 = fmul <4 x float> %broadcast.splat6761, %2390
  %2398 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2388, <4 x float> %broadcast.splat6763, <4 x float> %2397)
  %2399 = fmul <4 x float> %broadcast.splat6763, %2389
  %2400 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2388, <4 x float> %broadcast.splat6761, <4 x float> %2399)
  %wide.vec6764 = load <8 x float>, ptr %2383, align 4, !tbaa !13
  %strided.vec6765 = shufflevector <8 x float> %wide.vec6764, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6766 = shufflevector <8 x float> %wide.vec6764, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2401 = fsub <4 x float> %strided.vec6765, %2398
  %2402 = fsub <4 x float> %strided.vec6766, %2400
  %interleaved.vec6767 = shufflevector <4 x float> %2401, <4 x float> %2402, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6767, ptr %2383, align 4, !tbaa !13
  %index.next6768 = add nuw i64 %index6735, 4
  %2403 = icmp eq i64 %index.next6768, %n.vec6731
  br i1 %2403, label %middle.block6726, label %vector.body6734, !llvm.loop !29

middle.block6726:                                 ; preds = %vector.body6734
  %cmp.n6769 = icmp eq i64 %n.vec6731, %2335
  br i1 %cmp.n6769, label %.loopexit, label %scalar.ph6727.preheader

scalar.ph6727.preheader:                          ; preds = %middle.block6726, %vector.memcheck6710, %vector.scevcheck6693, %.lr.ph4693
  %indvars.iv4897.ph = phi i64 [ 1, %vector.memcheck6710 ], [ 1, %vector.scevcheck6693 ], [ 1, %.lr.ph4693 ], [ %ind.end6732, %middle.block6726 ]
  %2404 = insertelement <2 x float> poison, float %2324, i64 0
  %2405 = insertelement <2 x float> %2404, float %2327, i64 1
  br label %scalar.ph6727

scalar.ph6727:                                    ; preds = %scalar.ph6727.preheader, %scalar.ph6727
  %indvars.iv4897 = phi i64 [ %indvars.iv.next4898, %scalar.ph6727 ], [ %indvars.iv4897.ph, %scalar.ph6727.preheader ]
  %gep5010 = getelementptr %struct.complex, ptr %invariant.gep5009, i64 %indvars.iv4897
  %gep5012 = getelementptr %struct.complex, ptr %invariant.gep5011, i64 %indvars.iv4897
  %2406 = load float, ptr %gep5012, align 4, !tbaa !9
  %2407 = getelementptr inbounds i8, ptr %gep5012, i64 4
  %2408 = load float, ptr %2407, align 4, !tbaa !12
  %2409 = fmul float %2406, %2328
  %2410 = call float @llvm.fmuladd.f32(float %2327, float %2408, float %2409)
  %2411 = load <2 x float>, ptr %gep5010, align 4, !tbaa !13
  %2412 = extractelement <2 x float> %2411, i64 1
  %2413 = extractelement <2 x float> %2411, i64 0
  %2414 = shufflevector <2 x float> %2411, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2415 = insertelement <2 x float> %2414, float %2408, i64 1
  %2416 = fmul <2 x float> %2415, %2331
  %2417 = insertelement <2 x float> %2411, float %2406, i64 1
  %2418 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2405, <2 x float> %2417, <2 x float> %2416)
  %2419 = fmul float %2413, %2325
  %2420 = call float @llvm.fmuladd.f32(float %2324, float %2412, float %2419)
  %shift6830 = shufflevector <2 x float> %2418, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2421 = fadd <2 x float> %2418, %shift6830
  %2422 = fadd float %2420, %2410
  %2423 = fneg float %2422
  %2424 = insertelement <2 x float> poison, float %2422, i64 0
  %2425 = insertelement <2 x float> %2424, float %2423, i64 1
  %2426 = fmul <2 x float> %2303, %2425
  %2427 = shufflevector <2 x float> %2426, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2428 = shufflevector <2 x float> %2421, <2 x float> poison, <2 x i32> zeroinitializer
  %2429 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2428, <2 x float> %2303, <2 x float> %2427)
  %2430 = fsub <2 x float> %2411, %2429
  store <2 x float> %2430, ptr %gep5010, align 4, !tbaa !13
  %2431 = fmul <2 x float> %2320, %2425
  %2432 = shufflevector <2 x float> %2431, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2433 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2428, <2 x float> %2320, <2 x float> %2432)
  %2434 = load <2 x float>, ptr %gep5012, align 4, !tbaa !13
  %2435 = fsub <2 x float> %2434, %2433
  store <2 x float> %2435, ptr %gep5012, align 4, !tbaa !13
  %indvars.iv.next4898 = add nuw nsw i64 %indvars.iv4897, 1
  %exitcond4901.not = icmp eq i64 %indvars.iv.next4898, %wide.trip.count4900
  br i1 %exitcond4901.not, label %.loopexit, label %scalar.ph6727, !llvm.loop !30

2436:                                             ; preds = %2238
  %2437 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %2437, ptr %12, align 8, !tbaa !13
  %2438 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.051.0.vec.extract = extractelement <2 x float> %2438, i64 0
  %.sroa.051.4.vec.extract = extractelement <2 x float> %2438, i64 1
  %2439 = fneg float %.sroa.051.4.vec.extract
  %2440 = call ptr @_pCf(ptr noundef nonnull %10)
  %2441 = getelementptr inbounds i8, ptr %2440, i64 4
  store float %.sroa.051.0.vec.extract, ptr %2440, align 4
  store float %2439, ptr %2441, align 4
  %2442 = load float, ptr %4, align 4, !tbaa !9
  %2443 = getelementptr inbounds i8, ptr %4, i64 4
  %2444 = load float, ptr %2443, align 4, !tbaa !12
  %2445 = fneg float %2444
  %2446 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2447 = insertelement <2 x float> poison, float %2444, i64 0
  %2448 = insertelement <2 x float> %2447, float %2445, i64 1
  %2449 = fmul <2 x float> %2446, %2448
  %2450 = shufflevector <2 x float> %2449, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2451 = insertelement <2 x float> poison, float %2442, i64 0
  %2452 = shufflevector <2 x float> %2451, <2 x float> poison, <2 x i32> zeroinitializer
  %2453 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2452, <2 x float> %2446, <2 x float> %2450)
  store <2 x float> %2453, ptr %9, align 8, !tbaa !13
  %2454 = getelementptr inbounds i8, ptr %3, i64 8
  %2455 = load <2 x float>, ptr %2454, align 4, !tbaa !13
  store <2 x float> %2455, ptr %13, align 8, !tbaa !13
  %2456 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.050.0.vec.extract = extractelement <2 x float> %2456, i64 0
  %.sroa.050.4.vec.extract = extractelement <2 x float> %2456, i64 1
  %2457 = fneg float %.sroa.050.4.vec.extract
  %2458 = call ptr @_pCf(ptr noundef nonnull %10)
  %2459 = getelementptr inbounds i8, ptr %2458, i64 4
  store float %.sroa.050.0.vec.extract, ptr %2458, align 4
  store float %2457, ptr %2459, align 4
  %2460 = load float, ptr %4, align 4, !tbaa !9
  %2461 = load float, ptr %2443, align 4, !tbaa !12
  %2462 = fneg float %2461
  %2463 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2464 = insertelement <2 x float> poison, float %2461, i64 0
  %2465 = insertelement <2 x float> %2464, float %2462, i64 1
  %2466 = fmul <2 x float> %2463, %2465
  %2467 = shufflevector <2 x float> %2466, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2468 = insertelement <2 x float> poison, float %2460, i64 0
  %2469 = shufflevector <2 x float> %2468, <2 x float> poison, <2 x i32> zeroinitializer
  %2470 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2469, <2 x float> %2463, <2 x float> %2467)
  store <2 x float> %2470, ptr %9, align 8, !tbaa !13
  %2471 = getelementptr inbounds i8, ptr %3, i64 16
  %2472 = load <2 x float>, ptr %2471, align 4, !tbaa !13
  store <2 x float> %2472, ptr %14, align 8, !tbaa !13
  %2473 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.049.0.vec.extract = extractelement <2 x float> %2473, i64 0
  %.sroa.049.4.vec.extract = extractelement <2 x float> %2473, i64 1
  %2474 = fneg float %.sroa.049.4.vec.extract
  %2475 = call ptr @_pCf(ptr noundef nonnull %10)
  %2476 = getelementptr inbounds i8, ptr %2475, i64 4
  store float %.sroa.049.0.vec.extract, ptr %2475, align 4
  store float %2474, ptr %2476, align 4
  %2477 = load float, ptr %4, align 4, !tbaa !9
  %2478 = load float, ptr %2443, align 4, !tbaa !12
  %2479 = fneg float %2478
  %2480 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2481 = insertelement <2 x float> poison, float %2478, i64 0
  %2482 = insertelement <2 x float> %2481, float %2479, i64 1
  %2483 = fmul <2 x float> %2480, %2482
  %2484 = shufflevector <2 x float> %2483, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2485 = insertelement <2 x float> poison, float %2477, i64 0
  %2486 = shufflevector <2 x float> %2485, <2 x float> poison, <2 x i32> zeroinitializer
  %2487 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2486, <2 x float> %2480, <2 x float> %2484)
  %2488 = load i32, ptr %1, align 4, !tbaa !5
  %.not44534682 = icmp slt i32 %2488, 1
  br i1 %.not44534682, label %.loopexit, label %.lr.ph4684

.lr.ph4684:                                       ; preds = %2436
  %2489 = getelementptr inbounds i8, ptr %14, i64 4
  %2490 = getelementptr inbounds i8, ptr %13, i64 4
  %2491 = getelementptr inbounds i8, ptr %12, i64 4
  %2492 = load float, ptr %12, align 8, !tbaa !9
  %2493 = load float, ptr %2491, align 4, !tbaa !12
  %2494 = shl i32 %22, 1
  %2495 = load float, ptr %13, align 8, !tbaa !9
  %2496 = load float, ptr %2490, align 4, !tbaa !12
  %2497 = insertelement <2 x float> poison, float %2493, i64 0
  %2498 = insertelement <2 x float> %2497, float %2496, i64 1
  %2499 = fneg <2 x float> %2498
  %2500 = mul i32 %22, 3
  %2501 = load float, ptr %14, align 8, !tbaa !9
  %2502 = load float, ptr %2489, align 4, !tbaa !12
  %2503 = fneg float %2502
  %2504 = sext i32 %22 to i64
  %2505 = sext i32 %2494 to i64
  %2506 = sext i32 %2500 to i64
  %2507 = add nuw i32 %2488, 1
  %wide.trip.count4895 = zext i32 %2507 to i64
  %invariant.gep5003 = getelementptr %struct.complex, ptr %24, i64 %2504
  %invariant.gep5005 = getelementptr %struct.complex, ptr %24, i64 %2505
  %invariant.gep5007 = getelementptr %struct.complex, ptr %24, i64 %2506
  %2508 = zext nneg i32 %2488 to i64
  %min.iters.check6634 = icmp ult i32 %2488, 12
  br i1 %min.iters.check6634, label %scalar.ph6633.preheader, label %vector.scevcheck6571

vector.scevcheck6571:                             ; preds = %.lr.ph4684
  %2509 = add nsw i64 %wide.trip.count4895, -2
  %2510 = shl nsw i64 %2504, 3
  %2511 = shl nsw i64 %23, 3
  %2512 = getelementptr i8, ptr %5, i64 %2510
  %2513 = getelementptr i8, ptr %2512, i64 %2511
  %scevgep6572 = getelementptr i8, ptr %2513, i64 8
  %mul.result6574 = shl nsw i64 %2509, 3
  %2514 = getelementptr i8, ptr %scevgep6572, i64 %mul.result6574
  %2515 = icmp ult ptr %2514, %scevgep6572
  %2516 = shl nsw i64 %2505, 3
  %2517 = getelementptr i8, ptr %5, i64 %2516
  %2518 = getelementptr i8, ptr %2517, i64 %2511
  %scevgep6576 = getelementptr i8, ptr %2518, i64 8
  %mul.result6578 = shl nsw i64 %2509, 3
  %mul.overflow6579 = icmp ugt i64 %2509, 2305843009213693951
  %2519 = getelementptr i8, ptr %scevgep6576, i64 %mul.result6578
  %2520 = icmp ult ptr %2519, %scevgep6576
  %2521 = or i1 %2520, %mul.overflow6579
  %2522 = shl nsw i64 %2506, 3
  %2523 = getelementptr i8, ptr %5, i64 %2522
  %2524 = getelementptr i8, ptr %2523, i64 %2511
  %scevgep6580 = getelementptr i8, ptr %2524, i64 8
  %mul.result6582 = shl nsw i64 %2509, 3
  %2525 = getelementptr i8, ptr %scevgep6580, i64 %mul.result6582
  %2526 = icmp ult ptr %2525, %scevgep6580
  %2527 = getelementptr i8, ptr %5, i64 %2510
  %2528 = getelementptr i8, ptr %2527, i64 %2511
  %scevgep6584 = getelementptr i8, ptr %2528, i64 12
  %mul.result6586 = shl nsw i64 %2509, 3
  %2529 = getelementptr i8, ptr %scevgep6584, i64 %mul.result6586
  %2530 = icmp ult ptr %2529, %scevgep6584
  %2531 = getelementptr i8, ptr %5, i64 %2516
  %2532 = getelementptr i8, ptr %2531, i64 %2511
  %scevgep6588 = getelementptr i8, ptr %2532, i64 12
  %mul.result6590 = shl nsw i64 %2509, 3
  %2533 = getelementptr i8, ptr %scevgep6588, i64 %mul.result6590
  %2534 = icmp ult ptr %2533, %scevgep6588
  %2535 = getelementptr i8, ptr %5, i64 %2522
  %2536 = getelementptr i8, ptr %2535, i64 %2511
  %scevgep6592 = getelementptr i8, ptr %2536, i64 12
  %mul.result6594 = shl nsw i64 %2509, 3
  %2537 = getelementptr i8, ptr %scevgep6592, i64 %mul.result6594
  %2538 = icmp ult ptr %2537, %scevgep6592
  %2539 = or i1 %2515, %2521
  %2540 = or i1 %2526, %2539
  %2541 = or i1 %2530, %2540
  %2542 = or i1 %2534, %2541
  %2543 = or i1 %2538, %2542
  br i1 %2543, label %scalar.ph6633.preheader, label %vector.memcheck6596

vector.memcheck6596:                              ; preds = %vector.scevcheck6571
  %2544 = shl nsw i64 %2504, 3
  %2545 = shl nsw i64 %23, 3
  %2546 = add nsw i64 %2544, %2545
  %2547 = getelementptr i8, ptr %5, i64 %2546
  %scevgep6597 = getelementptr i8, ptr %2547, i64 8
  %2548 = shl nuw nsw i64 %wide.trip.count4895, 3
  %2549 = getelementptr i8, ptr %5, i64 %2546
  %2550 = getelementptr i8, ptr %2549, i64 %2548
  %scevgep6598 = getelementptr i8, ptr %2550, i64 -4
  %2551 = shl nsw i64 %2505, 3
  %2552 = add nsw i64 %2551, %2545
  %2553 = getelementptr i8, ptr %5, i64 %2552
  %scevgep6599 = getelementptr i8, ptr %2553, i64 8
  %2554 = getelementptr i8, ptr %5, i64 %2552
  %2555 = getelementptr i8, ptr %2554, i64 %2548
  %scevgep6600 = getelementptr i8, ptr %2555, i64 -4
  %2556 = shl nsw i64 %2506, 3
  %2557 = add nsw i64 %2556, %2545
  %2558 = getelementptr i8, ptr %5, i64 %2557
  %scevgep6601 = getelementptr i8, ptr %2558, i64 8
  %2559 = getelementptr i8, ptr %5, i64 %2557
  %2560 = getelementptr i8, ptr %2559, i64 %2548
  %scevgep6602 = getelementptr i8, ptr %2560, i64 -4
  %2561 = add nsw i64 %2544, %2545
  %2562 = getelementptr i8, ptr %5, i64 %2561
  %scevgep6603 = getelementptr i8, ptr %2562, i64 12
  %2563 = getelementptr i8, ptr %5, i64 %2561
  %scevgep6604 = getelementptr i8, ptr %2563, i64 %2548
  %2564 = add nsw i64 %2551, %2545
  %2565 = getelementptr i8, ptr %5, i64 %2564
  %scevgep6605 = getelementptr i8, ptr %2565, i64 12
  %2566 = getelementptr i8, ptr %5, i64 %2564
  %scevgep6606 = getelementptr i8, ptr %2566, i64 %2548
  %2567 = add nsw i64 %2556, %2545
  %2568 = getelementptr i8, ptr %5, i64 %2567
  %scevgep6607 = getelementptr i8, ptr %2568, i64 12
  %2569 = getelementptr i8, ptr %5, i64 %2567
  %scevgep6608 = getelementptr i8, ptr %2569, i64 %2548
  %bound06609 = icmp ult ptr %scevgep6597, %scevgep6600
  %bound16610 = icmp ult ptr %scevgep6599, %scevgep6598
  %found.conflict6611 = and i1 %bound06609, %bound16610
  %bound06612 = icmp ult ptr %scevgep6597, %scevgep6602
  %bound16613 = icmp ult ptr %scevgep6601, %scevgep6598
  %found.conflict6614 = and i1 %bound06612, %bound16613
  %conflict.rdx6615 = or i1 %found.conflict6611, %found.conflict6614
  %bound06616 = icmp ult ptr %scevgep6599, %scevgep6602
  %bound16617 = icmp ult ptr %scevgep6601, %scevgep6600
  %found.conflict6618 = and i1 %bound06616, %bound16617
  %conflict.rdx6619 = or i1 %conflict.rdx6615, %found.conflict6618
  %bound06620 = icmp ult ptr %scevgep6603, %scevgep6606
  %bound16621 = icmp ult ptr %scevgep6605, %scevgep6604
  %found.conflict6622 = and i1 %bound06620, %bound16621
  %conflict.rdx6623 = or i1 %conflict.rdx6619, %found.conflict6622
  %bound06624 = icmp ult ptr %scevgep6603, %scevgep6608
  %bound16625 = icmp ult ptr %scevgep6607, %scevgep6604
  %found.conflict6626 = and i1 %bound06624, %bound16625
  %conflict.rdx6627 = or i1 %conflict.rdx6623, %found.conflict6626
  %bound06628 = icmp ult ptr %scevgep6605, %scevgep6608
  %bound16629 = icmp ult ptr %scevgep6607, %scevgep6606
  %found.conflict6630 = and i1 %bound06628, %bound16629
  %conflict.rdx6631 = or i1 %conflict.rdx6627, %found.conflict6630
  br i1 %conflict.rdx6631, label %scalar.ph6633.preheader, label %vector.ph6635

vector.ph6635:                                    ; preds = %vector.memcheck6596
  %n.vec6637 = and i64 %2508, 2147483644
  %ind.end6638 = or disjoint i64 %n.vec6637, 1
  %broadcast.splat6647 = shufflevector <2 x float> %2499, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6648 = insertelement <4 x float> poison, float %2492, i64 0
  %broadcast.splat6649 = shufflevector <4 x float> %broadcast.splatinsert6648, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6650 = insertelement <4 x float> poison, float %2493, i64 0
  %broadcast.splat6651 = shufflevector <4 x float> %broadcast.splatinsert6650, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6656 = shufflevector <2 x float> %2499, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6657 = insertelement <4 x float> poison, float %2495, i64 0
  %broadcast.splat6658 = shufflevector <4 x float> %broadcast.splatinsert6657, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6659 = insertelement <4 x float> poison, float %2496, i64 0
  %broadcast.splat6660 = shufflevector <4 x float> %broadcast.splatinsert6659, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6664 = insertelement <4 x float> poison, float %2503, i64 0
  %broadcast.splat6665 = shufflevector <4 x float> %broadcast.splatinsert6664, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6666 = insertelement <4 x float> poison, float %2501, i64 0
  %broadcast.splat6667 = shufflevector <4 x float> %broadcast.splatinsert6666, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6668 = insertelement <4 x float> poison, float %2502, i64 0
  %broadcast.splat6669 = shufflevector <4 x float> %broadcast.splatinsert6668, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6671 = shufflevector <2 x float> %2453, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6673 = shufflevector <2 x float> %2453, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6676 = shufflevector <2 x float> %2470, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6678 = shufflevector <2 x float> %2470, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6684 = shufflevector <2 x float> %2487, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6686 = shufflevector <2 x float> %2487, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6640

vector.body6640:                                  ; preds = %vector.body6640, %vector.ph6635
  %index6641 = phi i64 [ 0, %vector.ph6635 ], [ %index.next6691, %vector.body6640 ]
  %offset.idx6642 = or disjoint i64 %index6641, 1
  %2570 = getelementptr %struct.complex, ptr %invariant.gep5003, i64 %offset.idx6642
  %wide.vec6643 = load <8 x float>, ptr %2570, align 4, !tbaa !13
  %strided.vec6644 = shufflevector <8 x float> %wide.vec6643, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6645 = shufflevector <8 x float> %wide.vec6643, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2571 = fmul <4 x float> %strided.vec6645, %broadcast.splat6647
  %2572 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6649, <4 x float> %strided.vec6644, <4 x float> %2571)
  %2573 = fmul <4 x float> %strided.vec6644, %broadcast.splat6651
  %2574 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6649, <4 x float> %strided.vec6645, <4 x float> %2573)
  %2575 = getelementptr %struct.complex, ptr %invariant.gep5005, i64 %offset.idx6642
  %wide.vec6652 = load <8 x float>, ptr %2575, align 4, !tbaa !13
  %strided.vec6653 = shufflevector <8 x float> %wide.vec6652, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6654 = shufflevector <8 x float> %wide.vec6652, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2576 = fmul <4 x float> %strided.vec6654, %broadcast.splat6656
  %2577 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6658, <4 x float> %strided.vec6653, <4 x float> %2576)
  %2578 = fmul <4 x float> %strided.vec6653, %broadcast.splat6660
  %2579 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6658, <4 x float> %strided.vec6654, <4 x float> %2578)
  %2580 = fadd <4 x float> %2572, %2577
  %2581 = fadd <4 x float> %2574, %2579
  %2582 = getelementptr %struct.complex, ptr %invariant.gep5007, i64 %offset.idx6642
  %wide.vec6661 = load <8 x float>, ptr %2582, align 4, !tbaa !13
  %strided.vec6662 = shufflevector <8 x float> %wide.vec6661, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6663 = shufflevector <8 x float> %wide.vec6661, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2583 = fmul <4 x float> %strided.vec6663, %broadcast.splat6665
  %2584 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6667, <4 x float> %strided.vec6662, <4 x float> %2583)
  %2585 = fmul <4 x float> %strided.vec6662, %broadcast.splat6669
  %2586 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6667, <4 x float> %strided.vec6663, <4 x float> %2585)
  %2587 = fadd <4 x float> %2580, %2584
  %2588 = fadd <4 x float> %2581, %2586
  %2589 = fneg <4 x float> %2588
  %2590 = fmul <4 x float> %broadcast.splat6671, %2589
  %2591 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2587, <4 x float> %broadcast.splat6673, <4 x float> %2590)
  %2592 = fmul <4 x float> %broadcast.splat6673, %2588
  %2593 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2587, <4 x float> %broadcast.splat6671, <4 x float> %2592)
  %2594 = fsub <4 x float> %strided.vec6644, %2591
  %2595 = fsub <4 x float> %strided.vec6645, %2593
  %interleaved.vec6674 = shufflevector <4 x float> %2594, <4 x float> %2595, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6674, ptr %2570, align 4, !tbaa !13
  %2596 = fmul <4 x float> %broadcast.splat6676, %2589
  %2597 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2587, <4 x float> %broadcast.splat6678, <4 x float> %2596)
  %2598 = fmul <4 x float> %broadcast.splat6678, %2588
  %2599 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2587, <4 x float> %broadcast.splat6676, <4 x float> %2598)
  %wide.vec6679 = load <8 x float>, ptr %2575, align 4, !tbaa !13
  %strided.vec6680 = shufflevector <8 x float> %wide.vec6679, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6681 = shufflevector <8 x float> %wide.vec6679, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2600 = fsub <4 x float> %strided.vec6680, %2597
  %2601 = fsub <4 x float> %strided.vec6681, %2599
  %interleaved.vec6682 = shufflevector <4 x float> %2600, <4 x float> %2601, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6682, ptr %2575, align 4, !tbaa !13
  %2602 = fmul <4 x float> %broadcast.splat6684, %2589
  %2603 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2587, <4 x float> %broadcast.splat6686, <4 x float> %2602)
  %2604 = fmul <4 x float> %broadcast.splat6686, %2588
  %2605 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2587, <4 x float> %broadcast.splat6684, <4 x float> %2604)
  %wide.vec6687 = load <8 x float>, ptr %2582, align 4, !tbaa !13
  %strided.vec6688 = shufflevector <8 x float> %wide.vec6687, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6689 = shufflevector <8 x float> %wide.vec6687, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2606 = fsub <4 x float> %strided.vec6688, %2603
  %2607 = fsub <4 x float> %strided.vec6689, %2605
  %interleaved.vec6690 = shufflevector <4 x float> %2606, <4 x float> %2607, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6690, ptr %2582, align 4, !tbaa !13
  %index.next6691 = add nuw i64 %index6641, 4
  %2608 = icmp eq i64 %index.next6691, %n.vec6637
  br i1 %2608, label %middle.block6632, label %vector.body6640, !llvm.loop !31

middle.block6632:                                 ; preds = %vector.body6640
  %cmp.n6692 = icmp eq i64 %n.vec6637, %2508
  br i1 %cmp.n6692, label %.loopexit, label %scalar.ph6633.preheader

scalar.ph6633.preheader:                          ; preds = %middle.block6632, %vector.memcheck6596, %vector.scevcheck6571, %.lr.ph4684
  %indvars.iv4892.ph = phi i64 [ 1, %vector.memcheck6596 ], [ 1, %vector.scevcheck6571 ], [ 1, %.lr.ph4684 ], [ %ind.end6638, %middle.block6632 ]
  %2609 = insertelement <2 x float> poison, float %2492, i64 0
  %2610 = insertelement <2 x float> %2609, float %2495, i64 1
  br label %scalar.ph6633

scalar.ph6633:                                    ; preds = %scalar.ph6633.preheader, %scalar.ph6633
  %indvars.iv4892 = phi i64 [ %indvars.iv.next4893, %scalar.ph6633 ], [ %indvars.iv4892.ph, %scalar.ph6633.preheader ]
  %gep5004 = getelementptr %struct.complex, ptr %invariant.gep5003, i64 %indvars.iv4892
  %gep5006 = getelementptr %struct.complex, ptr %invariant.gep5005, i64 %indvars.iv4892
  %2611 = load float, ptr %gep5006, align 4, !tbaa !9
  %2612 = getelementptr inbounds i8, ptr %gep5006, i64 4
  %2613 = load float, ptr %2612, align 4, !tbaa !12
  %2614 = fmul float %2611, %2496
  %2615 = call float @llvm.fmuladd.f32(float %2495, float %2613, float %2614)
  %gep5008 = getelementptr %struct.complex, ptr %invariant.gep5007, i64 %indvars.iv4892
  %2616 = load float, ptr %gep5008, align 4, !tbaa !9
  %2617 = getelementptr inbounds i8, ptr %gep5008, i64 4
  %2618 = load float, ptr %2617, align 4, !tbaa !12
  %2619 = fmul float %2618, %2503
  %2620 = call float @llvm.fmuladd.f32(float %2501, float %2616, float %2619)
  %2621 = fmul float %2616, %2502
  %2622 = call float @llvm.fmuladd.f32(float %2501, float %2618, float %2621)
  %2623 = load <2 x float>, ptr %gep5004, align 4, !tbaa !13
  %2624 = extractelement <2 x float> %2623, i64 1
  %2625 = extractelement <2 x float> %2623, i64 0
  %2626 = shufflevector <2 x float> %2623, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2627 = insertelement <2 x float> %2626, float %2613, i64 1
  %2628 = fmul <2 x float> %2627, %2499
  %2629 = insertelement <2 x float> %2623, float %2611, i64 1
  %2630 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2610, <2 x float> %2629, <2 x float> %2628)
  %2631 = fmul float %2625, %2493
  %2632 = call float @llvm.fmuladd.f32(float %2492, float %2624, float %2631)
  %shift6831 = shufflevector <2 x float> %2630, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2633 = fadd <2 x float> %2630, %shift6831
  %2634 = extractelement <2 x float> %2633, i64 0
  %2635 = fadd float %2632, %2615
  %2636 = fadd float %2634, %2620
  %2637 = fadd float %2635, %2622
  %2638 = fneg float %2637
  %2639 = insertelement <2 x float> poison, float %2637, i64 0
  %2640 = insertelement <2 x float> %2639, float %2638, i64 1
  %2641 = fmul <2 x float> %2453, %2640
  %2642 = shufflevector <2 x float> %2641, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2643 = insertelement <2 x float> poison, float %2636, i64 0
  %2644 = shufflevector <2 x float> %2643, <2 x float> poison, <2 x i32> zeroinitializer
  %2645 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2644, <2 x float> %2453, <2 x float> %2642)
  %2646 = fsub <2 x float> %2623, %2645
  store <2 x float> %2646, ptr %gep5004, align 4, !tbaa !13
  %2647 = fmul <2 x float> %2470, %2640
  %2648 = shufflevector <2 x float> %2647, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2649 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2644, <2 x float> %2470, <2 x float> %2648)
  %2650 = load <2 x float>, ptr %gep5006, align 4, !tbaa !13
  %2651 = fsub <2 x float> %2650, %2649
  store <2 x float> %2651, ptr %gep5006, align 4, !tbaa !13
  %2652 = fmul <2 x float> %2487, %2640
  %2653 = shufflevector <2 x float> %2652, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2654 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2644, <2 x float> %2487, <2 x float> %2653)
  %2655 = load <2 x float>, ptr %gep5008, align 4, !tbaa !13
  %2656 = fsub <2 x float> %2655, %2654
  store <2 x float> %2656, ptr %gep5008, align 4, !tbaa !13
  %indvars.iv.next4893 = add nuw nsw i64 %indvars.iv4892, 1
  %exitcond4896.not = icmp eq i64 %indvars.iv.next4893, %wide.trip.count4895
  br i1 %exitcond4896.not, label %.loopexit, label %scalar.ph6633, !llvm.loop !32

2657:                                             ; preds = %2238
  %2658 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %2658, ptr %12, align 8, !tbaa !13
  %2659 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.048.0.vec.extract = extractelement <2 x float> %2659, i64 0
  %.sroa.048.4.vec.extract = extractelement <2 x float> %2659, i64 1
  %2660 = fneg float %.sroa.048.4.vec.extract
  %2661 = call ptr @_pCf(ptr noundef nonnull %10)
  %2662 = getelementptr inbounds i8, ptr %2661, i64 4
  store float %.sroa.048.0.vec.extract, ptr %2661, align 4
  store float %2660, ptr %2662, align 4
  %2663 = load float, ptr %4, align 4, !tbaa !9
  %2664 = getelementptr inbounds i8, ptr %4, i64 4
  %2665 = load float, ptr %2664, align 4, !tbaa !12
  %2666 = fneg float %2665
  %2667 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2668 = insertelement <2 x float> poison, float %2665, i64 0
  %2669 = insertelement <2 x float> %2668, float %2666, i64 1
  %2670 = fmul <2 x float> %2667, %2669
  %2671 = shufflevector <2 x float> %2670, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2672 = insertelement <2 x float> poison, float %2663, i64 0
  %2673 = shufflevector <2 x float> %2672, <2 x float> poison, <2 x i32> zeroinitializer
  %2674 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2673, <2 x float> %2667, <2 x float> %2671)
  store <2 x float> %2674, ptr %9, align 8, !tbaa !13
  %2675 = getelementptr inbounds i8, ptr %3, i64 8
  %2676 = load <2 x float>, ptr %2675, align 4, !tbaa !13
  store <2 x float> %2676, ptr %13, align 8, !tbaa !13
  %2677 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.047.0.vec.extract = extractelement <2 x float> %2677, i64 0
  %.sroa.047.4.vec.extract = extractelement <2 x float> %2677, i64 1
  %2678 = fneg float %.sroa.047.4.vec.extract
  %2679 = call ptr @_pCf(ptr noundef nonnull %10)
  %2680 = getelementptr inbounds i8, ptr %2679, i64 4
  store float %.sroa.047.0.vec.extract, ptr %2679, align 4
  store float %2678, ptr %2680, align 4
  %2681 = load float, ptr %4, align 4, !tbaa !9
  %2682 = load float, ptr %2664, align 4, !tbaa !12
  %2683 = fneg float %2682
  %2684 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2685 = insertelement <2 x float> poison, float %2682, i64 0
  %2686 = insertelement <2 x float> %2685, float %2683, i64 1
  %2687 = fmul <2 x float> %2684, %2686
  %2688 = shufflevector <2 x float> %2687, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2689 = insertelement <2 x float> poison, float %2681, i64 0
  %2690 = shufflevector <2 x float> %2689, <2 x float> poison, <2 x i32> zeroinitializer
  %2691 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2690, <2 x float> %2684, <2 x float> %2688)
  store <2 x float> %2691, ptr %9, align 8, !tbaa !13
  %2692 = getelementptr inbounds i8, ptr %3, i64 16
  %2693 = load <2 x float>, ptr %2692, align 4, !tbaa !13
  store <2 x float> %2693, ptr %14, align 8, !tbaa !13
  %2694 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.046.0.vec.extract = extractelement <2 x float> %2694, i64 0
  %.sroa.046.4.vec.extract = extractelement <2 x float> %2694, i64 1
  %2695 = fneg float %.sroa.046.4.vec.extract
  %2696 = call ptr @_pCf(ptr noundef nonnull %10)
  %2697 = getelementptr inbounds i8, ptr %2696, i64 4
  store float %.sroa.046.0.vec.extract, ptr %2696, align 4
  store float %2695, ptr %2697, align 4
  %2698 = load float, ptr %4, align 4, !tbaa !9
  %2699 = load float, ptr %2664, align 4, !tbaa !12
  %2700 = fneg float %2699
  %2701 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2702 = insertelement <2 x float> poison, float %2699, i64 0
  %2703 = insertelement <2 x float> %2702, float %2700, i64 1
  %2704 = fmul <2 x float> %2701, %2703
  %2705 = shufflevector <2 x float> %2704, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2706 = insertelement <2 x float> poison, float %2698, i64 0
  %2707 = shufflevector <2 x float> %2706, <2 x float> poison, <2 x i32> zeroinitializer
  %2708 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2707, <2 x float> %2701, <2 x float> %2705)
  store <2 x float> %2708, ptr %9, align 8, !tbaa !13
  %2709 = getelementptr inbounds i8, ptr %3, i64 24
  %2710 = load <2 x float>, ptr %2709, align 4, !tbaa !13
  store <2 x float> %2710, ptr %15, align 8, !tbaa !13
  %2711 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.045.0.vec.extract = extractelement <2 x float> %2711, i64 0
  %.sroa.045.4.vec.extract = extractelement <2 x float> %2711, i64 1
  %2712 = fneg float %.sroa.045.4.vec.extract
  %2713 = call ptr @_pCf(ptr noundef nonnull %10)
  %2714 = getelementptr inbounds i8, ptr %2713, i64 4
  store float %.sroa.045.0.vec.extract, ptr %2713, align 4
  store float %2712, ptr %2714, align 4
  %2715 = load float, ptr %4, align 4, !tbaa !9
  %2716 = load float, ptr %2664, align 4, !tbaa !12
  %2717 = fneg float %2716
  %2718 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2719 = insertelement <2 x float> poison, float %2716, i64 0
  %2720 = insertelement <2 x float> %2719, float %2717, i64 1
  %2721 = fmul <2 x float> %2718, %2720
  %2722 = shufflevector <2 x float> %2721, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2723 = insertelement <2 x float> poison, float %2715, i64 0
  %2724 = shufflevector <2 x float> %2723, <2 x float> poison, <2 x i32> zeroinitializer
  %2725 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2724, <2 x float> %2718, <2 x float> %2722)
  %2726 = load i32, ptr %1, align 4, !tbaa !5
  %.not44524671 = icmp slt i32 %2726, 1
  br i1 %.not44524671, label %.loopexit, label %.lr.ph4673

.lr.ph4673:                                       ; preds = %2657
  %2727 = getelementptr inbounds i8, ptr %15, i64 4
  %2728 = getelementptr inbounds i8, ptr %14, i64 4
  %2729 = getelementptr inbounds i8, ptr %13, i64 4
  %2730 = getelementptr inbounds i8, ptr %12, i64 4
  %2731 = load float, ptr %12, align 8, !tbaa !9
  %2732 = load float, ptr %2730, align 4, !tbaa !12
  %2733 = shl i32 %22, 1
  %2734 = load float, ptr %13, align 8, !tbaa !9
  %2735 = load float, ptr %2729, align 4, !tbaa !12
  %2736 = insertelement <2 x float> poison, float %2732, i64 0
  %2737 = insertelement <2 x float> %2736, float %2735, i64 1
  %2738 = fneg <2 x float> %2737
  %2739 = mul i32 %22, 3
  %2740 = load float, ptr %14, align 8, !tbaa !9
  %2741 = load float, ptr %2728, align 4, !tbaa !12
  %2742 = fneg float %2741
  %2743 = shl i32 %22, 2
  %2744 = load float, ptr %15, align 8, !tbaa !9
  %2745 = load float, ptr %2727, align 4, !tbaa !12
  %2746 = fneg float %2745
  %2747 = sext i32 %22 to i64
  %2748 = sext i32 %2733 to i64
  %2749 = sext i32 %2739 to i64
  %2750 = sext i32 %2743 to i64
  %2751 = add nuw i32 %2726, 1
  %wide.trip.count4890 = zext i32 %2751 to i64
  %invariant.gep4995 = getelementptr %struct.complex, ptr %24, i64 %2747
  %invariant.gep4997 = getelementptr %struct.complex, ptr %24, i64 %2748
  %invariant.gep4999 = getelementptr %struct.complex, ptr %24, i64 %2749
  %invariant.gep5001 = getelementptr %struct.complex, ptr %24, i64 %2750
  %2752 = zext nneg i32 %2726 to i64
  %min.iters.check6495 = icmp ult i32 %2726, 12
  br i1 %min.iters.check6495, label %scalar.ph6494.preheader, label %vector.scevcheck6396

vector.scevcheck6396:                             ; preds = %.lr.ph4673
  %2753 = add nsw i64 %wide.trip.count4890, -2
  %2754 = shl nsw i64 %2747, 3
  %2755 = shl nsw i64 %23, 3
  %2756 = getelementptr i8, ptr %5, i64 %2754
  %2757 = getelementptr i8, ptr %2756, i64 %2755
  %mul.result6399 = shl nsw i64 %2753, 3
  %2758 = shl nsw i64 %2748, 3
  %2759 = getelementptr i8, ptr %5, i64 %2758
  %2760 = getelementptr i8, ptr %2759, i64 %2755
  %mul.result6403 = shl nsw i64 %2753, 3
  %mul.overflow6404 = icmp ugt i64 %2753, 2305843009213693951
  %2761 = shl nsw i64 %2749, 3
  %2762 = getelementptr i8, ptr %5, i64 %2761
  %2763 = getelementptr i8, ptr %2762, i64 %2755
  %mul.result6407 = shl nsw i64 %2753, 3
  %2764 = shl nsw i64 %2750, 3
  %2765 = getelementptr i8, ptr %5, i64 %2764
  %2766 = getelementptr i8, ptr %2765, i64 %2755
  %mul.result6411 = shl nsw i64 %2753, 3
  %2767 = getelementptr i8, ptr %5, i64 %2754
  %2768 = getelementptr i8, ptr %2767, i64 %2755
  %mul.result6415 = shl nsw i64 %2753, 3
  %2769 = getelementptr i8, ptr %5, i64 %2758
  %2770 = getelementptr i8, ptr %2769, i64 %2755
  %mul.result6419 = shl nsw i64 %2753, 3
  %2771 = getelementptr i8, ptr %5, i64 %2761
  %2772 = getelementptr i8, ptr %2771, i64 %2755
  %mul.result6423 = shl nsw i64 %2753, 3
  %2773 = getelementptr i8, ptr %5, i64 %2764
  %2774 = getelementptr i8, ptr %2773, i64 %2755
  %mul.result6427 = shl nsw i64 %2753, 3
  %2775 = insertelement <8 x ptr> poison, ptr %2760, i64 0
  %2776 = insertelement <8 x ptr> %2775, ptr %2757, i64 1
  %2777 = insertelement <8 x ptr> %2776, ptr %2763, i64 2
  %2778 = insertelement <8 x ptr> %2777, ptr %2766, i64 3
  %2779 = insertelement <8 x ptr> %2778, ptr %2768, i64 4
  %2780 = insertelement <8 x ptr> %2779, ptr %2770, i64 5
  %2781 = insertelement <8 x ptr> %2780, ptr %2772, i64 6
  %2782 = insertelement <8 x ptr> %2781, ptr %2774, i64 7
  %2783 = getelementptr i8, <8 x ptr> %2782, <8 x i64> <i64 8, i64 8, i64 8, i64 8, i64 12, i64 12, i64 12, i64 12>
  %scevgep6397 = getelementptr i8, ptr %2757, i64 8
  %2784 = getelementptr i8, ptr %scevgep6397, i64 %mul.result6399
  %scevgep6401 = getelementptr i8, ptr %2760, i64 8
  %2785 = getelementptr i8, ptr %scevgep6401, i64 %mul.result6403
  %scevgep6405 = getelementptr i8, ptr %2763, i64 8
  %2786 = getelementptr i8, ptr %scevgep6405, i64 %mul.result6407
  %scevgep6409 = getelementptr i8, ptr %2766, i64 8
  %2787 = getelementptr i8, ptr %scevgep6409, i64 %mul.result6411
  %scevgep6413 = getelementptr i8, ptr %2768, i64 12
  %2788 = getelementptr i8, ptr %scevgep6413, i64 %mul.result6415
  %scevgep6417 = getelementptr i8, ptr %2770, i64 12
  %2789 = getelementptr i8, ptr %scevgep6417, i64 %mul.result6419
  %scevgep6421 = getelementptr i8, ptr %2772, i64 12
  %2790 = getelementptr i8, ptr %scevgep6421, i64 %mul.result6423
  %scevgep6425 = getelementptr i8, ptr %2774, i64 12
  %2791 = getelementptr i8, ptr %scevgep6425, i64 %mul.result6427
  %2792 = insertelement <8 x ptr> poison, ptr %2785, i64 0
  %2793 = insertelement <8 x ptr> %2792, ptr %2784, i64 1
  %2794 = insertelement <8 x ptr> %2793, ptr %2786, i64 2
  %2795 = insertelement <8 x ptr> %2794, ptr %2787, i64 3
  %2796 = insertelement <8 x ptr> %2795, ptr %2788, i64 4
  %2797 = insertelement <8 x ptr> %2796, ptr %2789, i64 5
  %2798 = insertelement <8 x ptr> %2797, ptr %2790, i64 6
  %2799 = insertelement <8 x ptr> %2798, ptr %2791, i64 7
  %2800 = icmp ult <8 x ptr> %2799, %2783
  %2801 = bitcast <8 x i1> %2800 to i8
  %2802 = icmp ne i8 %2801, 0
  %op.rdx = or i1 %2802, %mul.overflow6404
  br i1 %op.rdx, label %scalar.ph6494.preheader, label %vector.memcheck6429

vector.memcheck6429:                              ; preds = %vector.scevcheck6396
  %2803 = shl nsw i64 %2747, 3
  %2804 = shl nsw i64 %23, 3
  %2805 = add nsw i64 %2803, %2804
  %2806 = getelementptr i8, ptr %5, i64 %2805
  %scevgep6430 = getelementptr i8, ptr %2806, i64 8
  %2807 = shl nuw nsw i64 %wide.trip.count4890, 3
  %2808 = getelementptr i8, ptr %5, i64 %2805
  %2809 = getelementptr i8, ptr %2808, i64 %2807
  %scevgep6431 = getelementptr i8, ptr %2809, i64 -4
  %2810 = shl nsw i64 %2748, 3
  %2811 = add nsw i64 %2810, %2804
  %2812 = getelementptr i8, ptr %5, i64 %2811
  %scevgep6432 = getelementptr i8, ptr %2812, i64 8
  %2813 = getelementptr i8, ptr %5, i64 %2811
  %2814 = getelementptr i8, ptr %2813, i64 %2807
  %scevgep6433 = getelementptr i8, ptr %2814, i64 -4
  %2815 = shl nsw i64 %2749, 3
  %2816 = add nsw i64 %2815, %2804
  %2817 = getelementptr i8, ptr %5, i64 %2816
  %scevgep6434 = getelementptr i8, ptr %2817, i64 8
  %2818 = getelementptr i8, ptr %5, i64 %2816
  %2819 = getelementptr i8, ptr %2818, i64 %2807
  %scevgep6435 = getelementptr i8, ptr %2819, i64 -4
  %2820 = shl nsw i64 %2750, 3
  %2821 = add nsw i64 %2820, %2804
  %2822 = getelementptr i8, ptr %5, i64 %2821
  %scevgep6436 = getelementptr i8, ptr %2822, i64 8
  %2823 = getelementptr i8, ptr %5, i64 %2821
  %2824 = getelementptr i8, ptr %2823, i64 %2807
  %scevgep6437 = getelementptr i8, ptr %2824, i64 -4
  %2825 = add nsw i64 %2803, %2804
  %2826 = getelementptr i8, ptr %5, i64 %2825
  %scevgep6438 = getelementptr i8, ptr %2826, i64 12
  %2827 = getelementptr i8, ptr %5, i64 %2825
  %scevgep6439 = getelementptr i8, ptr %2827, i64 %2807
  %2828 = add nsw i64 %2810, %2804
  %2829 = getelementptr i8, ptr %5, i64 %2828
  %scevgep6440 = getelementptr i8, ptr %2829, i64 12
  %2830 = getelementptr i8, ptr %5, i64 %2828
  %scevgep6441 = getelementptr i8, ptr %2830, i64 %2807
  %2831 = add nsw i64 %2815, %2804
  %2832 = getelementptr i8, ptr %5, i64 %2831
  %scevgep6442 = getelementptr i8, ptr %2832, i64 12
  %2833 = getelementptr i8, ptr %5, i64 %2831
  %scevgep6443 = getelementptr i8, ptr %2833, i64 %2807
  %2834 = add nsw i64 %2820, %2804
  %2835 = getelementptr i8, ptr %5, i64 %2834
  %scevgep6444 = getelementptr i8, ptr %2835, i64 12
  %2836 = getelementptr i8, ptr %5, i64 %2834
  %scevgep6445 = getelementptr i8, ptr %2836, i64 %2807
  %bound06446 = icmp ult ptr %scevgep6430, %scevgep6433
  %bound16447 = icmp ult ptr %scevgep6432, %scevgep6431
  %found.conflict6448 = and i1 %bound06446, %bound16447
  %bound06449 = icmp ult ptr %scevgep6430, %scevgep6435
  %bound16450 = icmp ult ptr %scevgep6434, %scevgep6431
  %found.conflict6451 = and i1 %bound06449, %bound16450
  %conflict.rdx6452 = or i1 %found.conflict6448, %found.conflict6451
  %bound06453 = icmp ult ptr %scevgep6430, %scevgep6437
  %bound16454 = icmp ult ptr %scevgep6436, %scevgep6431
  %found.conflict6455 = and i1 %bound06453, %bound16454
  %conflict.rdx6456 = or i1 %conflict.rdx6452, %found.conflict6455
  %bound06457 = icmp ult ptr %scevgep6432, %scevgep6435
  %bound16458 = icmp ult ptr %scevgep6434, %scevgep6433
  %found.conflict6459 = and i1 %bound06457, %bound16458
  %conflict.rdx6460 = or i1 %conflict.rdx6456, %found.conflict6459
  %bound06461 = icmp ult ptr %scevgep6432, %scevgep6437
  %bound16462 = icmp ult ptr %scevgep6436, %scevgep6433
  %found.conflict6463 = and i1 %bound06461, %bound16462
  %conflict.rdx6464 = or i1 %conflict.rdx6460, %found.conflict6463
  %bound06465 = icmp ult ptr %scevgep6434, %scevgep6437
  %bound16466 = icmp ult ptr %scevgep6436, %scevgep6435
  %found.conflict6467 = and i1 %bound06465, %bound16466
  %conflict.rdx6468 = or i1 %conflict.rdx6464, %found.conflict6467
  %bound06469 = icmp ult ptr %scevgep6438, %scevgep6441
  %bound16470 = icmp ult ptr %scevgep6440, %scevgep6439
  %found.conflict6471 = and i1 %bound06469, %bound16470
  %conflict.rdx6472 = or i1 %conflict.rdx6468, %found.conflict6471
  %bound06473 = icmp ult ptr %scevgep6438, %scevgep6443
  %bound16474 = icmp ult ptr %scevgep6442, %scevgep6439
  %found.conflict6475 = and i1 %bound06473, %bound16474
  %conflict.rdx6476 = or i1 %conflict.rdx6472, %found.conflict6475
  %bound06477 = icmp ult ptr %scevgep6438, %scevgep6445
  %bound16478 = icmp ult ptr %scevgep6444, %scevgep6439
  %found.conflict6479 = and i1 %bound06477, %bound16478
  %conflict.rdx6480 = or i1 %conflict.rdx6476, %found.conflict6479
  %bound06481 = icmp ult ptr %scevgep6440, %scevgep6443
  %bound16482 = icmp ult ptr %scevgep6442, %scevgep6441
  %found.conflict6483 = and i1 %bound06481, %bound16482
  %conflict.rdx6484 = or i1 %conflict.rdx6480, %found.conflict6483
  %bound06485 = icmp ult ptr %scevgep6440, %scevgep6445
  %bound16486 = icmp ult ptr %scevgep6444, %scevgep6441
  %found.conflict6487 = and i1 %bound06485, %bound16486
  %conflict.rdx6488 = or i1 %conflict.rdx6484, %found.conflict6487
  %bound06489 = icmp ult ptr %scevgep6442, %scevgep6445
  %bound16490 = icmp ult ptr %scevgep6444, %scevgep6443
  %found.conflict6491 = and i1 %bound06489, %bound16490
  %conflict.rdx6492 = or i1 %conflict.rdx6488, %found.conflict6491
  br i1 %conflict.rdx6492, label %scalar.ph6494.preheader, label %vector.ph6496

vector.ph6496:                                    ; preds = %vector.memcheck6429
  %n.vec6498 = and i64 %2752, 2147483644
  %ind.end6499 = or disjoint i64 %n.vec6498, 1
  %broadcast.splat6508 = shufflevector <2 x float> %2738, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6509 = insertelement <4 x float> poison, float %2731, i64 0
  %broadcast.splat6510 = shufflevector <4 x float> %broadcast.splatinsert6509, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6511 = insertelement <4 x float> poison, float %2732, i64 0
  %broadcast.splat6512 = shufflevector <4 x float> %broadcast.splatinsert6511, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6517 = shufflevector <2 x float> %2738, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6518 = insertelement <4 x float> poison, float %2734, i64 0
  %broadcast.splat6519 = shufflevector <4 x float> %broadcast.splatinsert6518, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6520 = insertelement <4 x float> poison, float %2735, i64 0
  %broadcast.splat6521 = shufflevector <4 x float> %broadcast.splatinsert6520, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6525 = insertelement <4 x float> poison, float %2742, i64 0
  %broadcast.splat6526 = shufflevector <4 x float> %broadcast.splatinsert6525, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6527 = insertelement <4 x float> poison, float %2740, i64 0
  %broadcast.splat6528 = shufflevector <4 x float> %broadcast.splatinsert6527, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6529 = insertelement <4 x float> poison, float %2741, i64 0
  %broadcast.splat6530 = shufflevector <4 x float> %broadcast.splatinsert6529, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6534 = insertelement <4 x float> poison, float %2746, i64 0
  %broadcast.splat6535 = shufflevector <4 x float> %broadcast.splatinsert6534, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6536 = insertelement <4 x float> poison, float %2744, i64 0
  %broadcast.splat6537 = shufflevector <4 x float> %broadcast.splatinsert6536, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6538 = insertelement <4 x float> poison, float %2745, i64 0
  %broadcast.splat6539 = shufflevector <4 x float> %broadcast.splatinsert6538, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6541 = shufflevector <2 x float> %2674, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6543 = shufflevector <2 x float> %2674, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6546 = shufflevector <2 x float> %2691, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6548 = shufflevector <2 x float> %2691, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6554 = shufflevector <2 x float> %2708, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6556 = shufflevector <2 x float> %2708, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6562 = shufflevector <2 x float> %2725, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6564 = shufflevector <2 x float> %2725, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6501

vector.body6501:                                  ; preds = %vector.body6501, %vector.ph6496
  %index6502 = phi i64 [ 0, %vector.ph6496 ], [ %index.next6569, %vector.body6501 ]
  %offset.idx6503 = or disjoint i64 %index6502, 1
  %2837 = getelementptr %struct.complex, ptr %invariant.gep4995, i64 %offset.idx6503
  %wide.vec6504 = load <8 x float>, ptr %2837, align 4, !tbaa !13
  %strided.vec6505 = shufflevector <8 x float> %wide.vec6504, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6506 = shufflevector <8 x float> %wide.vec6504, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2838 = fmul <4 x float> %strided.vec6506, %broadcast.splat6508
  %2839 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6510, <4 x float> %strided.vec6505, <4 x float> %2838)
  %2840 = fmul <4 x float> %strided.vec6505, %broadcast.splat6512
  %2841 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6510, <4 x float> %strided.vec6506, <4 x float> %2840)
  %2842 = getelementptr %struct.complex, ptr %invariant.gep4997, i64 %offset.idx6503
  %wide.vec6513 = load <8 x float>, ptr %2842, align 4, !tbaa !13
  %strided.vec6514 = shufflevector <8 x float> %wide.vec6513, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6515 = shufflevector <8 x float> %wide.vec6513, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2843 = fmul <4 x float> %strided.vec6515, %broadcast.splat6517
  %2844 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6519, <4 x float> %strided.vec6514, <4 x float> %2843)
  %2845 = fmul <4 x float> %strided.vec6514, %broadcast.splat6521
  %2846 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6519, <4 x float> %strided.vec6515, <4 x float> %2845)
  %2847 = fadd <4 x float> %2839, %2844
  %2848 = fadd <4 x float> %2841, %2846
  %2849 = getelementptr %struct.complex, ptr %invariant.gep4999, i64 %offset.idx6503
  %wide.vec6522 = load <8 x float>, ptr %2849, align 4, !tbaa !13
  %strided.vec6523 = shufflevector <8 x float> %wide.vec6522, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6524 = shufflevector <8 x float> %wide.vec6522, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2850 = fmul <4 x float> %strided.vec6524, %broadcast.splat6526
  %2851 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6528, <4 x float> %strided.vec6523, <4 x float> %2850)
  %2852 = fmul <4 x float> %strided.vec6523, %broadcast.splat6530
  %2853 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6528, <4 x float> %strided.vec6524, <4 x float> %2852)
  %2854 = fadd <4 x float> %2847, %2851
  %2855 = fadd <4 x float> %2848, %2853
  %2856 = getelementptr %struct.complex, ptr %invariant.gep5001, i64 %offset.idx6503
  %wide.vec6531 = load <8 x float>, ptr %2856, align 4, !tbaa !13
  %strided.vec6532 = shufflevector <8 x float> %wide.vec6531, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6533 = shufflevector <8 x float> %wide.vec6531, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2857 = fmul <4 x float> %strided.vec6533, %broadcast.splat6535
  %2858 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6537, <4 x float> %strided.vec6532, <4 x float> %2857)
  %2859 = fmul <4 x float> %strided.vec6532, %broadcast.splat6539
  %2860 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6537, <4 x float> %strided.vec6533, <4 x float> %2859)
  %2861 = fadd <4 x float> %2854, %2858
  %2862 = fadd <4 x float> %2855, %2860
  %2863 = fneg <4 x float> %2862
  %2864 = fmul <4 x float> %broadcast.splat6541, %2863
  %2865 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6543, <4 x float> %2864)
  %2866 = fmul <4 x float> %broadcast.splat6543, %2862
  %2867 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6541, <4 x float> %2866)
  %2868 = fsub <4 x float> %strided.vec6505, %2865
  %2869 = fsub <4 x float> %strided.vec6506, %2867
  %interleaved.vec6544 = shufflevector <4 x float> %2868, <4 x float> %2869, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6544, ptr %2837, align 4, !tbaa !13
  %2870 = fmul <4 x float> %broadcast.splat6546, %2863
  %2871 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6548, <4 x float> %2870)
  %2872 = fmul <4 x float> %broadcast.splat6548, %2862
  %2873 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6546, <4 x float> %2872)
  %wide.vec6549 = load <8 x float>, ptr %2842, align 4, !tbaa !13
  %strided.vec6550 = shufflevector <8 x float> %wide.vec6549, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6551 = shufflevector <8 x float> %wide.vec6549, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2874 = fsub <4 x float> %strided.vec6550, %2871
  %2875 = fsub <4 x float> %strided.vec6551, %2873
  %interleaved.vec6552 = shufflevector <4 x float> %2874, <4 x float> %2875, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6552, ptr %2842, align 4, !tbaa !13
  %2876 = fmul <4 x float> %broadcast.splat6554, %2863
  %2877 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6556, <4 x float> %2876)
  %2878 = fmul <4 x float> %broadcast.splat6556, %2862
  %2879 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6554, <4 x float> %2878)
  %wide.vec6557 = load <8 x float>, ptr %2849, align 4, !tbaa !13
  %strided.vec6558 = shufflevector <8 x float> %wide.vec6557, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6559 = shufflevector <8 x float> %wide.vec6557, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2880 = fsub <4 x float> %strided.vec6558, %2877
  %2881 = fsub <4 x float> %strided.vec6559, %2879
  %interleaved.vec6560 = shufflevector <4 x float> %2880, <4 x float> %2881, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6560, ptr %2849, align 4, !tbaa !13
  %2882 = fmul <4 x float> %broadcast.splat6562, %2863
  %2883 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6564, <4 x float> %2882)
  %2884 = fmul <4 x float> %broadcast.splat6564, %2862
  %2885 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2861, <4 x float> %broadcast.splat6562, <4 x float> %2884)
  %wide.vec6565 = load <8 x float>, ptr %2856, align 4, !tbaa !13
  %strided.vec6566 = shufflevector <8 x float> %wide.vec6565, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6567 = shufflevector <8 x float> %wide.vec6565, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2886 = fsub <4 x float> %strided.vec6566, %2883
  %2887 = fsub <4 x float> %strided.vec6567, %2885
  %interleaved.vec6568 = shufflevector <4 x float> %2886, <4 x float> %2887, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6568, ptr %2856, align 4, !tbaa !13
  %index.next6569 = add nuw i64 %index6502, 4
  %2888 = icmp eq i64 %index.next6569, %n.vec6498
  br i1 %2888, label %middle.block6493, label %vector.body6501, !llvm.loop !33

middle.block6493:                                 ; preds = %vector.body6501
  %cmp.n6570 = icmp eq i64 %n.vec6498, %2752
  br i1 %cmp.n6570, label %.loopexit, label %scalar.ph6494.preheader

scalar.ph6494.preheader:                          ; preds = %middle.block6493, %vector.memcheck6429, %vector.scevcheck6396, %.lr.ph4673
  %indvars.iv4887.ph = phi i64 [ 1, %vector.memcheck6429 ], [ 1, %vector.scevcheck6396 ], [ 1, %.lr.ph4673 ], [ %ind.end6499, %middle.block6493 ]
  %2889 = insertelement <2 x float> poison, float %2731, i64 0
  %2890 = insertelement <2 x float> %2889, float %2734, i64 1
  br label %scalar.ph6494

scalar.ph6494:                                    ; preds = %scalar.ph6494.preheader, %scalar.ph6494
  %indvars.iv4887 = phi i64 [ %indvars.iv.next4888, %scalar.ph6494 ], [ %indvars.iv4887.ph, %scalar.ph6494.preheader ]
  %gep4996 = getelementptr %struct.complex, ptr %invariant.gep4995, i64 %indvars.iv4887
  %gep4998 = getelementptr %struct.complex, ptr %invariant.gep4997, i64 %indvars.iv4887
  %2891 = load float, ptr %gep4998, align 4, !tbaa !9
  %2892 = getelementptr inbounds i8, ptr %gep4998, i64 4
  %2893 = load float, ptr %2892, align 4, !tbaa !12
  %2894 = fmul float %2891, %2735
  %2895 = call float @llvm.fmuladd.f32(float %2734, float %2893, float %2894)
  %gep5000 = getelementptr %struct.complex, ptr %invariant.gep4999, i64 %indvars.iv4887
  %2896 = load float, ptr %gep5000, align 4, !tbaa !9
  %2897 = getelementptr inbounds i8, ptr %gep5000, i64 4
  %2898 = load float, ptr %2897, align 4, !tbaa !12
  %2899 = fmul float %2898, %2742
  %2900 = call float @llvm.fmuladd.f32(float %2740, float %2896, float %2899)
  %2901 = fmul float %2896, %2741
  %2902 = call float @llvm.fmuladd.f32(float %2740, float %2898, float %2901)
  %gep5002 = getelementptr %struct.complex, ptr %invariant.gep5001, i64 %indvars.iv4887
  %2903 = load float, ptr %gep5002, align 4, !tbaa !9
  %2904 = getelementptr inbounds i8, ptr %gep5002, i64 4
  %2905 = load float, ptr %2904, align 4, !tbaa !12
  %2906 = fmul float %2905, %2746
  %2907 = call float @llvm.fmuladd.f32(float %2744, float %2903, float %2906)
  %2908 = fmul float %2903, %2745
  %2909 = call float @llvm.fmuladd.f32(float %2744, float %2905, float %2908)
  %2910 = load <2 x float>, ptr %gep4996, align 4, !tbaa !13
  %2911 = extractelement <2 x float> %2910, i64 1
  %2912 = extractelement <2 x float> %2910, i64 0
  %2913 = shufflevector <2 x float> %2910, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2914 = insertelement <2 x float> %2913, float %2893, i64 1
  %2915 = fmul <2 x float> %2914, %2738
  %2916 = insertelement <2 x float> %2910, float %2891, i64 1
  %2917 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2890, <2 x float> %2916, <2 x float> %2915)
  %2918 = fmul float %2912, %2732
  %2919 = call float @llvm.fmuladd.f32(float %2731, float %2911, float %2918)
  %shift6832 = shufflevector <2 x float> %2917, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2920 = fadd <2 x float> %2917, %shift6832
  %2921 = extractelement <2 x float> %2920, i64 0
  %2922 = fadd float %2919, %2895
  %2923 = fadd float %2921, %2900
  %2924 = fadd float %2922, %2902
  %2925 = fadd float %2923, %2907
  %2926 = fadd float %2924, %2909
  %2927 = fneg float %2926
  %2928 = insertelement <2 x float> poison, float %2926, i64 0
  %2929 = insertelement <2 x float> %2928, float %2927, i64 1
  %2930 = fmul <2 x float> %2674, %2929
  %2931 = shufflevector <2 x float> %2930, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2932 = insertelement <2 x float> poison, float %2925, i64 0
  %2933 = shufflevector <2 x float> %2932, <2 x float> poison, <2 x i32> zeroinitializer
  %2934 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2933, <2 x float> %2674, <2 x float> %2931)
  %2935 = fsub <2 x float> %2910, %2934
  store <2 x float> %2935, ptr %gep4996, align 4, !tbaa !13
  %2936 = fmul <2 x float> %2691, %2929
  %2937 = shufflevector <2 x float> %2936, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2938 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2933, <2 x float> %2691, <2 x float> %2937)
  %2939 = load <2 x float>, ptr %gep4998, align 4, !tbaa !13
  %2940 = fsub <2 x float> %2939, %2938
  store <2 x float> %2940, ptr %gep4998, align 4, !tbaa !13
  %2941 = fmul <2 x float> %2708, %2929
  %2942 = shufflevector <2 x float> %2941, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2943 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2933, <2 x float> %2708, <2 x float> %2942)
  %2944 = load <2 x float>, ptr %gep5000, align 4, !tbaa !13
  %2945 = fsub <2 x float> %2944, %2943
  store <2 x float> %2945, ptr %gep5000, align 4, !tbaa !13
  %2946 = fmul <2 x float> %2725, %2929
  %2947 = shufflevector <2 x float> %2946, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2948 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2933, <2 x float> %2725, <2 x float> %2947)
  %2949 = load <2 x float>, ptr %gep5002, align 4, !tbaa !13
  %2950 = fsub <2 x float> %2949, %2948
  store <2 x float> %2950, ptr %gep5002, align 4, !tbaa !13
  %indvars.iv.next4888 = add nuw nsw i64 %indvars.iv4887, 1
  %exitcond4891.not = icmp eq i64 %indvars.iv.next4888, %wide.trip.count4890
  br i1 %exitcond4891.not, label %.loopexit, label %scalar.ph6494, !llvm.loop !34

2951:                                             ; preds = %2238
  %2952 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %2952, ptr %12, align 8, !tbaa !13
  %2953 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.044.0.vec.extract = extractelement <2 x float> %2953, i64 0
  %.sroa.044.4.vec.extract = extractelement <2 x float> %2953, i64 1
  %2954 = fneg float %.sroa.044.4.vec.extract
  %2955 = call ptr @_pCf(ptr noundef nonnull %10)
  %2956 = getelementptr inbounds i8, ptr %2955, i64 4
  store float %.sroa.044.0.vec.extract, ptr %2955, align 4
  store float %2954, ptr %2956, align 4
  %2957 = load float, ptr %4, align 4, !tbaa !9
  %2958 = getelementptr inbounds i8, ptr %4, i64 4
  %2959 = load float, ptr %2958, align 4, !tbaa !12
  %2960 = fneg float %2959
  %2961 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2962 = insertelement <2 x float> poison, float %2959, i64 0
  %2963 = insertelement <2 x float> %2962, float %2960, i64 1
  %2964 = fmul <2 x float> %2961, %2963
  %2965 = shufflevector <2 x float> %2964, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2966 = insertelement <2 x float> poison, float %2957, i64 0
  %2967 = shufflevector <2 x float> %2966, <2 x float> poison, <2 x i32> zeroinitializer
  %2968 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2967, <2 x float> %2961, <2 x float> %2965)
  store <2 x float> %2968, ptr %9, align 8, !tbaa !13
  %2969 = getelementptr inbounds i8, ptr %3, i64 8
  %2970 = load <2 x float>, ptr %2969, align 4, !tbaa !13
  store <2 x float> %2970, ptr %13, align 8, !tbaa !13
  %2971 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.043.0.vec.extract = extractelement <2 x float> %2971, i64 0
  %.sroa.043.4.vec.extract = extractelement <2 x float> %2971, i64 1
  %2972 = fneg float %.sroa.043.4.vec.extract
  %2973 = call ptr @_pCf(ptr noundef nonnull %10)
  %2974 = getelementptr inbounds i8, ptr %2973, i64 4
  store float %.sroa.043.0.vec.extract, ptr %2973, align 4
  store float %2972, ptr %2974, align 4
  %2975 = load float, ptr %4, align 4, !tbaa !9
  %2976 = load float, ptr %2958, align 4, !tbaa !12
  %2977 = fneg float %2976
  %2978 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2979 = insertelement <2 x float> poison, float %2976, i64 0
  %2980 = insertelement <2 x float> %2979, float %2977, i64 1
  %2981 = fmul <2 x float> %2978, %2980
  %2982 = shufflevector <2 x float> %2981, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2983 = insertelement <2 x float> poison, float %2975, i64 0
  %2984 = shufflevector <2 x float> %2983, <2 x float> poison, <2 x i32> zeroinitializer
  %2985 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2984, <2 x float> %2978, <2 x float> %2982)
  store <2 x float> %2985, ptr %9, align 8, !tbaa !13
  %2986 = getelementptr inbounds i8, ptr %3, i64 16
  %2987 = load <2 x float>, ptr %2986, align 4, !tbaa !13
  store <2 x float> %2987, ptr %14, align 8, !tbaa !13
  %2988 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.042.0.vec.extract = extractelement <2 x float> %2988, i64 0
  %.sroa.042.4.vec.extract = extractelement <2 x float> %2988, i64 1
  %2989 = fneg float %.sroa.042.4.vec.extract
  %2990 = call ptr @_pCf(ptr noundef nonnull %10)
  %2991 = getelementptr inbounds i8, ptr %2990, i64 4
  store float %.sroa.042.0.vec.extract, ptr %2990, align 4
  store float %2989, ptr %2991, align 4
  %2992 = load float, ptr %4, align 4, !tbaa !9
  %2993 = load float, ptr %2958, align 4, !tbaa !12
  %2994 = fneg float %2993
  %2995 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2996 = insertelement <2 x float> poison, float %2993, i64 0
  %2997 = insertelement <2 x float> %2996, float %2994, i64 1
  %2998 = fmul <2 x float> %2995, %2997
  %2999 = shufflevector <2 x float> %2998, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3000 = insertelement <2 x float> poison, float %2992, i64 0
  %3001 = shufflevector <2 x float> %3000, <2 x float> poison, <2 x i32> zeroinitializer
  %3002 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3001, <2 x float> %2995, <2 x float> %2999)
  store <2 x float> %3002, ptr %9, align 8, !tbaa !13
  %3003 = getelementptr inbounds i8, ptr %3, i64 24
  %3004 = load <2 x float>, ptr %3003, align 4, !tbaa !13
  store <2 x float> %3004, ptr %15, align 8, !tbaa !13
  %3005 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.041.0.vec.extract = extractelement <2 x float> %3005, i64 0
  %.sroa.041.4.vec.extract = extractelement <2 x float> %3005, i64 1
  %3006 = fneg float %.sroa.041.4.vec.extract
  %3007 = call ptr @_pCf(ptr noundef nonnull %10)
  %3008 = getelementptr inbounds i8, ptr %3007, i64 4
  store float %.sroa.041.0.vec.extract, ptr %3007, align 4
  store float %3006, ptr %3008, align 4
  %3009 = load float, ptr %4, align 4, !tbaa !9
  %3010 = load float, ptr %2958, align 4, !tbaa !12
  %3011 = fneg float %3010
  %3012 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3013 = insertelement <2 x float> poison, float %3010, i64 0
  %3014 = insertelement <2 x float> %3013, float %3011, i64 1
  %3015 = fmul <2 x float> %3012, %3014
  %3016 = shufflevector <2 x float> %3015, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3017 = insertelement <2 x float> poison, float %3009, i64 0
  %3018 = shufflevector <2 x float> %3017, <2 x float> poison, <2 x i32> zeroinitializer
  %3019 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3018, <2 x float> %3012, <2 x float> %3016)
  store <2 x float> %3019, ptr %9, align 8, !tbaa !13
  %3020 = getelementptr inbounds i8, ptr %3, i64 32
  %3021 = load <2 x float>, ptr %3020, align 4, !tbaa !13
  store <2 x float> %3021, ptr %16, align 8, !tbaa !13
  %3022 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.040.0.vec.extract = extractelement <2 x float> %3022, i64 0
  %.sroa.040.4.vec.extract = extractelement <2 x float> %3022, i64 1
  %3023 = fneg float %.sroa.040.4.vec.extract
  %3024 = call ptr @_pCf(ptr noundef nonnull %10)
  %3025 = getelementptr inbounds i8, ptr %3024, i64 4
  store float %.sroa.040.0.vec.extract, ptr %3024, align 4
  store float %3023, ptr %3025, align 4
  %3026 = load float, ptr %4, align 4, !tbaa !9
  %3027 = load float, ptr %2958, align 4, !tbaa !12
  %3028 = fneg float %3027
  %3029 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3030 = insertelement <2 x float> poison, float %3027, i64 0
  %3031 = insertelement <2 x float> %3030, float %3028, i64 1
  %3032 = fmul <2 x float> %3029, %3031
  %3033 = shufflevector <2 x float> %3032, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3034 = insertelement <2 x float> poison, float %3026, i64 0
  %3035 = shufflevector <2 x float> %3034, <2 x float> poison, <2 x i32> zeroinitializer
  %3036 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3035, <2 x float> %3029, <2 x float> %3033)
  %3037 = load i32, ptr %1, align 4, !tbaa !5
  %.not44514660 = icmp slt i32 %3037, 1
  br i1 %.not44514660, label %.loopexit, label %.lr.ph4662

.lr.ph4662:                                       ; preds = %2951
  %3038 = getelementptr inbounds i8, ptr %16, i64 4
  %3039 = getelementptr inbounds i8, ptr %15, i64 4
  %3040 = getelementptr inbounds i8, ptr %14, i64 4
  %3041 = getelementptr inbounds i8, ptr %13, i64 4
  %3042 = getelementptr inbounds i8, ptr %12, i64 4
  %3043 = load float, ptr %12, align 8, !tbaa !9
  %3044 = load float, ptr %3042, align 4, !tbaa !12
  %3045 = shl i32 %22, 1
  %3046 = load float, ptr %13, align 8, !tbaa !9
  %3047 = load float, ptr %3041, align 4, !tbaa !12
  %3048 = insertelement <2 x float> poison, float %3044, i64 0
  %3049 = insertelement <2 x float> %3048, float %3047, i64 1
  %3050 = fneg <2 x float> %3049
  %3051 = mul i32 %22, 3
  %3052 = load float, ptr %14, align 8, !tbaa !9
  %3053 = load float, ptr %3040, align 4, !tbaa !12
  %3054 = fneg float %3053
  %3055 = shl i32 %22, 2
  %3056 = load float, ptr %15, align 8, !tbaa !9
  %3057 = load float, ptr %3039, align 4, !tbaa !12
  %3058 = fneg float %3057
  %3059 = mul i32 %22, 5
  %3060 = load float, ptr %16, align 8, !tbaa !9
  %3061 = load float, ptr %3038, align 4, !tbaa !12
  %3062 = fneg float %3061
  %3063 = sext i32 %22 to i64
  %3064 = sext i32 %3045 to i64
  %3065 = sext i32 %3051 to i64
  %3066 = sext i32 %3055 to i64
  %3067 = sext i32 %3059 to i64
  %3068 = add nuw i32 %3037, 1
  %wide.trip.count4885 = zext i32 %3068 to i64
  %invariant.gep4985 = getelementptr %struct.complex, ptr %24, i64 %3063
  %invariant.gep4987 = getelementptr %struct.complex, ptr %24, i64 %3064
  %invariant.gep4989 = getelementptr %struct.complex, ptr %24, i64 %3065
  %invariant.gep4991 = getelementptr %struct.complex, ptr %24, i64 %3066
  %invariant.gep4993 = getelementptr %struct.complex, ptr %24, i64 %3067
  %3069 = zext nneg i32 %3037 to i64
  %min.iters.check6303 = icmp ult i32 %3037, 12
  br i1 %min.iters.check6303, label %scalar.ph6302.preheader, label %vector.scevcheck6160

vector.scevcheck6160:                             ; preds = %.lr.ph4662
  %3070 = add nsw i64 %wide.trip.count4885, -2
  %3071 = shl nsw i64 %3063, 3
  %3072 = shl nsw i64 %23, 3
  %3073 = getelementptr i8, ptr %5, i64 %3071
  %3074 = getelementptr i8, ptr %3073, i64 %3072
  %mul.result6163 = shl nsw i64 %3070, 3
  %3075 = shl nsw i64 %3064, 3
  %3076 = getelementptr i8, ptr %5, i64 %3075
  %3077 = getelementptr i8, ptr %3076, i64 %3072
  %mul.result6167 = shl nsw i64 %3070, 3
  %mul.overflow6168 = icmp ugt i64 %3070, 2305843009213693951
  %3078 = shl nsw i64 %3065, 3
  %3079 = getelementptr i8, ptr %5, i64 %3078
  %3080 = getelementptr i8, ptr %3079, i64 %3072
  %mul.result6171 = shl nsw i64 %3070, 3
  %3081 = shl nsw i64 %3066, 3
  %3082 = getelementptr i8, ptr %5, i64 %3081
  %3083 = getelementptr i8, ptr %3082, i64 %3072
  %mul.result6175 = shl nsw i64 %3070, 3
  %3084 = shl nsw i64 %3067, 3
  %3085 = getelementptr i8, ptr %5, i64 %3084
  %3086 = getelementptr i8, ptr %3085, i64 %3072
  %mul.result6179 = shl nsw i64 %3070, 3
  %3087 = getelementptr i8, ptr %5, i64 %3071
  %3088 = getelementptr i8, ptr %3087, i64 %3072
  %mul.result6183 = shl nsw i64 %3070, 3
  %3089 = getelementptr i8, ptr %5, i64 %3075
  %3090 = getelementptr i8, ptr %3089, i64 %3072
  %mul.result6187 = shl nsw i64 %3070, 3
  %3091 = getelementptr i8, ptr %5, i64 %3078
  %3092 = getelementptr i8, ptr %3091, i64 %3072
  %mul.result6191 = shl nsw i64 %3070, 3
  %3093 = insertelement <8 x ptr> poison, ptr %3077, i64 0
  %3094 = insertelement <8 x ptr> %3093, ptr %3074, i64 1
  %3095 = insertelement <8 x ptr> %3094, ptr %3080, i64 2
  %3096 = insertelement <8 x ptr> %3095, ptr %3083, i64 3
  %3097 = insertelement <8 x ptr> %3096, ptr %3086, i64 4
  %3098 = insertelement <8 x ptr> %3097, ptr %3088, i64 5
  %3099 = insertelement <8 x ptr> %3098, ptr %3090, i64 6
  %3100 = insertelement <8 x ptr> %3099, ptr %3092, i64 7
  %3101 = getelementptr i8, <8 x ptr> %3100, <8 x i64> <i64 8, i64 8, i64 8, i64 8, i64 8, i64 12, i64 12, i64 12>
  %scevgep6161 = getelementptr i8, ptr %3074, i64 8
  %3102 = getelementptr i8, ptr %scevgep6161, i64 %mul.result6163
  %scevgep6165 = getelementptr i8, ptr %3077, i64 8
  %3103 = getelementptr i8, ptr %scevgep6165, i64 %mul.result6167
  %scevgep6169 = getelementptr i8, ptr %3080, i64 8
  %3104 = getelementptr i8, ptr %scevgep6169, i64 %mul.result6171
  %scevgep6173 = getelementptr i8, ptr %3083, i64 8
  %3105 = getelementptr i8, ptr %scevgep6173, i64 %mul.result6175
  %scevgep6177 = getelementptr i8, ptr %3086, i64 8
  %3106 = getelementptr i8, ptr %scevgep6177, i64 %mul.result6179
  %scevgep6181 = getelementptr i8, ptr %3088, i64 12
  %3107 = getelementptr i8, ptr %scevgep6181, i64 %mul.result6183
  %scevgep6185 = getelementptr i8, ptr %3090, i64 12
  %3108 = getelementptr i8, ptr %scevgep6185, i64 %mul.result6187
  %scevgep6189 = getelementptr i8, ptr %3092, i64 12
  %3109 = getelementptr i8, ptr %scevgep6189, i64 %mul.result6191
  %3110 = insertelement <8 x ptr> poison, ptr %3103, i64 0
  %3111 = insertelement <8 x ptr> %3110, ptr %3102, i64 1
  %3112 = insertelement <8 x ptr> %3111, ptr %3104, i64 2
  %3113 = insertelement <8 x ptr> %3112, ptr %3105, i64 3
  %3114 = insertelement <8 x ptr> %3113, ptr %3106, i64 4
  %3115 = insertelement <8 x ptr> %3114, ptr %3107, i64 5
  %3116 = insertelement <8 x ptr> %3115, ptr %3108, i64 6
  %3117 = insertelement <8 x ptr> %3116, ptr %3109, i64 7
  %3118 = icmp ult <8 x ptr> %3117, %3101
  %3119 = getelementptr i8, ptr %5, i64 %3081
  %3120 = getelementptr i8, ptr %3119, i64 %3072
  %scevgep6193 = getelementptr i8, ptr %3120, i64 12
  %mul.result6195 = shl nsw i64 %3070, 3
  %3121 = getelementptr i8, ptr %scevgep6193, i64 %mul.result6195
  %3122 = icmp ult ptr %3121, %scevgep6193
  %3123 = getelementptr i8, ptr %5, i64 %3084
  %3124 = getelementptr i8, ptr %3123, i64 %3072
  %scevgep6197 = getelementptr i8, ptr %3124, i64 12
  %mul.result6199 = shl nsw i64 %3070, 3
  %3125 = getelementptr i8, ptr %scevgep6197, i64 %mul.result6199
  %3126 = icmp ult ptr %3125, %scevgep6197
  %3127 = bitcast <8 x i1> %3118 to i8
  %3128 = icmp ne i8 %3127, 0
  %op.rdx6793 = or i1 %3128, %3122
  %op.rdx6794 = or i1 %3126, %mul.overflow6168
  %op.rdx6795 = or i1 %op.rdx6793, %op.rdx6794
  br i1 %op.rdx6795, label %scalar.ph6302.preheader, label %vector.memcheck6201

vector.memcheck6201:                              ; preds = %vector.scevcheck6160
  %3129 = shl nsw i64 %3063, 3
  %3130 = shl nsw i64 %23, 3
  %3131 = add nsw i64 %3129, %3130
  %3132 = getelementptr i8, ptr %5, i64 %3131
  %scevgep6202 = getelementptr i8, ptr %3132, i64 8
  %3133 = shl nuw nsw i64 %wide.trip.count4885, 3
  %3134 = getelementptr i8, ptr %5, i64 %3131
  %3135 = getelementptr i8, ptr %3134, i64 %3133
  %scevgep6203 = getelementptr i8, ptr %3135, i64 -4
  %3136 = shl nsw i64 %3064, 3
  %3137 = add nsw i64 %3136, %3130
  %3138 = getelementptr i8, ptr %5, i64 %3137
  %scevgep6204 = getelementptr i8, ptr %3138, i64 8
  %3139 = getelementptr i8, ptr %5, i64 %3137
  %3140 = getelementptr i8, ptr %3139, i64 %3133
  %scevgep6205 = getelementptr i8, ptr %3140, i64 -4
  %3141 = shl nsw i64 %3065, 3
  %3142 = add nsw i64 %3141, %3130
  %3143 = getelementptr i8, ptr %5, i64 %3142
  %scevgep6206 = getelementptr i8, ptr %3143, i64 8
  %3144 = getelementptr i8, ptr %5, i64 %3142
  %3145 = getelementptr i8, ptr %3144, i64 %3133
  %scevgep6207 = getelementptr i8, ptr %3145, i64 -4
  %3146 = shl nsw i64 %3066, 3
  %3147 = add nsw i64 %3146, %3130
  %3148 = getelementptr i8, ptr %5, i64 %3147
  %scevgep6208 = getelementptr i8, ptr %3148, i64 8
  %3149 = getelementptr i8, ptr %5, i64 %3147
  %3150 = getelementptr i8, ptr %3149, i64 %3133
  %scevgep6209 = getelementptr i8, ptr %3150, i64 -4
  %3151 = shl nsw i64 %3067, 3
  %3152 = add nsw i64 %3151, %3130
  %3153 = getelementptr i8, ptr %5, i64 %3152
  %scevgep6210 = getelementptr i8, ptr %3153, i64 8
  %3154 = getelementptr i8, ptr %5, i64 %3152
  %3155 = getelementptr i8, ptr %3154, i64 %3133
  %scevgep6211 = getelementptr i8, ptr %3155, i64 -4
  %3156 = add nsw i64 %3129, %3130
  %3157 = getelementptr i8, ptr %5, i64 %3156
  %scevgep6212 = getelementptr i8, ptr %3157, i64 12
  %3158 = getelementptr i8, ptr %5, i64 %3156
  %scevgep6213 = getelementptr i8, ptr %3158, i64 %3133
  %3159 = add nsw i64 %3136, %3130
  %3160 = getelementptr i8, ptr %5, i64 %3159
  %scevgep6214 = getelementptr i8, ptr %3160, i64 12
  %3161 = getelementptr i8, ptr %5, i64 %3159
  %scevgep6215 = getelementptr i8, ptr %3161, i64 %3133
  %3162 = add nsw i64 %3141, %3130
  %3163 = getelementptr i8, ptr %5, i64 %3162
  %scevgep6216 = getelementptr i8, ptr %3163, i64 12
  %3164 = getelementptr i8, ptr %5, i64 %3162
  %scevgep6217 = getelementptr i8, ptr %3164, i64 %3133
  %3165 = add nsw i64 %3146, %3130
  %3166 = getelementptr i8, ptr %5, i64 %3165
  %scevgep6218 = getelementptr i8, ptr %3166, i64 12
  %3167 = getelementptr i8, ptr %5, i64 %3165
  %scevgep6219 = getelementptr i8, ptr %3167, i64 %3133
  %3168 = add nsw i64 %3151, %3130
  %3169 = getelementptr i8, ptr %5, i64 %3168
  %scevgep6220 = getelementptr i8, ptr %3169, i64 12
  %3170 = getelementptr i8, ptr %5, i64 %3168
  %scevgep6221 = getelementptr i8, ptr %3170, i64 %3133
  %bound06222 = icmp ult ptr %scevgep6202, %scevgep6205
  %bound16223 = icmp ult ptr %scevgep6204, %scevgep6203
  %found.conflict6224 = and i1 %bound06222, %bound16223
  %bound06225 = icmp ult ptr %scevgep6202, %scevgep6207
  %bound16226 = icmp ult ptr %scevgep6206, %scevgep6203
  %found.conflict6227 = and i1 %bound06225, %bound16226
  %conflict.rdx6228 = or i1 %found.conflict6224, %found.conflict6227
  %bound06229 = icmp ult ptr %scevgep6202, %scevgep6209
  %bound16230 = icmp ult ptr %scevgep6208, %scevgep6203
  %found.conflict6231 = and i1 %bound06229, %bound16230
  %conflict.rdx6232 = or i1 %conflict.rdx6228, %found.conflict6231
  %bound06233 = icmp ult ptr %scevgep6202, %scevgep6211
  %bound16234 = icmp ult ptr %scevgep6210, %scevgep6203
  %found.conflict6235 = and i1 %bound06233, %bound16234
  %conflict.rdx6236 = or i1 %conflict.rdx6232, %found.conflict6235
  %bound06237 = icmp ult ptr %scevgep6204, %scevgep6207
  %bound16238 = icmp ult ptr %scevgep6206, %scevgep6205
  %found.conflict6239 = and i1 %bound06237, %bound16238
  %conflict.rdx6240 = or i1 %conflict.rdx6236, %found.conflict6239
  %bound06241 = icmp ult ptr %scevgep6204, %scevgep6209
  %bound16242 = icmp ult ptr %scevgep6208, %scevgep6205
  %found.conflict6243 = and i1 %bound06241, %bound16242
  %conflict.rdx6244 = or i1 %conflict.rdx6240, %found.conflict6243
  %bound06245 = icmp ult ptr %scevgep6204, %scevgep6211
  %bound16246 = icmp ult ptr %scevgep6210, %scevgep6205
  %found.conflict6247 = and i1 %bound06245, %bound16246
  %conflict.rdx6248 = or i1 %conflict.rdx6244, %found.conflict6247
  %bound06249 = icmp ult ptr %scevgep6206, %scevgep6209
  %bound16250 = icmp ult ptr %scevgep6208, %scevgep6207
  %found.conflict6251 = and i1 %bound06249, %bound16250
  %conflict.rdx6252 = or i1 %conflict.rdx6248, %found.conflict6251
  %bound06253 = icmp ult ptr %scevgep6206, %scevgep6211
  %bound16254 = icmp ult ptr %scevgep6210, %scevgep6207
  %found.conflict6255 = and i1 %bound06253, %bound16254
  %conflict.rdx6256 = or i1 %conflict.rdx6252, %found.conflict6255
  %bound06257 = icmp ult ptr %scevgep6208, %scevgep6211
  %bound16258 = icmp ult ptr %scevgep6210, %scevgep6209
  %found.conflict6259 = and i1 %bound06257, %bound16258
  %conflict.rdx6260 = or i1 %conflict.rdx6256, %found.conflict6259
  %bound06261 = icmp ult ptr %scevgep6212, %scevgep6215
  %bound16262 = icmp ult ptr %scevgep6214, %scevgep6213
  %found.conflict6263 = and i1 %bound06261, %bound16262
  %conflict.rdx6264 = or i1 %conflict.rdx6260, %found.conflict6263
  %bound06265 = icmp ult ptr %scevgep6212, %scevgep6217
  %bound16266 = icmp ult ptr %scevgep6216, %scevgep6213
  %found.conflict6267 = and i1 %bound06265, %bound16266
  %conflict.rdx6268 = or i1 %conflict.rdx6264, %found.conflict6267
  %bound06269 = icmp ult ptr %scevgep6212, %scevgep6219
  %bound16270 = icmp ult ptr %scevgep6218, %scevgep6213
  %found.conflict6271 = and i1 %bound06269, %bound16270
  %conflict.rdx6272 = or i1 %conflict.rdx6268, %found.conflict6271
  %bound06273 = icmp ult ptr %scevgep6212, %scevgep6221
  %bound16274 = icmp ult ptr %scevgep6220, %scevgep6213
  %found.conflict6275 = and i1 %bound06273, %bound16274
  %conflict.rdx6276 = or i1 %conflict.rdx6272, %found.conflict6275
  %bound06277 = icmp ult ptr %scevgep6214, %scevgep6217
  %bound16278 = icmp ult ptr %scevgep6216, %scevgep6215
  %found.conflict6279 = and i1 %bound06277, %bound16278
  %conflict.rdx6280 = or i1 %conflict.rdx6276, %found.conflict6279
  %bound06281 = icmp ult ptr %scevgep6214, %scevgep6219
  %bound16282 = icmp ult ptr %scevgep6218, %scevgep6215
  %found.conflict6283 = and i1 %bound06281, %bound16282
  %conflict.rdx6284 = or i1 %conflict.rdx6280, %found.conflict6283
  %bound06285 = icmp ult ptr %scevgep6214, %scevgep6221
  %bound16286 = icmp ult ptr %scevgep6220, %scevgep6215
  %found.conflict6287 = and i1 %bound06285, %bound16286
  %conflict.rdx6288 = or i1 %conflict.rdx6284, %found.conflict6287
  %bound06289 = icmp ult ptr %scevgep6216, %scevgep6219
  %bound16290 = icmp ult ptr %scevgep6218, %scevgep6217
  %found.conflict6291 = and i1 %bound06289, %bound16290
  %conflict.rdx6292 = or i1 %conflict.rdx6288, %found.conflict6291
  %bound06293 = icmp ult ptr %scevgep6216, %scevgep6221
  %bound16294 = icmp ult ptr %scevgep6220, %scevgep6217
  %found.conflict6295 = and i1 %bound06293, %bound16294
  %conflict.rdx6296 = or i1 %conflict.rdx6292, %found.conflict6295
  %bound06297 = icmp ult ptr %scevgep6218, %scevgep6221
  %bound16298 = icmp ult ptr %scevgep6220, %scevgep6219
  %found.conflict6299 = and i1 %bound06297, %bound16298
  %conflict.rdx6300 = or i1 %conflict.rdx6296, %found.conflict6299
  br i1 %conflict.rdx6300, label %scalar.ph6302.preheader, label %vector.ph6304

vector.ph6304:                                    ; preds = %vector.memcheck6201
  %n.vec6306 = and i64 %3069, 2147483644
  %ind.end6307 = or disjoint i64 %n.vec6306, 1
  %broadcast.splat6316 = shufflevector <2 x float> %3050, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6317 = insertelement <4 x float> poison, float %3043, i64 0
  %broadcast.splat6318 = shufflevector <4 x float> %broadcast.splatinsert6317, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6319 = insertelement <4 x float> poison, float %3044, i64 0
  %broadcast.splat6320 = shufflevector <4 x float> %broadcast.splatinsert6319, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6325 = shufflevector <2 x float> %3050, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6326 = insertelement <4 x float> poison, float %3046, i64 0
  %broadcast.splat6327 = shufflevector <4 x float> %broadcast.splatinsert6326, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6328 = insertelement <4 x float> poison, float %3047, i64 0
  %broadcast.splat6329 = shufflevector <4 x float> %broadcast.splatinsert6328, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6333 = insertelement <4 x float> poison, float %3054, i64 0
  %broadcast.splat6334 = shufflevector <4 x float> %broadcast.splatinsert6333, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6335 = insertelement <4 x float> poison, float %3052, i64 0
  %broadcast.splat6336 = shufflevector <4 x float> %broadcast.splatinsert6335, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6337 = insertelement <4 x float> poison, float %3053, i64 0
  %broadcast.splat6338 = shufflevector <4 x float> %broadcast.splatinsert6337, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6342 = insertelement <4 x float> poison, float %3058, i64 0
  %broadcast.splat6343 = shufflevector <4 x float> %broadcast.splatinsert6342, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6344 = insertelement <4 x float> poison, float %3056, i64 0
  %broadcast.splat6345 = shufflevector <4 x float> %broadcast.splatinsert6344, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6346 = insertelement <4 x float> poison, float %3057, i64 0
  %broadcast.splat6347 = shufflevector <4 x float> %broadcast.splatinsert6346, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6351 = insertelement <4 x float> poison, float %3062, i64 0
  %broadcast.splat6352 = shufflevector <4 x float> %broadcast.splatinsert6351, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6353 = insertelement <4 x float> poison, float %3060, i64 0
  %broadcast.splat6354 = shufflevector <4 x float> %broadcast.splatinsert6353, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6355 = insertelement <4 x float> poison, float %3061, i64 0
  %broadcast.splat6356 = shufflevector <4 x float> %broadcast.splatinsert6355, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6358 = shufflevector <2 x float> %2968, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6360 = shufflevector <2 x float> %2968, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6363 = shufflevector <2 x float> %2985, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6365 = shufflevector <2 x float> %2985, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6371 = shufflevector <2 x float> %3002, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6373 = shufflevector <2 x float> %3002, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6379 = shufflevector <2 x float> %3019, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6381 = shufflevector <2 x float> %3019, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6387 = shufflevector <2 x float> %3036, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6389 = shufflevector <2 x float> %3036, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6309

vector.body6309:                                  ; preds = %vector.body6309, %vector.ph6304
  %index6310 = phi i64 [ 0, %vector.ph6304 ], [ %index.next6394, %vector.body6309 ]
  %offset.idx6311 = or disjoint i64 %index6310, 1
  %3171 = getelementptr %struct.complex, ptr %invariant.gep4985, i64 %offset.idx6311
  %wide.vec6312 = load <8 x float>, ptr %3171, align 4, !tbaa !13
  %strided.vec6313 = shufflevector <8 x float> %wide.vec6312, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6314 = shufflevector <8 x float> %wide.vec6312, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3172 = fmul <4 x float> %strided.vec6314, %broadcast.splat6316
  %3173 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6318, <4 x float> %strided.vec6313, <4 x float> %3172)
  %3174 = fmul <4 x float> %strided.vec6313, %broadcast.splat6320
  %3175 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6318, <4 x float> %strided.vec6314, <4 x float> %3174)
  %3176 = getelementptr %struct.complex, ptr %invariant.gep4987, i64 %offset.idx6311
  %wide.vec6321 = load <8 x float>, ptr %3176, align 4, !tbaa !13
  %strided.vec6322 = shufflevector <8 x float> %wide.vec6321, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6323 = shufflevector <8 x float> %wide.vec6321, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3177 = fmul <4 x float> %strided.vec6323, %broadcast.splat6325
  %3178 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6327, <4 x float> %strided.vec6322, <4 x float> %3177)
  %3179 = fmul <4 x float> %strided.vec6322, %broadcast.splat6329
  %3180 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6327, <4 x float> %strided.vec6323, <4 x float> %3179)
  %3181 = fadd <4 x float> %3173, %3178
  %3182 = fadd <4 x float> %3175, %3180
  %3183 = getelementptr %struct.complex, ptr %invariant.gep4989, i64 %offset.idx6311
  %wide.vec6330 = load <8 x float>, ptr %3183, align 4, !tbaa !13
  %strided.vec6331 = shufflevector <8 x float> %wide.vec6330, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6332 = shufflevector <8 x float> %wide.vec6330, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3184 = fmul <4 x float> %strided.vec6332, %broadcast.splat6334
  %3185 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6336, <4 x float> %strided.vec6331, <4 x float> %3184)
  %3186 = fmul <4 x float> %strided.vec6331, %broadcast.splat6338
  %3187 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6336, <4 x float> %strided.vec6332, <4 x float> %3186)
  %3188 = fadd <4 x float> %3181, %3185
  %3189 = fadd <4 x float> %3182, %3187
  %3190 = getelementptr %struct.complex, ptr %invariant.gep4991, i64 %offset.idx6311
  %wide.vec6339 = load <8 x float>, ptr %3190, align 4, !tbaa !13
  %strided.vec6340 = shufflevector <8 x float> %wide.vec6339, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6341 = shufflevector <8 x float> %wide.vec6339, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3191 = fmul <4 x float> %strided.vec6341, %broadcast.splat6343
  %3192 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6345, <4 x float> %strided.vec6340, <4 x float> %3191)
  %3193 = fmul <4 x float> %strided.vec6340, %broadcast.splat6347
  %3194 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6345, <4 x float> %strided.vec6341, <4 x float> %3193)
  %3195 = fadd <4 x float> %3188, %3192
  %3196 = fadd <4 x float> %3189, %3194
  %3197 = getelementptr %struct.complex, ptr %invariant.gep4993, i64 %offset.idx6311
  %wide.vec6348 = load <8 x float>, ptr %3197, align 4, !tbaa !13
  %strided.vec6349 = shufflevector <8 x float> %wide.vec6348, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6350 = shufflevector <8 x float> %wide.vec6348, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3198 = fmul <4 x float> %strided.vec6350, %broadcast.splat6352
  %3199 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6354, <4 x float> %strided.vec6349, <4 x float> %3198)
  %3200 = fmul <4 x float> %strided.vec6349, %broadcast.splat6356
  %3201 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6354, <4 x float> %strided.vec6350, <4 x float> %3200)
  %3202 = fadd <4 x float> %3195, %3199
  %3203 = fadd <4 x float> %3196, %3201
  %3204 = fneg <4 x float> %3203
  %3205 = fmul <4 x float> %broadcast.splat6358, %3204
  %3206 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6360, <4 x float> %3205)
  %3207 = fmul <4 x float> %broadcast.splat6360, %3203
  %3208 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6358, <4 x float> %3207)
  %3209 = fsub <4 x float> %strided.vec6313, %3206
  %3210 = fsub <4 x float> %strided.vec6314, %3208
  %interleaved.vec6361 = shufflevector <4 x float> %3209, <4 x float> %3210, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6361, ptr %3171, align 4, !tbaa !13
  %3211 = fmul <4 x float> %broadcast.splat6363, %3204
  %3212 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6365, <4 x float> %3211)
  %3213 = fmul <4 x float> %broadcast.splat6365, %3203
  %3214 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6363, <4 x float> %3213)
  %wide.vec6366 = load <8 x float>, ptr %3176, align 4, !tbaa !13
  %strided.vec6367 = shufflevector <8 x float> %wide.vec6366, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6368 = shufflevector <8 x float> %wide.vec6366, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3215 = fsub <4 x float> %strided.vec6367, %3212
  %3216 = fsub <4 x float> %strided.vec6368, %3214
  %interleaved.vec6369 = shufflevector <4 x float> %3215, <4 x float> %3216, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6369, ptr %3176, align 4, !tbaa !13
  %3217 = fmul <4 x float> %broadcast.splat6371, %3204
  %3218 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6373, <4 x float> %3217)
  %3219 = fmul <4 x float> %broadcast.splat6373, %3203
  %3220 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6371, <4 x float> %3219)
  %wide.vec6374 = load <8 x float>, ptr %3183, align 4, !tbaa !13
  %strided.vec6375 = shufflevector <8 x float> %wide.vec6374, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6376 = shufflevector <8 x float> %wide.vec6374, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3221 = fsub <4 x float> %strided.vec6375, %3218
  %3222 = fsub <4 x float> %strided.vec6376, %3220
  %interleaved.vec6377 = shufflevector <4 x float> %3221, <4 x float> %3222, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6377, ptr %3183, align 4, !tbaa !13
  %3223 = fmul <4 x float> %broadcast.splat6379, %3204
  %3224 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6381, <4 x float> %3223)
  %3225 = fmul <4 x float> %broadcast.splat6381, %3203
  %3226 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6379, <4 x float> %3225)
  %wide.vec6382 = load <8 x float>, ptr %3190, align 4, !tbaa !13
  %strided.vec6383 = shufflevector <8 x float> %wide.vec6382, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6384 = shufflevector <8 x float> %wide.vec6382, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3227 = fsub <4 x float> %strided.vec6383, %3224
  %3228 = fsub <4 x float> %strided.vec6384, %3226
  %interleaved.vec6385 = shufflevector <4 x float> %3227, <4 x float> %3228, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6385, ptr %3190, align 4, !tbaa !13
  %3229 = fmul <4 x float> %broadcast.splat6387, %3204
  %3230 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6389, <4 x float> %3229)
  %3231 = fmul <4 x float> %broadcast.splat6389, %3203
  %3232 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3202, <4 x float> %broadcast.splat6387, <4 x float> %3231)
  %wide.vec6390 = load <8 x float>, ptr %3197, align 4, !tbaa !13
  %strided.vec6391 = shufflevector <8 x float> %wide.vec6390, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6392 = shufflevector <8 x float> %wide.vec6390, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3233 = fsub <4 x float> %strided.vec6391, %3230
  %3234 = fsub <4 x float> %strided.vec6392, %3232
  %interleaved.vec6393 = shufflevector <4 x float> %3233, <4 x float> %3234, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6393, ptr %3197, align 4, !tbaa !13
  %index.next6394 = add nuw i64 %index6310, 4
  %3235 = icmp eq i64 %index.next6394, %n.vec6306
  br i1 %3235, label %middle.block6301, label %vector.body6309, !llvm.loop !35

middle.block6301:                                 ; preds = %vector.body6309
  %cmp.n6395 = icmp eq i64 %n.vec6306, %3069
  br i1 %cmp.n6395, label %.loopexit, label %scalar.ph6302.preheader

scalar.ph6302.preheader:                          ; preds = %middle.block6301, %vector.memcheck6201, %vector.scevcheck6160, %.lr.ph4662
  %indvars.iv4882.ph = phi i64 [ 1, %vector.memcheck6201 ], [ 1, %vector.scevcheck6160 ], [ 1, %.lr.ph4662 ], [ %ind.end6307, %middle.block6301 ]
  %3236 = insertelement <2 x float> poison, float %3043, i64 0
  %3237 = insertelement <2 x float> %3236, float %3046, i64 1
  br label %scalar.ph6302

scalar.ph6302:                                    ; preds = %scalar.ph6302.preheader, %scalar.ph6302
  %indvars.iv4882 = phi i64 [ %indvars.iv.next4883, %scalar.ph6302 ], [ %indvars.iv4882.ph, %scalar.ph6302.preheader ]
  %gep4986 = getelementptr %struct.complex, ptr %invariant.gep4985, i64 %indvars.iv4882
  %gep4988 = getelementptr %struct.complex, ptr %invariant.gep4987, i64 %indvars.iv4882
  %3238 = load float, ptr %gep4988, align 4, !tbaa !9
  %3239 = getelementptr inbounds i8, ptr %gep4988, i64 4
  %3240 = load float, ptr %3239, align 4, !tbaa !12
  %3241 = fmul float %3238, %3047
  %3242 = call float @llvm.fmuladd.f32(float %3046, float %3240, float %3241)
  %gep4990 = getelementptr %struct.complex, ptr %invariant.gep4989, i64 %indvars.iv4882
  %3243 = load float, ptr %gep4990, align 4, !tbaa !9
  %3244 = getelementptr inbounds i8, ptr %gep4990, i64 4
  %3245 = load float, ptr %3244, align 4, !tbaa !12
  %3246 = fmul float %3245, %3054
  %3247 = call float @llvm.fmuladd.f32(float %3052, float %3243, float %3246)
  %3248 = fmul float %3243, %3053
  %3249 = call float @llvm.fmuladd.f32(float %3052, float %3245, float %3248)
  %gep4992 = getelementptr %struct.complex, ptr %invariant.gep4991, i64 %indvars.iv4882
  %3250 = load float, ptr %gep4992, align 4, !tbaa !9
  %3251 = getelementptr inbounds i8, ptr %gep4992, i64 4
  %3252 = load float, ptr %3251, align 4, !tbaa !12
  %3253 = fmul float %3252, %3058
  %3254 = call float @llvm.fmuladd.f32(float %3056, float %3250, float %3253)
  %3255 = fmul float %3250, %3057
  %3256 = call float @llvm.fmuladd.f32(float %3056, float %3252, float %3255)
  %gep4994 = getelementptr %struct.complex, ptr %invariant.gep4993, i64 %indvars.iv4882
  %3257 = load float, ptr %gep4994, align 4, !tbaa !9
  %3258 = getelementptr inbounds i8, ptr %gep4994, i64 4
  %3259 = load float, ptr %3258, align 4, !tbaa !12
  %3260 = fmul float %3259, %3062
  %3261 = call float @llvm.fmuladd.f32(float %3060, float %3257, float %3260)
  %3262 = fmul float %3257, %3061
  %3263 = call float @llvm.fmuladd.f32(float %3060, float %3259, float %3262)
  %3264 = load <2 x float>, ptr %gep4986, align 4, !tbaa !13
  %3265 = extractelement <2 x float> %3264, i64 1
  %3266 = extractelement <2 x float> %3264, i64 0
  %3267 = shufflevector <2 x float> %3264, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3268 = insertelement <2 x float> %3267, float %3240, i64 1
  %3269 = fmul <2 x float> %3268, %3050
  %3270 = insertelement <2 x float> %3264, float %3238, i64 1
  %3271 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3237, <2 x float> %3270, <2 x float> %3269)
  %3272 = fmul float %3266, %3044
  %3273 = call float @llvm.fmuladd.f32(float %3043, float %3265, float %3272)
  %shift6833 = shufflevector <2 x float> %3271, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3274 = fadd <2 x float> %3271, %shift6833
  %3275 = extractelement <2 x float> %3274, i64 0
  %3276 = fadd float %3273, %3242
  %3277 = fadd float %3275, %3247
  %3278 = fadd float %3276, %3249
  %3279 = fadd float %3277, %3254
  %3280 = fadd float %3278, %3256
  %3281 = fadd float %3279, %3261
  %3282 = fadd float %3280, %3263
  %3283 = fneg float %3282
  %3284 = insertelement <2 x float> poison, float %3282, i64 0
  %3285 = insertelement <2 x float> %3284, float %3283, i64 1
  %3286 = fmul <2 x float> %2968, %3285
  %3287 = shufflevector <2 x float> %3286, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3288 = insertelement <2 x float> poison, float %3281, i64 0
  %3289 = shufflevector <2 x float> %3288, <2 x float> poison, <2 x i32> zeroinitializer
  %3290 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3289, <2 x float> %2968, <2 x float> %3287)
  %3291 = fsub <2 x float> %3264, %3290
  store <2 x float> %3291, ptr %gep4986, align 4, !tbaa !13
  %3292 = fmul <2 x float> %2985, %3285
  %3293 = shufflevector <2 x float> %3292, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3294 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3289, <2 x float> %2985, <2 x float> %3293)
  %3295 = load <2 x float>, ptr %gep4988, align 4, !tbaa !13
  %3296 = fsub <2 x float> %3295, %3294
  store <2 x float> %3296, ptr %gep4988, align 4, !tbaa !13
  %3297 = fmul <2 x float> %3002, %3285
  %3298 = shufflevector <2 x float> %3297, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3299 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3289, <2 x float> %3002, <2 x float> %3298)
  %3300 = load <2 x float>, ptr %gep4990, align 4, !tbaa !13
  %3301 = fsub <2 x float> %3300, %3299
  store <2 x float> %3301, ptr %gep4990, align 4, !tbaa !13
  %3302 = fmul <2 x float> %3019, %3285
  %3303 = shufflevector <2 x float> %3302, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3304 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3289, <2 x float> %3019, <2 x float> %3303)
  %3305 = load <2 x float>, ptr %gep4992, align 4, !tbaa !13
  %3306 = fsub <2 x float> %3305, %3304
  store <2 x float> %3306, ptr %gep4992, align 4, !tbaa !13
  %3307 = fmul <2 x float> %3036, %3285
  %3308 = shufflevector <2 x float> %3307, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3309 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3289, <2 x float> %3036, <2 x float> %3308)
  %3310 = load <2 x float>, ptr %gep4994, align 4, !tbaa !13
  %3311 = fsub <2 x float> %3310, %3309
  store <2 x float> %3311, ptr %gep4994, align 4, !tbaa !13
  %indvars.iv.next4883 = add nuw nsw i64 %indvars.iv4882, 1
  %exitcond4886.not = icmp eq i64 %indvars.iv.next4883, %wide.trip.count4885
  br i1 %exitcond4886.not, label %.loopexit, label %scalar.ph6302, !llvm.loop !36

3312:                                             ; preds = %2238
  %3313 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %3313, ptr %12, align 8, !tbaa !13
  %3314 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.039.0.vec.extract = extractelement <2 x float> %3314, i64 0
  %.sroa.039.4.vec.extract = extractelement <2 x float> %3314, i64 1
  %3315 = fneg float %.sroa.039.4.vec.extract
  %3316 = call ptr @_pCf(ptr noundef nonnull %10)
  %3317 = getelementptr inbounds i8, ptr %3316, i64 4
  store float %.sroa.039.0.vec.extract, ptr %3316, align 4
  store float %3315, ptr %3317, align 4
  %3318 = load float, ptr %4, align 4, !tbaa !9
  %3319 = getelementptr inbounds i8, ptr %4, i64 4
  %3320 = load float, ptr %3319, align 4, !tbaa !12
  %3321 = fneg float %3320
  %3322 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3323 = insertelement <2 x float> poison, float %3320, i64 0
  %3324 = insertelement <2 x float> %3323, float %3321, i64 1
  %3325 = fmul <2 x float> %3322, %3324
  %3326 = shufflevector <2 x float> %3325, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3327 = insertelement <2 x float> poison, float %3318, i64 0
  %3328 = shufflevector <2 x float> %3327, <2 x float> poison, <2 x i32> zeroinitializer
  %3329 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3328, <2 x float> %3322, <2 x float> %3326)
  store <2 x float> %3329, ptr %9, align 8, !tbaa !13
  %3330 = getelementptr inbounds i8, ptr %3, i64 8
  %3331 = load <2 x float>, ptr %3330, align 4, !tbaa !13
  store <2 x float> %3331, ptr %13, align 8, !tbaa !13
  %3332 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.038.0.vec.extract = extractelement <2 x float> %3332, i64 0
  %.sroa.038.4.vec.extract = extractelement <2 x float> %3332, i64 1
  %3333 = fneg float %.sroa.038.4.vec.extract
  %3334 = call ptr @_pCf(ptr noundef nonnull %10)
  %3335 = getelementptr inbounds i8, ptr %3334, i64 4
  store float %.sroa.038.0.vec.extract, ptr %3334, align 4
  store float %3333, ptr %3335, align 4
  %3336 = load float, ptr %4, align 4, !tbaa !9
  %3337 = load float, ptr %3319, align 4, !tbaa !12
  %3338 = fneg float %3337
  %3339 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3340 = insertelement <2 x float> poison, float %3337, i64 0
  %3341 = insertelement <2 x float> %3340, float %3338, i64 1
  %3342 = fmul <2 x float> %3339, %3341
  %3343 = shufflevector <2 x float> %3342, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3344 = insertelement <2 x float> poison, float %3336, i64 0
  %3345 = shufflevector <2 x float> %3344, <2 x float> poison, <2 x i32> zeroinitializer
  %3346 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3345, <2 x float> %3339, <2 x float> %3343)
  store <2 x float> %3346, ptr %9, align 8, !tbaa !13
  %3347 = getelementptr inbounds i8, ptr %3, i64 16
  %3348 = load <2 x float>, ptr %3347, align 4, !tbaa !13
  store <2 x float> %3348, ptr %14, align 8, !tbaa !13
  %3349 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.037.0.vec.extract = extractelement <2 x float> %3349, i64 0
  %.sroa.037.4.vec.extract = extractelement <2 x float> %3349, i64 1
  %3350 = fneg float %.sroa.037.4.vec.extract
  %3351 = call ptr @_pCf(ptr noundef nonnull %10)
  %3352 = getelementptr inbounds i8, ptr %3351, i64 4
  store float %.sroa.037.0.vec.extract, ptr %3351, align 4
  store float %3350, ptr %3352, align 4
  %3353 = load float, ptr %4, align 4, !tbaa !9
  %3354 = load float, ptr %3319, align 4, !tbaa !12
  %3355 = fneg float %3354
  %3356 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3357 = insertelement <2 x float> poison, float %3354, i64 0
  %3358 = insertelement <2 x float> %3357, float %3355, i64 1
  %3359 = fmul <2 x float> %3356, %3358
  %3360 = shufflevector <2 x float> %3359, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3361 = insertelement <2 x float> poison, float %3353, i64 0
  %3362 = shufflevector <2 x float> %3361, <2 x float> poison, <2 x i32> zeroinitializer
  %3363 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3362, <2 x float> %3356, <2 x float> %3360)
  store <2 x float> %3363, ptr %9, align 8, !tbaa !13
  %3364 = getelementptr inbounds i8, ptr %3, i64 24
  %3365 = load <2 x float>, ptr %3364, align 4, !tbaa !13
  store <2 x float> %3365, ptr %15, align 8, !tbaa !13
  %3366 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.036.0.vec.extract = extractelement <2 x float> %3366, i64 0
  %.sroa.036.4.vec.extract = extractelement <2 x float> %3366, i64 1
  %3367 = fneg float %.sroa.036.4.vec.extract
  %3368 = call ptr @_pCf(ptr noundef nonnull %10)
  %3369 = getelementptr inbounds i8, ptr %3368, i64 4
  store float %.sroa.036.0.vec.extract, ptr %3368, align 4
  store float %3367, ptr %3369, align 4
  %3370 = load float, ptr %4, align 4, !tbaa !9
  %3371 = load float, ptr %3319, align 4, !tbaa !12
  %3372 = fneg float %3371
  %3373 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3374 = insertelement <2 x float> poison, float %3371, i64 0
  %3375 = insertelement <2 x float> %3374, float %3372, i64 1
  %3376 = fmul <2 x float> %3373, %3375
  %3377 = shufflevector <2 x float> %3376, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3378 = insertelement <2 x float> poison, float %3370, i64 0
  %3379 = shufflevector <2 x float> %3378, <2 x float> poison, <2 x i32> zeroinitializer
  %3380 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3379, <2 x float> %3373, <2 x float> %3377)
  store <2 x float> %3380, ptr %9, align 8, !tbaa !13
  %3381 = getelementptr inbounds i8, ptr %3, i64 32
  %3382 = load <2 x float>, ptr %3381, align 4, !tbaa !13
  store <2 x float> %3382, ptr %16, align 8, !tbaa !13
  %3383 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.035.0.vec.extract = extractelement <2 x float> %3383, i64 0
  %.sroa.035.4.vec.extract = extractelement <2 x float> %3383, i64 1
  %3384 = fneg float %.sroa.035.4.vec.extract
  %3385 = call ptr @_pCf(ptr noundef nonnull %10)
  %3386 = getelementptr inbounds i8, ptr %3385, i64 4
  store float %.sroa.035.0.vec.extract, ptr %3385, align 4
  store float %3384, ptr %3386, align 4
  %3387 = load float, ptr %4, align 4, !tbaa !9
  %3388 = load float, ptr %3319, align 4, !tbaa !12
  %3389 = fneg float %3388
  %3390 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3391 = insertelement <2 x float> poison, float %3388, i64 0
  %3392 = insertelement <2 x float> %3391, float %3389, i64 1
  %3393 = fmul <2 x float> %3390, %3392
  %3394 = shufflevector <2 x float> %3393, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3395 = insertelement <2 x float> poison, float %3387, i64 0
  %3396 = shufflevector <2 x float> %3395, <2 x float> poison, <2 x i32> zeroinitializer
  %3397 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3396, <2 x float> %3390, <2 x float> %3394)
  store <2 x float> %3397, ptr %9, align 8, !tbaa !13
  %3398 = getelementptr inbounds i8, ptr %3, i64 40
  %3399 = load <2 x float>, ptr %3398, align 4, !tbaa !13
  store <2 x float> %3399, ptr %17, align 8, !tbaa !13
  %3400 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.034.0.vec.extract = extractelement <2 x float> %3400, i64 0
  %.sroa.034.4.vec.extract = extractelement <2 x float> %3400, i64 1
  %3401 = fneg float %.sroa.034.4.vec.extract
  %3402 = call ptr @_pCf(ptr noundef nonnull %10)
  %3403 = getelementptr inbounds i8, ptr %3402, i64 4
  store float %.sroa.034.0.vec.extract, ptr %3402, align 4
  store float %3401, ptr %3403, align 4
  %3404 = load float, ptr %4, align 4, !tbaa !9
  %3405 = load float, ptr %3319, align 4, !tbaa !12
  %3406 = fneg float %3405
  %3407 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3408 = insertelement <2 x float> poison, float %3405, i64 0
  %3409 = insertelement <2 x float> %3408, float %3406, i64 1
  %3410 = fmul <2 x float> %3407, %3409
  %3411 = shufflevector <2 x float> %3410, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3412 = insertelement <2 x float> poison, float %3404, i64 0
  %3413 = shufflevector <2 x float> %3412, <2 x float> poison, <2 x i32> zeroinitializer
  %3414 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3413, <2 x float> %3407, <2 x float> %3411)
  %3415 = load i32, ptr %1, align 4, !tbaa !5
  %.not44504649 = icmp slt i32 %3415, 1
  br i1 %.not44504649, label %.loopexit, label %.lr.ph4651

.lr.ph4651:                                       ; preds = %3312
  %3416 = getelementptr inbounds i8, ptr %17, i64 4
  %3417 = getelementptr inbounds i8, ptr %16, i64 4
  %3418 = getelementptr inbounds i8, ptr %15, i64 4
  %3419 = getelementptr inbounds i8, ptr %14, i64 4
  %3420 = getelementptr inbounds i8, ptr %13, i64 4
  %3421 = getelementptr inbounds i8, ptr %12, i64 4
  %3422 = load float, ptr %12, align 8, !tbaa !9
  %3423 = load float, ptr %3421, align 4, !tbaa !12
  %3424 = shl i32 %22, 1
  %3425 = load float, ptr %13, align 8, !tbaa !9
  %3426 = load float, ptr %3420, align 4, !tbaa !12
  %3427 = insertelement <2 x float> poison, float %3423, i64 0
  %3428 = insertelement <2 x float> %3427, float %3426, i64 1
  %3429 = fneg <2 x float> %3428
  %3430 = mul i32 %22, 3
  %3431 = load float, ptr %14, align 8, !tbaa !9
  %3432 = load float, ptr %3419, align 4, !tbaa !12
  %3433 = fneg float %3432
  %3434 = shl i32 %22, 2
  %3435 = load float, ptr %15, align 8, !tbaa !9
  %3436 = load float, ptr %3418, align 4, !tbaa !12
  %3437 = fneg float %3436
  %3438 = mul i32 %22, 5
  %3439 = load float, ptr %16, align 8, !tbaa !9
  %3440 = load float, ptr %3417, align 4, !tbaa !12
  %3441 = fneg float %3440
  %3442 = mul i32 %22, 6
  %3443 = load float, ptr %17, align 8, !tbaa !9
  %3444 = load float, ptr %3416, align 4, !tbaa !12
  %3445 = fneg float %3444
  %3446 = sext i32 %22 to i64
  %3447 = sext i32 %3424 to i64
  %3448 = sext i32 %3430 to i64
  %3449 = sext i32 %3434 to i64
  %3450 = sext i32 %3438 to i64
  %3451 = sext i32 %3442 to i64
  %3452 = add nuw i32 %3415, 1
  %wide.trip.count4880 = zext i32 %3452 to i64
  %invariant.gep4973 = getelementptr %struct.complex, ptr %24, i64 %3446
  %invariant.gep4975 = getelementptr %struct.complex, ptr %24, i64 %3447
  %invariant.gep4977 = getelementptr %struct.complex, ptr %24, i64 %3448
  %invariant.gep4979 = getelementptr %struct.complex, ptr %24, i64 %3449
  %invariant.gep4981 = getelementptr %struct.complex, ptr %24, i64 %3450
  %invariant.gep4983 = getelementptr %struct.complex, ptr %24, i64 %3451
  %3453 = zext nneg i32 %3415 to i64
  %min.iters.check6050 = icmp ult i32 %3415, 16
  br i1 %min.iters.check6050, label %scalar.ph6049.preheader, label %vector.scevcheck5855

vector.scevcheck5855:                             ; preds = %.lr.ph4651
  %3454 = add nsw i64 %wide.trip.count4880, -2
  %3455 = shl nsw i64 %3446, 3
  %3456 = shl nsw i64 %23, 3
  %3457 = getelementptr i8, ptr %5, i64 %3455
  %3458 = getelementptr i8, ptr %3457, i64 %3456
  %mul.result5858 = shl nsw i64 %3454, 3
  %3459 = shl nsw i64 %3447, 3
  %3460 = getelementptr i8, ptr %5, i64 %3459
  %3461 = getelementptr i8, ptr %3460, i64 %3456
  %mul.result5862 = shl nsw i64 %3454, 3
  %mul.overflow5863 = icmp ugt i64 %3454, 2305843009213693951
  %3462 = shl nsw i64 %3448, 3
  %3463 = getelementptr i8, ptr %5, i64 %3462
  %3464 = getelementptr i8, ptr %3463, i64 %3456
  %mul.result5866 = shl nsw i64 %3454, 3
  %3465 = shl nsw i64 %3449, 3
  %3466 = getelementptr i8, ptr %5, i64 %3465
  %3467 = getelementptr i8, ptr %3466, i64 %3456
  %mul.result5870 = shl nsw i64 %3454, 3
  %3468 = shl nsw i64 %3450, 3
  %3469 = getelementptr i8, ptr %5, i64 %3468
  %3470 = getelementptr i8, ptr %3469, i64 %3456
  %mul.result5874 = shl nsw i64 %3454, 3
  %3471 = shl nsw i64 %3451, 3
  %3472 = getelementptr i8, ptr %5, i64 %3471
  %3473 = getelementptr i8, ptr %3472, i64 %3456
  %mul.result5878 = shl nsw i64 %3454, 3
  %3474 = getelementptr i8, ptr %5, i64 %3455
  %3475 = getelementptr i8, ptr %3474, i64 %3456
  %mul.result5882 = shl nsw i64 %3454, 3
  %3476 = getelementptr i8, ptr %5, i64 %3459
  %3477 = getelementptr i8, ptr %3476, i64 %3456
  %mul.result5886 = shl nsw i64 %3454, 3
  %3478 = insertelement <8 x ptr> poison, ptr %3461, i64 0
  %3479 = insertelement <8 x ptr> %3478, ptr %3458, i64 1
  %3480 = insertelement <8 x ptr> %3479, ptr %3464, i64 2
  %3481 = insertelement <8 x ptr> %3480, ptr %3467, i64 3
  %3482 = insertelement <8 x ptr> %3481, ptr %3470, i64 4
  %3483 = insertelement <8 x ptr> %3482, ptr %3473, i64 5
  %3484 = insertelement <8 x ptr> %3483, ptr %3475, i64 6
  %3485 = insertelement <8 x ptr> %3484, ptr %3477, i64 7
  %3486 = getelementptr i8, <8 x ptr> %3485, <8 x i64> <i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 12, i64 12>
  %scevgep5856 = getelementptr i8, ptr %3458, i64 8
  %3487 = getelementptr i8, ptr %scevgep5856, i64 %mul.result5858
  %scevgep5860 = getelementptr i8, ptr %3461, i64 8
  %3488 = getelementptr i8, ptr %scevgep5860, i64 %mul.result5862
  %scevgep5864 = getelementptr i8, ptr %3464, i64 8
  %3489 = getelementptr i8, ptr %scevgep5864, i64 %mul.result5866
  %scevgep5868 = getelementptr i8, ptr %3467, i64 8
  %3490 = getelementptr i8, ptr %scevgep5868, i64 %mul.result5870
  %scevgep5872 = getelementptr i8, ptr %3470, i64 8
  %3491 = getelementptr i8, ptr %scevgep5872, i64 %mul.result5874
  %scevgep5876 = getelementptr i8, ptr %3473, i64 8
  %3492 = getelementptr i8, ptr %scevgep5876, i64 %mul.result5878
  %scevgep5880 = getelementptr i8, ptr %3475, i64 12
  %3493 = getelementptr i8, ptr %scevgep5880, i64 %mul.result5882
  %scevgep5884 = getelementptr i8, ptr %3477, i64 12
  %3494 = getelementptr i8, ptr %scevgep5884, i64 %mul.result5886
  %3495 = insertelement <8 x ptr> poison, ptr %3488, i64 0
  %3496 = insertelement <8 x ptr> %3495, ptr %3487, i64 1
  %3497 = insertelement <8 x ptr> %3496, ptr %3489, i64 2
  %3498 = insertelement <8 x ptr> %3497, ptr %3490, i64 3
  %3499 = insertelement <8 x ptr> %3498, ptr %3491, i64 4
  %3500 = insertelement <8 x ptr> %3499, ptr %3492, i64 5
  %3501 = insertelement <8 x ptr> %3500, ptr %3493, i64 6
  %3502 = insertelement <8 x ptr> %3501, ptr %3494, i64 7
  %3503 = icmp ult <8 x ptr> %3502, %3486
  %3504 = getelementptr i8, ptr %5, i64 %3462
  %3505 = getelementptr i8, ptr %3504, i64 %3456
  %scevgep5888 = getelementptr i8, ptr %3505, i64 12
  %mul.result5890 = shl nsw i64 %3454, 3
  %3506 = getelementptr i8, ptr %scevgep5888, i64 %mul.result5890
  %3507 = icmp ult ptr %3506, %scevgep5888
  %3508 = getelementptr i8, ptr %5, i64 %3465
  %3509 = getelementptr i8, ptr %3508, i64 %3456
  %scevgep5892 = getelementptr i8, ptr %3509, i64 12
  %mul.result5894 = shl nsw i64 %3454, 3
  %3510 = getelementptr i8, ptr %scevgep5892, i64 %mul.result5894
  %3511 = icmp ult ptr %3510, %scevgep5892
  %3512 = getelementptr i8, ptr %5, i64 %3468
  %3513 = getelementptr i8, ptr %3512, i64 %3456
  %scevgep5896 = getelementptr i8, ptr %3513, i64 12
  %mul.result5898 = shl nsw i64 %3454, 3
  %3514 = getelementptr i8, ptr %scevgep5896, i64 %mul.result5898
  %3515 = icmp ult ptr %3514, %scevgep5896
  %3516 = getelementptr i8, ptr %5, i64 %3471
  %3517 = getelementptr i8, ptr %3516, i64 %3456
  %scevgep5900 = getelementptr i8, ptr %3517, i64 12
  %mul.result5902 = shl nsw i64 %3454, 3
  %3518 = getelementptr i8, ptr %scevgep5900, i64 %mul.result5902
  %3519 = icmp ult ptr %3518, %scevgep5900
  %3520 = bitcast <8 x i1> %3503 to i8
  %3521 = icmp ne i8 %3520, 0
  %op.rdx6797 = or i1 %3521, %3507
  %op.rdx6798 = or i1 %3511, %3515
  %op.rdx6799 = or i1 %3519, %mul.overflow5863
  %op.rdx6800 = or i1 %op.rdx6797, %op.rdx6798
  %op.rdx6802 = or i1 %op.rdx6800, %op.rdx6799
  br i1 %op.rdx6802, label %scalar.ph6049.preheader, label %vector.memcheck5904

vector.memcheck5904:                              ; preds = %vector.scevcheck5855
  %3522 = shl nsw i64 %3446, 3
  %3523 = shl nsw i64 %23, 3
  %3524 = add nsw i64 %3522, %3523
  %3525 = getelementptr i8, ptr %5, i64 %3524
  %scevgep5905 = getelementptr i8, ptr %3525, i64 8
  %3526 = shl nuw nsw i64 %wide.trip.count4880, 3
  %3527 = getelementptr i8, ptr %5, i64 %3524
  %3528 = getelementptr i8, ptr %3527, i64 %3526
  %scevgep5906 = getelementptr i8, ptr %3528, i64 -4
  %3529 = shl nsw i64 %3447, 3
  %3530 = add nsw i64 %3529, %3523
  %3531 = getelementptr i8, ptr %5, i64 %3530
  %scevgep5907 = getelementptr i8, ptr %3531, i64 8
  %3532 = getelementptr i8, ptr %5, i64 %3530
  %3533 = getelementptr i8, ptr %3532, i64 %3526
  %scevgep5908 = getelementptr i8, ptr %3533, i64 -4
  %3534 = shl nsw i64 %3448, 3
  %3535 = add nsw i64 %3534, %3523
  %3536 = getelementptr i8, ptr %5, i64 %3535
  %scevgep5909 = getelementptr i8, ptr %3536, i64 8
  %3537 = getelementptr i8, ptr %5, i64 %3535
  %3538 = getelementptr i8, ptr %3537, i64 %3526
  %scevgep5910 = getelementptr i8, ptr %3538, i64 -4
  %3539 = shl nsw i64 %3449, 3
  %3540 = add nsw i64 %3539, %3523
  %3541 = getelementptr i8, ptr %5, i64 %3540
  %scevgep5911 = getelementptr i8, ptr %3541, i64 8
  %3542 = getelementptr i8, ptr %5, i64 %3540
  %3543 = getelementptr i8, ptr %3542, i64 %3526
  %scevgep5912 = getelementptr i8, ptr %3543, i64 -4
  %3544 = shl nsw i64 %3450, 3
  %3545 = add nsw i64 %3544, %3523
  %3546 = getelementptr i8, ptr %5, i64 %3545
  %scevgep5913 = getelementptr i8, ptr %3546, i64 8
  %3547 = getelementptr i8, ptr %5, i64 %3545
  %3548 = getelementptr i8, ptr %3547, i64 %3526
  %scevgep5914 = getelementptr i8, ptr %3548, i64 -4
  %3549 = shl nsw i64 %3451, 3
  %3550 = add nsw i64 %3549, %3523
  %3551 = getelementptr i8, ptr %5, i64 %3550
  %scevgep5915 = getelementptr i8, ptr %3551, i64 8
  %3552 = getelementptr i8, ptr %5, i64 %3550
  %3553 = getelementptr i8, ptr %3552, i64 %3526
  %scevgep5916 = getelementptr i8, ptr %3553, i64 -4
  %3554 = add nsw i64 %3522, %3523
  %3555 = getelementptr i8, ptr %5, i64 %3554
  %scevgep5917 = getelementptr i8, ptr %3555, i64 12
  %3556 = getelementptr i8, ptr %5, i64 %3554
  %scevgep5918 = getelementptr i8, ptr %3556, i64 %3526
  %3557 = add nsw i64 %3529, %3523
  %3558 = getelementptr i8, ptr %5, i64 %3557
  %scevgep5919 = getelementptr i8, ptr %3558, i64 12
  %3559 = getelementptr i8, ptr %5, i64 %3557
  %scevgep5920 = getelementptr i8, ptr %3559, i64 %3526
  %3560 = add nsw i64 %3534, %3523
  %3561 = getelementptr i8, ptr %5, i64 %3560
  %scevgep5921 = getelementptr i8, ptr %3561, i64 12
  %3562 = getelementptr i8, ptr %5, i64 %3560
  %scevgep5922 = getelementptr i8, ptr %3562, i64 %3526
  %3563 = add nsw i64 %3539, %3523
  %3564 = getelementptr i8, ptr %5, i64 %3563
  %scevgep5923 = getelementptr i8, ptr %3564, i64 12
  %3565 = getelementptr i8, ptr %5, i64 %3563
  %scevgep5924 = getelementptr i8, ptr %3565, i64 %3526
  %3566 = add nsw i64 %3544, %3523
  %3567 = getelementptr i8, ptr %5, i64 %3566
  %scevgep5925 = getelementptr i8, ptr %3567, i64 12
  %3568 = getelementptr i8, ptr %5, i64 %3566
  %scevgep5926 = getelementptr i8, ptr %3568, i64 %3526
  %3569 = add nsw i64 %3549, %3523
  %3570 = getelementptr i8, ptr %5, i64 %3569
  %scevgep5927 = getelementptr i8, ptr %3570, i64 12
  %3571 = getelementptr i8, ptr %5, i64 %3569
  %scevgep5928 = getelementptr i8, ptr %3571, i64 %3526
  %bound05929 = icmp ult ptr %scevgep5905, %scevgep5908
  %bound15930 = icmp ult ptr %scevgep5907, %scevgep5906
  %found.conflict5931 = and i1 %bound05929, %bound15930
  %bound05932 = icmp ult ptr %scevgep5905, %scevgep5910
  %bound15933 = icmp ult ptr %scevgep5909, %scevgep5906
  %found.conflict5934 = and i1 %bound05932, %bound15933
  %conflict.rdx5935 = or i1 %found.conflict5931, %found.conflict5934
  %bound05936 = icmp ult ptr %scevgep5905, %scevgep5912
  %bound15937 = icmp ult ptr %scevgep5911, %scevgep5906
  %found.conflict5938 = and i1 %bound05936, %bound15937
  %conflict.rdx5939 = or i1 %conflict.rdx5935, %found.conflict5938
  %bound05940 = icmp ult ptr %scevgep5905, %scevgep5914
  %bound15941 = icmp ult ptr %scevgep5913, %scevgep5906
  %found.conflict5942 = and i1 %bound05940, %bound15941
  %conflict.rdx5943 = or i1 %conflict.rdx5939, %found.conflict5942
  %bound05944 = icmp ult ptr %scevgep5905, %scevgep5916
  %bound15945 = icmp ult ptr %scevgep5915, %scevgep5906
  %found.conflict5946 = and i1 %bound05944, %bound15945
  %conflict.rdx5947 = or i1 %conflict.rdx5943, %found.conflict5946
  %bound05948 = icmp ult ptr %scevgep5907, %scevgep5910
  %bound15949 = icmp ult ptr %scevgep5909, %scevgep5908
  %found.conflict5950 = and i1 %bound05948, %bound15949
  %conflict.rdx5951 = or i1 %conflict.rdx5947, %found.conflict5950
  %bound05952 = icmp ult ptr %scevgep5907, %scevgep5912
  %bound15953 = icmp ult ptr %scevgep5911, %scevgep5908
  %found.conflict5954 = and i1 %bound05952, %bound15953
  %conflict.rdx5955 = or i1 %conflict.rdx5951, %found.conflict5954
  %bound05956 = icmp ult ptr %scevgep5907, %scevgep5914
  %bound15957 = icmp ult ptr %scevgep5913, %scevgep5908
  %found.conflict5958 = and i1 %bound05956, %bound15957
  %conflict.rdx5959 = or i1 %conflict.rdx5955, %found.conflict5958
  %bound05960 = icmp ult ptr %scevgep5907, %scevgep5916
  %bound15961 = icmp ult ptr %scevgep5915, %scevgep5908
  %found.conflict5962 = and i1 %bound05960, %bound15961
  %conflict.rdx5963 = or i1 %conflict.rdx5959, %found.conflict5962
  %bound05964 = icmp ult ptr %scevgep5909, %scevgep5912
  %bound15965 = icmp ult ptr %scevgep5911, %scevgep5910
  %found.conflict5966 = and i1 %bound05964, %bound15965
  %conflict.rdx5967 = or i1 %conflict.rdx5963, %found.conflict5966
  %bound05968 = icmp ult ptr %scevgep5909, %scevgep5914
  %bound15969 = icmp ult ptr %scevgep5913, %scevgep5910
  %found.conflict5970 = and i1 %bound05968, %bound15969
  %conflict.rdx5971 = or i1 %conflict.rdx5967, %found.conflict5970
  %bound05972 = icmp ult ptr %scevgep5909, %scevgep5916
  %bound15973 = icmp ult ptr %scevgep5915, %scevgep5910
  %found.conflict5974 = and i1 %bound05972, %bound15973
  %conflict.rdx5975 = or i1 %conflict.rdx5971, %found.conflict5974
  %bound05976 = icmp ult ptr %scevgep5911, %scevgep5914
  %bound15977 = icmp ult ptr %scevgep5913, %scevgep5912
  %found.conflict5978 = and i1 %bound05976, %bound15977
  %conflict.rdx5979 = or i1 %conflict.rdx5975, %found.conflict5978
  %bound05980 = icmp ult ptr %scevgep5911, %scevgep5916
  %bound15981 = icmp ult ptr %scevgep5915, %scevgep5912
  %found.conflict5982 = and i1 %bound05980, %bound15981
  %conflict.rdx5983 = or i1 %conflict.rdx5979, %found.conflict5982
  %bound05984 = icmp ult ptr %scevgep5913, %scevgep5916
  %bound15985 = icmp ult ptr %scevgep5915, %scevgep5914
  %found.conflict5986 = and i1 %bound05984, %bound15985
  %conflict.rdx5987 = or i1 %conflict.rdx5983, %found.conflict5986
  %bound05988 = icmp ult ptr %scevgep5917, %scevgep5920
  %bound15989 = icmp ult ptr %scevgep5919, %scevgep5918
  %found.conflict5990 = and i1 %bound05988, %bound15989
  %conflict.rdx5991 = or i1 %conflict.rdx5987, %found.conflict5990
  %bound05992 = icmp ult ptr %scevgep5917, %scevgep5922
  %bound15993 = icmp ult ptr %scevgep5921, %scevgep5918
  %found.conflict5994 = and i1 %bound05992, %bound15993
  %conflict.rdx5995 = or i1 %conflict.rdx5991, %found.conflict5994
  %bound05996 = icmp ult ptr %scevgep5917, %scevgep5924
  %bound15997 = icmp ult ptr %scevgep5923, %scevgep5918
  %found.conflict5998 = and i1 %bound05996, %bound15997
  %conflict.rdx5999 = or i1 %conflict.rdx5995, %found.conflict5998
  %bound06000 = icmp ult ptr %scevgep5917, %scevgep5926
  %bound16001 = icmp ult ptr %scevgep5925, %scevgep5918
  %found.conflict6002 = and i1 %bound06000, %bound16001
  %conflict.rdx6003 = or i1 %conflict.rdx5999, %found.conflict6002
  %bound06004 = icmp ult ptr %scevgep5917, %scevgep5928
  %bound16005 = icmp ult ptr %scevgep5927, %scevgep5918
  %found.conflict6006 = and i1 %bound06004, %bound16005
  %conflict.rdx6007 = or i1 %conflict.rdx6003, %found.conflict6006
  %bound06008 = icmp ult ptr %scevgep5919, %scevgep5922
  %bound16009 = icmp ult ptr %scevgep5921, %scevgep5920
  %found.conflict6010 = and i1 %bound06008, %bound16009
  %conflict.rdx6011 = or i1 %conflict.rdx6007, %found.conflict6010
  %bound06012 = icmp ult ptr %scevgep5919, %scevgep5924
  %bound16013 = icmp ult ptr %scevgep5923, %scevgep5920
  %found.conflict6014 = and i1 %bound06012, %bound16013
  %conflict.rdx6015 = or i1 %conflict.rdx6011, %found.conflict6014
  %bound06016 = icmp ult ptr %scevgep5919, %scevgep5926
  %bound16017 = icmp ult ptr %scevgep5925, %scevgep5920
  %found.conflict6018 = and i1 %bound06016, %bound16017
  %conflict.rdx6019 = or i1 %conflict.rdx6015, %found.conflict6018
  %bound06020 = icmp ult ptr %scevgep5919, %scevgep5928
  %bound16021 = icmp ult ptr %scevgep5927, %scevgep5920
  %found.conflict6022 = and i1 %bound06020, %bound16021
  %conflict.rdx6023 = or i1 %conflict.rdx6019, %found.conflict6022
  %bound06024 = icmp ult ptr %scevgep5921, %scevgep5924
  %bound16025 = icmp ult ptr %scevgep5923, %scevgep5922
  %found.conflict6026 = and i1 %bound06024, %bound16025
  %conflict.rdx6027 = or i1 %conflict.rdx6023, %found.conflict6026
  %bound06028 = icmp ult ptr %scevgep5921, %scevgep5926
  %bound16029 = icmp ult ptr %scevgep5925, %scevgep5922
  %found.conflict6030 = and i1 %bound06028, %bound16029
  %conflict.rdx6031 = or i1 %conflict.rdx6027, %found.conflict6030
  %bound06032 = icmp ult ptr %scevgep5921, %scevgep5928
  %bound16033 = icmp ult ptr %scevgep5927, %scevgep5922
  %found.conflict6034 = and i1 %bound06032, %bound16033
  %conflict.rdx6035 = or i1 %conflict.rdx6031, %found.conflict6034
  %bound06036 = icmp ult ptr %scevgep5923, %scevgep5926
  %bound16037 = icmp ult ptr %scevgep5925, %scevgep5924
  %found.conflict6038 = and i1 %bound06036, %bound16037
  %conflict.rdx6039 = or i1 %conflict.rdx6035, %found.conflict6038
  %bound06040 = icmp ult ptr %scevgep5923, %scevgep5928
  %bound16041 = icmp ult ptr %scevgep5927, %scevgep5924
  %found.conflict6042 = and i1 %bound06040, %bound16041
  %conflict.rdx6043 = or i1 %conflict.rdx6039, %found.conflict6042
  %bound06044 = icmp ult ptr %scevgep5925, %scevgep5928
  %bound16045 = icmp ult ptr %scevgep5927, %scevgep5926
  %found.conflict6046 = and i1 %bound06044, %bound16045
  %conflict.rdx6047 = or i1 %conflict.rdx6043, %found.conflict6046
  br i1 %conflict.rdx6047, label %scalar.ph6049.preheader, label %vector.ph6051

vector.ph6051:                                    ; preds = %vector.memcheck5904
  %n.vec6053 = and i64 %3453, 2147483644
  %ind.end6054 = or disjoint i64 %n.vec6053, 1
  %broadcast.splat6063 = shufflevector <2 x float> %3429, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6064 = insertelement <4 x float> poison, float %3422, i64 0
  %broadcast.splat6065 = shufflevector <4 x float> %broadcast.splatinsert6064, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6066 = insertelement <4 x float> poison, float %3423, i64 0
  %broadcast.splat6067 = shufflevector <4 x float> %broadcast.splatinsert6066, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6072 = shufflevector <2 x float> %3429, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6073 = insertelement <4 x float> poison, float %3425, i64 0
  %broadcast.splat6074 = shufflevector <4 x float> %broadcast.splatinsert6073, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6075 = insertelement <4 x float> poison, float %3426, i64 0
  %broadcast.splat6076 = shufflevector <4 x float> %broadcast.splatinsert6075, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6080 = insertelement <4 x float> poison, float %3433, i64 0
  %broadcast.splat6081 = shufflevector <4 x float> %broadcast.splatinsert6080, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6082 = insertelement <4 x float> poison, float %3431, i64 0
  %broadcast.splat6083 = shufflevector <4 x float> %broadcast.splatinsert6082, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6084 = insertelement <4 x float> poison, float %3432, i64 0
  %broadcast.splat6085 = shufflevector <4 x float> %broadcast.splatinsert6084, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6089 = insertelement <4 x float> poison, float %3437, i64 0
  %broadcast.splat6090 = shufflevector <4 x float> %broadcast.splatinsert6089, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6091 = insertelement <4 x float> poison, float %3435, i64 0
  %broadcast.splat6092 = shufflevector <4 x float> %broadcast.splatinsert6091, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6093 = insertelement <4 x float> poison, float %3436, i64 0
  %broadcast.splat6094 = shufflevector <4 x float> %broadcast.splatinsert6093, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6098 = insertelement <4 x float> poison, float %3441, i64 0
  %broadcast.splat6099 = shufflevector <4 x float> %broadcast.splatinsert6098, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6100 = insertelement <4 x float> poison, float %3439, i64 0
  %broadcast.splat6101 = shufflevector <4 x float> %broadcast.splatinsert6100, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6102 = insertelement <4 x float> poison, float %3440, i64 0
  %broadcast.splat6103 = shufflevector <4 x float> %broadcast.splatinsert6102, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6107 = insertelement <4 x float> poison, float %3445, i64 0
  %broadcast.splat6108 = shufflevector <4 x float> %broadcast.splatinsert6107, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6109 = insertelement <4 x float> poison, float %3443, i64 0
  %broadcast.splat6110 = shufflevector <4 x float> %broadcast.splatinsert6109, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6111 = insertelement <4 x float> poison, float %3444, i64 0
  %broadcast.splat6112 = shufflevector <4 x float> %broadcast.splatinsert6111, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6114 = shufflevector <2 x float> %3329, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6116 = shufflevector <2 x float> %3329, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6119 = shufflevector <2 x float> %3346, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6121 = shufflevector <2 x float> %3346, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6127 = shufflevector <2 x float> %3363, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6129 = shufflevector <2 x float> %3363, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6135 = shufflevector <2 x float> %3380, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6137 = shufflevector <2 x float> %3380, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6143 = shufflevector <2 x float> %3397, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6145 = shufflevector <2 x float> %3397, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6151 = shufflevector <2 x float> %3414, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6153 = shufflevector <2 x float> %3414, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6056

vector.body6056:                                  ; preds = %vector.body6056, %vector.ph6051
  %index6057 = phi i64 [ 0, %vector.ph6051 ], [ %index.next6158, %vector.body6056 ]
  %offset.idx6058 = or disjoint i64 %index6057, 1
  %3572 = getelementptr %struct.complex, ptr %invariant.gep4973, i64 %offset.idx6058
  %wide.vec6059 = load <8 x float>, ptr %3572, align 4, !tbaa !13
  %strided.vec6060 = shufflevector <8 x float> %wide.vec6059, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6061 = shufflevector <8 x float> %wide.vec6059, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3573 = fmul <4 x float> %strided.vec6061, %broadcast.splat6063
  %3574 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6065, <4 x float> %strided.vec6060, <4 x float> %3573)
  %3575 = fmul <4 x float> %strided.vec6060, %broadcast.splat6067
  %3576 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6065, <4 x float> %strided.vec6061, <4 x float> %3575)
  %3577 = getelementptr %struct.complex, ptr %invariant.gep4975, i64 %offset.idx6058
  %wide.vec6068 = load <8 x float>, ptr %3577, align 4, !tbaa !13
  %strided.vec6069 = shufflevector <8 x float> %wide.vec6068, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6070 = shufflevector <8 x float> %wide.vec6068, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3578 = fmul <4 x float> %strided.vec6070, %broadcast.splat6072
  %3579 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6074, <4 x float> %strided.vec6069, <4 x float> %3578)
  %3580 = fmul <4 x float> %strided.vec6069, %broadcast.splat6076
  %3581 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6074, <4 x float> %strided.vec6070, <4 x float> %3580)
  %3582 = fadd <4 x float> %3574, %3579
  %3583 = fadd <4 x float> %3576, %3581
  %3584 = getelementptr %struct.complex, ptr %invariant.gep4977, i64 %offset.idx6058
  %wide.vec6077 = load <8 x float>, ptr %3584, align 4, !tbaa !13
  %strided.vec6078 = shufflevector <8 x float> %wide.vec6077, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6079 = shufflevector <8 x float> %wide.vec6077, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3585 = fmul <4 x float> %strided.vec6079, %broadcast.splat6081
  %3586 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6083, <4 x float> %strided.vec6078, <4 x float> %3585)
  %3587 = fmul <4 x float> %strided.vec6078, %broadcast.splat6085
  %3588 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6083, <4 x float> %strided.vec6079, <4 x float> %3587)
  %3589 = fadd <4 x float> %3582, %3586
  %3590 = fadd <4 x float> %3583, %3588
  %3591 = getelementptr %struct.complex, ptr %invariant.gep4979, i64 %offset.idx6058
  %wide.vec6086 = load <8 x float>, ptr %3591, align 4, !tbaa !13
  %strided.vec6087 = shufflevector <8 x float> %wide.vec6086, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6088 = shufflevector <8 x float> %wide.vec6086, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3592 = fmul <4 x float> %strided.vec6088, %broadcast.splat6090
  %3593 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6092, <4 x float> %strided.vec6087, <4 x float> %3592)
  %3594 = fmul <4 x float> %strided.vec6087, %broadcast.splat6094
  %3595 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6092, <4 x float> %strided.vec6088, <4 x float> %3594)
  %3596 = fadd <4 x float> %3589, %3593
  %3597 = fadd <4 x float> %3590, %3595
  %3598 = getelementptr %struct.complex, ptr %invariant.gep4981, i64 %offset.idx6058
  %wide.vec6095 = load <8 x float>, ptr %3598, align 4, !tbaa !13
  %strided.vec6096 = shufflevector <8 x float> %wide.vec6095, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6097 = shufflevector <8 x float> %wide.vec6095, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3599 = fmul <4 x float> %strided.vec6097, %broadcast.splat6099
  %3600 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6101, <4 x float> %strided.vec6096, <4 x float> %3599)
  %3601 = fmul <4 x float> %strided.vec6096, %broadcast.splat6103
  %3602 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6101, <4 x float> %strided.vec6097, <4 x float> %3601)
  %3603 = fadd <4 x float> %3596, %3600
  %3604 = fadd <4 x float> %3597, %3602
  %3605 = getelementptr %struct.complex, ptr %invariant.gep4983, i64 %offset.idx6058
  %wide.vec6104 = load <8 x float>, ptr %3605, align 4, !tbaa !13
  %strided.vec6105 = shufflevector <8 x float> %wide.vec6104, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6106 = shufflevector <8 x float> %wide.vec6104, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3606 = fmul <4 x float> %strided.vec6106, %broadcast.splat6108
  %3607 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6110, <4 x float> %strided.vec6105, <4 x float> %3606)
  %3608 = fmul <4 x float> %strided.vec6105, %broadcast.splat6112
  %3609 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6110, <4 x float> %strided.vec6106, <4 x float> %3608)
  %3610 = fadd <4 x float> %3603, %3607
  %3611 = fadd <4 x float> %3604, %3609
  %3612 = fneg <4 x float> %3611
  %3613 = fmul <4 x float> %broadcast.splat6114, %3612
  %3614 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6116, <4 x float> %3613)
  %3615 = fmul <4 x float> %broadcast.splat6116, %3611
  %3616 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6114, <4 x float> %3615)
  %3617 = fsub <4 x float> %strided.vec6060, %3614
  %3618 = fsub <4 x float> %strided.vec6061, %3616
  %interleaved.vec6117 = shufflevector <4 x float> %3617, <4 x float> %3618, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6117, ptr %3572, align 4, !tbaa !13
  %3619 = fmul <4 x float> %broadcast.splat6119, %3612
  %3620 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6121, <4 x float> %3619)
  %3621 = fmul <4 x float> %broadcast.splat6121, %3611
  %3622 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6119, <4 x float> %3621)
  %wide.vec6122 = load <8 x float>, ptr %3577, align 4, !tbaa !13
  %strided.vec6123 = shufflevector <8 x float> %wide.vec6122, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6124 = shufflevector <8 x float> %wide.vec6122, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3623 = fsub <4 x float> %strided.vec6123, %3620
  %3624 = fsub <4 x float> %strided.vec6124, %3622
  %interleaved.vec6125 = shufflevector <4 x float> %3623, <4 x float> %3624, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6125, ptr %3577, align 4, !tbaa !13
  %3625 = fmul <4 x float> %broadcast.splat6127, %3612
  %3626 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6129, <4 x float> %3625)
  %3627 = fmul <4 x float> %broadcast.splat6129, %3611
  %3628 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6127, <4 x float> %3627)
  %wide.vec6130 = load <8 x float>, ptr %3584, align 4, !tbaa !13
  %strided.vec6131 = shufflevector <8 x float> %wide.vec6130, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6132 = shufflevector <8 x float> %wide.vec6130, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3629 = fsub <4 x float> %strided.vec6131, %3626
  %3630 = fsub <4 x float> %strided.vec6132, %3628
  %interleaved.vec6133 = shufflevector <4 x float> %3629, <4 x float> %3630, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6133, ptr %3584, align 4, !tbaa !13
  %3631 = fmul <4 x float> %broadcast.splat6135, %3612
  %3632 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6137, <4 x float> %3631)
  %3633 = fmul <4 x float> %broadcast.splat6137, %3611
  %3634 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6135, <4 x float> %3633)
  %wide.vec6138 = load <8 x float>, ptr %3591, align 4, !tbaa !13
  %strided.vec6139 = shufflevector <8 x float> %wide.vec6138, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6140 = shufflevector <8 x float> %wide.vec6138, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3635 = fsub <4 x float> %strided.vec6139, %3632
  %3636 = fsub <4 x float> %strided.vec6140, %3634
  %interleaved.vec6141 = shufflevector <4 x float> %3635, <4 x float> %3636, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6141, ptr %3591, align 4, !tbaa !13
  %3637 = fmul <4 x float> %broadcast.splat6143, %3612
  %3638 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6145, <4 x float> %3637)
  %3639 = fmul <4 x float> %broadcast.splat6145, %3611
  %3640 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6143, <4 x float> %3639)
  %wide.vec6146 = load <8 x float>, ptr %3598, align 4, !tbaa !13
  %strided.vec6147 = shufflevector <8 x float> %wide.vec6146, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6148 = shufflevector <8 x float> %wide.vec6146, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3641 = fsub <4 x float> %strided.vec6147, %3638
  %3642 = fsub <4 x float> %strided.vec6148, %3640
  %interleaved.vec6149 = shufflevector <4 x float> %3641, <4 x float> %3642, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6149, ptr %3598, align 4, !tbaa !13
  %3643 = fmul <4 x float> %broadcast.splat6151, %3612
  %3644 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6153, <4 x float> %3643)
  %3645 = fmul <4 x float> %broadcast.splat6153, %3611
  %3646 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3610, <4 x float> %broadcast.splat6151, <4 x float> %3645)
  %wide.vec6154 = load <8 x float>, ptr %3605, align 4, !tbaa !13
  %strided.vec6155 = shufflevector <8 x float> %wide.vec6154, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6156 = shufflevector <8 x float> %wide.vec6154, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3647 = fsub <4 x float> %strided.vec6155, %3644
  %3648 = fsub <4 x float> %strided.vec6156, %3646
  %interleaved.vec6157 = shufflevector <4 x float> %3647, <4 x float> %3648, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6157, ptr %3605, align 4, !tbaa !13
  %index.next6158 = add nuw i64 %index6057, 4
  %3649 = icmp eq i64 %index.next6158, %n.vec6053
  br i1 %3649, label %middle.block6048, label %vector.body6056, !llvm.loop !37

middle.block6048:                                 ; preds = %vector.body6056
  %cmp.n6159 = icmp eq i64 %n.vec6053, %3453
  br i1 %cmp.n6159, label %.loopexit, label %scalar.ph6049.preheader

scalar.ph6049.preheader:                          ; preds = %middle.block6048, %vector.memcheck5904, %vector.scevcheck5855, %.lr.ph4651
  %indvars.iv4877.ph = phi i64 [ 1, %vector.memcheck5904 ], [ 1, %vector.scevcheck5855 ], [ 1, %.lr.ph4651 ], [ %ind.end6054, %middle.block6048 ]
  %3650 = insertelement <2 x float> poison, float %3422, i64 0
  %3651 = insertelement <2 x float> %3650, float %3425, i64 1
  br label %scalar.ph6049

scalar.ph6049:                                    ; preds = %scalar.ph6049.preheader, %scalar.ph6049
  %indvars.iv4877 = phi i64 [ %indvars.iv.next4878, %scalar.ph6049 ], [ %indvars.iv4877.ph, %scalar.ph6049.preheader ]
  %gep4974 = getelementptr %struct.complex, ptr %invariant.gep4973, i64 %indvars.iv4877
  %gep4976 = getelementptr %struct.complex, ptr %invariant.gep4975, i64 %indvars.iv4877
  %3652 = load float, ptr %gep4976, align 4, !tbaa !9
  %3653 = getelementptr inbounds i8, ptr %gep4976, i64 4
  %3654 = load float, ptr %3653, align 4, !tbaa !12
  %3655 = fmul float %3652, %3426
  %3656 = call float @llvm.fmuladd.f32(float %3425, float %3654, float %3655)
  %gep4978 = getelementptr %struct.complex, ptr %invariant.gep4977, i64 %indvars.iv4877
  %3657 = load float, ptr %gep4978, align 4, !tbaa !9
  %3658 = getelementptr inbounds i8, ptr %gep4978, i64 4
  %3659 = load float, ptr %3658, align 4, !tbaa !12
  %3660 = fmul float %3659, %3433
  %3661 = call float @llvm.fmuladd.f32(float %3431, float %3657, float %3660)
  %3662 = fmul float %3657, %3432
  %3663 = call float @llvm.fmuladd.f32(float %3431, float %3659, float %3662)
  %gep4980 = getelementptr %struct.complex, ptr %invariant.gep4979, i64 %indvars.iv4877
  %3664 = load float, ptr %gep4980, align 4, !tbaa !9
  %3665 = getelementptr inbounds i8, ptr %gep4980, i64 4
  %3666 = load float, ptr %3665, align 4, !tbaa !12
  %3667 = fmul float %3666, %3437
  %3668 = call float @llvm.fmuladd.f32(float %3435, float %3664, float %3667)
  %3669 = fmul float %3664, %3436
  %3670 = call float @llvm.fmuladd.f32(float %3435, float %3666, float %3669)
  %gep4982 = getelementptr %struct.complex, ptr %invariant.gep4981, i64 %indvars.iv4877
  %3671 = load float, ptr %gep4982, align 4, !tbaa !9
  %3672 = getelementptr inbounds i8, ptr %gep4982, i64 4
  %3673 = load float, ptr %3672, align 4, !tbaa !12
  %3674 = fmul float %3673, %3441
  %3675 = call float @llvm.fmuladd.f32(float %3439, float %3671, float %3674)
  %3676 = fmul float %3671, %3440
  %3677 = call float @llvm.fmuladd.f32(float %3439, float %3673, float %3676)
  %gep4984 = getelementptr %struct.complex, ptr %invariant.gep4983, i64 %indvars.iv4877
  %3678 = load float, ptr %gep4984, align 4, !tbaa !9
  %3679 = getelementptr inbounds i8, ptr %gep4984, i64 4
  %3680 = load float, ptr %3679, align 4, !tbaa !12
  %3681 = fmul float %3680, %3445
  %3682 = call float @llvm.fmuladd.f32(float %3443, float %3678, float %3681)
  %3683 = fmul float %3678, %3444
  %3684 = call float @llvm.fmuladd.f32(float %3443, float %3680, float %3683)
  %3685 = load <2 x float>, ptr %gep4974, align 4, !tbaa !13
  %3686 = extractelement <2 x float> %3685, i64 1
  %3687 = extractelement <2 x float> %3685, i64 0
  %3688 = shufflevector <2 x float> %3685, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3689 = insertelement <2 x float> %3688, float %3654, i64 1
  %3690 = fmul <2 x float> %3689, %3429
  %3691 = insertelement <2 x float> %3685, float %3652, i64 1
  %3692 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3651, <2 x float> %3691, <2 x float> %3690)
  %3693 = fmul float %3687, %3423
  %3694 = call float @llvm.fmuladd.f32(float %3422, float %3686, float %3693)
  %shift6834 = shufflevector <2 x float> %3692, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3695 = fadd <2 x float> %3692, %shift6834
  %3696 = extractelement <2 x float> %3695, i64 0
  %3697 = fadd float %3694, %3656
  %3698 = fadd float %3696, %3661
  %3699 = fadd float %3697, %3663
  %3700 = fadd float %3698, %3668
  %3701 = fadd float %3699, %3670
  %3702 = fadd float %3700, %3675
  %3703 = fadd float %3701, %3677
  %3704 = fadd float %3702, %3682
  %3705 = fadd float %3703, %3684
  %3706 = fneg float %3705
  %3707 = insertelement <2 x float> poison, float %3705, i64 0
  %3708 = insertelement <2 x float> %3707, float %3706, i64 1
  %3709 = fmul <2 x float> %3329, %3708
  %3710 = shufflevector <2 x float> %3709, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3711 = insertelement <2 x float> poison, float %3704, i64 0
  %3712 = shufflevector <2 x float> %3711, <2 x float> poison, <2 x i32> zeroinitializer
  %3713 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3712, <2 x float> %3329, <2 x float> %3710)
  %3714 = fsub <2 x float> %3685, %3713
  store <2 x float> %3714, ptr %gep4974, align 4, !tbaa !13
  %3715 = fmul <2 x float> %3346, %3708
  %3716 = shufflevector <2 x float> %3715, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3717 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3712, <2 x float> %3346, <2 x float> %3716)
  %3718 = load <2 x float>, ptr %gep4976, align 4, !tbaa !13
  %3719 = fsub <2 x float> %3718, %3717
  store <2 x float> %3719, ptr %gep4976, align 4, !tbaa !13
  %3720 = fmul <2 x float> %3363, %3708
  %3721 = shufflevector <2 x float> %3720, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3722 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3712, <2 x float> %3363, <2 x float> %3721)
  %3723 = load <2 x float>, ptr %gep4978, align 4, !tbaa !13
  %3724 = fsub <2 x float> %3723, %3722
  store <2 x float> %3724, ptr %gep4978, align 4, !tbaa !13
  %3725 = fmul <2 x float> %3380, %3708
  %3726 = shufflevector <2 x float> %3725, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3727 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3712, <2 x float> %3380, <2 x float> %3726)
  %3728 = load <2 x float>, ptr %gep4980, align 4, !tbaa !13
  %3729 = fsub <2 x float> %3728, %3727
  store <2 x float> %3729, ptr %gep4980, align 4, !tbaa !13
  %3730 = fmul <2 x float> %3397, %3708
  %3731 = shufflevector <2 x float> %3730, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3732 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3712, <2 x float> %3397, <2 x float> %3731)
  %3733 = load <2 x float>, ptr %gep4982, align 4, !tbaa !13
  %3734 = fsub <2 x float> %3733, %3732
  store <2 x float> %3734, ptr %gep4982, align 4, !tbaa !13
  %3735 = fmul <2 x float> %3414, %3708
  %3736 = shufflevector <2 x float> %3735, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3737 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3712, <2 x float> %3414, <2 x float> %3736)
  %3738 = load <2 x float>, ptr %gep4984, align 4, !tbaa !13
  %3739 = fsub <2 x float> %3738, %3737
  store <2 x float> %3739, ptr %gep4984, align 4, !tbaa !13
  %indvars.iv.next4878 = add nuw nsw i64 %indvars.iv4877, 1
  %exitcond4881.not = icmp eq i64 %indvars.iv.next4878, %wide.trip.count4880
  br i1 %exitcond4881.not, label %.loopexit, label %scalar.ph6049, !llvm.loop !38

3740:                                             ; preds = %2238
  %3741 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %3741, ptr %12, align 8, !tbaa !13
  %3742 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.033.0.vec.extract = extractelement <2 x float> %3742, i64 0
  %.sroa.033.4.vec.extract = extractelement <2 x float> %3742, i64 1
  %3743 = fneg float %.sroa.033.4.vec.extract
  %3744 = call ptr @_pCf(ptr noundef nonnull %10)
  %3745 = getelementptr inbounds i8, ptr %3744, i64 4
  store float %.sroa.033.0.vec.extract, ptr %3744, align 4
  store float %3743, ptr %3745, align 4
  %3746 = load float, ptr %4, align 4, !tbaa !9
  %3747 = getelementptr inbounds i8, ptr %4, i64 4
  %3748 = load float, ptr %3747, align 4, !tbaa !12
  %3749 = fneg float %3748
  %3750 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3751 = insertelement <2 x float> poison, float %3748, i64 0
  %3752 = insertelement <2 x float> %3751, float %3749, i64 1
  %3753 = fmul <2 x float> %3750, %3752
  %3754 = shufflevector <2 x float> %3753, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3755 = insertelement <2 x float> poison, float %3746, i64 0
  %3756 = shufflevector <2 x float> %3755, <2 x float> poison, <2 x i32> zeroinitializer
  %3757 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3756, <2 x float> %3750, <2 x float> %3754)
  store <2 x float> %3757, ptr %9, align 8, !tbaa !13
  %3758 = getelementptr inbounds i8, ptr %3, i64 8
  %3759 = load <2 x float>, ptr %3758, align 4, !tbaa !13
  store <2 x float> %3759, ptr %13, align 8, !tbaa !13
  %3760 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.032.0.vec.extract = extractelement <2 x float> %3760, i64 0
  %.sroa.032.4.vec.extract = extractelement <2 x float> %3760, i64 1
  %3761 = fneg float %.sroa.032.4.vec.extract
  %3762 = call ptr @_pCf(ptr noundef nonnull %10)
  %3763 = getelementptr inbounds i8, ptr %3762, i64 4
  store float %.sroa.032.0.vec.extract, ptr %3762, align 4
  store float %3761, ptr %3763, align 4
  %3764 = load float, ptr %4, align 4, !tbaa !9
  %3765 = load float, ptr %3747, align 4, !tbaa !12
  %3766 = fneg float %3765
  %3767 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3768 = insertelement <2 x float> poison, float %3765, i64 0
  %3769 = insertelement <2 x float> %3768, float %3766, i64 1
  %3770 = fmul <2 x float> %3767, %3769
  %3771 = shufflevector <2 x float> %3770, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3772 = insertelement <2 x float> poison, float %3764, i64 0
  %3773 = shufflevector <2 x float> %3772, <2 x float> poison, <2 x i32> zeroinitializer
  %3774 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3773, <2 x float> %3767, <2 x float> %3771)
  store <2 x float> %3774, ptr %9, align 8, !tbaa !13
  %3775 = getelementptr inbounds i8, ptr %3, i64 16
  %3776 = load <2 x float>, ptr %3775, align 4, !tbaa !13
  store <2 x float> %3776, ptr %14, align 8, !tbaa !13
  %3777 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.031.0.vec.extract = extractelement <2 x float> %3777, i64 0
  %.sroa.031.4.vec.extract = extractelement <2 x float> %3777, i64 1
  %3778 = fneg float %.sroa.031.4.vec.extract
  %3779 = call ptr @_pCf(ptr noundef nonnull %10)
  %3780 = getelementptr inbounds i8, ptr %3779, i64 4
  store float %.sroa.031.0.vec.extract, ptr %3779, align 4
  store float %3778, ptr %3780, align 4
  %3781 = load float, ptr %4, align 4, !tbaa !9
  %3782 = load float, ptr %3747, align 4, !tbaa !12
  %3783 = fneg float %3782
  %3784 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3785 = insertelement <2 x float> poison, float %3782, i64 0
  %3786 = insertelement <2 x float> %3785, float %3783, i64 1
  %3787 = fmul <2 x float> %3784, %3786
  %3788 = shufflevector <2 x float> %3787, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3789 = insertelement <2 x float> poison, float %3781, i64 0
  %3790 = shufflevector <2 x float> %3789, <2 x float> poison, <2 x i32> zeroinitializer
  %3791 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3790, <2 x float> %3784, <2 x float> %3788)
  store <2 x float> %3791, ptr %9, align 8, !tbaa !13
  %3792 = getelementptr inbounds i8, ptr %3, i64 24
  %3793 = load <2 x float>, ptr %3792, align 4, !tbaa !13
  store <2 x float> %3793, ptr %15, align 8, !tbaa !13
  %3794 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.030.0.vec.extract = extractelement <2 x float> %3794, i64 0
  %.sroa.030.4.vec.extract = extractelement <2 x float> %3794, i64 1
  %3795 = fneg float %.sroa.030.4.vec.extract
  %3796 = call ptr @_pCf(ptr noundef nonnull %10)
  %3797 = getelementptr inbounds i8, ptr %3796, i64 4
  store float %.sroa.030.0.vec.extract, ptr %3796, align 4
  store float %3795, ptr %3797, align 4
  %3798 = load float, ptr %4, align 4, !tbaa !9
  %3799 = load float, ptr %3747, align 4, !tbaa !12
  %3800 = fneg float %3799
  %3801 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3802 = insertelement <2 x float> poison, float %3799, i64 0
  %3803 = insertelement <2 x float> %3802, float %3800, i64 1
  %3804 = fmul <2 x float> %3801, %3803
  %3805 = shufflevector <2 x float> %3804, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3806 = insertelement <2 x float> poison, float %3798, i64 0
  %3807 = shufflevector <2 x float> %3806, <2 x float> poison, <2 x i32> zeroinitializer
  %3808 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3807, <2 x float> %3801, <2 x float> %3805)
  store <2 x float> %3808, ptr %9, align 8, !tbaa !13
  %3809 = getelementptr inbounds i8, ptr %3, i64 32
  %3810 = load <2 x float>, ptr %3809, align 4, !tbaa !13
  store <2 x float> %3810, ptr %16, align 8, !tbaa !13
  %3811 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.029.0.vec.extract = extractelement <2 x float> %3811, i64 0
  %.sroa.029.4.vec.extract = extractelement <2 x float> %3811, i64 1
  %3812 = fneg float %.sroa.029.4.vec.extract
  %3813 = call ptr @_pCf(ptr noundef nonnull %10)
  %3814 = getelementptr inbounds i8, ptr %3813, i64 4
  store float %.sroa.029.0.vec.extract, ptr %3813, align 4
  store float %3812, ptr %3814, align 4
  %3815 = load float, ptr %4, align 4, !tbaa !9
  %3816 = load float, ptr %3747, align 4, !tbaa !12
  %3817 = fneg float %3816
  %3818 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3819 = insertelement <2 x float> poison, float %3816, i64 0
  %3820 = insertelement <2 x float> %3819, float %3817, i64 1
  %3821 = fmul <2 x float> %3818, %3820
  %3822 = shufflevector <2 x float> %3821, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3823 = insertelement <2 x float> poison, float %3815, i64 0
  %3824 = shufflevector <2 x float> %3823, <2 x float> poison, <2 x i32> zeroinitializer
  %3825 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3824, <2 x float> %3818, <2 x float> %3822)
  store <2 x float> %3825, ptr %9, align 8, !tbaa !13
  %3826 = getelementptr inbounds i8, ptr %3, i64 40
  %3827 = load <2 x float>, ptr %3826, align 4, !tbaa !13
  store <2 x float> %3827, ptr %17, align 8, !tbaa !13
  %3828 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.028.0.vec.extract = extractelement <2 x float> %3828, i64 0
  %.sroa.028.4.vec.extract = extractelement <2 x float> %3828, i64 1
  %3829 = fneg float %.sroa.028.4.vec.extract
  %3830 = call ptr @_pCf(ptr noundef nonnull %10)
  %3831 = getelementptr inbounds i8, ptr %3830, i64 4
  store float %.sroa.028.0.vec.extract, ptr %3830, align 4
  store float %3829, ptr %3831, align 4
  %3832 = load float, ptr %4, align 4, !tbaa !9
  %3833 = load float, ptr %3747, align 4, !tbaa !12
  %3834 = fneg float %3833
  %3835 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3836 = insertelement <2 x float> poison, float %3833, i64 0
  %3837 = insertelement <2 x float> %3836, float %3834, i64 1
  %3838 = fmul <2 x float> %3835, %3837
  %3839 = shufflevector <2 x float> %3838, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3840 = insertelement <2 x float> poison, float %3832, i64 0
  %3841 = shufflevector <2 x float> %3840, <2 x float> poison, <2 x i32> zeroinitializer
  %3842 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3841, <2 x float> %3835, <2 x float> %3839)
  store <2 x float> %3842, ptr %9, align 8, !tbaa !13
  %3843 = getelementptr inbounds i8, ptr %3, i64 48
  %3844 = load <2 x float>, ptr %3843, align 4, !tbaa !13
  store <2 x float> %3844, ptr %18, align 8, !tbaa !13
  %3845 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.027.0.vec.extract = extractelement <2 x float> %3845, i64 0
  %.sroa.027.4.vec.extract = extractelement <2 x float> %3845, i64 1
  %3846 = fneg float %.sroa.027.4.vec.extract
  %3847 = call ptr @_pCf(ptr noundef nonnull %10)
  %3848 = getelementptr inbounds i8, ptr %3847, i64 4
  store float %.sroa.027.0.vec.extract, ptr %3847, align 4
  store float %3846, ptr %3848, align 4
  %3849 = load float, ptr %4, align 4, !tbaa !9
  %3850 = load float, ptr %3747, align 4, !tbaa !12
  %3851 = fneg float %3850
  %3852 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3853 = insertelement <2 x float> poison, float %3850, i64 0
  %3854 = insertelement <2 x float> %3853, float %3851, i64 1
  %3855 = fmul <2 x float> %3852, %3854
  %3856 = shufflevector <2 x float> %3855, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3857 = insertelement <2 x float> poison, float %3849, i64 0
  %3858 = shufflevector <2 x float> %3857, <2 x float> poison, <2 x i32> zeroinitializer
  %3859 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3858, <2 x float> %3852, <2 x float> %3856)
  %3860 = load i32, ptr %1, align 4, !tbaa !5
  %.not44494638 = icmp slt i32 %3860, 1
  br i1 %.not44494638, label %.loopexit, label %.lr.ph4640

.lr.ph4640:                                       ; preds = %3740
  %3861 = getelementptr inbounds i8, ptr %18, i64 4
  %3862 = getelementptr inbounds i8, ptr %17, i64 4
  %3863 = getelementptr inbounds i8, ptr %16, i64 4
  %3864 = getelementptr inbounds i8, ptr %15, i64 4
  %3865 = getelementptr inbounds i8, ptr %14, i64 4
  %3866 = getelementptr inbounds i8, ptr %13, i64 4
  %3867 = getelementptr inbounds i8, ptr %12, i64 4
  %3868 = load float, ptr %12, align 8, !tbaa !9
  %3869 = load float, ptr %3867, align 4, !tbaa !12
  %3870 = shl i32 %22, 1
  %3871 = load float, ptr %13, align 8, !tbaa !9
  %3872 = load float, ptr %3866, align 4, !tbaa !12
  %3873 = insertelement <2 x float> poison, float %3869, i64 0
  %3874 = insertelement <2 x float> %3873, float %3872, i64 1
  %3875 = fneg <2 x float> %3874
  %3876 = mul i32 %22, 3
  %3877 = load float, ptr %14, align 8, !tbaa !9
  %3878 = load float, ptr %3865, align 4, !tbaa !12
  %3879 = fneg float %3878
  %3880 = shl i32 %22, 2
  %3881 = load float, ptr %15, align 8, !tbaa !9
  %3882 = load float, ptr %3864, align 4, !tbaa !12
  %3883 = fneg float %3882
  %3884 = mul i32 %22, 5
  %3885 = load float, ptr %16, align 8, !tbaa !9
  %3886 = load float, ptr %3863, align 4, !tbaa !12
  %3887 = fneg float %3886
  %3888 = mul i32 %22, 6
  %3889 = load float, ptr %17, align 8, !tbaa !9
  %3890 = load float, ptr %3862, align 4, !tbaa !12
  %3891 = fneg float %3890
  %3892 = mul i32 %22, 7
  %3893 = load float, ptr %18, align 8, !tbaa !9
  %3894 = load float, ptr %3861, align 4, !tbaa !12
  %3895 = fneg float %3894
  %3896 = sext i32 %22 to i64
  %3897 = sext i32 %3870 to i64
  %3898 = sext i32 %3876 to i64
  %3899 = sext i32 %3880 to i64
  %3900 = sext i32 %3884 to i64
  %3901 = sext i32 %3888 to i64
  %3902 = sext i32 %3892 to i64
  %3903 = add nuw i32 %3860, 1
  %wide.trip.count4875 = zext i32 %3903 to i64
  %invariant.gep4959 = getelementptr %struct.complex, ptr %24, i64 %3896
  %invariant.gep4961 = getelementptr %struct.complex, ptr %24, i64 %3897
  %invariant.gep4963 = getelementptr %struct.complex, ptr %24, i64 %3898
  %invariant.gep4965 = getelementptr %struct.complex, ptr %24, i64 %3899
  %invariant.gep4967 = getelementptr %struct.complex, ptr %24, i64 %3900
  %invariant.gep4969 = getelementptr %struct.complex, ptr %24, i64 %3901
  %invariant.gep4971 = getelementptr %struct.complex, ptr %24, i64 %3902
  %3904 = zext nneg i32 %3860 to i64
  %min.iters.check5728 = icmp ult i32 %3860, 16
  br i1 %min.iters.check5728, label %scalar.ph5727.preheader, label %vector.scevcheck5473

vector.scevcheck5473:                             ; preds = %.lr.ph4640
  %3905 = add nsw i64 %wide.trip.count4875, -2
  %3906 = shl nsw i64 %3896, 3
  %3907 = shl nsw i64 %23, 3
  %3908 = getelementptr i8, ptr %5, i64 %3906
  %3909 = getelementptr i8, ptr %3908, i64 %3907
  %mul.result5476 = shl nsw i64 %3905, 3
  %3910 = shl nsw i64 %3897, 3
  %3911 = getelementptr i8, ptr %5, i64 %3910
  %3912 = getelementptr i8, ptr %3911, i64 %3907
  %mul.result5480 = shl nsw i64 %3905, 3
  %mul.overflow5481 = icmp ugt i64 %3905, 2305843009213693951
  %3913 = shl nsw i64 %3898, 3
  %3914 = getelementptr i8, ptr %5, i64 %3913
  %3915 = getelementptr i8, ptr %3914, i64 %3907
  %mul.result5484 = shl nsw i64 %3905, 3
  %3916 = shl nsw i64 %3899, 3
  %3917 = getelementptr i8, ptr %5, i64 %3916
  %3918 = getelementptr i8, ptr %3917, i64 %3907
  %mul.result5488 = shl nsw i64 %3905, 3
  %3919 = shl nsw i64 %3900, 3
  %3920 = getelementptr i8, ptr %5, i64 %3919
  %3921 = getelementptr i8, ptr %3920, i64 %3907
  %mul.result5492 = shl nsw i64 %3905, 3
  %3922 = shl nsw i64 %3901, 3
  %3923 = getelementptr i8, ptr %5, i64 %3922
  %3924 = getelementptr i8, ptr %3923, i64 %3907
  %mul.result5496 = shl nsw i64 %3905, 3
  %3925 = shl nsw i64 %3902, 3
  %3926 = getelementptr i8, ptr %5, i64 %3925
  %3927 = getelementptr i8, ptr %3926, i64 %3907
  %mul.result5500 = shl nsw i64 %3905, 3
  %3928 = getelementptr i8, ptr %5, i64 %3906
  %3929 = getelementptr i8, ptr %3928, i64 %3907
  %mul.result5504 = shl nsw i64 %3905, 3
  %3930 = insertelement <8 x ptr> poison, ptr %3912, i64 0
  %3931 = insertelement <8 x ptr> %3930, ptr %3909, i64 1
  %3932 = insertelement <8 x ptr> %3931, ptr %3915, i64 2
  %3933 = insertelement <8 x ptr> %3932, ptr %3918, i64 3
  %3934 = insertelement <8 x ptr> %3933, ptr %3921, i64 4
  %3935 = insertelement <8 x ptr> %3934, ptr %3924, i64 5
  %3936 = insertelement <8 x ptr> %3935, ptr %3927, i64 6
  %3937 = insertelement <8 x ptr> %3936, ptr %3929, i64 7
  %3938 = getelementptr i8, <8 x ptr> %3937, <8 x i64> <i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 12>
  %scevgep5474 = getelementptr i8, ptr %3909, i64 8
  %3939 = getelementptr i8, ptr %scevgep5474, i64 %mul.result5476
  %scevgep5478 = getelementptr i8, ptr %3912, i64 8
  %3940 = getelementptr i8, ptr %scevgep5478, i64 %mul.result5480
  %scevgep5482 = getelementptr i8, ptr %3915, i64 8
  %3941 = getelementptr i8, ptr %scevgep5482, i64 %mul.result5484
  %scevgep5486 = getelementptr i8, ptr %3918, i64 8
  %3942 = getelementptr i8, ptr %scevgep5486, i64 %mul.result5488
  %scevgep5490 = getelementptr i8, ptr %3921, i64 8
  %3943 = getelementptr i8, ptr %scevgep5490, i64 %mul.result5492
  %scevgep5494 = getelementptr i8, ptr %3924, i64 8
  %3944 = getelementptr i8, ptr %scevgep5494, i64 %mul.result5496
  %scevgep5498 = getelementptr i8, ptr %3927, i64 8
  %3945 = getelementptr i8, ptr %scevgep5498, i64 %mul.result5500
  %scevgep5502 = getelementptr i8, ptr %3929, i64 12
  %3946 = getelementptr i8, ptr %scevgep5502, i64 %mul.result5504
  %3947 = insertelement <8 x ptr> poison, ptr %3940, i64 0
  %3948 = insertelement <8 x ptr> %3947, ptr %3939, i64 1
  %3949 = insertelement <8 x ptr> %3948, ptr %3941, i64 2
  %3950 = insertelement <8 x ptr> %3949, ptr %3942, i64 3
  %3951 = insertelement <8 x ptr> %3950, ptr %3943, i64 4
  %3952 = insertelement <8 x ptr> %3951, ptr %3944, i64 5
  %3953 = insertelement <8 x ptr> %3952, ptr %3945, i64 6
  %3954 = insertelement <8 x ptr> %3953, ptr %3946, i64 7
  %3955 = icmp ult <8 x ptr> %3954, %3938
  %3956 = getelementptr i8, ptr %5, i64 %3910
  %3957 = getelementptr i8, ptr %3956, i64 %3907
  %scevgep5506 = getelementptr i8, ptr %3957, i64 12
  %mul.result5508 = shl nsw i64 %3905, 3
  %3958 = getelementptr i8, ptr %scevgep5506, i64 %mul.result5508
  %3959 = icmp ult ptr %3958, %scevgep5506
  %3960 = getelementptr i8, ptr %5, i64 %3913
  %3961 = getelementptr i8, ptr %3960, i64 %3907
  %scevgep5510 = getelementptr i8, ptr %3961, i64 12
  %mul.result5512 = shl nsw i64 %3905, 3
  %3962 = getelementptr i8, ptr %scevgep5510, i64 %mul.result5512
  %3963 = icmp ult ptr %3962, %scevgep5510
  %3964 = getelementptr i8, ptr %5, i64 %3916
  %3965 = getelementptr i8, ptr %3964, i64 %3907
  %scevgep5514 = getelementptr i8, ptr %3965, i64 12
  %mul.result5516 = shl nsw i64 %3905, 3
  %3966 = getelementptr i8, ptr %scevgep5514, i64 %mul.result5516
  %3967 = icmp ult ptr %3966, %scevgep5514
  %3968 = getelementptr i8, ptr %5, i64 %3919
  %3969 = getelementptr i8, ptr %3968, i64 %3907
  %scevgep5518 = getelementptr i8, ptr %3969, i64 12
  %mul.result5520 = shl nsw i64 %3905, 3
  %3970 = getelementptr i8, ptr %scevgep5518, i64 %mul.result5520
  %3971 = icmp ult ptr %3970, %scevgep5518
  %3972 = getelementptr i8, ptr %5, i64 %3922
  %3973 = getelementptr i8, ptr %3972, i64 %3907
  %scevgep5522 = getelementptr i8, ptr %3973, i64 12
  %mul.result5524 = shl nsw i64 %3905, 3
  %3974 = getelementptr i8, ptr %scevgep5522, i64 %mul.result5524
  %3975 = icmp ult ptr %3974, %scevgep5522
  %3976 = getelementptr i8, ptr %5, i64 %3925
  %3977 = getelementptr i8, ptr %3976, i64 %3907
  %scevgep5526 = getelementptr i8, ptr %3977, i64 12
  %mul.result5528 = shl nsw i64 %3905, 3
  %3978 = getelementptr i8, ptr %scevgep5526, i64 %mul.result5528
  %3979 = icmp ult ptr %3978, %scevgep5526
  %3980 = bitcast <8 x i1> %3955 to i8
  %3981 = icmp ne i8 %3980, 0
  %op.rdx6803 = or i1 %3981, %3959
  %op.rdx6804 = or i1 %3963, %3967
  %op.rdx6805 = or i1 %3971, %3975
  %op.rdx6806 = or i1 %3979, %mul.overflow5481
  %op.rdx6807 = or i1 %op.rdx6803, %op.rdx6804
  %op.rdx6808 = or i1 %op.rdx6805, %op.rdx6806
  %op.rdx6809 = or i1 %op.rdx6807, %op.rdx6808
  br i1 %op.rdx6809, label %scalar.ph5727.preheader, label %vector.memcheck5530

vector.memcheck5530:                              ; preds = %vector.scevcheck5473
  %3982 = shl nsw i64 %3896, 3
  %3983 = shl nsw i64 %23, 3
  %3984 = add nsw i64 %3982, %3983
  %3985 = getelementptr i8, ptr %5, i64 %3984
  %scevgep5531 = getelementptr i8, ptr %3985, i64 8
  %3986 = shl nuw nsw i64 %wide.trip.count4875, 3
  %3987 = getelementptr i8, ptr %5, i64 %3984
  %3988 = getelementptr i8, ptr %3987, i64 %3986
  %scevgep5532 = getelementptr i8, ptr %3988, i64 -4
  %3989 = shl nsw i64 %3897, 3
  %3990 = add nsw i64 %3989, %3983
  %3991 = getelementptr i8, ptr %5, i64 %3990
  %scevgep5533 = getelementptr i8, ptr %3991, i64 8
  %3992 = getelementptr i8, ptr %5, i64 %3990
  %3993 = getelementptr i8, ptr %3992, i64 %3986
  %scevgep5534 = getelementptr i8, ptr %3993, i64 -4
  %3994 = shl nsw i64 %3898, 3
  %3995 = add nsw i64 %3994, %3983
  %3996 = getelementptr i8, ptr %5, i64 %3995
  %scevgep5535 = getelementptr i8, ptr %3996, i64 8
  %3997 = getelementptr i8, ptr %5, i64 %3995
  %3998 = getelementptr i8, ptr %3997, i64 %3986
  %scevgep5536 = getelementptr i8, ptr %3998, i64 -4
  %3999 = shl nsw i64 %3899, 3
  %4000 = add nsw i64 %3999, %3983
  %4001 = getelementptr i8, ptr %5, i64 %4000
  %scevgep5537 = getelementptr i8, ptr %4001, i64 8
  %4002 = getelementptr i8, ptr %5, i64 %4000
  %4003 = getelementptr i8, ptr %4002, i64 %3986
  %scevgep5538 = getelementptr i8, ptr %4003, i64 -4
  %4004 = shl nsw i64 %3900, 3
  %4005 = add nsw i64 %4004, %3983
  %4006 = getelementptr i8, ptr %5, i64 %4005
  %scevgep5539 = getelementptr i8, ptr %4006, i64 8
  %4007 = getelementptr i8, ptr %5, i64 %4005
  %4008 = getelementptr i8, ptr %4007, i64 %3986
  %scevgep5540 = getelementptr i8, ptr %4008, i64 -4
  %4009 = shl nsw i64 %3901, 3
  %4010 = add nsw i64 %4009, %3983
  %4011 = getelementptr i8, ptr %5, i64 %4010
  %scevgep5541 = getelementptr i8, ptr %4011, i64 8
  %4012 = getelementptr i8, ptr %5, i64 %4010
  %4013 = getelementptr i8, ptr %4012, i64 %3986
  %scevgep5542 = getelementptr i8, ptr %4013, i64 -4
  %4014 = shl nsw i64 %3902, 3
  %4015 = add nsw i64 %4014, %3983
  %4016 = getelementptr i8, ptr %5, i64 %4015
  %scevgep5543 = getelementptr i8, ptr %4016, i64 8
  %4017 = getelementptr i8, ptr %5, i64 %4015
  %4018 = getelementptr i8, ptr %4017, i64 %3986
  %scevgep5544 = getelementptr i8, ptr %4018, i64 -4
  %4019 = add nsw i64 %3982, %3983
  %4020 = getelementptr i8, ptr %5, i64 %4019
  %scevgep5545 = getelementptr i8, ptr %4020, i64 12
  %4021 = getelementptr i8, ptr %5, i64 %4019
  %scevgep5546 = getelementptr i8, ptr %4021, i64 %3986
  %4022 = add nsw i64 %3989, %3983
  %4023 = getelementptr i8, ptr %5, i64 %4022
  %scevgep5547 = getelementptr i8, ptr %4023, i64 12
  %4024 = getelementptr i8, ptr %5, i64 %4022
  %scevgep5548 = getelementptr i8, ptr %4024, i64 %3986
  %4025 = add nsw i64 %3994, %3983
  %4026 = getelementptr i8, ptr %5, i64 %4025
  %scevgep5549 = getelementptr i8, ptr %4026, i64 12
  %4027 = getelementptr i8, ptr %5, i64 %4025
  %scevgep5550 = getelementptr i8, ptr %4027, i64 %3986
  %4028 = add nsw i64 %3999, %3983
  %4029 = getelementptr i8, ptr %5, i64 %4028
  %scevgep5551 = getelementptr i8, ptr %4029, i64 12
  %4030 = getelementptr i8, ptr %5, i64 %4028
  %scevgep5552 = getelementptr i8, ptr %4030, i64 %3986
  %4031 = add nsw i64 %4004, %3983
  %4032 = getelementptr i8, ptr %5, i64 %4031
  %scevgep5553 = getelementptr i8, ptr %4032, i64 12
  %4033 = getelementptr i8, ptr %5, i64 %4031
  %scevgep5554 = getelementptr i8, ptr %4033, i64 %3986
  %4034 = add nsw i64 %4009, %3983
  %4035 = getelementptr i8, ptr %5, i64 %4034
  %scevgep5555 = getelementptr i8, ptr %4035, i64 12
  %4036 = getelementptr i8, ptr %5, i64 %4034
  %scevgep5556 = getelementptr i8, ptr %4036, i64 %3986
  %4037 = add nsw i64 %4014, %3983
  %4038 = getelementptr i8, ptr %5, i64 %4037
  %scevgep5557 = getelementptr i8, ptr %4038, i64 12
  %4039 = getelementptr i8, ptr %5, i64 %4037
  %scevgep5558 = getelementptr i8, ptr %4039, i64 %3986
  %bound05559 = icmp ult ptr %scevgep5531, %scevgep5534
  %bound15560 = icmp ult ptr %scevgep5533, %scevgep5532
  %found.conflict5561 = and i1 %bound05559, %bound15560
  %bound05562 = icmp ult ptr %scevgep5531, %scevgep5536
  %bound15563 = icmp ult ptr %scevgep5535, %scevgep5532
  %found.conflict5564 = and i1 %bound05562, %bound15563
  %conflict.rdx5565 = or i1 %found.conflict5561, %found.conflict5564
  %bound05566 = icmp ult ptr %scevgep5531, %scevgep5538
  %bound15567 = icmp ult ptr %scevgep5537, %scevgep5532
  %found.conflict5568 = and i1 %bound05566, %bound15567
  %conflict.rdx5569 = or i1 %conflict.rdx5565, %found.conflict5568
  %bound05570 = icmp ult ptr %scevgep5531, %scevgep5540
  %bound15571 = icmp ult ptr %scevgep5539, %scevgep5532
  %found.conflict5572 = and i1 %bound05570, %bound15571
  %conflict.rdx5573 = or i1 %conflict.rdx5569, %found.conflict5572
  %bound05574 = icmp ult ptr %scevgep5531, %scevgep5542
  %bound15575 = icmp ult ptr %scevgep5541, %scevgep5532
  %found.conflict5576 = and i1 %bound05574, %bound15575
  %conflict.rdx5577 = or i1 %conflict.rdx5573, %found.conflict5576
  %bound05578 = icmp ult ptr %scevgep5531, %scevgep5544
  %bound15579 = icmp ult ptr %scevgep5543, %scevgep5532
  %found.conflict5580 = and i1 %bound05578, %bound15579
  %conflict.rdx5581 = or i1 %conflict.rdx5577, %found.conflict5580
  %bound05582 = icmp ult ptr %scevgep5533, %scevgep5536
  %bound15583 = icmp ult ptr %scevgep5535, %scevgep5534
  %found.conflict5584 = and i1 %bound05582, %bound15583
  %conflict.rdx5585 = or i1 %conflict.rdx5581, %found.conflict5584
  %bound05586 = icmp ult ptr %scevgep5533, %scevgep5538
  %bound15587 = icmp ult ptr %scevgep5537, %scevgep5534
  %found.conflict5588 = and i1 %bound05586, %bound15587
  %conflict.rdx5589 = or i1 %conflict.rdx5585, %found.conflict5588
  %bound05590 = icmp ult ptr %scevgep5533, %scevgep5540
  %bound15591 = icmp ult ptr %scevgep5539, %scevgep5534
  %found.conflict5592 = and i1 %bound05590, %bound15591
  %conflict.rdx5593 = or i1 %conflict.rdx5589, %found.conflict5592
  %bound05594 = icmp ult ptr %scevgep5533, %scevgep5542
  %bound15595 = icmp ult ptr %scevgep5541, %scevgep5534
  %found.conflict5596 = and i1 %bound05594, %bound15595
  %conflict.rdx5597 = or i1 %conflict.rdx5593, %found.conflict5596
  %bound05598 = icmp ult ptr %scevgep5533, %scevgep5544
  %bound15599 = icmp ult ptr %scevgep5543, %scevgep5534
  %found.conflict5600 = and i1 %bound05598, %bound15599
  %conflict.rdx5601 = or i1 %conflict.rdx5597, %found.conflict5600
  %bound05602 = icmp ult ptr %scevgep5535, %scevgep5538
  %bound15603 = icmp ult ptr %scevgep5537, %scevgep5536
  %found.conflict5604 = and i1 %bound05602, %bound15603
  %conflict.rdx5605 = or i1 %conflict.rdx5601, %found.conflict5604
  %bound05606 = icmp ult ptr %scevgep5535, %scevgep5540
  %bound15607 = icmp ult ptr %scevgep5539, %scevgep5536
  %found.conflict5608 = and i1 %bound05606, %bound15607
  %conflict.rdx5609 = or i1 %conflict.rdx5605, %found.conflict5608
  %bound05610 = icmp ult ptr %scevgep5535, %scevgep5542
  %bound15611 = icmp ult ptr %scevgep5541, %scevgep5536
  %found.conflict5612 = and i1 %bound05610, %bound15611
  %conflict.rdx5613 = or i1 %conflict.rdx5609, %found.conflict5612
  %bound05614 = icmp ult ptr %scevgep5535, %scevgep5544
  %bound15615 = icmp ult ptr %scevgep5543, %scevgep5536
  %found.conflict5616 = and i1 %bound05614, %bound15615
  %conflict.rdx5617 = or i1 %conflict.rdx5613, %found.conflict5616
  %bound05618 = icmp ult ptr %scevgep5537, %scevgep5540
  %bound15619 = icmp ult ptr %scevgep5539, %scevgep5538
  %found.conflict5620 = and i1 %bound05618, %bound15619
  %conflict.rdx5621 = or i1 %conflict.rdx5617, %found.conflict5620
  %bound05622 = icmp ult ptr %scevgep5537, %scevgep5542
  %bound15623 = icmp ult ptr %scevgep5541, %scevgep5538
  %found.conflict5624 = and i1 %bound05622, %bound15623
  %conflict.rdx5625 = or i1 %conflict.rdx5621, %found.conflict5624
  %bound05626 = icmp ult ptr %scevgep5537, %scevgep5544
  %bound15627 = icmp ult ptr %scevgep5543, %scevgep5538
  %found.conflict5628 = and i1 %bound05626, %bound15627
  %conflict.rdx5629 = or i1 %conflict.rdx5625, %found.conflict5628
  %bound05630 = icmp ult ptr %scevgep5539, %scevgep5542
  %bound15631 = icmp ult ptr %scevgep5541, %scevgep5540
  %found.conflict5632 = and i1 %bound05630, %bound15631
  %conflict.rdx5633 = or i1 %conflict.rdx5629, %found.conflict5632
  %bound05634 = icmp ult ptr %scevgep5539, %scevgep5544
  %bound15635 = icmp ult ptr %scevgep5543, %scevgep5540
  %found.conflict5636 = and i1 %bound05634, %bound15635
  %conflict.rdx5637 = or i1 %conflict.rdx5633, %found.conflict5636
  %bound05638 = icmp ult ptr %scevgep5541, %scevgep5544
  %bound15639 = icmp ult ptr %scevgep5543, %scevgep5542
  %found.conflict5640 = and i1 %bound05638, %bound15639
  %conflict.rdx5641 = or i1 %conflict.rdx5637, %found.conflict5640
  %bound05642 = icmp ult ptr %scevgep5545, %scevgep5548
  %bound15643 = icmp ult ptr %scevgep5547, %scevgep5546
  %found.conflict5644 = and i1 %bound05642, %bound15643
  %conflict.rdx5645 = or i1 %conflict.rdx5641, %found.conflict5644
  %bound05646 = icmp ult ptr %scevgep5545, %scevgep5550
  %bound15647 = icmp ult ptr %scevgep5549, %scevgep5546
  %found.conflict5648 = and i1 %bound05646, %bound15647
  %conflict.rdx5649 = or i1 %conflict.rdx5645, %found.conflict5648
  %bound05650 = icmp ult ptr %scevgep5545, %scevgep5552
  %bound15651 = icmp ult ptr %scevgep5551, %scevgep5546
  %found.conflict5652 = and i1 %bound05650, %bound15651
  %conflict.rdx5653 = or i1 %conflict.rdx5649, %found.conflict5652
  %bound05654 = icmp ult ptr %scevgep5545, %scevgep5554
  %bound15655 = icmp ult ptr %scevgep5553, %scevgep5546
  %found.conflict5656 = and i1 %bound05654, %bound15655
  %conflict.rdx5657 = or i1 %conflict.rdx5653, %found.conflict5656
  %bound05658 = icmp ult ptr %scevgep5545, %scevgep5556
  %bound15659 = icmp ult ptr %scevgep5555, %scevgep5546
  %found.conflict5660 = and i1 %bound05658, %bound15659
  %conflict.rdx5661 = or i1 %conflict.rdx5657, %found.conflict5660
  %bound05662 = icmp ult ptr %scevgep5545, %scevgep5558
  %bound15663 = icmp ult ptr %scevgep5557, %scevgep5546
  %found.conflict5664 = and i1 %bound05662, %bound15663
  %conflict.rdx5665 = or i1 %conflict.rdx5661, %found.conflict5664
  %bound05666 = icmp ult ptr %scevgep5547, %scevgep5550
  %bound15667 = icmp ult ptr %scevgep5549, %scevgep5548
  %found.conflict5668 = and i1 %bound05666, %bound15667
  %conflict.rdx5669 = or i1 %conflict.rdx5665, %found.conflict5668
  %bound05670 = icmp ult ptr %scevgep5547, %scevgep5552
  %bound15671 = icmp ult ptr %scevgep5551, %scevgep5548
  %found.conflict5672 = and i1 %bound05670, %bound15671
  %conflict.rdx5673 = or i1 %conflict.rdx5669, %found.conflict5672
  %bound05674 = icmp ult ptr %scevgep5547, %scevgep5554
  %bound15675 = icmp ult ptr %scevgep5553, %scevgep5548
  %found.conflict5676 = and i1 %bound05674, %bound15675
  %conflict.rdx5677 = or i1 %conflict.rdx5673, %found.conflict5676
  %bound05678 = icmp ult ptr %scevgep5547, %scevgep5556
  %bound15679 = icmp ult ptr %scevgep5555, %scevgep5548
  %found.conflict5680 = and i1 %bound05678, %bound15679
  %conflict.rdx5681 = or i1 %conflict.rdx5677, %found.conflict5680
  %bound05682 = icmp ult ptr %scevgep5547, %scevgep5558
  %bound15683 = icmp ult ptr %scevgep5557, %scevgep5548
  %found.conflict5684 = and i1 %bound05682, %bound15683
  %conflict.rdx5685 = or i1 %conflict.rdx5681, %found.conflict5684
  %bound05686 = icmp ult ptr %scevgep5549, %scevgep5552
  %bound15687 = icmp ult ptr %scevgep5551, %scevgep5550
  %found.conflict5688 = and i1 %bound05686, %bound15687
  %conflict.rdx5689 = or i1 %conflict.rdx5685, %found.conflict5688
  %bound05690 = icmp ult ptr %scevgep5549, %scevgep5554
  %bound15691 = icmp ult ptr %scevgep5553, %scevgep5550
  %found.conflict5692 = and i1 %bound05690, %bound15691
  %conflict.rdx5693 = or i1 %conflict.rdx5689, %found.conflict5692
  %bound05694 = icmp ult ptr %scevgep5549, %scevgep5556
  %bound15695 = icmp ult ptr %scevgep5555, %scevgep5550
  %found.conflict5696 = and i1 %bound05694, %bound15695
  %conflict.rdx5697 = or i1 %conflict.rdx5693, %found.conflict5696
  %bound05698 = icmp ult ptr %scevgep5549, %scevgep5558
  %bound15699 = icmp ult ptr %scevgep5557, %scevgep5550
  %found.conflict5700 = and i1 %bound05698, %bound15699
  %conflict.rdx5701 = or i1 %conflict.rdx5697, %found.conflict5700
  %bound05702 = icmp ult ptr %scevgep5551, %scevgep5554
  %bound15703 = icmp ult ptr %scevgep5553, %scevgep5552
  %found.conflict5704 = and i1 %bound05702, %bound15703
  %conflict.rdx5705 = or i1 %conflict.rdx5701, %found.conflict5704
  %bound05706 = icmp ult ptr %scevgep5551, %scevgep5556
  %bound15707 = icmp ult ptr %scevgep5555, %scevgep5552
  %found.conflict5708 = and i1 %bound05706, %bound15707
  %conflict.rdx5709 = or i1 %conflict.rdx5705, %found.conflict5708
  %bound05710 = icmp ult ptr %scevgep5551, %scevgep5558
  %bound15711 = icmp ult ptr %scevgep5557, %scevgep5552
  %found.conflict5712 = and i1 %bound05710, %bound15711
  %conflict.rdx5713 = or i1 %conflict.rdx5709, %found.conflict5712
  %bound05714 = icmp ult ptr %scevgep5553, %scevgep5556
  %bound15715 = icmp ult ptr %scevgep5555, %scevgep5554
  %found.conflict5716 = and i1 %bound05714, %bound15715
  %conflict.rdx5717 = or i1 %conflict.rdx5713, %found.conflict5716
  %bound05718 = icmp ult ptr %scevgep5553, %scevgep5558
  %bound15719 = icmp ult ptr %scevgep5557, %scevgep5554
  %found.conflict5720 = and i1 %bound05718, %bound15719
  %conflict.rdx5721 = or i1 %conflict.rdx5717, %found.conflict5720
  %bound05722 = icmp ult ptr %scevgep5555, %scevgep5558
  %bound15723 = icmp ult ptr %scevgep5557, %scevgep5556
  %found.conflict5724 = and i1 %bound05722, %bound15723
  %conflict.rdx5725 = or i1 %conflict.rdx5721, %found.conflict5724
  br i1 %conflict.rdx5725, label %scalar.ph5727.preheader, label %vector.ph5729

vector.ph5729:                                    ; preds = %vector.memcheck5530
  %n.vec5731 = and i64 %3904, 2147483644
  %ind.end5732 = or disjoint i64 %n.vec5731, 1
  %broadcast.splat5741 = shufflevector <2 x float> %3875, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5742 = insertelement <4 x float> poison, float %3868, i64 0
  %broadcast.splat5743 = shufflevector <4 x float> %broadcast.splatinsert5742, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5744 = insertelement <4 x float> poison, float %3869, i64 0
  %broadcast.splat5745 = shufflevector <4 x float> %broadcast.splatinsert5744, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5750 = shufflevector <2 x float> %3875, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert5751 = insertelement <4 x float> poison, float %3871, i64 0
  %broadcast.splat5752 = shufflevector <4 x float> %broadcast.splatinsert5751, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5753 = insertelement <4 x float> poison, float %3872, i64 0
  %broadcast.splat5754 = shufflevector <4 x float> %broadcast.splatinsert5753, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5758 = insertelement <4 x float> poison, float %3879, i64 0
  %broadcast.splat5759 = shufflevector <4 x float> %broadcast.splatinsert5758, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5760 = insertelement <4 x float> poison, float %3877, i64 0
  %broadcast.splat5761 = shufflevector <4 x float> %broadcast.splatinsert5760, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5762 = insertelement <4 x float> poison, float %3878, i64 0
  %broadcast.splat5763 = shufflevector <4 x float> %broadcast.splatinsert5762, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5767 = insertelement <4 x float> poison, float %3883, i64 0
  %broadcast.splat5768 = shufflevector <4 x float> %broadcast.splatinsert5767, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5769 = insertelement <4 x float> poison, float %3881, i64 0
  %broadcast.splat5770 = shufflevector <4 x float> %broadcast.splatinsert5769, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5771 = insertelement <4 x float> poison, float %3882, i64 0
  %broadcast.splat5772 = shufflevector <4 x float> %broadcast.splatinsert5771, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5776 = insertelement <4 x float> poison, float %3887, i64 0
  %broadcast.splat5777 = shufflevector <4 x float> %broadcast.splatinsert5776, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5778 = insertelement <4 x float> poison, float %3885, i64 0
  %broadcast.splat5779 = shufflevector <4 x float> %broadcast.splatinsert5778, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5780 = insertelement <4 x float> poison, float %3886, i64 0
  %broadcast.splat5781 = shufflevector <4 x float> %broadcast.splatinsert5780, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5785 = insertelement <4 x float> poison, float %3891, i64 0
  %broadcast.splat5786 = shufflevector <4 x float> %broadcast.splatinsert5785, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5787 = insertelement <4 x float> poison, float %3889, i64 0
  %broadcast.splat5788 = shufflevector <4 x float> %broadcast.splatinsert5787, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5789 = insertelement <4 x float> poison, float %3890, i64 0
  %broadcast.splat5790 = shufflevector <4 x float> %broadcast.splatinsert5789, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5794 = insertelement <4 x float> poison, float %3895, i64 0
  %broadcast.splat5795 = shufflevector <4 x float> %broadcast.splatinsert5794, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5796 = insertelement <4 x float> poison, float %3893, i64 0
  %broadcast.splat5797 = shufflevector <4 x float> %broadcast.splatinsert5796, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5798 = insertelement <4 x float> poison, float %3894, i64 0
  %broadcast.splat5799 = shufflevector <4 x float> %broadcast.splatinsert5798, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5801 = shufflevector <2 x float> %3757, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5803 = shufflevector <2 x float> %3757, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5806 = shufflevector <2 x float> %3774, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5808 = shufflevector <2 x float> %3774, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5814 = shufflevector <2 x float> %3791, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5816 = shufflevector <2 x float> %3791, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5822 = shufflevector <2 x float> %3808, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5824 = shufflevector <2 x float> %3808, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5830 = shufflevector <2 x float> %3825, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5832 = shufflevector <2 x float> %3825, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5838 = shufflevector <2 x float> %3842, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5840 = shufflevector <2 x float> %3842, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5846 = shufflevector <2 x float> %3859, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5848 = shufflevector <2 x float> %3859, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body5734

vector.body5734:                                  ; preds = %vector.body5734, %vector.ph5729
  %index5735 = phi i64 [ 0, %vector.ph5729 ], [ %index.next5853, %vector.body5734 ]
  %offset.idx5736 = or disjoint i64 %index5735, 1
  %4040 = getelementptr %struct.complex, ptr %invariant.gep4959, i64 %offset.idx5736
  %wide.vec5737 = load <8 x float>, ptr %4040, align 4, !tbaa !13
  %strided.vec5738 = shufflevector <8 x float> %wide.vec5737, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5739 = shufflevector <8 x float> %wide.vec5737, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4041 = fmul <4 x float> %strided.vec5739, %broadcast.splat5741
  %4042 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5743, <4 x float> %strided.vec5738, <4 x float> %4041)
  %4043 = fmul <4 x float> %strided.vec5738, %broadcast.splat5745
  %4044 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5743, <4 x float> %strided.vec5739, <4 x float> %4043)
  %4045 = getelementptr %struct.complex, ptr %invariant.gep4961, i64 %offset.idx5736
  %wide.vec5746 = load <8 x float>, ptr %4045, align 4, !tbaa !13
  %strided.vec5747 = shufflevector <8 x float> %wide.vec5746, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5748 = shufflevector <8 x float> %wide.vec5746, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4046 = fmul <4 x float> %strided.vec5748, %broadcast.splat5750
  %4047 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5752, <4 x float> %strided.vec5747, <4 x float> %4046)
  %4048 = fmul <4 x float> %strided.vec5747, %broadcast.splat5754
  %4049 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5752, <4 x float> %strided.vec5748, <4 x float> %4048)
  %4050 = fadd <4 x float> %4042, %4047
  %4051 = fadd <4 x float> %4044, %4049
  %4052 = getelementptr %struct.complex, ptr %invariant.gep4963, i64 %offset.idx5736
  %wide.vec5755 = load <8 x float>, ptr %4052, align 4, !tbaa !13
  %strided.vec5756 = shufflevector <8 x float> %wide.vec5755, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5757 = shufflevector <8 x float> %wide.vec5755, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4053 = fmul <4 x float> %strided.vec5757, %broadcast.splat5759
  %4054 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5761, <4 x float> %strided.vec5756, <4 x float> %4053)
  %4055 = fmul <4 x float> %strided.vec5756, %broadcast.splat5763
  %4056 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5761, <4 x float> %strided.vec5757, <4 x float> %4055)
  %4057 = fadd <4 x float> %4050, %4054
  %4058 = fadd <4 x float> %4051, %4056
  %4059 = getelementptr %struct.complex, ptr %invariant.gep4965, i64 %offset.idx5736
  %wide.vec5764 = load <8 x float>, ptr %4059, align 4, !tbaa !13
  %strided.vec5765 = shufflevector <8 x float> %wide.vec5764, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5766 = shufflevector <8 x float> %wide.vec5764, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4060 = fmul <4 x float> %strided.vec5766, %broadcast.splat5768
  %4061 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5770, <4 x float> %strided.vec5765, <4 x float> %4060)
  %4062 = fmul <4 x float> %strided.vec5765, %broadcast.splat5772
  %4063 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5770, <4 x float> %strided.vec5766, <4 x float> %4062)
  %4064 = fadd <4 x float> %4057, %4061
  %4065 = fadd <4 x float> %4058, %4063
  %4066 = getelementptr %struct.complex, ptr %invariant.gep4967, i64 %offset.idx5736
  %wide.vec5773 = load <8 x float>, ptr %4066, align 4, !tbaa !13
  %strided.vec5774 = shufflevector <8 x float> %wide.vec5773, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5775 = shufflevector <8 x float> %wide.vec5773, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4067 = fmul <4 x float> %strided.vec5775, %broadcast.splat5777
  %4068 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5779, <4 x float> %strided.vec5774, <4 x float> %4067)
  %4069 = fmul <4 x float> %strided.vec5774, %broadcast.splat5781
  %4070 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5779, <4 x float> %strided.vec5775, <4 x float> %4069)
  %4071 = fadd <4 x float> %4064, %4068
  %4072 = fadd <4 x float> %4065, %4070
  %4073 = getelementptr %struct.complex, ptr %invariant.gep4969, i64 %offset.idx5736
  %wide.vec5782 = load <8 x float>, ptr %4073, align 4, !tbaa !13
  %strided.vec5783 = shufflevector <8 x float> %wide.vec5782, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5784 = shufflevector <8 x float> %wide.vec5782, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4074 = fmul <4 x float> %strided.vec5784, %broadcast.splat5786
  %4075 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5788, <4 x float> %strided.vec5783, <4 x float> %4074)
  %4076 = fmul <4 x float> %strided.vec5783, %broadcast.splat5790
  %4077 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5788, <4 x float> %strided.vec5784, <4 x float> %4076)
  %4078 = fadd <4 x float> %4071, %4075
  %4079 = fadd <4 x float> %4072, %4077
  %4080 = getelementptr %struct.complex, ptr %invariant.gep4971, i64 %offset.idx5736
  %wide.vec5791 = load <8 x float>, ptr %4080, align 4, !tbaa !13
  %strided.vec5792 = shufflevector <8 x float> %wide.vec5791, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5793 = shufflevector <8 x float> %wide.vec5791, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4081 = fmul <4 x float> %strided.vec5793, %broadcast.splat5795
  %4082 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5797, <4 x float> %strided.vec5792, <4 x float> %4081)
  %4083 = fmul <4 x float> %strided.vec5792, %broadcast.splat5799
  %4084 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5797, <4 x float> %strided.vec5793, <4 x float> %4083)
  %4085 = fadd <4 x float> %4078, %4082
  %4086 = fadd <4 x float> %4079, %4084
  %4087 = fneg <4 x float> %4086
  %4088 = fmul <4 x float> %broadcast.splat5801, %4087
  %4089 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5803, <4 x float> %4088)
  %4090 = fmul <4 x float> %broadcast.splat5803, %4086
  %4091 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5801, <4 x float> %4090)
  %4092 = fsub <4 x float> %strided.vec5738, %4089
  %4093 = fsub <4 x float> %strided.vec5739, %4091
  %interleaved.vec5804 = shufflevector <4 x float> %4092, <4 x float> %4093, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5804, ptr %4040, align 4, !tbaa !13
  %4094 = fmul <4 x float> %broadcast.splat5806, %4087
  %4095 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5808, <4 x float> %4094)
  %4096 = fmul <4 x float> %broadcast.splat5808, %4086
  %4097 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5806, <4 x float> %4096)
  %wide.vec5809 = load <8 x float>, ptr %4045, align 4, !tbaa !13
  %strided.vec5810 = shufflevector <8 x float> %wide.vec5809, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5811 = shufflevector <8 x float> %wide.vec5809, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4098 = fsub <4 x float> %strided.vec5810, %4095
  %4099 = fsub <4 x float> %strided.vec5811, %4097
  %interleaved.vec5812 = shufflevector <4 x float> %4098, <4 x float> %4099, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5812, ptr %4045, align 4, !tbaa !13
  %4100 = fmul <4 x float> %broadcast.splat5814, %4087
  %4101 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5816, <4 x float> %4100)
  %4102 = fmul <4 x float> %broadcast.splat5816, %4086
  %4103 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5814, <4 x float> %4102)
  %wide.vec5817 = load <8 x float>, ptr %4052, align 4, !tbaa !13
  %strided.vec5818 = shufflevector <8 x float> %wide.vec5817, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5819 = shufflevector <8 x float> %wide.vec5817, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4104 = fsub <4 x float> %strided.vec5818, %4101
  %4105 = fsub <4 x float> %strided.vec5819, %4103
  %interleaved.vec5820 = shufflevector <4 x float> %4104, <4 x float> %4105, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5820, ptr %4052, align 4, !tbaa !13
  %4106 = fmul <4 x float> %broadcast.splat5822, %4087
  %4107 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5824, <4 x float> %4106)
  %4108 = fmul <4 x float> %broadcast.splat5824, %4086
  %4109 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5822, <4 x float> %4108)
  %wide.vec5825 = load <8 x float>, ptr %4059, align 4, !tbaa !13
  %strided.vec5826 = shufflevector <8 x float> %wide.vec5825, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5827 = shufflevector <8 x float> %wide.vec5825, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4110 = fsub <4 x float> %strided.vec5826, %4107
  %4111 = fsub <4 x float> %strided.vec5827, %4109
  %interleaved.vec5828 = shufflevector <4 x float> %4110, <4 x float> %4111, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5828, ptr %4059, align 4, !tbaa !13
  %4112 = fmul <4 x float> %broadcast.splat5830, %4087
  %4113 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5832, <4 x float> %4112)
  %4114 = fmul <4 x float> %broadcast.splat5832, %4086
  %4115 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5830, <4 x float> %4114)
  %wide.vec5833 = load <8 x float>, ptr %4066, align 4, !tbaa !13
  %strided.vec5834 = shufflevector <8 x float> %wide.vec5833, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5835 = shufflevector <8 x float> %wide.vec5833, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4116 = fsub <4 x float> %strided.vec5834, %4113
  %4117 = fsub <4 x float> %strided.vec5835, %4115
  %interleaved.vec5836 = shufflevector <4 x float> %4116, <4 x float> %4117, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5836, ptr %4066, align 4, !tbaa !13
  %4118 = fmul <4 x float> %broadcast.splat5838, %4087
  %4119 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5840, <4 x float> %4118)
  %4120 = fmul <4 x float> %broadcast.splat5840, %4086
  %4121 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5838, <4 x float> %4120)
  %wide.vec5841 = load <8 x float>, ptr %4073, align 4, !tbaa !13
  %strided.vec5842 = shufflevector <8 x float> %wide.vec5841, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5843 = shufflevector <8 x float> %wide.vec5841, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4122 = fsub <4 x float> %strided.vec5842, %4119
  %4123 = fsub <4 x float> %strided.vec5843, %4121
  %interleaved.vec5844 = shufflevector <4 x float> %4122, <4 x float> %4123, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5844, ptr %4073, align 4, !tbaa !13
  %4124 = fmul <4 x float> %broadcast.splat5846, %4087
  %4125 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5848, <4 x float> %4124)
  %4126 = fmul <4 x float> %broadcast.splat5848, %4086
  %4127 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4085, <4 x float> %broadcast.splat5846, <4 x float> %4126)
  %wide.vec5849 = load <8 x float>, ptr %4080, align 4, !tbaa !13
  %strided.vec5850 = shufflevector <8 x float> %wide.vec5849, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5851 = shufflevector <8 x float> %wide.vec5849, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4128 = fsub <4 x float> %strided.vec5850, %4125
  %4129 = fsub <4 x float> %strided.vec5851, %4127
  %interleaved.vec5852 = shufflevector <4 x float> %4128, <4 x float> %4129, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5852, ptr %4080, align 4, !tbaa !13
  %index.next5853 = add nuw i64 %index5735, 4
  %4130 = icmp eq i64 %index.next5853, %n.vec5731
  br i1 %4130, label %middle.block5726, label %vector.body5734, !llvm.loop !39

middle.block5726:                                 ; preds = %vector.body5734
  %cmp.n5854 = icmp eq i64 %n.vec5731, %3904
  br i1 %cmp.n5854, label %.loopexit, label %scalar.ph5727.preheader

scalar.ph5727.preheader:                          ; preds = %middle.block5726, %vector.memcheck5530, %vector.scevcheck5473, %.lr.ph4640
  %indvars.iv4872.ph = phi i64 [ 1, %vector.memcheck5530 ], [ 1, %vector.scevcheck5473 ], [ 1, %.lr.ph4640 ], [ %ind.end5732, %middle.block5726 ]
  %4131 = insertelement <2 x float> poison, float %3868, i64 0
  %4132 = insertelement <2 x float> %4131, float %3871, i64 1
  br label %scalar.ph5727

scalar.ph5727:                                    ; preds = %scalar.ph5727.preheader, %scalar.ph5727
  %indvars.iv4872 = phi i64 [ %indvars.iv.next4873, %scalar.ph5727 ], [ %indvars.iv4872.ph, %scalar.ph5727.preheader ]
  %gep4960 = getelementptr %struct.complex, ptr %invariant.gep4959, i64 %indvars.iv4872
  %gep4962 = getelementptr %struct.complex, ptr %invariant.gep4961, i64 %indvars.iv4872
  %4133 = load float, ptr %gep4962, align 4, !tbaa !9
  %4134 = getelementptr inbounds i8, ptr %gep4962, i64 4
  %4135 = load float, ptr %4134, align 4, !tbaa !12
  %4136 = fmul float %4133, %3872
  %4137 = call float @llvm.fmuladd.f32(float %3871, float %4135, float %4136)
  %gep4964 = getelementptr %struct.complex, ptr %invariant.gep4963, i64 %indvars.iv4872
  %4138 = load float, ptr %gep4964, align 4, !tbaa !9
  %4139 = getelementptr inbounds i8, ptr %gep4964, i64 4
  %4140 = load float, ptr %4139, align 4, !tbaa !12
  %4141 = fmul float %4140, %3879
  %4142 = call float @llvm.fmuladd.f32(float %3877, float %4138, float %4141)
  %4143 = fmul float %4138, %3878
  %4144 = call float @llvm.fmuladd.f32(float %3877, float %4140, float %4143)
  %gep4966 = getelementptr %struct.complex, ptr %invariant.gep4965, i64 %indvars.iv4872
  %4145 = load float, ptr %gep4966, align 4, !tbaa !9
  %4146 = getelementptr inbounds i8, ptr %gep4966, i64 4
  %4147 = load float, ptr %4146, align 4, !tbaa !12
  %4148 = fmul float %4147, %3883
  %4149 = call float @llvm.fmuladd.f32(float %3881, float %4145, float %4148)
  %4150 = fmul float %4145, %3882
  %4151 = call float @llvm.fmuladd.f32(float %3881, float %4147, float %4150)
  %gep4968 = getelementptr %struct.complex, ptr %invariant.gep4967, i64 %indvars.iv4872
  %4152 = load float, ptr %gep4968, align 4, !tbaa !9
  %4153 = getelementptr inbounds i8, ptr %gep4968, i64 4
  %4154 = load float, ptr %4153, align 4, !tbaa !12
  %4155 = fmul float %4154, %3887
  %4156 = call float @llvm.fmuladd.f32(float %3885, float %4152, float %4155)
  %4157 = fmul float %4152, %3886
  %4158 = call float @llvm.fmuladd.f32(float %3885, float %4154, float %4157)
  %gep4970 = getelementptr %struct.complex, ptr %invariant.gep4969, i64 %indvars.iv4872
  %4159 = load float, ptr %gep4970, align 4, !tbaa !9
  %4160 = getelementptr inbounds i8, ptr %gep4970, i64 4
  %4161 = load float, ptr %4160, align 4, !tbaa !12
  %4162 = fmul float %4161, %3891
  %4163 = call float @llvm.fmuladd.f32(float %3889, float %4159, float %4162)
  %4164 = fmul float %4159, %3890
  %4165 = call float @llvm.fmuladd.f32(float %3889, float %4161, float %4164)
  %gep4972 = getelementptr %struct.complex, ptr %invariant.gep4971, i64 %indvars.iv4872
  %4166 = load float, ptr %gep4972, align 4, !tbaa !9
  %4167 = getelementptr inbounds i8, ptr %gep4972, i64 4
  %4168 = load float, ptr %4167, align 4, !tbaa !12
  %4169 = fmul float %4168, %3895
  %4170 = call float @llvm.fmuladd.f32(float %3893, float %4166, float %4169)
  %4171 = fmul float %4166, %3894
  %4172 = call float @llvm.fmuladd.f32(float %3893, float %4168, float %4171)
  %4173 = load <2 x float>, ptr %gep4960, align 4, !tbaa !13
  %4174 = extractelement <2 x float> %4173, i64 1
  %4175 = extractelement <2 x float> %4173, i64 0
  %4176 = shufflevector <2 x float> %4173, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %4177 = insertelement <2 x float> %4176, float %4135, i64 1
  %4178 = fmul <2 x float> %4177, %3875
  %4179 = insertelement <2 x float> %4173, float %4133, i64 1
  %4180 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4132, <2 x float> %4179, <2 x float> %4178)
  %4181 = fmul float %4175, %3869
  %4182 = call float @llvm.fmuladd.f32(float %3868, float %4174, float %4181)
  %shift6835 = shufflevector <2 x float> %4180, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %4183 = fadd <2 x float> %4180, %shift6835
  %4184 = extractelement <2 x float> %4183, i64 0
  %4185 = fadd float %4182, %4137
  %4186 = fadd float %4184, %4142
  %4187 = fadd float %4185, %4144
  %4188 = fadd float %4186, %4149
  %4189 = fadd float %4187, %4151
  %4190 = fadd float %4188, %4156
  %4191 = fadd float %4189, %4158
  %4192 = fadd float %4190, %4163
  %4193 = fadd float %4191, %4165
  %4194 = fadd float %4192, %4170
  %4195 = fadd float %4193, %4172
  %4196 = fneg float %4195
  %4197 = insertelement <2 x float> poison, float %4195, i64 0
  %4198 = insertelement <2 x float> %4197, float %4196, i64 1
  %4199 = fmul <2 x float> %3757, %4198
  %4200 = shufflevector <2 x float> %4199, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4201 = insertelement <2 x float> poison, float %4194, i64 0
  %4202 = shufflevector <2 x float> %4201, <2 x float> poison, <2 x i32> zeroinitializer
  %4203 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4202, <2 x float> %3757, <2 x float> %4200)
  %4204 = fsub <2 x float> %4173, %4203
  store <2 x float> %4204, ptr %gep4960, align 4, !tbaa !13
  %4205 = fmul <2 x float> %3774, %4198
  %4206 = shufflevector <2 x float> %4205, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4207 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4202, <2 x float> %3774, <2 x float> %4206)
  %4208 = load <2 x float>, ptr %gep4962, align 4, !tbaa !13
  %4209 = fsub <2 x float> %4208, %4207
  store <2 x float> %4209, ptr %gep4962, align 4, !tbaa !13
  %4210 = fmul <2 x float> %3791, %4198
  %4211 = shufflevector <2 x float> %4210, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4212 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4202, <2 x float> %3791, <2 x float> %4211)
  %4213 = load <2 x float>, ptr %gep4964, align 4, !tbaa !13
  %4214 = fsub <2 x float> %4213, %4212
  store <2 x float> %4214, ptr %gep4964, align 4, !tbaa !13
  %4215 = fmul <2 x float> %3808, %4198
  %4216 = shufflevector <2 x float> %4215, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4217 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4202, <2 x float> %3808, <2 x float> %4216)
  %4218 = load <2 x float>, ptr %gep4966, align 4, !tbaa !13
  %4219 = fsub <2 x float> %4218, %4217
  store <2 x float> %4219, ptr %gep4966, align 4, !tbaa !13
  %4220 = fmul <2 x float> %3825, %4198
  %4221 = shufflevector <2 x float> %4220, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4222 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4202, <2 x float> %3825, <2 x float> %4221)
  %4223 = load <2 x float>, ptr %gep4968, align 4, !tbaa !13
  %4224 = fsub <2 x float> %4223, %4222
  store <2 x float> %4224, ptr %gep4968, align 4, !tbaa !13
  %4225 = fmul <2 x float> %3842, %4198
  %4226 = shufflevector <2 x float> %4225, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4227 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4202, <2 x float> %3842, <2 x float> %4226)
  %4228 = load <2 x float>, ptr %gep4970, align 4, !tbaa !13
  %4229 = fsub <2 x float> %4228, %4227
  store <2 x float> %4229, ptr %gep4970, align 4, !tbaa !13
  %4230 = fmul <2 x float> %3859, %4198
  %4231 = shufflevector <2 x float> %4230, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4232 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4202, <2 x float> %3859, <2 x float> %4231)
  %4233 = load <2 x float>, ptr %gep4972, align 4, !tbaa !13
  %4234 = fsub <2 x float> %4233, %4232
  store <2 x float> %4234, ptr %gep4972, align 4, !tbaa !13
  %indvars.iv.next4873 = add nuw nsw i64 %indvars.iv4872, 1
  %exitcond4876.not = icmp eq i64 %indvars.iv.next4873, %wide.trip.count4875
  br i1 %exitcond4876.not, label %.loopexit, label %scalar.ph5727, !llvm.loop !40

4235:                                             ; preds = %2238
  %4236 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %4236, ptr %12, align 8, !tbaa !13
  %4237 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.026.0.vec.extract = extractelement <2 x float> %4237, i64 0
  %.sroa.026.4.vec.extract = extractelement <2 x float> %4237, i64 1
  %4238 = fneg float %.sroa.026.4.vec.extract
  %4239 = call ptr @_pCf(ptr noundef nonnull %10)
  %4240 = getelementptr inbounds i8, ptr %4239, i64 4
  store float %.sroa.026.0.vec.extract, ptr %4239, align 4
  store float %4238, ptr %4240, align 4
  %4241 = load float, ptr %4, align 4, !tbaa !9
  %4242 = getelementptr inbounds i8, ptr %4, i64 4
  %4243 = load float, ptr %4242, align 4, !tbaa !12
  %4244 = fneg float %4243
  %4245 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4246 = insertelement <2 x float> poison, float %4243, i64 0
  %4247 = insertelement <2 x float> %4246, float %4244, i64 1
  %4248 = fmul <2 x float> %4245, %4247
  %4249 = shufflevector <2 x float> %4248, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4250 = insertelement <2 x float> poison, float %4241, i64 0
  %4251 = shufflevector <2 x float> %4250, <2 x float> poison, <2 x i32> zeroinitializer
  %4252 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4251, <2 x float> %4245, <2 x float> %4249)
  store <2 x float> %4252, ptr %9, align 8, !tbaa !13
  %4253 = getelementptr inbounds i8, ptr %3, i64 8
  %4254 = load <2 x float>, ptr %4253, align 4, !tbaa !13
  store <2 x float> %4254, ptr %13, align 8, !tbaa !13
  %4255 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.025.0.vec.extract = extractelement <2 x float> %4255, i64 0
  %.sroa.025.4.vec.extract = extractelement <2 x float> %4255, i64 1
  %4256 = fneg float %.sroa.025.4.vec.extract
  %4257 = call ptr @_pCf(ptr noundef nonnull %10)
  %4258 = getelementptr inbounds i8, ptr %4257, i64 4
  store float %.sroa.025.0.vec.extract, ptr %4257, align 4
  store float %4256, ptr %4258, align 4
  %4259 = load float, ptr %4, align 4, !tbaa !9
  %4260 = load float, ptr %4242, align 4, !tbaa !12
  %4261 = fneg float %4260
  %4262 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4263 = insertelement <2 x float> poison, float %4260, i64 0
  %4264 = insertelement <2 x float> %4263, float %4261, i64 1
  %4265 = fmul <2 x float> %4262, %4264
  %4266 = shufflevector <2 x float> %4265, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4267 = insertelement <2 x float> poison, float %4259, i64 0
  %4268 = shufflevector <2 x float> %4267, <2 x float> poison, <2 x i32> zeroinitializer
  %4269 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4268, <2 x float> %4262, <2 x float> %4266)
  store <2 x float> %4269, ptr %9, align 8, !tbaa !13
  %4270 = getelementptr inbounds i8, ptr %3, i64 16
  %4271 = load <2 x float>, ptr %4270, align 4, !tbaa !13
  store <2 x float> %4271, ptr %14, align 8, !tbaa !13
  %4272 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.024.0.vec.extract = extractelement <2 x float> %4272, i64 0
  %.sroa.024.4.vec.extract = extractelement <2 x float> %4272, i64 1
  %4273 = fneg float %.sroa.024.4.vec.extract
  %4274 = call ptr @_pCf(ptr noundef nonnull %10)
  %4275 = getelementptr inbounds i8, ptr %4274, i64 4
  store float %.sroa.024.0.vec.extract, ptr %4274, align 4
  store float %4273, ptr %4275, align 4
  %4276 = load float, ptr %4, align 4, !tbaa !9
  %4277 = load float, ptr %4242, align 4, !tbaa !12
  %4278 = fneg float %4277
  %4279 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4280 = insertelement <2 x float> poison, float %4277, i64 0
  %4281 = insertelement <2 x float> %4280, float %4278, i64 1
  %4282 = fmul <2 x float> %4279, %4281
  %4283 = shufflevector <2 x float> %4282, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4284 = insertelement <2 x float> poison, float %4276, i64 0
  %4285 = shufflevector <2 x float> %4284, <2 x float> poison, <2 x i32> zeroinitializer
  %4286 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4285, <2 x float> %4279, <2 x float> %4283)
  store <2 x float> %4286, ptr %9, align 8, !tbaa !13
  %4287 = getelementptr inbounds i8, ptr %3, i64 24
  %4288 = load <2 x float>, ptr %4287, align 4, !tbaa !13
  store <2 x float> %4288, ptr %15, align 8, !tbaa !13
  %4289 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.023.0.vec.extract = extractelement <2 x float> %4289, i64 0
  %.sroa.023.4.vec.extract = extractelement <2 x float> %4289, i64 1
  %4290 = fneg float %.sroa.023.4.vec.extract
  %4291 = call ptr @_pCf(ptr noundef nonnull %10)
  %4292 = getelementptr inbounds i8, ptr %4291, i64 4
  store float %.sroa.023.0.vec.extract, ptr %4291, align 4
  store float %4290, ptr %4292, align 4
  %4293 = load float, ptr %4, align 4, !tbaa !9
  %4294 = load float, ptr %4242, align 4, !tbaa !12
  %4295 = fneg float %4294
  %4296 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4297 = insertelement <2 x float> poison, float %4294, i64 0
  %4298 = insertelement <2 x float> %4297, float %4295, i64 1
  %4299 = fmul <2 x float> %4296, %4298
  %4300 = shufflevector <2 x float> %4299, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4301 = insertelement <2 x float> poison, float %4293, i64 0
  %4302 = shufflevector <2 x float> %4301, <2 x float> poison, <2 x i32> zeroinitializer
  %4303 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4302, <2 x float> %4296, <2 x float> %4300)
  store <2 x float> %4303, ptr %9, align 8, !tbaa !13
  %4304 = getelementptr inbounds i8, ptr %3, i64 32
  %4305 = load <2 x float>, ptr %4304, align 4, !tbaa !13
  store <2 x float> %4305, ptr %16, align 8, !tbaa !13
  %4306 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.022.0.vec.extract = extractelement <2 x float> %4306, i64 0
  %.sroa.022.4.vec.extract = extractelement <2 x float> %4306, i64 1
  %4307 = fneg float %.sroa.022.4.vec.extract
  %4308 = call ptr @_pCf(ptr noundef nonnull %10)
  %4309 = getelementptr inbounds i8, ptr %4308, i64 4
  store float %.sroa.022.0.vec.extract, ptr %4308, align 4
  store float %4307, ptr %4309, align 4
  %4310 = load float, ptr %4, align 4, !tbaa !9
  %4311 = load float, ptr %4242, align 4, !tbaa !12
  %4312 = fneg float %4311
  %4313 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4314 = insertelement <2 x float> poison, float %4311, i64 0
  %4315 = insertelement <2 x float> %4314, float %4312, i64 1
  %4316 = fmul <2 x float> %4313, %4315
  %4317 = shufflevector <2 x float> %4316, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4318 = insertelement <2 x float> poison, float %4310, i64 0
  %4319 = shufflevector <2 x float> %4318, <2 x float> poison, <2 x i32> zeroinitializer
  %4320 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4319, <2 x float> %4313, <2 x float> %4317)
  store <2 x float> %4320, ptr %9, align 8, !tbaa !13
  %4321 = getelementptr inbounds i8, ptr %3, i64 40
  %4322 = load <2 x float>, ptr %4321, align 4, !tbaa !13
  store <2 x float> %4322, ptr %17, align 8, !tbaa !13
  %4323 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.021.0.vec.extract = extractelement <2 x float> %4323, i64 0
  %.sroa.021.4.vec.extract = extractelement <2 x float> %4323, i64 1
  %4324 = fneg float %.sroa.021.4.vec.extract
  %4325 = call ptr @_pCf(ptr noundef nonnull %10)
  %4326 = getelementptr inbounds i8, ptr %4325, i64 4
  store float %.sroa.021.0.vec.extract, ptr %4325, align 4
  store float %4324, ptr %4326, align 4
  %4327 = load float, ptr %4, align 4, !tbaa !9
  %4328 = load float, ptr %4242, align 4, !tbaa !12
  %4329 = fneg float %4328
  %4330 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4331 = insertelement <2 x float> poison, float %4328, i64 0
  %4332 = insertelement <2 x float> %4331, float %4329, i64 1
  %4333 = fmul <2 x float> %4330, %4332
  %4334 = shufflevector <2 x float> %4333, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4335 = insertelement <2 x float> poison, float %4327, i64 0
  %4336 = shufflevector <2 x float> %4335, <2 x float> poison, <2 x i32> zeroinitializer
  %4337 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4336, <2 x float> %4330, <2 x float> %4334)
  store <2 x float> %4337, ptr %9, align 8, !tbaa !13
  %4338 = getelementptr inbounds i8, ptr %3, i64 48
  %4339 = load <2 x float>, ptr %4338, align 4, !tbaa !13
  store <2 x float> %4339, ptr %18, align 8, !tbaa !13
  %4340 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.020.0.vec.extract = extractelement <2 x float> %4340, i64 0
  %.sroa.020.4.vec.extract = extractelement <2 x float> %4340, i64 1
  %4341 = fneg float %.sroa.020.4.vec.extract
  %4342 = call ptr @_pCf(ptr noundef nonnull %10)
  %4343 = getelementptr inbounds i8, ptr %4342, i64 4
  store float %.sroa.020.0.vec.extract, ptr %4342, align 4
  store float %4341, ptr %4343, align 4
  %4344 = load float, ptr %4, align 4, !tbaa !9
  %4345 = load float, ptr %4242, align 4, !tbaa !12
  %4346 = fneg float %4345
  %4347 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4348 = insertelement <2 x float> poison, float %4345, i64 0
  %4349 = insertelement <2 x float> %4348, float %4346, i64 1
  %4350 = fmul <2 x float> %4347, %4349
  %4351 = shufflevector <2 x float> %4350, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4352 = insertelement <2 x float> poison, float %4344, i64 0
  %4353 = shufflevector <2 x float> %4352, <2 x float> poison, <2 x i32> zeroinitializer
  %4354 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4353, <2 x float> %4347, <2 x float> %4351)
  store <2 x float> %4354, ptr %9, align 8, !tbaa !13
  %4355 = getelementptr inbounds i8, ptr %3, i64 56
  %4356 = load <2 x float>, ptr %4355, align 4, !tbaa !13
  store <2 x float> %4356, ptr %19, align 8, !tbaa !13
  %4357 = call <2 x float> @Cf(ptr noundef nonnull %19)
  %.sroa.019.0.vec.extract = extractelement <2 x float> %4357, i64 0
  %.sroa.019.4.vec.extract = extractelement <2 x float> %4357, i64 1
  %4358 = fneg float %.sroa.019.4.vec.extract
  %4359 = call ptr @_pCf(ptr noundef nonnull %10)
  %4360 = getelementptr inbounds i8, ptr %4359, i64 4
  store float %.sroa.019.0.vec.extract, ptr %4359, align 4
  store float %4358, ptr %4360, align 4
  %4361 = load float, ptr %4, align 4, !tbaa !9
  %4362 = load float, ptr %4242, align 4, !tbaa !12
  %4363 = fneg float %4362
  %4364 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4365 = insertelement <2 x float> poison, float %4362, i64 0
  %4366 = insertelement <2 x float> %4365, float %4363, i64 1
  %4367 = fmul <2 x float> %4364, %4366
  %4368 = shufflevector <2 x float> %4367, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4369 = insertelement <2 x float> poison, float %4361, i64 0
  %4370 = shufflevector <2 x float> %4369, <2 x float> poison, <2 x i32> zeroinitializer
  %4371 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4370, <2 x float> %4364, <2 x float> %4368)
  %4372 = load i32, ptr %1, align 4, !tbaa !5
  %.not44484627 = icmp slt i32 %4372, 1
  br i1 %.not44484627, label %.loopexit, label %.lr.ph4629

.lr.ph4629:                                       ; preds = %4235
  %4373 = getelementptr inbounds i8, ptr %19, i64 4
  %4374 = getelementptr inbounds i8, ptr %18, i64 4
  %4375 = getelementptr inbounds i8, ptr %17, i64 4
  %4376 = getelementptr inbounds i8, ptr %16, i64 4
  %4377 = getelementptr inbounds i8, ptr %15, i64 4
  %4378 = getelementptr inbounds i8, ptr %14, i64 4
  %4379 = getelementptr inbounds i8, ptr %13, i64 4
  %4380 = getelementptr inbounds i8, ptr %12, i64 4
  %4381 = load float, ptr %12, align 8, !tbaa !9
  %4382 = load float, ptr %4380, align 4, !tbaa !12
  %4383 = shl i32 %22, 1
  %4384 = load float, ptr %13, align 8, !tbaa !9
  %4385 = load float, ptr %4379, align 4, !tbaa !12
  %4386 = insertelement <2 x float> poison, float %4382, i64 0
  %4387 = insertelement <2 x float> %4386, float %4385, i64 1
  %4388 = fneg <2 x float> %4387
  %4389 = mul i32 %22, 3
  %4390 = load float, ptr %14, align 8, !tbaa !9
  %4391 = load float, ptr %4378, align 4, !tbaa !12
  %4392 = fneg float %4391
  %4393 = shl i32 %22, 2
  %4394 = load float, ptr %15, align 8, !tbaa !9
  %4395 = load float, ptr %4377, align 4, !tbaa !12
  %4396 = fneg float %4395
  %4397 = mul i32 %22, 5
  %4398 = load float, ptr %16, align 8, !tbaa !9
  %4399 = load float, ptr %4376, align 4, !tbaa !12
  %4400 = fneg float %4399
  %4401 = mul i32 %22, 6
  %4402 = load float, ptr %17, align 8, !tbaa !9
  %4403 = load float, ptr %4375, align 4, !tbaa !12
  %4404 = fneg float %4403
  %4405 = mul i32 %22, 7
  %4406 = load float, ptr %18, align 8, !tbaa !9
  %4407 = load float, ptr %4374, align 4, !tbaa !12
  %4408 = fneg float %4407
  %4409 = shl i32 %22, 3
  %4410 = load float, ptr %19, align 8, !tbaa !9
  %4411 = load float, ptr %4373, align 4, !tbaa !12
  %4412 = fneg float %4411
  %4413 = sext i32 %22 to i64
  %4414 = sext i32 %4383 to i64
  %4415 = sext i32 %4389 to i64
  %4416 = sext i32 %4393 to i64
  %4417 = sext i32 %4397 to i64
  %4418 = sext i32 %4401 to i64
  %4419 = sext i32 %4405 to i64
  %4420 = sext i32 %4409 to i64
  %4421 = add nuw i32 %4372, 1
  %wide.trip.count4870 = zext i32 %4421 to i64
  %invariant.gep4943 = getelementptr %struct.complex, ptr %24, i64 %4413
  %invariant.gep4945 = getelementptr %struct.complex, ptr %24, i64 %4414
  %invariant.gep4947 = getelementptr %struct.complex, ptr %24, i64 %4415
  %invariant.gep4949 = getelementptr %struct.complex, ptr %24, i64 %4416
  %invariant.gep4951 = getelementptr %struct.complex, ptr %24, i64 %4417
  %invariant.gep4953 = getelementptr %struct.complex, ptr %24, i64 %4418
  %invariant.gep4955 = getelementptr %struct.complex, ptr %24, i64 %4419
  %invariant.gep4957 = getelementptr %struct.complex, ptr %24, i64 %4420
  %4422 = zext nneg i32 %4372 to i64
  %min.iters.check = icmp ult i32 %4372, 16
  br i1 %min.iters.check, label %scalar.ph.preheader, label %vector.scevcheck

vector.scevcheck:                                 ; preds = %.lr.ph4629
  %4423 = add nsw i64 %wide.trip.count4870, -2
  %4424 = shl nsw i64 %4413, 3
  %4425 = shl nsw i64 %23, 3
  %4426 = getelementptr i8, ptr %5, i64 %4424
  %4427 = getelementptr i8, ptr %4426, i64 %4425
  %mul.result = shl nsw i64 %4423, 3
  %4428 = shl nsw i64 %4414, 3
  %4429 = getelementptr i8, ptr %5, i64 %4428
  %4430 = getelementptr i8, ptr %4429, i64 %4425
  %mul.result5036 = shl nsw i64 %4423, 3
  %mul.overflow5037 = icmp ugt i64 %4423, 2305843009213693951
  %4431 = shl nsw i64 %4415, 3
  %4432 = getelementptr i8, ptr %5, i64 %4431
  %4433 = getelementptr i8, ptr %4432, i64 %4425
  %mul.result5040 = shl nsw i64 %4423, 3
  %4434 = shl nsw i64 %4416, 3
  %4435 = getelementptr i8, ptr %5, i64 %4434
  %4436 = getelementptr i8, ptr %4435, i64 %4425
  %mul.result5044 = shl nsw i64 %4423, 3
  %4437 = shl nsw i64 %4417, 3
  %4438 = getelementptr i8, ptr %5, i64 %4437
  %4439 = getelementptr i8, ptr %4438, i64 %4425
  %mul.result5048 = shl nsw i64 %4423, 3
  %4440 = shl nsw i64 %4418, 3
  %4441 = getelementptr i8, ptr %5, i64 %4440
  %4442 = getelementptr i8, ptr %4441, i64 %4425
  %mul.result5052 = shl nsw i64 %4423, 3
  %4443 = shl nsw i64 %4419, 3
  %4444 = getelementptr i8, ptr %5, i64 %4443
  %4445 = getelementptr i8, ptr %4444, i64 %4425
  %mul.result5056 = shl nsw i64 %4423, 3
  %4446 = shl nsw i64 %4420, 3
  %4447 = getelementptr i8, ptr %5, i64 %4446
  %4448 = getelementptr i8, ptr %4447, i64 %4425
  %mul.result5060 = shl nsw i64 %4423, 3
  %4449 = getelementptr i8, ptr %5, i64 %4424
  %4450 = getelementptr i8, ptr %4449, i64 %4425
  %mul.result5064 = shl nsw i64 %4423, 3
  %4451 = getelementptr i8, ptr %5, i64 %4428
  %4452 = getelementptr i8, ptr %4451, i64 %4425
  %mul.result5068 = shl nsw i64 %4423, 3
  %4453 = getelementptr i8, ptr %5, i64 %4431
  %4454 = getelementptr i8, ptr %4453, i64 %4425
  %mul.result5072 = shl nsw i64 %4423, 3
  %4455 = getelementptr i8, ptr %5, i64 %4434
  %4456 = getelementptr i8, ptr %4455, i64 %4425
  %mul.result5076 = shl nsw i64 %4423, 3
  %4457 = getelementptr i8, ptr %5, i64 %4437
  %4458 = getelementptr i8, ptr %4457, i64 %4425
  %mul.result5080 = shl nsw i64 %4423, 3
  %4459 = getelementptr i8, ptr %5, i64 %4440
  %4460 = getelementptr i8, ptr %4459, i64 %4425
  %mul.result5084 = shl nsw i64 %4423, 3
  %4461 = getelementptr i8, ptr %5, i64 %4443
  %4462 = getelementptr i8, ptr %4461, i64 %4425
  %mul.result5088 = shl nsw i64 %4423, 3
  %4463 = getelementptr i8, ptr %5, i64 %4446
  %4464 = getelementptr i8, ptr %4463, i64 %4425
  %mul.result5092 = shl nsw i64 %4423, 3
  %4465 = insertelement <16 x ptr> poison, ptr %4430, i64 0
  %4466 = insertelement <16 x ptr> %4465, ptr %4427, i64 1
  %4467 = insertelement <16 x ptr> %4466, ptr %4433, i64 2
  %4468 = insertelement <16 x ptr> %4467, ptr %4436, i64 3
  %4469 = insertelement <16 x ptr> %4468, ptr %4439, i64 4
  %4470 = insertelement <16 x ptr> %4469, ptr %4442, i64 5
  %4471 = insertelement <16 x ptr> %4470, ptr %4445, i64 6
  %4472 = insertelement <16 x ptr> %4471, ptr %4448, i64 7
  %4473 = insertelement <16 x ptr> %4472, ptr %4450, i64 8
  %4474 = insertelement <16 x ptr> %4473, ptr %4452, i64 9
  %4475 = insertelement <16 x ptr> %4474, ptr %4454, i64 10
  %4476 = insertelement <16 x ptr> %4475, ptr %4456, i64 11
  %4477 = insertelement <16 x ptr> %4476, ptr %4458, i64 12
  %4478 = insertelement <16 x ptr> %4477, ptr %4460, i64 13
  %4479 = insertelement <16 x ptr> %4478, ptr %4462, i64 14
  %4480 = insertelement <16 x ptr> %4479, ptr %4464, i64 15
  %4481 = getelementptr i8, <16 x ptr> %4480, <16 x i64> <i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 12, i64 12, i64 12, i64 12, i64 12, i64 12, i64 12, i64 12>
  %scevgep = getelementptr i8, ptr %4427, i64 8
  %4482 = getelementptr i8, ptr %scevgep, i64 %mul.result
  %scevgep5034 = getelementptr i8, ptr %4430, i64 8
  %4483 = getelementptr i8, ptr %scevgep5034, i64 %mul.result5036
  %scevgep5038 = getelementptr i8, ptr %4433, i64 8
  %4484 = getelementptr i8, ptr %scevgep5038, i64 %mul.result5040
  %scevgep5042 = getelementptr i8, ptr %4436, i64 8
  %4485 = getelementptr i8, ptr %scevgep5042, i64 %mul.result5044
  %scevgep5046 = getelementptr i8, ptr %4439, i64 8
  %4486 = getelementptr i8, ptr %scevgep5046, i64 %mul.result5048
  %scevgep5050 = getelementptr i8, ptr %4442, i64 8
  %4487 = getelementptr i8, ptr %scevgep5050, i64 %mul.result5052
  %scevgep5054 = getelementptr i8, ptr %4445, i64 8
  %4488 = getelementptr i8, ptr %scevgep5054, i64 %mul.result5056
  %scevgep5058 = getelementptr i8, ptr %4448, i64 8
  %4489 = getelementptr i8, ptr %scevgep5058, i64 %mul.result5060
  %scevgep5062 = getelementptr i8, ptr %4450, i64 12
  %4490 = getelementptr i8, ptr %scevgep5062, i64 %mul.result5064
  %scevgep5066 = getelementptr i8, ptr %4452, i64 12
  %4491 = getelementptr i8, ptr %scevgep5066, i64 %mul.result5068
  %scevgep5070 = getelementptr i8, ptr %4454, i64 12
  %4492 = getelementptr i8, ptr %scevgep5070, i64 %mul.result5072
  %scevgep5074 = getelementptr i8, ptr %4456, i64 12
  %4493 = getelementptr i8, ptr %scevgep5074, i64 %mul.result5076
  %scevgep5078 = getelementptr i8, ptr %4458, i64 12
  %4494 = getelementptr i8, ptr %scevgep5078, i64 %mul.result5080
  %scevgep5082 = getelementptr i8, ptr %4460, i64 12
  %4495 = getelementptr i8, ptr %scevgep5082, i64 %mul.result5084
  %scevgep5086 = getelementptr i8, ptr %4462, i64 12
  %4496 = getelementptr i8, ptr %scevgep5086, i64 %mul.result5088
  %scevgep5090 = getelementptr i8, ptr %4464, i64 12
  %4497 = getelementptr i8, ptr %scevgep5090, i64 %mul.result5092
  %4498 = insertelement <16 x ptr> poison, ptr %4483, i64 0
  %4499 = insertelement <16 x ptr> %4498, ptr %4482, i64 1
  %4500 = insertelement <16 x ptr> %4499, ptr %4484, i64 2
  %4501 = insertelement <16 x ptr> %4500, ptr %4485, i64 3
  %4502 = insertelement <16 x ptr> %4501, ptr %4486, i64 4
  %4503 = insertelement <16 x ptr> %4502, ptr %4487, i64 5
  %4504 = insertelement <16 x ptr> %4503, ptr %4488, i64 6
  %4505 = insertelement <16 x ptr> %4504, ptr %4489, i64 7
  %4506 = insertelement <16 x ptr> %4505, ptr %4490, i64 8
  %4507 = insertelement <16 x ptr> %4506, ptr %4491, i64 9
  %4508 = insertelement <16 x ptr> %4507, ptr %4492, i64 10
  %4509 = insertelement <16 x ptr> %4508, ptr %4493, i64 11
  %4510 = insertelement <16 x ptr> %4509, ptr %4494, i64 12
  %4511 = insertelement <16 x ptr> %4510, ptr %4495, i64 13
  %4512 = insertelement <16 x ptr> %4511, ptr %4496, i64 14
  %4513 = insertelement <16 x ptr> %4512, ptr %4497, i64 15
  %4514 = icmp ult <16 x ptr> %4513, %4481
  %4515 = bitcast <16 x i1> %4514 to i16
  %4516 = icmp ne i16 %4515, 0
  %op.rdx6811 = or i1 %4516, %mul.overflow5037
  br i1 %op.rdx6811, label %scalar.ph.preheader, label %vector.memcheck

vector.memcheck:                                  ; preds = %vector.scevcheck
  %4517 = shl nsw i64 %4413, 3
  %4518 = shl nsw i64 %23, 3
  %4519 = add nsw i64 %4517, %4518
  %4520 = getelementptr i8, ptr %5, i64 %4519
  %scevgep5094 = getelementptr i8, ptr %4520, i64 8
  %4521 = shl nuw nsw i64 %wide.trip.count4870, 3
  %4522 = getelementptr i8, ptr %5, i64 %4519
  %4523 = getelementptr i8, ptr %4522, i64 %4521
  %scevgep5095 = getelementptr i8, ptr %4523, i64 -4
  %4524 = shl nsw i64 %4414, 3
  %4525 = add nsw i64 %4524, %4518
  %4526 = getelementptr i8, ptr %5, i64 %4525
  %scevgep5096 = getelementptr i8, ptr %4526, i64 8
  %4527 = getelementptr i8, ptr %5, i64 %4525
  %4528 = getelementptr i8, ptr %4527, i64 %4521
  %scevgep5097 = getelementptr i8, ptr %4528, i64 -4
  %4529 = shl nsw i64 %4415, 3
  %4530 = add nsw i64 %4529, %4518
  %4531 = getelementptr i8, ptr %5, i64 %4530
  %scevgep5098 = getelementptr i8, ptr %4531, i64 8
  %4532 = getelementptr i8, ptr %5, i64 %4530
  %4533 = getelementptr i8, ptr %4532, i64 %4521
  %scevgep5099 = getelementptr i8, ptr %4533, i64 -4
  %4534 = shl nsw i64 %4416, 3
  %4535 = add nsw i64 %4534, %4518
  %4536 = getelementptr i8, ptr %5, i64 %4535
  %scevgep5100 = getelementptr i8, ptr %4536, i64 8
  %4537 = getelementptr i8, ptr %5, i64 %4535
  %4538 = getelementptr i8, ptr %4537, i64 %4521
  %scevgep5101 = getelementptr i8, ptr %4538, i64 -4
  %4539 = shl nsw i64 %4417, 3
  %4540 = add nsw i64 %4539, %4518
  %4541 = getelementptr i8, ptr %5, i64 %4540
  %scevgep5102 = getelementptr i8, ptr %4541, i64 8
  %4542 = getelementptr i8, ptr %5, i64 %4540
  %4543 = getelementptr i8, ptr %4542, i64 %4521
  %scevgep5103 = getelementptr i8, ptr %4543, i64 -4
  %4544 = shl nsw i64 %4418, 3
  %4545 = add nsw i64 %4544, %4518
  %4546 = getelementptr i8, ptr %5, i64 %4545
  %scevgep5104 = getelementptr i8, ptr %4546, i64 8
  %4547 = getelementptr i8, ptr %5, i64 %4545
  %4548 = getelementptr i8, ptr %4547, i64 %4521
  %scevgep5105 = getelementptr i8, ptr %4548, i64 -4
  %4549 = shl nsw i64 %4419, 3
  %4550 = add nsw i64 %4549, %4518
  %4551 = getelementptr i8, ptr %5, i64 %4550
  %scevgep5106 = getelementptr i8, ptr %4551, i64 8
  %4552 = getelementptr i8, ptr %5, i64 %4550
  %4553 = getelementptr i8, ptr %4552, i64 %4521
  %scevgep5107 = getelementptr i8, ptr %4553, i64 -4
  %4554 = shl nsw i64 %4420, 3
  %4555 = add nsw i64 %4554, %4518
  %4556 = getelementptr i8, ptr %5, i64 %4555
  %scevgep5108 = getelementptr i8, ptr %4556, i64 8
  %4557 = getelementptr i8, ptr %5, i64 %4555
  %4558 = getelementptr i8, ptr %4557, i64 %4521
  %scevgep5109 = getelementptr i8, ptr %4558, i64 -4
  %4559 = add nsw i64 %4517, %4518
  %4560 = getelementptr i8, ptr %5, i64 %4559
  %scevgep5110 = getelementptr i8, ptr %4560, i64 12
  %4561 = getelementptr i8, ptr %5, i64 %4559
  %scevgep5111 = getelementptr i8, ptr %4561, i64 %4521
  %4562 = add nsw i64 %4524, %4518
  %4563 = getelementptr i8, ptr %5, i64 %4562
  %scevgep5112 = getelementptr i8, ptr %4563, i64 12
  %4564 = getelementptr i8, ptr %5, i64 %4562
  %scevgep5113 = getelementptr i8, ptr %4564, i64 %4521
  %4565 = add nsw i64 %4529, %4518
  %4566 = getelementptr i8, ptr %5, i64 %4565
  %scevgep5114 = getelementptr i8, ptr %4566, i64 12
  %4567 = getelementptr i8, ptr %5, i64 %4565
  %scevgep5115 = getelementptr i8, ptr %4567, i64 %4521
  %4568 = add nsw i64 %4534, %4518
  %4569 = getelementptr i8, ptr %5, i64 %4568
  %scevgep5116 = getelementptr i8, ptr %4569, i64 12
  %4570 = getelementptr i8, ptr %5, i64 %4568
  %scevgep5117 = getelementptr i8, ptr %4570, i64 %4521
  %4571 = add nsw i64 %4539, %4518
  %4572 = getelementptr i8, ptr %5, i64 %4571
  %scevgep5118 = getelementptr i8, ptr %4572, i64 12
  %4573 = getelementptr i8, ptr %5, i64 %4571
  %scevgep5119 = getelementptr i8, ptr %4573, i64 %4521
  %4574 = add nsw i64 %4544, %4518
  %4575 = getelementptr i8, ptr %5, i64 %4574
  %scevgep5120 = getelementptr i8, ptr %4575, i64 12
  %4576 = getelementptr i8, ptr %5, i64 %4574
  %scevgep5121 = getelementptr i8, ptr %4576, i64 %4521
  %4577 = add nsw i64 %4549, %4518
  %4578 = getelementptr i8, ptr %5, i64 %4577
  %scevgep5122 = getelementptr i8, ptr %4578, i64 12
  %4579 = getelementptr i8, ptr %5, i64 %4577
  %scevgep5123 = getelementptr i8, ptr %4579, i64 %4521
  %4580 = add nsw i64 %4554, %4518
  %4581 = getelementptr i8, ptr %5, i64 %4580
  %scevgep5124 = getelementptr i8, ptr %4581, i64 12
  %4582 = getelementptr i8, ptr %5, i64 %4580
  %scevgep5125 = getelementptr i8, ptr %4582, i64 %4521
  %bound0 = icmp ult ptr %scevgep5094, %scevgep5097
  %bound1 = icmp ult ptr %scevgep5096, %scevgep5095
  %found.conflict = and i1 %bound0, %bound1
  %bound05126 = icmp ult ptr %scevgep5094, %scevgep5099
  %bound15127 = icmp ult ptr %scevgep5098, %scevgep5095
  %found.conflict5128 = and i1 %bound05126, %bound15127
  %conflict.rdx = or i1 %found.conflict, %found.conflict5128
  %bound05129 = icmp ult ptr %scevgep5094, %scevgep5101
  %bound15130 = icmp ult ptr %scevgep5100, %scevgep5095
  %found.conflict5131 = and i1 %bound05129, %bound15130
  %conflict.rdx5132 = or i1 %conflict.rdx, %found.conflict5131
  %bound05133 = icmp ult ptr %scevgep5094, %scevgep5103
  %bound15134 = icmp ult ptr %scevgep5102, %scevgep5095
  %found.conflict5135 = and i1 %bound05133, %bound15134
  %conflict.rdx5136 = or i1 %conflict.rdx5132, %found.conflict5135
  %bound05137 = icmp ult ptr %scevgep5094, %scevgep5105
  %bound15138 = icmp ult ptr %scevgep5104, %scevgep5095
  %found.conflict5139 = and i1 %bound05137, %bound15138
  %conflict.rdx5140 = or i1 %conflict.rdx5136, %found.conflict5139
  %bound05141 = icmp ult ptr %scevgep5094, %scevgep5107
  %bound15142 = icmp ult ptr %scevgep5106, %scevgep5095
  %found.conflict5143 = and i1 %bound05141, %bound15142
  %conflict.rdx5144 = or i1 %conflict.rdx5140, %found.conflict5143
  %bound05145 = icmp ult ptr %scevgep5094, %scevgep5109
  %bound15146 = icmp ult ptr %scevgep5108, %scevgep5095
  %found.conflict5147 = and i1 %bound05145, %bound15146
  %conflict.rdx5148 = or i1 %conflict.rdx5144, %found.conflict5147
  %bound05149 = icmp ult ptr %scevgep5096, %scevgep5099
  %bound15150 = icmp ult ptr %scevgep5098, %scevgep5097
  %found.conflict5151 = and i1 %bound05149, %bound15150
  %conflict.rdx5152 = or i1 %conflict.rdx5148, %found.conflict5151
  %bound05153 = icmp ult ptr %scevgep5096, %scevgep5101
  %bound15154 = icmp ult ptr %scevgep5100, %scevgep5097
  %found.conflict5155 = and i1 %bound05153, %bound15154
  %conflict.rdx5156 = or i1 %conflict.rdx5152, %found.conflict5155
  %bound05157 = icmp ult ptr %scevgep5096, %scevgep5103
  %bound15158 = icmp ult ptr %scevgep5102, %scevgep5097
  %found.conflict5159 = and i1 %bound05157, %bound15158
  %conflict.rdx5160 = or i1 %conflict.rdx5156, %found.conflict5159
  %bound05161 = icmp ult ptr %scevgep5096, %scevgep5105
  %bound15162 = icmp ult ptr %scevgep5104, %scevgep5097
  %found.conflict5163 = and i1 %bound05161, %bound15162
  %conflict.rdx5164 = or i1 %conflict.rdx5160, %found.conflict5163
  %bound05165 = icmp ult ptr %scevgep5096, %scevgep5107
  %bound15166 = icmp ult ptr %scevgep5106, %scevgep5097
  %found.conflict5167 = and i1 %bound05165, %bound15166
  %conflict.rdx5168 = or i1 %conflict.rdx5164, %found.conflict5167
  %bound05169 = icmp ult ptr %scevgep5096, %scevgep5109
  %bound15170 = icmp ult ptr %scevgep5108, %scevgep5097
  %found.conflict5171 = and i1 %bound05169, %bound15170
  %conflict.rdx5172 = or i1 %conflict.rdx5168, %found.conflict5171
  %bound05173 = icmp ult ptr %scevgep5098, %scevgep5101
  %bound15174 = icmp ult ptr %scevgep5100, %scevgep5099
  %found.conflict5175 = and i1 %bound05173, %bound15174
  %conflict.rdx5176 = or i1 %conflict.rdx5172, %found.conflict5175
  %bound05177 = icmp ult ptr %scevgep5098, %scevgep5103
  %bound15178 = icmp ult ptr %scevgep5102, %scevgep5099
  %found.conflict5179 = and i1 %bound05177, %bound15178
  %conflict.rdx5180 = or i1 %conflict.rdx5176, %found.conflict5179
  %bound05181 = icmp ult ptr %scevgep5098, %scevgep5105
  %bound15182 = icmp ult ptr %scevgep5104, %scevgep5099
  %found.conflict5183 = and i1 %bound05181, %bound15182
  %conflict.rdx5184 = or i1 %conflict.rdx5180, %found.conflict5183
  %bound05185 = icmp ult ptr %scevgep5098, %scevgep5107
  %bound15186 = icmp ult ptr %scevgep5106, %scevgep5099
  %found.conflict5187 = and i1 %bound05185, %bound15186
  %conflict.rdx5188 = or i1 %conflict.rdx5184, %found.conflict5187
  %bound05189 = icmp ult ptr %scevgep5098, %scevgep5109
  %bound15190 = icmp ult ptr %scevgep5108, %scevgep5099
  %found.conflict5191 = and i1 %bound05189, %bound15190
  %conflict.rdx5192 = or i1 %conflict.rdx5188, %found.conflict5191
  %bound05193 = icmp ult ptr %scevgep5100, %scevgep5103
  %bound15194 = icmp ult ptr %scevgep5102, %scevgep5101
  %found.conflict5195 = and i1 %bound05193, %bound15194
  %conflict.rdx5196 = or i1 %conflict.rdx5192, %found.conflict5195
  %bound05197 = icmp ult ptr %scevgep5100, %scevgep5105
  %bound15198 = icmp ult ptr %scevgep5104, %scevgep5101
  %found.conflict5199 = and i1 %bound05197, %bound15198
  %conflict.rdx5200 = or i1 %conflict.rdx5196, %found.conflict5199
  %bound05201 = icmp ult ptr %scevgep5100, %scevgep5107
  %bound15202 = icmp ult ptr %scevgep5106, %scevgep5101
  %found.conflict5203 = and i1 %bound05201, %bound15202
  %conflict.rdx5204 = or i1 %conflict.rdx5200, %found.conflict5203
  %bound05205 = icmp ult ptr %scevgep5100, %scevgep5109
  %bound15206 = icmp ult ptr %scevgep5108, %scevgep5101
  %found.conflict5207 = and i1 %bound05205, %bound15206
  %conflict.rdx5208 = or i1 %conflict.rdx5204, %found.conflict5207
  %bound05209 = icmp ult ptr %scevgep5102, %scevgep5105
  %bound15210 = icmp ult ptr %scevgep5104, %scevgep5103
  %found.conflict5211 = and i1 %bound05209, %bound15210
  %conflict.rdx5212 = or i1 %conflict.rdx5208, %found.conflict5211
  %bound05213 = icmp ult ptr %scevgep5102, %scevgep5107
  %bound15214 = icmp ult ptr %scevgep5106, %scevgep5103
  %found.conflict5215 = and i1 %bound05213, %bound15214
  %conflict.rdx5216 = or i1 %conflict.rdx5212, %found.conflict5215
  %bound05217 = icmp ult ptr %scevgep5102, %scevgep5109
  %bound15218 = icmp ult ptr %scevgep5108, %scevgep5103
  %found.conflict5219 = and i1 %bound05217, %bound15218
  %conflict.rdx5220 = or i1 %conflict.rdx5216, %found.conflict5219
  %bound05221 = icmp ult ptr %scevgep5104, %scevgep5107
  %bound15222 = icmp ult ptr %scevgep5106, %scevgep5105
  %found.conflict5223 = and i1 %bound05221, %bound15222
  %conflict.rdx5224 = or i1 %conflict.rdx5220, %found.conflict5223
  %bound05225 = icmp ult ptr %scevgep5104, %scevgep5109
  %bound15226 = icmp ult ptr %scevgep5108, %scevgep5105
  %found.conflict5227 = and i1 %bound05225, %bound15226
  %conflict.rdx5228 = or i1 %conflict.rdx5224, %found.conflict5227
  %bound05229 = icmp ult ptr %scevgep5106, %scevgep5109
  %bound15230 = icmp ult ptr %scevgep5108, %scevgep5107
  %found.conflict5231 = and i1 %bound05229, %bound15230
  %conflict.rdx5232 = or i1 %conflict.rdx5228, %found.conflict5231
  %bound05233 = icmp ult ptr %scevgep5110, %scevgep5113
  %bound15234 = icmp ult ptr %scevgep5112, %scevgep5111
  %found.conflict5235 = and i1 %bound05233, %bound15234
  %conflict.rdx5236 = or i1 %conflict.rdx5232, %found.conflict5235
  %bound05237 = icmp ult ptr %scevgep5110, %scevgep5115
  %bound15238 = icmp ult ptr %scevgep5114, %scevgep5111
  %found.conflict5239 = and i1 %bound05237, %bound15238
  %conflict.rdx5240 = or i1 %conflict.rdx5236, %found.conflict5239
  %bound05241 = icmp ult ptr %scevgep5110, %scevgep5117
  %bound15242 = icmp ult ptr %scevgep5116, %scevgep5111
  %found.conflict5243 = and i1 %bound05241, %bound15242
  %conflict.rdx5244 = or i1 %conflict.rdx5240, %found.conflict5243
  %bound05245 = icmp ult ptr %scevgep5110, %scevgep5119
  %bound15246 = icmp ult ptr %scevgep5118, %scevgep5111
  %found.conflict5247 = and i1 %bound05245, %bound15246
  %conflict.rdx5248 = or i1 %conflict.rdx5244, %found.conflict5247
  %bound05249 = icmp ult ptr %scevgep5110, %scevgep5121
  %bound15250 = icmp ult ptr %scevgep5120, %scevgep5111
  %found.conflict5251 = and i1 %bound05249, %bound15250
  %conflict.rdx5252 = or i1 %conflict.rdx5248, %found.conflict5251
  %bound05253 = icmp ult ptr %scevgep5110, %scevgep5123
  %bound15254 = icmp ult ptr %scevgep5122, %scevgep5111
  %found.conflict5255 = and i1 %bound05253, %bound15254
  %conflict.rdx5256 = or i1 %conflict.rdx5252, %found.conflict5255
  %bound05257 = icmp ult ptr %scevgep5110, %scevgep5125
  %bound15258 = icmp ult ptr %scevgep5124, %scevgep5111
  %found.conflict5259 = and i1 %bound05257, %bound15258
  %conflict.rdx5260 = or i1 %conflict.rdx5256, %found.conflict5259
  %bound05261 = icmp ult ptr %scevgep5112, %scevgep5115
  %bound15262 = icmp ult ptr %scevgep5114, %scevgep5113
  %found.conflict5263 = and i1 %bound05261, %bound15262
  %conflict.rdx5264 = or i1 %conflict.rdx5260, %found.conflict5263
  %bound05265 = icmp ult ptr %scevgep5112, %scevgep5117
  %bound15266 = icmp ult ptr %scevgep5116, %scevgep5113
  %found.conflict5267 = and i1 %bound05265, %bound15266
  %conflict.rdx5268 = or i1 %conflict.rdx5264, %found.conflict5267
  %bound05269 = icmp ult ptr %scevgep5112, %scevgep5119
  %bound15270 = icmp ult ptr %scevgep5118, %scevgep5113
  %found.conflict5271 = and i1 %bound05269, %bound15270
  %conflict.rdx5272 = or i1 %conflict.rdx5268, %found.conflict5271
  %bound05273 = icmp ult ptr %scevgep5112, %scevgep5121
  %bound15274 = icmp ult ptr %scevgep5120, %scevgep5113
  %found.conflict5275 = and i1 %bound05273, %bound15274
  %conflict.rdx5276 = or i1 %conflict.rdx5272, %found.conflict5275
  %bound05277 = icmp ult ptr %scevgep5112, %scevgep5123
  %bound15278 = icmp ult ptr %scevgep5122, %scevgep5113
  %found.conflict5279 = and i1 %bound05277, %bound15278
  %conflict.rdx5280 = or i1 %conflict.rdx5276, %found.conflict5279
  %bound05281 = icmp ult ptr %scevgep5112, %scevgep5125
  %bound15282 = icmp ult ptr %scevgep5124, %scevgep5113
  %found.conflict5283 = and i1 %bound05281, %bound15282
  %conflict.rdx5284 = or i1 %conflict.rdx5280, %found.conflict5283
  %bound05285 = icmp ult ptr %scevgep5114, %scevgep5117
  %bound15286 = icmp ult ptr %scevgep5116, %scevgep5115
  %found.conflict5287 = and i1 %bound05285, %bound15286
  %conflict.rdx5288 = or i1 %conflict.rdx5284, %found.conflict5287
  %bound05289 = icmp ult ptr %scevgep5114, %scevgep5119
  %bound15290 = icmp ult ptr %scevgep5118, %scevgep5115
  %found.conflict5291 = and i1 %bound05289, %bound15290
  %conflict.rdx5292 = or i1 %conflict.rdx5288, %found.conflict5291
  %bound05293 = icmp ult ptr %scevgep5114, %scevgep5121
  %bound15294 = icmp ult ptr %scevgep5120, %scevgep5115
  %found.conflict5295 = and i1 %bound05293, %bound15294
  %conflict.rdx5296 = or i1 %conflict.rdx5292, %found.conflict5295
  %bound05297 = icmp ult ptr %scevgep5114, %scevgep5123
  %bound15298 = icmp ult ptr %scevgep5122, %scevgep5115
  %found.conflict5299 = and i1 %bound05297, %bound15298
  %conflict.rdx5300 = or i1 %conflict.rdx5296, %found.conflict5299
  %bound05301 = icmp ult ptr %scevgep5114, %scevgep5125
  %bound15302 = icmp ult ptr %scevgep5124, %scevgep5115
  %found.conflict5303 = and i1 %bound05301, %bound15302
  %conflict.rdx5304 = or i1 %conflict.rdx5300, %found.conflict5303
  %bound05305 = icmp ult ptr %scevgep5116, %scevgep5119
  %bound15306 = icmp ult ptr %scevgep5118, %scevgep5117
  %found.conflict5307 = and i1 %bound05305, %bound15306
  %conflict.rdx5308 = or i1 %conflict.rdx5304, %found.conflict5307
  %bound05309 = icmp ult ptr %scevgep5116, %scevgep5121
  %bound15310 = icmp ult ptr %scevgep5120, %scevgep5117
  %found.conflict5311 = and i1 %bound05309, %bound15310
  %conflict.rdx5312 = or i1 %conflict.rdx5308, %found.conflict5311
  %bound05313 = icmp ult ptr %scevgep5116, %scevgep5123
  %bound15314 = icmp ult ptr %scevgep5122, %scevgep5117
  %found.conflict5315 = and i1 %bound05313, %bound15314
  %conflict.rdx5316 = or i1 %conflict.rdx5312, %found.conflict5315
  %bound05317 = icmp ult ptr %scevgep5116, %scevgep5125
  %bound15318 = icmp ult ptr %scevgep5124, %scevgep5117
  %found.conflict5319 = and i1 %bound05317, %bound15318
  %conflict.rdx5320 = or i1 %conflict.rdx5316, %found.conflict5319
  %bound05321 = icmp ult ptr %scevgep5118, %scevgep5121
  %bound15322 = icmp ult ptr %scevgep5120, %scevgep5119
  %found.conflict5323 = and i1 %bound05321, %bound15322
  %conflict.rdx5324 = or i1 %conflict.rdx5320, %found.conflict5323
  %bound05325 = icmp ult ptr %scevgep5118, %scevgep5123
  %bound15326 = icmp ult ptr %scevgep5122, %scevgep5119
  %found.conflict5327 = and i1 %bound05325, %bound15326
  %conflict.rdx5328 = or i1 %conflict.rdx5324, %found.conflict5327
  %bound05329 = icmp ult ptr %scevgep5118, %scevgep5125
  %bound15330 = icmp ult ptr %scevgep5124, %scevgep5119
  %found.conflict5331 = and i1 %bound05329, %bound15330
  %conflict.rdx5332 = or i1 %conflict.rdx5328, %found.conflict5331
  %bound05333 = icmp ult ptr %scevgep5120, %scevgep5123
  %bound15334 = icmp ult ptr %scevgep5122, %scevgep5121
  %found.conflict5335 = and i1 %bound05333, %bound15334
  %conflict.rdx5336 = or i1 %conflict.rdx5332, %found.conflict5335
  %bound05337 = icmp ult ptr %scevgep5120, %scevgep5125
  %bound15338 = icmp ult ptr %scevgep5124, %scevgep5121
  %found.conflict5339 = and i1 %bound05337, %bound15338
  %conflict.rdx5340 = or i1 %conflict.rdx5336, %found.conflict5339
  %bound05341 = icmp ult ptr %scevgep5122, %scevgep5125
  %bound15342 = icmp ult ptr %scevgep5124, %scevgep5123
  %found.conflict5343 = and i1 %bound05341, %bound15342
  %conflict.rdx5344 = or i1 %conflict.rdx5340, %found.conflict5343
  br i1 %conflict.rdx5344, label %scalar.ph.preheader, label %vector.ph

vector.ph:                                        ; preds = %vector.memcheck
  %n.vec = and i64 %4422, 2147483644
  %ind.end = or disjoint i64 %n.vec, 1
  %broadcast.splat = shufflevector <2 x float> %4388, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5346 = insertelement <4 x float> poison, float %4381, i64 0
  %broadcast.splat5347 = shufflevector <4 x float> %broadcast.splatinsert5346, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5348 = insertelement <4 x float> poison, float %4382, i64 0
  %broadcast.splat5349 = shufflevector <4 x float> %broadcast.splatinsert5348, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5354 = shufflevector <2 x float> %4388, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert5355 = insertelement <4 x float> poison, float %4384, i64 0
  %broadcast.splat5356 = shufflevector <4 x float> %broadcast.splatinsert5355, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5357 = insertelement <4 x float> poison, float %4385, i64 0
  %broadcast.splat5358 = shufflevector <4 x float> %broadcast.splatinsert5357, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5362 = insertelement <4 x float> poison, float %4392, i64 0
  %broadcast.splat5363 = shufflevector <4 x float> %broadcast.splatinsert5362, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5364 = insertelement <4 x float> poison, float %4390, i64 0
  %broadcast.splat5365 = shufflevector <4 x float> %broadcast.splatinsert5364, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5366 = insertelement <4 x float> poison, float %4391, i64 0
  %broadcast.splat5367 = shufflevector <4 x float> %broadcast.splatinsert5366, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5371 = insertelement <4 x float> poison, float %4396, i64 0
  %broadcast.splat5372 = shufflevector <4 x float> %broadcast.splatinsert5371, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5373 = insertelement <4 x float> poison, float %4394, i64 0
  %broadcast.splat5374 = shufflevector <4 x float> %broadcast.splatinsert5373, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5375 = insertelement <4 x float> poison, float %4395, i64 0
  %broadcast.splat5376 = shufflevector <4 x float> %broadcast.splatinsert5375, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5380 = insertelement <4 x float> poison, float %4400, i64 0
  %broadcast.splat5381 = shufflevector <4 x float> %broadcast.splatinsert5380, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5382 = insertelement <4 x float> poison, float %4398, i64 0
  %broadcast.splat5383 = shufflevector <4 x float> %broadcast.splatinsert5382, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5384 = insertelement <4 x float> poison, float %4399, i64 0
  %broadcast.splat5385 = shufflevector <4 x float> %broadcast.splatinsert5384, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5389 = insertelement <4 x float> poison, float %4404, i64 0
  %broadcast.splat5390 = shufflevector <4 x float> %broadcast.splatinsert5389, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5391 = insertelement <4 x float> poison, float %4402, i64 0
  %broadcast.splat5392 = shufflevector <4 x float> %broadcast.splatinsert5391, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5393 = insertelement <4 x float> poison, float %4403, i64 0
  %broadcast.splat5394 = shufflevector <4 x float> %broadcast.splatinsert5393, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5398 = insertelement <4 x float> poison, float %4408, i64 0
  %broadcast.splat5399 = shufflevector <4 x float> %broadcast.splatinsert5398, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5400 = insertelement <4 x float> poison, float %4406, i64 0
  %broadcast.splat5401 = shufflevector <4 x float> %broadcast.splatinsert5400, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5402 = insertelement <4 x float> poison, float %4407, i64 0
  %broadcast.splat5403 = shufflevector <4 x float> %broadcast.splatinsert5402, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5407 = insertelement <4 x float> poison, float %4412, i64 0
  %broadcast.splat5408 = shufflevector <4 x float> %broadcast.splatinsert5407, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5409 = insertelement <4 x float> poison, float %4410, i64 0
  %broadcast.splat5410 = shufflevector <4 x float> %broadcast.splatinsert5409, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5411 = insertelement <4 x float> poison, float %4411, i64 0
  %broadcast.splat5412 = shufflevector <4 x float> %broadcast.splatinsert5411, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5414 = shufflevector <2 x float> %4252, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5416 = shufflevector <2 x float> %4252, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5418 = shufflevector <2 x float> %4269, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5420 = shufflevector <2 x float> %4269, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5426 = shufflevector <2 x float> %4286, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5428 = shufflevector <2 x float> %4286, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5434 = shufflevector <2 x float> %4303, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5436 = shufflevector <2 x float> %4303, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5442 = shufflevector <2 x float> %4320, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5444 = shufflevector <2 x float> %4320, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5450 = shufflevector <2 x float> %4337, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5452 = shufflevector <2 x float> %4337, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5458 = shufflevector <2 x float> %4354, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5460 = shufflevector <2 x float> %4354, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5466 = shufflevector <2 x float> %4371, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5468 = shufflevector <2 x float> %4371, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %offset.idx = or disjoint i64 %index, 1
  %4583 = getelementptr %struct.complex, ptr %invariant.gep4943, i64 %offset.idx
  %wide.vec = load <8 x float>, ptr %4583, align 4, !tbaa !13
  %strided.vec = shufflevector <8 x float> %wide.vec, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5345 = shufflevector <8 x float> %wide.vec, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4584 = fmul <4 x float> %strided.vec5345, %broadcast.splat
  %4585 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5347, <4 x float> %strided.vec, <4 x float> %4584)
  %4586 = fmul <4 x float> %strided.vec, %broadcast.splat5349
  %4587 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5347, <4 x float> %strided.vec5345, <4 x float> %4586)
  %4588 = getelementptr %struct.complex, ptr %invariant.gep4945, i64 %offset.idx
  %wide.vec5350 = load <8 x float>, ptr %4588, align 4, !tbaa !13
  %strided.vec5351 = shufflevector <8 x float> %wide.vec5350, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5352 = shufflevector <8 x float> %wide.vec5350, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4589 = fmul <4 x float> %strided.vec5352, %broadcast.splat5354
  %4590 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5356, <4 x float> %strided.vec5351, <4 x float> %4589)
  %4591 = fmul <4 x float> %strided.vec5351, %broadcast.splat5358
  %4592 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5356, <4 x float> %strided.vec5352, <4 x float> %4591)
  %4593 = fadd <4 x float> %4585, %4590
  %4594 = fadd <4 x float> %4587, %4592
  %4595 = getelementptr %struct.complex, ptr %invariant.gep4947, i64 %offset.idx
  %wide.vec5359 = load <8 x float>, ptr %4595, align 4, !tbaa !13
  %strided.vec5360 = shufflevector <8 x float> %wide.vec5359, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5361 = shufflevector <8 x float> %wide.vec5359, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4596 = fmul <4 x float> %strided.vec5361, %broadcast.splat5363
  %4597 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5365, <4 x float> %strided.vec5360, <4 x float> %4596)
  %4598 = fmul <4 x float> %strided.vec5360, %broadcast.splat5367
  %4599 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5365, <4 x float> %strided.vec5361, <4 x float> %4598)
  %4600 = fadd <4 x float> %4593, %4597
  %4601 = fadd <4 x float> %4594, %4599
  %4602 = getelementptr %struct.complex, ptr %invariant.gep4949, i64 %offset.idx
  %wide.vec5368 = load <8 x float>, ptr %4602, align 4, !tbaa !13
  %strided.vec5369 = shufflevector <8 x float> %wide.vec5368, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5370 = shufflevector <8 x float> %wide.vec5368, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4603 = fmul <4 x float> %strided.vec5370, %broadcast.splat5372
  %4604 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5374, <4 x float> %strided.vec5369, <4 x float> %4603)
  %4605 = fmul <4 x float> %strided.vec5369, %broadcast.splat5376
  %4606 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5374, <4 x float> %strided.vec5370, <4 x float> %4605)
  %4607 = fadd <4 x float> %4600, %4604
  %4608 = fadd <4 x float> %4601, %4606
  %4609 = getelementptr %struct.complex, ptr %invariant.gep4951, i64 %offset.idx
  %wide.vec5377 = load <8 x float>, ptr %4609, align 4, !tbaa !13
  %strided.vec5378 = shufflevector <8 x float> %wide.vec5377, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5379 = shufflevector <8 x float> %wide.vec5377, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4610 = fmul <4 x float> %strided.vec5379, %broadcast.splat5381
  %4611 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5383, <4 x float> %strided.vec5378, <4 x float> %4610)
  %4612 = fmul <4 x float> %strided.vec5378, %broadcast.splat5385
  %4613 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5383, <4 x float> %strided.vec5379, <4 x float> %4612)
  %4614 = fadd <4 x float> %4607, %4611
  %4615 = fadd <4 x float> %4608, %4613
  %4616 = getelementptr %struct.complex, ptr %invariant.gep4953, i64 %offset.idx
  %wide.vec5386 = load <8 x float>, ptr %4616, align 4, !tbaa !13
  %strided.vec5387 = shufflevector <8 x float> %wide.vec5386, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5388 = shufflevector <8 x float> %wide.vec5386, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4617 = fmul <4 x float> %strided.vec5388, %broadcast.splat5390
  %4618 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5392, <4 x float> %strided.vec5387, <4 x float> %4617)
  %4619 = fmul <4 x float> %strided.vec5387, %broadcast.splat5394
  %4620 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5392, <4 x float> %strided.vec5388, <4 x float> %4619)
  %4621 = fadd <4 x float> %4614, %4618
  %4622 = fadd <4 x float> %4615, %4620
  %4623 = getelementptr %struct.complex, ptr %invariant.gep4955, i64 %offset.idx
  %wide.vec5395 = load <8 x float>, ptr %4623, align 4, !tbaa !13
  %strided.vec5396 = shufflevector <8 x float> %wide.vec5395, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5397 = shufflevector <8 x float> %wide.vec5395, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4624 = fmul <4 x float> %strided.vec5397, %broadcast.splat5399
  %4625 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5401, <4 x float> %strided.vec5396, <4 x float> %4624)
  %4626 = fmul <4 x float> %strided.vec5396, %broadcast.splat5403
  %4627 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5401, <4 x float> %strided.vec5397, <4 x float> %4626)
  %4628 = fadd <4 x float> %4621, %4625
  %4629 = fadd <4 x float> %4622, %4627
  %4630 = getelementptr %struct.complex, ptr %invariant.gep4957, i64 %offset.idx
  %wide.vec5404 = load <8 x float>, ptr %4630, align 4, !tbaa !13
  %strided.vec5405 = shufflevector <8 x float> %wide.vec5404, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5406 = shufflevector <8 x float> %wide.vec5404, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4631 = fmul <4 x float> %strided.vec5406, %broadcast.splat5408
  %4632 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5410, <4 x float> %strided.vec5405, <4 x float> %4631)
  %4633 = fmul <4 x float> %strided.vec5405, %broadcast.splat5412
  %4634 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5410, <4 x float> %strided.vec5406, <4 x float> %4633)
  %4635 = fadd <4 x float> %4628, %4632
  %4636 = fadd <4 x float> %4629, %4634
  %4637 = fneg <4 x float> %4636
  %4638 = fmul <4 x float> %broadcast.splat5414, %4637
  %4639 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5416, <4 x float> %4638)
  %4640 = fmul <4 x float> %broadcast.splat5416, %4636
  %4641 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5414, <4 x float> %4640)
  %4642 = fsub <4 x float> %strided.vec, %4639
  %4643 = fsub <4 x float> %strided.vec5345, %4641
  %interleaved.vec = shufflevector <4 x float> %4642, <4 x float> %4643, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec, ptr %4583, align 4, !tbaa !13
  %4644 = fmul <4 x float> %broadcast.splat5418, %4637
  %4645 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5420, <4 x float> %4644)
  %4646 = fmul <4 x float> %broadcast.splat5420, %4636
  %4647 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5418, <4 x float> %4646)
  %wide.vec5421 = load <8 x float>, ptr %4588, align 4, !tbaa !13
  %strided.vec5422 = shufflevector <8 x float> %wide.vec5421, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5423 = shufflevector <8 x float> %wide.vec5421, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4648 = fsub <4 x float> %strided.vec5422, %4645
  %4649 = fsub <4 x float> %strided.vec5423, %4647
  %interleaved.vec5424 = shufflevector <4 x float> %4648, <4 x float> %4649, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5424, ptr %4588, align 4, !tbaa !13
  %4650 = fmul <4 x float> %broadcast.splat5426, %4637
  %4651 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5428, <4 x float> %4650)
  %4652 = fmul <4 x float> %broadcast.splat5428, %4636
  %4653 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5426, <4 x float> %4652)
  %wide.vec5429 = load <8 x float>, ptr %4595, align 4, !tbaa !13
  %strided.vec5430 = shufflevector <8 x float> %wide.vec5429, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5431 = shufflevector <8 x float> %wide.vec5429, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4654 = fsub <4 x float> %strided.vec5430, %4651
  %4655 = fsub <4 x float> %strided.vec5431, %4653
  %interleaved.vec5432 = shufflevector <4 x float> %4654, <4 x float> %4655, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5432, ptr %4595, align 4, !tbaa !13
  %4656 = fmul <4 x float> %broadcast.splat5434, %4637
  %4657 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5436, <4 x float> %4656)
  %4658 = fmul <4 x float> %broadcast.splat5436, %4636
  %4659 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5434, <4 x float> %4658)
  %wide.vec5437 = load <8 x float>, ptr %4602, align 4, !tbaa !13
  %strided.vec5438 = shufflevector <8 x float> %wide.vec5437, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5439 = shufflevector <8 x float> %wide.vec5437, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4660 = fsub <4 x float> %strided.vec5438, %4657
  %4661 = fsub <4 x float> %strided.vec5439, %4659
  %interleaved.vec5440 = shufflevector <4 x float> %4660, <4 x float> %4661, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5440, ptr %4602, align 4, !tbaa !13
  %4662 = fmul <4 x float> %broadcast.splat5442, %4637
  %4663 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5444, <4 x float> %4662)
  %4664 = fmul <4 x float> %broadcast.splat5444, %4636
  %4665 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5442, <4 x float> %4664)
  %wide.vec5445 = load <8 x float>, ptr %4609, align 4, !tbaa !13
  %strided.vec5446 = shufflevector <8 x float> %wide.vec5445, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5447 = shufflevector <8 x float> %wide.vec5445, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4666 = fsub <4 x float> %strided.vec5446, %4663
  %4667 = fsub <4 x float> %strided.vec5447, %4665
  %interleaved.vec5448 = shufflevector <4 x float> %4666, <4 x float> %4667, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5448, ptr %4609, align 4, !tbaa !13
  %4668 = fmul <4 x float> %broadcast.splat5450, %4637
  %4669 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5452, <4 x float> %4668)
  %4670 = fmul <4 x float> %broadcast.splat5452, %4636
  %4671 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5450, <4 x float> %4670)
  %wide.vec5453 = load <8 x float>, ptr %4616, align 4, !tbaa !13
  %strided.vec5454 = shufflevector <8 x float> %wide.vec5453, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5455 = shufflevector <8 x float> %wide.vec5453, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4672 = fsub <4 x float> %strided.vec5454, %4669
  %4673 = fsub <4 x float> %strided.vec5455, %4671
  %interleaved.vec5456 = shufflevector <4 x float> %4672, <4 x float> %4673, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5456, ptr %4616, align 4, !tbaa !13
  %4674 = fmul <4 x float> %broadcast.splat5458, %4637
  %4675 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5460, <4 x float> %4674)
  %4676 = fmul <4 x float> %broadcast.splat5460, %4636
  %4677 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5458, <4 x float> %4676)
  %wide.vec5461 = load <8 x float>, ptr %4623, align 4, !tbaa !13
  %strided.vec5462 = shufflevector <8 x float> %wide.vec5461, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5463 = shufflevector <8 x float> %wide.vec5461, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4678 = fsub <4 x float> %strided.vec5462, %4675
  %4679 = fsub <4 x float> %strided.vec5463, %4677
  %interleaved.vec5464 = shufflevector <4 x float> %4678, <4 x float> %4679, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5464, ptr %4623, align 4, !tbaa !13
  %4680 = fmul <4 x float> %broadcast.splat5466, %4637
  %4681 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5468, <4 x float> %4680)
  %4682 = fmul <4 x float> %broadcast.splat5468, %4636
  %4683 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %4635, <4 x float> %broadcast.splat5466, <4 x float> %4682)
  %wide.vec5469 = load <8 x float>, ptr %4630, align 4, !tbaa !13
  %strided.vec5470 = shufflevector <8 x float> %wide.vec5469, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5471 = shufflevector <8 x float> %wide.vec5469, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %4684 = fsub <4 x float> %strided.vec5470, %4681
  %4685 = fsub <4 x float> %strided.vec5471, %4683
  %interleaved.vec5472 = shufflevector <4 x float> %4684, <4 x float> %4685, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5472, ptr %4630, align 4, !tbaa !13
  %index.next = add nuw i64 %index, 4
  %4686 = icmp eq i64 %index.next, %n.vec
  br i1 %4686, label %middle.block, label %vector.body, !llvm.loop !41

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %n.vec, %4422
  br i1 %cmp.n, label %.loopexit, label %scalar.ph.preheader

scalar.ph.preheader:                              ; preds = %middle.block, %vector.memcheck, %vector.scevcheck, %.lr.ph4629
  %indvars.iv4867.ph = phi i64 [ 1, %vector.memcheck ], [ 1, %vector.scevcheck ], [ 1, %.lr.ph4629 ], [ %ind.end, %middle.block ]
  %4687 = insertelement <2 x float> poison, float %4381, i64 0
  %4688 = insertelement <2 x float> %4687, float %4384, i64 1
  br label %scalar.ph

scalar.ph:                                        ; preds = %scalar.ph.preheader, %scalar.ph
  %indvars.iv4867 = phi i64 [ %indvars.iv.next4868, %scalar.ph ], [ %indvars.iv4867.ph, %scalar.ph.preheader ]
  %gep4944 = getelementptr %struct.complex, ptr %invariant.gep4943, i64 %indvars.iv4867
  %gep4946 = getelementptr %struct.complex, ptr %invariant.gep4945, i64 %indvars.iv4867
  %4689 = load float, ptr %gep4946, align 4, !tbaa !9
  %4690 = getelementptr inbounds i8, ptr %gep4946, i64 4
  %4691 = load float, ptr %4690, align 4, !tbaa !12
  %4692 = fmul float %4689, %4385
  %4693 = call float @llvm.fmuladd.f32(float %4384, float %4691, float %4692)
  %gep4948 = getelementptr %struct.complex, ptr %invariant.gep4947, i64 %indvars.iv4867
  %4694 = load float, ptr %gep4948, align 4, !tbaa !9
  %4695 = getelementptr inbounds i8, ptr %gep4948, i64 4
  %4696 = load float, ptr %4695, align 4, !tbaa !12
  %4697 = fmul float %4696, %4392
  %4698 = call float @llvm.fmuladd.f32(float %4390, float %4694, float %4697)
  %4699 = fmul float %4694, %4391
  %4700 = call float @llvm.fmuladd.f32(float %4390, float %4696, float %4699)
  %gep4950 = getelementptr %struct.complex, ptr %invariant.gep4949, i64 %indvars.iv4867
  %4701 = load float, ptr %gep4950, align 4, !tbaa !9
  %4702 = getelementptr inbounds i8, ptr %gep4950, i64 4
  %4703 = load float, ptr %4702, align 4, !tbaa !12
  %4704 = fmul float %4703, %4396
  %4705 = call float @llvm.fmuladd.f32(float %4394, float %4701, float %4704)
  %4706 = fmul float %4701, %4395
  %4707 = call float @llvm.fmuladd.f32(float %4394, float %4703, float %4706)
  %gep4952 = getelementptr %struct.complex, ptr %invariant.gep4951, i64 %indvars.iv4867
  %4708 = load float, ptr %gep4952, align 4, !tbaa !9
  %4709 = getelementptr inbounds i8, ptr %gep4952, i64 4
  %4710 = load float, ptr %4709, align 4, !tbaa !12
  %4711 = fmul float %4710, %4400
  %4712 = call float @llvm.fmuladd.f32(float %4398, float %4708, float %4711)
  %4713 = fmul float %4708, %4399
  %4714 = call float @llvm.fmuladd.f32(float %4398, float %4710, float %4713)
  %gep4954 = getelementptr %struct.complex, ptr %invariant.gep4953, i64 %indvars.iv4867
  %4715 = load float, ptr %gep4954, align 4, !tbaa !9
  %4716 = getelementptr inbounds i8, ptr %gep4954, i64 4
  %4717 = load float, ptr %4716, align 4, !tbaa !12
  %4718 = fmul float %4717, %4404
  %4719 = call float @llvm.fmuladd.f32(float %4402, float %4715, float %4718)
  %4720 = fmul float %4715, %4403
  %4721 = call float @llvm.fmuladd.f32(float %4402, float %4717, float %4720)
  %gep4956 = getelementptr %struct.complex, ptr %invariant.gep4955, i64 %indvars.iv4867
  %4722 = load float, ptr %gep4956, align 4, !tbaa !9
  %4723 = getelementptr inbounds i8, ptr %gep4956, i64 4
  %4724 = load float, ptr %4723, align 4, !tbaa !12
  %4725 = fmul float %4724, %4408
  %4726 = call float @llvm.fmuladd.f32(float %4406, float %4722, float %4725)
  %4727 = fmul float %4722, %4407
  %4728 = call float @llvm.fmuladd.f32(float %4406, float %4724, float %4727)
  %gep4958 = getelementptr %struct.complex, ptr %invariant.gep4957, i64 %indvars.iv4867
  %4729 = load float, ptr %gep4958, align 4, !tbaa !9
  %4730 = getelementptr inbounds i8, ptr %gep4958, i64 4
  %4731 = load float, ptr %4730, align 4, !tbaa !12
  %4732 = fmul float %4731, %4412
  %4733 = call float @llvm.fmuladd.f32(float %4410, float %4729, float %4732)
  %4734 = fmul float %4729, %4411
  %4735 = call float @llvm.fmuladd.f32(float %4410, float %4731, float %4734)
  %4736 = load <2 x float>, ptr %gep4944, align 4, !tbaa !13
  %4737 = extractelement <2 x float> %4736, i64 1
  %4738 = extractelement <2 x float> %4736, i64 0
  %4739 = shufflevector <2 x float> %4736, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %4740 = insertelement <2 x float> %4739, float %4691, i64 1
  %4741 = fmul <2 x float> %4740, %4388
  %4742 = insertelement <2 x float> %4736, float %4689, i64 1
  %4743 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4688, <2 x float> %4742, <2 x float> %4741)
  %4744 = fmul float %4738, %4382
  %4745 = call float @llvm.fmuladd.f32(float %4381, float %4737, float %4744)
  %shift6836 = shufflevector <2 x float> %4743, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %4746 = fadd <2 x float> %4743, %shift6836
  %4747 = extractelement <2 x float> %4746, i64 0
  %4748 = fadd float %4745, %4693
  %4749 = fadd float %4747, %4698
  %4750 = fadd float %4748, %4700
  %4751 = fadd float %4749, %4705
  %4752 = fadd float %4750, %4707
  %4753 = fadd float %4751, %4712
  %4754 = fadd float %4752, %4714
  %4755 = fadd float %4753, %4719
  %4756 = fadd float %4754, %4721
  %4757 = fadd float %4755, %4726
  %4758 = fadd float %4756, %4728
  %4759 = fadd float %4757, %4733
  %4760 = fadd float %4758, %4735
  %4761 = fneg float %4760
  %4762 = insertelement <2 x float> poison, float %4760, i64 0
  %4763 = insertelement <2 x float> %4762, float %4761, i64 1
  %4764 = fmul <2 x float> %4252, %4763
  %4765 = shufflevector <2 x float> %4764, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4766 = insertelement <2 x float> poison, float %4759, i64 0
  %4767 = shufflevector <2 x float> %4766, <2 x float> poison, <2 x i32> zeroinitializer
  %4768 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4252, <2 x float> %4765)
  %4769 = fsub <2 x float> %4736, %4768
  store <2 x float> %4769, ptr %gep4944, align 4, !tbaa !13
  %4770 = fmul <2 x float> %4269, %4763
  %4771 = shufflevector <2 x float> %4770, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4772 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4269, <2 x float> %4771)
  %4773 = load <2 x float>, ptr %gep4946, align 4, !tbaa !13
  %4774 = fsub <2 x float> %4773, %4772
  store <2 x float> %4774, ptr %gep4946, align 4, !tbaa !13
  %4775 = fmul <2 x float> %4286, %4763
  %4776 = shufflevector <2 x float> %4775, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4777 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4286, <2 x float> %4776)
  %4778 = load <2 x float>, ptr %gep4948, align 4, !tbaa !13
  %4779 = fsub <2 x float> %4778, %4777
  store <2 x float> %4779, ptr %gep4948, align 4, !tbaa !13
  %4780 = fmul <2 x float> %4303, %4763
  %4781 = shufflevector <2 x float> %4780, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4782 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4303, <2 x float> %4781)
  %4783 = load <2 x float>, ptr %gep4950, align 4, !tbaa !13
  %4784 = fsub <2 x float> %4783, %4782
  store <2 x float> %4784, ptr %gep4950, align 4, !tbaa !13
  %4785 = fmul <2 x float> %4320, %4763
  %4786 = shufflevector <2 x float> %4785, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4787 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4320, <2 x float> %4786)
  %4788 = load <2 x float>, ptr %gep4952, align 4, !tbaa !13
  %4789 = fsub <2 x float> %4788, %4787
  store <2 x float> %4789, ptr %gep4952, align 4, !tbaa !13
  %4790 = fmul <2 x float> %4337, %4763
  %4791 = shufflevector <2 x float> %4790, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4792 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4337, <2 x float> %4791)
  %4793 = load <2 x float>, ptr %gep4954, align 4, !tbaa !13
  %4794 = fsub <2 x float> %4793, %4792
  store <2 x float> %4794, ptr %gep4954, align 4, !tbaa !13
  %4795 = fmul <2 x float> %4354, %4763
  %4796 = shufflevector <2 x float> %4795, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4797 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4354, <2 x float> %4796)
  %4798 = load <2 x float>, ptr %gep4956, align 4, !tbaa !13
  %4799 = fsub <2 x float> %4798, %4797
  store <2 x float> %4799, ptr %gep4956, align 4, !tbaa !13
  %4800 = fmul <2 x float> %4371, %4763
  %4801 = shufflevector <2 x float> %4800, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4802 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4767, <2 x float> %4371, <2 x float> %4801)
  %4803 = load <2 x float>, ptr %gep4958, align 4, !tbaa !13
  %4804 = fsub <2 x float> %4803, %4802
  store <2 x float> %4804, ptr %gep4958, align 4, !tbaa !13
  %indvars.iv.next4868 = add nuw nsw i64 %indvars.iv4867, 1
  %exitcond4871.not = icmp eq i64 %indvars.iv.next4868, %wide.trip.count4870
  br i1 %exitcond4871.not, label %.loopexit, label %scalar.ph, !llvm.loop !42

4805:                                             ; preds = %2238
  %4806 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %4806, ptr %12, align 8, !tbaa !13
  %4807 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.018.0.vec.extract = extractelement <2 x float> %4807, i64 0
  %.sroa.018.4.vec.extract = extractelement <2 x float> %4807, i64 1
  %4808 = fneg float %.sroa.018.4.vec.extract
  %4809 = call ptr @_pCf(ptr noundef nonnull %10)
  %4810 = getelementptr inbounds i8, ptr %4809, i64 4
  store float %.sroa.018.0.vec.extract, ptr %4809, align 4
  store float %4808, ptr %4810, align 4
  %4811 = load float, ptr %4, align 4, !tbaa !9
  %4812 = getelementptr inbounds i8, ptr %4, i64 4
  %4813 = load float, ptr %4812, align 4, !tbaa !12
  %4814 = fneg float %4813
  %4815 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4816 = insertelement <2 x float> poison, float %4813, i64 0
  %4817 = insertelement <2 x float> %4816, float %4814, i64 1
  %4818 = fmul <2 x float> %4815, %4817
  %4819 = shufflevector <2 x float> %4818, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4820 = insertelement <2 x float> poison, float %4811, i64 0
  %4821 = shufflevector <2 x float> %4820, <2 x float> poison, <2 x i32> zeroinitializer
  %4822 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4821, <2 x float> %4815, <2 x float> %4819)
  store <2 x float> %4822, ptr %9, align 8, !tbaa !13
  %4823 = getelementptr inbounds i8, ptr %3, i64 8
  %4824 = load <2 x float>, ptr %4823, align 4, !tbaa !13
  store <2 x float> %4824, ptr %13, align 8, !tbaa !13
  %4825 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.017.0.vec.extract = extractelement <2 x float> %4825, i64 0
  %.sroa.017.4.vec.extract = extractelement <2 x float> %4825, i64 1
  %4826 = fneg float %.sroa.017.4.vec.extract
  %4827 = call ptr @_pCf(ptr noundef nonnull %10)
  %4828 = getelementptr inbounds i8, ptr %4827, i64 4
  store float %.sroa.017.0.vec.extract, ptr %4827, align 4
  store float %4826, ptr %4828, align 4
  %4829 = load float, ptr %4, align 4, !tbaa !9
  %4830 = load float, ptr %4812, align 4, !tbaa !12
  %4831 = fneg float %4830
  %4832 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4833 = insertelement <2 x float> poison, float %4830, i64 0
  %4834 = insertelement <2 x float> %4833, float %4831, i64 1
  %4835 = fmul <2 x float> %4832, %4834
  %4836 = shufflevector <2 x float> %4835, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4837 = insertelement <2 x float> poison, float %4829, i64 0
  %4838 = shufflevector <2 x float> %4837, <2 x float> poison, <2 x i32> zeroinitializer
  %4839 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4838, <2 x float> %4832, <2 x float> %4836)
  store <2 x float> %4839, ptr %9, align 8, !tbaa !13
  %4840 = getelementptr inbounds i8, ptr %3, i64 16
  %4841 = load <2 x float>, ptr %4840, align 4, !tbaa !13
  store <2 x float> %4841, ptr %14, align 8, !tbaa !13
  %4842 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.016.0.vec.extract = extractelement <2 x float> %4842, i64 0
  %.sroa.016.4.vec.extract = extractelement <2 x float> %4842, i64 1
  %4843 = fneg float %.sroa.016.4.vec.extract
  %4844 = call ptr @_pCf(ptr noundef nonnull %10)
  %4845 = getelementptr inbounds i8, ptr %4844, i64 4
  store float %.sroa.016.0.vec.extract, ptr %4844, align 4
  store float %4843, ptr %4845, align 4
  %4846 = load float, ptr %4, align 4, !tbaa !9
  %4847 = load float, ptr %4812, align 4, !tbaa !12
  %4848 = fneg float %4847
  %4849 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4850 = insertelement <2 x float> poison, float %4847, i64 0
  %4851 = insertelement <2 x float> %4850, float %4848, i64 1
  %4852 = fmul <2 x float> %4849, %4851
  %4853 = shufflevector <2 x float> %4852, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4854 = insertelement <2 x float> poison, float %4846, i64 0
  %4855 = shufflevector <2 x float> %4854, <2 x float> poison, <2 x i32> zeroinitializer
  %4856 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4855, <2 x float> %4849, <2 x float> %4853)
  store <2 x float> %4856, ptr %9, align 8, !tbaa !13
  %4857 = getelementptr inbounds i8, ptr %3, i64 24
  %4858 = load <2 x float>, ptr %4857, align 4, !tbaa !13
  store <2 x float> %4858, ptr %15, align 8, !tbaa !13
  %4859 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.015.0.vec.extract = extractelement <2 x float> %4859, i64 0
  %.sroa.015.4.vec.extract = extractelement <2 x float> %4859, i64 1
  %4860 = fneg float %.sroa.015.4.vec.extract
  %4861 = call ptr @_pCf(ptr noundef nonnull %10)
  %4862 = getelementptr inbounds i8, ptr %4861, i64 4
  store float %.sroa.015.0.vec.extract, ptr %4861, align 4
  store float %4860, ptr %4862, align 4
  %4863 = load float, ptr %4, align 4, !tbaa !9
  %4864 = load float, ptr %4812, align 4, !tbaa !12
  %4865 = fneg float %4864
  %4866 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4867 = insertelement <2 x float> poison, float %4864, i64 0
  %4868 = insertelement <2 x float> %4867, float %4865, i64 1
  %4869 = fmul <2 x float> %4866, %4868
  %4870 = shufflevector <2 x float> %4869, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4871 = insertelement <2 x float> poison, float %4863, i64 0
  %4872 = shufflevector <2 x float> %4871, <2 x float> poison, <2 x i32> zeroinitializer
  %4873 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4872, <2 x float> %4866, <2 x float> %4870)
  store <2 x float> %4873, ptr %9, align 8, !tbaa !13
  %4874 = getelementptr inbounds i8, ptr %3, i64 32
  %4875 = load <2 x float>, ptr %4874, align 4, !tbaa !13
  store <2 x float> %4875, ptr %16, align 8, !tbaa !13
  %4876 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.014.0.vec.extract = extractelement <2 x float> %4876, i64 0
  %.sroa.014.4.vec.extract = extractelement <2 x float> %4876, i64 1
  %4877 = fneg float %.sroa.014.4.vec.extract
  %4878 = call ptr @_pCf(ptr noundef nonnull %10)
  %4879 = getelementptr inbounds i8, ptr %4878, i64 4
  store float %.sroa.014.0.vec.extract, ptr %4878, align 4
  store float %4877, ptr %4879, align 4
  %4880 = load float, ptr %4, align 4, !tbaa !9
  %4881 = load float, ptr %4812, align 4, !tbaa !12
  %4882 = fneg float %4881
  %4883 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4884 = insertelement <2 x float> poison, float %4881, i64 0
  %4885 = insertelement <2 x float> %4884, float %4882, i64 1
  %4886 = fmul <2 x float> %4883, %4885
  %4887 = shufflevector <2 x float> %4886, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4888 = insertelement <2 x float> poison, float %4880, i64 0
  %4889 = shufflevector <2 x float> %4888, <2 x float> poison, <2 x i32> zeroinitializer
  %4890 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4889, <2 x float> %4883, <2 x float> %4887)
  store <2 x float> %4890, ptr %9, align 8, !tbaa !13
  %4891 = getelementptr inbounds i8, ptr %3, i64 40
  %4892 = load <2 x float>, ptr %4891, align 4, !tbaa !13
  store <2 x float> %4892, ptr %17, align 8, !tbaa !13
  %4893 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.013.0.vec.extract = extractelement <2 x float> %4893, i64 0
  %.sroa.013.4.vec.extract = extractelement <2 x float> %4893, i64 1
  %4894 = fneg float %.sroa.013.4.vec.extract
  %4895 = call ptr @_pCf(ptr noundef nonnull %10)
  %4896 = getelementptr inbounds i8, ptr %4895, i64 4
  store float %.sroa.013.0.vec.extract, ptr %4895, align 4
  store float %4894, ptr %4896, align 4
  %4897 = load float, ptr %4, align 4, !tbaa !9
  %4898 = load float, ptr %4812, align 4, !tbaa !12
  %4899 = fneg float %4898
  %4900 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4901 = insertelement <2 x float> poison, float %4898, i64 0
  %4902 = insertelement <2 x float> %4901, float %4899, i64 1
  %4903 = fmul <2 x float> %4900, %4902
  %4904 = shufflevector <2 x float> %4903, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4905 = insertelement <2 x float> poison, float %4897, i64 0
  %4906 = shufflevector <2 x float> %4905, <2 x float> poison, <2 x i32> zeroinitializer
  %4907 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4906, <2 x float> %4900, <2 x float> %4904)
  store <2 x float> %4907, ptr %9, align 8, !tbaa !13
  %4908 = getelementptr inbounds i8, ptr %3, i64 48
  %4909 = load <2 x float>, ptr %4908, align 4, !tbaa !13
  store <2 x float> %4909, ptr %18, align 8, !tbaa !13
  %4910 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.012.0.vec.extract = extractelement <2 x float> %4910, i64 0
  %.sroa.012.4.vec.extract = extractelement <2 x float> %4910, i64 1
  %4911 = fneg float %.sroa.012.4.vec.extract
  %4912 = call ptr @_pCf(ptr noundef nonnull %10)
  %4913 = getelementptr inbounds i8, ptr %4912, i64 4
  store float %.sroa.012.0.vec.extract, ptr %4912, align 4
  store float %4911, ptr %4913, align 4
  %4914 = load float, ptr %4, align 4, !tbaa !9
  %4915 = load float, ptr %4812, align 4, !tbaa !12
  %4916 = fneg float %4915
  %4917 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4918 = insertelement <2 x float> poison, float %4915, i64 0
  %4919 = insertelement <2 x float> %4918, float %4916, i64 1
  %4920 = fmul <2 x float> %4917, %4919
  %4921 = shufflevector <2 x float> %4920, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4922 = insertelement <2 x float> poison, float %4914, i64 0
  %4923 = shufflevector <2 x float> %4922, <2 x float> poison, <2 x i32> zeroinitializer
  %4924 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4923, <2 x float> %4917, <2 x float> %4921)
  store <2 x float> %4924, ptr %9, align 8, !tbaa !13
  %4925 = getelementptr inbounds i8, ptr %3, i64 56
  %4926 = load <2 x float>, ptr %4925, align 4, !tbaa !13
  store <2 x float> %4926, ptr %19, align 8, !tbaa !13
  %4927 = call <2 x float> @Cf(ptr noundef nonnull %19)
  %.sroa.011.0.vec.extract = extractelement <2 x float> %4927, i64 0
  %.sroa.011.4.vec.extract = extractelement <2 x float> %4927, i64 1
  %4928 = fneg float %.sroa.011.4.vec.extract
  %4929 = call ptr @_pCf(ptr noundef nonnull %10)
  %4930 = getelementptr inbounds i8, ptr %4929, i64 4
  store float %.sroa.011.0.vec.extract, ptr %4929, align 4
  store float %4928, ptr %4930, align 4
  %4931 = load float, ptr %4, align 4, !tbaa !9
  %4932 = load float, ptr %4812, align 4, !tbaa !12
  %4933 = fneg float %4932
  %4934 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4935 = insertelement <2 x float> poison, float %4932, i64 0
  %4936 = insertelement <2 x float> %4935, float %4933, i64 1
  %4937 = fmul <2 x float> %4934, %4936
  %4938 = shufflevector <2 x float> %4937, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4939 = insertelement <2 x float> poison, float %4931, i64 0
  %4940 = shufflevector <2 x float> %4939, <2 x float> poison, <2 x i32> zeroinitializer
  %4941 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4940, <2 x float> %4934, <2 x float> %4938)
  store <2 x float> %4941, ptr %9, align 8, !tbaa !13
  %4942 = getelementptr inbounds i8, ptr %3, i64 64
  %4943 = load <2 x float>, ptr %4942, align 4, !tbaa !13
  store <2 x float> %4943, ptr %20, align 8, !tbaa !13
  %4944 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %.sroa.010.0.vec.extract = extractelement <2 x float> %4944, i64 0
  %.sroa.010.4.vec.extract = extractelement <2 x float> %4944, i64 1
  %4945 = fneg float %.sroa.010.4.vec.extract
  %4946 = call ptr @_pCf(ptr noundef nonnull %10)
  %4947 = getelementptr inbounds i8, ptr %4946, i64 4
  store float %.sroa.010.0.vec.extract, ptr %4946, align 4
  store float %4945, ptr %4947, align 4
  %4948 = load float, ptr %4, align 4, !tbaa !9
  %4949 = load float, ptr %4812, align 4, !tbaa !12
  %4950 = fneg float %4949
  %4951 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4952 = insertelement <2 x float> poison, float %4949, i64 0
  %4953 = insertelement <2 x float> %4952, float %4950, i64 1
  %4954 = fmul <2 x float> %4951, %4953
  %4955 = shufflevector <2 x float> %4954, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4956 = insertelement <2 x float> poison, float %4948, i64 0
  %4957 = shufflevector <2 x float> %4956, <2 x float> poison, <2 x i32> zeroinitializer
  %4958 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4957, <2 x float> %4951, <2 x float> %4955)
  %4959 = load i32, ptr %1, align 4, !tbaa !5
  %.not44474616 = icmp slt i32 %4959, 1
  br i1 %.not44474616, label %.loopexit, label %.lr.ph4618

.lr.ph4618:                                       ; preds = %4805
  %4960 = getelementptr inbounds i8, ptr %20, i64 4
  %4961 = getelementptr inbounds i8, ptr %19, i64 4
  %4962 = getelementptr inbounds i8, ptr %18, i64 4
  %4963 = getelementptr inbounds i8, ptr %17, i64 4
  %4964 = getelementptr inbounds i8, ptr %16, i64 4
  %4965 = getelementptr inbounds i8, ptr %15, i64 4
  %4966 = getelementptr inbounds i8, ptr %14, i64 4
  %4967 = getelementptr inbounds i8, ptr %13, i64 4
  %4968 = getelementptr inbounds i8, ptr %12, i64 4
  %4969 = load float, ptr %12, align 8, !tbaa !9
  %4970 = load float, ptr %4968, align 4, !tbaa !12
  %4971 = shl i32 %22, 1
  %4972 = load float, ptr %13, align 8, !tbaa !9
  %4973 = load float, ptr %4967, align 4, !tbaa !12
  %4974 = insertelement <2 x float> poison, float %4970, i64 0
  %4975 = insertelement <2 x float> %4974, float %4973, i64 1
  %4976 = fneg <2 x float> %4975
  %4977 = mul nsw i32 %22, 3
  %4978 = load float, ptr %14, align 8, !tbaa !9
  %4979 = load float, ptr %4966, align 4, !tbaa !12
  %4980 = fneg float %4979
  %4981 = shl i32 %22, 2
  %4982 = load float, ptr %15, align 8, !tbaa !9
  %4983 = load float, ptr %4965, align 4, !tbaa !12
  %4984 = fneg float %4983
  %4985 = mul nsw i32 %22, 5
  %4986 = load float, ptr %16, align 8, !tbaa !9
  %4987 = load float, ptr %4964, align 4, !tbaa !12
  %4988 = fneg float %4987
  %4989 = mul nsw i32 %22, 6
  %4990 = load float, ptr %17, align 8, !tbaa !9
  %4991 = load float, ptr %4963, align 4, !tbaa !12
  %4992 = fneg float %4991
  %4993 = mul nsw i32 %22, 7
  %4994 = load float, ptr %18, align 8, !tbaa !9
  %4995 = load float, ptr %4962, align 4, !tbaa !12
  %4996 = fneg float %4995
  %4997 = shl i32 %22, 3
  %4998 = load float, ptr %19, align 8, !tbaa !9
  %4999 = load float, ptr %4961, align 4, !tbaa !12
  %5000 = fneg float %4999
  %5001 = mul nsw i32 %22, 9
  %5002 = load float, ptr %20, align 8, !tbaa !9
  %5003 = load float, ptr %4960, align 4, !tbaa !12
  %5004 = fneg float %5003
  %5005 = sext i32 %22 to i64
  %5006 = sext i32 %4971 to i64
  %5007 = sext i32 %4977 to i64
  %5008 = sext i32 %4981 to i64
  %5009 = sext i32 %4985 to i64
  %5010 = sext i32 %4989 to i64
  %5011 = sext i32 %4993 to i64
  %5012 = sext i32 %4997 to i64
  %5013 = sext i32 %5001 to i64
  %5014 = add nuw i32 %4959, 1
  %wide.trip.count4865 = zext i32 %5014 to i64
  %invariant.gep4925 = getelementptr %struct.complex, ptr %24, i64 %5005
  %invariant.gep4927 = getelementptr %struct.complex, ptr %24, i64 %5006
  %invariant.gep4929 = getelementptr %struct.complex, ptr %24, i64 %5007
  %invariant.gep4931 = getelementptr %struct.complex, ptr %24, i64 %5008
  %invariant.gep4933 = getelementptr %struct.complex, ptr %24, i64 %5009
  %invariant.gep4935 = getelementptr %struct.complex, ptr %24, i64 %5010
  %invariant.gep4937 = getelementptr %struct.complex, ptr %24, i64 %5011
  %invariant.gep4939 = getelementptr %struct.complex, ptr %24, i64 %5012
  %invariant.gep4941 = getelementptr %struct.complex, ptr %24, i64 %5013
  %5015 = insertelement <2 x float> poison, float %4969, i64 0
  %5016 = insertelement <2 x float> %5015, float %4972, i64 1
  br label %5017

5017:                                             ; preds = %.lr.ph4618, %5017
  %indvars.iv4862 = phi i64 [ 1, %.lr.ph4618 ], [ %indvars.iv.next4863, %5017 ]
  %gep4926 = getelementptr %struct.complex, ptr %invariant.gep4925, i64 %indvars.iv4862
  %5018 = load float, ptr %gep4926, align 4, !tbaa !9
  %5019 = getelementptr inbounds i8, ptr %gep4926, i64 4
  %5020 = load float, ptr %5019, align 4, !tbaa !12
  %gep4928 = getelementptr %struct.complex, ptr %invariant.gep4927, i64 %indvars.iv4862
  %5021 = load float, ptr %gep4928, align 4, !tbaa !9
  %5022 = getelementptr inbounds i8, ptr %gep4928, i64 4
  %5023 = load float, ptr %5022, align 4, !tbaa !12
  %5024 = insertelement <2 x float> poison, float %5020, i64 0
  %5025 = insertelement <2 x float> %5024, float %5023, i64 1
  %5026 = fmul <2 x float> %5025, %4976
  %5027 = insertelement <2 x float> poison, float %5018, i64 0
  %5028 = insertelement <2 x float> %5027, float %5021, i64 1
  %5029 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5016, <2 x float> %5028, <2 x float> %5026)
  %5030 = fmul <2 x float> %5028, %4975
  %5031 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5016, <2 x float> %5025, <2 x float> %5030)
  %shift6837 = shufflevector <2 x float> %5029, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %5032 = fadd <2 x float> %5029, %shift6837
  %5033 = extractelement <2 x float> %5032, i64 0
  %shift6838 = shufflevector <2 x float> %5031, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %5034 = fadd <2 x float> %5031, %shift6838
  %5035 = extractelement <2 x float> %5034, i64 0
  %gep4930 = getelementptr %struct.complex, ptr %invariant.gep4929, i64 %indvars.iv4862
  %5036 = load float, ptr %gep4930, align 4, !tbaa !9
  %5037 = getelementptr inbounds i8, ptr %gep4930, i64 4
  %5038 = load float, ptr %5037, align 4, !tbaa !12
  %5039 = fmul float %5038, %4980
  %5040 = call float @llvm.fmuladd.f32(float %4978, float %5036, float %5039)
  %5041 = fmul float %5036, %4979
  %5042 = call float @llvm.fmuladd.f32(float %4978, float %5038, float %5041)
  %5043 = fadd float %5033, %5040
  %5044 = fadd float %5035, %5042
  %gep4932 = getelementptr %struct.complex, ptr %invariant.gep4931, i64 %indvars.iv4862
  %5045 = load float, ptr %gep4932, align 4, !tbaa !9
  %5046 = getelementptr inbounds i8, ptr %gep4932, i64 4
  %5047 = load float, ptr %5046, align 4, !tbaa !12
  %5048 = fmul float %5047, %4984
  %5049 = call float @llvm.fmuladd.f32(float %4982, float %5045, float %5048)
  %5050 = fmul float %5045, %4983
  %5051 = call float @llvm.fmuladd.f32(float %4982, float %5047, float %5050)
  %5052 = fadd float %5043, %5049
  %5053 = fadd float %5044, %5051
  %gep4934 = getelementptr %struct.complex, ptr %invariant.gep4933, i64 %indvars.iv4862
  %5054 = load float, ptr %gep4934, align 4, !tbaa !9
  %5055 = getelementptr inbounds i8, ptr %gep4934, i64 4
  %5056 = load float, ptr %5055, align 4, !tbaa !12
  %5057 = fmul float %5056, %4988
  %5058 = call float @llvm.fmuladd.f32(float %4986, float %5054, float %5057)
  %5059 = fmul float %5054, %4987
  %5060 = call float @llvm.fmuladd.f32(float %4986, float %5056, float %5059)
  %5061 = fadd float %5052, %5058
  %5062 = fadd float %5053, %5060
  %gep4936 = getelementptr %struct.complex, ptr %invariant.gep4935, i64 %indvars.iv4862
  %5063 = load float, ptr %gep4936, align 4, !tbaa !9
  %5064 = getelementptr inbounds i8, ptr %gep4936, i64 4
  %5065 = load float, ptr %5064, align 4, !tbaa !12
  %5066 = fmul float %5065, %4992
  %5067 = call float @llvm.fmuladd.f32(float %4990, float %5063, float %5066)
  %5068 = fmul float %5063, %4991
  %5069 = call float @llvm.fmuladd.f32(float %4990, float %5065, float %5068)
  %5070 = fadd float %5061, %5067
  %5071 = fadd float %5062, %5069
  %gep4938 = getelementptr %struct.complex, ptr %invariant.gep4937, i64 %indvars.iv4862
  %5072 = load float, ptr %gep4938, align 4, !tbaa !9
  %5073 = getelementptr inbounds i8, ptr %gep4938, i64 4
  %5074 = load float, ptr %5073, align 4, !tbaa !12
  %5075 = fmul float %5074, %4996
  %5076 = call float @llvm.fmuladd.f32(float %4994, float %5072, float %5075)
  %5077 = fmul float %5072, %4995
  %5078 = call float @llvm.fmuladd.f32(float %4994, float %5074, float %5077)
  %5079 = fadd float %5070, %5076
  %5080 = fadd float %5071, %5078
  %gep4940 = getelementptr %struct.complex, ptr %invariant.gep4939, i64 %indvars.iv4862
  %5081 = load float, ptr %gep4940, align 4, !tbaa !9
  %5082 = getelementptr inbounds i8, ptr %gep4940, i64 4
  %5083 = load float, ptr %5082, align 4, !tbaa !12
  %5084 = fmul float %5083, %5000
  %5085 = call float @llvm.fmuladd.f32(float %4998, float %5081, float %5084)
  %5086 = fmul float %5081, %4999
  %5087 = call float @llvm.fmuladd.f32(float %4998, float %5083, float %5086)
  %5088 = fadd float %5079, %5085
  %5089 = fadd float %5080, %5087
  %gep4942 = getelementptr %struct.complex, ptr %invariant.gep4941, i64 %indvars.iv4862
  %5090 = load float, ptr %gep4942, align 4, !tbaa !9
  %5091 = getelementptr inbounds i8, ptr %gep4942, i64 4
  %5092 = load float, ptr %5091, align 4, !tbaa !12
  %5093 = fmul float %5092, %5004
  %5094 = call float @llvm.fmuladd.f32(float %5002, float %5090, float %5093)
  %5095 = fmul float %5090, %5003
  %5096 = call float @llvm.fmuladd.f32(float %5002, float %5092, float %5095)
  %5097 = fadd float %5088, %5094
  %5098 = fadd float %5096, %5089
  %5099 = fneg float %5098
  %5100 = insertelement <2 x float> poison, float %5098, i64 0
  %5101 = insertelement <2 x float> %5100, float %5099, i64 1
  %5102 = fmul <2 x float> %4822, %5101
  %5103 = shufflevector <2 x float> %5102, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5104 = insertelement <2 x float> poison, float %5097, i64 0
  %5105 = shufflevector <2 x float> %5104, <2 x float> poison, <2 x i32> zeroinitializer
  %5106 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4822, <2 x float> %5103)
  %5107 = load <2 x float>, ptr %gep4926, align 4, !tbaa !13
  %5108 = fsub <2 x float> %5107, %5106
  store <2 x float> %5108, ptr %gep4926, align 4, !tbaa !13
  %5109 = fmul <2 x float> %4839, %5101
  %5110 = shufflevector <2 x float> %5109, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5111 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4839, <2 x float> %5110)
  %5112 = load <2 x float>, ptr %gep4928, align 4, !tbaa !13
  %5113 = fsub <2 x float> %5112, %5111
  store <2 x float> %5113, ptr %gep4928, align 4, !tbaa !13
  %5114 = fmul <2 x float> %4856, %5101
  %5115 = shufflevector <2 x float> %5114, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5116 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4856, <2 x float> %5115)
  %5117 = load <2 x float>, ptr %gep4930, align 4, !tbaa !13
  %5118 = fsub <2 x float> %5117, %5116
  store <2 x float> %5118, ptr %gep4930, align 4, !tbaa !13
  %5119 = fmul <2 x float> %4873, %5101
  %5120 = shufflevector <2 x float> %5119, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5121 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4873, <2 x float> %5120)
  %5122 = load <2 x float>, ptr %gep4932, align 4, !tbaa !13
  %5123 = fsub <2 x float> %5122, %5121
  store <2 x float> %5123, ptr %gep4932, align 4, !tbaa !13
  %5124 = fmul <2 x float> %4890, %5101
  %5125 = shufflevector <2 x float> %5124, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5126 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4890, <2 x float> %5125)
  %5127 = load <2 x float>, ptr %gep4934, align 4, !tbaa !13
  %5128 = fsub <2 x float> %5127, %5126
  store <2 x float> %5128, ptr %gep4934, align 4, !tbaa !13
  %5129 = fmul <2 x float> %4907, %5101
  %5130 = shufflevector <2 x float> %5129, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5131 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4907, <2 x float> %5130)
  %5132 = load <2 x float>, ptr %gep4936, align 4, !tbaa !13
  %5133 = fsub <2 x float> %5132, %5131
  store <2 x float> %5133, ptr %gep4936, align 4, !tbaa !13
  %5134 = fmul <2 x float> %4924, %5101
  %5135 = shufflevector <2 x float> %5134, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5136 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4924, <2 x float> %5135)
  %5137 = load <2 x float>, ptr %gep4938, align 4, !tbaa !13
  %5138 = fsub <2 x float> %5137, %5136
  store <2 x float> %5138, ptr %gep4938, align 4, !tbaa !13
  %5139 = fmul <2 x float> %4941, %5101
  %5140 = shufflevector <2 x float> %5139, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5141 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4941, <2 x float> %5140)
  %5142 = load <2 x float>, ptr %gep4940, align 4, !tbaa !13
  %5143 = fsub <2 x float> %5142, %5141
  store <2 x float> %5143, ptr %gep4940, align 4, !tbaa !13
  %5144 = fmul <2 x float> %4958, %5101
  %5145 = shufflevector <2 x float> %5144, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5146 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5105, <2 x float> %4958, <2 x float> %5145)
  %5147 = load <2 x float>, ptr %gep4942, align 4, !tbaa !13
  %5148 = fsub <2 x float> %5147, %5146
  store <2 x float> %5148, ptr %gep4942, align 4, !tbaa !13
  %indvars.iv.next4863 = add nuw nsw i64 %indvars.iv4862, 1
  %exitcond4866.not = icmp eq i64 %indvars.iv.next4863, %wide.trip.count4865
  br i1 %exitcond4866.not, label %.loopexit, label %5017, !llvm.loop !43

5149:                                             ; preds = %2238
  %5150 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %5150, ptr %12, align 8, !tbaa !13
  %5151 = call <2 x float> @Cf(ptr noundef nonnull %12)
  %.sroa.09.0.vec.extract = extractelement <2 x float> %5151, i64 0
  %.sroa.09.4.vec.extract = extractelement <2 x float> %5151, i64 1
  %5152 = fneg float %.sroa.09.4.vec.extract
  %5153 = call ptr @_pCf(ptr noundef nonnull %10)
  %5154 = getelementptr inbounds i8, ptr %5153, i64 4
  store float %.sroa.09.0.vec.extract, ptr %5153, align 4
  store float %5152, ptr %5154, align 4
  %5155 = load float, ptr %4, align 4, !tbaa !9
  %5156 = getelementptr inbounds i8, ptr %4, i64 4
  %5157 = load float, ptr %5156, align 4, !tbaa !12
  %5158 = fneg float %5157
  %5159 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5160 = insertelement <2 x float> poison, float %5157, i64 0
  %5161 = insertelement <2 x float> %5160, float %5158, i64 1
  %5162 = fmul <2 x float> %5159, %5161
  %5163 = shufflevector <2 x float> %5162, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5164 = insertelement <2 x float> poison, float %5155, i64 0
  %5165 = shufflevector <2 x float> %5164, <2 x float> poison, <2 x i32> zeroinitializer
  %5166 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5165, <2 x float> %5159, <2 x float> %5163)
  store <2 x float> %5166, ptr %9, align 8, !tbaa !13
  %5167 = getelementptr inbounds i8, ptr %3, i64 8
  %5168 = load <2 x float>, ptr %5167, align 4, !tbaa !13
  store <2 x float> %5168, ptr %13, align 8, !tbaa !13
  %5169 = call <2 x float> @Cf(ptr noundef nonnull %13)
  %.sroa.08.0.vec.extract = extractelement <2 x float> %5169, i64 0
  %.sroa.08.4.vec.extract = extractelement <2 x float> %5169, i64 1
  %5170 = fneg float %.sroa.08.4.vec.extract
  %5171 = call ptr @_pCf(ptr noundef nonnull %10)
  %5172 = getelementptr inbounds i8, ptr %5171, i64 4
  store float %.sroa.08.0.vec.extract, ptr %5171, align 4
  store float %5170, ptr %5172, align 4
  %5173 = load float, ptr %4, align 4, !tbaa !9
  %5174 = load float, ptr %5156, align 4, !tbaa !12
  %5175 = fneg float %5174
  %5176 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5177 = insertelement <2 x float> poison, float %5174, i64 0
  %5178 = insertelement <2 x float> %5177, float %5175, i64 1
  %5179 = fmul <2 x float> %5176, %5178
  %5180 = shufflevector <2 x float> %5179, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5181 = insertelement <2 x float> poison, float %5173, i64 0
  %5182 = shufflevector <2 x float> %5181, <2 x float> poison, <2 x i32> zeroinitializer
  %5183 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5182, <2 x float> %5176, <2 x float> %5180)
  store <2 x float> %5183, ptr %9, align 8, !tbaa !13
  %5184 = getelementptr inbounds i8, ptr %3, i64 16
  %5185 = load <2 x float>, ptr %5184, align 4, !tbaa !13
  store <2 x float> %5185, ptr %14, align 8, !tbaa !13
  %5186 = call <2 x float> @Cf(ptr noundef nonnull %14)
  %.sroa.07.0.vec.extract = extractelement <2 x float> %5186, i64 0
  %.sroa.07.4.vec.extract = extractelement <2 x float> %5186, i64 1
  %5187 = fneg float %.sroa.07.4.vec.extract
  %5188 = call ptr @_pCf(ptr noundef nonnull %10)
  %5189 = getelementptr inbounds i8, ptr %5188, i64 4
  store float %.sroa.07.0.vec.extract, ptr %5188, align 4
  store float %5187, ptr %5189, align 4
  %5190 = load float, ptr %4, align 4, !tbaa !9
  %5191 = load float, ptr %5156, align 4, !tbaa !12
  %5192 = fneg float %5191
  %5193 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5194 = insertelement <2 x float> poison, float %5191, i64 0
  %5195 = insertelement <2 x float> %5194, float %5192, i64 1
  %5196 = fmul <2 x float> %5193, %5195
  %5197 = shufflevector <2 x float> %5196, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5198 = insertelement <2 x float> poison, float %5190, i64 0
  %5199 = shufflevector <2 x float> %5198, <2 x float> poison, <2 x i32> zeroinitializer
  %5200 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5199, <2 x float> %5193, <2 x float> %5197)
  store <2 x float> %5200, ptr %9, align 8, !tbaa !13
  %5201 = getelementptr inbounds i8, ptr %3, i64 24
  %5202 = load <2 x float>, ptr %5201, align 4, !tbaa !13
  store <2 x float> %5202, ptr %15, align 8, !tbaa !13
  %5203 = call <2 x float> @Cf(ptr noundef nonnull %15)
  %.sroa.06.0.vec.extract = extractelement <2 x float> %5203, i64 0
  %.sroa.06.4.vec.extract = extractelement <2 x float> %5203, i64 1
  %5204 = fneg float %.sroa.06.4.vec.extract
  %5205 = call ptr @_pCf(ptr noundef nonnull %10)
  %5206 = getelementptr inbounds i8, ptr %5205, i64 4
  store float %.sroa.06.0.vec.extract, ptr %5205, align 4
  store float %5204, ptr %5206, align 4
  %5207 = load float, ptr %4, align 4, !tbaa !9
  %5208 = load float, ptr %5156, align 4, !tbaa !12
  %5209 = fneg float %5208
  %5210 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5211 = insertelement <2 x float> poison, float %5208, i64 0
  %5212 = insertelement <2 x float> %5211, float %5209, i64 1
  %5213 = fmul <2 x float> %5210, %5212
  %5214 = shufflevector <2 x float> %5213, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5215 = insertelement <2 x float> poison, float %5207, i64 0
  %5216 = shufflevector <2 x float> %5215, <2 x float> poison, <2 x i32> zeroinitializer
  %5217 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5216, <2 x float> %5210, <2 x float> %5214)
  store <2 x float> %5217, ptr %9, align 8, !tbaa !13
  %5218 = getelementptr inbounds i8, ptr %3, i64 32
  %5219 = load <2 x float>, ptr %5218, align 4, !tbaa !13
  store <2 x float> %5219, ptr %16, align 8, !tbaa !13
  %5220 = call <2 x float> @Cf(ptr noundef nonnull %16)
  %.sroa.05.0.vec.extract = extractelement <2 x float> %5220, i64 0
  %.sroa.05.4.vec.extract = extractelement <2 x float> %5220, i64 1
  %5221 = fneg float %.sroa.05.4.vec.extract
  %5222 = call ptr @_pCf(ptr noundef nonnull %10)
  %5223 = getelementptr inbounds i8, ptr %5222, i64 4
  store float %.sroa.05.0.vec.extract, ptr %5222, align 4
  store float %5221, ptr %5223, align 4
  %5224 = load float, ptr %4, align 4, !tbaa !9
  %5225 = load float, ptr %5156, align 4, !tbaa !12
  %5226 = fneg float %5225
  %5227 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5228 = insertelement <2 x float> poison, float %5225, i64 0
  %5229 = insertelement <2 x float> %5228, float %5226, i64 1
  %5230 = fmul <2 x float> %5227, %5229
  %5231 = shufflevector <2 x float> %5230, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5232 = insertelement <2 x float> poison, float %5224, i64 0
  %5233 = shufflevector <2 x float> %5232, <2 x float> poison, <2 x i32> zeroinitializer
  %5234 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5233, <2 x float> %5227, <2 x float> %5231)
  store <2 x float> %5234, ptr %9, align 8, !tbaa !13
  %5235 = getelementptr inbounds i8, ptr %3, i64 40
  %5236 = load <2 x float>, ptr %5235, align 4, !tbaa !13
  store <2 x float> %5236, ptr %17, align 8, !tbaa !13
  %5237 = call <2 x float> @Cf(ptr noundef nonnull %17)
  %.sroa.04.0.vec.extract = extractelement <2 x float> %5237, i64 0
  %.sroa.04.4.vec.extract = extractelement <2 x float> %5237, i64 1
  %5238 = fneg float %.sroa.04.4.vec.extract
  %5239 = call ptr @_pCf(ptr noundef nonnull %10)
  %5240 = getelementptr inbounds i8, ptr %5239, i64 4
  store float %.sroa.04.0.vec.extract, ptr %5239, align 4
  store float %5238, ptr %5240, align 4
  %5241 = load float, ptr %4, align 4, !tbaa !9
  %5242 = load float, ptr %5156, align 4, !tbaa !12
  %5243 = fneg float %5242
  %5244 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5245 = insertelement <2 x float> poison, float %5242, i64 0
  %5246 = insertelement <2 x float> %5245, float %5243, i64 1
  %5247 = fmul <2 x float> %5244, %5246
  %5248 = shufflevector <2 x float> %5247, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5249 = insertelement <2 x float> poison, float %5241, i64 0
  %5250 = shufflevector <2 x float> %5249, <2 x float> poison, <2 x i32> zeroinitializer
  %5251 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5250, <2 x float> %5244, <2 x float> %5248)
  store <2 x float> %5251, ptr %9, align 8, !tbaa !13
  %5252 = getelementptr inbounds i8, ptr %3, i64 48
  %5253 = load <2 x float>, ptr %5252, align 4, !tbaa !13
  store <2 x float> %5253, ptr %18, align 8, !tbaa !13
  %5254 = call <2 x float> @Cf(ptr noundef nonnull %18)
  %.sroa.03.0.vec.extract = extractelement <2 x float> %5254, i64 0
  %.sroa.03.4.vec.extract = extractelement <2 x float> %5254, i64 1
  %5255 = fneg float %.sroa.03.4.vec.extract
  %5256 = call ptr @_pCf(ptr noundef nonnull %10)
  %5257 = getelementptr inbounds i8, ptr %5256, i64 4
  store float %.sroa.03.0.vec.extract, ptr %5256, align 4
  store float %5255, ptr %5257, align 4
  %5258 = load float, ptr %4, align 4, !tbaa !9
  %5259 = load float, ptr %5156, align 4, !tbaa !12
  %5260 = fneg float %5259
  %5261 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5262 = insertelement <2 x float> poison, float %5259, i64 0
  %5263 = insertelement <2 x float> %5262, float %5260, i64 1
  %5264 = fmul <2 x float> %5261, %5263
  %5265 = shufflevector <2 x float> %5264, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5266 = insertelement <2 x float> poison, float %5258, i64 0
  %5267 = shufflevector <2 x float> %5266, <2 x float> poison, <2 x i32> zeroinitializer
  %5268 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5267, <2 x float> %5261, <2 x float> %5265)
  store <2 x float> %5268, ptr %9, align 8, !tbaa !13
  %5269 = getelementptr inbounds i8, ptr %3, i64 56
  %5270 = load <2 x float>, ptr %5269, align 4, !tbaa !13
  store <2 x float> %5270, ptr %19, align 8, !tbaa !13
  %5271 = call <2 x float> @Cf(ptr noundef nonnull %19)
  %.sroa.02.0.vec.extract = extractelement <2 x float> %5271, i64 0
  %.sroa.02.4.vec.extract = extractelement <2 x float> %5271, i64 1
  %5272 = fneg float %.sroa.02.4.vec.extract
  %5273 = call ptr @_pCf(ptr noundef nonnull %10)
  %5274 = getelementptr inbounds i8, ptr %5273, i64 4
  store float %.sroa.02.0.vec.extract, ptr %5273, align 4
  store float %5272, ptr %5274, align 4
  %5275 = load float, ptr %4, align 4, !tbaa !9
  %5276 = load float, ptr %5156, align 4, !tbaa !12
  %5277 = fneg float %5276
  %5278 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5279 = insertelement <2 x float> poison, float %5276, i64 0
  %5280 = insertelement <2 x float> %5279, float %5277, i64 1
  %5281 = fmul <2 x float> %5278, %5280
  %5282 = shufflevector <2 x float> %5281, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5283 = insertelement <2 x float> poison, float %5275, i64 0
  %5284 = shufflevector <2 x float> %5283, <2 x float> poison, <2 x i32> zeroinitializer
  %5285 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5284, <2 x float> %5278, <2 x float> %5282)
  store <2 x float> %5285, ptr %9, align 8, !tbaa !13
  %5286 = getelementptr inbounds i8, ptr %3, i64 64
  %5287 = load <2 x float>, ptr %5286, align 4, !tbaa !13
  store <2 x float> %5287, ptr %20, align 8, !tbaa !13
  %5288 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %.sroa.01.0.vec.extract = extractelement <2 x float> %5288, i64 0
  %.sroa.01.4.vec.extract = extractelement <2 x float> %5288, i64 1
  %5289 = fneg float %.sroa.01.4.vec.extract
  %5290 = call ptr @_pCf(ptr noundef nonnull %10)
  %5291 = getelementptr inbounds i8, ptr %5290, i64 4
  store float %.sroa.01.0.vec.extract, ptr %5290, align 4
  store float %5289, ptr %5291, align 4
  %5292 = load float, ptr %4, align 4, !tbaa !9
  %5293 = load float, ptr %5156, align 4, !tbaa !12
  %5294 = fneg float %5293
  %5295 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5296 = insertelement <2 x float> poison, float %5293, i64 0
  %5297 = insertelement <2 x float> %5296, float %5294, i64 1
  %5298 = fmul <2 x float> %5295, %5297
  %5299 = shufflevector <2 x float> %5298, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5300 = insertelement <2 x float> poison, float %5292, i64 0
  %5301 = shufflevector <2 x float> %5300, <2 x float> poison, <2 x i32> zeroinitializer
  %5302 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5301, <2 x float> %5295, <2 x float> %5299)
  store <2 x float> %5302, ptr %9, align 8, !tbaa !13
  %5303 = getelementptr inbounds i8, ptr %3, i64 72
  %5304 = load <2 x float>, ptr %5303, align 4, !tbaa !13
  store <2 x float> %5304, ptr %21, align 8, !tbaa !13
  %5305 = call <2 x float> @Cf(ptr noundef nonnull %21)
  %.sroa.0.0.vec.extract = extractelement <2 x float> %5305, i64 0
  %.sroa.0.4.vec.extract = extractelement <2 x float> %5305, i64 1
  %5306 = fneg float %.sroa.0.4.vec.extract
  %5307 = call ptr @_pCf(ptr noundef nonnull %10)
  %5308 = getelementptr inbounds i8, ptr %5307, i64 4
  store float %.sroa.0.0.vec.extract, ptr %5307, align 4
  store float %5306, ptr %5308, align 4
  %5309 = load float, ptr %4, align 4, !tbaa !9
  %5310 = load float, ptr %5156, align 4, !tbaa !12
  %5311 = fneg float %5310
  %5312 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %5313 = insertelement <2 x float> poison, float %5310, i64 0
  %5314 = insertelement <2 x float> %5313, float %5311, i64 1
  %5315 = fmul <2 x float> %5312, %5314
  %5316 = shufflevector <2 x float> %5315, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5317 = insertelement <2 x float> poison, float %5309, i64 0
  %5318 = shufflevector <2 x float> %5317, <2 x float> poison, <2 x i32> zeroinitializer
  %5319 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5318, <2 x float> %5312, <2 x float> %5316)
  %5320 = load i32, ptr %1, align 4, !tbaa !5
  %.not44464603 = icmp slt i32 %5320, 1
  br i1 %.not44464603, label %.loopexit, label %.lr.ph4605

.lr.ph4605:                                       ; preds = %5149
  %5321 = getelementptr inbounds i8, ptr %21, i64 4
  %5322 = getelementptr inbounds i8, ptr %20, i64 4
  %5323 = getelementptr inbounds i8, ptr %19, i64 4
  %5324 = getelementptr inbounds i8, ptr %18, i64 4
  %5325 = getelementptr inbounds i8, ptr %17, i64 4
  %5326 = getelementptr inbounds i8, ptr %16, i64 4
  %5327 = getelementptr inbounds i8, ptr %15, i64 4
  %5328 = getelementptr inbounds i8, ptr %14, i64 4
  %5329 = getelementptr inbounds i8, ptr %13, i64 4
  %5330 = getelementptr inbounds i8, ptr %12, i64 4
  %5331 = load float, ptr %12, align 8, !tbaa !9
  %5332 = load float, ptr %5330, align 4, !tbaa !12
  %5333 = shl i32 %22, 1
  %5334 = load float, ptr %13, align 8, !tbaa !9
  %5335 = load float, ptr %5329, align 4, !tbaa !12
  %5336 = insertelement <2 x float> poison, float %5332, i64 0
  %5337 = insertelement <2 x float> %5336, float %5335, i64 1
  %5338 = fneg <2 x float> %5337
  %5339 = mul nsw i32 %22, 3
  %5340 = load float, ptr %14, align 8, !tbaa !9
  %5341 = load float, ptr %5328, align 4, !tbaa !12
  %5342 = fneg float %5341
  %5343 = shl i32 %22, 2
  %5344 = load float, ptr %15, align 8, !tbaa !9
  %5345 = load float, ptr %5327, align 4, !tbaa !12
  %5346 = fneg float %5345
  %5347 = mul nsw i32 %22, 5
  %5348 = load float, ptr %16, align 8, !tbaa !9
  %5349 = load float, ptr %5326, align 4, !tbaa !12
  %5350 = fneg float %5349
  %5351 = mul nsw i32 %22, 6
  %5352 = load float, ptr %17, align 8, !tbaa !9
  %5353 = load float, ptr %5325, align 4, !tbaa !12
  %5354 = fneg float %5353
  %5355 = mul nsw i32 %22, 7
  %5356 = load float, ptr %18, align 8, !tbaa !9
  %5357 = load float, ptr %5324, align 4, !tbaa !12
  %5358 = fneg float %5357
  %5359 = shl i32 %22, 3
  %5360 = load float, ptr %19, align 8, !tbaa !9
  %5361 = load float, ptr %5323, align 4, !tbaa !12
  %5362 = fneg float %5361
  %5363 = mul nsw i32 %22, 9
  %5364 = load float, ptr %20, align 8, !tbaa !9
  %5365 = load float, ptr %5322, align 4, !tbaa !12
  %5366 = fneg float %5365
  %5367 = mul nsw i32 %22, 10
  %5368 = load float, ptr %21, align 8, !tbaa !9
  %5369 = load float, ptr %5321, align 4, !tbaa !12
  %5370 = fneg float %5369
  %5371 = sext i32 %22 to i64
  %5372 = sext i32 %5333 to i64
  %5373 = sext i32 %5339 to i64
  %5374 = sext i32 %5343 to i64
  %5375 = sext i32 %5347 to i64
  %5376 = sext i32 %5351 to i64
  %5377 = sext i32 %5355 to i64
  %5378 = sext i32 %5359 to i64
  %5379 = sext i32 %5363 to i64
  %5380 = sext i32 %5367 to i64
  %5381 = add nuw i32 %5320, 1
  %wide.trip.count4860 = zext i32 %5381 to i64
  %invariant.gep = getelementptr %struct.complex, ptr %24, i64 %5371
  %invariant.gep4907 = getelementptr %struct.complex, ptr %24, i64 %5372
  %invariant.gep4909 = getelementptr %struct.complex, ptr %24, i64 %5373
  %invariant.gep4911 = getelementptr %struct.complex, ptr %24, i64 %5374
  %invariant.gep4913 = getelementptr %struct.complex, ptr %24, i64 %5375
  %invariant.gep4915 = getelementptr %struct.complex, ptr %24, i64 %5376
  %invariant.gep4917 = getelementptr %struct.complex, ptr %24, i64 %5377
  %invariant.gep4919 = getelementptr %struct.complex, ptr %24, i64 %5378
  %invariant.gep4921 = getelementptr %struct.complex, ptr %24, i64 %5379
  %invariant.gep4923 = getelementptr %struct.complex, ptr %24, i64 %5380
  %5382 = insertelement <2 x float> poison, float %5331, i64 0
  %5383 = insertelement <2 x float> %5382, float %5334, i64 1
  br label %5384

5384:                                             ; preds = %.lr.ph4605, %5384
  %indvars.iv4857 = phi i64 [ 1, %.lr.ph4605 ], [ %indvars.iv.next4858, %5384 ]
  %gep = getelementptr %struct.complex, ptr %invariant.gep, i64 %indvars.iv4857
  %5385 = load float, ptr %gep, align 4, !tbaa !9
  %5386 = getelementptr inbounds i8, ptr %gep, i64 4
  %5387 = load float, ptr %5386, align 4, !tbaa !12
  %gep4908 = getelementptr %struct.complex, ptr %invariant.gep4907, i64 %indvars.iv4857
  %5388 = load float, ptr %gep4908, align 4, !tbaa !9
  %5389 = getelementptr inbounds i8, ptr %gep4908, i64 4
  %5390 = load float, ptr %5389, align 4, !tbaa !12
  %5391 = insertelement <2 x float> poison, float %5387, i64 0
  %5392 = insertelement <2 x float> %5391, float %5390, i64 1
  %5393 = fmul <2 x float> %5392, %5338
  %5394 = insertelement <2 x float> poison, float %5385, i64 0
  %5395 = insertelement <2 x float> %5394, float %5388, i64 1
  %5396 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5383, <2 x float> %5395, <2 x float> %5393)
  %5397 = fmul <2 x float> %5395, %5337
  %5398 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5383, <2 x float> %5392, <2 x float> %5397)
  %shift6839 = shufflevector <2 x float> %5396, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %5399 = fadd <2 x float> %5396, %shift6839
  %5400 = extractelement <2 x float> %5399, i64 0
  %shift6840 = shufflevector <2 x float> %5398, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %5401 = fadd <2 x float> %5398, %shift6840
  %5402 = extractelement <2 x float> %5401, i64 0
  %gep4910 = getelementptr %struct.complex, ptr %invariant.gep4909, i64 %indvars.iv4857
  %5403 = load float, ptr %gep4910, align 4, !tbaa !9
  %5404 = getelementptr inbounds i8, ptr %gep4910, i64 4
  %5405 = load float, ptr %5404, align 4, !tbaa !12
  %5406 = fmul float %5405, %5342
  %5407 = call float @llvm.fmuladd.f32(float %5340, float %5403, float %5406)
  %5408 = fmul float %5403, %5341
  %5409 = call float @llvm.fmuladd.f32(float %5340, float %5405, float %5408)
  %5410 = fadd float %5400, %5407
  %5411 = fadd float %5402, %5409
  %gep4912 = getelementptr %struct.complex, ptr %invariant.gep4911, i64 %indvars.iv4857
  %5412 = load float, ptr %gep4912, align 4, !tbaa !9
  %5413 = getelementptr inbounds i8, ptr %gep4912, i64 4
  %5414 = load float, ptr %5413, align 4, !tbaa !12
  %5415 = fmul float %5414, %5346
  %5416 = call float @llvm.fmuladd.f32(float %5344, float %5412, float %5415)
  %5417 = fmul float %5412, %5345
  %5418 = call float @llvm.fmuladd.f32(float %5344, float %5414, float %5417)
  %5419 = fadd float %5410, %5416
  %5420 = fadd float %5411, %5418
  %gep4914 = getelementptr %struct.complex, ptr %invariant.gep4913, i64 %indvars.iv4857
  %5421 = load float, ptr %gep4914, align 4, !tbaa !9
  %5422 = getelementptr inbounds i8, ptr %gep4914, i64 4
  %5423 = load float, ptr %5422, align 4, !tbaa !12
  %5424 = fmul float %5423, %5350
  %5425 = call float @llvm.fmuladd.f32(float %5348, float %5421, float %5424)
  %5426 = fmul float %5421, %5349
  %5427 = call float @llvm.fmuladd.f32(float %5348, float %5423, float %5426)
  %5428 = fadd float %5419, %5425
  %5429 = fadd float %5420, %5427
  %gep4916 = getelementptr %struct.complex, ptr %invariant.gep4915, i64 %indvars.iv4857
  %5430 = load float, ptr %gep4916, align 4, !tbaa !9
  %5431 = getelementptr inbounds i8, ptr %gep4916, i64 4
  %5432 = load float, ptr %5431, align 4, !tbaa !12
  %5433 = fmul float %5432, %5354
  %5434 = call float @llvm.fmuladd.f32(float %5352, float %5430, float %5433)
  %5435 = fmul float %5430, %5353
  %5436 = call float @llvm.fmuladd.f32(float %5352, float %5432, float %5435)
  %5437 = fadd float %5428, %5434
  %5438 = fadd float %5429, %5436
  %gep4918 = getelementptr %struct.complex, ptr %invariant.gep4917, i64 %indvars.iv4857
  %5439 = load float, ptr %gep4918, align 4, !tbaa !9
  %5440 = getelementptr inbounds i8, ptr %gep4918, i64 4
  %5441 = load float, ptr %5440, align 4, !tbaa !12
  %5442 = fmul float %5441, %5358
  %5443 = call float @llvm.fmuladd.f32(float %5356, float %5439, float %5442)
  %5444 = fmul float %5439, %5357
  %5445 = call float @llvm.fmuladd.f32(float %5356, float %5441, float %5444)
  %5446 = fadd float %5437, %5443
  %5447 = fadd float %5438, %5445
  %gep4920 = getelementptr %struct.complex, ptr %invariant.gep4919, i64 %indvars.iv4857
  %5448 = load float, ptr %gep4920, align 4, !tbaa !9
  %5449 = getelementptr inbounds i8, ptr %gep4920, i64 4
  %5450 = load float, ptr %5449, align 4, !tbaa !12
  %5451 = fmul float %5450, %5362
  %5452 = call float @llvm.fmuladd.f32(float %5360, float %5448, float %5451)
  %5453 = fmul float %5448, %5361
  %5454 = call float @llvm.fmuladd.f32(float %5360, float %5450, float %5453)
  %5455 = fadd float %5446, %5452
  %5456 = fadd float %5447, %5454
  %gep4922 = getelementptr %struct.complex, ptr %invariant.gep4921, i64 %indvars.iv4857
  %5457 = load float, ptr %gep4922, align 4, !tbaa !9
  %5458 = getelementptr inbounds i8, ptr %gep4922, i64 4
  %5459 = load float, ptr %5458, align 4, !tbaa !12
  %5460 = fmul float %5459, %5366
  %5461 = call float @llvm.fmuladd.f32(float %5364, float %5457, float %5460)
  %5462 = fmul float %5457, %5365
  %5463 = call float @llvm.fmuladd.f32(float %5364, float %5459, float %5462)
  %5464 = fadd float %5455, %5461
  %5465 = fadd float %5456, %5463
  %gep4924 = getelementptr %struct.complex, ptr %invariant.gep4923, i64 %indvars.iv4857
  %5466 = load float, ptr %gep4924, align 4, !tbaa !9
  %5467 = getelementptr inbounds i8, ptr %gep4924, i64 4
  %5468 = load float, ptr %5467, align 4, !tbaa !12
  %5469 = fmul float %5468, %5370
  %5470 = call float @llvm.fmuladd.f32(float %5368, float %5466, float %5469)
  %5471 = fmul float %5466, %5369
  %5472 = call float @llvm.fmuladd.f32(float %5368, float %5468, float %5471)
  %5473 = fadd float %5464, %5470
  %5474 = fadd float %5472, %5465
  %5475 = fneg float %5474
  %5476 = insertelement <2 x float> poison, float %5474, i64 0
  %5477 = insertelement <2 x float> %5476, float %5475, i64 1
  %5478 = fmul <2 x float> %5166, %5477
  %5479 = shufflevector <2 x float> %5478, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5480 = insertelement <2 x float> poison, float %5473, i64 0
  %5481 = shufflevector <2 x float> %5480, <2 x float> poison, <2 x i32> zeroinitializer
  %5482 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5166, <2 x float> %5479)
  %5483 = load <2 x float>, ptr %gep, align 4, !tbaa !13
  %5484 = fsub <2 x float> %5483, %5482
  store <2 x float> %5484, ptr %gep, align 4, !tbaa !13
  %5485 = fmul <2 x float> %5183, %5477
  %5486 = shufflevector <2 x float> %5485, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5487 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5183, <2 x float> %5486)
  %5488 = load <2 x float>, ptr %gep4908, align 4, !tbaa !13
  %5489 = fsub <2 x float> %5488, %5487
  store <2 x float> %5489, ptr %gep4908, align 4, !tbaa !13
  %5490 = fmul <2 x float> %5200, %5477
  %5491 = shufflevector <2 x float> %5490, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5492 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5200, <2 x float> %5491)
  %5493 = load <2 x float>, ptr %gep4910, align 4, !tbaa !13
  %5494 = fsub <2 x float> %5493, %5492
  store <2 x float> %5494, ptr %gep4910, align 4, !tbaa !13
  %5495 = fmul <2 x float> %5217, %5477
  %5496 = shufflevector <2 x float> %5495, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5497 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5217, <2 x float> %5496)
  %5498 = load <2 x float>, ptr %gep4912, align 4, !tbaa !13
  %5499 = fsub <2 x float> %5498, %5497
  store <2 x float> %5499, ptr %gep4912, align 4, !tbaa !13
  %5500 = fmul <2 x float> %5234, %5477
  %5501 = shufflevector <2 x float> %5500, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5502 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5234, <2 x float> %5501)
  %5503 = load <2 x float>, ptr %gep4914, align 4, !tbaa !13
  %5504 = fsub <2 x float> %5503, %5502
  store <2 x float> %5504, ptr %gep4914, align 4, !tbaa !13
  %5505 = fmul <2 x float> %5251, %5477
  %5506 = shufflevector <2 x float> %5505, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5507 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5251, <2 x float> %5506)
  %5508 = load <2 x float>, ptr %gep4916, align 4, !tbaa !13
  %5509 = fsub <2 x float> %5508, %5507
  store <2 x float> %5509, ptr %gep4916, align 4, !tbaa !13
  %5510 = fmul <2 x float> %5268, %5477
  %5511 = shufflevector <2 x float> %5510, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5512 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5268, <2 x float> %5511)
  %5513 = load <2 x float>, ptr %gep4918, align 4, !tbaa !13
  %5514 = fsub <2 x float> %5513, %5512
  store <2 x float> %5514, ptr %gep4918, align 4, !tbaa !13
  %5515 = fmul <2 x float> %5285, %5477
  %5516 = shufflevector <2 x float> %5515, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5517 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5285, <2 x float> %5516)
  %5518 = load <2 x float>, ptr %gep4920, align 4, !tbaa !13
  %5519 = fsub <2 x float> %5518, %5517
  store <2 x float> %5519, ptr %gep4920, align 4, !tbaa !13
  %5520 = fmul <2 x float> %5302, %5477
  %5521 = shufflevector <2 x float> %5520, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5522 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5302, <2 x float> %5521)
  %5523 = load <2 x float>, ptr %gep4922, align 4, !tbaa !13
  %5524 = fsub <2 x float> %5523, %5522
  store <2 x float> %5524, ptr %gep4922, align 4, !tbaa !13
  %5525 = fmul <2 x float> %5319, %5477
  %5526 = shufflevector <2 x float> %5525, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5527 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %5481, <2 x float> %5319, <2 x float> %5526)
  %5528 = load <2 x float>, ptr %gep4924, align 4, !tbaa !13
  %5529 = fsub <2 x float> %5528, %5527
  store <2 x float> %5529, ptr %gep4924, align 4, !tbaa !13
  %indvars.iv.next4858 = add nuw nsw i64 %indvars.iv4857, 1
  %exitcond4861.not = icmp eq i64 %indvars.iv.next4858, %wide.trip.count4860
  br i1 %exitcond4861.not, label %.loopexit, label %5384, !llvm.loop !44

.loopexit.loopexit6850.unr-lcssa:                 ; preds = %71, %.lr.ph4596
  %indvars.iv4852.unr = phi i64 [ 1, %.lr.ph4596 ], [ %indvars.iv.next4853.1, %71 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.loopexit, label %.loopexit.loopexit6850.epilog-lcssa

.loopexit.loopexit6850.epilog-lcssa:              ; preds = %.loopexit.loopexit6850.unr-lcssa
  %5530 = mul nsw i64 %indvars.iv4852.unr, %64
  %5531 = getelementptr %struct.complex, ptr %24, i64 %5530
  %5532 = getelementptr i8, ptr %5531, i64 8
  %5533 = load <2 x float>, ptr %5532, align 4, !tbaa !13
  %5534 = fmul <2 x float> %5533, %68
  %5535 = shufflevector <2 x float> %5534, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %5536 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %66, <2 x float> %5533, <2 x float> %5535)
  store <2 x float> %5536, ptr %5532, align 4, !tbaa !13
  br label %.loopexit

.loopexit:                                        ; preds = %2109, %1728, %1393, %1087, %827, %596, %411, %255, %146, %.loopexit.loopexit6850.epilog-lcssa, %.loopexit.loopexit6850.unr-lcssa, %5384, %5017, %scalar.ph, %scalar.ph5727, %scalar.ph6049, %scalar.ph6302, %scalar.ph6494, %scalar.ph6633, %scalar.ph6727, %scalar.ph6771, %middle.block, %middle.block5726, %middle.block6048, %middle.block6301, %middle.block6493, %middle.block6632, %middle.block6726, %middle.block6770, %1833, %1480, %1171, %893, %659, %456, %297, %169, %5149, %4805, %4235, %3740, %3312, %2951, %2657, %2436, %82, %36, %2286, %2241, %35, %2240, %27
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  ret void
}

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

declare i32 @lsame_(ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @clarf_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden <2 x float> @Cf(ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden ptr @_pCf(ptr noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <4 x float> @llvm.fmuladd.v4f32(<4 x float>, <4 x float>, <4 x float>) #6

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x float> @llvm.fmuladd.v2f32(<2 x float>, <2 x float>, <2 x float>) #6

attributes #0 = { nounwind uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { inlinehint nounwind uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"", !11, i64 0, !11, i64 4}
!11 = !{!"float", !7, i64 0}
!12 = !{!10, !11, i64 4}
!13 = !{!11, !11, i64 0}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = distinct !{!16, !15}
!17 = distinct !{!17, !15}
!18 = distinct !{!18, !15}
!19 = distinct !{!19, !15}
!20 = distinct !{!20, !15}
!21 = distinct !{!21, !15}
!22 = distinct !{!22, !15}
!23 = distinct !{!23, !15}
!24 = distinct !{!24, !15}
!25 = distinct !{!25, !15, !26, !27}
!26 = !{!"llvm.loop.isvectorized", i32 1}
!27 = !{!"llvm.loop.unroll.runtime.disable"}
!28 = distinct !{!28, !15, !27, !26}
!29 = distinct !{!29, !15, !26, !27}
!30 = distinct !{!30, !15, !26}
!31 = distinct !{!31, !15, !26, !27}
!32 = distinct !{!32, !15, !26}
!33 = distinct !{!33, !15, !26, !27}
!34 = distinct !{!34, !15, !26}
!35 = distinct !{!35, !15, !26, !27}
!36 = distinct !{!36, !15, !26}
!37 = distinct !{!37, !15, !26, !27}
!38 = distinct !{!38, !15, !26}
!39 = distinct !{!39, !15, !26, !27}
!40 = distinct !{!40, !15, !26}
!41 = distinct !{!41, !15, !26, !27}
!42 = distinct !{!42, !15, !26}
!43 = distinct !{!43, !15}
!44 = distinct !{!44, !15}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalDCEPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LICMPass,LoopLoadEliminationPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,LoopVectorizePass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass