; LLVM IR from niuyishuai/PDCABB :: LAPACK_BLAS/LAPACK (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 i64, align 8

; Function Attrs: nounwind uwtable
define dso_local i32 @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 i32, align 4
  %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 ptr, align 8
  %18 = alloca i64, align 8
  %19 = alloca i64, align 8
  %20 = alloca i64, align 8
  %21 = alloca i64, align 8
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %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 %struct.complex, align 4
  %50 = alloca i64, align 8
  %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 %struct.complex, align 4
  %72 = alloca i32, align 4
  store ptr %0, ptr %10, align 8, !tbaa !5
  store ptr %1, ptr %11, align 8, !tbaa !5
  store ptr %2, ptr %12, align 8, !tbaa !5
  store ptr %3, ptr %13, align 8, !tbaa !5
  store ptr %4, ptr %14, align 8, !tbaa !5
  store ptr %5, ptr %15, align 8, !tbaa !5
  store ptr %6, ptr %16, align 8, !tbaa !5
  store ptr %7, ptr %17, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #4
  %73 = load ptr, ptr %13, align 8, !tbaa !5
  %74 = getelementptr inbounds %struct.complex, ptr %73, i32 -1
  store ptr %74, ptr %13, align 8, !tbaa !5
  %75 = load ptr, ptr %16, align 8, !tbaa !5
  %76 = load i64, ptr %75, align 8, !tbaa !9
  store i64 %76, ptr %18, align 8, !tbaa !9
  %77 = load i64, ptr %18, align 8, !tbaa !9
  %78 = add nsw i64 1, %77
  store i64 %78, ptr %19, align 8, !tbaa !9
  %79 = load i64, ptr %19, align 8, !tbaa !9
  %80 = load ptr, ptr %15, align 8, !tbaa !5
  %81 = sub i64 0, %79
  %82 = getelementptr inbounds %struct.complex, ptr %80, i64 %81
  store ptr %82, ptr %15, align 8, !tbaa !5
  %83 = load ptr, ptr %17, align 8, !tbaa !5
  %84 = getelementptr inbounds %struct.complex, ptr %83, i32 -1
  store ptr %84, ptr %17, align 8, !tbaa !5
  %85 = load ptr, ptr %14, align 8, !tbaa !5
  %86 = getelementptr inbounds %struct.complex, ptr %85, i32 0, i32 0
  %87 = load float, ptr %86, align 4, !tbaa !11
  %88 = fcmp oeq float %87, 0.000000e+00
  br i1 %88, label %89, label %95

89:                                               ; preds = %8
  %90 = load ptr, ptr %14, align 8, !tbaa !5
  %91 = getelementptr inbounds %struct.complex, ptr %90, i32 0, i32 1
  %92 = load float, ptr %91, align 4, !tbaa !14
  %93 = fcmp oeq float %92, 0.000000e+00
  br i1 %93, label %94, label %95

94:                                               ; preds = %89
  store i32 0, ptr %9, align 4
  store i32 1, ptr %72, align 4
  br label %17147

95:                                               ; preds = %89, %8
  %96 = load ptr, ptr %10, align 8, !tbaa !5
  %97 = call i64 @lsame_(ptr noundef %96, ptr noundef @.str)
  %98 = icmp ne i64 %97, 0
  br i1 %98, label %99, label %8583

99:                                               ; preds = %95
  %100 = load ptr, ptr %11, align 8, !tbaa !5
  %101 = load i64, ptr %100, align 8, !tbaa !9
  switch i64 %101, label %112 [
    i64 1, label %102
    i64 2, label %103
    i64 3, label %104
    i64 4, label %105
    i64 5, label %106
    i64 6, label %107
    i64 7, label %108
    i64 8, label %109
    i64 9, label %110
    i64 10, label %111
  ]

102:                                              ; preds = %99
  br label %126

103:                                              ; preds = %99
  br label %267

104:                                              ; preds = %99
  br label %579

105:                                              ; preds = %99
  br label %1044

106:                                              ; preds = %99
  br label %1662

107:                                              ; preds = %99
  br label %2433

108:                                              ; preds = %99
  br label %3357

109:                                              ; preds = %99
  br label %4434

110:                                              ; preds = %99
  br label %5664

111:                                              ; preds = %99
  br label %7047

112:                                              ; preds = %99
  %113 = load ptr, ptr %10, align 8, !tbaa !5
  %114 = load ptr, ptr %11, align 8, !tbaa !5
  %115 = load ptr, ptr %12, align 8, !tbaa !5
  %116 = load ptr, ptr %13, align 8, !tbaa !5
  %117 = getelementptr inbounds %struct.complex, ptr %116, i64 1
  %118 = load ptr, ptr %14, align 8, !tbaa !5
  %119 = load ptr, ptr %15, align 8, !tbaa !5
  %120 = load i64, ptr %19, align 8, !tbaa !9
  %121 = getelementptr inbounds %struct.complex, ptr %119, i64 %120
  %122 = load ptr, ptr %16, align 8, !tbaa !5
  %123 = load ptr, ptr %17, align 8, !tbaa !5
  %124 = getelementptr inbounds %struct.complex, ptr %123, i64 1
  %125 = call i32 @clarf_(ptr noundef %113, ptr noundef %114, ptr noundef %115, ptr noundef %117, ptr noundef @c__1, ptr noundef %118, ptr noundef %121, ptr noundef %122, ptr noundef %124)
  br label %17146

126:                                              ; preds = %102
  %127 = load ptr, ptr %14, align 8, !tbaa !5
  %128 = getelementptr inbounds %struct.complex, ptr %127, i32 0, i32 0
  %129 = load float, ptr %128, align 4, !tbaa !11
  %130 = load ptr, ptr %13, align 8, !tbaa !5
  %131 = getelementptr inbounds %struct.complex, ptr %130, i64 1
  %132 = getelementptr inbounds %struct.complex, ptr %131, i32 0, i32 0
  %133 = load float, ptr %132, align 4, !tbaa !11
  %134 = load ptr, ptr %14, align 8, !tbaa !5
  %135 = getelementptr inbounds %struct.complex, ptr %134, i32 0, i32 1
  %136 = load float, ptr %135, align 4, !tbaa !14
  %137 = load ptr, ptr %13, align 8, !tbaa !5
  %138 = getelementptr inbounds %struct.complex, ptr %137, i64 1
  %139 = getelementptr inbounds %struct.complex, ptr %138, i32 0, i32 1
  %140 = load float, ptr %139, align 4, !tbaa !14
  %141 = fmul float %136, %140
  %142 = fneg float %141
  %143 = call float @llvm.fmuladd.f32(float %129, float %133, float %142)
  %144 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %143, ptr %144, align 4, !tbaa !11
  %145 = load ptr, ptr %14, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.complex, ptr %145, i32 0, i32 0
  %147 = load float, ptr %146, align 4, !tbaa !11
  %148 = load ptr, ptr %13, align 8, !tbaa !5
  %149 = getelementptr inbounds %struct.complex, ptr %148, i64 1
  %150 = getelementptr inbounds %struct.complex, ptr %149, i32 0, i32 1
  %151 = load float, ptr %150, align 4, !tbaa !14
  %152 = load ptr, ptr %14, align 8, !tbaa !5
  %153 = getelementptr inbounds %struct.complex, ptr %152, i32 0, i32 1
  %154 = load float, ptr %153, align 4, !tbaa !14
  %155 = load ptr, ptr %13, align 8, !tbaa !5
  %156 = getelementptr inbounds %struct.complex, ptr %155, i64 1
  %157 = getelementptr inbounds %struct.complex, ptr %156, i32 0, i32 0
  %158 = load float, ptr %157, align 4, !tbaa !11
  %159 = fmul float %154, %158
  %160 = call float @llvm.fmuladd.f32(float %147, float %151, float %159)
  %161 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %160, ptr %161, align 4, !tbaa !14
  %162 = load ptr, ptr %13, align 8, !tbaa !5
  %163 = getelementptr inbounds %struct.complex, ptr %162, i64 1
  call void @r_cnjg(ptr noundef %34, ptr noundef %163)
  %164 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %165 = load float, ptr %164, align 4, !tbaa !11
  %166 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %167 = load float, ptr %166, align 4, !tbaa !11
  %168 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %169 = load float, ptr %168, align 4, !tbaa !14
  %170 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %171 = load float, ptr %170, align 4, !tbaa !14
  %172 = fmul float %169, %171
  %173 = fneg float %172
  %174 = call float @llvm.fmuladd.f32(float %165, float %167, float %173)
  %175 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %174, ptr %175, align 4, !tbaa !11
  %176 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %177 = load float, ptr %176, align 4, !tbaa !11
  %178 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %179 = load float, ptr %178, align 4, !tbaa !14
  %180 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %181 = load float, ptr %180, align 4, !tbaa !14
  %182 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %183 = load float, ptr %182, align 4, !tbaa !11
  %184 = fmul float %181, %183
  %185 = call float @llvm.fmuladd.f32(float %177, float %179, float %184)
  %186 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %185, ptr %186, align 4, !tbaa !14
  %187 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %188 = load float, ptr %187, align 4, !tbaa !11
  %189 = fsub float 1.000000e+00, %188
  %190 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %189, ptr %190, align 4, !tbaa !11
  %191 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %192 = load float, ptr %191, align 4, !tbaa !14
  %193 = fsub float 0.000000e+00, %192
  %194 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %193, ptr %194, align 4, !tbaa !14
  %195 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %196 = load float, ptr %195, align 4, !tbaa !11
  %197 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %196, ptr %197, align 4, !tbaa !11
  %198 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %199 = load float, ptr %198, align 4, !tbaa !14
  %200 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %199, ptr %200, align 4, !tbaa !14
  %201 = load ptr, ptr %12, align 8, !tbaa !5
  %202 = load i64, ptr %201, align 8, !tbaa !9
  store i64 %202, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %203

203:                                              ; preds = %263, %126
  %204 = load i64, ptr %50, align 8, !tbaa !9
  %205 = load i64, ptr %20, align 8, !tbaa !9
  %206 = icmp sle i64 %204, %205
  br i1 %206, label %207, label %266

207:                                              ; preds = %203
  %208 = load i64, ptr %50, align 8, !tbaa !9
  %209 = load i64, ptr %18, align 8, !tbaa !9
  %210 = mul nsw i64 %208, %209
  %211 = add nsw i64 %210, 1
  store i64 %211, ptr %21, align 8, !tbaa !9
  %212 = load i64, ptr %50, align 8, !tbaa !9
  %213 = load i64, ptr %18, align 8, !tbaa !9
  %214 = mul nsw i64 %212, %213
  %215 = add nsw i64 %214, 1
  store i64 %215, ptr %22, align 8, !tbaa !9
  %216 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %217 = load float, ptr %216, align 4, !tbaa !11
  %218 = load ptr, ptr %15, align 8, !tbaa !5
  %219 = load i64, ptr %22, align 8, !tbaa !9
  %220 = getelementptr inbounds %struct.complex, ptr %218, i64 %219
  %221 = getelementptr inbounds %struct.complex, ptr %220, i32 0, i32 0
  %222 = load float, ptr %221, align 4, !tbaa !11
  %223 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %224 = load float, ptr %223, align 4, !tbaa !14
  %225 = load ptr, ptr %15, align 8, !tbaa !5
  %226 = load i64, ptr %22, align 8, !tbaa !9
  %227 = getelementptr inbounds %struct.complex, ptr %225, i64 %226
  %228 = getelementptr inbounds %struct.complex, ptr %227, i32 0, i32 1
  %229 = load float, ptr %228, align 4, !tbaa !14
  %230 = fmul float %224, %229
  %231 = fneg float %230
  %232 = call float @llvm.fmuladd.f32(float %217, float %222, float %231)
  %233 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %232, ptr %233, align 4, !tbaa !11
  %234 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %235 = load float, ptr %234, align 4, !tbaa !11
  %236 = load ptr, ptr %15, align 8, !tbaa !5
  %237 = load i64, ptr %22, align 8, !tbaa !9
  %238 = getelementptr inbounds %struct.complex, ptr %236, i64 %237
  %239 = getelementptr inbounds %struct.complex, ptr %238, i32 0, i32 1
  %240 = load float, ptr %239, align 4, !tbaa !14
  %241 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %242 = load float, ptr %241, align 4, !tbaa !14
  %243 = load ptr, ptr %15, align 8, !tbaa !5
  %244 = load i64, ptr %22, align 8, !tbaa !9
  %245 = getelementptr inbounds %struct.complex, ptr %243, i64 %244
  %246 = getelementptr inbounds %struct.complex, ptr %245, i32 0, i32 0
  %247 = load float, ptr %246, align 4, !tbaa !11
  %248 = fmul float %242, %247
  %249 = call float @llvm.fmuladd.f32(float %235, float %240, float %248)
  %250 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %249, ptr %250, align 4, !tbaa !14
  %251 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %252 = load float, ptr %251, align 4, !tbaa !11
  %253 = load ptr, ptr %15, align 8, !tbaa !5
  %254 = load i64, ptr %21, align 8, !tbaa !9
  %255 = getelementptr inbounds %struct.complex, ptr %253, i64 %254
  %256 = getelementptr inbounds %struct.complex, ptr %255, i32 0, i32 0
  store float %252, ptr %256, align 4, !tbaa !11
  %257 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %258 = load float, ptr %257, align 4, !tbaa !14
  %259 = load ptr, ptr %15, align 8, !tbaa !5
  %260 = load i64, ptr %21, align 8, !tbaa !9
  %261 = getelementptr inbounds %struct.complex, ptr %259, i64 %260
  %262 = getelementptr inbounds %struct.complex, ptr %261, i32 0, i32 1
  store float %258, ptr %262, align 4, !tbaa !14
  br label %263

263:                                              ; preds = %207
  %264 = load i64, ptr %50, align 8, !tbaa !9
  %265 = add nsw i64 %264, 1
  store i64 %265, ptr %50, align 8, !tbaa !9
  br label %203, !llvm.loop !15

266:                                              ; preds = %203
  br label %17146

267:                                              ; preds = %103
  %268 = load ptr, ptr %13, align 8, !tbaa !5
  %269 = getelementptr inbounds %struct.complex, ptr %268, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %269)
  %270 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %271 = load float, ptr %270, align 4, !tbaa !11
  %272 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %271, ptr %272, align 4, !tbaa !11
  %273 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %274 = load float, ptr %273, align 4, !tbaa !14
  %275 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %274, ptr %275, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %276 = load ptr, ptr %14, align 8, !tbaa !5
  %277 = getelementptr inbounds %struct.complex, ptr %276, i32 0, i32 0
  %278 = load float, ptr %277, align 4, !tbaa !11
  %279 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %280 = load float, ptr %279, align 4, !tbaa !11
  %281 = load ptr, ptr %14, align 8, !tbaa !5
  %282 = getelementptr inbounds %struct.complex, ptr %281, i32 0, i32 1
  %283 = load float, ptr %282, align 4, !tbaa !14
  %284 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %285 = load float, ptr %284, align 4, !tbaa !14
  %286 = fmul float %283, %285
  %287 = fneg float %286
  %288 = call float @llvm.fmuladd.f32(float %278, float %280, float %287)
  %289 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %288, ptr %289, align 4, !tbaa !11
  %290 = load ptr, ptr %14, align 8, !tbaa !5
  %291 = getelementptr inbounds %struct.complex, ptr %290, i32 0, i32 0
  %292 = load float, ptr %291, align 4, !tbaa !11
  %293 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %294 = load float, ptr %293, align 4, !tbaa !14
  %295 = load ptr, ptr %14, align 8, !tbaa !5
  %296 = getelementptr inbounds %struct.complex, ptr %295, i32 0, i32 1
  %297 = load float, ptr %296, align 4, !tbaa !14
  %298 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %299 = load float, ptr %298, align 4, !tbaa !11
  %300 = fmul float %297, %299
  %301 = call float @llvm.fmuladd.f32(float %292, float %294, float %300)
  %302 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %301, ptr %302, align 4, !tbaa !14
  %303 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %304 = load float, ptr %303, align 4, !tbaa !11
  %305 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %304, ptr %305, align 4, !tbaa !11
  %306 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %307 = load float, ptr %306, align 4, !tbaa !14
  %308 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %307, ptr %308, align 4, !tbaa !14
  %309 = load ptr, ptr %13, align 8, !tbaa !5
  %310 = getelementptr inbounds %struct.complex, ptr %309, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %310)
  %311 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %312 = load float, ptr %311, align 4, !tbaa !11
  %313 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %312, ptr %313, align 4, !tbaa !11
  %314 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %315 = load float, ptr %314, align 4, !tbaa !14
  %316 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %315, ptr %316, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %317 = load ptr, ptr %14, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.complex, ptr %317, i32 0, i32 0
  %319 = load float, ptr %318, align 4, !tbaa !11
  %320 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %321 = load float, ptr %320, align 4, !tbaa !11
  %322 = load ptr, ptr %14, align 8, !tbaa !5
  %323 = getelementptr inbounds %struct.complex, ptr %322, i32 0, i32 1
  %324 = load float, ptr %323, align 4, !tbaa !14
  %325 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %326 = load float, ptr %325, align 4, !tbaa !14
  %327 = fmul float %324, %326
  %328 = fneg float %327
  %329 = call float @llvm.fmuladd.f32(float %319, float %321, float %328)
  %330 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %329, ptr %330, align 4, !tbaa !11
  %331 = load ptr, ptr %14, align 8, !tbaa !5
  %332 = getelementptr inbounds %struct.complex, ptr %331, i32 0, i32 0
  %333 = load float, ptr %332, align 4, !tbaa !11
  %334 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %335 = load float, ptr %334, align 4, !tbaa !14
  %336 = load ptr, ptr %14, align 8, !tbaa !5
  %337 = getelementptr inbounds %struct.complex, ptr %336, i32 0, i32 1
  %338 = load float, ptr %337, align 4, !tbaa !14
  %339 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %340 = load float, ptr %339, align 4, !tbaa !11
  %341 = fmul float %338, %340
  %342 = call float @llvm.fmuladd.f32(float %333, float %335, float %341)
  %343 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %342, ptr %343, align 4, !tbaa !14
  %344 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %345 = load float, ptr %344, align 4, !tbaa !11
  %346 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %345, ptr %346, align 4, !tbaa !11
  %347 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %348 = load float, ptr %347, align 4, !tbaa !14
  %349 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %348, ptr %349, align 4, !tbaa !14
  %350 = load ptr, ptr %12, align 8, !tbaa !5
  %351 = load i64, ptr %350, align 8, !tbaa !9
  store i64 %351, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %352

352:                                              ; preds = %575, %267
  %353 = load i64, ptr %50, align 8, !tbaa !9
  %354 = load i64, ptr %20, align 8, !tbaa !9
  %355 = icmp sle i64 %353, %354
  br i1 %355, label %356, label %578

356:                                              ; preds = %352
  %357 = load i64, ptr %50, align 8, !tbaa !9
  %358 = load i64, ptr %18, align 8, !tbaa !9
  %359 = mul nsw i64 %357, %358
  %360 = add nsw i64 %359, 1
  store i64 %360, ptr %21, align 8, !tbaa !9
  %361 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %362 = load float, ptr %361, align 4, !tbaa !11
  %363 = load ptr, ptr %15, align 8, !tbaa !5
  %364 = load i64, ptr %21, align 8, !tbaa !9
  %365 = getelementptr inbounds %struct.complex, ptr %363, i64 %364
  %366 = getelementptr inbounds %struct.complex, ptr %365, i32 0, i32 0
  %367 = load float, ptr %366, align 4, !tbaa !11
  %368 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %369 = load float, ptr %368, align 4, !tbaa !14
  %370 = load ptr, ptr %15, align 8, !tbaa !5
  %371 = load i64, ptr %21, align 8, !tbaa !9
  %372 = getelementptr inbounds %struct.complex, ptr %370, i64 %371
  %373 = getelementptr inbounds %struct.complex, ptr %372, i32 0, i32 1
  %374 = load float, ptr %373, align 4, !tbaa !14
  %375 = fmul float %369, %374
  %376 = fneg float %375
  %377 = call float @llvm.fmuladd.f32(float %362, float %367, float %376)
  %378 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %377, ptr %378, align 4, !tbaa !11
  %379 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %380 = load float, ptr %379, align 4, !tbaa !11
  %381 = load ptr, ptr %15, align 8, !tbaa !5
  %382 = load i64, ptr %21, align 8, !tbaa !9
  %383 = getelementptr inbounds %struct.complex, ptr %381, i64 %382
  %384 = getelementptr inbounds %struct.complex, ptr %383, i32 0, i32 1
  %385 = load float, ptr %384, align 4, !tbaa !14
  %386 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %387 = load float, ptr %386, align 4, !tbaa !14
  %388 = load ptr, ptr %15, align 8, !tbaa !5
  %389 = load i64, ptr %21, align 8, !tbaa !9
  %390 = getelementptr inbounds %struct.complex, ptr %388, i64 %389
  %391 = getelementptr inbounds %struct.complex, ptr %390, i32 0, i32 0
  %392 = load float, ptr %391, align 4, !tbaa !11
  %393 = fmul float %387, %392
  %394 = call float @llvm.fmuladd.f32(float %380, float %385, float %393)
  %395 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %394, ptr %395, align 4, !tbaa !14
  %396 = load i64, ptr %50, align 8, !tbaa !9
  %397 = load i64, ptr %18, align 8, !tbaa !9
  %398 = mul nsw i64 %396, %397
  %399 = add nsw i64 %398, 2
  store i64 %399, ptr %22, align 8, !tbaa !9
  %400 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %401 = load float, ptr %400, align 4, !tbaa !11
  %402 = load ptr, ptr %15, align 8, !tbaa !5
  %403 = load i64, ptr %22, align 8, !tbaa !9
  %404 = getelementptr inbounds %struct.complex, ptr %402, i64 %403
  %405 = getelementptr inbounds %struct.complex, ptr %404, i32 0, i32 0
  %406 = load float, ptr %405, align 4, !tbaa !11
  %407 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %408 = load float, ptr %407, align 4, !tbaa !14
  %409 = load ptr, ptr %15, align 8, !tbaa !5
  %410 = load i64, ptr %22, align 8, !tbaa !9
  %411 = getelementptr inbounds %struct.complex, ptr %409, i64 %410
  %412 = getelementptr inbounds %struct.complex, ptr %411, i32 0, i32 1
  %413 = load float, ptr %412, align 4, !tbaa !14
  %414 = fmul float %408, %413
  %415 = fneg float %414
  %416 = call float @llvm.fmuladd.f32(float %401, float %406, float %415)
  %417 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %416, ptr %417, align 4, !tbaa !11
  %418 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %419 = load float, ptr %418, align 4, !tbaa !11
  %420 = load ptr, ptr %15, align 8, !tbaa !5
  %421 = load i64, ptr %22, align 8, !tbaa !9
  %422 = getelementptr inbounds %struct.complex, ptr %420, i64 %421
  %423 = getelementptr inbounds %struct.complex, ptr %422, i32 0, i32 1
  %424 = load float, ptr %423, align 4, !tbaa !14
  %425 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %426 = load float, ptr %425, align 4, !tbaa !14
  %427 = load ptr, ptr %15, align 8, !tbaa !5
  %428 = load i64, ptr %22, align 8, !tbaa !9
  %429 = getelementptr inbounds %struct.complex, ptr %427, i64 %428
  %430 = getelementptr inbounds %struct.complex, ptr %429, i32 0, i32 0
  %431 = load float, ptr %430, align 4, !tbaa !11
  %432 = fmul float %426, %431
  %433 = call float @llvm.fmuladd.f32(float %419, float %424, float %432)
  %434 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %433, ptr %434, align 4, !tbaa !14
  %435 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %436 = load float, ptr %435, align 4, !tbaa !11
  %437 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %438 = load float, ptr %437, align 4, !tbaa !11
  %439 = fadd float %436, %438
  %440 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %439, ptr %440, align 4, !tbaa !11
  %441 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %442 = load float, ptr %441, align 4, !tbaa !14
  %443 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %444 = load float, ptr %443, align 4, !tbaa !14
  %445 = fadd float %442, %444
  %446 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %445, ptr %446, align 4, !tbaa !14
  %447 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %448 = load float, ptr %447, align 4, !tbaa !11
  %449 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %448, ptr %449, align 4, !tbaa !11
  %450 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %451 = load float, ptr %450, align 4, !tbaa !14
  %452 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %451, ptr %452, align 4, !tbaa !14
  %453 = load i64, ptr %50, align 8, !tbaa !9
  %454 = load i64, ptr %18, align 8, !tbaa !9
  %455 = mul nsw i64 %453, %454
  %456 = add nsw i64 %455, 1
  store i64 %456, ptr %21, align 8, !tbaa !9
  %457 = load i64, ptr %50, align 8, !tbaa !9
  %458 = load i64, ptr %18, align 8, !tbaa !9
  %459 = mul nsw i64 %457, %458
  %460 = add nsw i64 %459, 1
  store i64 %460, ptr %22, align 8, !tbaa !9
  %461 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %462 = load float, ptr %461, align 4, !tbaa !11
  %463 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %464 = load float, ptr %463, align 4, !tbaa !11
  %465 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %466 = load float, ptr %465, align 4, !tbaa !14
  %467 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %468 = load float, ptr %467, align 4, !tbaa !14
  %469 = fmul float %466, %468
  %470 = fneg float %469
  %471 = call float @llvm.fmuladd.f32(float %462, float %464, float %470)
  %472 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %471, ptr %472, align 4, !tbaa !11
  %473 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %474 = load float, ptr %473, align 4, !tbaa !11
  %475 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %476 = load float, ptr %475, align 4, !tbaa !14
  %477 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %478 = load float, ptr %477, align 4, !tbaa !14
  %479 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %480 = load float, ptr %479, align 4, !tbaa !11
  %481 = fmul float %478, %480
  %482 = call float @llvm.fmuladd.f32(float %474, float %476, float %481)
  %483 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %482, ptr %483, align 4, !tbaa !14
  %484 = load ptr, ptr %15, align 8, !tbaa !5
  %485 = load i64, ptr %22, align 8, !tbaa !9
  %486 = getelementptr inbounds %struct.complex, ptr %484, i64 %485
  %487 = getelementptr inbounds %struct.complex, ptr %486, i32 0, i32 0
  %488 = load float, ptr %487, align 4, !tbaa !11
  %489 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %490 = load float, ptr %489, align 4, !tbaa !11
  %491 = fsub float %488, %490
  %492 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %491, ptr %492, align 4, !tbaa !11
  %493 = load ptr, ptr %15, align 8, !tbaa !5
  %494 = load i64, ptr %22, align 8, !tbaa !9
  %495 = getelementptr inbounds %struct.complex, ptr %493, i64 %494
  %496 = getelementptr inbounds %struct.complex, ptr %495, i32 0, i32 1
  %497 = load float, ptr %496, align 4, !tbaa !14
  %498 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %499 = load float, ptr %498, align 4, !tbaa !14
  %500 = fsub float %497, %499
  %501 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %500, ptr %501, align 4, !tbaa !14
  %502 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %503 = load float, ptr %502, align 4, !tbaa !11
  %504 = load ptr, ptr %15, align 8, !tbaa !5
  %505 = load i64, ptr %21, align 8, !tbaa !9
  %506 = getelementptr inbounds %struct.complex, ptr %504, i64 %505
  %507 = getelementptr inbounds %struct.complex, ptr %506, i32 0, i32 0
  store float %503, ptr %507, align 4, !tbaa !11
  %508 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %509 = load float, ptr %508, align 4, !tbaa !14
  %510 = load ptr, ptr %15, align 8, !tbaa !5
  %511 = load i64, ptr %21, align 8, !tbaa !9
  %512 = getelementptr inbounds %struct.complex, ptr %510, i64 %511
  %513 = getelementptr inbounds %struct.complex, ptr %512, i32 0, i32 1
  store float %509, ptr %513, align 4, !tbaa !14
  %514 = load i64, ptr %50, align 8, !tbaa !9
  %515 = load i64, ptr %18, align 8, !tbaa !9
  %516 = mul nsw i64 %514, %515
  %517 = add nsw i64 %516, 2
  store i64 %517, ptr %21, align 8, !tbaa !9
  %518 = load i64, ptr %50, align 8, !tbaa !9
  %519 = load i64, ptr %18, align 8, !tbaa !9
  %520 = mul nsw i64 %518, %519
  %521 = add nsw i64 %520, 2
  store i64 %521, ptr %22, align 8, !tbaa !9
  %522 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %523 = load float, ptr %522, align 4, !tbaa !11
  %524 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %525 = load float, ptr %524, align 4, !tbaa !11
  %526 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %527 = load float, ptr %526, align 4, !tbaa !14
  %528 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %529 = load float, ptr %528, align 4, !tbaa !14
  %530 = fmul float %527, %529
  %531 = fneg float %530
  %532 = call float @llvm.fmuladd.f32(float %523, float %525, float %531)
  %533 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %532, ptr %533, align 4, !tbaa !11
  %534 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %535 = load float, ptr %534, align 4, !tbaa !11
  %536 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %537 = load float, ptr %536, align 4, !tbaa !14
  %538 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %539 = load float, ptr %538, align 4, !tbaa !14
  %540 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %541 = load float, ptr %540, align 4, !tbaa !11
  %542 = fmul float %539, %541
  %543 = call float @llvm.fmuladd.f32(float %535, float %537, float %542)
  %544 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %543, ptr %544, align 4, !tbaa !14
  %545 = load ptr, ptr %15, align 8, !tbaa !5
  %546 = load i64, ptr %22, align 8, !tbaa !9
  %547 = getelementptr inbounds %struct.complex, ptr %545, i64 %546
  %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 %32, i32 0, i32 0
  %551 = load float, ptr %550, align 4, !tbaa !11
  %552 = fsub float %549, %551
  %553 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %552, ptr %553, align 4, !tbaa !11
  %554 = load ptr, ptr %15, align 8, !tbaa !5
  %555 = load i64, ptr %22, align 8, !tbaa !9
  %556 = getelementptr inbounds %struct.complex, ptr %554, i64 %555
  %557 = getelementptr inbounds %struct.complex, ptr %556, i32 0, i32 1
  %558 = load float, ptr %557, align 4, !tbaa !14
  %559 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %560 = load float, ptr %559, align 4, !tbaa !14
  %561 = fsub float %558, %560
  %562 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %561, ptr %562, align 4, !tbaa !14
  %563 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %564 = load float, ptr %563, align 4, !tbaa !11
  %565 = load ptr, ptr %15, align 8, !tbaa !5
  %566 = load i64, ptr %21, align 8, !tbaa !9
  %567 = getelementptr inbounds %struct.complex, ptr %565, i64 %566
  %568 = getelementptr inbounds %struct.complex, ptr %567, i32 0, i32 0
  store float %564, ptr %568, align 4, !tbaa !11
  %569 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %570 = load float, ptr %569, align 4, !tbaa !14
  %571 = load ptr, ptr %15, align 8, !tbaa !5
  %572 = load i64, ptr %21, align 8, !tbaa !9
  %573 = getelementptr inbounds %struct.complex, ptr %571, i64 %572
  %574 = getelementptr inbounds %struct.complex, ptr %573, i32 0, i32 1
  store float %570, ptr %574, align 4, !tbaa !14
  br label %575

575:                                              ; preds = %356
  %576 = load i64, ptr %50, align 8, !tbaa !9
  %577 = add nsw i64 %576, 1
  store i64 %577, ptr %50, align 8, !tbaa !9
  br label %352, !llvm.loop !17

578:                                              ; preds = %352
  br label %17146

579:                                              ; preds = %104
  %580 = load ptr, ptr %13, align 8, !tbaa !5
  %581 = getelementptr inbounds %struct.complex, ptr %580, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %581)
  %582 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %583 = load float, ptr %582, align 4, !tbaa !11
  %584 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %583, ptr %584, align 4, !tbaa !11
  %585 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %586 = load float, ptr %585, align 4, !tbaa !14
  %587 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %586, ptr %587, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %588 = load ptr, ptr %14, align 8, !tbaa !5
  %589 = getelementptr inbounds %struct.complex, ptr %588, i32 0, i32 0
  %590 = load float, ptr %589, align 4, !tbaa !11
  %591 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %592 = load float, ptr %591, align 4, !tbaa !11
  %593 = load ptr, ptr %14, align 8, !tbaa !5
  %594 = getelementptr inbounds %struct.complex, ptr %593, i32 0, i32 1
  %595 = load float, ptr %594, align 4, !tbaa !14
  %596 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %597 = load float, ptr %596, align 4, !tbaa !14
  %598 = fmul float %595, %597
  %599 = fneg float %598
  %600 = call float @llvm.fmuladd.f32(float %590, float %592, float %599)
  %601 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %600, ptr %601, align 4, !tbaa !11
  %602 = load ptr, ptr %14, align 8, !tbaa !5
  %603 = getelementptr inbounds %struct.complex, ptr %602, i32 0, i32 0
  %604 = load float, ptr %603, align 4, !tbaa !11
  %605 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %606 = load float, ptr %605, align 4, !tbaa !14
  %607 = load ptr, ptr %14, align 8, !tbaa !5
  %608 = getelementptr inbounds %struct.complex, ptr %607, i32 0, i32 1
  %609 = load float, ptr %608, align 4, !tbaa !14
  %610 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %611 = load float, ptr %610, align 4, !tbaa !11
  %612 = fmul float %609, %611
  %613 = call float @llvm.fmuladd.f32(float %604, float %606, float %612)
  %614 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %613, ptr %614, align 4, !tbaa !14
  %615 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %616 = load float, ptr %615, align 4, !tbaa !11
  %617 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %616, ptr %617, align 4, !tbaa !11
  %618 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %619 = load float, ptr %618, align 4, !tbaa !14
  %620 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %619, ptr %620, align 4, !tbaa !14
  %621 = load ptr, ptr %13, align 8, !tbaa !5
  %622 = getelementptr inbounds %struct.complex, ptr %621, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %622)
  %623 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %624 = load float, ptr %623, align 4, !tbaa !11
  %625 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %624, ptr %625, align 4, !tbaa !11
  %626 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %627 = load float, ptr %626, align 4, !tbaa !14
  %628 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %627, ptr %628, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %629 = load ptr, ptr %14, align 8, !tbaa !5
  %630 = getelementptr inbounds %struct.complex, ptr %629, i32 0, i32 0
  %631 = load float, ptr %630, align 4, !tbaa !11
  %632 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %633 = load float, ptr %632, align 4, !tbaa !11
  %634 = load ptr, ptr %14, align 8, !tbaa !5
  %635 = getelementptr inbounds %struct.complex, ptr %634, i32 0, i32 1
  %636 = load float, ptr %635, align 4, !tbaa !14
  %637 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %638 = load float, ptr %637, align 4, !tbaa !14
  %639 = fmul float %636, %638
  %640 = fneg float %639
  %641 = call float @llvm.fmuladd.f32(float %631, float %633, float %640)
  %642 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %641, ptr %642, align 4, !tbaa !11
  %643 = load ptr, ptr %14, align 8, !tbaa !5
  %644 = getelementptr inbounds %struct.complex, ptr %643, i32 0, i32 0
  %645 = load float, ptr %644, align 4, !tbaa !11
  %646 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %647 = load float, ptr %646, align 4, !tbaa !14
  %648 = load ptr, ptr %14, align 8, !tbaa !5
  %649 = getelementptr inbounds %struct.complex, ptr %648, i32 0, i32 1
  %650 = load float, ptr %649, align 4, !tbaa !14
  %651 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %652 = load float, ptr %651, align 4, !tbaa !11
  %653 = fmul float %650, %652
  %654 = call float @llvm.fmuladd.f32(float %645, float %647, float %653)
  %655 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %654, ptr %655, align 4, !tbaa !14
  %656 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %657 = load float, ptr %656, align 4, !tbaa !11
  %658 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %657, ptr %658, align 4, !tbaa !11
  %659 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %660 = load float, ptr %659, align 4, !tbaa !14
  %661 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %660, ptr %661, align 4, !tbaa !14
  %662 = load ptr, ptr %13, align 8, !tbaa !5
  %663 = getelementptr inbounds %struct.complex, ptr %662, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %663)
  %664 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %665 = load float, ptr %664, align 4, !tbaa !11
  %666 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %665, ptr %666, align 4, !tbaa !11
  %667 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %668 = load float, ptr %667, align 4, !tbaa !14
  %669 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %668, ptr %669, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %670 = load ptr, ptr %14, align 8, !tbaa !5
  %671 = getelementptr inbounds %struct.complex, ptr %670, i32 0, i32 0
  %672 = load float, ptr %671, align 4, !tbaa !11
  %673 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %674 = load float, ptr %673, align 4, !tbaa !11
  %675 = load ptr, ptr %14, align 8, !tbaa !5
  %676 = getelementptr inbounds %struct.complex, ptr %675, i32 0, i32 1
  %677 = load float, ptr %676, align 4, !tbaa !14
  %678 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %679 = load float, ptr %678, align 4, !tbaa !14
  %680 = fmul float %677, %679
  %681 = fneg float %680
  %682 = call float @llvm.fmuladd.f32(float %672, float %674, float %681)
  %683 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %682, ptr %683, align 4, !tbaa !11
  %684 = load ptr, ptr %14, align 8, !tbaa !5
  %685 = getelementptr inbounds %struct.complex, ptr %684, i32 0, i32 0
  %686 = load float, ptr %685, align 4, !tbaa !11
  %687 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %688 = load float, ptr %687, align 4, !tbaa !14
  %689 = load ptr, ptr %14, align 8, !tbaa !5
  %690 = getelementptr inbounds %struct.complex, ptr %689, i32 0, i32 1
  %691 = load float, ptr %690, align 4, !tbaa !14
  %692 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %693 = load float, ptr %692, align 4, !tbaa !11
  %694 = fmul float %691, %693
  %695 = call float @llvm.fmuladd.f32(float %686, float %688, float %694)
  %696 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %695, ptr %696, align 4, !tbaa !14
  %697 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %698 = load float, ptr %697, align 4, !tbaa !11
  %699 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %698, ptr %699, align 4, !tbaa !11
  %700 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %701 = load float, ptr %700, align 4, !tbaa !14
  %702 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %701, ptr %702, align 4, !tbaa !14
  %703 = load ptr, ptr %12, align 8, !tbaa !5
  %704 = load i64, ptr %703, align 8, !tbaa !9
  store i64 %704, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %705

705:                                              ; preds = %1040, %579
  %706 = load i64, ptr %50, align 8, !tbaa !9
  %707 = load i64, ptr %20, align 8, !tbaa !9
  %708 = icmp sle i64 %706, %707
  br i1 %708, label %709, label %1043

709:                                              ; preds = %705
  %710 = load i64, ptr %50, align 8, !tbaa !9
  %711 = load i64, ptr %18, align 8, !tbaa !9
  %712 = mul nsw i64 %710, %711
  %713 = add nsw i64 %712, 1
  store i64 %713, ptr %21, align 8, !tbaa !9
  %714 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %715 = load float, ptr %714, align 4, !tbaa !11
  %716 = load ptr, ptr %15, align 8, !tbaa !5
  %717 = load i64, ptr %21, align 8, !tbaa !9
  %718 = getelementptr inbounds %struct.complex, ptr %716, i64 %717
  %719 = getelementptr inbounds %struct.complex, ptr %718, i32 0, i32 0
  %720 = load float, ptr %719, align 4, !tbaa !11
  %721 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %722 = load float, ptr %721, align 4, !tbaa !14
  %723 = load ptr, ptr %15, align 8, !tbaa !5
  %724 = load i64, ptr %21, align 8, !tbaa !9
  %725 = getelementptr inbounds %struct.complex, ptr %723, i64 %724
  %726 = getelementptr inbounds %struct.complex, ptr %725, i32 0, i32 1
  %727 = load float, ptr %726, align 4, !tbaa !14
  %728 = fmul float %722, %727
  %729 = fneg float %728
  %730 = call float @llvm.fmuladd.f32(float %715, float %720, float %729)
  %731 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %730, ptr %731, align 4, !tbaa !11
  %732 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %733 = load float, ptr %732, align 4, !tbaa !11
  %734 = load ptr, ptr %15, align 8, !tbaa !5
  %735 = load i64, ptr %21, align 8, !tbaa !9
  %736 = getelementptr inbounds %struct.complex, ptr %734, i64 %735
  %737 = getelementptr inbounds %struct.complex, ptr %736, i32 0, i32 1
  %738 = load float, ptr %737, align 4, !tbaa !14
  %739 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %740 = load float, ptr %739, align 4, !tbaa !14
  %741 = load ptr, ptr %15, align 8, !tbaa !5
  %742 = load i64, ptr %21, align 8, !tbaa !9
  %743 = getelementptr inbounds %struct.complex, ptr %741, i64 %742
  %744 = getelementptr inbounds %struct.complex, ptr %743, i32 0, i32 0
  %745 = load float, ptr %744, align 4, !tbaa !11
  %746 = fmul float %740, %745
  %747 = call float @llvm.fmuladd.f32(float %733, float %738, float %746)
  %748 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %747, ptr %748, align 4, !tbaa !14
  %749 = load i64, ptr %50, align 8, !tbaa !9
  %750 = load i64, ptr %18, align 8, !tbaa !9
  %751 = mul nsw i64 %749, %750
  %752 = add nsw i64 %751, 2
  store i64 %752, ptr %22, align 8, !tbaa !9
  %753 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %754 = load float, ptr %753, align 4, !tbaa !11
  %755 = load ptr, ptr %15, align 8, !tbaa !5
  %756 = load i64, ptr %22, align 8, !tbaa !9
  %757 = getelementptr inbounds %struct.complex, ptr %755, i64 %756
  %758 = getelementptr inbounds %struct.complex, ptr %757, i32 0, i32 0
  %759 = load float, ptr %758, align 4, !tbaa !11
  %760 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %761 = load float, ptr %760, align 4, !tbaa !14
  %762 = load ptr, ptr %15, align 8, !tbaa !5
  %763 = load i64, ptr %22, align 8, !tbaa !9
  %764 = getelementptr inbounds %struct.complex, ptr %762, i64 %763
  %765 = getelementptr inbounds %struct.complex, ptr %764, i32 0, i32 1
  %766 = load float, ptr %765, align 4, !tbaa !14
  %767 = fmul float %761, %766
  %768 = fneg float %767
  %769 = call float @llvm.fmuladd.f32(float %754, float %759, float %768)
  %770 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %769, ptr %770, align 4, !tbaa !11
  %771 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %772 = load float, ptr %771, align 4, !tbaa !11
  %773 = load ptr, ptr %15, align 8, !tbaa !5
  %774 = load i64, ptr %22, align 8, !tbaa !9
  %775 = getelementptr inbounds %struct.complex, ptr %773, i64 %774
  %776 = getelementptr inbounds %struct.complex, ptr %775, i32 0, i32 1
  %777 = load float, ptr %776, align 4, !tbaa !14
  %778 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %779 = load float, ptr %778, align 4, !tbaa !14
  %780 = load ptr, ptr %15, align 8, !tbaa !5
  %781 = load i64, ptr %22, align 8, !tbaa !9
  %782 = getelementptr inbounds %struct.complex, ptr %780, i64 %781
  %783 = getelementptr inbounds %struct.complex, ptr %782, i32 0, i32 0
  %784 = load float, ptr %783, align 4, !tbaa !11
  %785 = fmul float %779, %784
  %786 = call float @llvm.fmuladd.f32(float %772, float %777, float %785)
  %787 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %786, ptr %787, align 4, !tbaa !14
  %788 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %789 = load float, ptr %788, align 4, !tbaa !11
  %790 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %791 = load float, ptr %790, align 4, !tbaa !11
  %792 = fadd float %789, %791
  %793 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %792, ptr %793, align 4, !tbaa !11
  %794 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %795 = load float, ptr %794, align 4, !tbaa !14
  %796 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %797 = load float, ptr %796, align 4, !tbaa !14
  %798 = fadd float %795, %797
  %799 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %798, ptr %799, align 4, !tbaa !14
  %800 = load i64, ptr %50, align 8, !tbaa !9
  %801 = load i64, ptr %18, align 8, !tbaa !9
  %802 = mul nsw i64 %800, %801
  %803 = add nsw i64 %802, 3
  store i64 %803, ptr %23, align 8, !tbaa !9
  %804 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %805 = load float, ptr %804, align 4, !tbaa !11
  %806 = load ptr, ptr %15, align 8, !tbaa !5
  %807 = load i64, ptr %23, align 8, !tbaa !9
  %808 = getelementptr inbounds %struct.complex, ptr %806, i64 %807
  %809 = getelementptr inbounds %struct.complex, ptr %808, i32 0, i32 0
  %810 = load float, ptr %809, align 4, !tbaa !11
  %811 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %812 = load float, ptr %811, align 4, !tbaa !14
  %813 = load ptr, ptr %15, align 8, !tbaa !5
  %814 = load i64, ptr %23, align 8, !tbaa !9
  %815 = getelementptr inbounds %struct.complex, ptr %813, i64 %814
  %816 = getelementptr inbounds %struct.complex, ptr %815, i32 0, i32 1
  %817 = load float, ptr %816, align 4, !tbaa !14
  %818 = fmul float %812, %817
  %819 = fneg float %818
  %820 = call float @llvm.fmuladd.f32(float %805, float %810, float %819)
  %821 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %820, ptr %821, align 4, !tbaa !11
  %822 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %823 = load float, ptr %822, align 4, !tbaa !11
  %824 = load ptr, ptr %15, align 8, !tbaa !5
  %825 = load i64, ptr %23, align 8, !tbaa !9
  %826 = getelementptr inbounds %struct.complex, ptr %824, i64 %825
  %827 = getelementptr inbounds %struct.complex, ptr %826, i32 0, i32 1
  %828 = load float, ptr %827, align 4, !tbaa !14
  %829 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %830 = load float, ptr %829, align 4, !tbaa !14
  %831 = load ptr, ptr %15, align 8, !tbaa !5
  %832 = load i64, ptr %23, align 8, !tbaa !9
  %833 = getelementptr inbounds %struct.complex, ptr %831, i64 %832
  %834 = getelementptr inbounds %struct.complex, ptr %833, i32 0, i32 0
  %835 = load float, ptr %834, align 4, !tbaa !11
  %836 = fmul float %830, %835
  %837 = call float @llvm.fmuladd.f32(float %823, float %828, float %836)
  %838 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %837, ptr %838, align 4, !tbaa !14
  %839 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %840 = load float, ptr %839, align 4, !tbaa !11
  %841 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %842 = load float, ptr %841, align 4, !tbaa !11
  %843 = fadd float %840, %842
  %844 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %843, ptr %844, align 4, !tbaa !11
  %845 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %846 = load float, ptr %845, align 4, !tbaa !14
  %847 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %848 = load float, ptr %847, align 4, !tbaa !14
  %849 = fadd float %846, %848
  %850 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %849, ptr %850, align 4, !tbaa !14
  %851 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %852 = load float, ptr %851, align 4, !tbaa !11
  %853 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %852, ptr %853, align 4, !tbaa !11
  %854 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %855 = load float, ptr %854, align 4, !tbaa !14
  %856 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %855, ptr %856, align 4, !tbaa !14
  %857 = load i64, ptr %50, align 8, !tbaa !9
  %858 = load i64, ptr %18, align 8, !tbaa !9
  %859 = mul nsw i64 %857, %858
  %860 = add nsw i64 %859, 1
  store i64 %860, ptr %21, align 8, !tbaa !9
  %861 = load i64, ptr %50, align 8, !tbaa !9
  %862 = load i64, ptr %18, align 8, !tbaa !9
  %863 = mul nsw i64 %861, %862
  %864 = add nsw i64 %863, 1
  store i64 %864, ptr %22, align 8, !tbaa !9
  %865 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %866 = load float, ptr %865, align 4, !tbaa !11
  %867 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %868 = load float, ptr %867, align 4, !tbaa !11
  %869 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %870 = load float, ptr %869, align 4, !tbaa !14
  %871 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %872 = load float, ptr %871, align 4, !tbaa !14
  %873 = fmul float %870, %872
  %874 = fneg float %873
  %875 = call float @llvm.fmuladd.f32(float %866, float %868, float %874)
  %876 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %875, ptr %876, align 4, !tbaa !11
  %877 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %878 = load float, ptr %877, align 4, !tbaa !11
  %879 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %880 = load float, ptr %879, align 4, !tbaa !14
  %881 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %882 = load float, ptr %881, align 4, !tbaa !14
  %883 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %884 = load float, ptr %883, align 4, !tbaa !11
  %885 = fmul float %882, %884
  %886 = call float @llvm.fmuladd.f32(float %878, float %880, float %885)
  %887 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %886, ptr %887, align 4, !tbaa !14
  %888 = load ptr, ptr %15, align 8, !tbaa !5
  %889 = load i64, ptr %22, align 8, !tbaa !9
  %890 = getelementptr inbounds %struct.complex, ptr %888, i64 %889
  %891 = getelementptr inbounds %struct.complex, ptr %890, i32 0, i32 0
  %892 = load float, ptr %891, align 4, !tbaa !11
  %893 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %894 = load float, ptr %893, align 4, !tbaa !11
  %895 = fsub float %892, %894
  %896 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %895, ptr %896, align 4, !tbaa !11
  %897 = load ptr, ptr %15, align 8, !tbaa !5
  %898 = load i64, ptr %22, align 8, !tbaa !9
  %899 = getelementptr inbounds %struct.complex, ptr %897, i64 %898
  %900 = getelementptr inbounds %struct.complex, ptr %899, i32 0, i32 1
  %901 = load float, ptr %900, align 4, !tbaa !14
  %902 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %903 = load float, ptr %902, align 4, !tbaa !14
  %904 = fsub float %901, %903
  %905 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %904, ptr %905, align 4, !tbaa !14
  %906 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %907 = load float, ptr %906, align 4, !tbaa !11
  %908 = load ptr, ptr %15, align 8, !tbaa !5
  %909 = load i64, ptr %21, align 8, !tbaa !9
  %910 = getelementptr inbounds %struct.complex, ptr %908, i64 %909
  %911 = getelementptr inbounds %struct.complex, ptr %910, i32 0, i32 0
  store float %907, ptr %911, align 4, !tbaa !11
  %912 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %913 = load float, ptr %912, align 4, !tbaa !14
  %914 = load ptr, ptr %15, align 8, !tbaa !5
  %915 = load i64, ptr %21, align 8, !tbaa !9
  %916 = getelementptr inbounds %struct.complex, ptr %914, i64 %915
  %917 = getelementptr inbounds %struct.complex, ptr %916, i32 0, i32 1
  store float %913, ptr %917, align 4, !tbaa !14
  %918 = load i64, ptr %50, align 8, !tbaa !9
  %919 = load i64, ptr %18, align 8, !tbaa !9
  %920 = mul nsw i64 %918, %919
  %921 = add nsw i64 %920, 2
  store i64 %921, ptr %21, align 8, !tbaa !9
  %922 = load i64, ptr %50, align 8, !tbaa !9
  %923 = load i64, ptr %18, align 8, !tbaa !9
  %924 = mul nsw i64 %922, %923
  %925 = add nsw i64 %924, 2
  store i64 %925, ptr %22, align 8, !tbaa !9
  %926 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %927 = load float, ptr %926, align 4, !tbaa !11
  %928 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %929 = load float, ptr %928, align 4, !tbaa !11
  %930 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %931 = load float, ptr %930, align 4, !tbaa !14
  %932 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %933 = load float, ptr %932, align 4, !tbaa !14
  %934 = fmul float %931, %933
  %935 = fneg float %934
  %936 = call float @llvm.fmuladd.f32(float %927, float %929, float %935)
  %937 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %936, ptr %937, align 4, !tbaa !11
  %938 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %939 = load float, ptr %938, align 4, !tbaa !11
  %940 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %941 = load float, ptr %940, align 4, !tbaa !14
  %942 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %943 = load float, ptr %942, align 4, !tbaa !14
  %944 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %945 = load float, ptr %944, align 4, !tbaa !11
  %946 = fmul float %943, %945
  %947 = call float @llvm.fmuladd.f32(float %939, float %941, float %946)
  %948 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %947, ptr %948, align 4, !tbaa !14
  %949 = load ptr, ptr %15, align 8, !tbaa !5
  %950 = load i64, ptr %22, align 8, !tbaa !9
  %951 = getelementptr inbounds %struct.complex, ptr %949, i64 %950
  %952 = getelementptr inbounds %struct.complex, ptr %951, i32 0, i32 0
  %953 = load float, ptr %952, align 4, !tbaa !11
  %954 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %955 = load float, ptr %954, align 4, !tbaa !11
  %956 = fsub float %953, %955
  %957 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %956, ptr %957, align 4, !tbaa !11
  %958 = load ptr, ptr %15, align 8, !tbaa !5
  %959 = load i64, ptr %22, align 8, !tbaa !9
  %960 = getelementptr inbounds %struct.complex, ptr %958, i64 %959
  %961 = getelementptr inbounds %struct.complex, ptr %960, i32 0, i32 1
  %962 = load float, ptr %961, align 4, !tbaa !14
  %963 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %964 = load float, ptr %963, align 4, !tbaa !14
  %965 = fsub float %962, %964
  %966 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %965, ptr %966, align 4, !tbaa !14
  %967 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %968 = load float, ptr %967, align 4, !tbaa !11
  %969 = load ptr, ptr %15, align 8, !tbaa !5
  %970 = load i64, ptr %21, align 8, !tbaa !9
  %971 = getelementptr inbounds %struct.complex, ptr %969, i64 %970
  %972 = getelementptr inbounds %struct.complex, ptr %971, i32 0, i32 0
  store float %968, ptr %972, 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 %15, align 8, !tbaa !5
  %976 = load i64, ptr %21, align 8, !tbaa !9
  %977 = getelementptr inbounds %struct.complex, ptr %975, i64 %976
  %978 = getelementptr inbounds %struct.complex, ptr %977, i32 0, i32 1
  store float %974, ptr %978, align 4, !tbaa !14
  %979 = load i64, ptr %50, align 8, !tbaa !9
  %980 = load i64, ptr %18, align 8, !tbaa !9
  %981 = mul nsw i64 %979, %980
  %982 = add nsw i64 %981, 3
  store i64 %982, ptr %21, align 8, !tbaa !9
  %983 = load i64, ptr %50, align 8, !tbaa !9
  %984 = load i64, ptr %18, align 8, !tbaa !9
  %985 = mul nsw i64 %983, %984
  %986 = add nsw i64 %985, 3
  store i64 %986, ptr %22, align 8, !tbaa !9
  %987 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %988 = load float, ptr %987, align 4, !tbaa !11
  %989 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %990 = load float, ptr %989, align 4, !tbaa !11
  %991 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %992 = load float, ptr %991, align 4, !tbaa !14
  %993 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %994 = load float, ptr %993, align 4, !tbaa !14
  %995 = fmul float %992, %994
  %996 = fneg float %995
  %997 = call float @llvm.fmuladd.f32(float %988, float %990, float %996)
  %998 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %997, ptr %998, align 4, !tbaa !11
  %999 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1000 = load float, ptr %999, align 4, !tbaa !11
  %1001 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %1002 = load float, ptr %1001, align 4, !tbaa !14
  %1003 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1004 = load float, ptr %1003, align 4, !tbaa !14
  %1005 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %1006 = load float, ptr %1005, align 4, !tbaa !11
  %1007 = fmul float %1004, %1006
  %1008 = call float @llvm.fmuladd.f32(float %1000, float %1002, float %1007)
  %1009 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1008, ptr %1009, align 4, !tbaa !14
  %1010 = load ptr, ptr %15, align 8, !tbaa !5
  %1011 = load i64, ptr %22, align 8, !tbaa !9
  %1012 = getelementptr inbounds %struct.complex, ptr %1010, i64 %1011
  %1013 = getelementptr inbounds %struct.complex, ptr %1012, i32 0, i32 0
  %1014 = load float, ptr %1013, align 4, !tbaa !11
  %1015 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1016 = load float, ptr %1015, align 4, !tbaa !11
  %1017 = fsub float %1014, %1016
  %1018 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1017, ptr %1018, align 4, !tbaa !11
  %1019 = load ptr, ptr %15, align 8, !tbaa !5
  %1020 = load i64, ptr %22, align 8, !tbaa !9
  %1021 = getelementptr inbounds %struct.complex, ptr %1019, i64 %1020
  %1022 = getelementptr inbounds %struct.complex, ptr %1021, i32 0, i32 1
  %1023 = load float, ptr %1022, align 4, !tbaa !14
  %1024 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1025 = load float, ptr %1024, align 4, !tbaa !14
  %1026 = fsub float %1023, %1025
  %1027 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1026, ptr %1027, align 4, !tbaa !14
  %1028 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1029 = load float, ptr %1028, align 4, !tbaa !11
  %1030 = load ptr, ptr %15, align 8, !tbaa !5
  %1031 = load i64, ptr %21, align 8, !tbaa !9
  %1032 = getelementptr inbounds %struct.complex, ptr %1030, i64 %1031
  %1033 = getelementptr inbounds %struct.complex, ptr %1032, i32 0, i32 0
  store float %1029, ptr %1033, align 4, !tbaa !11
  %1034 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1035 = load float, ptr %1034, align 4, !tbaa !14
  %1036 = load ptr, ptr %15, align 8, !tbaa !5
  %1037 = load i64, ptr %21, align 8, !tbaa !9
  %1038 = getelementptr inbounds %struct.complex, ptr %1036, i64 %1037
  %1039 = getelementptr inbounds %struct.complex, ptr %1038, i32 0, i32 1
  store float %1035, ptr %1039, align 4, !tbaa !14
  br label %1040

1040:                                             ; preds = %709
  %1041 = load i64, ptr %50, align 8, !tbaa !9
  %1042 = add nsw i64 %1041, 1
  store i64 %1042, ptr %50, align 8, !tbaa !9
  br label %705, !llvm.loop !18

1043:                                             ; preds = %705
  br label %17146

1044:                                             ; preds = %105
  %1045 = load ptr, ptr %13, align 8, !tbaa !5
  %1046 = getelementptr inbounds %struct.complex, ptr %1045, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %1046)
  %1047 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1048 = load float, ptr %1047, align 4, !tbaa !11
  %1049 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %1048, ptr %1049, align 4, !tbaa !11
  %1050 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1051 = load float, ptr %1050, align 4, !tbaa !14
  %1052 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %1051, ptr %1052, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %1053 = load ptr, ptr %14, align 8, !tbaa !5
  %1054 = getelementptr inbounds %struct.complex, ptr %1053, i32 0, i32 0
  %1055 = load float, ptr %1054, align 4, !tbaa !11
  %1056 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1057 = load float, ptr %1056, align 4, !tbaa !11
  %1058 = load ptr, ptr %14, align 8, !tbaa !5
  %1059 = getelementptr inbounds %struct.complex, ptr %1058, i32 0, i32 1
  %1060 = load float, ptr %1059, align 4, !tbaa !14
  %1061 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1062 = load float, ptr %1061, align 4, !tbaa !14
  %1063 = fmul float %1060, %1062
  %1064 = fneg float %1063
  %1065 = call float @llvm.fmuladd.f32(float %1055, float %1057, float %1064)
  %1066 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1065, ptr %1066, align 4, !tbaa !11
  %1067 = load ptr, ptr %14, align 8, !tbaa !5
  %1068 = getelementptr inbounds %struct.complex, ptr %1067, i32 0, i32 0
  %1069 = load float, ptr %1068, align 4, !tbaa !11
  %1070 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1071 = load float, ptr %1070, align 4, !tbaa !14
  %1072 = load ptr, ptr %14, align 8, !tbaa !5
  %1073 = getelementptr inbounds %struct.complex, ptr %1072, i32 0, i32 1
  %1074 = load float, ptr %1073, align 4, !tbaa !14
  %1075 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1076 = load float, ptr %1075, align 4, !tbaa !11
  %1077 = fmul float %1074, %1076
  %1078 = call float @llvm.fmuladd.f32(float %1069, float %1071, float %1077)
  %1079 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1078, ptr %1079, align 4, !tbaa !14
  %1080 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1081 = load float, ptr %1080, align 4, !tbaa !11
  %1082 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %1081, ptr %1082, align 4, !tbaa !11
  %1083 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1084 = load float, ptr %1083, align 4, !tbaa !14
  %1085 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %1084, ptr %1085, align 4, !tbaa !14
  %1086 = load ptr, ptr %13, align 8, !tbaa !5
  %1087 = getelementptr inbounds %struct.complex, ptr %1086, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %1087)
  %1088 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1089 = load float, ptr %1088, align 4, !tbaa !11
  %1090 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %1089, ptr %1090, align 4, !tbaa !11
  %1091 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1092 = load float, ptr %1091, align 4, !tbaa !14
  %1093 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %1092, ptr %1093, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %1094 = load ptr, ptr %14, align 8, !tbaa !5
  %1095 = getelementptr inbounds %struct.complex, ptr %1094, i32 0, i32 0
  %1096 = load float, ptr %1095, align 4, !tbaa !11
  %1097 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1098 = load float, ptr %1097, align 4, !tbaa !11
  %1099 = load ptr, ptr %14, align 8, !tbaa !5
  %1100 = getelementptr inbounds %struct.complex, ptr %1099, i32 0, i32 1
  %1101 = load float, ptr %1100, align 4, !tbaa !14
  %1102 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1103 = load float, ptr %1102, align 4, !tbaa !14
  %1104 = fmul float %1101, %1103
  %1105 = fneg float %1104
  %1106 = call float @llvm.fmuladd.f32(float %1096, float %1098, float %1105)
  %1107 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1106, ptr %1107, align 4, !tbaa !11
  %1108 = load ptr, ptr %14, align 8, !tbaa !5
  %1109 = getelementptr inbounds %struct.complex, ptr %1108, i32 0, i32 0
  %1110 = load float, ptr %1109, align 4, !tbaa !11
  %1111 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1112 = load float, ptr %1111, align 4, !tbaa !14
  %1113 = load ptr, ptr %14, align 8, !tbaa !5
  %1114 = getelementptr inbounds %struct.complex, ptr %1113, i32 0, i32 1
  %1115 = load float, ptr %1114, align 4, !tbaa !14
  %1116 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1117 = load float, ptr %1116, align 4, !tbaa !11
  %1118 = fmul float %1115, %1117
  %1119 = call float @llvm.fmuladd.f32(float %1110, float %1112, float %1118)
  %1120 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1119, ptr %1120, align 4, !tbaa !14
  %1121 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1122 = load float, ptr %1121, align 4, !tbaa !11
  %1123 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %1122, ptr %1123, align 4, !tbaa !11
  %1124 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1125 = load float, ptr %1124, align 4, !tbaa !14
  %1126 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %1125, ptr %1126, align 4, !tbaa !14
  %1127 = load ptr, ptr %13, align 8, !tbaa !5
  %1128 = getelementptr inbounds %struct.complex, ptr %1127, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %1128)
  %1129 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1130 = load float, ptr %1129, align 4, !tbaa !11
  %1131 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %1130, ptr %1131, align 4, !tbaa !11
  %1132 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1133 = load float, ptr %1132, align 4, !tbaa !14
  %1134 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %1133, ptr %1134, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %1135 = load ptr, ptr %14, align 8, !tbaa !5
  %1136 = getelementptr inbounds %struct.complex, ptr %1135, i32 0, i32 0
  %1137 = load float, ptr %1136, align 4, !tbaa !11
  %1138 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1139 = load float, ptr %1138, align 4, !tbaa !11
  %1140 = load ptr, ptr %14, align 8, !tbaa !5
  %1141 = getelementptr inbounds %struct.complex, ptr %1140, i32 0, i32 1
  %1142 = load float, ptr %1141, align 4, !tbaa !14
  %1143 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1144 = load float, ptr %1143, align 4, !tbaa !14
  %1145 = fmul float %1142, %1144
  %1146 = fneg float %1145
  %1147 = call float @llvm.fmuladd.f32(float %1137, float %1139, float %1146)
  %1148 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1147, ptr %1148, align 4, !tbaa !11
  %1149 = load ptr, ptr %14, align 8, !tbaa !5
  %1150 = getelementptr inbounds %struct.complex, ptr %1149, i32 0, i32 0
  %1151 = load float, ptr %1150, align 4, !tbaa !11
  %1152 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1153 = load float, ptr %1152, align 4, !tbaa !14
  %1154 = load ptr, ptr %14, align 8, !tbaa !5
  %1155 = getelementptr inbounds %struct.complex, ptr %1154, i32 0, i32 1
  %1156 = load float, ptr %1155, align 4, !tbaa !14
  %1157 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1158 = load float, ptr %1157, align 4, !tbaa !11
  %1159 = fmul float %1156, %1158
  %1160 = call float @llvm.fmuladd.f32(float %1151, float %1153, float %1159)
  %1161 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1160, ptr %1161, align 4, !tbaa !14
  %1162 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1163 = load float, ptr %1162, align 4, !tbaa !11
  %1164 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %1163, ptr %1164, align 4, !tbaa !11
  %1165 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1166 = load float, ptr %1165, align 4, !tbaa !14
  %1167 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %1166, ptr %1167, align 4, !tbaa !14
  %1168 = load ptr, ptr %13, align 8, !tbaa !5
  %1169 = getelementptr inbounds %struct.complex, ptr %1168, i64 4
  call void @r_cnjg(ptr noundef %31, ptr noundef %1169)
  %1170 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1171 = load float, ptr %1170, align 4, !tbaa !11
  %1172 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %1171, ptr %1172, align 4, !tbaa !11
  %1173 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1174 = load float, ptr %1173, align 4, !tbaa !14
  %1175 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %1174, ptr %1175, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %1176 = load ptr, ptr %14, align 8, !tbaa !5
  %1177 = getelementptr inbounds %struct.complex, ptr %1176, i32 0, i32 0
  %1178 = load float, ptr %1177, align 4, !tbaa !11
  %1179 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1180 = load float, ptr %1179, align 4, !tbaa !11
  %1181 = load ptr, ptr %14, align 8, !tbaa !5
  %1182 = getelementptr inbounds %struct.complex, ptr %1181, i32 0, i32 1
  %1183 = load float, ptr %1182, align 4, !tbaa !14
  %1184 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1185 = load float, ptr %1184, align 4, !tbaa !14
  %1186 = fmul float %1183, %1185
  %1187 = fneg float %1186
  %1188 = call float @llvm.fmuladd.f32(float %1178, float %1180, float %1187)
  %1189 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1188, ptr %1189, align 4, !tbaa !11
  %1190 = load ptr, ptr %14, align 8, !tbaa !5
  %1191 = getelementptr inbounds %struct.complex, ptr %1190, i32 0, i32 0
  %1192 = load float, ptr %1191, align 4, !tbaa !11
  %1193 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1194 = load float, ptr %1193, align 4, !tbaa !14
  %1195 = load ptr, ptr %14, align 8, !tbaa !5
  %1196 = getelementptr inbounds %struct.complex, ptr %1195, i32 0, i32 1
  %1197 = load float, ptr %1196, align 4, !tbaa !14
  %1198 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1199 = load float, ptr %1198, align 4, !tbaa !11
  %1200 = fmul float %1197, %1199
  %1201 = call float @llvm.fmuladd.f32(float %1192, float %1194, float %1200)
  %1202 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1201, ptr %1202, align 4, !tbaa !14
  %1203 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1204 = load float, ptr %1203, align 4, !tbaa !11
  %1205 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %1204, ptr %1205, align 4, !tbaa !11
  %1206 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1207 = load float, ptr %1206, align 4, !tbaa !14
  %1208 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %1207, ptr %1208, align 4, !tbaa !14
  %1209 = load ptr, ptr %12, align 8, !tbaa !5
  %1210 = load i64, ptr %1209, align 8, !tbaa !9
  store i64 %1210, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %1211

1211:                                             ; preds = %1658, %1044
  %1212 = load i64, ptr %50, align 8, !tbaa !9
  %1213 = load i64, ptr %20, align 8, !tbaa !9
  %1214 = icmp sle i64 %1212, %1213
  br i1 %1214, label %1215, label %1661

1215:                                             ; preds = %1211
  %1216 = load i64, ptr %50, align 8, !tbaa !9
  %1217 = load i64, ptr %18, align 8, !tbaa !9
  %1218 = mul nsw i64 %1216, %1217
  %1219 = add nsw i64 %1218, 1
  store i64 %1219, ptr %21, align 8, !tbaa !9
  %1220 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1221 = load float, ptr %1220, align 4, !tbaa !11
  %1222 = load ptr, ptr %15, align 8, !tbaa !5
  %1223 = load i64, ptr %21, align 8, !tbaa !9
  %1224 = getelementptr inbounds %struct.complex, ptr %1222, i64 %1223
  %1225 = getelementptr inbounds %struct.complex, ptr %1224, i32 0, i32 0
  %1226 = load float, ptr %1225, align 4, !tbaa !11
  %1227 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1228 = load float, ptr %1227, align 4, !tbaa !14
  %1229 = load ptr, ptr %15, align 8, !tbaa !5
  %1230 = load i64, ptr %21, align 8, !tbaa !9
  %1231 = getelementptr inbounds %struct.complex, ptr %1229, i64 %1230
  %1232 = getelementptr inbounds %struct.complex, ptr %1231, i32 0, i32 1
  %1233 = load float, ptr %1232, align 4, !tbaa !14
  %1234 = fmul float %1228, %1233
  %1235 = fneg float %1234
  %1236 = call float @llvm.fmuladd.f32(float %1221, float %1226, float %1235)
  %1237 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %1236, ptr %1237, align 4, !tbaa !11
  %1238 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1239 = load float, ptr %1238, align 4, !tbaa !11
  %1240 = load ptr, ptr %15, align 8, !tbaa !5
  %1241 = load i64, ptr %21, align 8, !tbaa !9
  %1242 = getelementptr inbounds %struct.complex, ptr %1240, i64 %1241
  %1243 = getelementptr inbounds %struct.complex, ptr %1242, i32 0, i32 1
  %1244 = load float, ptr %1243, align 4, !tbaa !14
  %1245 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1246 = load float, ptr %1245, align 4, !tbaa !14
  %1247 = load ptr, ptr %15, align 8, !tbaa !5
  %1248 = load i64, ptr %21, align 8, !tbaa !9
  %1249 = getelementptr inbounds %struct.complex, ptr %1247, i64 %1248
  %1250 = getelementptr inbounds %struct.complex, ptr %1249, i32 0, i32 0
  %1251 = load float, ptr %1250, align 4, !tbaa !11
  %1252 = fmul float %1246, %1251
  %1253 = call float @llvm.fmuladd.f32(float %1239, float %1244, float %1252)
  %1254 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %1253, ptr %1254, align 4, !tbaa !14
  %1255 = load i64, ptr %50, align 8, !tbaa !9
  %1256 = load i64, ptr %18, align 8, !tbaa !9
  %1257 = mul nsw i64 %1255, %1256
  %1258 = add nsw i64 %1257, 2
  store i64 %1258, ptr %22, align 8, !tbaa !9
  %1259 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1260 = load float, ptr %1259, align 4, !tbaa !11
  %1261 = load ptr, ptr %15, align 8, !tbaa !5
  %1262 = load i64, ptr %22, align 8, !tbaa !9
  %1263 = getelementptr inbounds %struct.complex, ptr %1261, i64 %1262
  %1264 = getelementptr inbounds %struct.complex, ptr %1263, i32 0, i32 0
  %1265 = load float, ptr %1264, align 4, !tbaa !11
  %1266 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1267 = load float, ptr %1266, align 4, !tbaa !14
  %1268 = load ptr, ptr %15, align 8, !tbaa !5
  %1269 = load i64, ptr %22, align 8, !tbaa !9
  %1270 = getelementptr inbounds %struct.complex, ptr %1268, i64 %1269
  %1271 = getelementptr inbounds %struct.complex, ptr %1270, i32 0, i32 1
  %1272 = load float, ptr %1271, align 4, !tbaa !14
  %1273 = fmul float %1267, %1272
  %1274 = fneg float %1273
  %1275 = call float @llvm.fmuladd.f32(float %1260, float %1265, float %1274)
  %1276 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %1275, ptr %1276, align 4, !tbaa !11
  %1277 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1278 = load float, ptr %1277, align 4, !tbaa !11
  %1279 = load ptr, ptr %15, align 8, !tbaa !5
  %1280 = load i64, ptr %22, align 8, !tbaa !9
  %1281 = getelementptr inbounds %struct.complex, ptr %1279, i64 %1280
  %1282 = getelementptr inbounds %struct.complex, ptr %1281, i32 0, i32 1
  %1283 = load float, ptr %1282, align 4, !tbaa !14
  %1284 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1285 = load float, ptr %1284, align 4, !tbaa !14
  %1286 = load ptr, ptr %15, align 8, !tbaa !5
  %1287 = load i64, ptr %22, align 8, !tbaa !9
  %1288 = getelementptr inbounds %struct.complex, ptr %1286, i64 %1287
  %1289 = getelementptr inbounds %struct.complex, ptr %1288, i32 0, i32 0
  %1290 = load float, ptr %1289, align 4, !tbaa !11
  %1291 = fmul float %1285, %1290
  %1292 = call float @llvm.fmuladd.f32(float %1278, float %1283, float %1291)
  %1293 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %1292, ptr %1293, align 4, !tbaa !14
  %1294 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %1295 = load float, ptr %1294, align 4, !tbaa !11
  %1296 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %1297 = load float, ptr %1296, align 4, !tbaa !11
  %1298 = fadd float %1295, %1297
  %1299 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %1298, ptr %1299, align 4, !tbaa !11
  %1300 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %1301 = load float, ptr %1300, align 4, !tbaa !14
  %1302 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %1303 = load float, ptr %1302, align 4, !tbaa !14
  %1304 = fadd float %1301, %1303
  %1305 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %1304, ptr %1305, align 4, !tbaa !14
  %1306 = load i64, ptr %50, align 8, !tbaa !9
  %1307 = load i64, ptr %18, align 8, !tbaa !9
  %1308 = mul nsw i64 %1306, %1307
  %1309 = add nsw i64 %1308, 3
  store i64 %1309, ptr %23, align 8, !tbaa !9
  %1310 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %1311 = load float, ptr %1310, align 4, !tbaa !11
  %1312 = load ptr, ptr %15, align 8, !tbaa !5
  %1313 = load i64, ptr %23, align 8, !tbaa !9
  %1314 = getelementptr inbounds %struct.complex, ptr %1312, i64 %1313
  %1315 = getelementptr inbounds %struct.complex, ptr %1314, i32 0, i32 0
  %1316 = load float, ptr %1315, align 4, !tbaa !11
  %1317 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %1318 = load float, ptr %1317, align 4, !tbaa !14
  %1319 = load ptr, ptr %15, align 8, !tbaa !5
  %1320 = load i64, ptr %23, align 8, !tbaa !9
  %1321 = getelementptr inbounds %struct.complex, ptr %1319, i64 %1320
  %1322 = getelementptr inbounds %struct.complex, ptr %1321, i32 0, i32 1
  %1323 = load float, ptr %1322, align 4, !tbaa !14
  %1324 = fmul float %1318, %1323
  %1325 = fneg float %1324
  %1326 = call float @llvm.fmuladd.f32(float %1311, float %1316, float %1325)
  %1327 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1326, ptr %1327, align 4, !tbaa !11
  %1328 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %1329 = load float, ptr %1328, align 4, !tbaa !11
  %1330 = load ptr, ptr %15, align 8, !tbaa !5
  %1331 = load i64, ptr %23, align 8, !tbaa !9
  %1332 = getelementptr inbounds %struct.complex, ptr %1330, i64 %1331
  %1333 = getelementptr inbounds %struct.complex, ptr %1332, i32 0, i32 1
  %1334 = load float, ptr %1333, align 4, !tbaa !14
  %1335 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %1336 = load float, ptr %1335, align 4, !tbaa !14
  %1337 = load ptr, ptr %15, align 8, !tbaa !5
  %1338 = load i64, ptr %23, align 8, !tbaa !9
  %1339 = getelementptr inbounds %struct.complex, ptr %1337, i64 %1338
  %1340 = getelementptr inbounds %struct.complex, ptr %1339, i32 0, i32 0
  %1341 = load float, ptr %1340, align 4, !tbaa !11
  %1342 = fmul float %1336, %1341
  %1343 = call float @llvm.fmuladd.f32(float %1329, float %1334, float %1342)
  %1344 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1343, ptr %1344, align 4, !tbaa !14
  %1345 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %1346 = load float, ptr %1345, align 4, !tbaa !11
  %1347 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1348 = load float, ptr %1347, align 4, !tbaa !11
  %1349 = fadd float %1346, %1348
  %1350 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %1349, ptr %1350, align 4, !tbaa !11
  %1351 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %1352 = load float, ptr %1351, align 4, !tbaa !14
  %1353 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1354 = load float, ptr %1353, align 4, !tbaa !14
  %1355 = fadd float %1352, %1354
  %1356 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1355, ptr %1356, align 4, !tbaa !14
  %1357 = load i64, ptr %50, align 8, !tbaa !9
  %1358 = load i64, ptr %18, align 8, !tbaa !9
  %1359 = mul nsw i64 %1357, %1358
  %1360 = add nsw i64 %1359, 4
  store i64 %1360, ptr %24, align 8, !tbaa !9
  %1361 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %1362 = load float, ptr %1361, align 4, !tbaa !11
  %1363 = load ptr, ptr %15, align 8, !tbaa !5
  %1364 = load i64, ptr %24, align 8, !tbaa !9
  %1365 = getelementptr inbounds %struct.complex, ptr %1363, i64 %1364
  %1366 = getelementptr inbounds %struct.complex, ptr %1365, i32 0, i32 0
  %1367 = load float, ptr %1366, align 4, !tbaa !11
  %1368 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %1369 = load float, ptr %1368, align 4, !tbaa !14
  %1370 = load ptr, ptr %15, align 8, !tbaa !5
  %1371 = load i64, ptr %24, align 8, !tbaa !9
  %1372 = getelementptr inbounds %struct.complex, ptr %1370, i64 %1371
  %1373 = getelementptr inbounds %struct.complex, ptr %1372, i32 0, i32 1
  %1374 = load float, ptr %1373, align 4, !tbaa !14
  %1375 = fmul float %1369, %1374
  %1376 = fneg float %1375
  %1377 = call float @llvm.fmuladd.f32(float %1362, float %1367, float %1376)
  %1378 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %1377, ptr %1378, align 4, !tbaa !11
  %1379 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %1380 = load float, ptr %1379, align 4, !tbaa !11
  %1381 = load ptr, ptr %15, align 8, !tbaa !5
  %1382 = load i64, ptr %24, align 8, !tbaa !9
  %1383 = getelementptr inbounds %struct.complex, ptr %1381, i64 %1382
  %1384 = getelementptr inbounds %struct.complex, ptr %1383, i32 0, i32 1
  %1385 = load float, ptr %1384, align 4, !tbaa !14
  %1386 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %1387 = load float, ptr %1386, align 4, !tbaa !14
  %1388 = load ptr, ptr %15, align 8, !tbaa !5
  %1389 = load i64, ptr %24, align 8, !tbaa !9
  %1390 = getelementptr inbounds %struct.complex, ptr %1388, i64 %1389
  %1391 = getelementptr inbounds %struct.complex, ptr %1390, i32 0, i32 0
  %1392 = load float, ptr %1391, align 4, !tbaa !11
  %1393 = fmul float %1387, %1392
  %1394 = call float @llvm.fmuladd.f32(float %1380, float %1385, float %1393)
  %1395 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %1394, ptr %1395, align 4, !tbaa !14
  %1396 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1397 = load float, ptr %1396, align 4, !tbaa !11
  %1398 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %1399 = load float, ptr %1398, align 4, !tbaa !11
  %1400 = fadd float %1397, %1399
  %1401 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1400, ptr %1401, align 4, !tbaa !11
  %1402 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1403 = load float, ptr %1402, align 4, !tbaa !14
  %1404 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %1405 = load float, ptr %1404, align 4, !tbaa !14
  %1406 = fadd float %1403, %1405
  %1407 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1406, ptr %1407, align 4, !tbaa !14
  %1408 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1409 = load float, ptr %1408, align 4, !tbaa !11
  %1410 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %1409, ptr %1410, align 4, !tbaa !11
  %1411 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1412 = load float, ptr %1411, align 4, !tbaa !14
  %1413 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %1412, ptr %1413, align 4, !tbaa !14
  %1414 = load i64, ptr %50, align 8, !tbaa !9
  %1415 = load i64, ptr %18, align 8, !tbaa !9
  %1416 = mul nsw i64 %1414, %1415
  %1417 = add nsw i64 %1416, 1
  store i64 %1417, ptr %21, align 8, !tbaa !9
  %1418 = load i64, ptr %50, align 8, !tbaa !9
  %1419 = load i64, ptr %18, align 8, !tbaa !9
  %1420 = mul nsw i64 %1418, %1419
  %1421 = add nsw i64 %1420, 1
  store i64 %1421, ptr %22, align 8, !tbaa !9
  %1422 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1423 = load float, ptr %1422, align 4, !tbaa !11
  %1424 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %1425 = load float, ptr %1424, align 4, !tbaa !11
  %1426 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1427 = load float, ptr %1426, align 4, !tbaa !14
  %1428 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %1429 = load float, ptr %1428, align 4, !tbaa !14
  %1430 = fmul float %1427, %1429
  %1431 = fneg float %1430
  %1432 = call float @llvm.fmuladd.f32(float %1423, float %1425, float %1431)
  %1433 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %1432, ptr %1433, align 4, !tbaa !11
  %1434 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1435 = load float, ptr %1434, align 4, !tbaa !11
  %1436 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %1437 = load float, ptr %1436, align 4, !tbaa !14
  %1438 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1439 = load float, ptr %1438, align 4, !tbaa !14
  %1440 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %1441 = load float, ptr %1440, align 4, !tbaa !11
  %1442 = fmul float %1439, %1441
  %1443 = call float @llvm.fmuladd.f32(float %1435, float %1437, float %1442)
  %1444 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1443, ptr %1444, align 4, !tbaa !14
  %1445 = load ptr, ptr %15, align 8, !tbaa !5
  %1446 = load i64, ptr %22, align 8, !tbaa !9
  %1447 = getelementptr inbounds %struct.complex, ptr %1445, i64 %1446
  %1448 = getelementptr inbounds %struct.complex, ptr %1447, i32 0, i32 0
  %1449 = load float, ptr %1448, align 4, !tbaa !11
  %1450 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1451 = load float, ptr %1450, align 4, !tbaa !11
  %1452 = fsub float %1449, %1451
  %1453 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1452, ptr %1453, align 4, !tbaa !11
  %1454 = load ptr, ptr %15, align 8, !tbaa !5
  %1455 = load i64, ptr %22, align 8, !tbaa !9
  %1456 = getelementptr inbounds %struct.complex, ptr %1454, i64 %1455
  %1457 = getelementptr inbounds %struct.complex, ptr %1456, i32 0, i32 1
  %1458 = load float, ptr %1457, align 4, !tbaa !14
  %1459 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1460 = load float, ptr %1459, align 4, !tbaa !14
  %1461 = fsub float %1458, %1460
  %1462 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1461, ptr %1462, align 4, !tbaa !14
  %1463 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1464 = load float, ptr %1463, align 4, !tbaa !11
  %1465 = load ptr, ptr %15, align 8, !tbaa !5
  %1466 = load i64, ptr %21, align 8, !tbaa !9
  %1467 = getelementptr inbounds %struct.complex, ptr %1465, i64 %1466
  %1468 = getelementptr inbounds %struct.complex, ptr %1467, i32 0, i32 0
  store float %1464, ptr %1468, align 4, !tbaa !11
  %1469 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1470 = load float, ptr %1469, align 4, !tbaa !14
  %1471 = load ptr, ptr %15, align 8, !tbaa !5
  %1472 = load i64, ptr %21, align 8, !tbaa !9
  %1473 = getelementptr inbounds %struct.complex, ptr %1471, i64 %1472
  %1474 = getelementptr inbounds %struct.complex, ptr %1473, i32 0, i32 1
  store float %1470, ptr %1474, align 4, !tbaa !14
  %1475 = load i64, ptr %50, align 8, !tbaa !9
  %1476 = load i64, ptr %18, align 8, !tbaa !9
  %1477 = mul nsw i64 %1475, %1476
  %1478 = add nsw i64 %1477, 2
  store i64 %1478, ptr %21, align 8, !tbaa !9
  %1479 = load i64, ptr %50, align 8, !tbaa !9
  %1480 = load i64, ptr %18, align 8, !tbaa !9
  %1481 = mul nsw i64 %1479, %1480
  %1482 = add nsw i64 %1481, 2
  store i64 %1482, ptr %22, align 8, !tbaa !9
  %1483 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1484 = load float, ptr %1483, align 4, !tbaa !11
  %1485 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1486 = load float, ptr %1485, align 4, !tbaa !11
  %1487 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1488 = load float, ptr %1487, align 4, !tbaa !14
  %1489 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1490 = load float, ptr %1489, align 4, !tbaa !14
  %1491 = fmul float %1488, %1490
  %1492 = fneg float %1491
  %1493 = call float @llvm.fmuladd.f32(float %1484, float %1486, float %1492)
  %1494 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %1493, ptr %1494, align 4, !tbaa !11
  %1495 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1496 = load float, ptr %1495, align 4, !tbaa !11
  %1497 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1498 = load float, ptr %1497, align 4, !tbaa !14
  %1499 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1500 = load float, ptr %1499, align 4, !tbaa !14
  %1501 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1502 = load float, ptr %1501, align 4, !tbaa !11
  %1503 = fmul float %1500, %1502
  %1504 = call float @llvm.fmuladd.f32(float %1496, float %1498, float %1503)
  %1505 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1504, ptr %1505, align 4, !tbaa !14
  %1506 = load ptr, ptr %15, align 8, !tbaa !5
  %1507 = load i64, ptr %22, align 8, !tbaa !9
  %1508 = getelementptr inbounds %struct.complex, ptr %1506, i64 %1507
  %1509 = getelementptr inbounds %struct.complex, ptr %1508, i32 0, i32 0
  %1510 = load float, ptr %1509, align 4, !tbaa !11
  %1511 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1512 = load float, ptr %1511, align 4, !tbaa !11
  %1513 = fsub float %1510, %1512
  %1514 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1513, ptr %1514, align 4, !tbaa !11
  %1515 = load ptr, ptr %15, align 8, !tbaa !5
  %1516 = load i64, ptr %22, align 8, !tbaa !9
  %1517 = getelementptr inbounds %struct.complex, ptr %1515, i64 %1516
  %1518 = getelementptr inbounds %struct.complex, ptr %1517, i32 0, i32 1
  %1519 = load float, ptr %1518, align 4, !tbaa !14
  %1520 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1521 = load float, ptr %1520, align 4, !tbaa !14
  %1522 = fsub float %1519, %1521
  %1523 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1522, ptr %1523, align 4, !tbaa !14
  %1524 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1525 = load float, ptr %1524, align 4, !tbaa !11
  %1526 = load ptr, ptr %15, align 8, !tbaa !5
  %1527 = load i64, ptr %21, align 8, !tbaa !9
  %1528 = getelementptr inbounds %struct.complex, ptr %1526, i64 %1527
  %1529 = getelementptr inbounds %struct.complex, ptr %1528, i32 0, i32 0
  store float %1525, ptr %1529, align 4, !tbaa !11
  %1530 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1531 = load float, ptr %1530, align 4, !tbaa !14
  %1532 = load ptr, ptr %15, align 8, !tbaa !5
  %1533 = load i64, ptr %21, align 8, !tbaa !9
  %1534 = getelementptr inbounds %struct.complex, ptr %1532, i64 %1533
  %1535 = getelementptr inbounds %struct.complex, ptr %1534, i32 0, i32 1
  store float %1531, ptr %1535, align 4, !tbaa !14
  %1536 = load i64, ptr %50, align 8, !tbaa !9
  %1537 = load i64, ptr %18, align 8, !tbaa !9
  %1538 = mul nsw i64 %1536, %1537
  %1539 = add nsw i64 %1538, 3
  store i64 %1539, ptr %21, align 8, !tbaa !9
  %1540 = load i64, ptr %50, align 8, !tbaa !9
  %1541 = load i64, ptr %18, align 8, !tbaa !9
  %1542 = mul nsw i64 %1540, %1541
  %1543 = add nsw i64 %1542, 3
  store i64 %1543, ptr %22, align 8, !tbaa !9
  %1544 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1545 = load float, ptr %1544, align 4, !tbaa !11
  %1546 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %1547 = load float, ptr %1546, align 4, !tbaa !11
  %1548 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1549 = load float, ptr %1548, align 4, !tbaa !14
  %1550 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %1551 = load float, ptr %1550, align 4, !tbaa !14
  %1552 = fmul float %1549, %1551
  %1553 = fneg float %1552
  %1554 = call float @llvm.fmuladd.f32(float %1545, float %1547, float %1553)
  %1555 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %1554, ptr %1555, align 4, !tbaa !11
  %1556 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1557 = load float, ptr %1556, align 4, !tbaa !11
  %1558 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %1559 = load float, ptr %1558, align 4, !tbaa !14
  %1560 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1561 = load float, ptr %1560, align 4, !tbaa !14
  %1562 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %1563 = load float, ptr %1562, align 4, !tbaa !11
  %1564 = fmul float %1561, %1563
  %1565 = call float @llvm.fmuladd.f32(float %1557, float %1559, float %1564)
  %1566 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1565, ptr %1566, align 4, !tbaa !14
  %1567 = load ptr, ptr %15, align 8, !tbaa !5
  %1568 = load i64, ptr %22, align 8, !tbaa !9
  %1569 = getelementptr inbounds %struct.complex, ptr %1567, i64 %1568
  %1570 = getelementptr inbounds %struct.complex, ptr %1569, i32 0, i32 0
  %1571 = load float, ptr %1570, align 4, !tbaa !11
  %1572 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1573 = load float, ptr %1572, align 4, !tbaa !11
  %1574 = fsub float %1571, %1573
  %1575 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1574, ptr %1575, align 4, !tbaa !11
  %1576 = load ptr, ptr %15, align 8, !tbaa !5
  %1577 = load i64, ptr %22, align 8, !tbaa !9
  %1578 = getelementptr inbounds %struct.complex, ptr %1576, i64 %1577
  %1579 = getelementptr inbounds %struct.complex, ptr %1578, i32 0, i32 1
  %1580 = load float, ptr %1579, align 4, !tbaa !14
  %1581 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1582 = load float, ptr %1581, align 4, !tbaa !14
  %1583 = fsub float %1580, %1582
  %1584 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1583, ptr %1584, align 4, !tbaa !14
  %1585 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1586 = load float, ptr %1585, align 4, !tbaa !11
  %1587 = load ptr, ptr %15, align 8, !tbaa !5
  %1588 = load i64, ptr %21, align 8, !tbaa !9
  %1589 = getelementptr inbounds %struct.complex, ptr %1587, i64 %1588
  %1590 = getelementptr inbounds %struct.complex, ptr %1589, i32 0, i32 0
  store float %1586, ptr %1590, align 4, !tbaa !11
  %1591 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1592 = load float, ptr %1591, align 4, !tbaa !14
  %1593 = load ptr, ptr %15, align 8, !tbaa !5
  %1594 = load i64, ptr %21, align 8, !tbaa !9
  %1595 = getelementptr inbounds %struct.complex, ptr %1593, i64 %1594
  %1596 = getelementptr inbounds %struct.complex, ptr %1595, i32 0, i32 1
  store float %1592, ptr %1596, align 4, !tbaa !14
  %1597 = load i64, ptr %50, align 8, !tbaa !9
  %1598 = load i64, ptr %18, align 8, !tbaa !9
  %1599 = mul nsw i64 %1597, %1598
  %1600 = add nsw i64 %1599, 4
  store i64 %1600, ptr %21, align 8, !tbaa !9
  %1601 = load i64, ptr %50, align 8, !tbaa !9
  %1602 = load i64, ptr %18, align 8, !tbaa !9
  %1603 = mul nsw i64 %1601, %1602
  %1604 = add nsw i64 %1603, 4
  store i64 %1604, ptr %22, align 8, !tbaa !9
  %1605 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1606 = load float, ptr %1605, align 4, !tbaa !11
  %1607 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %1608 = load float, ptr %1607, align 4, !tbaa !11
  %1609 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1610 = load float, ptr %1609, align 4, !tbaa !14
  %1611 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %1612 = load float, ptr %1611, align 4, !tbaa !14
  %1613 = fmul float %1610, %1612
  %1614 = fneg float %1613
  %1615 = call float @llvm.fmuladd.f32(float %1606, float %1608, float %1614)
  %1616 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %1615, ptr %1616, align 4, !tbaa !11
  %1617 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %1618 = load float, ptr %1617, align 4, !tbaa !11
  %1619 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %1620 = load float, ptr %1619, align 4, !tbaa !14
  %1621 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %1622 = load float, ptr %1621, align 4, !tbaa !14
  %1623 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %1624 = load float, ptr %1623, align 4, !tbaa !11
  %1625 = fmul float %1622, %1624
  %1626 = call float @llvm.fmuladd.f32(float %1618, float %1620, float %1625)
  %1627 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %1626, ptr %1627, align 4, !tbaa !14
  %1628 = load ptr, ptr %15, align 8, !tbaa !5
  %1629 = load i64, ptr %22, align 8, !tbaa !9
  %1630 = getelementptr inbounds %struct.complex, ptr %1628, i64 %1629
  %1631 = getelementptr inbounds %struct.complex, ptr %1630, i32 0, i32 0
  %1632 = load float, ptr %1631, align 4, !tbaa !11
  %1633 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1634 = load float, ptr %1633, align 4, !tbaa !11
  %1635 = fsub float %1632, %1634
  %1636 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1635, ptr %1636, align 4, !tbaa !11
  %1637 = load ptr, ptr %15, align 8, !tbaa !5
  %1638 = load i64, ptr %22, align 8, !tbaa !9
  %1639 = getelementptr inbounds %struct.complex, ptr %1637, i64 %1638
  %1640 = getelementptr inbounds %struct.complex, ptr %1639, i32 0, i32 1
  %1641 = load float, ptr %1640, align 4, !tbaa !14
  %1642 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1643 = load float, ptr %1642, align 4, !tbaa !14
  %1644 = fsub float %1641, %1643
  %1645 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1644, ptr %1645, align 4, !tbaa !14
  %1646 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1647 = load float, ptr %1646, align 4, !tbaa !11
  %1648 = load ptr, ptr %15, align 8, !tbaa !5
  %1649 = load i64, ptr %21, align 8, !tbaa !9
  %1650 = getelementptr inbounds %struct.complex, ptr %1648, i64 %1649
  %1651 = getelementptr inbounds %struct.complex, ptr %1650, i32 0, i32 0
  store float %1647, ptr %1651, align 4, !tbaa !11
  %1652 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1653 = load float, ptr %1652, align 4, !tbaa !14
  %1654 = load ptr, ptr %15, align 8, !tbaa !5
  %1655 = load i64, ptr %21, align 8, !tbaa !9
  %1656 = getelementptr inbounds %struct.complex, ptr %1654, i64 %1655
  %1657 = getelementptr inbounds %struct.complex, ptr %1656, i32 0, i32 1
  store float %1653, ptr %1657, align 4, !tbaa !14
  br label %1658

1658:                                             ; preds = %1215
  %1659 = load i64, ptr %50, align 8, !tbaa !9
  %1660 = add nsw i64 %1659, 1
  store i64 %1660, ptr %50, align 8, !tbaa !9
  br label %1211, !llvm.loop !19

1661:                                             ; preds = %1211
  br label %17146

1662:                                             ; preds = %106
  %1663 = load ptr, ptr %13, align 8, !tbaa !5
  %1664 = getelementptr inbounds %struct.complex, ptr %1663, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %1664)
  %1665 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1666 = load float, ptr %1665, align 4, !tbaa !11
  %1667 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %1666, ptr %1667, align 4, !tbaa !11
  %1668 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1669 = load float, ptr %1668, align 4, !tbaa !14
  %1670 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %1669, ptr %1670, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %1671 = load ptr, ptr %14, align 8, !tbaa !5
  %1672 = getelementptr inbounds %struct.complex, ptr %1671, i32 0, i32 0
  %1673 = load float, ptr %1672, align 4, !tbaa !11
  %1674 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1675 = load float, ptr %1674, align 4, !tbaa !11
  %1676 = load ptr, ptr %14, align 8, !tbaa !5
  %1677 = getelementptr inbounds %struct.complex, ptr %1676, i32 0, i32 1
  %1678 = load float, ptr %1677, align 4, !tbaa !14
  %1679 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1680 = load float, ptr %1679, align 4, !tbaa !14
  %1681 = fmul float %1678, %1680
  %1682 = fneg float %1681
  %1683 = call float @llvm.fmuladd.f32(float %1673, float %1675, float %1682)
  %1684 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1683, ptr %1684, align 4, !tbaa !11
  %1685 = load ptr, ptr %14, align 8, !tbaa !5
  %1686 = getelementptr inbounds %struct.complex, ptr %1685, i32 0, i32 0
  %1687 = load float, ptr %1686, align 4, !tbaa !11
  %1688 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1689 = load float, ptr %1688, align 4, !tbaa !14
  %1690 = load ptr, ptr %14, align 8, !tbaa !5
  %1691 = getelementptr inbounds %struct.complex, ptr %1690, i32 0, i32 1
  %1692 = load float, ptr %1691, align 4, !tbaa !14
  %1693 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1694 = load float, ptr %1693, align 4, !tbaa !11
  %1695 = fmul float %1692, %1694
  %1696 = call float @llvm.fmuladd.f32(float %1687, float %1689, float %1695)
  %1697 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1696, ptr %1697, align 4, !tbaa !14
  %1698 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1699 = load float, ptr %1698, align 4, !tbaa !11
  %1700 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %1699, ptr %1700, align 4, !tbaa !11
  %1701 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1702 = load float, ptr %1701, align 4, !tbaa !14
  %1703 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %1702, ptr %1703, align 4, !tbaa !14
  %1704 = load ptr, ptr %13, align 8, !tbaa !5
  %1705 = getelementptr inbounds %struct.complex, ptr %1704, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %1705)
  %1706 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1707 = load float, ptr %1706, align 4, !tbaa !11
  %1708 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %1707, ptr %1708, align 4, !tbaa !11
  %1709 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1710 = load float, ptr %1709, align 4, !tbaa !14
  %1711 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %1710, ptr %1711, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %1712 = load ptr, ptr %14, align 8, !tbaa !5
  %1713 = getelementptr inbounds %struct.complex, ptr %1712, i32 0, i32 0
  %1714 = load float, ptr %1713, align 4, !tbaa !11
  %1715 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1716 = load float, ptr %1715, align 4, !tbaa !11
  %1717 = load ptr, ptr %14, align 8, !tbaa !5
  %1718 = getelementptr inbounds %struct.complex, ptr %1717, i32 0, i32 1
  %1719 = load float, ptr %1718, align 4, !tbaa !14
  %1720 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1721 = load float, ptr %1720, align 4, !tbaa !14
  %1722 = fmul float %1719, %1721
  %1723 = fneg float %1722
  %1724 = call float @llvm.fmuladd.f32(float %1714, float %1716, float %1723)
  %1725 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1724, ptr %1725, align 4, !tbaa !11
  %1726 = load ptr, ptr %14, align 8, !tbaa !5
  %1727 = getelementptr inbounds %struct.complex, ptr %1726, i32 0, i32 0
  %1728 = load float, ptr %1727, align 4, !tbaa !11
  %1729 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1730 = load float, ptr %1729, align 4, !tbaa !14
  %1731 = load ptr, ptr %14, align 8, !tbaa !5
  %1732 = getelementptr inbounds %struct.complex, ptr %1731, i32 0, i32 1
  %1733 = load float, ptr %1732, align 4, !tbaa !14
  %1734 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1735 = load float, ptr %1734, align 4, !tbaa !11
  %1736 = fmul float %1733, %1735
  %1737 = call float @llvm.fmuladd.f32(float %1728, float %1730, float %1736)
  %1738 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1737, ptr %1738, align 4, !tbaa !14
  %1739 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1740 = load float, ptr %1739, align 4, !tbaa !11
  %1741 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %1740, ptr %1741, align 4, !tbaa !11
  %1742 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1743 = load float, ptr %1742, align 4, !tbaa !14
  %1744 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %1743, ptr %1744, align 4, !tbaa !14
  %1745 = load ptr, ptr %13, align 8, !tbaa !5
  %1746 = getelementptr inbounds %struct.complex, ptr %1745, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %1746)
  %1747 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1748 = load float, ptr %1747, align 4, !tbaa !11
  %1749 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %1748, ptr %1749, align 4, !tbaa !11
  %1750 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1751 = load float, ptr %1750, align 4, !tbaa !14
  %1752 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %1751, ptr %1752, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %1753 = load ptr, ptr %14, align 8, !tbaa !5
  %1754 = getelementptr inbounds %struct.complex, ptr %1753, i32 0, i32 0
  %1755 = load float, ptr %1754, align 4, !tbaa !11
  %1756 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1757 = load float, ptr %1756, align 4, !tbaa !11
  %1758 = load ptr, ptr %14, align 8, !tbaa !5
  %1759 = getelementptr inbounds %struct.complex, ptr %1758, i32 0, i32 1
  %1760 = load float, ptr %1759, align 4, !tbaa !14
  %1761 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1762 = load float, ptr %1761, align 4, !tbaa !14
  %1763 = fmul float %1760, %1762
  %1764 = fneg float %1763
  %1765 = call float @llvm.fmuladd.f32(float %1755, float %1757, float %1764)
  %1766 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1765, ptr %1766, align 4, !tbaa !11
  %1767 = load ptr, ptr %14, align 8, !tbaa !5
  %1768 = getelementptr inbounds %struct.complex, ptr %1767, i32 0, i32 0
  %1769 = load float, ptr %1768, align 4, !tbaa !11
  %1770 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1771 = load float, ptr %1770, align 4, !tbaa !14
  %1772 = load ptr, ptr %14, align 8, !tbaa !5
  %1773 = getelementptr inbounds %struct.complex, ptr %1772, i32 0, i32 1
  %1774 = load float, ptr %1773, align 4, !tbaa !14
  %1775 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1776 = load float, ptr %1775, align 4, !tbaa !11
  %1777 = fmul float %1774, %1776
  %1778 = call float @llvm.fmuladd.f32(float %1769, float %1771, float %1777)
  %1779 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1778, ptr %1779, align 4, !tbaa !14
  %1780 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1781 = load float, ptr %1780, align 4, !tbaa !11
  %1782 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %1781, ptr %1782, align 4, !tbaa !11
  %1783 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1784 = load float, ptr %1783, align 4, !tbaa !14
  %1785 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %1784, ptr %1785, align 4, !tbaa !14
  %1786 = load ptr, ptr %13, align 8, !tbaa !5
  %1787 = getelementptr inbounds %struct.complex, ptr %1786, i64 4
  call void @r_cnjg(ptr noundef %31, ptr noundef %1787)
  %1788 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1789 = load float, ptr %1788, align 4, !tbaa !11
  %1790 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %1789, ptr %1790, align 4, !tbaa !11
  %1791 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1792 = load float, ptr %1791, align 4, !tbaa !14
  %1793 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %1792, ptr %1793, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %1794 = load ptr, ptr %14, align 8, !tbaa !5
  %1795 = getelementptr inbounds %struct.complex, ptr %1794, i32 0, i32 0
  %1796 = load float, ptr %1795, align 4, !tbaa !11
  %1797 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1798 = load float, ptr %1797, align 4, !tbaa !11
  %1799 = load ptr, ptr %14, align 8, !tbaa !5
  %1800 = getelementptr inbounds %struct.complex, ptr %1799, i32 0, i32 1
  %1801 = load float, ptr %1800, align 4, !tbaa !14
  %1802 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1803 = load float, ptr %1802, align 4, !tbaa !14
  %1804 = fmul float %1801, %1803
  %1805 = fneg float %1804
  %1806 = call float @llvm.fmuladd.f32(float %1796, float %1798, float %1805)
  %1807 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1806, ptr %1807, align 4, !tbaa !11
  %1808 = load ptr, ptr %14, align 8, !tbaa !5
  %1809 = getelementptr inbounds %struct.complex, ptr %1808, i32 0, i32 0
  %1810 = load float, ptr %1809, align 4, !tbaa !11
  %1811 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1812 = load float, ptr %1811, align 4, !tbaa !14
  %1813 = load ptr, ptr %14, align 8, !tbaa !5
  %1814 = getelementptr inbounds %struct.complex, ptr %1813, i32 0, i32 1
  %1815 = load float, ptr %1814, align 4, !tbaa !14
  %1816 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1817 = load float, ptr %1816, align 4, !tbaa !11
  %1818 = fmul float %1815, %1817
  %1819 = call float @llvm.fmuladd.f32(float %1810, float %1812, float %1818)
  %1820 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1819, ptr %1820, align 4, !tbaa !14
  %1821 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1822 = load float, ptr %1821, align 4, !tbaa !11
  %1823 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %1822, ptr %1823, align 4, !tbaa !11
  %1824 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1825 = load float, ptr %1824, align 4, !tbaa !14
  %1826 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %1825, ptr %1826, align 4, !tbaa !14
  %1827 = load ptr, ptr %13, align 8, !tbaa !5
  %1828 = getelementptr inbounds %struct.complex, ptr %1827, i64 5
  call void @r_cnjg(ptr noundef %31, ptr noundef %1828)
  %1829 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1830 = load float, ptr %1829, align 4, !tbaa !11
  %1831 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %1830, ptr %1831, align 4, !tbaa !11
  %1832 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1833 = load float, ptr %1832, align 4, !tbaa !14
  %1834 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %1833, ptr %1834, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %1835 = load ptr, ptr %14, align 8, !tbaa !5
  %1836 = getelementptr inbounds %struct.complex, ptr %1835, i32 0, i32 0
  %1837 = load float, ptr %1836, align 4, !tbaa !11
  %1838 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1839 = load float, ptr %1838, align 4, !tbaa !11
  %1840 = load ptr, ptr %14, align 8, !tbaa !5
  %1841 = getelementptr inbounds %struct.complex, ptr %1840, i32 0, i32 1
  %1842 = load float, ptr %1841, align 4, !tbaa !14
  %1843 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1844 = load float, ptr %1843, align 4, !tbaa !14
  %1845 = fmul float %1842, %1844
  %1846 = fneg float %1845
  %1847 = call float @llvm.fmuladd.f32(float %1837, float %1839, float %1846)
  %1848 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %1847, ptr %1848, align 4, !tbaa !11
  %1849 = load ptr, ptr %14, align 8, !tbaa !5
  %1850 = getelementptr inbounds %struct.complex, ptr %1849, i32 0, i32 0
  %1851 = load float, ptr %1850, align 4, !tbaa !11
  %1852 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %1853 = load float, ptr %1852, align 4, !tbaa !14
  %1854 = load ptr, ptr %14, align 8, !tbaa !5
  %1855 = getelementptr inbounds %struct.complex, ptr %1854, i32 0, i32 1
  %1856 = load float, ptr %1855, align 4, !tbaa !14
  %1857 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %1858 = load float, ptr %1857, align 4, !tbaa !11
  %1859 = fmul float %1856, %1858
  %1860 = call float @llvm.fmuladd.f32(float %1851, float %1853, float %1859)
  %1861 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %1860, ptr %1861, align 4, !tbaa !14
  %1862 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %1863 = load float, ptr %1862, align 4, !tbaa !11
  %1864 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %1863, ptr %1864, align 4, !tbaa !11
  %1865 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %1866 = load float, ptr %1865, align 4, !tbaa !14
  %1867 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %1866, ptr %1867, align 4, !tbaa !14
  %1868 = load ptr, ptr %12, align 8, !tbaa !5
  %1869 = load i64, ptr %1868, align 8, !tbaa !9
  store i64 %1869, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %1870

1870:                                             ; preds = %2429, %1662
  %1871 = load i64, ptr %50, align 8, !tbaa !9
  %1872 = load i64, ptr %20, align 8, !tbaa !9
  %1873 = icmp sle i64 %1871, %1872
  br i1 %1873, label %1874, label %2432

1874:                                             ; preds = %1870
  %1875 = load i64, ptr %50, align 8, !tbaa !9
  %1876 = load i64, ptr %18, align 8, !tbaa !9
  %1877 = mul nsw i64 %1875, %1876
  %1878 = add nsw i64 %1877, 1
  store i64 %1878, ptr %21, align 8, !tbaa !9
  %1879 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1880 = load float, ptr %1879, align 4, !tbaa !11
  %1881 = load ptr, ptr %15, align 8, !tbaa !5
  %1882 = load i64, ptr %21, align 8, !tbaa !9
  %1883 = getelementptr inbounds %struct.complex, ptr %1881, i64 %1882
  %1884 = getelementptr inbounds %struct.complex, ptr %1883, i32 0, i32 0
  %1885 = load float, ptr %1884, align 4, !tbaa !11
  %1886 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1887 = load float, ptr %1886, align 4, !tbaa !14
  %1888 = load ptr, ptr %15, align 8, !tbaa !5
  %1889 = load i64, ptr %21, align 8, !tbaa !9
  %1890 = getelementptr inbounds %struct.complex, ptr %1888, i64 %1889
  %1891 = getelementptr inbounds %struct.complex, ptr %1890, i32 0, i32 1
  %1892 = load float, ptr %1891, align 4, !tbaa !14
  %1893 = fmul float %1887, %1892
  %1894 = fneg float %1893
  %1895 = call float @llvm.fmuladd.f32(float %1880, float %1885, float %1894)
  %1896 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %1895, ptr %1896, align 4, !tbaa !11
  %1897 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %1898 = load float, ptr %1897, align 4, !tbaa !11
  %1899 = load ptr, ptr %15, align 8, !tbaa !5
  %1900 = load i64, ptr %21, align 8, !tbaa !9
  %1901 = getelementptr inbounds %struct.complex, ptr %1899, i64 %1900
  %1902 = getelementptr inbounds %struct.complex, ptr %1901, i32 0, i32 1
  %1903 = load float, ptr %1902, align 4, !tbaa !14
  %1904 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %1905 = load float, ptr %1904, align 4, !tbaa !14
  %1906 = load ptr, ptr %15, align 8, !tbaa !5
  %1907 = load i64, ptr %21, align 8, !tbaa !9
  %1908 = getelementptr inbounds %struct.complex, ptr %1906, i64 %1907
  %1909 = getelementptr inbounds %struct.complex, ptr %1908, i32 0, i32 0
  %1910 = load float, ptr %1909, align 4, !tbaa !11
  %1911 = fmul float %1905, %1910
  %1912 = call float @llvm.fmuladd.f32(float %1898, float %1903, float %1911)
  %1913 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %1912, ptr %1913, align 4, !tbaa !14
  %1914 = load i64, ptr %50, align 8, !tbaa !9
  %1915 = load i64, ptr %18, align 8, !tbaa !9
  %1916 = mul nsw i64 %1914, %1915
  %1917 = add nsw i64 %1916, 2
  store i64 %1917, ptr %22, align 8, !tbaa !9
  %1918 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1919 = load float, ptr %1918, align 4, !tbaa !11
  %1920 = load ptr, ptr %15, align 8, !tbaa !5
  %1921 = load i64, ptr %22, align 8, !tbaa !9
  %1922 = getelementptr inbounds %struct.complex, ptr %1920, i64 %1921
  %1923 = getelementptr inbounds %struct.complex, ptr %1922, i32 0, i32 0
  %1924 = load float, ptr %1923, align 4, !tbaa !11
  %1925 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1926 = load float, ptr %1925, align 4, !tbaa !14
  %1927 = load ptr, ptr %15, align 8, !tbaa !5
  %1928 = load i64, ptr %22, align 8, !tbaa !9
  %1929 = getelementptr inbounds %struct.complex, ptr %1927, i64 %1928
  %1930 = getelementptr inbounds %struct.complex, ptr %1929, i32 0, i32 1
  %1931 = load float, ptr %1930, align 4, !tbaa !14
  %1932 = fmul float %1926, %1931
  %1933 = fneg float %1932
  %1934 = call float @llvm.fmuladd.f32(float %1919, float %1924, float %1933)
  %1935 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1934, ptr %1935, align 4, !tbaa !11
  %1936 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %1937 = load float, ptr %1936, align 4, !tbaa !11
  %1938 = load ptr, ptr %15, align 8, !tbaa !5
  %1939 = load i64, ptr %22, align 8, !tbaa !9
  %1940 = getelementptr inbounds %struct.complex, ptr %1938, i64 %1939
  %1941 = getelementptr inbounds %struct.complex, ptr %1940, i32 0, i32 1
  %1942 = load float, ptr %1941, align 4, !tbaa !14
  %1943 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %1944 = load float, ptr %1943, align 4, !tbaa !14
  %1945 = load ptr, ptr %15, align 8, !tbaa !5
  %1946 = load i64, ptr %22, align 8, !tbaa !9
  %1947 = getelementptr inbounds %struct.complex, ptr %1945, i64 %1946
  %1948 = getelementptr inbounds %struct.complex, ptr %1947, i32 0, i32 0
  %1949 = load float, ptr %1948, align 4, !tbaa !11
  %1950 = fmul float %1944, %1949
  %1951 = call float @llvm.fmuladd.f32(float %1937, float %1942, float %1950)
  %1952 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1951, ptr %1952, align 4, !tbaa !14
  %1953 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %1954 = load float, ptr %1953, align 4, !tbaa !11
  %1955 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1956 = load float, ptr %1955, align 4, !tbaa !11
  %1957 = fadd float %1954, %1956
  %1958 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %1957, ptr %1958, align 4, !tbaa !11
  %1959 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %1960 = load float, ptr %1959, align 4, !tbaa !14
  %1961 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1962 = load float, ptr %1961, align 4, !tbaa !14
  %1963 = fadd float %1960, %1962
  %1964 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %1963, ptr %1964, align 4, !tbaa !14
  %1965 = load i64, ptr %50, align 8, !tbaa !9
  %1966 = load i64, ptr %18, align 8, !tbaa !9
  %1967 = mul nsw i64 %1965, %1966
  %1968 = add nsw i64 %1967, 3
  store i64 %1968, ptr %23, align 8, !tbaa !9
  %1969 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %1970 = load float, ptr %1969, align 4, !tbaa !11
  %1971 = load ptr, ptr %15, align 8, !tbaa !5
  %1972 = load i64, ptr %23, align 8, !tbaa !9
  %1973 = getelementptr inbounds %struct.complex, ptr %1971, i64 %1972
  %1974 = getelementptr inbounds %struct.complex, ptr %1973, i32 0, i32 0
  %1975 = load float, ptr %1974, align 4, !tbaa !11
  %1976 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %1977 = load float, ptr %1976, align 4, !tbaa !14
  %1978 = load ptr, ptr %15, align 8, !tbaa !5
  %1979 = load i64, ptr %23, align 8, !tbaa !9
  %1980 = getelementptr inbounds %struct.complex, ptr %1978, i64 %1979
  %1981 = getelementptr inbounds %struct.complex, ptr %1980, i32 0, i32 1
  %1982 = load float, ptr %1981, align 4, !tbaa !14
  %1983 = fmul float %1977, %1982
  %1984 = fneg float %1983
  %1985 = call float @llvm.fmuladd.f32(float %1970, float %1975, float %1984)
  %1986 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %1985, ptr %1986, align 4, !tbaa !11
  %1987 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %1988 = load float, ptr %1987, align 4, !tbaa !11
  %1989 = load ptr, ptr %15, align 8, !tbaa !5
  %1990 = load i64, ptr %23, align 8, !tbaa !9
  %1991 = getelementptr inbounds %struct.complex, ptr %1989, i64 %1990
  %1992 = getelementptr inbounds %struct.complex, ptr %1991, i32 0, i32 1
  %1993 = load float, ptr %1992, align 4, !tbaa !14
  %1994 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %1995 = load float, ptr %1994, align 4, !tbaa !14
  %1996 = load ptr, ptr %15, align 8, !tbaa !5
  %1997 = load i64, ptr %23, align 8, !tbaa !9
  %1998 = getelementptr inbounds %struct.complex, ptr %1996, i64 %1997
  %1999 = getelementptr inbounds %struct.complex, ptr %1998, i32 0, i32 0
  %2000 = load float, ptr %1999, align 4, !tbaa !11
  %2001 = fmul float %1995, %2000
  %2002 = call float @llvm.fmuladd.f32(float %1988, float %1993, float %2001)
  %2003 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %2002, ptr %2003, align 4, !tbaa !14
  %2004 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %2005 = load float, ptr %2004, align 4, !tbaa !11
  %2006 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %2007 = load float, ptr %2006, align 4, !tbaa !11
  %2008 = fadd float %2005, %2007
  %2009 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %2008, ptr %2009, align 4, !tbaa !11
  %2010 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %2011 = load float, ptr %2010, align 4, !tbaa !14
  %2012 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %2013 = load float, ptr %2012, align 4, !tbaa !14
  %2014 = fadd float %2011, %2013
  %2015 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %2014, ptr %2015, align 4, !tbaa !14
  %2016 = load i64, ptr %50, align 8, !tbaa !9
  %2017 = load i64, ptr %18, align 8, !tbaa !9
  %2018 = mul nsw i64 %2016, %2017
  %2019 = add nsw i64 %2018, 4
  store i64 %2019, ptr %24, align 8, !tbaa !9
  %2020 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %2021 = load float, ptr %2020, align 4, !tbaa !11
  %2022 = load ptr, ptr %15, align 8, !tbaa !5
  %2023 = load i64, ptr %24, align 8, !tbaa !9
  %2024 = getelementptr inbounds %struct.complex, ptr %2022, i64 %2023
  %2025 = getelementptr inbounds %struct.complex, ptr %2024, i32 0, i32 0
  %2026 = load float, ptr %2025, align 4, !tbaa !11
  %2027 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %2028 = load float, ptr %2027, align 4, !tbaa !14
  %2029 = load ptr, ptr %15, align 8, !tbaa !5
  %2030 = load i64, ptr %24, align 8, !tbaa !9
  %2031 = getelementptr inbounds %struct.complex, ptr %2029, i64 %2030
  %2032 = getelementptr inbounds %struct.complex, ptr %2031, i32 0, i32 1
  %2033 = load float, ptr %2032, align 4, !tbaa !14
  %2034 = fmul float %2028, %2033
  %2035 = fneg float %2034
  %2036 = call float @llvm.fmuladd.f32(float %2021, float %2026, float %2035)
  %2037 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %2036, ptr %2037, align 4, !tbaa !11
  %2038 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %2039 = load float, ptr %2038, align 4, !tbaa !11
  %2040 = load ptr, ptr %15, align 8, !tbaa !5
  %2041 = load i64, ptr %24, align 8, !tbaa !9
  %2042 = getelementptr inbounds %struct.complex, ptr %2040, i64 %2041
  %2043 = getelementptr inbounds %struct.complex, ptr %2042, i32 0, i32 1
  %2044 = load float, ptr %2043, align 4, !tbaa !14
  %2045 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %2046 = load float, ptr %2045, align 4, !tbaa !14
  %2047 = load ptr, ptr %15, align 8, !tbaa !5
  %2048 = load i64, ptr %24, align 8, !tbaa !9
  %2049 = getelementptr inbounds %struct.complex, ptr %2047, i64 %2048
  %2050 = getelementptr inbounds %struct.complex, ptr %2049, i32 0, i32 0
  %2051 = load float, ptr %2050, align 4, !tbaa !11
  %2052 = fmul float %2046, %2051
  %2053 = call float @llvm.fmuladd.f32(float %2039, float %2044, float %2052)
  %2054 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %2053, ptr %2054, align 4, !tbaa !14
  %2055 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %2056 = load float, ptr %2055, align 4, !tbaa !11
  %2057 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %2058 = load float, ptr %2057, align 4, !tbaa !11
  %2059 = fadd float %2056, %2058
  %2060 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2059, ptr %2060, align 4, !tbaa !11
  %2061 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %2062 = load float, ptr %2061, align 4, !tbaa !14
  %2063 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %2064 = load float, ptr %2063, align 4, !tbaa !14
  %2065 = fadd float %2062, %2064
  %2066 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2065, ptr %2066, align 4, !tbaa !14
  %2067 = load i64, ptr %50, align 8, !tbaa !9
  %2068 = load i64, ptr %18, align 8, !tbaa !9
  %2069 = mul nsw i64 %2067, %2068
  %2070 = add nsw i64 %2069, 5
  store i64 %2070, ptr %25, align 8, !tbaa !9
  %2071 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %2072 = load float, ptr %2071, align 4, !tbaa !11
  %2073 = load ptr, ptr %15, align 8, !tbaa !5
  %2074 = load i64, ptr %25, align 8, !tbaa !9
  %2075 = getelementptr inbounds %struct.complex, ptr %2073, i64 %2074
  %2076 = getelementptr inbounds %struct.complex, ptr %2075, i32 0, i32 0
  %2077 = load float, ptr %2076, align 4, !tbaa !11
  %2078 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %2079 = load float, ptr %2078, align 4, !tbaa !14
  %2080 = load ptr, ptr %15, align 8, !tbaa !5
  %2081 = load i64, ptr %25, align 8, !tbaa !9
  %2082 = getelementptr inbounds %struct.complex, ptr %2080, i64 %2081
  %2083 = getelementptr inbounds %struct.complex, ptr %2082, i32 0, i32 1
  %2084 = load float, ptr %2083, align 4, !tbaa !14
  %2085 = fmul float %2079, %2084
  %2086 = fneg float %2085
  %2087 = call float @llvm.fmuladd.f32(float %2072, float %2077, float %2086)
  %2088 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %2087, ptr %2088, align 4, !tbaa !11
  %2089 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %2090 = load float, ptr %2089, align 4, !tbaa !11
  %2091 = load ptr, ptr %15, align 8, !tbaa !5
  %2092 = load i64, ptr %25, align 8, !tbaa !9
  %2093 = getelementptr inbounds %struct.complex, ptr %2091, i64 %2092
  %2094 = getelementptr inbounds %struct.complex, ptr %2093, i32 0, i32 1
  %2095 = load float, ptr %2094, align 4, !tbaa !14
  %2096 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %2097 = load float, ptr %2096, align 4, !tbaa !14
  %2098 = load ptr, ptr %15, align 8, !tbaa !5
  %2099 = load i64, ptr %25, align 8, !tbaa !9
  %2100 = getelementptr inbounds %struct.complex, ptr %2098, i64 %2099
  %2101 = getelementptr inbounds %struct.complex, ptr %2100, i32 0, i32 0
  %2102 = load float, ptr %2101, align 4, !tbaa !11
  %2103 = fmul float %2097, %2102
  %2104 = call float @llvm.fmuladd.f32(float %2090, float %2095, float %2103)
  %2105 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %2104, ptr %2105, align 4, !tbaa !14
  %2106 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2107 = load float, ptr %2106, align 4, !tbaa !11
  %2108 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %2109 = load float, ptr %2108, align 4, !tbaa !11
  %2110 = fadd float %2107, %2109
  %2111 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2110, ptr %2111, align 4, !tbaa !11
  %2112 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2113 = load float, ptr %2112, align 4, !tbaa !14
  %2114 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %2115 = load float, ptr %2114, align 4, !tbaa !14
  %2116 = fadd float %2113, %2115
  %2117 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2116, ptr %2117, align 4, !tbaa !14
  %2118 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2119 = load float, ptr %2118, align 4, !tbaa !11
  %2120 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %2119, ptr %2120, align 4, !tbaa !11
  %2121 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2122 = load float, ptr %2121, align 4, !tbaa !14
  %2123 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %2122, ptr %2123, align 4, !tbaa !14
  %2124 = load i64, ptr %50, align 8, !tbaa !9
  %2125 = load i64, ptr %18, align 8, !tbaa !9
  %2126 = mul nsw i64 %2124, %2125
  %2127 = add nsw i64 %2126, 1
  store i64 %2127, ptr %21, align 8, !tbaa !9
  %2128 = load i64, ptr %50, align 8, !tbaa !9
  %2129 = load i64, ptr %18, align 8, !tbaa !9
  %2130 = mul nsw i64 %2128, %2129
  %2131 = add nsw i64 %2130, 1
  store i64 %2131, ptr %22, align 8, !tbaa !9
  %2132 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2133 = load float, ptr %2132, align 4, !tbaa !11
  %2134 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %2135 = load float, ptr %2134, align 4, !tbaa !11
  %2136 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2137 = load float, ptr %2136, align 4, !tbaa !14
  %2138 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %2139 = load float, ptr %2138, align 4, !tbaa !14
  %2140 = fmul float %2137, %2139
  %2141 = fneg float %2140
  %2142 = call float @llvm.fmuladd.f32(float %2133, float %2135, float %2141)
  %2143 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2142, ptr %2143, align 4, !tbaa !11
  %2144 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2145 = load float, ptr %2144, align 4, !tbaa !11
  %2146 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %2147 = load float, ptr %2146, align 4, !tbaa !14
  %2148 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2149 = load float, ptr %2148, align 4, !tbaa !14
  %2150 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %2151 = load float, ptr %2150, align 4, !tbaa !11
  %2152 = fmul float %2149, %2151
  %2153 = call float @llvm.fmuladd.f32(float %2145, float %2147, float %2152)
  %2154 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2153, ptr %2154, align 4, !tbaa !14
  %2155 = load ptr, ptr %15, align 8, !tbaa !5
  %2156 = load i64, ptr %22, align 8, !tbaa !9
  %2157 = getelementptr inbounds %struct.complex, ptr %2155, i64 %2156
  %2158 = getelementptr inbounds %struct.complex, ptr %2157, i32 0, i32 0
  %2159 = load float, ptr %2158, align 4, !tbaa !11
  %2160 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2161 = load float, ptr %2160, align 4, !tbaa !11
  %2162 = fsub float %2159, %2161
  %2163 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2162, ptr %2163, align 4, !tbaa !11
  %2164 = load ptr, ptr %15, align 8, !tbaa !5
  %2165 = load i64, ptr %22, align 8, !tbaa !9
  %2166 = getelementptr inbounds %struct.complex, ptr %2164, i64 %2165
  %2167 = getelementptr inbounds %struct.complex, ptr %2166, i32 0, i32 1
  %2168 = load float, ptr %2167, align 4, !tbaa !14
  %2169 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2170 = load float, ptr %2169, align 4, !tbaa !14
  %2171 = fsub float %2168, %2170
  %2172 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2171, ptr %2172, align 4, !tbaa !14
  %2173 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2174 = load float, ptr %2173, align 4, !tbaa !11
  %2175 = load ptr, ptr %15, align 8, !tbaa !5
  %2176 = load i64, ptr %21, align 8, !tbaa !9
  %2177 = getelementptr inbounds %struct.complex, ptr %2175, i64 %2176
  %2178 = getelementptr inbounds %struct.complex, ptr %2177, i32 0, i32 0
  store float %2174, ptr %2178, 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 %15, align 8, !tbaa !5
  %2182 = load i64, ptr %21, align 8, !tbaa !9
  %2183 = getelementptr inbounds %struct.complex, ptr %2181, i64 %2182
  %2184 = getelementptr inbounds %struct.complex, ptr %2183, i32 0, i32 1
  store float %2180, ptr %2184, align 4, !tbaa !14
  %2185 = load i64, ptr %50, align 8, !tbaa !9
  %2186 = load i64, ptr %18, align 8, !tbaa !9
  %2187 = mul nsw i64 %2185, %2186
  %2188 = add nsw i64 %2187, 2
  store i64 %2188, ptr %21, align 8, !tbaa !9
  %2189 = load i64, ptr %50, align 8, !tbaa !9
  %2190 = load i64, ptr %18, align 8, !tbaa !9
  %2191 = mul nsw i64 %2189, %2190
  %2192 = add nsw i64 %2191, 2
  store i64 %2192, ptr %22, align 8, !tbaa !9
  %2193 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2194 = load float, ptr %2193, align 4, !tbaa !11
  %2195 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2196 = load float, ptr %2195, align 4, !tbaa !11
  %2197 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2198 = load float, ptr %2197, align 4, !tbaa !14
  %2199 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2200 = load float, ptr %2199, align 4, !tbaa !14
  %2201 = fmul float %2198, %2200
  %2202 = fneg float %2201
  %2203 = call float @llvm.fmuladd.f32(float %2194, float %2196, float %2202)
  %2204 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2203, ptr %2204, align 4, !tbaa !11
  %2205 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2206 = load float, ptr %2205, align 4, !tbaa !11
  %2207 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2208 = load float, ptr %2207, align 4, !tbaa !14
  %2209 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2210 = load float, ptr %2209, align 4, !tbaa !14
  %2211 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2212 = load float, ptr %2211, align 4, !tbaa !11
  %2213 = fmul float %2210, %2212
  %2214 = call float @llvm.fmuladd.f32(float %2206, float %2208, float %2213)
  %2215 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2214, ptr %2215, align 4, !tbaa !14
  %2216 = load ptr, ptr %15, align 8, !tbaa !5
  %2217 = load i64, ptr %22, align 8, !tbaa !9
  %2218 = getelementptr inbounds %struct.complex, ptr %2216, i64 %2217
  %2219 = getelementptr inbounds %struct.complex, ptr %2218, i32 0, i32 0
  %2220 = load float, ptr %2219, align 4, !tbaa !11
  %2221 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2222 = load float, ptr %2221, align 4, !tbaa !11
  %2223 = fsub float %2220, %2222
  %2224 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2223, ptr %2224, align 4, !tbaa !11
  %2225 = load ptr, ptr %15, align 8, !tbaa !5
  %2226 = load i64, ptr %22, align 8, !tbaa !9
  %2227 = getelementptr inbounds %struct.complex, ptr %2225, i64 %2226
  %2228 = getelementptr inbounds %struct.complex, ptr %2227, i32 0, i32 1
  %2229 = load float, ptr %2228, align 4, !tbaa !14
  %2230 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2231 = load float, ptr %2230, align 4, !tbaa !14
  %2232 = fsub float %2229, %2231
  %2233 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2232, ptr %2233, align 4, !tbaa !14
  %2234 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2235 = load float, ptr %2234, align 4, !tbaa !11
  %2236 = load ptr, ptr %15, align 8, !tbaa !5
  %2237 = load i64, ptr %21, align 8, !tbaa !9
  %2238 = getelementptr inbounds %struct.complex, ptr %2236, i64 %2237
  %2239 = getelementptr inbounds %struct.complex, ptr %2238, i32 0, i32 0
  store float %2235, ptr %2239, align 4, !tbaa !11
  %2240 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2241 = load float, ptr %2240, align 4, !tbaa !14
  %2242 = load ptr, ptr %15, align 8, !tbaa !5
  %2243 = load i64, ptr %21, align 8, !tbaa !9
  %2244 = getelementptr inbounds %struct.complex, ptr %2242, i64 %2243
  %2245 = getelementptr inbounds %struct.complex, ptr %2244, i32 0, i32 1
  store float %2241, ptr %2245, align 4, !tbaa !14
  %2246 = load i64, ptr %50, align 8, !tbaa !9
  %2247 = load i64, ptr %18, align 8, !tbaa !9
  %2248 = mul nsw i64 %2246, %2247
  %2249 = add nsw i64 %2248, 3
  store i64 %2249, ptr %21, align 8, !tbaa !9
  %2250 = load i64, ptr %50, align 8, !tbaa !9
  %2251 = load i64, ptr %18, align 8, !tbaa !9
  %2252 = mul nsw i64 %2250, %2251
  %2253 = add nsw i64 %2252, 3
  store i64 %2253, ptr %22, align 8, !tbaa !9
  %2254 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2255 = load float, ptr %2254, align 4, !tbaa !11
  %2256 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %2257 = load float, ptr %2256, align 4, !tbaa !11
  %2258 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2259 = load float, ptr %2258, align 4, !tbaa !14
  %2260 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %2261 = load float, ptr %2260, align 4, !tbaa !14
  %2262 = fmul float %2259, %2261
  %2263 = fneg float %2262
  %2264 = call float @llvm.fmuladd.f32(float %2255, float %2257, float %2263)
  %2265 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2264, ptr %2265, align 4, !tbaa !11
  %2266 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2267 = load float, ptr %2266, align 4, !tbaa !11
  %2268 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %2269 = load float, ptr %2268, align 4, !tbaa !14
  %2270 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2271 = load float, ptr %2270, align 4, !tbaa !14
  %2272 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %2273 = load float, ptr %2272, align 4, !tbaa !11
  %2274 = fmul float %2271, %2273
  %2275 = call float @llvm.fmuladd.f32(float %2267, float %2269, float %2274)
  %2276 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2275, ptr %2276, align 4, !tbaa !14
  %2277 = load ptr, ptr %15, align 8, !tbaa !5
  %2278 = load i64, ptr %22, align 8, !tbaa !9
  %2279 = getelementptr inbounds %struct.complex, ptr %2277, i64 %2278
  %2280 = getelementptr inbounds %struct.complex, ptr %2279, i32 0, i32 0
  %2281 = load float, ptr %2280, align 4, !tbaa !11
  %2282 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2283 = load float, ptr %2282, align 4, !tbaa !11
  %2284 = fsub float %2281, %2283
  %2285 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2284, ptr %2285, align 4, !tbaa !11
  %2286 = load ptr, ptr %15, align 8, !tbaa !5
  %2287 = load i64, ptr %22, align 8, !tbaa !9
  %2288 = getelementptr inbounds %struct.complex, ptr %2286, i64 %2287
  %2289 = getelementptr inbounds %struct.complex, ptr %2288, i32 0, i32 1
  %2290 = load float, ptr %2289, align 4, !tbaa !14
  %2291 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2292 = load float, ptr %2291, align 4, !tbaa !14
  %2293 = fsub float %2290, %2292
  %2294 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2293, ptr %2294, align 4, !tbaa !14
  %2295 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2296 = load float, ptr %2295, align 4, !tbaa !11
  %2297 = load ptr, ptr %15, align 8, !tbaa !5
  %2298 = load i64, ptr %21, align 8, !tbaa !9
  %2299 = getelementptr inbounds %struct.complex, ptr %2297, i64 %2298
  %2300 = getelementptr inbounds %struct.complex, ptr %2299, i32 0, i32 0
  store float %2296, ptr %2300, align 4, !tbaa !11
  %2301 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2302 = load float, ptr %2301, align 4, !tbaa !14
  %2303 = load ptr, ptr %15, align 8, !tbaa !5
  %2304 = load i64, ptr %21, align 8, !tbaa !9
  %2305 = getelementptr inbounds %struct.complex, ptr %2303, i64 %2304
  %2306 = getelementptr inbounds %struct.complex, ptr %2305, i32 0, i32 1
  store float %2302, ptr %2306, align 4, !tbaa !14
  %2307 = load i64, ptr %50, align 8, !tbaa !9
  %2308 = load i64, ptr %18, align 8, !tbaa !9
  %2309 = mul nsw i64 %2307, %2308
  %2310 = add nsw i64 %2309, 4
  store i64 %2310, ptr %21, align 8, !tbaa !9
  %2311 = load i64, ptr %50, align 8, !tbaa !9
  %2312 = load i64, ptr %18, align 8, !tbaa !9
  %2313 = mul nsw i64 %2311, %2312
  %2314 = add nsw i64 %2313, 4
  store i64 %2314, ptr %22, align 8, !tbaa !9
  %2315 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2316 = load float, ptr %2315, align 4, !tbaa !11
  %2317 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2318 = load float, ptr %2317, align 4, !tbaa !11
  %2319 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2320 = load float, ptr %2319, align 4, !tbaa !14
  %2321 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2322 = load float, ptr %2321, align 4, !tbaa !14
  %2323 = fmul float %2320, %2322
  %2324 = fneg float %2323
  %2325 = call float @llvm.fmuladd.f32(float %2316, float %2318, float %2324)
  %2326 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2325, ptr %2326, align 4, !tbaa !11
  %2327 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2328 = load float, ptr %2327, align 4, !tbaa !11
  %2329 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2330 = load float, ptr %2329, align 4, !tbaa !14
  %2331 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2332 = load float, ptr %2331, align 4, !tbaa !14
  %2333 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2334 = load float, ptr %2333, align 4, !tbaa !11
  %2335 = fmul float %2332, %2334
  %2336 = call float @llvm.fmuladd.f32(float %2328, float %2330, float %2335)
  %2337 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2336, ptr %2337, align 4, !tbaa !14
  %2338 = load ptr, ptr %15, align 8, !tbaa !5
  %2339 = load i64, ptr %22, align 8, !tbaa !9
  %2340 = getelementptr inbounds %struct.complex, ptr %2338, i64 %2339
  %2341 = getelementptr inbounds %struct.complex, ptr %2340, i32 0, i32 0
  %2342 = load float, ptr %2341, align 4, !tbaa !11
  %2343 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2344 = load float, ptr %2343, align 4, !tbaa !11
  %2345 = fsub float %2342, %2344
  %2346 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2345, ptr %2346, align 4, !tbaa !11
  %2347 = load ptr, ptr %15, align 8, !tbaa !5
  %2348 = load i64, ptr %22, align 8, !tbaa !9
  %2349 = getelementptr inbounds %struct.complex, ptr %2347, i64 %2348
  %2350 = getelementptr inbounds %struct.complex, ptr %2349, i32 0, i32 1
  %2351 = load float, ptr %2350, align 4, !tbaa !14
  %2352 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2353 = load float, ptr %2352, align 4, !tbaa !14
  %2354 = fsub float %2351, %2353
  %2355 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2354, ptr %2355, align 4, !tbaa !14
  %2356 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2357 = load float, ptr %2356, align 4, !tbaa !11
  %2358 = load ptr, ptr %15, align 8, !tbaa !5
  %2359 = load i64, ptr %21, align 8, !tbaa !9
  %2360 = getelementptr inbounds %struct.complex, ptr %2358, i64 %2359
  %2361 = getelementptr inbounds %struct.complex, ptr %2360, i32 0, i32 0
  store float %2357, ptr %2361, align 4, !tbaa !11
  %2362 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2363 = load float, ptr %2362, align 4, !tbaa !14
  %2364 = load ptr, ptr %15, align 8, !tbaa !5
  %2365 = load i64, ptr %21, align 8, !tbaa !9
  %2366 = getelementptr inbounds %struct.complex, ptr %2364, i64 %2365
  %2367 = getelementptr inbounds %struct.complex, ptr %2366, i32 0, i32 1
  store float %2363, ptr %2367, align 4, !tbaa !14
  %2368 = load i64, ptr %50, align 8, !tbaa !9
  %2369 = load i64, ptr %18, align 8, !tbaa !9
  %2370 = mul nsw i64 %2368, %2369
  %2371 = add nsw i64 %2370, 5
  store i64 %2371, ptr %21, align 8, !tbaa !9
  %2372 = load i64, ptr %50, align 8, !tbaa !9
  %2373 = load i64, ptr %18, align 8, !tbaa !9
  %2374 = mul nsw i64 %2372, %2373
  %2375 = add nsw i64 %2374, 5
  store i64 %2375, ptr %22, align 8, !tbaa !9
  %2376 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2377 = load float, ptr %2376, align 4, !tbaa !11
  %2378 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %2379 = load float, ptr %2378, align 4, !tbaa !11
  %2380 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2381 = load float, ptr %2380, align 4, !tbaa !14
  %2382 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %2383 = load float, ptr %2382, align 4, !tbaa !14
  %2384 = fmul float %2381, %2383
  %2385 = fneg float %2384
  %2386 = call float @llvm.fmuladd.f32(float %2377, float %2379, float %2385)
  %2387 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2386, ptr %2387, align 4, !tbaa !11
  %2388 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2389 = load float, ptr %2388, align 4, !tbaa !11
  %2390 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %2391 = load float, ptr %2390, align 4, !tbaa !14
  %2392 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %2393 = load float, ptr %2392, align 4, !tbaa !14
  %2394 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %2395 = load float, ptr %2394, align 4, !tbaa !11
  %2396 = fmul float %2393, %2395
  %2397 = call float @llvm.fmuladd.f32(float %2389, float %2391, float %2396)
  %2398 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2397, ptr %2398, align 4, !tbaa !14
  %2399 = load ptr, ptr %15, align 8, !tbaa !5
  %2400 = load i64, ptr %22, align 8, !tbaa !9
  %2401 = getelementptr inbounds %struct.complex, ptr %2399, i64 %2400
  %2402 = getelementptr inbounds %struct.complex, ptr %2401, i32 0, i32 0
  %2403 = load float, ptr %2402, align 4, !tbaa !11
  %2404 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2405 = load float, ptr %2404, align 4, !tbaa !11
  %2406 = fsub float %2403, %2405
  %2407 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2406, ptr %2407, align 4, !tbaa !11
  %2408 = load ptr, ptr %15, align 8, !tbaa !5
  %2409 = load i64, ptr %22, align 8, !tbaa !9
  %2410 = getelementptr inbounds %struct.complex, ptr %2408, i64 %2409
  %2411 = getelementptr inbounds %struct.complex, ptr %2410, i32 0, i32 1
  %2412 = load float, ptr %2411, align 4, !tbaa !14
  %2413 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2414 = load float, ptr %2413, align 4, !tbaa !14
  %2415 = fsub float %2412, %2414
  %2416 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2415, ptr %2416, align 4, !tbaa !14
  %2417 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2418 = load float, ptr %2417, align 4, !tbaa !11
  %2419 = load ptr, ptr %15, align 8, !tbaa !5
  %2420 = load i64, ptr %21, align 8, !tbaa !9
  %2421 = getelementptr inbounds %struct.complex, ptr %2419, i64 %2420
  %2422 = getelementptr inbounds %struct.complex, ptr %2421, i32 0, i32 0
  store float %2418, ptr %2422, align 4, !tbaa !11
  %2423 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2424 = load float, ptr %2423, align 4, !tbaa !14
  %2425 = load ptr, ptr %15, align 8, !tbaa !5
  %2426 = load i64, ptr %21, align 8, !tbaa !9
  %2427 = getelementptr inbounds %struct.complex, ptr %2425, i64 %2426
  %2428 = getelementptr inbounds %struct.complex, ptr %2427, i32 0, i32 1
  store float %2424, ptr %2428, align 4, !tbaa !14
  br label %2429

2429:                                             ; preds = %1874
  %2430 = load i64, ptr %50, align 8, !tbaa !9
  %2431 = add nsw i64 %2430, 1
  store i64 %2431, ptr %50, align 8, !tbaa !9
  br label %1870, !llvm.loop !20

2432:                                             ; preds = %1870
  br label %17146

2433:                                             ; preds = %107
  %2434 = load ptr, ptr %13, align 8, !tbaa !5
  %2435 = getelementptr inbounds %struct.complex, ptr %2434, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %2435)
  %2436 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2437 = load float, ptr %2436, align 4, !tbaa !11
  %2438 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %2437, ptr %2438, align 4, !tbaa !11
  %2439 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2440 = load float, ptr %2439, align 4, !tbaa !14
  %2441 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %2440, ptr %2441, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %2442 = load ptr, ptr %14, align 8, !tbaa !5
  %2443 = getelementptr inbounds %struct.complex, ptr %2442, i32 0, i32 0
  %2444 = load float, ptr %2443, align 4, !tbaa !11
  %2445 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2446 = load float, ptr %2445, align 4, !tbaa !11
  %2447 = load ptr, ptr %14, align 8, !tbaa !5
  %2448 = getelementptr inbounds %struct.complex, ptr %2447, i32 0, i32 1
  %2449 = load float, ptr %2448, align 4, !tbaa !14
  %2450 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2451 = load float, ptr %2450, align 4, !tbaa !14
  %2452 = fmul float %2449, %2451
  %2453 = fneg float %2452
  %2454 = call float @llvm.fmuladd.f32(float %2444, float %2446, float %2453)
  %2455 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2454, ptr %2455, align 4, !tbaa !11
  %2456 = load ptr, ptr %14, align 8, !tbaa !5
  %2457 = getelementptr inbounds %struct.complex, ptr %2456, i32 0, i32 0
  %2458 = load float, ptr %2457, align 4, !tbaa !11
  %2459 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2460 = load float, ptr %2459, align 4, !tbaa !14
  %2461 = load ptr, ptr %14, align 8, !tbaa !5
  %2462 = getelementptr inbounds %struct.complex, ptr %2461, i32 0, i32 1
  %2463 = load float, ptr %2462, align 4, !tbaa !14
  %2464 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2465 = load float, ptr %2464, align 4, !tbaa !11
  %2466 = fmul float %2463, %2465
  %2467 = call float @llvm.fmuladd.f32(float %2458, float %2460, float %2466)
  %2468 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2467, ptr %2468, align 4, !tbaa !14
  %2469 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2470 = load float, ptr %2469, align 4, !tbaa !11
  %2471 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %2470, ptr %2471, align 4, !tbaa !11
  %2472 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2473 = load float, ptr %2472, align 4, !tbaa !14
  %2474 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %2473, ptr %2474, align 4, !tbaa !14
  %2475 = load ptr, ptr %13, align 8, !tbaa !5
  %2476 = getelementptr inbounds %struct.complex, ptr %2475, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %2476)
  %2477 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2478 = load float, ptr %2477, align 4, !tbaa !11
  %2479 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %2478, ptr %2479, align 4, !tbaa !11
  %2480 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2481 = load float, ptr %2480, align 4, !tbaa !14
  %2482 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %2481, ptr %2482, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %2483 = load ptr, ptr %14, align 8, !tbaa !5
  %2484 = getelementptr inbounds %struct.complex, ptr %2483, i32 0, i32 0
  %2485 = load float, ptr %2484, align 4, !tbaa !11
  %2486 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2487 = load float, ptr %2486, align 4, !tbaa !11
  %2488 = load ptr, ptr %14, align 8, !tbaa !5
  %2489 = getelementptr inbounds %struct.complex, ptr %2488, i32 0, i32 1
  %2490 = load float, ptr %2489, align 4, !tbaa !14
  %2491 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2492 = load float, ptr %2491, align 4, !tbaa !14
  %2493 = fmul float %2490, %2492
  %2494 = fneg float %2493
  %2495 = call float @llvm.fmuladd.f32(float %2485, float %2487, float %2494)
  %2496 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2495, ptr %2496, align 4, !tbaa !11
  %2497 = load ptr, ptr %14, align 8, !tbaa !5
  %2498 = getelementptr inbounds %struct.complex, ptr %2497, i32 0, i32 0
  %2499 = load float, ptr %2498, align 4, !tbaa !11
  %2500 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2501 = load float, ptr %2500, align 4, !tbaa !14
  %2502 = load ptr, ptr %14, align 8, !tbaa !5
  %2503 = getelementptr inbounds %struct.complex, ptr %2502, i32 0, i32 1
  %2504 = load float, ptr %2503, align 4, !tbaa !14
  %2505 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2506 = load float, ptr %2505, align 4, !tbaa !11
  %2507 = fmul float %2504, %2506
  %2508 = call float @llvm.fmuladd.f32(float %2499, float %2501, float %2507)
  %2509 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2508, ptr %2509, align 4, !tbaa !14
  %2510 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2511 = load float, ptr %2510, align 4, !tbaa !11
  %2512 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %2511, ptr %2512, align 4, !tbaa !11
  %2513 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2514 = load float, ptr %2513, align 4, !tbaa !14
  %2515 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %2514, ptr %2515, align 4, !tbaa !14
  %2516 = load ptr, ptr %13, align 8, !tbaa !5
  %2517 = getelementptr inbounds %struct.complex, ptr %2516, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %2517)
  %2518 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2519 = load float, ptr %2518, align 4, !tbaa !11
  %2520 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %2519, ptr %2520, align 4, !tbaa !11
  %2521 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2522 = load float, ptr %2521, align 4, !tbaa !14
  %2523 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %2522, ptr %2523, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %2524 = load ptr, ptr %14, align 8, !tbaa !5
  %2525 = getelementptr inbounds %struct.complex, ptr %2524, i32 0, i32 0
  %2526 = load float, ptr %2525, align 4, !tbaa !11
  %2527 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2528 = load float, ptr %2527, align 4, !tbaa !11
  %2529 = load ptr, ptr %14, align 8, !tbaa !5
  %2530 = getelementptr inbounds %struct.complex, ptr %2529, i32 0, i32 1
  %2531 = load float, ptr %2530, align 4, !tbaa !14
  %2532 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2533 = load float, ptr %2532, align 4, !tbaa !14
  %2534 = fmul float %2531, %2533
  %2535 = fneg float %2534
  %2536 = call float @llvm.fmuladd.f32(float %2526, float %2528, float %2535)
  %2537 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2536, ptr %2537, align 4, !tbaa !11
  %2538 = load ptr, ptr %14, align 8, !tbaa !5
  %2539 = getelementptr inbounds %struct.complex, ptr %2538, i32 0, i32 0
  %2540 = load float, ptr %2539, align 4, !tbaa !11
  %2541 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2542 = load float, ptr %2541, align 4, !tbaa !14
  %2543 = load ptr, ptr %14, align 8, !tbaa !5
  %2544 = getelementptr inbounds %struct.complex, ptr %2543, i32 0, i32 1
  %2545 = load float, ptr %2544, align 4, !tbaa !14
  %2546 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2547 = load float, ptr %2546, align 4, !tbaa !11
  %2548 = fmul float %2545, %2547
  %2549 = call float @llvm.fmuladd.f32(float %2540, float %2542, float %2548)
  %2550 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2549, ptr %2550, align 4, !tbaa !14
  %2551 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2552 = load float, ptr %2551, align 4, !tbaa !11
  %2553 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %2552, ptr %2553, align 4, !tbaa !11
  %2554 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2555 = load float, ptr %2554, align 4, !tbaa !14
  %2556 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %2555, ptr %2556, align 4, !tbaa !14
  %2557 = load ptr, ptr %13, align 8, !tbaa !5
  %2558 = getelementptr inbounds %struct.complex, ptr %2557, i64 4
  call void @r_cnjg(ptr noundef %31, ptr noundef %2558)
  %2559 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2560 = load float, ptr %2559, align 4, !tbaa !11
  %2561 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %2560, ptr %2561, align 4, !tbaa !11
  %2562 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2563 = load float, ptr %2562, align 4, !tbaa !14
  %2564 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %2563, ptr %2564, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %2565 = load ptr, ptr %14, align 8, !tbaa !5
  %2566 = getelementptr inbounds %struct.complex, ptr %2565, i32 0, i32 0
  %2567 = load float, ptr %2566, align 4, !tbaa !11
  %2568 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2569 = load float, ptr %2568, align 4, !tbaa !11
  %2570 = load ptr, ptr %14, align 8, !tbaa !5
  %2571 = getelementptr inbounds %struct.complex, ptr %2570, i32 0, i32 1
  %2572 = load float, ptr %2571, align 4, !tbaa !14
  %2573 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2574 = load float, ptr %2573, align 4, !tbaa !14
  %2575 = fmul float %2572, %2574
  %2576 = fneg float %2575
  %2577 = call float @llvm.fmuladd.f32(float %2567, float %2569, float %2576)
  %2578 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2577, ptr %2578, align 4, !tbaa !11
  %2579 = load ptr, ptr %14, align 8, !tbaa !5
  %2580 = getelementptr inbounds %struct.complex, ptr %2579, i32 0, i32 0
  %2581 = load float, ptr %2580, align 4, !tbaa !11
  %2582 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2583 = load float, ptr %2582, align 4, !tbaa !14
  %2584 = load ptr, ptr %14, align 8, !tbaa !5
  %2585 = getelementptr inbounds %struct.complex, ptr %2584, i32 0, i32 1
  %2586 = load float, ptr %2585, align 4, !tbaa !14
  %2587 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2588 = load float, ptr %2587, align 4, !tbaa !11
  %2589 = fmul float %2586, %2588
  %2590 = call float @llvm.fmuladd.f32(float %2581, float %2583, float %2589)
  %2591 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2590, ptr %2591, align 4, !tbaa !14
  %2592 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2593 = load float, ptr %2592, align 4, !tbaa !11
  %2594 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %2593, ptr %2594, align 4, !tbaa !11
  %2595 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2596 = load float, ptr %2595, align 4, !tbaa !14
  %2597 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %2596, ptr %2597, align 4, !tbaa !14
  %2598 = load ptr, ptr %13, align 8, !tbaa !5
  %2599 = getelementptr inbounds %struct.complex, ptr %2598, i64 5
  call void @r_cnjg(ptr noundef %31, ptr noundef %2599)
  %2600 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2601 = load float, ptr %2600, align 4, !tbaa !11
  %2602 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %2601, ptr %2602, align 4, !tbaa !11
  %2603 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2604 = load float, ptr %2603, align 4, !tbaa !14
  %2605 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %2604, ptr %2605, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %2606 = load ptr, ptr %14, align 8, !tbaa !5
  %2607 = getelementptr inbounds %struct.complex, ptr %2606, i32 0, i32 0
  %2608 = load float, ptr %2607, align 4, !tbaa !11
  %2609 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2610 = load float, ptr %2609, align 4, !tbaa !11
  %2611 = load ptr, ptr %14, align 8, !tbaa !5
  %2612 = getelementptr inbounds %struct.complex, ptr %2611, i32 0, i32 1
  %2613 = load float, ptr %2612, align 4, !tbaa !14
  %2614 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2615 = load float, ptr %2614, align 4, !tbaa !14
  %2616 = fmul float %2613, %2615
  %2617 = fneg float %2616
  %2618 = call float @llvm.fmuladd.f32(float %2608, float %2610, float %2617)
  %2619 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2618, ptr %2619, align 4, !tbaa !11
  %2620 = load ptr, ptr %14, align 8, !tbaa !5
  %2621 = getelementptr inbounds %struct.complex, ptr %2620, i32 0, i32 0
  %2622 = load float, ptr %2621, align 4, !tbaa !11
  %2623 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2624 = load float, ptr %2623, align 4, !tbaa !14
  %2625 = load ptr, ptr %14, align 8, !tbaa !5
  %2626 = getelementptr inbounds %struct.complex, ptr %2625, i32 0, i32 1
  %2627 = load float, ptr %2626, align 4, !tbaa !14
  %2628 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2629 = load float, ptr %2628, align 4, !tbaa !11
  %2630 = fmul float %2627, %2629
  %2631 = call float @llvm.fmuladd.f32(float %2622, float %2624, float %2630)
  %2632 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2631, ptr %2632, align 4, !tbaa !14
  %2633 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2634 = load float, ptr %2633, align 4, !tbaa !11
  %2635 = getelementptr inbounds %struct.complex, ptr %55, 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 %55, i32 0, i32 1
  store float %2637, ptr %2638, align 4, !tbaa !14
  %2639 = load ptr, ptr %13, align 8, !tbaa !5
  %2640 = getelementptr inbounds %struct.complex, ptr %2639, i64 6
  call void @r_cnjg(ptr noundef %31, ptr noundef %2640)
  %2641 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2642 = load float, ptr %2641, align 4, !tbaa !11
  %2643 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %2642, ptr %2643, align 4, !tbaa !11
  %2644 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2645 = load float, ptr %2644, align 4, !tbaa !14
  %2646 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %2645, ptr %2646, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %2647 = load ptr, ptr %14, align 8, !tbaa !5
  %2648 = getelementptr inbounds %struct.complex, ptr %2647, i32 0, i32 0
  %2649 = load float, ptr %2648, align 4, !tbaa !11
  %2650 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2651 = load float, ptr %2650, align 4, !tbaa !11
  %2652 = load ptr, ptr %14, align 8, !tbaa !5
  %2653 = getelementptr inbounds %struct.complex, ptr %2652, i32 0, i32 1
  %2654 = load float, ptr %2653, align 4, !tbaa !14
  %2655 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2656 = load float, ptr %2655, align 4, !tbaa !14
  %2657 = fmul float %2654, %2656
  %2658 = fneg float %2657
  %2659 = call float @llvm.fmuladd.f32(float %2649, float %2651, float %2658)
  %2660 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2659, ptr %2660, align 4, !tbaa !11
  %2661 = load ptr, ptr %14, align 8, !tbaa !5
  %2662 = getelementptr inbounds %struct.complex, ptr %2661, i32 0, i32 0
  %2663 = load float, ptr %2662, align 4, !tbaa !11
  %2664 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2665 = load float, ptr %2664, align 4, !tbaa !14
  %2666 = load ptr, ptr %14, align 8, !tbaa !5
  %2667 = getelementptr inbounds %struct.complex, ptr %2666, i32 0, i32 1
  %2668 = load float, ptr %2667, align 4, !tbaa !14
  %2669 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2670 = load float, ptr %2669, align 4, !tbaa !11
  %2671 = fmul float %2668, %2670
  %2672 = call float @llvm.fmuladd.f32(float %2663, float %2665, float %2671)
  %2673 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2672, ptr %2673, align 4, !tbaa !14
  %2674 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2675 = load float, ptr %2674, align 4, !tbaa !11
  %2676 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %2675, ptr %2676, align 4, !tbaa !11
  %2677 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2678 = load float, ptr %2677, align 4, !tbaa !14
  %2679 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %2678, ptr %2679, align 4, !tbaa !14
  %2680 = load ptr, ptr %12, align 8, !tbaa !5
  %2681 = load i64, ptr %2680, align 8, !tbaa !9
  store i64 %2681, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %2682

2682:                                             ; preds = %3353, %2433
  %2683 = load i64, ptr %50, align 8, !tbaa !9
  %2684 = load i64, ptr %20, align 8, !tbaa !9
  %2685 = icmp sle i64 %2683, %2684
  br i1 %2685, label %2686, label %3356

2686:                                             ; preds = %2682
  %2687 = load i64, ptr %50, align 8, !tbaa !9
  %2688 = load i64, ptr %18, align 8, !tbaa !9
  %2689 = mul nsw i64 %2687, %2688
  %2690 = add nsw i64 %2689, 1
  store i64 %2690, ptr %21, align 8, !tbaa !9
  %2691 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %2692 = load float, ptr %2691, align 4, !tbaa !11
  %2693 = load ptr, ptr %15, align 8, !tbaa !5
  %2694 = load i64, ptr %21, align 8, !tbaa !9
  %2695 = getelementptr inbounds %struct.complex, ptr %2693, i64 %2694
  %2696 = getelementptr inbounds %struct.complex, ptr %2695, i32 0, i32 0
  %2697 = load float, ptr %2696, align 4, !tbaa !11
  %2698 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %2699 = load float, ptr %2698, align 4, !tbaa !14
  %2700 = load ptr, ptr %15, align 8, !tbaa !5
  %2701 = load i64, ptr %21, align 8, !tbaa !9
  %2702 = getelementptr inbounds %struct.complex, ptr %2700, i64 %2701
  %2703 = getelementptr inbounds %struct.complex, ptr %2702, i32 0, i32 1
  %2704 = load float, ptr %2703, align 4, !tbaa !14
  %2705 = fmul float %2699, %2704
  %2706 = fneg float %2705
  %2707 = call float @llvm.fmuladd.f32(float %2692, float %2697, float %2706)
  %2708 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2707, ptr %2708, align 4, !tbaa !11
  %2709 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %2710 = load float, ptr %2709, align 4, !tbaa !11
  %2711 = load ptr, ptr %15, align 8, !tbaa !5
  %2712 = load i64, ptr %21, align 8, !tbaa !9
  %2713 = getelementptr inbounds %struct.complex, ptr %2711, i64 %2712
  %2714 = getelementptr inbounds %struct.complex, ptr %2713, i32 0, i32 1
  %2715 = load float, ptr %2714, align 4, !tbaa !14
  %2716 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %2717 = load float, ptr %2716, align 4, !tbaa !14
  %2718 = load ptr, ptr %15, align 8, !tbaa !5
  %2719 = load i64, ptr %21, align 8, !tbaa !9
  %2720 = getelementptr inbounds %struct.complex, ptr %2718, i64 %2719
  %2721 = getelementptr inbounds %struct.complex, ptr %2720, i32 0, i32 0
  %2722 = load float, ptr %2721, align 4, !tbaa !11
  %2723 = fmul float %2717, %2722
  %2724 = call float @llvm.fmuladd.f32(float %2710, float %2715, float %2723)
  %2725 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2724, ptr %2725, align 4, !tbaa !14
  %2726 = load i64, ptr %50, align 8, !tbaa !9
  %2727 = load i64, ptr %18, align 8, !tbaa !9
  %2728 = mul nsw i64 %2726, %2727
  %2729 = add nsw i64 %2728, 2
  store i64 %2729, ptr %22, align 8, !tbaa !9
  %2730 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %2731 = load float, ptr %2730, align 4, !tbaa !11
  %2732 = load ptr, ptr %15, align 8, !tbaa !5
  %2733 = load i64, ptr %22, align 8, !tbaa !9
  %2734 = getelementptr inbounds %struct.complex, ptr %2732, i64 %2733
  %2735 = getelementptr inbounds %struct.complex, ptr %2734, i32 0, i32 0
  %2736 = load float, ptr %2735, align 4, !tbaa !11
  %2737 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %2738 = load float, ptr %2737, align 4, !tbaa !14
  %2739 = load ptr, ptr %15, align 8, !tbaa !5
  %2740 = load i64, ptr %22, align 8, !tbaa !9
  %2741 = getelementptr inbounds %struct.complex, ptr %2739, i64 %2740
  %2742 = getelementptr inbounds %struct.complex, ptr %2741, i32 0, i32 1
  %2743 = load float, ptr %2742, align 4, !tbaa !14
  %2744 = fmul float %2738, %2743
  %2745 = fneg float %2744
  %2746 = call float @llvm.fmuladd.f32(float %2731, float %2736, float %2745)
  %2747 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %2746, ptr %2747, align 4, !tbaa !11
  %2748 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %2749 = load float, ptr %2748, align 4, !tbaa !11
  %2750 = load ptr, ptr %15, align 8, !tbaa !5
  %2751 = load i64, ptr %22, align 8, !tbaa !9
  %2752 = getelementptr inbounds %struct.complex, ptr %2750, i64 %2751
  %2753 = getelementptr inbounds %struct.complex, ptr %2752, i32 0, i32 1
  %2754 = load float, ptr %2753, align 4, !tbaa !14
  %2755 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %2756 = load float, ptr %2755, align 4, !tbaa !14
  %2757 = load ptr, ptr %15, align 8, !tbaa !5
  %2758 = load i64, ptr %22, align 8, !tbaa !9
  %2759 = getelementptr inbounds %struct.complex, ptr %2757, i64 %2758
  %2760 = getelementptr inbounds %struct.complex, ptr %2759, i32 0, i32 0
  %2761 = load float, ptr %2760, align 4, !tbaa !11
  %2762 = fmul float %2756, %2761
  %2763 = call float @llvm.fmuladd.f32(float %2749, float %2754, float %2762)
  %2764 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %2763, ptr %2764, align 4, !tbaa !14
  %2765 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2766 = load float, ptr %2765, align 4, !tbaa !11
  %2767 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %2768 = load float, ptr %2767, align 4, !tbaa !11
  %2769 = fadd float %2766, %2768
  %2770 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %2769, ptr %2770, align 4, !tbaa !11
  %2771 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2772 = load float, ptr %2771, align 4, !tbaa !14
  %2773 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %2774 = load float, ptr %2773, align 4, !tbaa !14
  %2775 = fadd float %2772, %2774
  %2776 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %2775, ptr %2776, align 4, !tbaa !14
  %2777 = load i64, ptr %50, align 8, !tbaa !9
  %2778 = load i64, ptr %18, align 8, !tbaa !9
  %2779 = mul nsw i64 %2777, %2778
  %2780 = add nsw i64 %2779, 3
  store i64 %2780, ptr %23, align 8, !tbaa !9
  %2781 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %2782 = load float, ptr %2781, align 4, !tbaa !11
  %2783 = load ptr, ptr %15, align 8, !tbaa !5
  %2784 = load i64, ptr %23, align 8, !tbaa !9
  %2785 = getelementptr inbounds %struct.complex, ptr %2783, i64 %2784
  %2786 = getelementptr inbounds %struct.complex, ptr %2785, i32 0, i32 0
  %2787 = load float, ptr %2786, align 4, !tbaa !11
  %2788 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %2789 = load float, ptr %2788, align 4, !tbaa !14
  %2790 = load ptr, ptr %15, align 8, !tbaa !5
  %2791 = load i64, ptr %23, align 8, !tbaa !9
  %2792 = getelementptr inbounds %struct.complex, ptr %2790, i64 %2791
  %2793 = getelementptr inbounds %struct.complex, ptr %2792, i32 0, i32 1
  %2794 = load float, ptr %2793, align 4, !tbaa !14
  %2795 = fmul float %2789, %2794
  %2796 = fneg float %2795
  %2797 = call float @llvm.fmuladd.f32(float %2782, float %2787, float %2796)
  %2798 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %2797, ptr %2798, align 4, !tbaa !11
  %2799 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %2800 = load float, ptr %2799, align 4, !tbaa !11
  %2801 = load ptr, ptr %15, align 8, !tbaa !5
  %2802 = load i64, ptr %23, align 8, !tbaa !9
  %2803 = getelementptr inbounds %struct.complex, ptr %2801, i64 %2802
  %2804 = getelementptr inbounds %struct.complex, ptr %2803, i32 0, i32 1
  %2805 = load float, ptr %2804, align 4, !tbaa !14
  %2806 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %2807 = load float, ptr %2806, align 4, !tbaa !14
  %2808 = load ptr, ptr %15, align 8, !tbaa !5
  %2809 = load i64, ptr %23, align 8, !tbaa !9
  %2810 = getelementptr inbounds %struct.complex, ptr %2808, i64 %2809
  %2811 = getelementptr inbounds %struct.complex, ptr %2810, i32 0, i32 0
  %2812 = load float, ptr %2811, align 4, !tbaa !11
  %2813 = fmul float %2807, %2812
  %2814 = call float @llvm.fmuladd.f32(float %2800, float %2805, float %2813)
  %2815 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %2814, ptr %2815, align 4, !tbaa !14
  %2816 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %2817 = load float, ptr %2816, align 4, !tbaa !11
  %2818 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %2819 = load float, ptr %2818, align 4, !tbaa !11
  %2820 = fadd float %2817, %2819
  %2821 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %2820, ptr %2821, align 4, !tbaa !11
  %2822 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %2823 = load float, ptr %2822, align 4, !tbaa !14
  %2824 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %2825 = load float, ptr %2824, align 4, !tbaa !14
  %2826 = fadd float %2823, %2825
  %2827 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %2826, ptr %2827, align 4, !tbaa !14
  %2828 = load i64, ptr %50, align 8, !tbaa !9
  %2829 = load i64, ptr %18, align 8, !tbaa !9
  %2830 = mul nsw i64 %2828, %2829
  %2831 = add nsw i64 %2830, 4
  store i64 %2831, ptr %24, align 8, !tbaa !9
  %2832 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %2833 = load float, ptr %2832, align 4, !tbaa !11
  %2834 = load ptr, ptr %15, align 8, !tbaa !5
  %2835 = load i64, ptr %24, align 8, !tbaa !9
  %2836 = getelementptr inbounds %struct.complex, ptr %2834, i64 %2835
  %2837 = getelementptr inbounds %struct.complex, ptr %2836, i32 0, i32 0
  %2838 = load float, ptr %2837, align 4, !tbaa !11
  %2839 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %2840 = load float, ptr %2839, align 4, !tbaa !14
  %2841 = load ptr, ptr %15, align 8, !tbaa !5
  %2842 = load i64, ptr %24, align 8, !tbaa !9
  %2843 = getelementptr inbounds %struct.complex, ptr %2841, i64 %2842
  %2844 = getelementptr inbounds %struct.complex, ptr %2843, i32 0, i32 1
  %2845 = load float, ptr %2844, align 4, !tbaa !14
  %2846 = fmul float %2840, %2845
  %2847 = fneg float %2846
  %2848 = call float @llvm.fmuladd.f32(float %2833, float %2838, float %2847)
  %2849 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %2848, ptr %2849, align 4, !tbaa !11
  %2850 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %2851 = load float, ptr %2850, align 4, !tbaa !11
  %2852 = load ptr, ptr %15, align 8, !tbaa !5
  %2853 = load i64, ptr %24, align 8, !tbaa !9
  %2854 = getelementptr inbounds %struct.complex, ptr %2852, i64 %2853
  %2855 = getelementptr inbounds %struct.complex, ptr %2854, i32 0, i32 1
  %2856 = load float, ptr %2855, align 4, !tbaa !14
  %2857 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %2858 = load float, ptr %2857, align 4, !tbaa !14
  %2859 = load ptr, ptr %15, align 8, !tbaa !5
  %2860 = load i64, ptr %24, align 8, !tbaa !9
  %2861 = getelementptr inbounds %struct.complex, ptr %2859, i64 %2860
  %2862 = getelementptr inbounds %struct.complex, ptr %2861, i32 0, i32 0
  %2863 = load float, ptr %2862, align 4, !tbaa !11
  %2864 = fmul float %2858, %2863
  %2865 = call float @llvm.fmuladd.f32(float %2851, float %2856, float %2864)
  %2866 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %2865, ptr %2866, align 4, !tbaa !14
  %2867 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %2868 = load float, ptr %2867, align 4, !tbaa !11
  %2869 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %2870 = load float, ptr %2869, align 4, !tbaa !11
  %2871 = fadd float %2868, %2870
  %2872 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %2871, ptr %2872, align 4, !tbaa !11
  %2873 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %2874 = load float, ptr %2873, align 4, !tbaa !14
  %2875 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %2876 = load float, ptr %2875, align 4, !tbaa !14
  %2877 = fadd float %2874, %2876
  %2878 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %2877, ptr %2878, align 4, !tbaa !14
  %2879 = load i64, ptr %50, align 8, !tbaa !9
  %2880 = load i64, ptr %18, align 8, !tbaa !9
  %2881 = mul nsw i64 %2879, %2880
  %2882 = add nsw i64 %2881, 5
  store i64 %2882, ptr %25, align 8, !tbaa !9
  %2883 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %2884 = load float, ptr %2883, align 4, !tbaa !11
  %2885 = load ptr, ptr %15, align 8, !tbaa !5
  %2886 = load i64, ptr %25, align 8, !tbaa !9
  %2887 = getelementptr inbounds %struct.complex, ptr %2885, i64 %2886
  %2888 = getelementptr inbounds %struct.complex, ptr %2887, i32 0, i32 0
  %2889 = load float, ptr %2888, align 4, !tbaa !11
  %2890 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %2891 = load float, ptr %2890, align 4, !tbaa !14
  %2892 = load ptr, ptr %15, align 8, !tbaa !5
  %2893 = load i64, ptr %25, align 8, !tbaa !9
  %2894 = getelementptr inbounds %struct.complex, ptr %2892, i64 %2893
  %2895 = getelementptr inbounds %struct.complex, ptr %2894, i32 0, i32 1
  %2896 = load float, ptr %2895, align 4, !tbaa !14
  %2897 = fmul float %2891, %2896
  %2898 = fneg float %2897
  %2899 = call float @llvm.fmuladd.f32(float %2884, float %2889, float %2898)
  %2900 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %2899, ptr %2900, align 4, !tbaa !11
  %2901 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %2902 = load float, ptr %2901, align 4, !tbaa !11
  %2903 = load ptr, ptr %15, align 8, !tbaa !5
  %2904 = load i64, ptr %25, align 8, !tbaa !9
  %2905 = getelementptr inbounds %struct.complex, ptr %2903, i64 %2904
  %2906 = getelementptr inbounds %struct.complex, ptr %2905, i32 0, i32 1
  %2907 = load float, ptr %2906, align 4, !tbaa !14
  %2908 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %2909 = load float, ptr %2908, align 4, !tbaa !14
  %2910 = load ptr, ptr %15, align 8, !tbaa !5
  %2911 = load i64, ptr %25, align 8, !tbaa !9
  %2912 = getelementptr inbounds %struct.complex, ptr %2910, i64 %2911
  %2913 = getelementptr inbounds %struct.complex, ptr %2912, i32 0, i32 0
  %2914 = load float, ptr %2913, align 4, !tbaa !11
  %2915 = fmul float %2909, %2914
  %2916 = call float @llvm.fmuladd.f32(float %2902, float %2907, float %2915)
  %2917 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %2916, ptr %2917, align 4, !tbaa !14
  %2918 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %2919 = load float, ptr %2918, align 4, !tbaa !11
  %2920 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %2921 = load float, ptr %2920, align 4, !tbaa !11
  %2922 = fadd float %2919, %2921
  %2923 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %2922, ptr %2923, align 4, !tbaa !11
  %2924 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %2925 = load float, ptr %2924, align 4, !tbaa !14
  %2926 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %2927 = load float, ptr %2926, align 4, !tbaa !14
  %2928 = fadd float %2925, %2927
  %2929 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %2928, ptr %2929, align 4, !tbaa !14
  %2930 = load i64, ptr %50, align 8, !tbaa !9
  %2931 = load i64, ptr %18, align 8, !tbaa !9
  %2932 = mul nsw i64 %2930, %2931
  %2933 = add nsw i64 %2932, 6
  store i64 %2933, ptr %26, align 8, !tbaa !9
  %2934 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2935 = load float, ptr %2934, align 4, !tbaa !11
  %2936 = load ptr, ptr %15, align 8, !tbaa !5
  %2937 = load i64, ptr %26, align 8, !tbaa !9
  %2938 = getelementptr inbounds %struct.complex, ptr %2936, i64 %2937
  %2939 = getelementptr inbounds %struct.complex, ptr %2938, i32 0, i32 0
  %2940 = load float, ptr %2939, align 4, !tbaa !11
  %2941 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2942 = load float, ptr %2941, align 4, !tbaa !14
  %2943 = load ptr, ptr %15, align 8, !tbaa !5
  %2944 = load i64, ptr %26, align 8, !tbaa !9
  %2945 = getelementptr inbounds %struct.complex, ptr %2943, i64 %2944
  %2946 = getelementptr inbounds %struct.complex, ptr %2945, i32 0, i32 1
  %2947 = load float, ptr %2946, align 4, !tbaa !14
  %2948 = fmul float %2942, %2947
  %2949 = fneg float %2948
  %2950 = call float @llvm.fmuladd.f32(float %2935, float %2940, float %2949)
  %2951 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %2950, ptr %2951, align 4, !tbaa !11
  %2952 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2953 = load float, ptr %2952, align 4, !tbaa !11
  %2954 = load ptr, ptr %15, align 8, !tbaa !5
  %2955 = load i64, ptr %26, align 8, !tbaa !9
  %2956 = getelementptr inbounds %struct.complex, ptr %2954, i64 %2955
  %2957 = getelementptr inbounds %struct.complex, ptr %2956, i32 0, i32 1
  %2958 = load float, ptr %2957, align 4, !tbaa !14
  %2959 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2960 = load float, ptr %2959, align 4, !tbaa !14
  %2961 = load ptr, ptr %15, align 8, !tbaa !5
  %2962 = load i64, ptr %26, align 8, !tbaa !9
  %2963 = getelementptr inbounds %struct.complex, ptr %2961, i64 %2962
  %2964 = getelementptr inbounds %struct.complex, ptr %2963, i32 0, i32 0
  %2965 = load float, ptr %2964, align 4, !tbaa !11
  %2966 = fmul float %2960, %2965
  %2967 = call float @llvm.fmuladd.f32(float %2953, float %2958, float %2966)
  %2968 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %2967, ptr %2968, align 4, !tbaa !14
  %2969 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %2970 = load float, ptr %2969, align 4, !tbaa !11
  %2971 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %2972 = load float, ptr %2971, align 4, !tbaa !11
  %2973 = fadd float %2970, %2972
  %2974 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %2973, ptr %2974, align 4, !tbaa !11
  %2975 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %2976 = load float, ptr %2975, align 4, !tbaa !14
  %2977 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %2978 = load float, ptr %2977, align 4, !tbaa !14
  %2979 = fadd float %2976, %2978
  %2980 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %2979, ptr %2980, align 4, !tbaa !14
  %2981 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %2982 = load float, ptr %2981, align 4, !tbaa !11
  %2983 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %2982, ptr %2983, align 4, !tbaa !11
  %2984 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %2985 = load float, ptr %2984, align 4, !tbaa !14
  %2986 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %2985, ptr %2986, align 4, !tbaa !14
  %2987 = load i64, ptr %50, align 8, !tbaa !9
  %2988 = load i64, ptr %18, align 8, !tbaa !9
  %2989 = mul nsw i64 %2987, %2988
  %2990 = add nsw i64 %2989, 1
  store i64 %2990, ptr %21, align 8, !tbaa !9
  %2991 = load i64, ptr %50, align 8, !tbaa !9
  %2992 = load i64, ptr %18, align 8, !tbaa !9
  %2993 = mul nsw i64 %2991, %2992
  %2994 = add nsw i64 %2993, 1
  store i64 %2994, ptr %22, align 8, !tbaa !9
  %2995 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %2996 = load float, ptr %2995, align 4, !tbaa !11
  %2997 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %2998 = load float, ptr %2997, align 4, !tbaa !11
  %2999 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3000 = load float, ptr %2999, align 4, !tbaa !14
  %3001 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %3002 = load float, ptr %3001, align 4, !tbaa !14
  %3003 = fmul float %3000, %3002
  %3004 = fneg float %3003
  %3005 = call float @llvm.fmuladd.f32(float %2996, float %2998, float %3004)
  %3006 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3005, ptr %3006, align 4, !tbaa !11
  %3007 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3008 = load float, ptr %3007, align 4, !tbaa !11
  %3009 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %3010 = load float, ptr %3009, align 4, !tbaa !14
  %3011 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3012 = load float, ptr %3011, align 4, !tbaa !14
  %3013 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %3014 = load float, ptr %3013, align 4, !tbaa !11
  %3015 = fmul float %3012, %3014
  %3016 = call float @llvm.fmuladd.f32(float %3008, float %3010, float %3015)
  %3017 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3016, ptr %3017, align 4, !tbaa !14
  %3018 = load ptr, ptr %15, align 8, !tbaa !5
  %3019 = load i64, ptr %22, align 8, !tbaa !9
  %3020 = getelementptr inbounds %struct.complex, ptr %3018, i64 %3019
  %3021 = getelementptr inbounds %struct.complex, ptr %3020, i32 0, i32 0
  %3022 = load float, ptr %3021, align 4, !tbaa !11
  %3023 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3024 = load float, ptr %3023, align 4, !tbaa !11
  %3025 = fsub float %3022, %3024
  %3026 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3025, ptr %3026, align 4, !tbaa !11
  %3027 = load ptr, ptr %15, align 8, !tbaa !5
  %3028 = load i64, ptr %22, align 8, !tbaa !9
  %3029 = getelementptr inbounds %struct.complex, ptr %3027, i64 %3028
  %3030 = getelementptr inbounds %struct.complex, ptr %3029, i32 0, i32 1
  %3031 = load float, ptr %3030, align 4, !tbaa !14
  %3032 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3033 = load float, ptr %3032, align 4, !tbaa !14
  %3034 = fsub float %3031, %3033
  %3035 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3034, ptr %3035, align 4, !tbaa !14
  %3036 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3037 = load float, ptr %3036, align 4, !tbaa !11
  %3038 = load ptr, ptr %15, align 8, !tbaa !5
  %3039 = load i64, ptr %21, align 8, !tbaa !9
  %3040 = getelementptr inbounds %struct.complex, ptr %3038, i64 %3039
  %3041 = getelementptr inbounds %struct.complex, ptr %3040, i32 0, i32 0
  store float %3037, ptr %3041, align 4, !tbaa !11
  %3042 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3043 = load float, ptr %3042, align 4, !tbaa !14
  %3044 = load ptr, ptr %15, align 8, !tbaa !5
  %3045 = load i64, ptr %21, align 8, !tbaa !9
  %3046 = getelementptr inbounds %struct.complex, ptr %3044, i64 %3045
  %3047 = getelementptr inbounds %struct.complex, ptr %3046, i32 0, i32 1
  store float %3043, ptr %3047, align 4, !tbaa !14
  %3048 = load i64, ptr %50, align 8, !tbaa !9
  %3049 = load i64, ptr %18, align 8, !tbaa !9
  %3050 = mul nsw i64 %3048, %3049
  %3051 = add nsw i64 %3050, 2
  store i64 %3051, ptr %21, align 8, !tbaa !9
  %3052 = load i64, ptr %50, align 8, !tbaa !9
  %3053 = load i64, ptr %18, align 8, !tbaa !9
  %3054 = mul nsw i64 %3052, %3053
  %3055 = add nsw i64 %3054, 2
  store i64 %3055, ptr %22, align 8, !tbaa !9
  %3056 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3057 = load float, ptr %3056, align 4, !tbaa !11
  %3058 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %3059 = load float, ptr %3058, align 4, !tbaa !11
  %3060 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3061 = load float, ptr %3060, align 4, !tbaa !14
  %3062 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %3063 = load float, ptr %3062, align 4, !tbaa !14
  %3064 = fmul float %3061, %3063
  %3065 = fneg float %3064
  %3066 = call float @llvm.fmuladd.f32(float %3057, float %3059, float %3065)
  %3067 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3066, ptr %3067, align 4, !tbaa !11
  %3068 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3069 = load float, ptr %3068, align 4, !tbaa !11
  %3070 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %3071 = load float, ptr %3070, align 4, !tbaa !14
  %3072 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3073 = load float, ptr %3072, align 4, !tbaa !14
  %3074 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %3075 = load float, ptr %3074, align 4, !tbaa !11
  %3076 = fmul float %3073, %3075
  %3077 = call float @llvm.fmuladd.f32(float %3069, float %3071, float %3076)
  %3078 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3077, ptr %3078, align 4, !tbaa !14
  %3079 = load ptr, ptr %15, align 8, !tbaa !5
  %3080 = load i64, ptr %22, align 8, !tbaa !9
  %3081 = getelementptr inbounds %struct.complex, ptr %3079, i64 %3080
  %3082 = getelementptr inbounds %struct.complex, ptr %3081, i32 0, i32 0
  %3083 = load float, ptr %3082, align 4, !tbaa !11
  %3084 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3085 = load float, ptr %3084, align 4, !tbaa !11
  %3086 = fsub float %3083, %3085
  %3087 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3086, ptr %3087, align 4, !tbaa !11
  %3088 = load ptr, ptr %15, align 8, !tbaa !5
  %3089 = load i64, ptr %22, align 8, !tbaa !9
  %3090 = getelementptr inbounds %struct.complex, ptr %3088, i64 %3089
  %3091 = getelementptr inbounds %struct.complex, ptr %3090, i32 0, i32 1
  %3092 = load float, ptr %3091, align 4, !tbaa !14
  %3093 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3094 = load float, ptr %3093, align 4, !tbaa !14
  %3095 = fsub float %3092, %3094
  %3096 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3095, ptr %3096, align 4, !tbaa !14
  %3097 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3098 = load float, ptr %3097, align 4, !tbaa !11
  %3099 = load ptr, ptr %15, align 8, !tbaa !5
  %3100 = load i64, ptr %21, align 8, !tbaa !9
  %3101 = getelementptr inbounds %struct.complex, ptr %3099, i64 %3100
  %3102 = getelementptr inbounds %struct.complex, ptr %3101, i32 0, i32 0
  store float %3098, ptr %3102, align 4, !tbaa !11
  %3103 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3104 = load float, ptr %3103, align 4, !tbaa !14
  %3105 = load ptr, ptr %15, align 8, !tbaa !5
  %3106 = load i64, ptr %21, align 8, !tbaa !9
  %3107 = getelementptr inbounds %struct.complex, ptr %3105, i64 %3106
  %3108 = getelementptr inbounds %struct.complex, ptr %3107, i32 0, i32 1
  store float %3104, ptr %3108, align 4, !tbaa !14
  %3109 = load i64, ptr %50, align 8, !tbaa !9
  %3110 = load i64, ptr %18, align 8, !tbaa !9
  %3111 = mul nsw i64 %3109, %3110
  %3112 = add nsw i64 %3111, 3
  store i64 %3112, ptr %21, align 8, !tbaa !9
  %3113 = load i64, ptr %50, align 8, !tbaa !9
  %3114 = load i64, ptr %18, align 8, !tbaa !9
  %3115 = mul nsw i64 %3113, %3114
  %3116 = add nsw i64 %3115, 3
  store i64 %3116, ptr %22, align 8, !tbaa !9
  %3117 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3118 = load float, ptr %3117, align 4, !tbaa !11
  %3119 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %3120 = load float, ptr %3119, align 4, !tbaa !11
  %3121 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3122 = load float, ptr %3121, align 4, !tbaa !14
  %3123 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %3124 = load float, ptr %3123, align 4, !tbaa !14
  %3125 = fmul float %3122, %3124
  %3126 = fneg float %3125
  %3127 = call float @llvm.fmuladd.f32(float %3118, float %3120, float %3126)
  %3128 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3127, ptr %3128, align 4, !tbaa !11
  %3129 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3130 = load float, ptr %3129, align 4, !tbaa !11
  %3131 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %3132 = load float, ptr %3131, align 4, !tbaa !14
  %3133 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3134 = load float, ptr %3133, align 4, !tbaa !14
  %3135 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %3136 = load float, ptr %3135, align 4, !tbaa !11
  %3137 = fmul float %3134, %3136
  %3138 = call float @llvm.fmuladd.f32(float %3130, float %3132, float %3137)
  %3139 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3138, ptr %3139, align 4, !tbaa !14
  %3140 = load ptr, ptr %15, align 8, !tbaa !5
  %3141 = load i64, ptr %22, align 8, !tbaa !9
  %3142 = getelementptr inbounds %struct.complex, ptr %3140, i64 %3141
  %3143 = getelementptr inbounds %struct.complex, ptr %3142, i32 0, i32 0
  %3144 = load float, ptr %3143, align 4, !tbaa !11
  %3145 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3146 = load float, ptr %3145, align 4, !tbaa !11
  %3147 = fsub float %3144, %3146
  %3148 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3147, ptr %3148, align 4, !tbaa !11
  %3149 = load ptr, ptr %15, align 8, !tbaa !5
  %3150 = load i64, ptr %22, align 8, !tbaa !9
  %3151 = getelementptr inbounds %struct.complex, ptr %3149, i64 %3150
  %3152 = getelementptr inbounds %struct.complex, ptr %3151, i32 0, i32 1
  %3153 = load float, ptr %3152, align 4, !tbaa !14
  %3154 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3155 = load float, ptr %3154, align 4, !tbaa !14
  %3156 = fsub float %3153, %3155
  %3157 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3156, ptr %3157, align 4, !tbaa !14
  %3158 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3159 = load float, ptr %3158, align 4, !tbaa !11
  %3160 = load ptr, ptr %15, align 8, !tbaa !5
  %3161 = load i64, ptr %21, align 8, !tbaa !9
  %3162 = getelementptr inbounds %struct.complex, ptr %3160, i64 %3161
  %3163 = getelementptr inbounds %struct.complex, ptr %3162, i32 0, i32 0
  store float %3159, ptr %3163, align 4, !tbaa !11
  %3164 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3165 = load float, ptr %3164, align 4, !tbaa !14
  %3166 = load ptr, ptr %15, align 8, !tbaa !5
  %3167 = load i64, ptr %21, align 8, !tbaa !9
  %3168 = getelementptr inbounds %struct.complex, ptr %3166, i64 %3167
  %3169 = getelementptr inbounds %struct.complex, ptr %3168, i32 0, i32 1
  store float %3165, ptr %3169, align 4, !tbaa !14
  %3170 = load i64, ptr %50, align 8, !tbaa !9
  %3171 = load i64, ptr %18, align 8, !tbaa !9
  %3172 = mul nsw i64 %3170, %3171
  %3173 = add nsw i64 %3172, 4
  store i64 %3173, ptr %21, align 8, !tbaa !9
  %3174 = load i64, ptr %50, align 8, !tbaa !9
  %3175 = load i64, ptr %18, align 8, !tbaa !9
  %3176 = mul nsw i64 %3174, %3175
  %3177 = add nsw i64 %3176, 4
  store i64 %3177, ptr %22, align 8, !tbaa !9
  %3178 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3179 = load float, ptr %3178, align 4, !tbaa !11
  %3180 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %3181 = load float, ptr %3180, align 4, !tbaa !11
  %3182 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3183 = load float, ptr %3182, align 4, !tbaa !14
  %3184 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %3185 = load float, ptr %3184, align 4, !tbaa !14
  %3186 = fmul float %3183, %3185
  %3187 = fneg float %3186
  %3188 = call float @llvm.fmuladd.f32(float %3179, float %3181, float %3187)
  %3189 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3188, ptr %3189, align 4, !tbaa !11
  %3190 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3191 = load float, ptr %3190, align 4, !tbaa !11
  %3192 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %3193 = load float, ptr %3192, align 4, !tbaa !14
  %3194 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3195 = load float, ptr %3194, align 4, !tbaa !14
  %3196 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %3197 = load float, ptr %3196, align 4, !tbaa !11
  %3198 = fmul float %3195, %3197
  %3199 = call float @llvm.fmuladd.f32(float %3191, float %3193, float %3198)
  %3200 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3199, ptr %3200, align 4, !tbaa !14
  %3201 = load ptr, ptr %15, align 8, !tbaa !5
  %3202 = load i64, ptr %22, align 8, !tbaa !9
  %3203 = getelementptr inbounds %struct.complex, ptr %3201, i64 %3202
  %3204 = getelementptr inbounds %struct.complex, ptr %3203, i32 0, i32 0
  %3205 = load float, ptr %3204, align 4, !tbaa !11
  %3206 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3207 = load float, ptr %3206, align 4, !tbaa !11
  %3208 = fsub float %3205, %3207
  %3209 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3208, ptr %3209, align 4, !tbaa !11
  %3210 = load ptr, ptr %15, align 8, !tbaa !5
  %3211 = load i64, ptr %22, align 8, !tbaa !9
  %3212 = getelementptr inbounds %struct.complex, ptr %3210, i64 %3211
  %3213 = getelementptr inbounds %struct.complex, ptr %3212, i32 0, i32 1
  %3214 = load float, ptr %3213, align 4, !tbaa !14
  %3215 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3216 = load float, ptr %3215, align 4, !tbaa !14
  %3217 = fsub float %3214, %3216
  %3218 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3217, ptr %3218, align 4, !tbaa !14
  %3219 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3220 = load float, ptr %3219, align 4, !tbaa !11
  %3221 = load ptr, ptr %15, align 8, !tbaa !5
  %3222 = load i64, ptr %21, align 8, !tbaa !9
  %3223 = getelementptr inbounds %struct.complex, ptr %3221, i64 %3222
  %3224 = getelementptr inbounds %struct.complex, ptr %3223, i32 0, i32 0
  store float %3220, ptr %3224, align 4, !tbaa !11
  %3225 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3226 = load float, ptr %3225, align 4, !tbaa !14
  %3227 = load ptr, ptr %15, align 8, !tbaa !5
  %3228 = load i64, ptr %21, align 8, !tbaa !9
  %3229 = getelementptr inbounds %struct.complex, ptr %3227, i64 %3228
  %3230 = getelementptr inbounds %struct.complex, ptr %3229, i32 0, i32 1
  store float %3226, ptr %3230, align 4, !tbaa !14
  %3231 = load i64, ptr %50, align 8, !tbaa !9
  %3232 = load i64, ptr %18, align 8, !tbaa !9
  %3233 = mul nsw i64 %3231, %3232
  %3234 = add nsw i64 %3233, 5
  store i64 %3234, ptr %21, align 8, !tbaa !9
  %3235 = load i64, ptr %50, align 8, !tbaa !9
  %3236 = load i64, ptr %18, align 8, !tbaa !9
  %3237 = mul nsw i64 %3235, %3236
  %3238 = add nsw i64 %3237, 5
  store i64 %3238, ptr %22, align 8, !tbaa !9
  %3239 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3240 = load float, ptr %3239, align 4, !tbaa !11
  %3241 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %3242 = load float, ptr %3241, align 4, !tbaa !11
  %3243 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3244 = load float, ptr %3243, align 4, !tbaa !14
  %3245 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %3246 = load float, ptr %3245, align 4, !tbaa !14
  %3247 = fmul float %3244, %3246
  %3248 = fneg float %3247
  %3249 = call float @llvm.fmuladd.f32(float %3240, float %3242, float %3248)
  %3250 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3249, ptr %3250, align 4, !tbaa !11
  %3251 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3252 = load float, ptr %3251, align 4, !tbaa !11
  %3253 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %3254 = load float, ptr %3253, align 4, !tbaa !14
  %3255 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3256 = load float, ptr %3255, align 4, !tbaa !14
  %3257 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %3258 = load float, ptr %3257, align 4, !tbaa !11
  %3259 = fmul float %3256, %3258
  %3260 = call float @llvm.fmuladd.f32(float %3252, float %3254, float %3259)
  %3261 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3260, ptr %3261, align 4, !tbaa !14
  %3262 = load ptr, ptr %15, align 8, !tbaa !5
  %3263 = load i64, ptr %22, align 8, !tbaa !9
  %3264 = getelementptr inbounds %struct.complex, ptr %3262, i64 %3263
  %3265 = getelementptr inbounds %struct.complex, ptr %3264, i32 0, i32 0
  %3266 = load float, ptr %3265, align 4, !tbaa !11
  %3267 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3268 = load float, ptr %3267, align 4, !tbaa !11
  %3269 = fsub float %3266, %3268
  %3270 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3269, ptr %3270, align 4, !tbaa !11
  %3271 = load ptr, ptr %15, align 8, !tbaa !5
  %3272 = load i64, ptr %22, align 8, !tbaa !9
  %3273 = getelementptr inbounds %struct.complex, ptr %3271, i64 %3272
  %3274 = getelementptr inbounds %struct.complex, ptr %3273, i32 0, i32 1
  %3275 = load float, ptr %3274, align 4, !tbaa !14
  %3276 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3277 = load float, ptr %3276, align 4, !tbaa !14
  %3278 = fsub float %3275, %3277
  %3279 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3278, ptr %3279, align 4, !tbaa !14
  %3280 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3281 = load float, ptr %3280, align 4, !tbaa !11
  %3282 = load ptr, ptr %15, align 8, !tbaa !5
  %3283 = load i64, ptr %21, align 8, !tbaa !9
  %3284 = getelementptr inbounds %struct.complex, ptr %3282, i64 %3283
  %3285 = getelementptr inbounds %struct.complex, ptr %3284, i32 0, i32 0
  store float %3281, ptr %3285, align 4, !tbaa !11
  %3286 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3287 = load float, ptr %3286, align 4, !tbaa !14
  %3288 = load ptr, ptr %15, align 8, !tbaa !5
  %3289 = load i64, ptr %21, align 8, !tbaa !9
  %3290 = getelementptr inbounds %struct.complex, ptr %3288, i64 %3289
  %3291 = getelementptr inbounds %struct.complex, ptr %3290, i32 0, i32 1
  store float %3287, ptr %3291, align 4, !tbaa !14
  %3292 = load i64, ptr %50, align 8, !tbaa !9
  %3293 = load i64, ptr %18, align 8, !tbaa !9
  %3294 = mul nsw i64 %3292, %3293
  %3295 = add nsw i64 %3294, 6
  store i64 %3295, ptr %21, align 8, !tbaa !9
  %3296 = load i64, ptr %50, align 8, !tbaa !9
  %3297 = load i64, ptr %18, align 8, !tbaa !9
  %3298 = mul nsw i64 %3296, %3297
  %3299 = add nsw i64 %3298, 6
  store i64 %3299, ptr %22, align 8, !tbaa !9
  %3300 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3301 = load float, ptr %3300, align 4, !tbaa !11
  %3302 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %3303 = load float, ptr %3302, align 4, !tbaa !11
  %3304 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3305 = load float, ptr %3304, align 4, !tbaa !14
  %3306 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %3307 = load float, ptr %3306, align 4, !tbaa !14
  %3308 = fmul float %3305, %3307
  %3309 = fneg float %3308
  %3310 = call float @llvm.fmuladd.f32(float %3301, float %3303, float %3309)
  %3311 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3310, ptr %3311, align 4, !tbaa !11
  %3312 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %3313 = load float, ptr %3312, align 4, !tbaa !11
  %3314 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %3315 = load float, ptr %3314, align 4, !tbaa !14
  %3316 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %3317 = load float, ptr %3316, align 4, !tbaa !14
  %3318 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %3319 = load float, ptr %3318, align 4, !tbaa !11
  %3320 = fmul float %3317, %3319
  %3321 = call float @llvm.fmuladd.f32(float %3313, float %3315, float %3320)
  %3322 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3321, ptr %3322, align 4, !tbaa !14
  %3323 = load ptr, ptr %15, align 8, !tbaa !5
  %3324 = load i64, ptr %22, align 8, !tbaa !9
  %3325 = getelementptr inbounds %struct.complex, ptr %3323, i64 %3324
  %3326 = getelementptr inbounds %struct.complex, ptr %3325, i32 0, i32 0
  %3327 = load float, ptr %3326, align 4, !tbaa !11
  %3328 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3329 = load float, ptr %3328, align 4, !tbaa !11
  %3330 = fsub float %3327, %3329
  %3331 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3330, ptr %3331, align 4, !tbaa !11
  %3332 = load ptr, ptr %15, align 8, !tbaa !5
  %3333 = load i64, ptr %22, align 8, !tbaa !9
  %3334 = getelementptr inbounds %struct.complex, ptr %3332, i64 %3333
  %3335 = getelementptr inbounds %struct.complex, ptr %3334, i32 0, i32 1
  %3336 = load float, ptr %3335, align 4, !tbaa !14
  %3337 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3338 = load float, ptr %3337, align 4, !tbaa !14
  %3339 = fsub float %3336, %3338
  %3340 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3339, ptr %3340, align 4, !tbaa !14
  %3341 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3342 = load float, ptr %3341, align 4, !tbaa !11
  %3343 = load ptr, ptr %15, align 8, !tbaa !5
  %3344 = load i64, ptr %21, align 8, !tbaa !9
  %3345 = getelementptr inbounds %struct.complex, ptr %3343, i64 %3344
  %3346 = getelementptr inbounds %struct.complex, ptr %3345, i32 0, i32 0
  store float %3342, ptr %3346, align 4, !tbaa !11
  %3347 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3348 = load float, ptr %3347, align 4, !tbaa !14
  %3349 = load ptr, ptr %15, align 8, !tbaa !5
  %3350 = load i64, ptr %21, align 8, !tbaa !9
  %3351 = getelementptr inbounds %struct.complex, ptr %3349, i64 %3350
  %3352 = getelementptr inbounds %struct.complex, ptr %3351, i32 0, i32 1
  store float %3348, ptr %3352, align 4, !tbaa !14
  br label %3353

3353:                                             ; preds = %2686
  %3354 = load i64, ptr %50, align 8, !tbaa !9
  %3355 = add nsw i64 %3354, 1
  store i64 %3355, ptr %50, align 8, !tbaa !9
  br label %2682, !llvm.loop !21

3356:                                             ; preds = %2682
  br label %17146

3357:                                             ; preds = %108
  %3358 = load ptr, ptr %13, align 8, !tbaa !5
  %3359 = getelementptr inbounds %struct.complex, ptr %3358, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %3359)
  %3360 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3361 = load float, ptr %3360, align 4, !tbaa !11
  %3362 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %3361, ptr %3362, align 4, !tbaa !11
  %3363 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3364 = load float, ptr %3363, align 4, !tbaa !14
  %3365 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %3364, ptr %3365, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %3366 = load ptr, ptr %14, align 8, !tbaa !5
  %3367 = getelementptr inbounds %struct.complex, ptr %3366, i32 0, i32 0
  %3368 = load float, ptr %3367, align 4, !tbaa !11
  %3369 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3370 = load float, ptr %3369, align 4, !tbaa !11
  %3371 = load ptr, ptr %14, align 8, !tbaa !5
  %3372 = getelementptr inbounds %struct.complex, ptr %3371, i32 0, i32 1
  %3373 = load float, ptr %3372, align 4, !tbaa !14
  %3374 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3375 = load float, ptr %3374, align 4, !tbaa !14
  %3376 = fmul float %3373, %3375
  %3377 = fneg float %3376
  %3378 = call float @llvm.fmuladd.f32(float %3368, float %3370, float %3377)
  %3379 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3378, ptr %3379, align 4, !tbaa !11
  %3380 = load ptr, ptr %14, align 8, !tbaa !5
  %3381 = getelementptr inbounds %struct.complex, ptr %3380, i32 0, i32 0
  %3382 = load float, ptr %3381, align 4, !tbaa !11
  %3383 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3384 = load float, ptr %3383, align 4, !tbaa !14
  %3385 = load ptr, ptr %14, align 8, !tbaa !5
  %3386 = getelementptr inbounds %struct.complex, ptr %3385, i32 0, i32 1
  %3387 = load float, ptr %3386, align 4, !tbaa !14
  %3388 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3389 = load float, ptr %3388, align 4, !tbaa !11
  %3390 = fmul float %3387, %3389
  %3391 = call float @llvm.fmuladd.f32(float %3382, float %3384, float %3390)
  %3392 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3391, ptr %3392, align 4, !tbaa !14
  %3393 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3394 = load float, ptr %3393, align 4, !tbaa !11
  %3395 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %3394, ptr %3395, align 4, !tbaa !11
  %3396 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3397 = load float, ptr %3396, align 4, !tbaa !14
  %3398 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %3397, ptr %3398, align 4, !tbaa !14
  %3399 = load ptr, ptr %13, align 8, !tbaa !5
  %3400 = getelementptr inbounds %struct.complex, ptr %3399, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %3400)
  %3401 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3402 = load float, ptr %3401, align 4, !tbaa !11
  %3403 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %3402, ptr %3403, align 4, !tbaa !11
  %3404 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3405 = load float, ptr %3404, align 4, !tbaa !14
  %3406 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %3405, ptr %3406, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %3407 = load ptr, ptr %14, align 8, !tbaa !5
  %3408 = getelementptr inbounds %struct.complex, ptr %3407, i32 0, i32 0
  %3409 = load float, ptr %3408, align 4, !tbaa !11
  %3410 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3411 = load float, ptr %3410, align 4, !tbaa !11
  %3412 = load ptr, ptr %14, align 8, !tbaa !5
  %3413 = getelementptr inbounds %struct.complex, ptr %3412, i32 0, i32 1
  %3414 = load float, ptr %3413, align 4, !tbaa !14
  %3415 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3416 = load float, ptr %3415, align 4, !tbaa !14
  %3417 = fmul float %3414, %3416
  %3418 = fneg float %3417
  %3419 = call float @llvm.fmuladd.f32(float %3409, float %3411, float %3418)
  %3420 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3419, ptr %3420, align 4, !tbaa !11
  %3421 = load ptr, ptr %14, align 8, !tbaa !5
  %3422 = getelementptr inbounds %struct.complex, ptr %3421, i32 0, i32 0
  %3423 = load float, ptr %3422, align 4, !tbaa !11
  %3424 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3425 = load float, ptr %3424, align 4, !tbaa !14
  %3426 = load ptr, ptr %14, align 8, !tbaa !5
  %3427 = getelementptr inbounds %struct.complex, ptr %3426, i32 0, i32 1
  %3428 = load float, ptr %3427, align 4, !tbaa !14
  %3429 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3430 = load float, ptr %3429, align 4, !tbaa !11
  %3431 = fmul float %3428, %3430
  %3432 = call float @llvm.fmuladd.f32(float %3423, float %3425, float %3431)
  %3433 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3432, ptr %3433, align 4, !tbaa !14
  %3434 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3435 = load float, ptr %3434, align 4, !tbaa !11
  %3436 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %3435, ptr %3436, align 4, !tbaa !11
  %3437 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3438 = load float, ptr %3437, align 4, !tbaa !14
  %3439 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %3438, ptr %3439, align 4, !tbaa !14
  %3440 = load ptr, ptr %13, align 8, !tbaa !5
  %3441 = getelementptr inbounds %struct.complex, ptr %3440, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %3441)
  %3442 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3443 = load float, ptr %3442, align 4, !tbaa !11
  %3444 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %3443, ptr %3444, align 4, !tbaa !11
  %3445 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3446 = load float, ptr %3445, align 4, !tbaa !14
  %3447 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %3446, ptr %3447, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %3448 = load ptr, ptr %14, align 8, !tbaa !5
  %3449 = getelementptr inbounds %struct.complex, ptr %3448, i32 0, i32 0
  %3450 = load float, ptr %3449, align 4, !tbaa !11
  %3451 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3452 = load float, ptr %3451, align 4, !tbaa !11
  %3453 = load ptr, ptr %14, align 8, !tbaa !5
  %3454 = getelementptr inbounds %struct.complex, ptr %3453, i32 0, i32 1
  %3455 = load float, ptr %3454, align 4, !tbaa !14
  %3456 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3457 = load float, ptr %3456, align 4, !tbaa !14
  %3458 = fmul float %3455, %3457
  %3459 = fneg float %3458
  %3460 = call float @llvm.fmuladd.f32(float %3450, float %3452, float %3459)
  %3461 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3460, ptr %3461, align 4, !tbaa !11
  %3462 = load ptr, ptr %14, align 8, !tbaa !5
  %3463 = getelementptr inbounds %struct.complex, ptr %3462, i32 0, i32 0
  %3464 = load float, ptr %3463, align 4, !tbaa !11
  %3465 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3466 = load float, ptr %3465, align 4, !tbaa !14
  %3467 = load ptr, ptr %14, align 8, !tbaa !5
  %3468 = getelementptr inbounds %struct.complex, ptr %3467, i32 0, i32 1
  %3469 = load float, ptr %3468, align 4, !tbaa !14
  %3470 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3471 = load float, ptr %3470, align 4, !tbaa !11
  %3472 = fmul float %3469, %3471
  %3473 = call float @llvm.fmuladd.f32(float %3464, float %3466, float %3472)
  %3474 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3473, ptr %3474, align 4, !tbaa !14
  %3475 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3476 = load float, ptr %3475, align 4, !tbaa !11
  %3477 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %3476, ptr %3477, align 4, !tbaa !11
  %3478 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3479 = load float, ptr %3478, align 4, !tbaa !14
  %3480 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %3479, ptr %3480, align 4, !tbaa !14
  %3481 = load ptr, ptr %13, align 8, !tbaa !5
  %3482 = getelementptr inbounds %struct.complex, ptr %3481, i64 4
  call void @r_cnjg(ptr noundef %31, ptr noundef %3482)
  %3483 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3484 = load float, ptr %3483, align 4, !tbaa !11
  %3485 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %3484, ptr %3485, align 4, !tbaa !11
  %3486 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3487 = load float, ptr %3486, align 4, !tbaa !14
  %3488 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %3487, ptr %3488, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %3489 = load ptr, ptr %14, align 8, !tbaa !5
  %3490 = getelementptr inbounds %struct.complex, ptr %3489, i32 0, i32 0
  %3491 = load float, ptr %3490, align 4, !tbaa !11
  %3492 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3493 = load float, ptr %3492, align 4, !tbaa !11
  %3494 = load ptr, ptr %14, align 8, !tbaa !5
  %3495 = getelementptr inbounds %struct.complex, ptr %3494, i32 0, i32 1
  %3496 = load float, ptr %3495, align 4, !tbaa !14
  %3497 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3498 = load float, ptr %3497, align 4, !tbaa !14
  %3499 = fmul float %3496, %3498
  %3500 = fneg float %3499
  %3501 = call float @llvm.fmuladd.f32(float %3491, float %3493, float %3500)
  %3502 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3501, ptr %3502, align 4, !tbaa !11
  %3503 = load ptr, ptr %14, align 8, !tbaa !5
  %3504 = getelementptr inbounds %struct.complex, ptr %3503, i32 0, i32 0
  %3505 = load float, ptr %3504, align 4, !tbaa !11
  %3506 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3507 = load float, ptr %3506, align 4, !tbaa !14
  %3508 = load ptr, ptr %14, align 8, !tbaa !5
  %3509 = getelementptr inbounds %struct.complex, ptr %3508, i32 0, i32 1
  %3510 = load float, ptr %3509, align 4, !tbaa !14
  %3511 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3512 = load float, ptr %3511, align 4, !tbaa !11
  %3513 = fmul float %3510, %3512
  %3514 = call float @llvm.fmuladd.f32(float %3505, float %3507, float %3513)
  %3515 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3514, ptr %3515, align 4, !tbaa !14
  %3516 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3517 = load float, ptr %3516, align 4, !tbaa !11
  %3518 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %3517, ptr %3518, align 4, !tbaa !11
  %3519 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3520 = load float, ptr %3519, align 4, !tbaa !14
  %3521 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %3520, ptr %3521, align 4, !tbaa !14
  %3522 = load ptr, ptr %13, align 8, !tbaa !5
  %3523 = getelementptr inbounds %struct.complex, ptr %3522, i64 5
  call void @r_cnjg(ptr noundef %31, ptr noundef %3523)
  %3524 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3525 = load float, ptr %3524, align 4, !tbaa !11
  %3526 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %3525, ptr %3526, align 4, !tbaa !11
  %3527 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3528 = load float, ptr %3527, align 4, !tbaa !14
  %3529 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %3528, ptr %3529, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %3530 = load ptr, ptr %14, align 8, !tbaa !5
  %3531 = getelementptr inbounds %struct.complex, ptr %3530, i32 0, i32 0
  %3532 = load float, ptr %3531, align 4, !tbaa !11
  %3533 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3534 = load float, ptr %3533, align 4, !tbaa !11
  %3535 = load ptr, ptr %14, align 8, !tbaa !5
  %3536 = getelementptr inbounds %struct.complex, ptr %3535, i32 0, i32 1
  %3537 = load float, ptr %3536, align 4, !tbaa !14
  %3538 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3539 = load float, ptr %3538, align 4, !tbaa !14
  %3540 = fmul float %3537, %3539
  %3541 = fneg float %3540
  %3542 = call float @llvm.fmuladd.f32(float %3532, float %3534, float %3541)
  %3543 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3542, ptr %3543, align 4, !tbaa !11
  %3544 = load ptr, ptr %14, align 8, !tbaa !5
  %3545 = getelementptr inbounds %struct.complex, ptr %3544, i32 0, i32 0
  %3546 = load float, ptr %3545, align 4, !tbaa !11
  %3547 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3548 = load float, ptr %3547, align 4, !tbaa !14
  %3549 = load ptr, ptr %14, align 8, !tbaa !5
  %3550 = getelementptr inbounds %struct.complex, ptr %3549, i32 0, i32 1
  %3551 = load float, ptr %3550, align 4, !tbaa !14
  %3552 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3553 = load float, ptr %3552, align 4, !tbaa !11
  %3554 = fmul float %3551, %3553
  %3555 = call float @llvm.fmuladd.f32(float %3546, float %3548, float %3554)
  %3556 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3555, ptr %3556, align 4, !tbaa !14
  %3557 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3558 = load float, ptr %3557, align 4, !tbaa !11
  %3559 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %3558, ptr %3559, align 4, !tbaa !11
  %3560 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3561 = load float, ptr %3560, align 4, !tbaa !14
  %3562 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %3561, ptr %3562, align 4, !tbaa !14
  %3563 = load ptr, ptr %13, align 8, !tbaa !5
  %3564 = getelementptr inbounds %struct.complex, ptr %3563, i64 6
  call void @r_cnjg(ptr noundef %31, ptr noundef %3564)
  %3565 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3566 = load float, ptr %3565, align 4, !tbaa !11
  %3567 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %3566, ptr %3567, align 4, !tbaa !11
  %3568 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3569 = load float, ptr %3568, align 4, !tbaa !14
  %3570 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %3569, ptr %3570, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %3571 = load ptr, ptr %14, align 8, !tbaa !5
  %3572 = getelementptr inbounds %struct.complex, ptr %3571, i32 0, i32 0
  %3573 = load float, ptr %3572, align 4, !tbaa !11
  %3574 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3575 = load float, ptr %3574, align 4, !tbaa !11
  %3576 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 1
  %3580 = load float, ptr %3579, align 4, !tbaa !14
  %3581 = fmul float %3578, %3580
  %3582 = fneg float %3581
  %3583 = call float @llvm.fmuladd.f32(float %3573, float %3575, float %3582)
  %3584 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3583, ptr %3584, align 4, !tbaa !11
  %3585 = load ptr, ptr %14, align 8, !tbaa !5
  %3586 = getelementptr inbounds %struct.complex, ptr %3585, i32 0, i32 0
  %3587 = load float, ptr %3586, align 4, !tbaa !11
  %3588 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3589 = load float, ptr %3588, align 4, !tbaa !14
  %3590 = load ptr, ptr %14, align 8, !tbaa !5
  %3591 = getelementptr inbounds %struct.complex, ptr %3590, i32 0, i32 1
  %3592 = load float, ptr %3591, align 4, !tbaa !14
  %3593 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3594 = load float, ptr %3593, align 4, !tbaa !11
  %3595 = fmul float %3592, %3594
  %3596 = call float @llvm.fmuladd.f32(float %3587, float %3589, float %3595)
  %3597 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3596, ptr %3597, align 4, !tbaa !14
  %3598 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3599 = load float, ptr %3598, align 4, !tbaa !11
  %3600 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %3599, ptr %3600, align 4, !tbaa !11
  %3601 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3602 = load float, ptr %3601, align 4, !tbaa !14
  %3603 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %3602, ptr %3603, align 4, !tbaa !14
  %3604 = load ptr, ptr %13, align 8, !tbaa !5
  %3605 = getelementptr inbounds %struct.complex, ptr %3604, i64 7
  call void @r_cnjg(ptr noundef %31, ptr noundef %3605)
  %3606 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3607 = load float, ptr %3606, align 4, !tbaa !11
  %3608 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %3607, ptr %3608, align 4, !tbaa !11
  %3609 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3610 = load float, ptr %3609, align 4, !tbaa !14
  %3611 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %3610, ptr %3611, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %3612 = load ptr, ptr %14, align 8, !tbaa !5
  %3613 = getelementptr inbounds %struct.complex, ptr %3612, i32 0, i32 0
  %3614 = load float, ptr %3613, align 4, !tbaa !11
  %3615 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3616 = load float, ptr %3615, align 4, !tbaa !11
  %3617 = load ptr, ptr %14, align 8, !tbaa !5
  %3618 = getelementptr inbounds %struct.complex, ptr %3617, i32 0, i32 1
  %3619 = load float, ptr %3618, align 4, !tbaa !14
  %3620 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3621 = load float, ptr %3620, align 4, !tbaa !14
  %3622 = fmul float %3619, %3621
  %3623 = fneg float %3622
  %3624 = call float @llvm.fmuladd.f32(float %3614, float %3616, float %3623)
  %3625 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3624, ptr %3625, align 4, !tbaa !11
  %3626 = load ptr, ptr %14, align 8, !tbaa !5
  %3627 = getelementptr inbounds %struct.complex, ptr %3626, i32 0, i32 0
  %3628 = load float, ptr %3627, align 4, !tbaa !11
  %3629 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3630 = load float, ptr %3629, align 4, !tbaa !14
  %3631 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 0
  %3635 = load float, ptr %3634, align 4, !tbaa !11
  %3636 = fmul float %3633, %3635
  %3637 = call float @llvm.fmuladd.f32(float %3628, float %3630, float %3636)
  %3638 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3637, ptr %3638, align 4, !tbaa !14
  %3639 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3640 = load float, ptr %3639, align 4, !tbaa !11
  %3641 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %3640, ptr %3641, align 4, !tbaa !11
  %3642 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %3643 = load float, ptr %3642, align 4, !tbaa !14
  %3644 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %3643, ptr %3644, align 4, !tbaa !14
  %3645 = load ptr, ptr %12, align 8, !tbaa !5
  %3646 = load i64, ptr %3645, align 8, !tbaa !9
  store i64 %3646, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %3647

3647:                                             ; preds = %4430, %3357
  %3648 = load i64, ptr %50, align 8, !tbaa !9
  %3649 = load i64, ptr %20, align 8, !tbaa !9
  %3650 = icmp sle i64 %3648, %3649
  br i1 %3650, label %3651, label %4433

3651:                                             ; preds = %3647
  %3652 = load i64, ptr %50, align 8, !tbaa !9
  %3653 = load i64, ptr %18, align 8, !tbaa !9
  %3654 = mul nsw i64 %3652, %3653
  %3655 = add nsw i64 %3654, 1
  store i64 %3655, ptr %21, align 8, !tbaa !9
  %3656 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %3657 = load float, ptr %3656, align 4, !tbaa !11
  %3658 = load ptr, ptr %15, align 8, !tbaa !5
  %3659 = load i64, ptr %21, align 8, !tbaa !9
  %3660 = getelementptr inbounds %struct.complex, ptr %3658, i64 %3659
  %3661 = getelementptr inbounds %struct.complex, ptr %3660, i32 0, i32 0
  %3662 = load float, ptr %3661, align 4, !tbaa !11
  %3663 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %3664 = load float, ptr %3663, align 4, !tbaa !14
  %3665 = load ptr, ptr %15, align 8, !tbaa !5
  %3666 = load i64, ptr %21, align 8, !tbaa !9
  %3667 = getelementptr inbounds %struct.complex, ptr %3665, i64 %3666
  %3668 = getelementptr inbounds %struct.complex, ptr %3667, i32 0, i32 1
  %3669 = load float, ptr %3668, align 4, !tbaa !14
  %3670 = fmul float %3664, %3669
  %3671 = fneg float %3670
  %3672 = call float @llvm.fmuladd.f32(float %3657, float %3662, float %3671)
  %3673 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %3672, ptr %3673, align 4, !tbaa !11
  %3674 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %3675 = load float, ptr %3674, align 4, !tbaa !11
  %3676 = load ptr, ptr %15, align 8, !tbaa !5
  %3677 = load i64, ptr %21, align 8, !tbaa !9
  %3678 = getelementptr inbounds %struct.complex, ptr %3676, i64 %3677
  %3679 = getelementptr inbounds %struct.complex, ptr %3678, i32 0, i32 1
  %3680 = load float, ptr %3679, align 4, !tbaa !14
  %3681 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %3682 = load float, ptr %3681, align 4, !tbaa !14
  %3683 = load ptr, ptr %15, align 8, !tbaa !5
  %3684 = load i64, ptr %21, align 8, !tbaa !9
  %3685 = getelementptr inbounds %struct.complex, ptr %3683, i64 %3684
  %3686 = getelementptr inbounds %struct.complex, ptr %3685, i32 0, i32 0
  %3687 = load float, ptr %3686, align 4, !tbaa !11
  %3688 = fmul float %3682, %3687
  %3689 = call float @llvm.fmuladd.f32(float %3675, float %3680, float %3688)
  %3690 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %3689, ptr %3690, align 4, !tbaa !14
  %3691 = load i64, ptr %50, align 8, !tbaa !9
  %3692 = load i64, ptr %18, align 8, !tbaa !9
  %3693 = mul nsw i64 %3691, %3692
  %3694 = add nsw i64 %3693, 2
  store i64 %3694, ptr %22, align 8, !tbaa !9
  %3695 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %3696 = load float, ptr %3695, align 4, !tbaa !11
  %3697 = load ptr, ptr %15, align 8, !tbaa !5
  %3698 = load i64, ptr %22, align 8, !tbaa !9
  %3699 = getelementptr inbounds %struct.complex, ptr %3697, i64 %3698
  %3700 = getelementptr inbounds %struct.complex, ptr %3699, i32 0, i32 0
  %3701 = load float, ptr %3700, align 4, !tbaa !11
  %3702 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %3703 = load float, ptr %3702, align 4, !tbaa !14
  %3704 = load ptr, ptr %15, align 8, !tbaa !5
  %3705 = load i64, ptr %22, align 8, !tbaa !9
  %3706 = getelementptr inbounds %struct.complex, ptr %3704, i64 %3705
  %3707 = getelementptr inbounds %struct.complex, ptr %3706, i32 0, i32 1
  %3708 = load float, ptr %3707, align 4, !tbaa !14
  %3709 = fmul float %3703, %3708
  %3710 = fneg float %3709
  %3711 = call float @llvm.fmuladd.f32(float %3696, float %3701, float %3710)
  %3712 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %3711, ptr %3712, align 4, !tbaa !11
  %3713 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %3714 = load float, ptr %3713, align 4, !tbaa !11
  %3715 = load ptr, ptr %15, align 8, !tbaa !5
  %3716 = load i64, ptr %22, align 8, !tbaa !9
  %3717 = getelementptr inbounds %struct.complex, ptr %3715, i64 %3716
  %3718 = getelementptr inbounds %struct.complex, ptr %3717, i32 0, i32 1
  %3719 = load float, ptr %3718, align 4, !tbaa !14
  %3720 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %3721 = load float, ptr %3720, align 4, !tbaa !14
  %3722 = load ptr, ptr %15, align 8, !tbaa !5
  %3723 = load i64, ptr %22, align 8, !tbaa !9
  %3724 = getelementptr inbounds %struct.complex, ptr %3722, i64 %3723
  %3725 = getelementptr inbounds %struct.complex, ptr %3724, i32 0, i32 0
  %3726 = load float, ptr %3725, align 4, !tbaa !11
  %3727 = fmul float %3721, %3726
  %3728 = call float @llvm.fmuladd.f32(float %3714, float %3719, float %3727)
  %3729 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %3728, ptr %3729, align 4, !tbaa !14
  %3730 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %3731 = load float, ptr %3730, align 4, !tbaa !11
  %3732 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %3733 = load float, ptr %3732, align 4, !tbaa !11
  %3734 = fadd float %3731, %3733
  %3735 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %3734, ptr %3735, align 4, !tbaa !11
  %3736 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %3737 = load float, ptr %3736, align 4, !tbaa !14
  %3738 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %3739 = load float, ptr %3738, align 4, !tbaa !14
  %3740 = fadd float %3737, %3739
  %3741 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %3740, ptr %3741, align 4, !tbaa !14
  %3742 = load i64, ptr %50, align 8, !tbaa !9
  %3743 = load i64, ptr %18, align 8, !tbaa !9
  %3744 = mul nsw i64 %3742, %3743
  %3745 = add nsw i64 %3744, 3
  store i64 %3745, ptr %23, align 8, !tbaa !9
  %3746 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %3747 = load float, ptr %3746, align 4, !tbaa !11
  %3748 = load ptr, ptr %15, align 8, !tbaa !5
  %3749 = load i64, ptr %23, align 8, !tbaa !9
  %3750 = getelementptr inbounds %struct.complex, ptr %3748, i64 %3749
  %3751 = getelementptr inbounds %struct.complex, ptr %3750, i32 0, i32 0
  %3752 = load float, ptr %3751, align 4, !tbaa !11
  %3753 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %3754 = load float, ptr %3753, align 4, !tbaa !14
  %3755 = load ptr, ptr %15, align 8, !tbaa !5
  %3756 = load i64, ptr %23, align 8, !tbaa !9
  %3757 = getelementptr inbounds %struct.complex, ptr %3755, i64 %3756
  %3758 = getelementptr inbounds %struct.complex, ptr %3757, i32 0, i32 1
  %3759 = load float, ptr %3758, align 4, !tbaa !14
  %3760 = fmul float %3754, %3759
  %3761 = fneg float %3760
  %3762 = call float @llvm.fmuladd.f32(float %3747, float %3752, float %3761)
  %3763 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %3762, ptr %3763, align 4, !tbaa !11
  %3764 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %3765 = load float, ptr %3764, align 4, !tbaa !11
  %3766 = load ptr, ptr %15, align 8, !tbaa !5
  %3767 = load i64, ptr %23, align 8, !tbaa !9
  %3768 = getelementptr inbounds %struct.complex, ptr %3766, i64 %3767
  %3769 = getelementptr inbounds %struct.complex, ptr %3768, i32 0, i32 1
  %3770 = load float, ptr %3769, align 4, !tbaa !14
  %3771 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %3772 = load float, ptr %3771, align 4, !tbaa !14
  %3773 = load ptr, ptr %15, align 8, !tbaa !5
  %3774 = load i64, ptr %23, align 8, !tbaa !9
  %3775 = getelementptr inbounds %struct.complex, ptr %3773, i64 %3774
  %3776 = getelementptr inbounds %struct.complex, ptr %3775, i32 0, i32 0
  %3777 = load float, ptr %3776, align 4, !tbaa !11
  %3778 = fmul float %3772, %3777
  %3779 = call float @llvm.fmuladd.f32(float %3765, float %3770, float %3778)
  %3780 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %3779, ptr %3780, align 4, !tbaa !14
  %3781 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %3782 = load float, ptr %3781, align 4, !tbaa !11
  %3783 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %3784 = load float, ptr %3783, align 4, !tbaa !11
  %3785 = fadd float %3782, %3784
  %3786 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %3785, ptr %3786, align 4, !tbaa !11
  %3787 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %3788 = load float, ptr %3787, align 4, !tbaa !14
  %3789 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %3790 = load float, ptr %3789, align 4, !tbaa !14
  %3791 = fadd float %3788, %3790
  %3792 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %3791, ptr %3792, align 4, !tbaa !14
  %3793 = load i64, ptr %50, align 8, !tbaa !9
  %3794 = load i64, ptr %18, align 8, !tbaa !9
  %3795 = mul nsw i64 %3793, %3794
  %3796 = add nsw i64 %3795, 4
  store i64 %3796, ptr %24, align 8, !tbaa !9
  %3797 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %3798 = load float, ptr %3797, align 4, !tbaa !11
  %3799 = load ptr, ptr %15, align 8, !tbaa !5
  %3800 = load i64, ptr %24, align 8, !tbaa !9
  %3801 = getelementptr inbounds %struct.complex, ptr %3799, i64 %3800
  %3802 = getelementptr inbounds %struct.complex, ptr %3801, i32 0, i32 0
  %3803 = load float, ptr %3802, align 4, !tbaa !11
  %3804 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %3805 = load float, ptr %3804, align 4, !tbaa !14
  %3806 = load ptr, ptr %15, align 8, !tbaa !5
  %3807 = load i64, ptr %24, align 8, !tbaa !9
  %3808 = getelementptr inbounds %struct.complex, ptr %3806, i64 %3807
  %3809 = getelementptr inbounds %struct.complex, ptr %3808, i32 0, i32 1
  %3810 = load float, ptr %3809, align 4, !tbaa !14
  %3811 = fmul float %3805, %3810
  %3812 = fneg float %3811
  %3813 = call float @llvm.fmuladd.f32(float %3798, float %3803, float %3812)
  %3814 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %3813, ptr %3814, align 4, !tbaa !11
  %3815 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %3816 = load float, ptr %3815, align 4, !tbaa !11
  %3817 = load ptr, ptr %15, align 8, !tbaa !5
  %3818 = load i64, ptr %24, align 8, !tbaa !9
  %3819 = getelementptr inbounds %struct.complex, ptr %3817, i64 %3818
  %3820 = getelementptr inbounds %struct.complex, ptr %3819, i32 0, i32 1
  %3821 = load float, ptr %3820, align 4, !tbaa !14
  %3822 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %3823 = load float, ptr %3822, align 4, !tbaa !14
  %3824 = load ptr, ptr %15, align 8, !tbaa !5
  %3825 = load i64, ptr %24, align 8, !tbaa !9
  %3826 = getelementptr inbounds %struct.complex, ptr %3824, i64 %3825
  %3827 = getelementptr inbounds %struct.complex, ptr %3826, i32 0, i32 0
  %3828 = load float, ptr %3827, align 4, !tbaa !11
  %3829 = fmul float %3823, %3828
  %3830 = call float @llvm.fmuladd.f32(float %3816, float %3821, float %3829)
  %3831 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %3830, ptr %3831, align 4, !tbaa !14
  %3832 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %3833 = load float, ptr %3832, align 4, !tbaa !11
  %3834 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %3835 = load float, ptr %3834, align 4, !tbaa !11
  %3836 = fadd float %3833, %3835
  %3837 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %3836, ptr %3837, align 4, !tbaa !11
  %3838 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %3839 = load float, ptr %3838, align 4, !tbaa !14
  %3840 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %3841 = load float, ptr %3840, align 4, !tbaa !14
  %3842 = fadd float %3839, %3841
  %3843 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %3842, ptr %3843, align 4, !tbaa !14
  %3844 = load i64, ptr %50, align 8, !tbaa !9
  %3845 = load i64, ptr %18, align 8, !tbaa !9
  %3846 = mul nsw i64 %3844, %3845
  %3847 = add nsw i64 %3846, 5
  store i64 %3847, ptr %25, align 8, !tbaa !9
  %3848 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %3849 = load float, ptr %3848, align 4, !tbaa !11
  %3850 = load ptr, ptr %15, align 8, !tbaa !5
  %3851 = load i64, ptr %25, align 8, !tbaa !9
  %3852 = getelementptr inbounds %struct.complex, ptr %3850, i64 %3851
  %3853 = getelementptr inbounds %struct.complex, ptr %3852, i32 0, i32 0
  %3854 = load float, ptr %3853, align 4, !tbaa !11
  %3855 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %3856 = load float, ptr %3855, align 4, !tbaa !14
  %3857 = load ptr, ptr %15, align 8, !tbaa !5
  %3858 = load i64, ptr %25, align 8, !tbaa !9
  %3859 = getelementptr inbounds %struct.complex, ptr %3857, i64 %3858
  %3860 = getelementptr inbounds %struct.complex, ptr %3859, i32 0, i32 1
  %3861 = load float, ptr %3860, align 4, !tbaa !14
  %3862 = fmul float %3856, %3861
  %3863 = fneg float %3862
  %3864 = call float @llvm.fmuladd.f32(float %3849, float %3854, float %3863)
  %3865 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %3864, ptr %3865, align 4, !tbaa !11
  %3866 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %3867 = load float, ptr %3866, align 4, !tbaa !11
  %3868 = load ptr, ptr %15, align 8, !tbaa !5
  %3869 = load i64, ptr %25, align 8, !tbaa !9
  %3870 = getelementptr inbounds %struct.complex, ptr %3868, i64 %3869
  %3871 = getelementptr inbounds %struct.complex, ptr %3870, i32 0, i32 1
  %3872 = load float, ptr %3871, align 4, !tbaa !14
  %3873 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %3874 = load float, ptr %3873, align 4, !tbaa !14
  %3875 = load ptr, ptr %15, align 8, !tbaa !5
  %3876 = load i64, ptr %25, align 8, !tbaa !9
  %3877 = getelementptr inbounds %struct.complex, ptr %3875, i64 %3876
  %3878 = getelementptr inbounds %struct.complex, ptr %3877, i32 0, i32 0
  %3879 = load float, ptr %3878, align 4, !tbaa !11
  %3880 = fmul float %3874, %3879
  %3881 = call float @llvm.fmuladd.f32(float %3867, float %3872, float %3880)
  %3882 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %3881, ptr %3882, align 4, !tbaa !14
  %3883 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %3884 = load float, ptr %3883, align 4, !tbaa !11
  %3885 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %3886 = load float, ptr %3885, align 4, !tbaa !11
  %3887 = fadd float %3884, %3886
  %3888 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %3887, ptr %3888, align 4, !tbaa !11
  %3889 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %3890 = load float, ptr %3889, align 4, !tbaa !14
  %3891 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %3892 = load float, ptr %3891, align 4, !tbaa !14
  %3893 = fadd float %3890, %3892
  %3894 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %3893, ptr %3894, align 4, !tbaa !14
  %3895 = load i64, ptr %50, align 8, !tbaa !9
  %3896 = load i64, ptr %18, align 8, !tbaa !9
  %3897 = mul nsw i64 %3895, %3896
  %3898 = add nsw i64 %3897, 6
  store i64 %3898, ptr %26, align 8, !tbaa !9
  %3899 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3900 = load float, ptr %3899, align 4, !tbaa !11
  %3901 = load ptr, ptr %15, align 8, !tbaa !5
  %3902 = load i64, ptr %26, align 8, !tbaa !9
  %3903 = getelementptr inbounds %struct.complex, ptr %3901, i64 %3902
  %3904 = getelementptr inbounds %struct.complex, ptr %3903, i32 0, i32 0
  %3905 = load float, ptr %3904, align 4, !tbaa !11
  %3906 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3907 = load float, ptr %3906, align 4, !tbaa !14
  %3908 = load ptr, ptr %15, align 8, !tbaa !5
  %3909 = load i64, ptr %26, align 8, !tbaa !9
  %3910 = getelementptr inbounds %struct.complex, ptr %3908, i64 %3909
  %3911 = getelementptr inbounds %struct.complex, ptr %3910, i32 0, i32 1
  %3912 = load float, ptr %3911, align 4, !tbaa !14
  %3913 = fmul float %3907, %3912
  %3914 = fneg float %3913
  %3915 = call float @llvm.fmuladd.f32(float %3900, float %3905, float %3914)
  %3916 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %3915, ptr %3916, align 4, !tbaa !11
  %3917 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3918 = load float, ptr %3917, align 4, !tbaa !11
  %3919 = load ptr, ptr %15, align 8, !tbaa !5
  %3920 = load i64, ptr %26, align 8, !tbaa !9
  %3921 = getelementptr inbounds %struct.complex, ptr %3919, i64 %3920
  %3922 = getelementptr inbounds %struct.complex, ptr %3921, i32 0, i32 1
  %3923 = load float, ptr %3922, align 4, !tbaa !14
  %3924 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3925 = load float, ptr %3924, align 4, !tbaa !14
  %3926 = load ptr, ptr %15, align 8, !tbaa !5
  %3927 = load i64, ptr %26, align 8, !tbaa !9
  %3928 = getelementptr inbounds %struct.complex, ptr %3926, i64 %3927
  %3929 = getelementptr inbounds %struct.complex, ptr %3928, i32 0, i32 0
  %3930 = load float, ptr %3929, align 4, !tbaa !11
  %3931 = fmul float %3925, %3930
  %3932 = call float @llvm.fmuladd.f32(float %3918, float %3923, float %3931)
  %3933 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %3932, ptr %3933, align 4, !tbaa !14
  %3934 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %3935 = load float, ptr %3934, align 4, !tbaa !11
  %3936 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %3937 = load float, ptr %3936, align 4, !tbaa !11
  %3938 = fadd float %3935, %3937
  %3939 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %3938, ptr %3939, align 4, !tbaa !11
  %3940 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %3941 = load float, ptr %3940, align 4, !tbaa !14
  %3942 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %3943 = load float, ptr %3942, align 4, !tbaa !14
  %3944 = fadd float %3941, %3943
  %3945 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %3944, ptr %3945, align 4, !tbaa !14
  %3946 = load i64, ptr %50, align 8, !tbaa !9
  %3947 = load i64, ptr %18, align 8, !tbaa !9
  %3948 = mul nsw i64 %3946, %3947
  %3949 = add nsw i64 %3948, 7
  store i64 %3949, ptr %27, align 8, !tbaa !9
  %3950 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %3951 = load float, ptr %3950, align 4, !tbaa !11
  %3952 = load ptr, ptr %15, align 8, !tbaa !5
  %3953 = load i64, ptr %27, align 8, !tbaa !9
  %3954 = getelementptr inbounds %struct.complex, ptr %3952, i64 %3953
  %3955 = getelementptr inbounds %struct.complex, ptr %3954, i32 0, i32 0
  %3956 = load float, ptr %3955, align 4, !tbaa !11
  %3957 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %3958 = load float, ptr %3957, align 4, !tbaa !14
  %3959 = load ptr, ptr %15, align 8, !tbaa !5
  %3960 = load i64, ptr %27, align 8, !tbaa !9
  %3961 = getelementptr inbounds %struct.complex, ptr %3959, i64 %3960
  %3962 = getelementptr inbounds %struct.complex, ptr %3961, i32 0, i32 1
  %3963 = load float, ptr %3962, align 4, !tbaa !14
  %3964 = fmul float %3958, %3963
  %3965 = fneg float %3964
  %3966 = call float @llvm.fmuladd.f32(float %3951, float %3956, float %3965)
  %3967 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %3966, ptr %3967, align 4, !tbaa !11
  %3968 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %3969 = load float, ptr %3968, align 4, !tbaa !11
  %3970 = load ptr, ptr %15, align 8, !tbaa !5
  %3971 = load i64, ptr %27, align 8, !tbaa !9
  %3972 = getelementptr inbounds %struct.complex, ptr %3970, i64 %3971
  %3973 = getelementptr inbounds %struct.complex, ptr %3972, i32 0, i32 1
  %3974 = load float, ptr %3973, align 4, !tbaa !14
  %3975 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %3976 = load float, ptr %3975, align 4, !tbaa !14
  %3977 = load ptr, ptr %15, align 8, !tbaa !5
  %3978 = load i64, ptr %27, align 8, !tbaa !9
  %3979 = getelementptr inbounds %struct.complex, ptr %3977, i64 %3978
  %3980 = getelementptr inbounds %struct.complex, ptr %3979, i32 0, i32 0
  %3981 = load float, ptr %3980, align 4, !tbaa !11
  %3982 = fmul float %3976, %3981
  %3983 = call float @llvm.fmuladd.f32(float %3969, float %3974, float %3982)
  %3984 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %3983, ptr %3984, align 4, !tbaa !14
  %3985 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %3986 = load float, ptr %3985, align 4, !tbaa !11
  %3987 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %3988 = load float, ptr %3987, align 4, !tbaa !11
  %3989 = fadd float %3986, %3988
  %3990 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %3989, ptr %3990, align 4, !tbaa !11
  %3991 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %3992 = load float, ptr %3991, align 4, !tbaa !14
  %3993 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %3994 = load float, ptr %3993, align 4, !tbaa !14
  %3995 = fadd float %3992, %3994
  %3996 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %3995, ptr %3996, align 4, !tbaa !14
  %3997 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %3998 = load float, ptr %3997, align 4, !tbaa !11
  %3999 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %3998, ptr %3999, align 4, !tbaa !11
  %4000 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4001 = load float, ptr %4000, align 4, !tbaa !14
  %4002 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %4001, ptr %4002, align 4, !tbaa !14
  %4003 = load i64, ptr %50, align 8, !tbaa !9
  %4004 = load i64, ptr %18, align 8, !tbaa !9
  %4005 = mul nsw i64 %4003, %4004
  %4006 = add nsw i64 %4005, 1
  store i64 %4006, ptr %21, align 8, !tbaa !9
  %4007 = load i64, ptr %50, align 8, !tbaa !9
  %4008 = load i64, ptr %18, align 8, !tbaa !9
  %4009 = mul nsw i64 %4007, %4008
  %4010 = add nsw i64 %4009, 1
  store i64 %4010, ptr %22, align 8, !tbaa !9
  %4011 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4012 = load float, ptr %4011, align 4, !tbaa !11
  %4013 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %4014 = load float, ptr %4013, align 4, !tbaa !11
  %4015 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4016 = load float, ptr %4015, align 4, !tbaa !14
  %4017 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %4018 = load float, ptr %4017, align 4, !tbaa !14
  %4019 = fmul float %4016, %4018
  %4020 = fneg float %4019
  %4021 = call float @llvm.fmuladd.f32(float %4012, float %4014, float %4020)
  %4022 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4021, ptr %4022, align 4, !tbaa !11
  %4023 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4024 = load float, ptr %4023, align 4, !tbaa !11
  %4025 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %4026 = load float, ptr %4025, align 4, !tbaa !14
  %4027 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4028 = load float, ptr %4027, align 4, !tbaa !14
  %4029 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %4030 = load float, ptr %4029, align 4, !tbaa !11
  %4031 = fmul float %4028, %4030
  %4032 = call float @llvm.fmuladd.f32(float %4024, float %4026, float %4031)
  %4033 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4032, ptr %4033, align 4, !tbaa !14
  %4034 = load ptr, ptr %15, align 8, !tbaa !5
  %4035 = load i64, ptr %22, align 8, !tbaa !9
  %4036 = getelementptr inbounds %struct.complex, ptr %4034, i64 %4035
  %4037 = getelementptr inbounds %struct.complex, ptr %4036, i32 0, i32 0
  %4038 = load float, ptr %4037, align 4, !tbaa !11
  %4039 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4040 = load float, ptr %4039, align 4, !tbaa !11
  %4041 = fsub float %4038, %4040
  %4042 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4041, ptr %4042, align 4, !tbaa !11
  %4043 = load ptr, ptr %15, align 8, !tbaa !5
  %4044 = load i64, ptr %22, align 8, !tbaa !9
  %4045 = getelementptr inbounds %struct.complex, ptr %4043, i64 %4044
  %4046 = getelementptr inbounds %struct.complex, ptr %4045, i32 0, i32 1
  %4047 = load float, ptr %4046, align 4, !tbaa !14
  %4048 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4049 = load float, ptr %4048, align 4, !tbaa !14
  %4050 = fsub float %4047, %4049
  %4051 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4050, ptr %4051, align 4, !tbaa !14
  %4052 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4053 = load float, ptr %4052, align 4, !tbaa !11
  %4054 = load ptr, ptr %15, align 8, !tbaa !5
  %4055 = load i64, ptr %21, align 8, !tbaa !9
  %4056 = getelementptr inbounds %struct.complex, ptr %4054, i64 %4055
  %4057 = getelementptr inbounds %struct.complex, ptr %4056, i32 0, i32 0
  store float %4053, ptr %4057, align 4, !tbaa !11
  %4058 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4059 = load float, ptr %4058, align 4, !tbaa !14
  %4060 = load ptr, ptr %15, align 8, !tbaa !5
  %4061 = load i64, ptr %21, align 8, !tbaa !9
  %4062 = getelementptr inbounds %struct.complex, ptr %4060, i64 %4061
  %4063 = getelementptr inbounds %struct.complex, ptr %4062, i32 0, i32 1
  store float %4059, ptr %4063, align 4, !tbaa !14
  %4064 = load i64, ptr %50, align 8, !tbaa !9
  %4065 = load i64, ptr %18, align 8, !tbaa !9
  %4066 = mul nsw i64 %4064, %4065
  %4067 = add nsw i64 %4066, 2
  store i64 %4067, ptr %21, align 8, !tbaa !9
  %4068 = load i64, ptr %50, align 8, !tbaa !9
  %4069 = load i64, ptr %18, align 8, !tbaa !9
  %4070 = mul nsw i64 %4068, %4069
  %4071 = add nsw i64 %4070, 2
  store i64 %4071, ptr %22, align 8, !tbaa !9
  %4072 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4073 = load float, ptr %4072, align 4, !tbaa !11
  %4074 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %4075 = load float, ptr %4074, align 4, !tbaa !11
  %4076 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4077 = load float, ptr %4076, align 4, !tbaa !14
  %4078 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %4079 = load float, ptr %4078, align 4, !tbaa !14
  %4080 = fmul float %4077, %4079
  %4081 = fneg float %4080
  %4082 = call float @llvm.fmuladd.f32(float %4073, float %4075, float %4081)
  %4083 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4082, ptr %4083, align 4, !tbaa !11
  %4084 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4085 = load float, ptr %4084, align 4, !tbaa !11
  %4086 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %4087 = load float, ptr %4086, align 4, !tbaa !14
  %4088 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4089 = load float, ptr %4088, align 4, !tbaa !14
  %4090 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %4091 = load float, ptr %4090, align 4, !tbaa !11
  %4092 = fmul float %4089, %4091
  %4093 = call float @llvm.fmuladd.f32(float %4085, float %4087, float %4092)
  %4094 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4093, ptr %4094, align 4, !tbaa !14
  %4095 = load ptr, ptr %15, align 8, !tbaa !5
  %4096 = load i64, ptr %22, align 8, !tbaa !9
  %4097 = getelementptr inbounds %struct.complex, ptr %4095, i64 %4096
  %4098 = getelementptr inbounds %struct.complex, ptr %4097, i32 0, i32 0
  %4099 = load float, ptr %4098, align 4, !tbaa !11
  %4100 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4101 = load float, ptr %4100, align 4, !tbaa !11
  %4102 = fsub float %4099, %4101
  %4103 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4102, ptr %4103, align 4, !tbaa !11
  %4104 = load ptr, ptr %15, align 8, !tbaa !5
  %4105 = load i64, ptr %22, align 8, !tbaa !9
  %4106 = getelementptr inbounds %struct.complex, ptr %4104, i64 %4105
  %4107 = getelementptr inbounds %struct.complex, ptr %4106, i32 0, i32 1
  %4108 = load float, ptr %4107, align 4, !tbaa !14
  %4109 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4110 = load float, ptr %4109, align 4, !tbaa !14
  %4111 = fsub float %4108, %4110
  %4112 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4111, ptr %4112, align 4, !tbaa !14
  %4113 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4114 = load float, ptr %4113, align 4, !tbaa !11
  %4115 = load ptr, ptr %15, align 8, !tbaa !5
  %4116 = load i64, ptr %21, align 8, !tbaa !9
  %4117 = getelementptr inbounds %struct.complex, ptr %4115, i64 %4116
  %4118 = getelementptr inbounds %struct.complex, ptr %4117, i32 0, i32 0
  store float %4114, ptr %4118, align 4, !tbaa !11
  %4119 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4120 = load float, ptr %4119, align 4, !tbaa !14
  %4121 = load ptr, ptr %15, align 8, !tbaa !5
  %4122 = load i64, ptr %21, align 8, !tbaa !9
  %4123 = getelementptr inbounds %struct.complex, ptr %4121, i64 %4122
  %4124 = getelementptr inbounds %struct.complex, ptr %4123, i32 0, i32 1
  store float %4120, ptr %4124, align 4, !tbaa !14
  %4125 = load i64, ptr %50, align 8, !tbaa !9
  %4126 = load i64, ptr %18, align 8, !tbaa !9
  %4127 = mul nsw i64 %4125, %4126
  %4128 = add nsw i64 %4127, 3
  store i64 %4128, ptr %21, align 8, !tbaa !9
  %4129 = load i64, ptr %50, align 8, !tbaa !9
  %4130 = load i64, ptr %18, align 8, !tbaa !9
  %4131 = mul nsw i64 %4129, %4130
  %4132 = add nsw i64 %4131, 3
  store i64 %4132, ptr %22, align 8, !tbaa !9
  %4133 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4134 = load float, ptr %4133, align 4, !tbaa !11
  %4135 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %4136 = load float, ptr %4135, align 4, !tbaa !11
  %4137 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4138 = load float, ptr %4137, align 4, !tbaa !14
  %4139 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %4140 = load float, ptr %4139, align 4, !tbaa !14
  %4141 = fmul float %4138, %4140
  %4142 = fneg float %4141
  %4143 = call float @llvm.fmuladd.f32(float %4134, float %4136, float %4142)
  %4144 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4143, ptr %4144, align 4, !tbaa !11
  %4145 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4146 = load float, ptr %4145, align 4, !tbaa !11
  %4147 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %4148 = load float, ptr %4147, align 4, !tbaa !14
  %4149 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4150 = load float, ptr %4149, align 4, !tbaa !14
  %4151 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %4152 = load float, ptr %4151, align 4, !tbaa !11
  %4153 = fmul float %4150, %4152
  %4154 = call float @llvm.fmuladd.f32(float %4146, float %4148, float %4153)
  %4155 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4154, ptr %4155, align 4, !tbaa !14
  %4156 = load ptr, ptr %15, align 8, !tbaa !5
  %4157 = load i64, ptr %22, align 8, !tbaa !9
  %4158 = getelementptr inbounds %struct.complex, ptr %4156, i64 %4157
  %4159 = getelementptr inbounds %struct.complex, ptr %4158, i32 0, i32 0
  %4160 = load float, ptr %4159, align 4, !tbaa !11
  %4161 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4162 = load float, ptr %4161, align 4, !tbaa !11
  %4163 = fsub float %4160, %4162
  %4164 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4163, ptr %4164, align 4, !tbaa !11
  %4165 = load ptr, ptr %15, align 8, !tbaa !5
  %4166 = load i64, ptr %22, align 8, !tbaa !9
  %4167 = getelementptr inbounds %struct.complex, ptr %4165, i64 %4166
  %4168 = getelementptr inbounds %struct.complex, ptr %4167, i32 0, i32 1
  %4169 = load float, ptr %4168, align 4, !tbaa !14
  %4170 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4171 = load float, ptr %4170, align 4, !tbaa !14
  %4172 = fsub float %4169, %4171
  %4173 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4172, ptr %4173, align 4, !tbaa !14
  %4174 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4175 = load float, ptr %4174, align 4, !tbaa !11
  %4176 = load ptr, ptr %15, align 8, !tbaa !5
  %4177 = load i64, ptr %21, align 8, !tbaa !9
  %4178 = getelementptr inbounds %struct.complex, ptr %4176, i64 %4177
  %4179 = getelementptr inbounds %struct.complex, ptr %4178, i32 0, i32 0
  store float %4175, ptr %4179, align 4, !tbaa !11
  %4180 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4181 = load float, ptr %4180, align 4, !tbaa !14
  %4182 = load ptr, ptr %15, align 8, !tbaa !5
  %4183 = load i64, ptr %21, align 8, !tbaa !9
  %4184 = getelementptr inbounds %struct.complex, ptr %4182, i64 %4183
  %4185 = getelementptr inbounds %struct.complex, ptr %4184, i32 0, i32 1
  store float %4181, ptr %4185, align 4, !tbaa !14
  %4186 = load i64, ptr %50, align 8, !tbaa !9
  %4187 = load i64, ptr %18, align 8, !tbaa !9
  %4188 = mul nsw i64 %4186, %4187
  %4189 = add nsw i64 %4188, 4
  store i64 %4189, ptr %21, align 8, !tbaa !9
  %4190 = load i64, ptr %50, align 8, !tbaa !9
  %4191 = load i64, ptr %18, align 8, !tbaa !9
  %4192 = mul nsw i64 %4190, %4191
  %4193 = add nsw i64 %4192, 4
  store i64 %4193, ptr %22, align 8, !tbaa !9
  %4194 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4195 = load float, ptr %4194, align 4, !tbaa !11
  %4196 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %4197 = load float, ptr %4196, align 4, !tbaa !11
  %4198 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4199 = load float, ptr %4198, align 4, !tbaa !14
  %4200 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %4201 = load float, ptr %4200, align 4, !tbaa !14
  %4202 = fmul float %4199, %4201
  %4203 = fneg float %4202
  %4204 = call float @llvm.fmuladd.f32(float %4195, float %4197, float %4203)
  %4205 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4204, ptr %4205, align 4, !tbaa !11
  %4206 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4207 = load float, ptr %4206, align 4, !tbaa !11
  %4208 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %4209 = load float, ptr %4208, align 4, !tbaa !14
  %4210 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4211 = load float, ptr %4210, align 4, !tbaa !14
  %4212 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %4213 = load float, ptr %4212, align 4, !tbaa !11
  %4214 = fmul float %4211, %4213
  %4215 = call float @llvm.fmuladd.f32(float %4207, float %4209, float %4214)
  %4216 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4215, ptr %4216, align 4, !tbaa !14
  %4217 = load ptr, ptr %15, align 8, !tbaa !5
  %4218 = load i64, ptr %22, align 8, !tbaa !9
  %4219 = getelementptr inbounds %struct.complex, ptr %4217, i64 %4218
  %4220 = getelementptr inbounds %struct.complex, ptr %4219, i32 0, i32 0
  %4221 = load float, ptr %4220, align 4, !tbaa !11
  %4222 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4223 = load float, ptr %4222, align 4, !tbaa !11
  %4224 = fsub float %4221, %4223
  %4225 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4224, ptr %4225, align 4, !tbaa !11
  %4226 = load ptr, ptr %15, align 8, !tbaa !5
  %4227 = load i64, ptr %22, align 8, !tbaa !9
  %4228 = getelementptr inbounds %struct.complex, ptr %4226, i64 %4227
  %4229 = getelementptr inbounds %struct.complex, ptr %4228, i32 0, i32 1
  %4230 = load float, ptr %4229, align 4, !tbaa !14
  %4231 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4232 = load float, ptr %4231, align 4, !tbaa !14
  %4233 = fsub float %4230, %4232
  %4234 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4233, ptr %4234, align 4, !tbaa !14
  %4235 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4236 = load float, ptr %4235, align 4, !tbaa !11
  %4237 = load ptr, ptr %15, align 8, !tbaa !5
  %4238 = load i64, ptr %21, align 8, !tbaa !9
  %4239 = getelementptr inbounds %struct.complex, ptr %4237, i64 %4238
  %4240 = getelementptr inbounds %struct.complex, ptr %4239, i32 0, i32 0
  store float %4236, ptr %4240, align 4, !tbaa !11
  %4241 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4242 = load float, ptr %4241, align 4, !tbaa !14
  %4243 = load ptr, ptr %15, align 8, !tbaa !5
  %4244 = load i64, ptr %21, align 8, !tbaa !9
  %4245 = getelementptr inbounds %struct.complex, ptr %4243, i64 %4244
  %4246 = getelementptr inbounds %struct.complex, ptr %4245, i32 0, i32 1
  store float %4242, ptr %4246, align 4, !tbaa !14
  %4247 = load i64, ptr %50, align 8, !tbaa !9
  %4248 = load i64, ptr %18, align 8, !tbaa !9
  %4249 = mul nsw i64 %4247, %4248
  %4250 = add nsw i64 %4249, 5
  store i64 %4250, ptr %21, align 8, !tbaa !9
  %4251 = load i64, ptr %50, align 8, !tbaa !9
  %4252 = load i64, ptr %18, align 8, !tbaa !9
  %4253 = mul nsw i64 %4251, %4252
  %4254 = add nsw i64 %4253, 5
  store i64 %4254, ptr %22, align 8, !tbaa !9
  %4255 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4256 = load float, ptr %4255, align 4, !tbaa !11
  %4257 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %4258 = load float, ptr %4257, align 4, !tbaa !11
  %4259 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4260 = load float, ptr %4259, align 4, !tbaa !14
  %4261 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %4262 = load float, ptr %4261, align 4, !tbaa !14
  %4263 = fmul float %4260, %4262
  %4264 = fneg float %4263
  %4265 = call float @llvm.fmuladd.f32(float %4256, float %4258, float %4264)
  %4266 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4265, ptr %4266, align 4, !tbaa !11
  %4267 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4268 = load float, ptr %4267, align 4, !tbaa !11
  %4269 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %4270 = load float, ptr %4269, align 4, !tbaa !14
  %4271 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4272 = load float, ptr %4271, align 4, !tbaa !14
  %4273 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %4274 = load float, ptr %4273, align 4, !tbaa !11
  %4275 = fmul float %4272, %4274
  %4276 = call float @llvm.fmuladd.f32(float %4268, float %4270, float %4275)
  %4277 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4276, ptr %4277, align 4, !tbaa !14
  %4278 = load ptr, ptr %15, align 8, !tbaa !5
  %4279 = load i64, ptr %22, align 8, !tbaa !9
  %4280 = getelementptr inbounds %struct.complex, ptr %4278, i64 %4279
  %4281 = getelementptr inbounds %struct.complex, ptr %4280, i32 0, i32 0
  %4282 = load float, ptr %4281, align 4, !tbaa !11
  %4283 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4284 = load float, ptr %4283, align 4, !tbaa !11
  %4285 = fsub float %4282, %4284
  %4286 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4285, ptr %4286, align 4, !tbaa !11
  %4287 = load ptr, ptr %15, align 8, !tbaa !5
  %4288 = load i64, ptr %22, align 8, !tbaa !9
  %4289 = getelementptr inbounds %struct.complex, ptr %4287, i64 %4288
  %4290 = getelementptr inbounds %struct.complex, ptr %4289, i32 0, i32 1
  %4291 = load float, ptr %4290, align 4, !tbaa !14
  %4292 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4293 = load float, ptr %4292, align 4, !tbaa !14
  %4294 = fsub float %4291, %4293
  %4295 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4294, ptr %4295, align 4, !tbaa !14
  %4296 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4297 = load float, ptr %4296, align 4, !tbaa !11
  %4298 = load ptr, ptr %15, align 8, !tbaa !5
  %4299 = load i64, ptr %21, align 8, !tbaa !9
  %4300 = getelementptr inbounds %struct.complex, ptr %4298, i64 %4299
  %4301 = getelementptr inbounds %struct.complex, ptr %4300, i32 0, i32 0
  store float %4297, ptr %4301, align 4, !tbaa !11
  %4302 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4303 = load float, ptr %4302, align 4, !tbaa !14
  %4304 = load ptr, ptr %15, align 8, !tbaa !5
  %4305 = load i64, ptr %21, align 8, !tbaa !9
  %4306 = getelementptr inbounds %struct.complex, ptr %4304, i64 %4305
  %4307 = getelementptr inbounds %struct.complex, ptr %4306, i32 0, i32 1
  store float %4303, ptr %4307, align 4, !tbaa !14
  %4308 = load i64, ptr %50, align 8, !tbaa !9
  %4309 = load i64, ptr %18, align 8, !tbaa !9
  %4310 = mul nsw i64 %4308, %4309
  %4311 = add nsw i64 %4310, 6
  store i64 %4311, ptr %21, align 8, !tbaa !9
  %4312 = load i64, ptr %50, align 8, !tbaa !9
  %4313 = load i64, ptr %18, align 8, !tbaa !9
  %4314 = mul nsw i64 %4312, %4313
  %4315 = add nsw i64 %4314, 6
  store i64 %4315, ptr %22, align 8, !tbaa !9
  %4316 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4317 = load float, ptr %4316, align 4, !tbaa !11
  %4318 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %4319 = load float, ptr %4318, align 4, !tbaa !11
  %4320 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4321 = load float, ptr %4320, align 4, !tbaa !14
  %4322 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %4323 = load float, ptr %4322, align 4, !tbaa !14
  %4324 = fmul float %4321, %4323
  %4325 = fneg float %4324
  %4326 = call float @llvm.fmuladd.f32(float %4317, float %4319, float %4325)
  %4327 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4326, ptr %4327, align 4, !tbaa !11
  %4328 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4329 = load float, ptr %4328, align 4, !tbaa !11
  %4330 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %4331 = load float, ptr %4330, align 4, !tbaa !14
  %4332 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4333 = load float, ptr %4332, align 4, !tbaa !14
  %4334 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %4335 = load float, ptr %4334, align 4, !tbaa !11
  %4336 = fmul float %4333, %4335
  %4337 = call float @llvm.fmuladd.f32(float %4329, float %4331, float %4336)
  %4338 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4337, ptr %4338, align 4, !tbaa !14
  %4339 = load ptr, ptr %15, align 8, !tbaa !5
  %4340 = load i64, ptr %22, align 8, !tbaa !9
  %4341 = getelementptr inbounds %struct.complex, ptr %4339, i64 %4340
  %4342 = getelementptr inbounds %struct.complex, ptr %4341, i32 0, i32 0
  %4343 = load float, ptr %4342, align 4, !tbaa !11
  %4344 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4345 = load float, ptr %4344, align 4, !tbaa !11
  %4346 = fsub float %4343, %4345
  %4347 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4346, ptr %4347, align 4, !tbaa !11
  %4348 = load ptr, ptr %15, align 8, !tbaa !5
  %4349 = load i64, ptr %22, align 8, !tbaa !9
  %4350 = getelementptr inbounds %struct.complex, ptr %4348, i64 %4349
  %4351 = getelementptr inbounds %struct.complex, ptr %4350, i32 0, i32 1
  %4352 = load float, ptr %4351, align 4, !tbaa !14
  %4353 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4354 = load float, ptr %4353, align 4, !tbaa !14
  %4355 = fsub float %4352, %4354
  %4356 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4355, ptr %4356, align 4, !tbaa !14
  %4357 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4358 = load float, ptr %4357, align 4, !tbaa !11
  %4359 = load ptr, ptr %15, align 8, !tbaa !5
  %4360 = load i64, ptr %21, align 8, !tbaa !9
  %4361 = getelementptr inbounds %struct.complex, ptr %4359, i64 %4360
  %4362 = getelementptr inbounds %struct.complex, ptr %4361, i32 0, i32 0
  store float %4358, ptr %4362, align 4, !tbaa !11
  %4363 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4364 = load float, ptr %4363, align 4, !tbaa !14
  %4365 = load ptr, ptr %15, align 8, !tbaa !5
  %4366 = load i64, ptr %21, align 8, !tbaa !9
  %4367 = getelementptr inbounds %struct.complex, ptr %4365, i64 %4366
  %4368 = getelementptr inbounds %struct.complex, ptr %4367, i32 0, i32 1
  store float %4364, ptr %4368, align 4, !tbaa !14
  %4369 = load i64, ptr %50, align 8, !tbaa !9
  %4370 = load i64, ptr %18, align 8, !tbaa !9
  %4371 = mul nsw i64 %4369, %4370
  %4372 = add nsw i64 %4371, 7
  store i64 %4372, ptr %21, align 8, !tbaa !9
  %4373 = load i64, ptr %50, align 8, !tbaa !9
  %4374 = load i64, ptr %18, align 8, !tbaa !9
  %4375 = mul nsw i64 %4373, %4374
  %4376 = add nsw i64 %4375, 7
  store i64 %4376, ptr %22, align 8, !tbaa !9
  %4377 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4378 = load float, ptr %4377, align 4, !tbaa !11
  %4379 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %4380 = load float, ptr %4379, align 4, !tbaa !11
  %4381 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4382 = load float, ptr %4381, align 4, !tbaa !14
  %4383 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %4384 = load float, ptr %4383, align 4, !tbaa !14
  %4385 = fmul float %4382, %4384
  %4386 = fneg float %4385
  %4387 = call float @llvm.fmuladd.f32(float %4378, float %4380, float %4386)
  %4388 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %4387, ptr %4388, align 4, !tbaa !11
  %4389 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %4390 = load float, ptr %4389, align 4, !tbaa !11
  %4391 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %4392 = load float, ptr %4391, align 4, !tbaa !14
  %4393 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %4394 = load float, ptr %4393, align 4, !tbaa !14
  %4395 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %4396 = load float, ptr %4395, align 4, !tbaa !11
  %4397 = fmul float %4394, %4396
  %4398 = call float @llvm.fmuladd.f32(float %4390, float %4392, float %4397)
  %4399 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %4398, ptr %4399, align 4, !tbaa !14
  %4400 = load ptr, ptr %15, align 8, !tbaa !5
  %4401 = load i64, ptr %22, align 8, !tbaa !9
  %4402 = getelementptr inbounds %struct.complex, ptr %4400, i64 %4401
  %4403 = getelementptr inbounds %struct.complex, ptr %4402, i32 0, i32 0
  %4404 = load float, ptr %4403, align 4, !tbaa !11
  %4405 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4406 = load float, ptr %4405, align 4, !tbaa !11
  %4407 = fsub float %4404, %4406
  %4408 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4407, ptr %4408, align 4, !tbaa !11
  %4409 = load ptr, ptr %15, align 8, !tbaa !5
  %4410 = load i64, ptr %22, align 8, !tbaa !9
  %4411 = getelementptr inbounds %struct.complex, ptr %4409, i64 %4410
  %4412 = getelementptr inbounds %struct.complex, ptr %4411, i32 0, i32 1
  %4413 = load float, ptr %4412, align 4, !tbaa !14
  %4414 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4415 = load float, ptr %4414, align 4, !tbaa !14
  %4416 = fsub float %4413, %4415
  %4417 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4416, ptr %4417, align 4, !tbaa !14
  %4418 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4419 = load float, ptr %4418, align 4, !tbaa !11
  %4420 = load ptr, ptr %15, align 8, !tbaa !5
  %4421 = load i64, ptr %21, align 8, !tbaa !9
  %4422 = getelementptr inbounds %struct.complex, ptr %4420, i64 %4421
  %4423 = getelementptr inbounds %struct.complex, ptr %4422, i32 0, i32 0
  store float %4419, ptr %4423, align 4, !tbaa !11
  %4424 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4425 = load float, ptr %4424, align 4, !tbaa !14
  %4426 = load ptr, ptr %15, align 8, !tbaa !5
  %4427 = load i64, ptr %21, align 8, !tbaa !9
  %4428 = getelementptr inbounds %struct.complex, ptr %4426, i64 %4427
  %4429 = getelementptr inbounds %struct.complex, ptr %4428, i32 0, i32 1
  store float %4425, ptr %4429, align 4, !tbaa !14
  br label %4430

4430:                                             ; preds = %3651
  %4431 = load i64, ptr %50, align 8, !tbaa !9
  %4432 = add nsw i64 %4431, 1
  store i64 %4432, ptr %50, align 8, !tbaa !9
  br label %3647, !llvm.loop !22

4433:                                             ; preds = %3647
  br label %17146

4434:                                             ; preds = %109
  %4435 = load ptr, ptr %13, align 8, !tbaa !5
  %4436 = getelementptr inbounds %struct.complex, ptr %4435, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %4436)
  %4437 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4438 = load float, ptr %4437, align 4, !tbaa !11
  %4439 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %4438, ptr %4439, align 4, !tbaa !11
  %4440 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4441 = load float, ptr %4440, align 4, !tbaa !14
  %4442 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %4441, ptr %4442, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %4443 = load ptr, ptr %14, align 8, !tbaa !5
  %4444 = getelementptr inbounds %struct.complex, ptr %4443, i32 0, i32 0
  %4445 = load float, ptr %4444, align 4, !tbaa !11
  %4446 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4447 = load float, ptr %4446, align 4, !tbaa !11
  %4448 = load ptr, ptr %14, align 8, !tbaa !5
  %4449 = getelementptr inbounds %struct.complex, ptr %4448, i32 0, i32 1
  %4450 = load float, ptr %4449, align 4, !tbaa !14
  %4451 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4452 = load float, ptr %4451, align 4, !tbaa !14
  %4453 = fmul float %4450, %4452
  %4454 = fneg float %4453
  %4455 = call float @llvm.fmuladd.f32(float %4445, float %4447, float %4454)
  %4456 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4455, ptr %4456, align 4, !tbaa !11
  %4457 = load ptr, ptr %14, align 8, !tbaa !5
  %4458 = getelementptr inbounds %struct.complex, ptr %4457, i32 0, i32 0
  %4459 = load float, ptr %4458, align 4, !tbaa !11
  %4460 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4461 = load float, ptr %4460, align 4, !tbaa !14
  %4462 = load ptr, ptr %14, align 8, !tbaa !5
  %4463 = getelementptr inbounds %struct.complex, ptr %4462, i32 0, i32 1
  %4464 = load float, ptr %4463, align 4, !tbaa !14
  %4465 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4466 = load float, ptr %4465, align 4, !tbaa !11
  %4467 = fmul float %4464, %4466
  %4468 = call float @llvm.fmuladd.f32(float %4459, float %4461, float %4467)
  %4469 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4468, ptr %4469, align 4, !tbaa !14
  %4470 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4471 = load float, ptr %4470, align 4, !tbaa !11
  %4472 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %4471, ptr %4472, align 4, !tbaa !11
  %4473 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4474 = load float, ptr %4473, align 4, !tbaa !14
  %4475 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %4474, ptr %4475, align 4, !tbaa !14
  %4476 = load ptr, ptr %13, align 8, !tbaa !5
  %4477 = getelementptr inbounds %struct.complex, ptr %4476, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %4477)
  %4478 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4479 = load float, ptr %4478, align 4, !tbaa !11
  %4480 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %4479, ptr %4480, align 4, !tbaa !11
  %4481 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4482 = load float, ptr %4481, align 4, !tbaa !14
  %4483 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %4482, ptr %4483, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %4484 = load ptr, ptr %14, align 8, !tbaa !5
  %4485 = getelementptr inbounds %struct.complex, ptr %4484, i32 0, i32 0
  %4486 = load float, ptr %4485, align 4, !tbaa !11
  %4487 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4488 = load float, ptr %4487, align 4, !tbaa !11
  %4489 = load ptr, ptr %14, align 8, !tbaa !5
  %4490 = getelementptr inbounds %struct.complex, ptr %4489, i32 0, i32 1
  %4491 = load float, ptr %4490, align 4, !tbaa !14
  %4492 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4493 = load float, ptr %4492, align 4, !tbaa !14
  %4494 = fmul float %4491, %4493
  %4495 = fneg float %4494
  %4496 = call float @llvm.fmuladd.f32(float %4486, float %4488, float %4495)
  %4497 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4496, ptr %4497, align 4, !tbaa !11
  %4498 = load ptr, ptr %14, align 8, !tbaa !5
  %4499 = getelementptr inbounds %struct.complex, ptr %4498, i32 0, i32 0
  %4500 = load float, ptr %4499, align 4, !tbaa !11
  %4501 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4502 = load float, ptr %4501, align 4, !tbaa !14
  %4503 = load ptr, ptr %14, align 8, !tbaa !5
  %4504 = getelementptr inbounds %struct.complex, ptr %4503, i32 0, i32 1
  %4505 = load float, ptr %4504, align 4, !tbaa !14
  %4506 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4507 = load float, ptr %4506, align 4, !tbaa !11
  %4508 = fmul float %4505, %4507
  %4509 = call float @llvm.fmuladd.f32(float %4500, float %4502, float %4508)
  %4510 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4509, ptr %4510, align 4, !tbaa !14
  %4511 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4512 = load float, ptr %4511, align 4, !tbaa !11
  %4513 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %4512, ptr %4513, align 4, !tbaa !11
  %4514 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4515 = load float, ptr %4514, align 4, !tbaa !14
  %4516 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %4515, ptr %4516, align 4, !tbaa !14
  %4517 = load ptr, ptr %13, align 8, !tbaa !5
  %4518 = getelementptr inbounds %struct.complex, ptr %4517, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %4518)
  %4519 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4520 = load float, ptr %4519, align 4, !tbaa !11
  %4521 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %4520, ptr %4521, align 4, !tbaa !11
  %4522 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4523 = load float, ptr %4522, align 4, !tbaa !14
  %4524 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %4523, ptr %4524, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %4525 = load ptr, ptr %14, align 8, !tbaa !5
  %4526 = getelementptr inbounds %struct.complex, ptr %4525, i32 0, i32 0
  %4527 = load float, ptr %4526, align 4, !tbaa !11
  %4528 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4529 = load float, ptr %4528, align 4, !tbaa !11
  %4530 = load ptr, ptr %14, align 8, !tbaa !5
  %4531 = getelementptr inbounds %struct.complex, ptr %4530, i32 0, i32 1
  %4532 = load float, ptr %4531, align 4, !tbaa !14
  %4533 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4534 = load float, ptr %4533, align 4, !tbaa !14
  %4535 = fmul float %4532, %4534
  %4536 = fneg float %4535
  %4537 = call float @llvm.fmuladd.f32(float %4527, float %4529, float %4536)
  %4538 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4537, ptr %4538, align 4, !tbaa !11
  %4539 = load ptr, ptr %14, align 8, !tbaa !5
  %4540 = getelementptr inbounds %struct.complex, ptr %4539, i32 0, i32 0
  %4541 = load float, ptr %4540, align 4, !tbaa !11
  %4542 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4543 = load float, ptr %4542, align 4, !tbaa !14
  %4544 = load ptr, ptr %14, align 8, !tbaa !5
  %4545 = getelementptr inbounds %struct.complex, ptr %4544, i32 0, i32 1
  %4546 = load float, ptr %4545, align 4, !tbaa !14
  %4547 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4548 = load float, ptr %4547, align 4, !tbaa !11
  %4549 = fmul float %4546, %4548
  %4550 = call float @llvm.fmuladd.f32(float %4541, float %4543, float %4549)
  %4551 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4550, ptr %4551, align 4, !tbaa !14
  %4552 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4553 = load float, ptr %4552, align 4, !tbaa !11
  %4554 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %4553, ptr %4554, align 4, !tbaa !11
  %4555 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4556 = load float, ptr %4555, align 4, !tbaa !14
  %4557 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %4556, ptr %4557, align 4, !tbaa !14
  %4558 = load ptr, ptr %13, align 8, !tbaa !5
  %4559 = getelementptr inbounds %struct.complex, ptr %4558, i64 4
  call void @r_cnjg(ptr noundef %31, ptr noundef %4559)
  %4560 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4561 = load float, ptr %4560, align 4, !tbaa !11
  %4562 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %4561, ptr %4562, align 4, !tbaa !11
  %4563 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4564 = load float, ptr %4563, align 4, !tbaa !14
  %4565 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %4564, ptr %4565, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %4566 = load ptr, ptr %14, align 8, !tbaa !5
  %4567 = getelementptr inbounds %struct.complex, ptr %4566, i32 0, i32 0
  %4568 = load float, ptr %4567, align 4, !tbaa !11
  %4569 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4570 = load float, ptr %4569, align 4, !tbaa !11
  %4571 = load ptr, ptr %14, align 8, !tbaa !5
  %4572 = getelementptr inbounds %struct.complex, ptr %4571, i32 0, i32 1
  %4573 = load float, ptr %4572, align 4, !tbaa !14
  %4574 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4575 = load float, ptr %4574, align 4, !tbaa !14
  %4576 = fmul float %4573, %4575
  %4577 = fneg float %4576
  %4578 = call float @llvm.fmuladd.f32(float %4568, float %4570, float %4577)
  %4579 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4578, ptr %4579, align 4, !tbaa !11
  %4580 = load ptr, ptr %14, align 8, !tbaa !5
  %4581 = getelementptr inbounds %struct.complex, ptr %4580, i32 0, i32 0
  %4582 = load float, ptr %4581, align 4, !tbaa !11
  %4583 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4584 = load float, ptr %4583, align 4, !tbaa !14
  %4585 = load ptr, ptr %14, align 8, !tbaa !5
  %4586 = getelementptr inbounds %struct.complex, ptr %4585, i32 0, i32 1
  %4587 = load float, ptr %4586, align 4, !tbaa !14
  %4588 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4589 = load float, ptr %4588, align 4, !tbaa !11
  %4590 = fmul float %4587, %4589
  %4591 = call float @llvm.fmuladd.f32(float %4582, float %4584, float %4590)
  %4592 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4591, ptr %4592, align 4, !tbaa !14
  %4593 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4594 = load float, ptr %4593, align 4, !tbaa !11
  %4595 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %4594, ptr %4595, align 4, !tbaa !11
  %4596 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4597 = load float, ptr %4596, align 4, !tbaa !14
  %4598 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %4597, ptr %4598, align 4, !tbaa !14
  %4599 = load ptr, ptr %13, align 8, !tbaa !5
  %4600 = getelementptr inbounds %struct.complex, ptr %4599, i64 5
  call void @r_cnjg(ptr noundef %31, ptr noundef %4600)
  %4601 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4602 = load float, ptr %4601, align 4, !tbaa !11
  %4603 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %4602, ptr %4603, align 4, !tbaa !11
  %4604 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4605 = load float, ptr %4604, align 4, !tbaa !14
  %4606 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %4605, ptr %4606, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %4607 = load ptr, ptr %14, align 8, !tbaa !5
  %4608 = getelementptr inbounds %struct.complex, ptr %4607, i32 0, i32 0
  %4609 = load float, ptr %4608, align 4, !tbaa !11
  %4610 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4611 = load float, ptr %4610, align 4, !tbaa !11
  %4612 = load ptr, ptr %14, align 8, !tbaa !5
  %4613 = getelementptr inbounds %struct.complex, ptr %4612, i32 0, i32 1
  %4614 = load float, ptr %4613, align 4, !tbaa !14
  %4615 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4616 = load float, ptr %4615, align 4, !tbaa !14
  %4617 = fmul float %4614, %4616
  %4618 = fneg float %4617
  %4619 = call float @llvm.fmuladd.f32(float %4609, float %4611, float %4618)
  %4620 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4619, ptr %4620, align 4, !tbaa !11
  %4621 = load ptr, ptr %14, align 8, !tbaa !5
  %4622 = getelementptr inbounds %struct.complex, ptr %4621, i32 0, i32 0
  %4623 = load float, ptr %4622, align 4, !tbaa !11
  %4624 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4625 = load float, ptr %4624, align 4, !tbaa !14
  %4626 = load ptr, ptr %14, align 8, !tbaa !5
  %4627 = getelementptr inbounds %struct.complex, ptr %4626, i32 0, i32 1
  %4628 = load float, ptr %4627, align 4, !tbaa !14
  %4629 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4630 = load float, ptr %4629, align 4, !tbaa !11
  %4631 = fmul float %4628, %4630
  %4632 = call float @llvm.fmuladd.f32(float %4623, float %4625, float %4631)
  %4633 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4632, ptr %4633, align 4, !tbaa !14
  %4634 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4635 = load float, ptr %4634, align 4, !tbaa !11
  %4636 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %4635, ptr %4636, align 4, !tbaa !11
  %4637 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4638 = load float, ptr %4637, align 4, !tbaa !14
  %4639 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %4638, ptr %4639, align 4, !tbaa !14
  %4640 = load ptr, ptr %13, align 8, !tbaa !5
  %4641 = getelementptr inbounds %struct.complex, ptr %4640, i64 6
  call void @r_cnjg(ptr noundef %31, ptr noundef %4641)
  %4642 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4643 = load float, ptr %4642, align 4, !tbaa !11
  %4644 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %4643, ptr %4644, align 4, !tbaa !11
  %4645 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4646 = load float, ptr %4645, align 4, !tbaa !14
  %4647 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %4646, ptr %4647, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %4648 = load ptr, ptr %14, align 8, !tbaa !5
  %4649 = getelementptr inbounds %struct.complex, ptr %4648, i32 0, i32 0
  %4650 = load float, ptr %4649, align 4, !tbaa !11
  %4651 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4652 = load float, ptr %4651, align 4, !tbaa !11
  %4653 = load ptr, ptr %14, align 8, !tbaa !5
  %4654 = getelementptr inbounds %struct.complex, ptr %4653, i32 0, i32 1
  %4655 = load float, ptr %4654, align 4, !tbaa !14
  %4656 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4657 = load float, ptr %4656, align 4, !tbaa !14
  %4658 = fmul float %4655, %4657
  %4659 = fneg float %4658
  %4660 = call float @llvm.fmuladd.f32(float %4650, float %4652, float %4659)
  %4661 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4660, ptr %4661, align 4, !tbaa !11
  %4662 = load ptr, ptr %14, align 8, !tbaa !5
  %4663 = getelementptr inbounds %struct.complex, ptr %4662, i32 0, i32 0
  %4664 = load float, ptr %4663, align 4, !tbaa !11
  %4665 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4666 = load float, ptr %4665, align 4, !tbaa !14
  %4667 = load ptr, ptr %14, align 8, !tbaa !5
  %4668 = getelementptr inbounds %struct.complex, ptr %4667, i32 0, i32 1
  %4669 = load float, ptr %4668, align 4, !tbaa !14
  %4670 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4671 = load float, ptr %4670, align 4, !tbaa !11
  %4672 = fmul float %4669, %4671
  %4673 = call float @llvm.fmuladd.f32(float %4664, float %4666, float %4672)
  %4674 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4673, ptr %4674, align 4, !tbaa !14
  %4675 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4676 = load float, ptr %4675, align 4, !tbaa !11
  %4677 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %4676, ptr %4677, align 4, !tbaa !11
  %4678 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4679 = load float, ptr %4678, align 4, !tbaa !14
  %4680 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %4679, ptr %4680, align 4, !tbaa !14
  %4681 = load ptr, ptr %13, align 8, !tbaa !5
  %4682 = getelementptr inbounds %struct.complex, ptr %4681, i64 7
  call void @r_cnjg(ptr noundef %31, ptr noundef %4682)
  %4683 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4684 = load float, ptr %4683, align 4, !tbaa !11
  %4685 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %4684, ptr %4685, align 4, !tbaa !11
  %4686 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4687 = load float, ptr %4686, align 4, !tbaa !14
  %4688 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %4687, ptr %4688, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %4689 = load ptr, ptr %14, align 8, !tbaa !5
  %4690 = getelementptr inbounds %struct.complex, ptr %4689, i32 0, i32 0
  %4691 = load float, ptr %4690, align 4, !tbaa !11
  %4692 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4693 = load float, ptr %4692, align 4, !tbaa !11
  %4694 = load ptr, ptr %14, align 8, !tbaa !5
  %4695 = getelementptr inbounds %struct.complex, ptr %4694, i32 0, i32 1
  %4696 = load float, ptr %4695, align 4, !tbaa !14
  %4697 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4698 = load float, ptr %4697, align 4, !tbaa !14
  %4699 = fmul float %4696, %4698
  %4700 = fneg float %4699
  %4701 = call float @llvm.fmuladd.f32(float %4691, float %4693, float %4700)
  %4702 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4701, ptr %4702, align 4, !tbaa !11
  %4703 = load ptr, ptr %14, align 8, !tbaa !5
  %4704 = getelementptr inbounds %struct.complex, ptr %4703, i32 0, i32 0
  %4705 = load float, ptr %4704, align 4, !tbaa !11
  %4706 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4707 = load float, ptr %4706, align 4, !tbaa !14
  %4708 = load ptr, ptr %14, align 8, !tbaa !5
  %4709 = getelementptr inbounds %struct.complex, ptr %4708, i32 0, i32 1
  %4710 = load float, ptr %4709, align 4, !tbaa !14
  %4711 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4712 = load float, ptr %4711, align 4, !tbaa !11
  %4713 = fmul float %4710, %4712
  %4714 = call float @llvm.fmuladd.f32(float %4705, float %4707, float %4713)
  %4715 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4714, ptr %4715, align 4, !tbaa !14
  %4716 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4717 = load float, ptr %4716, align 4, !tbaa !11
  %4718 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %4717, ptr %4718, align 4, !tbaa !11
  %4719 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4720 = load float, ptr %4719, align 4, !tbaa !14
  %4721 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %4720, ptr %4721, align 4, !tbaa !14
  %4722 = load ptr, ptr %13, align 8, !tbaa !5
  %4723 = getelementptr inbounds %struct.complex, ptr %4722, i64 8
  call void @r_cnjg(ptr noundef %31, ptr noundef %4723)
  %4724 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4725 = load float, ptr %4724, align 4, !tbaa !11
  %4726 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %4725, ptr %4726, align 4, !tbaa !11
  %4727 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4728 = load float, ptr %4727, align 4, !tbaa !14
  %4729 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %4728, ptr %4729, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %67)
  %4730 = load ptr, ptr %14, align 8, !tbaa !5
  %4731 = getelementptr inbounds %struct.complex, ptr %4730, i32 0, i32 0
  %4732 = load float, ptr %4731, align 4, !tbaa !11
  %4733 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4734 = load float, ptr %4733, align 4, !tbaa !11
  %4735 = load ptr, ptr %14, align 8, !tbaa !5
  %4736 = getelementptr inbounds %struct.complex, ptr %4735, i32 0, i32 1
  %4737 = load float, ptr %4736, align 4, !tbaa !14
  %4738 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4739 = load float, ptr %4738, align 4, !tbaa !14
  %4740 = fmul float %4737, %4739
  %4741 = fneg float %4740
  %4742 = call float @llvm.fmuladd.f32(float %4732, float %4734, float %4741)
  %4743 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %4742, ptr %4743, align 4, !tbaa !11
  %4744 = load ptr, ptr %14, align 8, !tbaa !5
  %4745 = getelementptr inbounds %struct.complex, ptr %4744, i32 0, i32 0
  %4746 = load float, ptr %4745, align 4, !tbaa !11
  %4747 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %4748 = load float, ptr %4747, align 4, !tbaa !14
  %4749 = load ptr, ptr %14, align 8, !tbaa !5
  %4750 = getelementptr inbounds %struct.complex, ptr %4749, i32 0, i32 1
  %4751 = load float, ptr %4750, align 4, !tbaa !14
  %4752 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %4753 = load float, ptr %4752, align 4, !tbaa !11
  %4754 = fmul float %4751, %4753
  %4755 = call float @llvm.fmuladd.f32(float %4746, float %4748, float %4754)
  %4756 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %4755, ptr %4756, align 4, !tbaa !14
  %4757 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %4758 = load float, ptr %4757, align 4, !tbaa !11
  %4759 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %4758, ptr %4759, align 4, !tbaa !11
  %4760 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %4761 = load float, ptr %4760, align 4, !tbaa !14
  %4762 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %4761, ptr %4762, align 4, !tbaa !14
  %4763 = load ptr, ptr %12, align 8, !tbaa !5
  %4764 = load i64, ptr %4763, align 8, !tbaa !9
  store i64 %4764, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %4765

4765:                                             ; preds = %5660, %4434
  %4766 = load i64, ptr %50, align 8, !tbaa !9
  %4767 = load i64, ptr %20, align 8, !tbaa !9
  %4768 = icmp sle i64 %4766, %4767
  br i1 %4768, label %4769, label %5663

4769:                                             ; preds = %4765
  %4770 = load i64, ptr %50, align 8, !tbaa !9
  %4771 = load i64, ptr %18, align 8, !tbaa !9
  %4772 = mul nsw i64 %4770, %4771
  %4773 = add nsw i64 %4772, 1
  store i64 %4773, ptr %21, align 8, !tbaa !9
  %4774 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %4775 = load float, ptr %4774, align 4, !tbaa !11
  %4776 = load ptr, ptr %15, align 8, !tbaa !5
  %4777 = load i64, ptr %21, align 8, !tbaa !9
  %4778 = getelementptr inbounds %struct.complex, ptr %4776, i64 %4777
  %4779 = getelementptr inbounds %struct.complex, ptr %4778, i32 0, i32 0
  %4780 = load float, ptr %4779, align 4, !tbaa !11
  %4781 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %4782 = load float, ptr %4781, align 4, !tbaa !14
  %4783 = load ptr, ptr %15, align 8, !tbaa !5
  %4784 = load i64, ptr %21, align 8, !tbaa !9
  %4785 = getelementptr inbounds %struct.complex, ptr %4783, i64 %4784
  %4786 = getelementptr inbounds %struct.complex, ptr %4785, i32 0, i32 1
  %4787 = load float, ptr %4786, align 4, !tbaa !14
  %4788 = fmul float %4782, %4787
  %4789 = fneg float %4788
  %4790 = call float @llvm.fmuladd.f32(float %4775, float %4780, float %4789)
  %4791 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %4790, ptr %4791, align 4, !tbaa !11
  %4792 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %4793 = load float, ptr %4792, align 4, !tbaa !11
  %4794 = load ptr, ptr %15, align 8, !tbaa !5
  %4795 = load i64, ptr %21, align 8, !tbaa !9
  %4796 = getelementptr inbounds %struct.complex, ptr %4794, i64 %4795
  %4797 = getelementptr inbounds %struct.complex, ptr %4796, i32 0, i32 1
  %4798 = load float, ptr %4797, align 4, !tbaa !14
  %4799 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %4800 = load float, ptr %4799, align 4, !tbaa !14
  %4801 = load ptr, ptr %15, align 8, !tbaa !5
  %4802 = load i64, ptr %21, align 8, !tbaa !9
  %4803 = getelementptr inbounds %struct.complex, ptr %4801, i64 %4802
  %4804 = getelementptr inbounds %struct.complex, ptr %4803, i32 0, i32 0
  %4805 = load float, ptr %4804, align 4, !tbaa !11
  %4806 = fmul float %4800, %4805
  %4807 = call float @llvm.fmuladd.f32(float %4793, float %4798, float %4806)
  %4808 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %4807, ptr %4808, align 4, !tbaa !14
  %4809 = load i64, ptr %50, align 8, !tbaa !9
  %4810 = load i64, ptr %18, align 8, !tbaa !9
  %4811 = mul nsw i64 %4809, %4810
  %4812 = add nsw i64 %4811, 2
  store i64 %4812, ptr %22, align 8, !tbaa !9
  %4813 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %4814 = load float, ptr %4813, align 4, !tbaa !11
  %4815 = load ptr, ptr %15, align 8, !tbaa !5
  %4816 = load i64, ptr %22, align 8, !tbaa !9
  %4817 = getelementptr inbounds %struct.complex, ptr %4815, i64 %4816
  %4818 = getelementptr inbounds %struct.complex, ptr %4817, i32 0, i32 0
  %4819 = load float, ptr %4818, align 4, !tbaa !11
  %4820 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %4821 = load float, ptr %4820, align 4, !tbaa !14
  %4822 = load ptr, ptr %15, align 8, !tbaa !5
  %4823 = load i64, ptr %22, align 8, !tbaa !9
  %4824 = getelementptr inbounds %struct.complex, ptr %4822, i64 %4823
  %4825 = getelementptr inbounds %struct.complex, ptr %4824, i32 0, i32 1
  %4826 = load float, ptr %4825, align 4, !tbaa !14
  %4827 = fmul float %4821, %4826
  %4828 = fneg float %4827
  %4829 = call float @llvm.fmuladd.f32(float %4814, float %4819, float %4828)
  %4830 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %4829, ptr %4830, align 4, !tbaa !11
  %4831 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %4832 = load float, ptr %4831, align 4, !tbaa !11
  %4833 = load ptr, ptr %15, align 8, !tbaa !5
  %4834 = load i64, ptr %22, align 8, !tbaa !9
  %4835 = getelementptr inbounds %struct.complex, ptr %4833, i64 %4834
  %4836 = getelementptr inbounds %struct.complex, ptr %4835, i32 0, i32 1
  %4837 = load float, ptr %4836, align 4, !tbaa !14
  %4838 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %4839 = load float, ptr %4838, align 4, !tbaa !14
  %4840 = load ptr, ptr %15, align 8, !tbaa !5
  %4841 = load i64, ptr %22, align 8, !tbaa !9
  %4842 = getelementptr inbounds %struct.complex, ptr %4840, i64 %4841
  %4843 = getelementptr inbounds %struct.complex, ptr %4842, i32 0, i32 0
  %4844 = load float, ptr %4843, align 4, !tbaa !11
  %4845 = fmul float %4839, %4844
  %4846 = call float @llvm.fmuladd.f32(float %4832, float %4837, float %4845)
  %4847 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %4846, ptr %4847, align 4, !tbaa !14
  %4848 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %4849 = load float, ptr %4848, align 4, !tbaa !11
  %4850 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %4851 = load float, ptr %4850, align 4, !tbaa !11
  %4852 = fadd float %4849, %4851
  %4853 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %4852, ptr %4853, align 4, !tbaa !11
  %4854 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %4855 = load float, ptr %4854, align 4, !tbaa !14
  %4856 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %4857 = load float, ptr %4856, align 4, !tbaa !14
  %4858 = fadd float %4855, %4857
  %4859 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %4858, ptr %4859, align 4, !tbaa !14
  %4860 = load i64, ptr %50, align 8, !tbaa !9
  %4861 = load i64, ptr %18, align 8, !tbaa !9
  %4862 = mul nsw i64 %4860, %4861
  %4863 = add nsw i64 %4862, 3
  store i64 %4863, ptr %23, align 8, !tbaa !9
  %4864 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %4865 = load float, ptr %4864, align 4, !tbaa !11
  %4866 = load ptr, ptr %15, align 8, !tbaa !5
  %4867 = load i64, ptr %23, align 8, !tbaa !9
  %4868 = getelementptr inbounds %struct.complex, ptr %4866, i64 %4867
  %4869 = getelementptr inbounds %struct.complex, ptr %4868, i32 0, i32 0
  %4870 = load float, ptr %4869, align 4, !tbaa !11
  %4871 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %4872 = load float, ptr %4871, align 4, !tbaa !14
  %4873 = load ptr, ptr %15, align 8, !tbaa !5
  %4874 = load i64, ptr %23, align 8, !tbaa !9
  %4875 = getelementptr inbounds %struct.complex, ptr %4873, i64 %4874
  %4876 = getelementptr inbounds %struct.complex, ptr %4875, i32 0, i32 1
  %4877 = load float, ptr %4876, align 4, !tbaa !14
  %4878 = fmul float %4872, %4877
  %4879 = fneg float %4878
  %4880 = call float @llvm.fmuladd.f32(float %4865, float %4870, float %4879)
  %4881 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %4880, ptr %4881, align 4, !tbaa !11
  %4882 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %4883 = load float, ptr %4882, align 4, !tbaa !11
  %4884 = load ptr, ptr %15, align 8, !tbaa !5
  %4885 = load i64, ptr %23, align 8, !tbaa !9
  %4886 = getelementptr inbounds %struct.complex, ptr %4884, i64 %4885
  %4887 = getelementptr inbounds %struct.complex, ptr %4886, i32 0, i32 1
  %4888 = load float, ptr %4887, align 4, !tbaa !14
  %4889 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %4890 = load float, ptr %4889, align 4, !tbaa !14
  %4891 = load ptr, ptr %15, align 8, !tbaa !5
  %4892 = load i64, ptr %23, align 8, !tbaa !9
  %4893 = getelementptr inbounds %struct.complex, ptr %4891, i64 %4892
  %4894 = getelementptr inbounds %struct.complex, ptr %4893, i32 0, i32 0
  %4895 = load float, ptr %4894, align 4, !tbaa !11
  %4896 = fmul float %4890, %4895
  %4897 = call float @llvm.fmuladd.f32(float %4883, float %4888, float %4896)
  %4898 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %4897, ptr %4898, align 4, !tbaa !14
  %4899 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %4900 = load float, ptr %4899, align 4, !tbaa !11
  %4901 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %4902 = load float, ptr %4901, align 4, !tbaa !11
  %4903 = fadd float %4900, %4902
  %4904 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %4903, ptr %4904, align 4, !tbaa !11
  %4905 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %4906 = load float, ptr %4905, align 4, !tbaa !14
  %4907 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %4908 = load float, ptr %4907, align 4, !tbaa !14
  %4909 = fadd float %4906, %4908
  %4910 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %4909, ptr %4910, align 4, !tbaa !14
  %4911 = load i64, ptr %50, align 8, !tbaa !9
  %4912 = load i64, ptr %18, align 8, !tbaa !9
  %4913 = mul nsw i64 %4911, %4912
  %4914 = add nsw i64 %4913, 4
  store i64 %4914, ptr %24, align 8, !tbaa !9
  %4915 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %4916 = load float, ptr %4915, align 4, !tbaa !11
  %4917 = load ptr, ptr %15, align 8, !tbaa !5
  %4918 = load i64, ptr %24, align 8, !tbaa !9
  %4919 = getelementptr inbounds %struct.complex, ptr %4917, i64 %4918
  %4920 = getelementptr inbounds %struct.complex, ptr %4919, i32 0, i32 0
  %4921 = load float, ptr %4920, align 4, !tbaa !11
  %4922 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %4923 = load float, ptr %4922, align 4, !tbaa !14
  %4924 = load ptr, ptr %15, align 8, !tbaa !5
  %4925 = load i64, ptr %24, align 8, !tbaa !9
  %4926 = getelementptr inbounds %struct.complex, ptr %4924, i64 %4925
  %4927 = getelementptr inbounds %struct.complex, ptr %4926, i32 0, i32 1
  %4928 = load float, ptr %4927, align 4, !tbaa !14
  %4929 = fmul float %4923, %4928
  %4930 = fneg float %4929
  %4931 = call float @llvm.fmuladd.f32(float %4916, float %4921, float %4930)
  %4932 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %4931, ptr %4932, align 4, !tbaa !11
  %4933 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %4934 = load float, ptr %4933, align 4, !tbaa !11
  %4935 = load ptr, ptr %15, align 8, !tbaa !5
  %4936 = load i64, ptr %24, align 8, !tbaa !9
  %4937 = getelementptr inbounds %struct.complex, ptr %4935, i64 %4936
  %4938 = getelementptr inbounds %struct.complex, ptr %4937, i32 0, i32 1
  %4939 = load float, ptr %4938, align 4, !tbaa !14
  %4940 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %4941 = load float, ptr %4940, align 4, !tbaa !14
  %4942 = load ptr, ptr %15, align 8, !tbaa !5
  %4943 = load i64, ptr %24, align 8, !tbaa !9
  %4944 = getelementptr inbounds %struct.complex, ptr %4942, i64 %4943
  %4945 = getelementptr inbounds %struct.complex, ptr %4944, i32 0, i32 0
  %4946 = load float, ptr %4945, align 4, !tbaa !11
  %4947 = fmul float %4941, %4946
  %4948 = call float @llvm.fmuladd.f32(float %4934, float %4939, float %4947)
  %4949 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %4948, ptr %4949, align 4, !tbaa !14
  %4950 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %4951 = load float, ptr %4950, align 4, !tbaa !11
  %4952 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %4953 = load float, ptr %4952, align 4, !tbaa !11
  %4954 = fadd float %4951, %4953
  %4955 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %4954, ptr %4955, align 4, !tbaa !11
  %4956 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %4957 = load float, ptr %4956, align 4, !tbaa !14
  %4958 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %4959 = load float, ptr %4958, align 4, !tbaa !14
  %4960 = fadd float %4957, %4959
  %4961 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %4960, ptr %4961, align 4, !tbaa !14
  %4962 = load i64, ptr %50, align 8, !tbaa !9
  %4963 = load i64, ptr %18, align 8, !tbaa !9
  %4964 = mul nsw i64 %4962, %4963
  %4965 = add nsw i64 %4964, 5
  store i64 %4965, ptr %25, align 8, !tbaa !9
  %4966 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %4967 = load float, ptr %4966, align 4, !tbaa !11
  %4968 = load ptr, ptr %15, align 8, !tbaa !5
  %4969 = load i64, ptr %25, align 8, !tbaa !9
  %4970 = getelementptr inbounds %struct.complex, ptr %4968, i64 %4969
  %4971 = getelementptr inbounds %struct.complex, ptr %4970, i32 0, i32 0
  %4972 = load float, ptr %4971, align 4, !tbaa !11
  %4973 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %4974 = load float, ptr %4973, align 4, !tbaa !14
  %4975 = load ptr, ptr %15, align 8, !tbaa !5
  %4976 = load i64, ptr %25, align 8, !tbaa !9
  %4977 = getelementptr inbounds %struct.complex, ptr %4975, i64 %4976
  %4978 = getelementptr inbounds %struct.complex, ptr %4977, i32 0, i32 1
  %4979 = load float, ptr %4978, align 4, !tbaa !14
  %4980 = fmul float %4974, %4979
  %4981 = fneg float %4980
  %4982 = call float @llvm.fmuladd.f32(float %4967, float %4972, float %4981)
  %4983 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %4982, ptr %4983, align 4, !tbaa !11
  %4984 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %4985 = load float, ptr %4984, align 4, !tbaa !11
  %4986 = load ptr, ptr %15, align 8, !tbaa !5
  %4987 = load i64, ptr %25, align 8, !tbaa !9
  %4988 = getelementptr inbounds %struct.complex, ptr %4986, i64 %4987
  %4989 = getelementptr inbounds %struct.complex, ptr %4988, i32 0, i32 1
  %4990 = load float, ptr %4989, align 4, !tbaa !14
  %4991 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %4992 = load float, ptr %4991, align 4, !tbaa !14
  %4993 = load ptr, ptr %15, align 8, !tbaa !5
  %4994 = load i64, ptr %25, align 8, !tbaa !9
  %4995 = getelementptr inbounds %struct.complex, ptr %4993, i64 %4994
  %4996 = getelementptr inbounds %struct.complex, ptr %4995, i32 0, i32 0
  %4997 = load float, ptr %4996, align 4, !tbaa !11
  %4998 = fmul float %4992, %4997
  %4999 = call float @llvm.fmuladd.f32(float %4985, float %4990, float %4998)
  %5000 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %4999, ptr %5000, align 4, !tbaa !14
  %5001 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %5002 = load float, ptr %5001, align 4, !tbaa !11
  %5003 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %5004 = load float, ptr %5003, align 4, !tbaa !11
  %5005 = fadd float %5002, %5004
  %5006 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %5005, ptr %5006, align 4, !tbaa !11
  %5007 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %5008 = load float, ptr %5007, align 4, !tbaa !14
  %5009 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %5010 = load float, ptr %5009, align 4, !tbaa !14
  %5011 = fadd float %5008, %5010
  %5012 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %5011, ptr %5012, align 4, !tbaa !14
  %5013 = load i64, ptr %50, align 8, !tbaa !9
  %5014 = load i64, ptr %18, align 8, !tbaa !9
  %5015 = mul nsw i64 %5013, %5014
  %5016 = add nsw i64 %5015, 6
  store i64 %5016, ptr %26, align 8, !tbaa !9
  %5017 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %5018 = load float, ptr %5017, align 4, !tbaa !11
  %5019 = load ptr, ptr %15, align 8, !tbaa !5
  %5020 = load i64, ptr %26, align 8, !tbaa !9
  %5021 = getelementptr inbounds %struct.complex, ptr %5019, 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 %65, i32 0, i32 1
  %5025 = load float, ptr %5024, align 4, !tbaa !14
  %5026 = load ptr, ptr %15, align 8, !tbaa !5
  %5027 = load i64, ptr %26, align 8, !tbaa !9
  %5028 = getelementptr inbounds %struct.complex, ptr %5026, i64 %5027
  %5029 = getelementptr inbounds %struct.complex, ptr %5028, i32 0, i32 1
  %5030 = load float, ptr %5029, align 4, !tbaa !14
  %5031 = fmul float %5025, %5030
  %5032 = fneg float %5031
  %5033 = call float @llvm.fmuladd.f32(float %5018, float %5023, float %5032)
  %5034 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %5033, ptr %5034, align 4, !tbaa !11
  %5035 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %5036 = load float, ptr %5035, align 4, !tbaa !11
  %5037 = load ptr, ptr %15, align 8, !tbaa !5
  %5038 = load i64, ptr %26, align 8, !tbaa !9
  %5039 = getelementptr inbounds %struct.complex, ptr %5037, i64 %5038
  %5040 = getelementptr inbounds %struct.complex, ptr %5039, i32 0, i32 1
  %5041 = load float, ptr %5040, align 4, !tbaa !14
  %5042 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %5043 = load float, ptr %5042, align 4, !tbaa !14
  %5044 = load ptr, ptr %15, align 8, !tbaa !5
  %5045 = load i64, ptr %26, align 8, !tbaa !9
  %5046 = getelementptr inbounds %struct.complex, ptr %5044, i64 %5045
  %5047 = getelementptr inbounds %struct.complex, ptr %5046, i32 0, i32 0
  %5048 = load float, ptr %5047, align 4, !tbaa !11
  %5049 = fmul float %5043, %5048
  %5050 = call float @llvm.fmuladd.f32(float %5036, float %5041, float %5049)
  %5051 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %5050, ptr %5051, align 4, !tbaa !14
  %5052 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %5053 = load float, ptr %5052, align 4, !tbaa !11
  %5054 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %5055 = load float, ptr %5054, align 4, !tbaa !11
  %5056 = fadd float %5053, %5055
  %5057 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %5056, ptr %5057, align 4, !tbaa !11
  %5058 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %5059 = load float, ptr %5058, align 4, !tbaa !14
  %5060 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %5061 = load float, ptr %5060, align 4, !tbaa !14
  %5062 = fadd float %5059, %5061
  %5063 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %5062, ptr %5063, align 4, !tbaa !14
  %5064 = load i64, ptr %50, align 8, !tbaa !9
  %5065 = load i64, ptr %18, align 8, !tbaa !9
  %5066 = mul nsw i64 %5064, %5065
  %5067 = add nsw i64 %5066, 7
  store i64 %5067, ptr %27, align 8, !tbaa !9
  %5068 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %5069 = load float, ptr %5068, align 4, !tbaa !11
  %5070 = load ptr, ptr %15, align 8, !tbaa !5
  %5071 = load i64, ptr %27, align 8, !tbaa !9
  %5072 = getelementptr inbounds %struct.complex, ptr %5070, i64 %5071
  %5073 = getelementptr inbounds %struct.complex, ptr %5072, i32 0, i32 0
  %5074 = load float, ptr %5073, align 4, !tbaa !11
  %5075 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %5076 = load float, ptr %5075, align 4, !tbaa !14
  %5077 = load ptr, ptr %15, align 8, !tbaa !5
  %5078 = load i64, ptr %27, align 8, !tbaa !9
  %5079 = getelementptr inbounds %struct.complex, ptr %5077, i64 %5078
  %5080 = getelementptr inbounds %struct.complex, ptr %5079, i32 0, i32 1
  %5081 = load float, ptr %5080, align 4, !tbaa !14
  %5082 = fmul float %5076, %5081
  %5083 = fneg float %5082
  %5084 = call float @llvm.fmuladd.f32(float %5069, float %5074, float %5083)
  %5085 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %5084, ptr %5085, align 4, !tbaa !11
  %5086 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %5087 = load float, ptr %5086, align 4, !tbaa !11
  %5088 = load ptr, ptr %15, align 8, !tbaa !5
  %5089 = load i64, ptr %27, align 8, !tbaa !9
  %5090 = getelementptr inbounds %struct.complex, ptr %5088, i64 %5089
  %5091 = getelementptr inbounds %struct.complex, ptr %5090, i32 0, i32 1
  %5092 = load float, ptr %5091, align 4, !tbaa !14
  %5093 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %5094 = load float, ptr %5093, align 4, !tbaa !14
  %5095 = load ptr, ptr %15, align 8, !tbaa !5
  %5096 = load i64, ptr %27, align 8, !tbaa !9
  %5097 = getelementptr inbounds %struct.complex, ptr %5095, i64 %5096
  %5098 = getelementptr inbounds %struct.complex, ptr %5097, i32 0, i32 0
  %5099 = load float, ptr %5098, align 4, !tbaa !11
  %5100 = fmul float %5094, %5099
  %5101 = call float @llvm.fmuladd.f32(float %5087, float %5092, float %5100)
  %5102 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %5101, ptr %5102, align 4, !tbaa !14
  %5103 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %5104 = load float, ptr %5103, align 4, !tbaa !11
  %5105 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %5106 = load float, ptr %5105, align 4, !tbaa !11
  %5107 = fadd float %5104, %5106
  %5108 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5107, ptr %5108, align 4, !tbaa !11
  %5109 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %5110 = load float, ptr %5109, align 4, !tbaa !14
  %5111 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %5112 = load float, ptr %5111, align 4, !tbaa !14
  %5113 = fadd float %5110, %5112
  %5114 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5113, ptr %5114, align 4, !tbaa !14
  %5115 = load i64, ptr %50, align 8, !tbaa !9
  %5116 = load i64, ptr %18, align 8, !tbaa !9
  %5117 = mul nsw i64 %5115, %5116
  %5118 = add nsw i64 %5117, 8
  store i64 %5118, ptr %28, align 8, !tbaa !9
  %5119 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %5120 = load float, ptr %5119, align 4, !tbaa !11
  %5121 = load ptr, ptr %15, align 8, !tbaa !5
  %5122 = load i64, ptr %28, align 8, !tbaa !9
  %5123 = getelementptr inbounds %struct.complex, ptr %5121, i64 %5122
  %5124 = getelementptr inbounds %struct.complex, ptr %5123, i32 0, i32 0
  %5125 = load float, ptr %5124, align 4, !tbaa !11
  %5126 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %5127 = load float, ptr %5126, align 4, !tbaa !14
  %5128 = load ptr, ptr %15, align 8, !tbaa !5
  %5129 = load i64, ptr %28, align 8, !tbaa !9
  %5130 = getelementptr inbounds %struct.complex, ptr %5128, i64 %5129
  %5131 = getelementptr inbounds %struct.complex, ptr %5130, i32 0, i32 1
  %5132 = load float, ptr %5131, align 4, !tbaa !14
  %5133 = fmul float %5127, %5132
  %5134 = fneg float %5133
  %5135 = call float @llvm.fmuladd.f32(float %5120, float %5125, float %5134)
  %5136 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %5135, ptr %5136, align 4, !tbaa !11
  %5137 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %5138 = load float, ptr %5137, align 4, !tbaa !11
  %5139 = load ptr, ptr %15, align 8, !tbaa !5
  %5140 = load i64, ptr %28, align 8, !tbaa !9
  %5141 = getelementptr inbounds %struct.complex, ptr %5139, i64 %5140
  %5142 = getelementptr inbounds %struct.complex, ptr %5141, i32 0, i32 1
  %5143 = load float, ptr %5142, align 4, !tbaa !14
  %5144 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %5145 = load float, ptr %5144, align 4, !tbaa !14
  %5146 = load ptr, ptr %15, align 8, !tbaa !5
  %5147 = load i64, ptr %28, align 8, !tbaa !9
  %5148 = getelementptr inbounds %struct.complex, ptr %5146, i64 %5147
  %5149 = getelementptr inbounds %struct.complex, ptr %5148, i32 0, i32 0
  %5150 = load float, ptr %5149, align 4, !tbaa !11
  %5151 = fmul float %5145, %5150
  %5152 = call float @llvm.fmuladd.f32(float %5138, float %5143, float %5151)
  %5153 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %5152, ptr %5153, align 4, !tbaa !14
  %5154 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5155 = load float, ptr %5154, align 4, !tbaa !11
  %5156 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %5157 = load float, ptr %5156, align 4, !tbaa !11
  %5158 = fadd float %5155, %5157
  %5159 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5158, ptr %5159, align 4, !tbaa !11
  %5160 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5161 = load float, ptr %5160, align 4, !tbaa !14
  %5162 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %5163 = load float, ptr %5162, align 4, !tbaa !14
  %5164 = fadd float %5161, %5163
  %5165 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5164, ptr %5165, align 4, !tbaa !14
  %5166 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5167 = load float, ptr %5166, align 4, !tbaa !11
  %5168 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %5167, ptr %5168, align 4, !tbaa !11
  %5169 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5170 = load float, ptr %5169, align 4, !tbaa !14
  %5171 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %5170, ptr %5171, align 4, !tbaa !14
  %5172 = load i64, ptr %50, align 8, !tbaa !9
  %5173 = load i64, ptr %18, align 8, !tbaa !9
  %5174 = mul nsw i64 %5172, %5173
  %5175 = add nsw i64 %5174, 1
  store i64 %5175, ptr %21, align 8, !tbaa !9
  %5176 = load i64, ptr %50, align 8, !tbaa !9
  %5177 = load i64, ptr %18, align 8, !tbaa !9
  %5178 = mul nsw i64 %5176, %5177
  %5179 = add nsw i64 %5178, 1
  store i64 %5179, ptr %22, align 8, !tbaa !9
  %5180 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5181 = load float, ptr %5180, align 4, !tbaa !11
  %5182 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %5183 = load float, ptr %5182, align 4, !tbaa !11
  %5184 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5185 = load float, ptr %5184, align 4, !tbaa !14
  %5186 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %5187 = load float, ptr %5186, align 4, !tbaa !14
  %5188 = fmul float %5185, %5187
  %5189 = fneg float %5188
  %5190 = call float @llvm.fmuladd.f32(float %5181, float %5183, float %5189)
  %5191 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5190, ptr %5191, align 4, !tbaa !11
  %5192 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5193 = load float, ptr %5192, align 4, !tbaa !11
  %5194 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %5195 = load float, ptr %5194, align 4, !tbaa !14
  %5196 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5197 = load float, ptr %5196, align 4, !tbaa !14
  %5198 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %5199 = load float, ptr %5198, align 4, !tbaa !11
  %5200 = fmul float %5197, %5199
  %5201 = call float @llvm.fmuladd.f32(float %5193, float %5195, float %5200)
  %5202 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5201, ptr %5202, align 4, !tbaa !14
  %5203 = load ptr, ptr %15, align 8, !tbaa !5
  %5204 = load i64, ptr %22, align 8, !tbaa !9
  %5205 = getelementptr inbounds %struct.complex, ptr %5203, i64 %5204
  %5206 = getelementptr inbounds %struct.complex, ptr %5205, i32 0, i32 0
  %5207 = load float, ptr %5206, align 4, !tbaa !11
  %5208 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5209 = load float, ptr %5208, align 4, !tbaa !11
  %5210 = fsub float %5207, %5209
  %5211 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5210, ptr %5211, align 4, !tbaa !11
  %5212 = load ptr, ptr %15, align 8, !tbaa !5
  %5213 = load i64, ptr %22, align 8, !tbaa !9
  %5214 = getelementptr inbounds %struct.complex, ptr %5212, i64 %5213
  %5215 = getelementptr inbounds %struct.complex, ptr %5214, i32 0, i32 1
  %5216 = load float, ptr %5215, align 4, !tbaa !14
  %5217 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5218 = load float, ptr %5217, align 4, !tbaa !14
  %5219 = fsub float %5216, %5218
  %5220 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5219, ptr %5220, align 4, !tbaa !14
  %5221 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5222 = load float, ptr %5221, align 4, !tbaa !11
  %5223 = load ptr, ptr %15, align 8, !tbaa !5
  %5224 = load i64, ptr %21, align 8, !tbaa !9
  %5225 = getelementptr inbounds %struct.complex, ptr %5223, i64 %5224
  %5226 = getelementptr inbounds %struct.complex, ptr %5225, i32 0, i32 0
  store float %5222, ptr %5226, align 4, !tbaa !11
  %5227 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5228 = load float, ptr %5227, align 4, !tbaa !14
  %5229 = load ptr, ptr %15, align 8, !tbaa !5
  %5230 = load i64, ptr %21, align 8, !tbaa !9
  %5231 = getelementptr inbounds %struct.complex, ptr %5229, i64 %5230
  %5232 = getelementptr inbounds %struct.complex, ptr %5231, i32 0, i32 1
  store float %5228, ptr %5232, align 4, !tbaa !14
  %5233 = load i64, ptr %50, align 8, !tbaa !9
  %5234 = load i64, ptr %18, align 8, !tbaa !9
  %5235 = mul nsw i64 %5233, %5234
  %5236 = add nsw i64 %5235, 2
  store i64 %5236, ptr %21, align 8, !tbaa !9
  %5237 = load i64, ptr %50, align 8, !tbaa !9
  %5238 = load i64, ptr %18, align 8, !tbaa !9
  %5239 = mul nsw i64 %5237, %5238
  %5240 = add nsw i64 %5239, 2
  store i64 %5240, ptr %22, align 8, !tbaa !9
  %5241 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5242 = load float, ptr %5241, align 4, !tbaa !11
  %5243 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %5244 = load float, ptr %5243, align 4, !tbaa !11
  %5245 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5246 = load float, ptr %5245, align 4, !tbaa !14
  %5247 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %5248 = load float, ptr %5247, align 4, !tbaa !14
  %5249 = fmul float %5246, %5248
  %5250 = fneg float %5249
  %5251 = call float @llvm.fmuladd.f32(float %5242, float %5244, float %5250)
  %5252 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5251, ptr %5252, align 4, !tbaa !11
  %5253 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5254 = load float, ptr %5253, align 4, !tbaa !11
  %5255 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %5256 = load float, ptr %5255, align 4, !tbaa !14
  %5257 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5258 = load float, ptr %5257, align 4, !tbaa !14
  %5259 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %5260 = load float, ptr %5259, align 4, !tbaa !11
  %5261 = fmul float %5258, %5260
  %5262 = call float @llvm.fmuladd.f32(float %5254, float %5256, float %5261)
  %5263 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5262, ptr %5263, align 4, !tbaa !14
  %5264 = load ptr, ptr %15, align 8, !tbaa !5
  %5265 = load i64, ptr %22, align 8, !tbaa !9
  %5266 = getelementptr inbounds %struct.complex, ptr %5264, i64 %5265
  %5267 = getelementptr inbounds %struct.complex, ptr %5266, i32 0, i32 0
  %5268 = load float, ptr %5267, align 4, !tbaa !11
  %5269 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5270 = load float, ptr %5269, align 4, !tbaa !11
  %5271 = fsub float %5268, %5270
  %5272 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5271, ptr %5272, align 4, !tbaa !11
  %5273 = load ptr, ptr %15, align 8, !tbaa !5
  %5274 = load i64, ptr %22, align 8, !tbaa !9
  %5275 = getelementptr inbounds %struct.complex, ptr %5273, i64 %5274
  %5276 = getelementptr inbounds %struct.complex, ptr %5275, i32 0, i32 1
  %5277 = load float, ptr %5276, align 4, !tbaa !14
  %5278 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5279 = load float, ptr %5278, align 4, !tbaa !14
  %5280 = fsub float %5277, %5279
  %5281 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5280, ptr %5281, align 4, !tbaa !14
  %5282 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5283 = load float, ptr %5282, align 4, !tbaa !11
  %5284 = load ptr, ptr %15, align 8, !tbaa !5
  %5285 = load i64, ptr %21, align 8, !tbaa !9
  %5286 = getelementptr inbounds %struct.complex, ptr %5284, i64 %5285
  %5287 = getelementptr inbounds %struct.complex, ptr %5286, i32 0, i32 0
  store float %5283, ptr %5287, align 4, !tbaa !11
  %5288 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5289 = load float, ptr %5288, align 4, !tbaa !14
  %5290 = load ptr, ptr %15, align 8, !tbaa !5
  %5291 = load i64, ptr %21, align 8, !tbaa !9
  %5292 = getelementptr inbounds %struct.complex, ptr %5290, i64 %5291
  %5293 = getelementptr inbounds %struct.complex, ptr %5292, i32 0, i32 1
  store float %5289, ptr %5293, align 4, !tbaa !14
  %5294 = load i64, ptr %50, align 8, !tbaa !9
  %5295 = load i64, ptr %18, align 8, !tbaa !9
  %5296 = mul nsw i64 %5294, %5295
  %5297 = add nsw i64 %5296, 3
  store i64 %5297, ptr %21, align 8, !tbaa !9
  %5298 = load i64, ptr %50, align 8, !tbaa !9
  %5299 = load i64, ptr %18, align 8, !tbaa !9
  %5300 = mul nsw i64 %5298, %5299
  %5301 = add nsw i64 %5300, 3
  store i64 %5301, ptr %22, align 8, !tbaa !9
  %5302 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5303 = load float, ptr %5302, align 4, !tbaa !11
  %5304 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %5305 = load float, ptr %5304, align 4, !tbaa !11
  %5306 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5307 = load float, ptr %5306, align 4, !tbaa !14
  %5308 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %5309 = load float, ptr %5308, align 4, !tbaa !14
  %5310 = fmul float %5307, %5309
  %5311 = fneg float %5310
  %5312 = call float @llvm.fmuladd.f32(float %5303, float %5305, float %5311)
  %5313 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5312, ptr %5313, align 4, !tbaa !11
  %5314 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5315 = load float, ptr %5314, align 4, !tbaa !11
  %5316 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %5317 = load float, ptr %5316, align 4, !tbaa !14
  %5318 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5319 = load float, ptr %5318, align 4, !tbaa !14
  %5320 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %5321 = load float, ptr %5320, align 4, !tbaa !11
  %5322 = fmul float %5319, %5321
  %5323 = call float @llvm.fmuladd.f32(float %5315, float %5317, float %5322)
  %5324 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5323, ptr %5324, align 4, !tbaa !14
  %5325 = load ptr, ptr %15, align 8, !tbaa !5
  %5326 = load i64, ptr %22, align 8, !tbaa !9
  %5327 = getelementptr inbounds %struct.complex, ptr %5325, i64 %5326
  %5328 = getelementptr inbounds %struct.complex, ptr %5327, i32 0, i32 0
  %5329 = load float, ptr %5328, align 4, !tbaa !11
  %5330 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5331 = load float, ptr %5330, align 4, !tbaa !11
  %5332 = fsub float %5329, %5331
  %5333 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5332, ptr %5333, align 4, !tbaa !11
  %5334 = load ptr, ptr %15, align 8, !tbaa !5
  %5335 = load i64, ptr %22, align 8, !tbaa !9
  %5336 = getelementptr inbounds %struct.complex, ptr %5334, i64 %5335
  %5337 = getelementptr inbounds %struct.complex, ptr %5336, i32 0, i32 1
  %5338 = load float, ptr %5337, align 4, !tbaa !14
  %5339 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5340 = load float, ptr %5339, align 4, !tbaa !14
  %5341 = fsub float %5338, %5340
  %5342 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5341, ptr %5342, align 4, !tbaa !14
  %5343 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5344 = load float, ptr %5343, align 4, !tbaa !11
  %5345 = load ptr, ptr %15, align 8, !tbaa !5
  %5346 = load i64, ptr %21, align 8, !tbaa !9
  %5347 = getelementptr inbounds %struct.complex, ptr %5345, i64 %5346
  %5348 = getelementptr inbounds %struct.complex, ptr %5347, i32 0, i32 0
  store float %5344, ptr %5348, align 4, !tbaa !11
  %5349 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5350 = load float, ptr %5349, align 4, !tbaa !14
  %5351 = load ptr, ptr %15, align 8, !tbaa !5
  %5352 = load i64, ptr %21, align 8, !tbaa !9
  %5353 = getelementptr inbounds %struct.complex, ptr %5351, i64 %5352
  %5354 = getelementptr inbounds %struct.complex, ptr %5353, i32 0, i32 1
  store float %5350, ptr %5354, align 4, !tbaa !14
  %5355 = load i64, ptr %50, align 8, !tbaa !9
  %5356 = load i64, ptr %18, align 8, !tbaa !9
  %5357 = mul nsw i64 %5355, %5356
  %5358 = add nsw i64 %5357, 4
  store i64 %5358, ptr %21, align 8, !tbaa !9
  %5359 = load i64, ptr %50, align 8, !tbaa !9
  %5360 = load i64, ptr %18, align 8, !tbaa !9
  %5361 = mul nsw i64 %5359, %5360
  %5362 = add nsw i64 %5361, 4
  store i64 %5362, ptr %22, align 8, !tbaa !9
  %5363 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5364 = load float, ptr %5363, align 4, !tbaa !11
  %5365 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %5366 = load float, ptr %5365, align 4, !tbaa !11
  %5367 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5368 = load float, ptr %5367, align 4, !tbaa !14
  %5369 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %5370 = load float, ptr %5369, align 4, !tbaa !14
  %5371 = fmul float %5368, %5370
  %5372 = fneg float %5371
  %5373 = call float @llvm.fmuladd.f32(float %5364, float %5366, float %5372)
  %5374 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5373, ptr %5374, align 4, !tbaa !11
  %5375 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5376 = load float, ptr %5375, align 4, !tbaa !11
  %5377 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %5378 = load float, ptr %5377, align 4, !tbaa !14
  %5379 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5380 = load float, ptr %5379, align 4, !tbaa !14
  %5381 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %5382 = load float, ptr %5381, align 4, !tbaa !11
  %5383 = fmul float %5380, %5382
  %5384 = call float @llvm.fmuladd.f32(float %5376, float %5378, float %5383)
  %5385 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5384, ptr %5385, align 4, !tbaa !14
  %5386 = load ptr, ptr %15, align 8, !tbaa !5
  %5387 = load i64, ptr %22, align 8, !tbaa !9
  %5388 = getelementptr inbounds %struct.complex, ptr %5386, i64 %5387
  %5389 = getelementptr inbounds %struct.complex, ptr %5388, i32 0, i32 0
  %5390 = load float, ptr %5389, align 4, !tbaa !11
  %5391 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5392 = load float, ptr %5391, align 4, !tbaa !11
  %5393 = fsub float %5390, %5392
  %5394 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5393, ptr %5394, align 4, !tbaa !11
  %5395 = load ptr, ptr %15, align 8, !tbaa !5
  %5396 = load i64, ptr %22, align 8, !tbaa !9
  %5397 = getelementptr inbounds %struct.complex, ptr %5395, i64 %5396
  %5398 = getelementptr inbounds %struct.complex, ptr %5397, i32 0, i32 1
  %5399 = load float, ptr %5398, align 4, !tbaa !14
  %5400 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5401 = load float, ptr %5400, align 4, !tbaa !14
  %5402 = fsub float %5399, %5401
  %5403 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5402, ptr %5403, align 4, !tbaa !14
  %5404 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5405 = load float, ptr %5404, align 4, !tbaa !11
  %5406 = load ptr, ptr %15, align 8, !tbaa !5
  %5407 = load i64, ptr %21, align 8, !tbaa !9
  %5408 = getelementptr inbounds %struct.complex, ptr %5406, i64 %5407
  %5409 = getelementptr inbounds %struct.complex, ptr %5408, i32 0, i32 0
  store float %5405, ptr %5409, align 4, !tbaa !11
  %5410 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5411 = load float, ptr %5410, align 4, !tbaa !14
  %5412 = load ptr, ptr %15, align 8, !tbaa !5
  %5413 = load i64, ptr %21, align 8, !tbaa !9
  %5414 = getelementptr inbounds %struct.complex, ptr %5412, i64 %5413
  %5415 = getelementptr inbounds %struct.complex, ptr %5414, i32 0, i32 1
  store float %5411, ptr %5415, align 4, !tbaa !14
  %5416 = load i64, ptr %50, align 8, !tbaa !9
  %5417 = load i64, ptr %18, align 8, !tbaa !9
  %5418 = mul nsw i64 %5416, %5417
  %5419 = add nsw i64 %5418, 5
  store i64 %5419, ptr %21, align 8, !tbaa !9
  %5420 = load i64, ptr %50, align 8, !tbaa !9
  %5421 = load i64, ptr %18, align 8, !tbaa !9
  %5422 = mul nsw i64 %5420, %5421
  %5423 = add nsw i64 %5422, 5
  store i64 %5423, ptr %22, align 8, !tbaa !9
  %5424 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5425 = load float, ptr %5424, align 4, !tbaa !11
  %5426 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %5427 = load float, ptr %5426, align 4, !tbaa !11
  %5428 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5429 = load float, ptr %5428, align 4, !tbaa !14
  %5430 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %5431 = load float, ptr %5430, align 4, !tbaa !14
  %5432 = fmul float %5429, %5431
  %5433 = fneg float %5432
  %5434 = call float @llvm.fmuladd.f32(float %5425, float %5427, float %5433)
  %5435 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5434, ptr %5435, align 4, !tbaa !11
  %5436 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5437 = load float, ptr %5436, align 4, !tbaa !11
  %5438 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %5439 = load float, ptr %5438, align 4, !tbaa !14
  %5440 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5441 = load float, ptr %5440, align 4, !tbaa !14
  %5442 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %5443 = load float, ptr %5442, align 4, !tbaa !11
  %5444 = fmul float %5441, %5443
  %5445 = call float @llvm.fmuladd.f32(float %5437, float %5439, float %5444)
  %5446 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5445, ptr %5446, align 4, !tbaa !14
  %5447 = load ptr, ptr %15, align 8, !tbaa !5
  %5448 = load i64, ptr %22, align 8, !tbaa !9
  %5449 = getelementptr inbounds %struct.complex, ptr %5447, i64 %5448
  %5450 = getelementptr inbounds %struct.complex, ptr %5449, i32 0, i32 0
  %5451 = load float, ptr %5450, align 4, !tbaa !11
  %5452 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5453 = load float, ptr %5452, align 4, !tbaa !11
  %5454 = fsub float %5451, %5453
  %5455 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5454, ptr %5455, align 4, !tbaa !11
  %5456 = load ptr, ptr %15, align 8, !tbaa !5
  %5457 = load i64, ptr %22, align 8, !tbaa !9
  %5458 = getelementptr inbounds %struct.complex, ptr %5456, i64 %5457
  %5459 = getelementptr inbounds %struct.complex, ptr %5458, i32 0, i32 1
  %5460 = load float, ptr %5459, align 4, !tbaa !14
  %5461 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5462 = load float, ptr %5461, align 4, !tbaa !14
  %5463 = fsub float %5460, %5462
  %5464 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5463, ptr %5464, align 4, !tbaa !14
  %5465 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5466 = load float, ptr %5465, align 4, !tbaa !11
  %5467 = load ptr, ptr %15, align 8, !tbaa !5
  %5468 = load i64, ptr %21, align 8, !tbaa !9
  %5469 = getelementptr inbounds %struct.complex, ptr %5467, i64 %5468
  %5470 = getelementptr inbounds %struct.complex, ptr %5469, i32 0, i32 0
  store float %5466, ptr %5470, align 4, !tbaa !11
  %5471 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5472 = load float, ptr %5471, align 4, !tbaa !14
  %5473 = load ptr, ptr %15, align 8, !tbaa !5
  %5474 = load i64, ptr %21, align 8, !tbaa !9
  %5475 = getelementptr inbounds %struct.complex, ptr %5473, i64 %5474
  %5476 = getelementptr inbounds %struct.complex, ptr %5475, i32 0, i32 1
  store float %5472, ptr %5476, align 4, !tbaa !14
  %5477 = load i64, ptr %50, align 8, !tbaa !9
  %5478 = load i64, ptr %18, align 8, !tbaa !9
  %5479 = mul nsw i64 %5477, %5478
  %5480 = add nsw i64 %5479, 6
  store i64 %5480, ptr %21, align 8, !tbaa !9
  %5481 = load i64, ptr %50, align 8, !tbaa !9
  %5482 = load i64, ptr %18, align 8, !tbaa !9
  %5483 = mul nsw i64 %5481, %5482
  %5484 = add nsw i64 %5483, 6
  store i64 %5484, ptr %22, align 8, !tbaa !9
  %5485 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5486 = load float, ptr %5485, align 4, !tbaa !11
  %5487 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %5488 = load float, ptr %5487, align 4, !tbaa !11
  %5489 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5490 = load float, ptr %5489, align 4, !tbaa !14
  %5491 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %5492 = load float, ptr %5491, align 4, !tbaa !14
  %5493 = fmul float %5490, %5492
  %5494 = fneg float %5493
  %5495 = call float @llvm.fmuladd.f32(float %5486, float %5488, float %5494)
  %5496 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5495, ptr %5496, align 4, !tbaa !11
  %5497 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5498 = load float, ptr %5497, align 4, !tbaa !11
  %5499 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %5500 = load float, ptr %5499, align 4, !tbaa !14
  %5501 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5502 = load float, ptr %5501, align 4, !tbaa !14
  %5503 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %5504 = load float, ptr %5503, align 4, !tbaa !11
  %5505 = fmul float %5502, %5504
  %5506 = call float @llvm.fmuladd.f32(float %5498, float %5500, float %5505)
  %5507 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5506, ptr %5507, align 4, !tbaa !14
  %5508 = load ptr, ptr %15, align 8, !tbaa !5
  %5509 = load i64, ptr %22, align 8, !tbaa !9
  %5510 = getelementptr inbounds %struct.complex, ptr %5508, i64 %5509
  %5511 = getelementptr inbounds %struct.complex, ptr %5510, i32 0, i32 0
  %5512 = load float, ptr %5511, align 4, !tbaa !11
  %5513 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5514 = load float, ptr %5513, align 4, !tbaa !11
  %5515 = fsub float %5512, %5514
  %5516 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5515, ptr %5516, align 4, !tbaa !11
  %5517 = load ptr, ptr %15, align 8, !tbaa !5
  %5518 = load i64, ptr %22, align 8, !tbaa !9
  %5519 = getelementptr inbounds %struct.complex, ptr %5517, i64 %5518
  %5520 = getelementptr inbounds %struct.complex, ptr %5519, i32 0, i32 1
  %5521 = load float, ptr %5520, align 4, !tbaa !14
  %5522 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5523 = load float, ptr %5522, align 4, !tbaa !14
  %5524 = fsub float %5521, %5523
  %5525 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5524, ptr %5525, align 4, !tbaa !14
  %5526 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5527 = load float, ptr %5526, align 4, !tbaa !11
  %5528 = load ptr, ptr %15, align 8, !tbaa !5
  %5529 = load i64, ptr %21, align 8, !tbaa !9
  %5530 = getelementptr inbounds %struct.complex, ptr %5528, i64 %5529
  %5531 = getelementptr inbounds %struct.complex, ptr %5530, i32 0, i32 0
  store float %5527, ptr %5531, align 4, !tbaa !11
  %5532 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5533 = load float, ptr %5532, align 4, !tbaa !14
  %5534 = load ptr, ptr %15, align 8, !tbaa !5
  %5535 = load i64, ptr %21, align 8, !tbaa !9
  %5536 = getelementptr inbounds %struct.complex, ptr %5534, i64 %5535
  %5537 = getelementptr inbounds %struct.complex, ptr %5536, i32 0, i32 1
  store float %5533, ptr %5537, align 4, !tbaa !14
  %5538 = load i64, ptr %50, align 8, !tbaa !9
  %5539 = load i64, ptr %18, align 8, !tbaa !9
  %5540 = mul nsw i64 %5538, %5539
  %5541 = add nsw i64 %5540, 7
  store i64 %5541, ptr %21, align 8, !tbaa !9
  %5542 = load i64, ptr %50, align 8, !tbaa !9
  %5543 = load i64, ptr %18, align 8, !tbaa !9
  %5544 = mul nsw i64 %5542, %5543
  %5545 = add nsw i64 %5544, 7
  store i64 %5545, ptr %22, align 8, !tbaa !9
  %5546 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5547 = load float, ptr %5546, align 4, !tbaa !11
  %5548 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %5549 = load float, ptr %5548, align 4, !tbaa !11
  %5550 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5551 = load float, ptr %5550, align 4, !tbaa !14
  %5552 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %5553 = load float, ptr %5552, align 4, !tbaa !14
  %5554 = fmul float %5551, %5553
  %5555 = fneg float %5554
  %5556 = call float @llvm.fmuladd.f32(float %5547, float %5549, float %5555)
  %5557 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5556, ptr %5557, align 4, !tbaa !11
  %5558 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5559 = load float, ptr %5558, align 4, !tbaa !11
  %5560 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %5561 = load float, ptr %5560, align 4, !tbaa !14
  %5562 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5563 = load float, ptr %5562, align 4, !tbaa !14
  %5564 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %5565 = load float, ptr %5564, align 4, !tbaa !11
  %5566 = fmul float %5563, %5565
  %5567 = call float @llvm.fmuladd.f32(float %5559, float %5561, float %5566)
  %5568 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5567, ptr %5568, align 4, !tbaa !14
  %5569 = load ptr, ptr %15, align 8, !tbaa !5
  %5570 = load i64, ptr %22, align 8, !tbaa !9
  %5571 = getelementptr inbounds %struct.complex, ptr %5569, i64 %5570
  %5572 = getelementptr inbounds %struct.complex, ptr %5571, i32 0, i32 0
  %5573 = load float, ptr %5572, align 4, !tbaa !11
  %5574 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5575 = load float, ptr %5574, align 4, !tbaa !11
  %5576 = fsub float %5573, %5575
  %5577 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5576, ptr %5577, align 4, !tbaa !11
  %5578 = load ptr, ptr %15, align 8, !tbaa !5
  %5579 = load i64, ptr %22, align 8, !tbaa !9
  %5580 = getelementptr inbounds %struct.complex, ptr %5578, i64 %5579
  %5581 = getelementptr inbounds %struct.complex, ptr %5580, i32 0, i32 1
  %5582 = load float, ptr %5581, align 4, !tbaa !14
  %5583 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5584 = load float, ptr %5583, align 4, !tbaa !14
  %5585 = fsub float %5582, %5584
  %5586 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5585, ptr %5586, align 4, !tbaa !14
  %5587 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5588 = load float, ptr %5587, align 4, !tbaa !11
  %5589 = load ptr, ptr %15, align 8, !tbaa !5
  %5590 = load i64, ptr %21, align 8, !tbaa !9
  %5591 = getelementptr inbounds %struct.complex, ptr %5589, i64 %5590
  %5592 = getelementptr inbounds %struct.complex, ptr %5591, i32 0, i32 0
  store float %5588, ptr %5592, align 4, !tbaa !11
  %5593 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5594 = load float, ptr %5593, align 4, !tbaa !14
  %5595 = load ptr, ptr %15, align 8, !tbaa !5
  %5596 = load i64, ptr %21, align 8, !tbaa !9
  %5597 = getelementptr inbounds %struct.complex, ptr %5595, i64 %5596
  %5598 = getelementptr inbounds %struct.complex, ptr %5597, i32 0, i32 1
  store float %5594, ptr %5598, align 4, !tbaa !14
  %5599 = load i64, ptr %50, align 8, !tbaa !9
  %5600 = load i64, ptr %18, align 8, !tbaa !9
  %5601 = mul nsw i64 %5599, %5600
  %5602 = add nsw i64 %5601, 8
  store i64 %5602, ptr %21, align 8, !tbaa !9
  %5603 = load i64, ptr %50, align 8, !tbaa !9
  %5604 = load i64, ptr %18, align 8, !tbaa !9
  %5605 = mul nsw i64 %5603, %5604
  %5606 = add nsw i64 %5605, 8
  store i64 %5606, ptr %22, align 8, !tbaa !9
  %5607 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5608 = load float, ptr %5607, align 4, !tbaa !11
  %5609 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %5610 = load float, ptr %5609, align 4, !tbaa !11
  %5611 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5612 = load float, ptr %5611, align 4, !tbaa !14
  %5613 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %5614 = load float, ptr %5613, align 4, !tbaa !14
  %5615 = fmul float %5612, %5614
  %5616 = fneg float %5615
  %5617 = call float @llvm.fmuladd.f32(float %5608, float %5610, float %5616)
  %5618 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %5617, ptr %5618, align 4, !tbaa !11
  %5619 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %5620 = load float, ptr %5619, align 4, !tbaa !11
  %5621 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %5622 = load float, ptr %5621, align 4, !tbaa !14
  %5623 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %5624 = load float, ptr %5623, align 4, !tbaa !14
  %5625 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %5626 = load float, ptr %5625, align 4, !tbaa !11
  %5627 = fmul float %5624, %5626
  %5628 = call float @llvm.fmuladd.f32(float %5620, float %5622, float %5627)
  %5629 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %5628, ptr %5629, align 4, !tbaa !14
  %5630 = load ptr, ptr %15, align 8, !tbaa !5
  %5631 = load i64, ptr %22, align 8, !tbaa !9
  %5632 = getelementptr inbounds %struct.complex, ptr %5630, i64 %5631
  %5633 = getelementptr inbounds %struct.complex, ptr %5632, i32 0, i32 0
  %5634 = load float, ptr %5633, align 4, !tbaa !11
  %5635 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5636 = load float, ptr %5635, align 4, !tbaa !11
  %5637 = fsub float %5634, %5636
  %5638 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5637, ptr %5638, align 4, !tbaa !11
  %5639 = load ptr, ptr %15, align 8, !tbaa !5
  %5640 = load i64, ptr %22, align 8, !tbaa !9
  %5641 = getelementptr inbounds %struct.complex, ptr %5639, i64 %5640
  %5642 = getelementptr inbounds %struct.complex, ptr %5641, i32 0, i32 1
  %5643 = load float, ptr %5642, align 4, !tbaa !14
  %5644 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5645 = load float, ptr %5644, align 4, !tbaa !14
  %5646 = fsub float %5643, %5645
  %5647 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5646, ptr %5647, align 4, !tbaa !14
  %5648 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5649 = load float, ptr %5648, align 4, !tbaa !11
  %5650 = load ptr, ptr %15, align 8, !tbaa !5
  %5651 = load i64, ptr %21, align 8, !tbaa !9
  %5652 = getelementptr inbounds %struct.complex, ptr %5650, i64 %5651
  %5653 = getelementptr inbounds %struct.complex, ptr %5652, i32 0, i32 0
  store float %5649, ptr %5653, align 4, !tbaa !11
  %5654 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5655 = load float, ptr %5654, align 4, !tbaa !14
  %5656 = load ptr, ptr %15, align 8, !tbaa !5
  %5657 = load i64, ptr %21, align 8, !tbaa !9
  %5658 = getelementptr inbounds %struct.complex, ptr %5656, i64 %5657
  %5659 = getelementptr inbounds %struct.complex, ptr %5658, i32 0, i32 1
  store float %5655, ptr %5659, align 4, !tbaa !14
  br label %5660

5660:                                             ; preds = %4769
  %5661 = load i64, ptr %50, align 8, !tbaa !9
  %5662 = add nsw i64 %5661, 1
  store i64 %5662, ptr %50, align 8, !tbaa !9
  br label %4765, !llvm.loop !23

5663:                                             ; preds = %4765
  br label %17146

5664:                                             ; preds = %110
  %5665 = load ptr, ptr %13, align 8, !tbaa !5
  %5666 = getelementptr inbounds %struct.complex, ptr %5665, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %5666)
  %5667 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5668 = load float, ptr %5667, align 4, !tbaa !11
  %5669 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %5668, ptr %5669, align 4, !tbaa !11
  %5670 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5671 = load float, ptr %5670, align 4, !tbaa !14
  %5672 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %5671, ptr %5672, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %5673 = load ptr, ptr %14, align 8, !tbaa !5
  %5674 = getelementptr inbounds %struct.complex, ptr %5673, i32 0, i32 0
  %5675 = load float, ptr %5674, align 4, !tbaa !11
  %5676 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5677 = load float, ptr %5676, align 4, !tbaa !11
  %5678 = load ptr, ptr %14, align 8, !tbaa !5
  %5679 = getelementptr inbounds %struct.complex, ptr %5678, i32 0, i32 1
  %5680 = load float, ptr %5679, align 4, !tbaa !14
  %5681 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5682 = load float, ptr %5681, align 4, !tbaa !14
  %5683 = fmul float %5680, %5682
  %5684 = fneg float %5683
  %5685 = call float @llvm.fmuladd.f32(float %5675, float %5677, float %5684)
  %5686 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5685, ptr %5686, align 4, !tbaa !11
  %5687 = load ptr, ptr %14, align 8, !tbaa !5
  %5688 = getelementptr inbounds %struct.complex, ptr %5687, i32 0, i32 0
  %5689 = load float, ptr %5688, align 4, !tbaa !11
  %5690 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5691 = load float, ptr %5690, align 4, !tbaa !14
  %5692 = load ptr, ptr %14, align 8, !tbaa !5
  %5693 = getelementptr inbounds %struct.complex, ptr %5692, i32 0, i32 1
  %5694 = load float, ptr %5693, align 4, !tbaa !14
  %5695 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5696 = load float, ptr %5695, align 4, !tbaa !11
  %5697 = fmul float %5694, %5696
  %5698 = call float @llvm.fmuladd.f32(float %5689, float %5691, float %5697)
  %5699 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5698, ptr %5699, align 4, !tbaa !14
  %5700 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5701 = load float, ptr %5700, align 4, !tbaa !11
  %5702 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %5701, ptr %5702, align 4, !tbaa !11
  %5703 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5704 = load float, ptr %5703, align 4, !tbaa !14
  %5705 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %5704, ptr %5705, align 4, !tbaa !14
  %5706 = load ptr, ptr %13, align 8, !tbaa !5
  %5707 = getelementptr inbounds %struct.complex, ptr %5706, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %5707)
  %5708 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5709 = load float, ptr %5708, align 4, !tbaa !11
  %5710 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %5709, ptr %5710, align 4, !tbaa !11
  %5711 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5712 = load float, ptr %5711, align 4, !tbaa !14
  %5713 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %5712, ptr %5713, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %5714 = load ptr, ptr %14, align 8, !tbaa !5
  %5715 = getelementptr inbounds %struct.complex, ptr %5714, i32 0, i32 0
  %5716 = load float, ptr %5715, align 4, !tbaa !11
  %5717 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5718 = load float, ptr %5717, align 4, !tbaa !11
  %5719 = load ptr, ptr %14, align 8, !tbaa !5
  %5720 = getelementptr inbounds %struct.complex, ptr %5719, i32 0, i32 1
  %5721 = load float, ptr %5720, align 4, !tbaa !14
  %5722 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5723 = load float, ptr %5722, align 4, !tbaa !14
  %5724 = fmul float %5721, %5723
  %5725 = fneg float %5724
  %5726 = call float @llvm.fmuladd.f32(float %5716, float %5718, float %5725)
  %5727 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5726, ptr %5727, align 4, !tbaa !11
  %5728 = load ptr, ptr %14, align 8, !tbaa !5
  %5729 = getelementptr inbounds %struct.complex, ptr %5728, i32 0, i32 0
  %5730 = load float, ptr %5729, align 4, !tbaa !11
  %5731 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5732 = load float, ptr %5731, align 4, !tbaa !14
  %5733 = load ptr, ptr %14, align 8, !tbaa !5
  %5734 = getelementptr inbounds %struct.complex, ptr %5733, i32 0, i32 1
  %5735 = load float, ptr %5734, align 4, !tbaa !14
  %5736 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5737 = load float, ptr %5736, align 4, !tbaa !11
  %5738 = fmul float %5735, %5737
  %5739 = call float @llvm.fmuladd.f32(float %5730, float %5732, float %5738)
  %5740 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5739, ptr %5740, align 4, !tbaa !14
  %5741 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5742 = load float, ptr %5741, align 4, !tbaa !11
  %5743 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %5742, ptr %5743, align 4, !tbaa !11
  %5744 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5745 = load float, ptr %5744, align 4, !tbaa !14
  %5746 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %5745, ptr %5746, align 4, !tbaa !14
  %5747 = load ptr, ptr %13, align 8, !tbaa !5
  %5748 = getelementptr inbounds %struct.complex, ptr %5747, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %5748)
  %5749 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5750 = load float, ptr %5749, align 4, !tbaa !11
  %5751 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %5750, ptr %5751, align 4, !tbaa !11
  %5752 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5753 = load float, ptr %5752, align 4, !tbaa !14
  %5754 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %5753, ptr %5754, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %5755 = load ptr, ptr %14, align 8, !tbaa !5
  %5756 = getelementptr inbounds %struct.complex, ptr %5755, i32 0, i32 0
  %5757 = load float, ptr %5756, align 4, !tbaa !11
  %5758 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5759 = load float, ptr %5758, align 4, !tbaa !11
  %5760 = load ptr, ptr %14, align 8, !tbaa !5
  %5761 = getelementptr inbounds %struct.complex, ptr %5760, i32 0, i32 1
  %5762 = load float, ptr %5761, align 4, !tbaa !14
  %5763 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5764 = load float, ptr %5763, align 4, !tbaa !14
  %5765 = fmul float %5762, %5764
  %5766 = fneg float %5765
  %5767 = call float @llvm.fmuladd.f32(float %5757, float %5759, float %5766)
  %5768 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5767, ptr %5768, align 4, !tbaa !11
  %5769 = load ptr, ptr %14, align 8, !tbaa !5
  %5770 = getelementptr inbounds %struct.complex, ptr %5769, i32 0, i32 0
  %5771 = load float, ptr %5770, align 4, !tbaa !11
  %5772 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5773 = load float, ptr %5772, align 4, !tbaa !14
  %5774 = load ptr, ptr %14, align 8, !tbaa !5
  %5775 = getelementptr inbounds %struct.complex, ptr %5774, i32 0, i32 1
  %5776 = load float, ptr %5775, align 4, !tbaa !14
  %5777 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5778 = load float, ptr %5777, align 4, !tbaa !11
  %5779 = fmul float %5776, %5778
  %5780 = call float @llvm.fmuladd.f32(float %5771, float %5773, float %5779)
  %5781 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5780, ptr %5781, align 4, !tbaa !14
  %5782 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5783 = load float, ptr %5782, align 4, !tbaa !11
  %5784 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %5783, ptr %5784, align 4, !tbaa !11
  %5785 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5786 = load float, ptr %5785, align 4, !tbaa !14
  %5787 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %5786, ptr %5787, align 4, !tbaa !14
  %5788 = load ptr, ptr %13, align 8, !tbaa !5
  %5789 = getelementptr inbounds %struct.complex, ptr %5788, i64 4
  call void @r_cnjg(ptr noundef %31, ptr noundef %5789)
  %5790 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5791 = load float, ptr %5790, align 4, !tbaa !11
  %5792 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %5791, ptr %5792, align 4, !tbaa !11
  %5793 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5794 = load float, ptr %5793, align 4, !tbaa !14
  %5795 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %5794, ptr %5795, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %5796 = load ptr, ptr %14, align 8, !tbaa !5
  %5797 = getelementptr inbounds %struct.complex, ptr %5796, i32 0, i32 0
  %5798 = load float, ptr %5797, align 4, !tbaa !11
  %5799 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5800 = load float, ptr %5799, align 4, !tbaa !11
  %5801 = load ptr, ptr %14, align 8, !tbaa !5
  %5802 = getelementptr inbounds %struct.complex, ptr %5801, i32 0, i32 1
  %5803 = load float, ptr %5802, align 4, !tbaa !14
  %5804 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5805 = load float, ptr %5804, align 4, !tbaa !14
  %5806 = fmul float %5803, %5805
  %5807 = fneg float %5806
  %5808 = call float @llvm.fmuladd.f32(float %5798, float %5800, float %5807)
  %5809 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5808, ptr %5809, align 4, !tbaa !11
  %5810 = load ptr, ptr %14, align 8, !tbaa !5
  %5811 = getelementptr inbounds %struct.complex, ptr %5810, i32 0, i32 0
  %5812 = load float, ptr %5811, align 4, !tbaa !11
  %5813 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5814 = load float, ptr %5813, align 4, !tbaa !14
  %5815 = load ptr, ptr %14, align 8, !tbaa !5
  %5816 = getelementptr inbounds %struct.complex, ptr %5815, i32 0, i32 1
  %5817 = load float, ptr %5816, align 4, !tbaa !14
  %5818 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5819 = load float, ptr %5818, align 4, !tbaa !11
  %5820 = fmul float %5817, %5819
  %5821 = call float @llvm.fmuladd.f32(float %5812, float %5814, float %5820)
  %5822 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5821, ptr %5822, align 4, !tbaa !14
  %5823 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5824 = load float, ptr %5823, align 4, !tbaa !11
  %5825 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %5824, ptr %5825, align 4, !tbaa !11
  %5826 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5827 = load float, ptr %5826, align 4, !tbaa !14
  %5828 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %5827, ptr %5828, align 4, !tbaa !14
  %5829 = load ptr, ptr %13, align 8, !tbaa !5
  %5830 = getelementptr inbounds %struct.complex, ptr %5829, i64 5
  call void @r_cnjg(ptr noundef %31, ptr noundef %5830)
  %5831 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5832 = load float, ptr %5831, align 4, !tbaa !11
  %5833 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %5832, ptr %5833, align 4, !tbaa !11
  %5834 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5835 = load float, ptr %5834, align 4, !tbaa !14
  %5836 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %5835, ptr %5836, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %5837 = load ptr, ptr %14, align 8, !tbaa !5
  %5838 = getelementptr inbounds %struct.complex, ptr %5837, i32 0, i32 0
  %5839 = load float, ptr %5838, align 4, !tbaa !11
  %5840 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5841 = load float, ptr %5840, align 4, !tbaa !11
  %5842 = load ptr, ptr %14, align 8, !tbaa !5
  %5843 = getelementptr inbounds %struct.complex, ptr %5842, i32 0, i32 1
  %5844 = load float, ptr %5843, align 4, !tbaa !14
  %5845 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5846 = load float, ptr %5845, align 4, !tbaa !14
  %5847 = fmul float %5844, %5846
  %5848 = fneg float %5847
  %5849 = call float @llvm.fmuladd.f32(float %5839, float %5841, float %5848)
  %5850 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5849, ptr %5850, align 4, !tbaa !11
  %5851 = load ptr, ptr %14, align 8, !tbaa !5
  %5852 = getelementptr inbounds %struct.complex, ptr %5851, i32 0, i32 0
  %5853 = load float, ptr %5852, align 4, !tbaa !11
  %5854 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5855 = load float, ptr %5854, align 4, !tbaa !14
  %5856 = load ptr, ptr %14, align 8, !tbaa !5
  %5857 = getelementptr inbounds %struct.complex, ptr %5856, i32 0, i32 1
  %5858 = load float, ptr %5857, align 4, !tbaa !14
  %5859 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5860 = load float, ptr %5859, align 4, !tbaa !11
  %5861 = fmul float %5858, %5860
  %5862 = call float @llvm.fmuladd.f32(float %5853, float %5855, float %5861)
  %5863 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5862, ptr %5863, align 4, !tbaa !14
  %5864 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5865 = load float, ptr %5864, align 4, !tbaa !11
  %5866 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %5865, ptr %5866, align 4, !tbaa !11
  %5867 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5868 = load float, ptr %5867, align 4, !tbaa !14
  %5869 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %5868, ptr %5869, align 4, !tbaa !14
  %5870 = load ptr, ptr %13, align 8, !tbaa !5
  %5871 = getelementptr inbounds %struct.complex, ptr %5870, i64 6
  call void @r_cnjg(ptr noundef %31, ptr noundef %5871)
  %5872 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5873 = load float, ptr %5872, align 4, !tbaa !11
  %5874 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %5873, ptr %5874, align 4, !tbaa !11
  %5875 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5876 = load float, ptr %5875, align 4, !tbaa !14
  %5877 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %5876, ptr %5877, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %5878 = load ptr, ptr %14, align 8, !tbaa !5
  %5879 = getelementptr inbounds %struct.complex, ptr %5878, i32 0, i32 0
  %5880 = load float, ptr %5879, align 4, !tbaa !11
  %5881 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5882 = load float, ptr %5881, align 4, !tbaa !11
  %5883 = load ptr, ptr %14, align 8, !tbaa !5
  %5884 = getelementptr inbounds %struct.complex, ptr %5883, i32 0, i32 1
  %5885 = load float, ptr %5884, align 4, !tbaa !14
  %5886 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5887 = load float, ptr %5886, align 4, !tbaa !14
  %5888 = fmul float %5885, %5887
  %5889 = fneg float %5888
  %5890 = call float @llvm.fmuladd.f32(float %5880, float %5882, float %5889)
  %5891 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5890, ptr %5891, align 4, !tbaa !11
  %5892 = load ptr, ptr %14, align 8, !tbaa !5
  %5893 = getelementptr inbounds %struct.complex, ptr %5892, i32 0, i32 0
  %5894 = load float, ptr %5893, align 4, !tbaa !11
  %5895 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5896 = load float, ptr %5895, align 4, !tbaa !14
  %5897 = load ptr, ptr %14, align 8, !tbaa !5
  %5898 = getelementptr inbounds %struct.complex, ptr %5897, i32 0, i32 1
  %5899 = load float, ptr %5898, align 4, !tbaa !14
  %5900 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5901 = load float, ptr %5900, align 4, !tbaa !11
  %5902 = fmul float %5899, %5901
  %5903 = call float @llvm.fmuladd.f32(float %5894, float %5896, float %5902)
  %5904 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5903, ptr %5904, align 4, !tbaa !14
  %5905 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5906 = load float, ptr %5905, align 4, !tbaa !11
  %5907 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %5906, ptr %5907, align 4, !tbaa !11
  %5908 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5909 = load float, ptr %5908, align 4, !tbaa !14
  %5910 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %5909, ptr %5910, align 4, !tbaa !14
  %5911 = load ptr, ptr %13, align 8, !tbaa !5
  %5912 = getelementptr inbounds %struct.complex, ptr %5911, i64 7
  call void @r_cnjg(ptr noundef %31, ptr noundef %5912)
  %5913 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5914 = load float, ptr %5913, align 4, !tbaa !11
  %5915 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %5914, ptr %5915, align 4, !tbaa !11
  %5916 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5917 = load float, ptr %5916, align 4, !tbaa !14
  %5918 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %5917, ptr %5918, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %5919 = load ptr, ptr %14, align 8, !tbaa !5
  %5920 = getelementptr inbounds %struct.complex, ptr %5919, i32 0, i32 0
  %5921 = load float, ptr %5920, align 4, !tbaa !11
  %5922 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5923 = load float, ptr %5922, align 4, !tbaa !11
  %5924 = load ptr, ptr %14, align 8, !tbaa !5
  %5925 = getelementptr inbounds %struct.complex, ptr %5924, i32 0, i32 1
  %5926 = load float, ptr %5925, align 4, !tbaa !14
  %5927 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5928 = load float, ptr %5927, align 4, !tbaa !14
  %5929 = fmul float %5926, %5928
  %5930 = fneg float %5929
  %5931 = call float @llvm.fmuladd.f32(float %5921, float %5923, float %5930)
  %5932 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5931, ptr %5932, align 4, !tbaa !11
  %5933 = load ptr, ptr %14, align 8, !tbaa !5
  %5934 = getelementptr inbounds %struct.complex, ptr %5933, i32 0, i32 0
  %5935 = load float, ptr %5934, align 4, !tbaa !11
  %5936 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5937 = load float, ptr %5936, align 4, !tbaa !14
  %5938 = load ptr, ptr %14, align 8, !tbaa !5
  %5939 = getelementptr inbounds %struct.complex, ptr %5938, i32 0, i32 1
  %5940 = load float, ptr %5939, align 4, !tbaa !14
  %5941 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5942 = load float, ptr %5941, align 4, !tbaa !11
  %5943 = fmul float %5940, %5942
  %5944 = call float @llvm.fmuladd.f32(float %5935, float %5937, float %5943)
  %5945 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5944, ptr %5945, align 4, !tbaa !14
  %5946 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5947 = load float, ptr %5946, align 4, !tbaa !11
  %5948 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %5947, ptr %5948, align 4, !tbaa !11
  %5949 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5950 = load float, ptr %5949, align 4, !tbaa !14
  %5951 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %5950, ptr %5951, align 4, !tbaa !14
  %5952 = load ptr, ptr %13, align 8, !tbaa !5
  %5953 = getelementptr inbounds %struct.complex, ptr %5952, i64 8
  call void @r_cnjg(ptr noundef %31, ptr noundef %5953)
  %5954 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5955 = load float, ptr %5954, align 4, !tbaa !11
  %5956 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %5955, ptr %5956, align 4, !tbaa !11
  %5957 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5958 = load float, ptr %5957, align 4, !tbaa !14
  %5959 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %5958, ptr %5959, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %67)
  %5960 = load ptr, ptr %14, align 8, !tbaa !5
  %5961 = getelementptr inbounds %struct.complex, ptr %5960, i32 0, i32 0
  %5962 = load float, ptr %5961, align 4, !tbaa !11
  %5963 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5964 = load float, ptr %5963, align 4, !tbaa !11
  %5965 = load ptr, ptr %14, align 8, !tbaa !5
  %5966 = getelementptr inbounds %struct.complex, ptr %5965, i32 0, i32 1
  %5967 = load float, ptr %5966, align 4, !tbaa !14
  %5968 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5969 = load float, ptr %5968, align 4, !tbaa !14
  %5970 = fmul float %5967, %5969
  %5971 = fneg float %5970
  %5972 = call float @llvm.fmuladd.f32(float %5962, float %5964, float %5971)
  %5973 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %5972, ptr %5973, align 4, !tbaa !11
  %5974 = load ptr, ptr %14, align 8, !tbaa !5
  %5975 = getelementptr inbounds %struct.complex, ptr %5974, i32 0, i32 0
  %5976 = load float, ptr %5975, align 4, !tbaa !11
  %5977 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %5978 = load float, ptr %5977, align 4, !tbaa !14
  %5979 = load ptr, ptr %14, align 8, !tbaa !5
  %5980 = getelementptr inbounds %struct.complex, ptr %5979, i32 0, i32 1
  %5981 = load float, ptr %5980, align 4, !tbaa !14
  %5982 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %5983 = load float, ptr %5982, align 4, !tbaa !11
  %5984 = fmul float %5981, %5983
  %5985 = call float @llvm.fmuladd.f32(float %5976, float %5978, float %5984)
  %5986 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %5985, ptr %5986, align 4, !tbaa !14
  %5987 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5988 = load float, ptr %5987, align 4, !tbaa !11
  %5989 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %5988, ptr %5989, align 4, !tbaa !11
  %5990 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5991 = load float, ptr %5990, align 4, !tbaa !14
  %5992 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %5991, ptr %5992, align 4, !tbaa !14
  %5993 = load ptr, ptr %13, align 8, !tbaa !5
  %5994 = getelementptr inbounds %struct.complex, ptr %5993, i64 9
  call void @r_cnjg(ptr noundef %31, ptr noundef %5994)
  %5995 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %5996 = load float, ptr %5995, align 4, !tbaa !11
  %5997 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  store float %5996, ptr %5997, align 4, !tbaa !11
  %5998 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %5999 = load float, ptr %5998, align 4, !tbaa !14
  %6000 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  store float %5999, ptr %6000, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %68)
  %6001 = load ptr, ptr %14, align 8, !tbaa !5
  %6002 = getelementptr inbounds %struct.complex, ptr %6001, i32 0, i32 0
  %6003 = load float, ptr %6002, align 4, !tbaa !11
  %6004 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6005 = load float, ptr %6004, align 4, !tbaa !11
  %6006 = load ptr, ptr %14, align 8, !tbaa !5
  %6007 = getelementptr inbounds %struct.complex, ptr %6006, i32 0, i32 1
  %6008 = load float, ptr %6007, align 4, !tbaa !14
  %6009 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6010 = load float, ptr %6009, align 4, !tbaa !14
  %6011 = fmul float %6008, %6010
  %6012 = fneg float %6011
  %6013 = call float @llvm.fmuladd.f32(float %6003, float %6005, float %6012)
  %6014 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6013, ptr %6014, align 4, !tbaa !11
  %6015 = load ptr, ptr %14, align 8, !tbaa !5
  %6016 = getelementptr inbounds %struct.complex, ptr %6015, i32 0, i32 0
  %6017 = load float, ptr %6016, align 4, !tbaa !11
  %6018 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6019 = load float, ptr %6018, align 4, !tbaa !14
  %6020 = load ptr, ptr %14, align 8, !tbaa !5
  %6021 = getelementptr inbounds %struct.complex, ptr %6020, i32 0, i32 1
  %6022 = load float, ptr %6021, align 4, !tbaa !14
  %6023 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6024 = load float, ptr %6023, align 4, !tbaa !11
  %6025 = fmul float %6022, %6024
  %6026 = call float @llvm.fmuladd.f32(float %6017, float %6019, float %6025)
  %6027 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6026, ptr %6027, align 4, !tbaa !14
  %6028 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6029 = load float, ptr %6028, align 4, !tbaa !11
  %6030 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %6029, ptr %6030, align 4, !tbaa !11
  %6031 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6032 = load float, ptr %6031, align 4, !tbaa !14
  %6033 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %6032, ptr %6033, align 4, !tbaa !14
  %6034 = load ptr, ptr %12, align 8, !tbaa !5
  %6035 = load i64, ptr %6034, align 8, !tbaa !9
  store i64 %6035, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %6036

6036:                                             ; preds = %7043, %5664
  %6037 = load i64, ptr %50, align 8, !tbaa !9
  %6038 = load i64, ptr %20, align 8, !tbaa !9
  %6039 = icmp sle i64 %6037, %6038
  br i1 %6039, label %6040, label %7046

6040:                                             ; preds = %6036
  %6041 = load i64, ptr %50, align 8, !tbaa !9
  %6042 = load i64, ptr %18, align 8, !tbaa !9
  %6043 = mul nsw i64 %6041, %6042
  %6044 = add nsw i64 %6043, 1
  store i64 %6044, ptr %21, align 8, !tbaa !9
  %6045 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %6046 = load float, ptr %6045, align 4, !tbaa !11
  %6047 = load ptr, ptr %15, align 8, !tbaa !5
  %6048 = load i64, ptr %21, align 8, !tbaa !9
  %6049 = getelementptr inbounds %struct.complex, ptr %6047, i64 %6048
  %6050 = getelementptr inbounds %struct.complex, ptr %6049, i32 0, i32 0
  %6051 = load float, ptr %6050, align 4, !tbaa !11
  %6052 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %6053 = load float, ptr %6052, align 4, !tbaa !14
  %6054 = load ptr, ptr %15, align 8, !tbaa !5
  %6055 = load i64, ptr %21, align 8, !tbaa !9
  %6056 = getelementptr inbounds %struct.complex, ptr %6054, i64 %6055
  %6057 = getelementptr inbounds %struct.complex, ptr %6056, i32 0, i32 1
  %6058 = load float, ptr %6057, align 4, !tbaa !14
  %6059 = fmul float %6053, %6058
  %6060 = fneg float %6059
  %6061 = call float @llvm.fmuladd.f32(float %6046, float %6051, float %6060)
  %6062 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %6061, ptr %6062, align 4, !tbaa !11
  %6063 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %6064 = load float, ptr %6063, align 4, !tbaa !11
  %6065 = load ptr, ptr %15, align 8, !tbaa !5
  %6066 = load i64, ptr %21, align 8, !tbaa !9
  %6067 = getelementptr inbounds %struct.complex, ptr %6065, i64 %6066
  %6068 = getelementptr inbounds %struct.complex, ptr %6067, i32 0, i32 1
  %6069 = load float, ptr %6068, align 4, !tbaa !14
  %6070 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %6071 = load float, ptr %6070, align 4, !tbaa !14
  %6072 = load ptr, ptr %15, align 8, !tbaa !5
  %6073 = load i64, ptr %21, align 8, !tbaa !9
  %6074 = getelementptr inbounds %struct.complex, ptr %6072, i64 %6073
  %6075 = getelementptr inbounds %struct.complex, ptr %6074, i32 0, i32 0
  %6076 = load float, ptr %6075, align 4, !tbaa !11
  %6077 = fmul float %6071, %6076
  %6078 = call float @llvm.fmuladd.f32(float %6064, float %6069, float %6077)
  %6079 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %6078, ptr %6079, align 4, !tbaa !14
  %6080 = load i64, ptr %50, align 8, !tbaa !9
  %6081 = load i64, ptr %18, align 8, !tbaa !9
  %6082 = mul nsw i64 %6080, %6081
  %6083 = add nsw i64 %6082, 2
  store i64 %6083, ptr %22, align 8, !tbaa !9
  %6084 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %6085 = load float, ptr %6084, align 4, !tbaa !11
  %6086 = load ptr, ptr %15, align 8, !tbaa !5
  %6087 = load i64, ptr %22, align 8, !tbaa !9
  %6088 = getelementptr inbounds %struct.complex, ptr %6086, i64 %6087
  %6089 = getelementptr inbounds %struct.complex, ptr %6088, i32 0, i32 0
  %6090 = load float, ptr %6089, align 4, !tbaa !11
  %6091 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %6092 = load float, ptr %6091, align 4, !tbaa !14
  %6093 = load ptr, ptr %15, align 8, !tbaa !5
  %6094 = load i64, ptr %22, align 8, !tbaa !9
  %6095 = getelementptr inbounds %struct.complex, ptr %6093, i64 %6094
  %6096 = getelementptr inbounds %struct.complex, ptr %6095, i32 0, i32 1
  %6097 = load float, ptr %6096, align 4, !tbaa !14
  %6098 = fmul float %6092, %6097
  %6099 = fneg float %6098
  %6100 = call float @llvm.fmuladd.f32(float %6085, float %6090, float %6099)
  %6101 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %6100, ptr %6101, align 4, !tbaa !11
  %6102 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %6103 = load float, ptr %6102, align 4, !tbaa !11
  %6104 = load ptr, ptr %15, align 8, !tbaa !5
  %6105 = load i64, ptr %22, align 8, !tbaa !9
  %6106 = getelementptr inbounds %struct.complex, ptr %6104, i64 %6105
  %6107 = getelementptr inbounds %struct.complex, ptr %6106, i32 0, i32 1
  %6108 = load float, ptr %6107, align 4, !tbaa !14
  %6109 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %6110 = load float, ptr %6109, align 4, !tbaa !14
  %6111 = load ptr, ptr %15, align 8, !tbaa !5
  %6112 = load i64, ptr %22, align 8, !tbaa !9
  %6113 = getelementptr inbounds %struct.complex, ptr %6111, i64 %6112
  %6114 = getelementptr inbounds %struct.complex, ptr %6113, i32 0, i32 0
  %6115 = load float, ptr %6114, align 4, !tbaa !11
  %6116 = fmul float %6110, %6115
  %6117 = call float @llvm.fmuladd.f32(float %6103, float %6108, float %6116)
  %6118 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %6117, ptr %6118, align 4, !tbaa !14
  %6119 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %6120 = load float, ptr %6119, align 4, !tbaa !11
  %6121 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %6122 = load float, ptr %6121, align 4, !tbaa !11
  %6123 = fadd float %6120, %6122
  %6124 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %6123, ptr %6124, align 4, !tbaa !11
  %6125 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %6126 = load float, ptr %6125, align 4, !tbaa !14
  %6127 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %6128 = load float, ptr %6127, align 4, !tbaa !14
  %6129 = fadd float %6126, %6128
  %6130 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %6129, ptr %6130, align 4, !tbaa !14
  %6131 = load i64, ptr %50, align 8, !tbaa !9
  %6132 = load i64, ptr %18, align 8, !tbaa !9
  %6133 = mul nsw i64 %6131, %6132
  %6134 = add nsw i64 %6133, 3
  store i64 %6134, ptr %23, align 8, !tbaa !9
  %6135 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %6136 = load float, ptr %6135, align 4, !tbaa !11
  %6137 = load ptr, ptr %15, align 8, !tbaa !5
  %6138 = load i64, ptr %23, align 8, !tbaa !9
  %6139 = getelementptr inbounds %struct.complex, ptr %6137, i64 %6138
  %6140 = getelementptr inbounds %struct.complex, ptr %6139, i32 0, i32 0
  %6141 = load float, ptr %6140, align 4, !tbaa !11
  %6142 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %6143 = load float, ptr %6142, align 4, !tbaa !14
  %6144 = load ptr, ptr %15, align 8, !tbaa !5
  %6145 = load i64, ptr %23, align 8, !tbaa !9
  %6146 = getelementptr inbounds %struct.complex, ptr %6144, i64 %6145
  %6147 = getelementptr inbounds %struct.complex, ptr %6146, i32 0, i32 1
  %6148 = load float, ptr %6147, align 4, !tbaa !14
  %6149 = fmul float %6143, %6148
  %6150 = fneg float %6149
  %6151 = call float @llvm.fmuladd.f32(float %6136, float %6141, float %6150)
  %6152 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %6151, ptr %6152, align 4, !tbaa !11
  %6153 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %6154 = load float, ptr %6153, align 4, !tbaa !11
  %6155 = load ptr, ptr %15, align 8, !tbaa !5
  %6156 = load i64, ptr %23, align 8, !tbaa !9
  %6157 = getelementptr inbounds %struct.complex, ptr %6155, i64 %6156
  %6158 = getelementptr inbounds %struct.complex, ptr %6157, i32 0, i32 1
  %6159 = load float, ptr %6158, align 4, !tbaa !14
  %6160 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %6161 = load float, ptr %6160, align 4, !tbaa !14
  %6162 = load ptr, ptr %15, align 8, !tbaa !5
  %6163 = load i64, ptr %23, align 8, !tbaa !9
  %6164 = getelementptr inbounds %struct.complex, ptr %6162, i64 %6163
  %6165 = getelementptr inbounds %struct.complex, ptr %6164, i32 0, i32 0
  %6166 = load float, ptr %6165, align 4, !tbaa !11
  %6167 = fmul float %6161, %6166
  %6168 = call float @llvm.fmuladd.f32(float %6154, float %6159, float %6167)
  %6169 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %6168, ptr %6169, align 4, !tbaa !14
  %6170 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %6171 = load float, ptr %6170, align 4, !tbaa !11
  %6172 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %6173 = load float, ptr %6172, align 4, !tbaa !11
  %6174 = fadd float %6171, %6173
  %6175 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %6174, ptr %6175, align 4, !tbaa !11
  %6176 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %6177 = load float, ptr %6176, align 4, !tbaa !14
  %6178 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %6179 = load float, ptr %6178, align 4, !tbaa !14
  %6180 = fadd float %6177, %6179
  %6181 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %6180, ptr %6181, align 4, !tbaa !14
  %6182 = load i64, ptr %50, align 8, !tbaa !9
  %6183 = load i64, ptr %18, align 8, !tbaa !9
  %6184 = mul nsw i64 %6182, %6183
  %6185 = add nsw i64 %6184, 4
  store i64 %6185, ptr %24, align 8, !tbaa !9
  %6186 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %6187 = load float, ptr %6186, align 4, !tbaa !11
  %6188 = load ptr, ptr %15, align 8, !tbaa !5
  %6189 = load i64, ptr %24, align 8, !tbaa !9
  %6190 = getelementptr inbounds %struct.complex, ptr %6188, i64 %6189
  %6191 = getelementptr inbounds %struct.complex, ptr %6190, i32 0, i32 0
  %6192 = load float, ptr %6191, align 4, !tbaa !11
  %6193 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %6194 = load float, ptr %6193, align 4, !tbaa !14
  %6195 = load ptr, ptr %15, align 8, !tbaa !5
  %6196 = load i64, ptr %24, align 8, !tbaa !9
  %6197 = getelementptr inbounds %struct.complex, ptr %6195, i64 %6196
  %6198 = getelementptr inbounds %struct.complex, ptr %6197, i32 0, i32 1
  %6199 = load float, ptr %6198, align 4, !tbaa !14
  %6200 = fmul float %6194, %6199
  %6201 = fneg float %6200
  %6202 = call float @llvm.fmuladd.f32(float %6187, float %6192, float %6201)
  %6203 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %6202, ptr %6203, align 4, !tbaa !11
  %6204 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %6205 = load float, ptr %6204, align 4, !tbaa !11
  %6206 = load ptr, ptr %15, align 8, !tbaa !5
  %6207 = load i64, ptr %24, align 8, !tbaa !9
  %6208 = getelementptr inbounds %struct.complex, ptr %6206, i64 %6207
  %6209 = getelementptr inbounds %struct.complex, ptr %6208, i32 0, i32 1
  %6210 = load float, ptr %6209, align 4, !tbaa !14
  %6211 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %6212 = load float, ptr %6211, align 4, !tbaa !14
  %6213 = load ptr, ptr %15, align 8, !tbaa !5
  %6214 = load i64, ptr %24, align 8, !tbaa !9
  %6215 = getelementptr inbounds %struct.complex, ptr %6213, i64 %6214
  %6216 = getelementptr inbounds %struct.complex, ptr %6215, i32 0, i32 0
  %6217 = load float, ptr %6216, align 4, !tbaa !11
  %6218 = fmul float %6212, %6217
  %6219 = call float @llvm.fmuladd.f32(float %6205, float %6210, float %6218)
  %6220 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %6219, ptr %6220, align 4, !tbaa !14
  %6221 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %6222 = load float, ptr %6221, align 4, !tbaa !11
  %6223 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %6224 = load float, ptr %6223, align 4, !tbaa !11
  %6225 = fadd float %6222, %6224
  %6226 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %6225, ptr %6226, align 4, !tbaa !11
  %6227 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %6228 = load float, ptr %6227, align 4, !tbaa !14
  %6229 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %6230 = load float, ptr %6229, align 4, !tbaa !14
  %6231 = fadd float %6228, %6230
  %6232 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %6231, ptr %6232, align 4, !tbaa !14
  %6233 = load i64, ptr %50, align 8, !tbaa !9
  %6234 = load i64, ptr %18, align 8, !tbaa !9
  %6235 = mul nsw i64 %6233, %6234
  %6236 = add nsw i64 %6235, 5
  store i64 %6236, ptr %25, align 8, !tbaa !9
  %6237 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %6238 = load float, ptr %6237, align 4, !tbaa !11
  %6239 = load ptr, ptr %15, align 8, !tbaa !5
  %6240 = load i64, ptr %25, align 8, !tbaa !9
  %6241 = getelementptr inbounds %struct.complex, ptr %6239, i64 %6240
  %6242 = getelementptr inbounds %struct.complex, ptr %6241, i32 0, i32 0
  %6243 = load float, ptr %6242, align 4, !tbaa !11
  %6244 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %6245 = load float, ptr %6244, align 4, !tbaa !14
  %6246 = load ptr, ptr %15, align 8, !tbaa !5
  %6247 = load i64, ptr %25, align 8, !tbaa !9
  %6248 = getelementptr inbounds %struct.complex, ptr %6246, i64 %6247
  %6249 = getelementptr inbounds %struct.complex, ptr %6248, i32 0, i32 1
  %6250 = load float, ptr %6249, align 4, !tbaa !14
  %6251 = fmul float %6245, %6250
  %6252 = fneg float %6251
  %6253 = call float @llvm.fmuladd.f32(float %6238, float %6243, float %6252)
  %6254 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %6253, ptr %6254, align 4, !tbaa !11
  %6255 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %6256 = load float, ptr %6255, align 4, !tbaa !11
  %6257 = load ptr, ptr %15, align 8, !tbaa !5
  %6258 = load i64, ptr %25, align 8, !tbaa !9
  %6259 = getelementptr inbounds %struct.complex, ptr %6257, i64 %6258
  %6260 = getelementptr inbounds %struct.complex, ptr %6259, i32 0, i32 1
  %6261 = load float, ptr %6260, align 4, !tbaa !14
  %6262 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %6263 = load float, ptr %6262, align 4, !tbaa !14
  %6264 = load ptr, ptr %15, align 8, !tbaa !5
  %6265 = load i64, ptr %25, align 8, !tbaa !9
  %6266 = getelementptr inbounds %struct.complex, ptr %6264, i64 %6265
  %6267 = getelementptr inbounds %struct.complex, ptr %6266, i32 0, i32 0
  %6268 = load float, ptr %6267, align 4, !tbaa !11
  %6269 = fmul float %6263, %6268
  %6270 = call float @llvm.fmuladd.f32(float %6256, float %6261, float %6269)
  %6271 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %6270, ptr %6271, align 4, !tbaa !14
  %6272 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %6273 = load float, ptr %6272, align 4, !tbaa !11
  %6274 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %6275 = load float, ptr %6274, align 4, !tbaa !11
  %6276 = fadd float %6273, %6275
  %6277 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %6276, ptr %6277, align 4, !tbaa !11
  %6278 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %6279 = load float, ptr %6278, align 4, !tbaa !14
  %6280 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %6281 = load float, ptr %6280, align 4, !tbaa !14
  %6282 = fadd float %6279, %6281
  %6283 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %6282, ptr %6283, align 4, !tbaa !14
  %6284 = load i64, ptr %50, align 8, !tbaa !9
  %6285 = load i64, ptr %18, align 8, !tbaa !9
  %6286 = mul nsw i64 %6284, %6285
  %6287 = add nsw i64 %6286, 6
  store i64 %6287, ptr %26, align 8, !tbaa !9
  %6288 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %6289 = load float, ptr %6288, align 4, !tbaa !11
  %6290 = load ptr, ptr %15, align 8, !tbaa !5
  %6291 = load i64, ptr %26, align 8, !tbaa !9
  %6292 = getelementptr inbounds %struct.complex, ptr %6290, i64 %6291
  %6293 = getelementptr inbounds %struct.complex, ptr %6292, i32 0, i32 0
  %6294 = load float, ptr %6293, align 4, !tbaa !11
  %6295 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %6296 = load float, ptr %6295, align 4, !tbaa !14
  %6297 = load ptr, ptr %15, align 8, !tbaa !5
  %6298 = load i64, ptr %26, align 8, !tbaa !9
  %6299 = getelementptr inbounds %struct.complex, ptr %6297, i64 %6298
  %6300 = getelementptr inbounds %struct.complex, ptr %6299, i32 0, i32 1
  %6301 = load float, ptr %6300, align 4, !tbaa !14
  %6302 = fmul float %6296, %6301
  %6303 = fneg float %6302
  %6304 = call float @llvm.fmuladd.f32(float %6289, float %6294, float %6303)
  %6305 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %6304, ptr %6305, align 4, !tbaa !11
  %6306 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %6307 = load float, ptr %6306, align 4, !tbaa !11
  %6308 = load ptr, ptr %15, align 8, !tbaa !5
  %6309 = load i64, ptr %26, align 8, !tbaa !9
  %6310 = getelementptr inbounds %struct.complex, ptr %6308, i64 %6309
  %6311 = getelementptr inbounds %struct.complex, ptr %6310, i32 0, i32 1
  %6312 = load float, ptr %6311, align 4, !tbaa !14
  %6313 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %6314 = load float, ptr %6313, align 4, !tbaa !14
  %6315 = load ptr, ptr %15, align 8, !tbaa !5
  %6316 = load i64, ptr %26, align 8, !tbaa !9
  %6317 = getelementptr inbounds %struct.complex, ptr %6315, i64 %6316
  %6318 = getelementptr inbounds %struct.complex, ptr %6317, i32 0, i32 0
  %6319 = load float, ptr %6318, align 4, !tbaa !11
  %6320 = fmul float %6314, %6319
  %6321 = call float @llvm.fmuladd.f32(float %6307, float %6312, float %6320)
  %6322 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %6321, ptr %6322, align 4, !tbaa !14
  %6323 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %6324 = load float, ptr %6323, align 4, !tbaa !11
  %6325 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %6326 = load float, ptr %6325, align 4, !tbaa !11
  %6327 = fadd float %6324, %6326
  %6328 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %6327, ptr %6328, align 4, !tbaa !11
  %6329 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %6330 = load float, ptr %6329, align 4, !tbaa !14
  %6331 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %6332 = load float, ptr %6331, align 4, !tbaa !14
  %6333 = fadd float %6330, %6332
  %6334 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %6333, ptr %6334, align 4, !tbaa !14
  %6335 = load i64, ptr %50, align 8, !tbaa !9
  %6336 = load i64, ptr %18, align 8, !tbaa !9
  %6337 = mul nsw i64 %6335, %6336
  %6338 = add nsw i64 %6337, 7
  store i64 %6338, ptr %27, align 8, !tbaa !9
  %6339 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %6340 = load float, ptr %6339, align 4, !tbaa !11
  %6341 = load ptr, ptr %15, align 8, !tbaa !5
  %6342 = load i64, ptr %27, align 8, !tbaa !9
  %6343 = getelementptr inbounds %struct.complex, ptr %6341, i64 %6342
  %6344 = getelementptr inbounds %struct.complex, ptr %6343, i32 0, i32 0
  %6345 = load float, ptr %6344, align 4, !tbaa !11
  %6346 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %6347 = load float, ptr %6346, align 4, !tbaa !14
  %6348 = load ptr, ptr %15, align 8, !tbaa !5
  %6349 = load i64, ptr %27, align 8, !tbaa !9
  %6350 = getelementptr inbounds %struct.complex, ptr %6348, i64 %6349
  %6351 = getelementptr inbounds %struct.complex, ptr %6350, i32 0, i32 1
  %6352 = load float, ptr %6351, align 4, !tbaa !14
  %6353 = fmul float %6347, %6352
  %6354 = fneg float %6353
  %6355 = call float @llvm.fmuladd.f32(float %6340, float %6345, float %6354)
  %6356 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %6355, ptr %6356, align 4, !tbaa !11
  %6357 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %6358 = load float, ptr %6357, align 4, !tbaa !11
  %6359 = load ptr, ptr %15, align 8, !tbaa !5
  %6360 = load i64, ptr %27, align 8, !tbaa !9
  %6361 = getelementptr inbounds %struct.complex, ptr %6359, i64 %6360
  %6362 = getelementptr inbounds %struct.complex, ptr %6361, i32 0, i32 1
  %6363 = load float, ptr %6362, align 4, !tbaa !14
  %6364 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %6365 = load float, ptr %6364, align 4, !tbaa !14
  %6366 = load ptr, ptr %15, align 8, !tbaa !5
  %6367 = load i64, ptr %27, align 8, !tbaa !9
  %6368 = getelementptr inbounds %struct.complex, ptr %6366, i64 %6367
  %6369 = getelementptr inbounds %struct.complex, ptr %6368, i32 0, i32 0
  %6370 = load float, ptr %6369, align 4, !tbaa !11
  %6371 = fmul float %6365, %6370
  %6372 = call float @llvm.fmuladd.f32(float %6358, float %6363, float %6371)
  %6373 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %6372, ptr %6373, align 4, !tbaa !14
  %6374 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %6375 = load float, ptr %6374, align 4, !tbaa !11
  %6376 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %6377 = load float, ptr %6376, align 4, !tbaa !11
  %6378 = fadd float %6375, %6377
  %6379 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %6378, ptr %6379, align 4, !tbaa !11
  %6380 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %6381 = load float, ptr %6380, align 4, !tbaa !14
  %6382 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %6383 = load float, ptr %6382, align 4, !tbaa !14
  %6384 = fadd float %6381, %6383
  %6385 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %6384, ptr %6385, align 4, !tbaa !14
  %6386 = load i64, ptr %50, align 8, !tbaa !9
  %6387 = load i64, ptr %18, align 8, !tbaa !9
  %6388 = mul nsw i64 %6386, %6387
  %6389 = add nsw i64 %6388, 8
  store i64 %6389, ptr %28, align 8, !tbaa !9
  %6390 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %6391 = load float, ptr %6390, align 4, !tbaa !11
  %6392 = load ptr, ptr %15, align 8, !tbaa !5
  %6393 = load i64, ptr %28, align 8, !tbaa !9
  %6394 = getelementptr inbounds %struct.complex, ptr %6392, 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 %67, i32 0, i32 1
  %6398 = load float, ptr %6397, align 4, !tbaa !14
  %6399 = load ptr, ptr %15, align 8, !tbaa !5
  %6400 = load i64, ptr %28, align 8, !tbaa !9
  %6401 = getelementptr inbounds %struct.complex, ptr %6399, i64 %6400
  %6402 = getelementptr inbounds %struct.complex, ptr %6401, i32 0, i32 1
  %6403 = load float, ptr %6402, align 4, !tbaa !14
  %6404 = fmul float %6398, %6403
  %6405 = fneg float %6404
  %6406 = call float @llvm.fmuladd.f32(float %6391, float %6396, float %6405)
  %6407 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %6406, ptr %6407, align 4, !tbaa !11
  %6408 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %6409 = load float, ptr %6408, align 4, !tbaa !11
  %6410 = load ptr, ptr %15, align 8, !tbaa !5
  %6411 = load i64, ptr %28, align 8, !tbaa !9
  %6412 = getelementptr inbounds %struct.complex, ptr %6410, i64 %6411
  %6413 = getelementptr inbounds %struct.complex, ptr %6412, i32 0, i32 1
  %6414 = load float, ptr %6413, align 4, !tbaa !14
  %6415 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %6416 = load float, ptr %6415, align 4, !tbaa !14
  %6417 = load ptr, ptr %15, align 8, !tbaa !5
  %6418 = load i64, ptr %28, align 8, !tbaa !9
  %6419 = getelementptr inbounds %struct.complex, ptr %6417, i64 %6418
  %6420 = getelementptr inbounds %struct.complex, ptr %6419, i32 0, i32 0
  %6421 = load float, ptr %6420, align 4, !tbaa !11
  %6422 = fmul float %6416, %6421
  %6423 = call float @llvm.fmuladd.f32(float %6409, float %6414, float %6422)
  %6424 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %6423, ptr %6424, align 4, !tbaa !14
  %6425 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %6426 = load float, ptr %6425, align 4, !tbaa !11
  %6427 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %6428 = load float, ptr %6427, align 4, !tbaa !11
  %6429 = fadd float %6426, %6428
  %6430 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6429, ptr %6430, align 4, !tbaa !11
  %6431 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %6432 = load float, ptr %6431, align 4, !tbaa !14
  %6433 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %6434 = load float, ptr %6433, align 4, !tbaa !14
  %6435 = fadd float %6432, %6434
  %6436 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6435, ptr %6436, align 4, !tbaa !14
  %6437 = load i64, ptr %50, align 8, !tbaa !9
  %6438 = load i64, ptr %18, align 8, !tbaa !9
  %6439 = mul nsw i64 %6437, %6438
  %6440 = add nsw i64 %6439, 9
  store i64 %6440, ptr %29, align 8, !tbaa !9
  %6441 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %6442 = load float, ptr %6441, align 4, !tbaa !11
  %6443 = load ptr, ptr %15, align 8, !tbaa !5
  %6444 = load i64, ptr %29, align 8, !tbaa !9
  %6445 = getelementptr inbounds %struct.complex, ptr %6443, i64 %6444
  %6446 = getelementptr inbounds %struct.complex, ptr %6445, i32 0, i32 0
  %6447 = load float, ptr %6446, align 4, !tbaa !11
  %6448 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %6449 = load float, ptr %6448, align 4, !tbaa !14
  %6450 = load ptr, ptr %15, align 8, !tbaa !5
  %6451 = load i64, ptr %29, align 8, !tbaa !9
  %6452 = getelementptr inbounds %struct.complex, ptr %6450, i64 %6451
  %6453 = getelementptr inbounds %struct.complex, ptr %6452, i32 0, i32 1
  %6454 = load float, ptr %6453, align 4, !tbaa !14
  %6455 = fmul float %6449, %6454
  %6456 = fneg float %6455
  %6457 = call float @llvm.fmuladd.f32(float %6442, float %6447, float %6456)
  %6458 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  store float %6457, ptr %6458, align 4, !tbaa !11
  %6459 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %6460 = load float, ptr %6459, align 4, !tbaa !11
  %6461 = load ptr, ptr %15, align 8, !tbaa !5
  %6462 = load i64, ptr %29, align 8, !tbaa !9
  %6463 = getelementptr inbounds %struct.complex, ptr %6461, i64 %6462
  %6464 = getelementptr inbounds %struct.complex, ptr %6463, i32 0, i32 1
  %6465 = load float, ptr %6464, align 4, !tbaa !14
  %6466 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %6467 = load float, ptr %6466, align 4, !tbaa !14
  %6468 = load ptr, ptr %15, align 8, !tbaa !5
  %6469 = load i64, ptr %29, align 8, !tbaa !9
  %6470 = getelementptr inbounds %struct.complex, ptr %6468, i64 %6469
  %6471 = getelementptr inbounds %struct.complex, ptr %6470, i32 0, i32 0
  %6472 = load float, ptr %6471, align 4, !tbaa !11
  %6473 = fmul float %6467, %6472
  %6474 = call float @llvm.fmuladd.f32(float %6460, float %6465, float %6473)
  %6475 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  store float %6474, ptr %6475, align 4, !tbaa !14
  %6476 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6477 = load float, ptr %6476, align 4, !tbaa !11
  %6478 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  %6479 = load float, ptr %6478, align 4, !tbaa !11
  %6480 = fadd float %6477, %6479
  %6481 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6480, ptr %6481, align 4, !tbaa !11
  %6482 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6483 = load float, ptr %6482, align 4, !tbaa !14
  %6484 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  %6485 = load float, ptr %6484, align 4, !tbaa !14
  %6486 = fadd float %6483, %6485
  %6487 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6486, ptr %6487, align 4, !tbaa !14
  %6488 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6489 = load float, ptr %6488, align 4, !tbaa !11
  %6490 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %6489, ptr %6490, align 4, !tbaa !11
  %6491 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6492 = load float, ptr %6491, align 4, !tbaa !14
  %6493 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %6492, ptr %6493, align 4, !tbaa !14
  %6494 = load i64, ptr %50, align 8, !tbaa !9
  %6495 = load i64, ptr %18, align 8, !tbaa !9
  %6496 = mul nsw i64 %6494, %6495
  %6497 = add nsw i64 %6496, 1
  store i64 %6497, ptr %21, align 8, !tbaa !9
  %6498 = load i64, ptr %50, align 8, !tbaa !9
  %6499 = load i64, ptr %18, align 8, !tbaa !9
  %6500 = mul nsw i64 %6498, %6499
  %6501 = add nsw i64 %6500, 1
  store i64 %6501, ptr %22, align 8, !tbaa !9
  %6502 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6503 = load float, ptr %6502, align 4, !tbaa !11
  %6504 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %6505 = load float, ptr %6504, align 4, !tbaa !11
  %6506 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6507 = load float, ptr %6506, align 4, !tbaa !14
  %6508 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %6509 = load float, ptr %6508, align 4, !tbaa !14
  %6510 = fmul float %6507, %6509
  %6511 = fneg float %6510
  %6512 = call float @llvm.fmuladd.f32(float %6503, float %6505, float %6511)
  %6513 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6512, ptr %6513, align 4, !tbaa !11
  %6514 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6515 = load float, ptr %6514, align 4, !tbaa !11
  %6516 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %6517 = load float, ptr %6516, align 4, !tbaa !14
  %6518 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6519 = load float, ptr %6518, align 4, !tbaa !14
  %6520 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %6521 = load float, ptr %6520, align 4, !tbaa !11
  %6522 = fmul float %6519, %6521
  %6523 = call float @llvm.fmuladd.f32(float %6515, float %6517, float %6522)
  %6524 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6523, ptr %6524, align 4, !tbaa !14
  %6525 = load ptr, ptr %15, align 8, !tbaa !5
  %6526 = load i64, ptr %22, align 8, !tbaa !9
  %6527 = getelementptr inbounds %struct.complex, ptr %6525, i64 %6526
  %6528 = getelementptr inbounds %struct.complex, ptr %6527, i32 0, i32 0
  %6529 = load float, ptr %6528, align 4, !tbaa !11
  %6530 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6531 = load float, ptr %6530, align 4, !tbaa !11
  %6532 = fsub float %6529, %6531
  %6533 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6532, ptr %6533, align 4, !tbaa !11
  %6534 = load ptr, ptr %15, align 8, !tbaa !5
  %6535 = load i64, ptr %22, align 8, !tbaa !9
  %6536 = getelementptr inbounds %struct.complex, ptr %6534, i64 %6535
  %6537 = getelementptr inbounds %struct.complex, ptr %6536, i32 0, i32 1
  %6538 = load float, ptr %6537, align 4, !tbaa !14
  %6539 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6540 = load float, ptr %6539, align 4, !tbaa !14
  %6541 = fsub float %6538, %6540
  %6542 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6541, ptr %6542, align 4, !tbaa !14
  %6543 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6544 = load float, ptr %6543, align 4, !tbaa !11
  %6545 = load ptr, ptr %15, align 8, !tbaa !5
  %6546 = load i64, ptr %21, align 8, !tbaa !9
  %6547 = getelementptr inbounds %struct.complex, ptr %6545, i64 %6546
  %6548 = getelementptr inbounds %struct.complex, ptr %6547, i32 0, i32 0
  store float %6544, ptr %6548, align 4, !tbaa !11
  %6549 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6550 = load float, ptr %6549, align 4, !tbaa !14
  %6551 = load ptr, ptr %15, align 8, !tbaa !5
  %6552 = load i64, ptr %21, align 8, !tbaa !9
  %6553 = getelementptr inbounds %struct.complex, ptr %6551, i64 %6552
  %6554 = getelementptr inbounds %struct.complex, ptr %6553, i32 0, i32 1
  store float %6550, ptr %6554, align 4, !tbaa !14
  %6555 = load i64, ptr %50, align 8, !tbaa !9
  %6556 = load i64, ptr %18, align 8, !tbaa !9
  %6557 = mul nsw i64 %6555, %6556
  %6558 = add nsw i64 %6557, 2
  store i64 %6558, ptr %21, align 8, !tbaa !9
  %6559 = load i64, ptr %50, align 8, !tbaa !9
  %6560 = load i64, ptr %18, align 8, !tbaa !9
  %6561 = mul nsw i64 %6559, %6560
  %6562 = add nsw i64 %6561, 2
  store i64 %6562, ptr %22, align 8, !tbaa !9
  %6563 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6564 = load float, ptr %6563, align 4, !tbaa !11
  %6565 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %6566 = load float, ptr %6565, align 4, !tbaa !11
  %6567 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6568 = load float, ptr %6567, align 4, !tbaa !14
  %6569 = getelementptr inbounds %struct.complex, ptr %52, 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 %32, i32 0, i32 0
  store float %6573, ptr %6574, align 4, !tbaa !11
  %6575 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6576 = load float, ptr %6575, align 4, !tbaa !11
  %6577 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %6578 = load float, ptr %6577, align 4, !tbaa !14
  %6579 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6580 = load float, ptr %6579, align 4, !tbaa !14
  %6581 = getelementptr inbounds %struct.complex, ptr %52, 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 %32, i32 0, i32 1
  store float %6584, ptr %6585, align 4, !tbaa !14
  %6586 = load ptr, ptr %15, align 8, !tbaa !5
  %6587 = load i64, ptr %22, align 8, !tbaa !9
  %6588 = getelementptr inbounds %struct.complex, ptr %6586, i64 %6587
  %6589 = getelementptr inbounds %struct.complex, ptr %6588, i32 0, i32 0
  %6590 = load float, ptr %6589, align 4, !tbaa !11
  %6591 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6592 = load float, ptr %6591, align 4, !tbaa !11
  %6593 = fsub float %6590, %6592
  %6594 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6593, ptr %6594, align 4, !tbaa !11
  %6595 = load ptr, ptr %15, align 8, !tbaa !5
  %6596 = load i64, ptr %22, align 8, !tbaa !9
  %6597 = getelementptr inbounds %struct.complex, ptr %6595, i64 %6596
  %6598 = getelementptr inbounds %struct.complex, ptr %6597, i32 0, i32 1
  %6599 = load float, ptr %6598, align 4, !tbaa !14
  %6600 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6601 = load float, ptr %6600, align 4, !tbaa !14
  %6602 = fsub float %6599, %6601
  %6603 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6602, ptr %6603, align 4, !tbaa !14
  %6604 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6605 = load float, ptr %6604, align 4, !tbaa !11
  %6606 = load ptr, ptr %15, align 8, !tbaa !5
  %6607 = load i64, ptr %21, align 8, !tbaa !9
  %6608 = getelementptr inbounds %struct.complex, ptr %6606, i64 %6607
  %6609 = getelementptr inbounds %struct.complex, ptr %6608, i32 0, i32 0
  store float %6605, ptr %6609, align 4, !tbaa !11
  %6610 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6611 = load float, ptr %6610, align 4, !tbaa !14
  %6612 = load ptr, ptr %15, align 8, !tbaa !5
  %6613 = load i64, ptr %21, align 8, !tbaa !9
  %6614 = getelementptr inbounds %struct.complex, ptr %6612, i64 %6613
  %6615 = getelementptr inbounds %struct.complex, ptr %6614, i32 0, i32 1
  store float %6611, ptr %6615, align 4, !tbaa !14
  %6616 = load i64, ptr %50, align 8, !tbaa !9
  %6617 = load i64, ptr %18, align 8, !tbaa !9
  %6618 = mul nsw i64 %6616, %6617
  %6619 = add nsw i64 %6618, 3
  store i64 %6619, ptr %21, align 8, !tbaa !9
  %6620 = load i64, ptr %50, align 8, !tbaa !9
  %6621 = load i64, ptr %18, align 8, !tbaa !9
  %6622 = mul nsw i64 %6620, %6621
  %6623 = add nsw i64 %6622, 3
  store i64 %6623, ptr %22, align 8, !tbaa !9
  %6624 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6625 = load float, ptr %6624, align 4, !tbaa !11
  %6626 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %6627 = load float, ptr %6626, align 4, !tbaa !11
  %6628 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6629 = load float, ptr %6628, align 4, !tbaa !14
  %6630 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %6631 = load float, ptr %6630, align 4, !tbaa !14
  %6632 = fmul float %6629, %6631
  %6633 = fneg float %6632
  %6634 = call float @llvm.fmuladd.f32(float %6625, float %6627, float %6633)
  %6635 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6634, ptr %6635, align 4, !tbaa !11
  %6636 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6637 = load float, ptr %6636, align 4, !tbaa !11
  %6638 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %6639 = load float, ptr %6638, align 4, !tbaa !14
  %6640 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6641 = load float, ptr %6640, align 4, !tbaa !14
  %6642 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %6643 = load float, ptr %6642, align 4, !tbaa !11
  %6644 = fmul float %6641, %6643
  %6645 = call float @llvm.fmuladd.f32(float %6637, float %6639, float %6644)
  %6646 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6645, ptr %6646, align 4, !tbaa !14
  %6647 = load ptr, ptr %15, align 8, !tbaa !5
  %6648 = load i64, ptr %22, align 8, !tbaa !9
  %6649 = getelementptr inbounds %struct.complex, ptr %6647, i64 %6648
  %6650 = getelementptr inbounds %struct.complex, ptr %6649, i32 0, i32 0
  %6651 = load float, ptr %6650, align 4, !tbaa !11
  %6652 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6653 = load float, ptr %6652, align 4, !tbaa !11
  %6654 = fsub float %6651, %6653
  %6655 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6654, ptr %6655, align 4, !tbaa !11
  %6656 = load ptr, ptr %15, align 8, !tbaa !5
  %6657 = load i64, ptr %22, align 8, !tbaa !9
  %6658 = getelementptr inbounds %struct.complex, ptr %6656, i64 %6657
  %6659 = getelementptr inbounds %struct.complex, ptr %6658, i32 0, i32 1
  %6660 = load float, ptr %6659, align 4, !tbaa !14
  %6661 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6662 = load float, ptr %6661, align 4, !tbaa !14
  %6663 = fsub float %6660, %6662
  %6664 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6663, ptr %6664, align 4, !tbaa !14
  %6665 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6666 = load float, ptr %6665, align 4, !tbaa !11
  %6667 = load ptr, ptr %15, align 8, !tbaa !5
  %6668 = load i64, ptr %21, align 8, !tbaa !9
  %6669 = getelementptr inbounds %struct.complex, ptr %6667, i64 %6668
  %6670 = getelementptr inbounds %struct.complex, ptr %6669, i32 0, i32 0
  store float %6666, ptr %6670, align 4, !tbaa !11
  %6671 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6672 = load float, ptr %6671, align 4, !tbaa !14
  %6673 = load ptr, ptr %15, align 8, !tbaa !5
  %6674 = load i64, ptr %21, align 8, !tbaa !9
  %6675 = getelementptr inbounds %struct.complex, ptr %6673, i64 %6674
  %6676 = getelementptr inbounds %struct.complex, ptr %6675, i32 0, i32 1
  store float %6672, ptr %6676, align 4, !tbaa !14
  %6677 = load i64, ptr %50, align 8, !tbaa !9
  %6678 = load i64, ptr %18, align 8, !tbaa !9
  %6679 = mul nsw i64 %6677, %6678
  %6680 = add nsw i64 %6679, 4
  store i64 %6680, ptr %21, align 8, !tbaa !9
  %6681 = load i64, ptr %50, align 8, !tbaa !9
  %6682 = load i64, ptr %18, align 8, !tbaa !9
  %6683 = mul nsw i64 %6681, %6682
  %6684 = add nsw i64 %6683, 4
  store i64 %6684, ptr %22, align 8, !tbaa !9
  %6685 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6686 = load float, ptr %6685, align 4, !tbaa !11
  %6687 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %6688 = load float, ptr %6687, align 4, !tbaa !11
  %6689 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6690 = load float, ptr %6689, align 4, !tbaa !14
  %6691 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %6692 = load float, ptr %6691, align 4, !tbaa !14
  %6693 = fmul float %6690, %6692
  %6694 = fneg float %6693
  %6695 = call float @llvm.fmuladd.f32(float %6686, float %6688, float %6694)
  %6696 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6695, ptr %6696, align 4, !tbaa !11
  %6697 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6698 = load float, ptr %6697, align 4, !tbaa !11
  %6699 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %6700 = load float, ptr %6699, align 4, !tbaa !14
  %6701 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6702 = load float, ptr %6701, align 4, !tbaa !14
  %6703 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %6704 = load float, ptr %6703, align 4, !tbaa !11
  %6705 = fmul float %6702, %6704
  %6706 = call float @llvm.fmuladd.f32(float %6698, float %6700, float %6705)
  %6707 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6706, ptr %6707, align 4, !tbaa !14
  %6708 = load ptr, ptr %15, align 8, !tbaa !5
  %6709 = load i64, ptr %22, align 8, !tbaa !9
  %6710 = getelementptr inbounds %struct.complex, ptr %6708, i64 %6709
  %6711 = getelementptr inbounds %struct.complex, ptr %6710, i32 0, i32 0
  %6712 = load float, ptr %6711, align 4, !tbaa !11
  %6713 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6714 = load float, ptr %6713, align 4, !tbaa !11
  %6715 = fsub float %6712, %6714
  %6716 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6715, ptr %6716, align 4, !tbaa !11
  %6717 = load ptr, ptr %15, align 8, !tbaa !5
  %6718 = load i64, ptr %22, align 8, !tbaa !9
  %6719 = getelementptr inbounds %struct.complex, ptr %6717, i64 %6718
  %6720 = getelementptr inbounds %struct.complex, ptr %6719, i32 0, i32 1
  %6721 = load float, ptr %6720, align 4, !tbaa !14
  %6722 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6723 = load float, ptr %6722, align 4, !tbaa !14
  %6724 = fsub float %6721, %6723
  %6725 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6724, ptr %6725, align 4, !tbaa !14
  %6726 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6727 = load float, ptr %6726, align 4, !tbaa !11
  %6728 = load ptr, ptr %15, align 8, !tbaa !5
  %6729 = load i64, ptr %21, align 8, !tbaa !9
  %6730 = getelementptr inbounds %struct.complex, ptr %6728, i64 %6729
  %6731 = getelementptr inbounds %struct.complex, ptr %6730, i32 0, i32 0
  store float %6727, ptr %6731, align 4, !tbaa !11
  %6732 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6733 = load float, ptr %6732, align 4, !tbaa !14
  %6734 = load ptr, ptr %15, align 8, !tbaa !5
  %6735 = load i64, ptr %21, align 8, !tbaa !9
  %6736 = getelementptr inbounds %struct.complex, ptr %6734, i64 %6735
  %6737 = getelementptr inbounds %struct.complex, ptr %6736, i32 0, i32 1
  store float %6733, ptr %6737, align 4, !tbaa !14
  %6738 = load i64, ptr %50, align 8, !tbaa !9
  %6739 = load i64, ptr %18, align 8, !tbaa !9
  %6740 = mul nsw i64 %6738, %6739
  %6741 = add nsw i64 %6740, 5
  store i64 %6741, ptr %21, align 8, !tbaa !9
  %6742 = load i64, ptr %50, align 8, !tbaa !9
  %6743 = load i64, ptr %18, align 8, !tbaa !9
  %6744 = mul nsw i64 %6742, %6743
  %6745 = add nsw i64 %6744, 5
  store i64 %6745, ptr %22, align 8, !tbaa !9
  %6746 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6747 = load float, ptr %6746, align 4, !tbaa !11
  %6748 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %6749 = load float, ptr %6748, align 4, !tbaa !11
  %6750 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6751 = load float, ptr %6750, align 4, !tbaa !14
  %6752 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %6753 = load float, ptr %6752, align 4, !tbaa !14
  %6754 = fmul float %6751, %6753
  %6755 = fneg float %6754
  %6756 = call float @llvm.fmuladd.f32(float %6747, float %6749, float %6755)
  %6757 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6756, ptr %6757, align 4, !tbaa !11
  %6758 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6759 = load float, ptr %6758, align 4, !tbaa !11
  %6760 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %6761 = load float, ptr %6760, align 4, !tbaa !14
  %6762 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6763 = load float, ptr %6762, align 4, !tbaa !14
  %6764 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %6765 = load float, ptr %6764, align 4, !tbaa !11
  %6766 = fmul float %6763, %6765
  %6767 = call float @llvm.fmuladd.f32(float %6759, float %6761, float %6766)
  %6768 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6767, ptr %6768, align 4, !tbaa !14
  %6769 = load ptr, ptr %15, align 8, !tbaa !5
  %6770 = load i64, ptr %22, align 8, !tbaa !9
  %6771 = getelementptr inbounds %struct.complex, ptr %6769, i64 %6770
  %6772 = getelementptr inbounds %struct.complex, ptr %6771, i32 0, i32 0
  %6773 = load float, ptr %6772, align 4, !tbaa !11
  %6774 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6775 = load float, ptr %6774, align 4, !tbaa !11
  %6776 = fsub float %6773, %6775
  %6777 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6776, ptr %6777, align 4, !tbaa !11
  %6778 = load ptr, ptr %15, align 8, !tbaa !5
  %6779 = load i64, ptr %22, align 8, !tbaa !9
  %6780 = getelementptr inbounds %struct.complex, ptr %6778, i64 %6779
  %6781 = getelementptr inbounds %struct.complex, ptr %6780, i32 0, i32 1
  %6782 = load float, ptr %6781, align 4, !tbaa !14
  %6783 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6784 = load float, ptr %6783, align 4, !tbaa !14
  %6785 = fsub float %6782, %6784
  %6786 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6785, ptr %6786, align 4, !tbaa !14
  %6787 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6788 = load float, ptr %6787, align 4, !tbaa !11
  %6789 = load ptr, ptr %15, align 8, !tbaa !5
  %6790 = load i64, ptr %21, align 8, !tbaa !9
  %6791 = getelementptr inbounds %struct.complex, ptr %6789, i64 %6790
  %6792 = getelementptr inbounds %struct.complex, ptr %6791, i32 0, i32 0
  store float %6788, ptr %6792, align 4, !tbaa !11
  %6793 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6794 = load float, ptr %6793, align 4, !tbaa !14
  %6795 = load ptr, ptr %15, align 8, !tbaa !5
  %6796 = load i64, ptr %21, align 8, !tbaa !9
  %6797 = getelementptr inbounds %struct.complex, ptr %6795, i64 %6796
  %6798 = getelementptr inbounds %struct.complex, ptr %6797, i32 0, i32 1
  store float %6794, ptr %6798, align 4, !tbaa !14
  %6799 = load i64, ptr %50, align 8, !tbaa !9
  %6800 = load i64, ptr %18, align 8, !tbaa !9
  %6801 = mul nsw i64 %6799, %6800
  %6802 = add nsw i64 %6801, 6
  store i64 %6802, ptr %21, align 8, !tbaa !9
  %6803 = load i64, ptr %50, align 8, !tbaa !9
  %6804 = load i64, ptr %18, align 8, !tbaa !9
  %6805 = mul nsw i64 %6803, %6804
  %6806 = add nsw i64 %6805, 6
  store i64 %6806, ptr %22, align 8, !tbaa !9
  %6807 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6808 = load float, ptr %6807, align 4, !tbaa !11
  %6809 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %6810 = load float, ptr %6809, align 4, !tbaa !11
  %6811 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6812 = load float, ptr %6811, align 4, !tbaa !14
  %6813 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %6814 = load float, ptr %6813, align 4, !tbaa !14
  %6815 = fmul float %6812, %6814
  %6816 = fneg float %6815
  %6817 = call float @llvm.fmuladd.f32(float %6808, float %6810, float %6816)
  %6818 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6817, ptr %6818, align 4, !tbaa !11
  %6819 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6820 = load float, ptr %6819, align 4, !tbaa !11
  %6821 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %6822 = load float, ptr %6821, align 4, !tbaa !14
  %6823 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6824 = load float, ptr %6823, align 4, !tbaa !14
  %6825 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %6826 = load float, ptr %6825, align 4, !tbaa !11
  %6827 = fmul float %6824, %6826
  %6828 = call float @llvm.fmuladd.f32(float %6820, float %6822, float %6827)
  %6829 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6828, ptr %6829, align 4, !tbaa !14
  %6830 = load ptr, ptr %15, align 8, !tbaa !5
  %6831 = load i64, ptr %22, align 8, !tbaa !9
  %6832 = getelementptr inbounds %struct.complex, ptr %6830, i64 %6831
  %6833 = getelementptr inbounds %struct.complex, ptr %6832, i32 0, i32 0
  %6834 = load float, ptr %6833, align 4, !tbaa !11
  %6835 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6836 = load float, ptr %6835, align 4, !tbaa !11
  %6837 = fsub float %6834, %6836
  %6838 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6837, ptr %6838, align 4, !tbaa !11
  %6839 = load ptr, ptr %15, align 8, !tbaa !5
  %6840 = load i64, ptr %22, align 8, !tbaa !9
  %6841 = getelementptr inbounds %struct.complex, ptr %6839, i64 %6840
  %6842 = getelementptr inbounds %struct.complex, ptr %6841, i32 0, i32 1
  %6843 = load float, ptr %6842, align 4, !tbaa !14
  %6844 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6845 = load float, ptr %6844, align 4, !tbaa !14
  %6846 = fsub float %6843, %6845
  %6847 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6846, ptr %6847, align 4, !tbaa !14
  %6848 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6849 = load float, ptr %6848, align 4, !tbaa !11
  %6850 = load ptr, ptr %15, align 8, !tbaa !5
  %6851 = load i64, ptr %21, align 8, !tbaa !9
  %6852 = getelementptr inbounds %struct.complex, ptr %6850, i64 %6851
  %6853 = getelementptr inbounds %struct.complex, ptr %6852, i32 0, i32 0
  store float %6849, ptr %6853, align 4, !tbaa !11
  %6854 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6855 = load float, ptr %6854, align 4, !tbaa !14
  %6856 = load ptr, ptr %15, align 8, !tbaa !5
  %6857 = load i64, ptr %21, align 8, !tbaa !9
  %6858 = getelementptr inbounds %struct.complex, ptr %6856, i64 %6857
  %6859 = getelementptr inbounds %struct.complex, ptr %6858, i32 0, i32 1
  store float %6855, ptr %6859, align 4, !tbaa !14
  %6860 = load i64, ptr %50, align 8, !tbaa !9
  %6861 = load i64, ptr %18, align 8, !tbaa !9
  %6862 = mul nsw i64 %6860, %6861
  %6863 = add nsw i64 %6862, 7
  store i64 %6863, ptr %21, align 8, !tbaa !9
  %6864 = load i64, ptr %50, align 8, !tbaa !9
  %6865 = load i64, ptr %18, align 8, !tbaa !9
  %6866 = mul nsw i64 %6864, %6865
  %6867 = add nsw i64 %6866, 7
  store i64 %6867, ptr %22, align 8, !tbaa !9
  %6868 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6869 = load float, ptr %6868, align 4, !tbaa !11
  %6870 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %6871 = load float, ptr %6870, align 4, !tbaa !11
  %6872 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6873 = load float, ptr %6872, align 4, !tbaa !14
  %6874 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %6875 = load float, ptr %6874, align 4, !tbaa !14
  %6876 = fmul float %6873, %6875
  %6877 = fneg float %6876
  %6878 = call float @llvm.fmuladd.f32(float %6869, float %6871, float %6877)
  %6879 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6878, ptr %6879, align 4, !tbaa !11
  %6880 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6881 = load float, ptr %6880, align 4, !tbaa !11
  %6882 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %6883 = load float, ptr %6882, align 4, !tbaa !14
  %6884 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6885 = load float, ptr %6884, align 4, !tbaa !14
  %6886 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %6887 = load float, ptr %6886, align 4, !tbaa !11
  %6888 = fmul float %6885, %6887
  %6889 = call float @llvm.fmuladd.f32(float %6881, float %6883, float %6888)
  %6890 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6889, ptr %6890, align 4, !tbaa !14
  %6891 = load ptr, ptr %15, align 8, !tbaa !5
  %6892 = load i64, ptr %22, align 8, !tbaa !9
  %6893 = getelementptr inbounds %struct.complex, ptr %6891, i64 %6892
  %6894 = getelementptr inbounds %struct.complex, ptr %6893, i32 0, i32 0
  %6895 = load float, ptr %6894, align 4, !tbaa !11
  %6896 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6897 = load float, ptr %6896, align 4, !tbaa !11
  %6898 = fsub float %6895, %6897
  %6899 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6898, ptr %6899, align 4, !tbaa !11
  %6900 = load ptr, ptr %15, align 8, !tbaa !5
  %6901 = load i64, ptr %22, align 8, !tbaa !9
  %6902 = getelementptr inbounds %struct.complex, ptr %6900, i64 %6901
  %6903 = getelementptr inbounds %struct.complex, ptr %6902, i32 0, i32 1
  %6904 = load float, ptr %6903, align 4, !tbaa !14
  %6905 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %6906 = load float, ptr %6905, align 4, !tbaa !14
  %6907 = fsub float %6904, %6906
  %6908 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6907, ptr %6908, align 4, !tbaa !14
  %6909 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6910 = load float, ptr %6909, align 4, !tbaa !11
  %6911 = load ptr, ptr %15, align 8, !tbaa !5
  %6912 = load i64, ptr %21, align 8, !tbaa !9
  %6913 = getelementptr inbounds %struct.complex, ptr %6911, i64 %6912
  %6914 = getelementptr inbounds %struct.complex, ptr %6913, i32 0, i32 0
  store float %6910, ptr %6914, align 4, !tbaa !11
  %6915 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6916 = load float, ptr %6915, align 4, !tbaa !14
  %6917 = load ptr, ptr %15, align 8, !tbaa !5
  %6918 = load i64, ptr %21, align 8, !tbaa !9
  %6919 = getelementptr inbounds %struct.complex, ptr %6917, i64 %6918
  %6920 = getelementptr inbounds %struct.complex, ptr %6919, i32 0, i32 1
  store float %6916, ptr %6920, align 4, !tbaa !14
  %6921 = load i64, ptr %50, align 8, !tbaa !9
  %6922 = load i64, ptr %18, align 8, !tbaa !9
  %6923 = mul nsw i64 %6921, %6922
  %6924 = add nsw i64 %6923, 8
  store i64 %6924, ptr %21, align 8, !tbaa !9
  %6925 = load i64, ptr %50, align 8, !tbaa !9
  %6926 = load i64, ptr %18, align 8, !tbaa !9
  %6927 = mul nsw i64 %6925, %6926
  %6928 = add nsw i64 %6927, 8
  store i64 %6928, ptr %22, align 8, !tbaa !9
  %6929 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6930 = load float, ptr %6929, align 4, !tbaa !11
  %6931 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %6932 = load float, ptr %6931, align 4, !tbaa !11
  %6933 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6934 = load float, ptr %6933, align 4, !tbaa !14
  %6935 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %6936 = load float, ptr %6935, align 4, !tbaa !14
  %6937 = fmul float %6934, %6936
  %6938 = fneg float %6937
  %6939 = call float @llvm.fmuladd.f32(float %6930, float %6932, float %6938)
  %6940 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %6939, ptr %6940, align 4, !tbaa !11
  %6941 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6942 = load float, ptr %6941, align 4, !tbaa !11
  %6943 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %6944 = load float, ptr %6943, align 4, !tbaa !14
  %6945 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6946 = load float, ptr %6945, align 4, !tbaa !14
  %6947 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %6948 = load float, ptr %6947, align 4, !tbaa !11
  %6949 = fmul float %6946, %6948
  %6950 = call float @llvm.fmuladd.f32(float %6942, float %6944, float %6949)
  %6951 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %6950, ptr %6951, align 4, !tbaa !14
  %6952 = load ptr, ptr %15, align 8, !tbaa !5
  %6953 = load i64, ptr %22, align 8, !tbaa !9
  %6954 = getelementptr inbounds %struct.complex, ptr %6952, i64 %6953
  %6955 = getelementptr inbounds %struct.complex, ptr %6954, i32 0, i32 0
  %6956 = load float, ptr %6955, align 4, !tbaa !11
  %6957 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %6958 = load float, ptr %6957, align 4, !tbaa !11
  %6959 = fsub float %6956, %6958
  %6960 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %6959, ptr %6960, align 4, !tbaa !11
  %6961 = load ptr, ptr %15, align 8, !tbaa !5
  %6962 = load i64, ptr %22, align 8, !tbaa !9
  %6963 = getelementptr inbounds %struct.complex, ptr %6961, i64 %6962
  %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 %32, i32 0, i32 1
  %6967 = load float, ptr %6966, align 4, !tbaa !14
  %6968 = fsub float %6965, %6967
  %6969 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %6968, ptr %6969, align 4, !tbaa !14
  %6970 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %6971 = load float, ptr %6970, align 4, !tbaa !11
  %6972 = load ptr, ptr %15, align 8, !tbaa !5
  %6973 = load i64, ptr %21, align 8, !tbaa !9
  %6974 = getelementptr inbounds %struct.complex, ptr %6972, i64 %6973
  %6975 = getelementptr inbounds %struct.complex, ptr %6974, i32 0, i32 0
  store float %6971, ptr %6975, align 4, !tbaa !11
  %6976 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %6977 = load float, ptr %6976, align 4, !tbaa !14
  %6978 = load ptr, ptr %15, align 8, !tbaa !5
  %6979 = load i64, ptr %21, align 8, !tbaa !9
  %6980 = getelementptr inbounds %struct.complex, ptr %6978, i64 %6979
  %6981 = getelementptr inbounds %struct.complex, ptr %6980, i32 0, i32 1
  store float %6977, ptr %6981, align 4, !tbaa !14
  %6982 = load i64, ptr %50, align 8, !tbaa !9
  %6983 = load i64, ptr %18, align 8, !tbaa !9
  %6984 = mul nsw i64 %6982, %6983
  %6985 = add nsw i64 %6984, 9
  store i64 %6985, ptr %21, align 8, !tbaa !9
  %6986 = load i64, ptr %50, align 8, !tbaa !9
  %6987 = load i64, ptr %18, align 8, !tbaa !9
  %6988 = mul nsw i64 %6986, %6987
  %6989 = add nsw i64 %6988, 9
  store i64 %6989, ptr %22, align 8, !tbaa !9
  %6990 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %6991 = load float, ptr %6990, align 4, !tbaa !11
  %6992 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %6993 = load float, ptr %6992, align 4, !tbaa !11
  %6994 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %6995 = load float, ptr %6994, align 4, !tbaa !14
  %6996 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %6997 = load float, ptr %6996, align 4, !tbaa !14
  %6998 = fmul float %6995, %6997
  %6999 = fneg float %6998
  %7000 = call float @llvm.fmuladd.f32(float %6991, float %6993, float %6999)
  %7001 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %7000, ptr %7001, align 4, !tbaa !11
  %7002 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %7003 = load float, ptr %7002, align 4, !tbaa !11
  %7004 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %7005 = load float, ptr %7004, align 4, !tbaa !14
  %7006 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %7007 = load float, ptr %7006, align 4, !tbaa !14
  %7008 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %7009 = load float, ptr %7008, align 4, !tbaa !11
  %7010 = fmul float %7007, %7009
  %7011 = call float @llvm.fmuladd.f32(float %7003, float %7005, float %7010)
  %7012 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %7011, ptr %7012, align 4, !tbaa !14
  %7013 = load ptr, ptr %15, align 8, !tbaa !5
  %7014 = load i64, ptr %22, align 8, !tbaa !9
  %7015 = getelementptr inbounds %struct.complex, ptr %7013, i64 %7014
  %7016 = getelementptr inbounds %struct.complex, ptr %7015, i32 0, i32 0
  %7017 = load float, ptr %7016, align 4, !tbaa !11
  %7018 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7019 = load float, ptr %7018, align 4, !tbaa !11
  %7020 = fsub float %7017, %7019
  %7021 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7020, ptr %7021, align 4, !tbaa !11
  %7022 = load ptr, ptr %15, align 8, !tbaa !5
  %7023 = load i64, ptr %22, align 8, !tbaa !9
  %7024 = getelementptr inbounds %struct.complex, ptr %7022, i64 %7023
  %7025 = getelementptr inbounds %struct.complex, ptr %7024, i32 0, i32 1
  %7026 = load float, ptr %7025, align 4, !tbaa !14
  %7027 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7028 = load float, ptr %7027, align 4, !tbaa !14
  %7029 = fsub float %7026, %7028
  %7030 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7029, ptr %7030, align 4, !tbaa !14
  %7031 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7032 = load float, ptr %7031, align 4, !tbaa !11
  %7033 = load ptr, ptr %15, align 8, !tbaa !5
  %7034 = load i64, ptr %21, align 8, !tbaa !9
  %7035 = getelementptr inbounds %struct.complex, ptr %7033, i64 %7034
  %7036 = getelementptr inbounds %struct.complex, ptr %7035, i32 0, i32 0
  store float %7032, ptr %7036, align 4, !tbaa !11
  %7037 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7038 = load float, ptr %7037, align 4, !tbaa !14
  %7039 = load ptr, ptr %15, align 8, !tbaa !5
  %7040 = load i64, ptr %21, align 8, !tbaa !9
  %7041 = getelementptr inbounds %struct.complex, ptr %7039, i64 %7040
  %7042 = getelementptr inbounds %struct.complex, ptr %7041, i32 0, i32 1
  store float %7038, ptr %7042, align 4, !tbaa !14
  br label %7043

7043:                                             ; preds = %6040
  %7044 = load i64, ptr %50, align 8, !tbaa !9
  %7045 = add nsw i64 %7044, 1
  store i64 %7045, ptr %50, align 8, !tbaa !9
  br label %6036, !llvm.loop !24

7046:                                             ; preds = %6036
  br label %17146

7047:                                             ; preds = %111
  %7048 = load ptr, ptr %13, align 8, !tbaa !5
  %7049 = getelementptr inbounds %struct.complex, ptr %7048, i64 1
  call void @r_cnjg(ptr noundef %31, ptr noundef %7049)
  %7050 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7051 = load float, ptr %7050, align 4, !tbaa !11
  %7052 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %7051, ptr %7052, align 4, !tbaa !11
  %7053 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7054 = load float, ptr %7053, align 4, !tbaa !14
  %7055 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %7054, ptr %7055, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %7056 = load ptr, ptr %14, align 8, !tbaa !5
  %7057 = getelementptr inbounds %struct.complex, ptr %7056, i32 0, i32 0
  %7058 = load float, ptr %7057, align 4, !tbaa !11
  %7059 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7060 = load float, ptr %7059, align 4, !tbaa !11
  %7061 = load ptr, ptr %14, align 8, !tbaa !5
  %7062 = getelementptr inbounds %struct.complex, ptr %7061, i32 0, i32 1
  %7063 = load float, ptr %7062, align 4, !tbaa !14
  %7064 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7065 = load float, ptr %7064, align 4, !tbaa !14
  %7066 = fmul float %7063, %7065
  %7067 = fneg float %7066
  %7068 = call float @llvm.fmuladd.f32(float %7058, float %7060, float %7067)
  %7069 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7068, ptr %7069, align 4, !tbaa !11
  %7070 = load ptr, ptr %14, align 8, !tbaa !5
  %7071 = getelementptr inbounds %struct.complex, ptr %7070, i32 0, i32 0
  %7072 = load float, ptr %7071, align 4, !tbaa !11
  %7073 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7074 = load float, ptr %7073, align 4, !tbaa !14
  %7075 = load ptr, ptr %14, align 8, !tbaa !5
  %7076 = getelementptr inbounds %struct.complex, ptr %7075, i32 0, i32 1
  %7077 = load float, ptr %7076, align 4, !tbaa !14
  %7078 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7079 = load float, ptr %7078, align 4, !tbaa !11
  %7080 = fmul float %7077, %7079
  %7081 = call float @llvm.fmuladd.f32(float %7072, float %7074, float %7080)
  %7082 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7081, ptr %7082, align 4, !tbaa !14
  %7083 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7084 = load float, ptr %7083, align 4, !tbaa !11
  %7085 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %7084, ptr %7085, align 4, !tbaa !11
  %7086 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7087 = load float, ptr %7086, align 4, !tbaa !14
  %7088 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %7087, ptr %7088, align 4, !tbaa !14
  %7089 = load ptr, ptr %13, align 8, !tbaa !5
  %7090 = getelementptr inbounds %struct.complex, ptr %7089, i64 2
  call void @r_cnjg(ptr noundef %31, ptr noundef %7090)
  %7091 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7092 = load float, ptr %7091, align 4, !tbaa !11
  %7093 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %7092, ptr %7093, align 4, !tbaa !11
  %7094 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7095 = load float, ptr %7094, align 4, !tbaa !14
  %7096 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %7095, ptr %7096, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %7097 = load ptr, ptr %14, align 8, !tbaa !5
  %7098 = getelementptr inbounds %struct.complex, ptr %7097, i32 0, i32 0
  %7099 = load float, ptr %7098, align 4, !tbaa !11
  %7100 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7101 = load float, ptr %7100, align 4, !tbaa !11
  %7102 = load ptr, ptr %14, align 8, !tbaa !5
  %7103 = getelementptr inbounds %struct.complex, ptr %7102, i32 0, i32 1
  %7104 = load float, ptr %7103, align 4, !tbaa !14
  %7105 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7106 = load float, ptr %7105, align 4, !tbaa !14
  %7107 = fmul float %7104, %7106
  %7108 = fneg float %7107
  %7109 = call float @llvm.fmuladd.f32(float %7099, float %7101, float %7108)
  %7110 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7109, ptr %7110, align 4, !tbaa !11
  %7111 = load ptr, ptr %14, align 8, !tbaa !5
  %7112 = getelementptr inbounds %struct.complex, ptr %7111, i32 0, i32 0
  %7113 = load float, ptr %7112, align 4, !tbaa !11
  %7114 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7115 = load float, ptr %7114, align 4, !tbaa !14
  %7116 = load ptr, ptr %14, align 8, !tbaa !5
  %7117 = getelementptr inbounds %struct.complex, ptr %7116, i32 0, i32 1
  %7118 = load float, ptr %7117, align 4, !tbaa !14
  %7119 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7120 = load float, ptr %7119, align 4, !tbaa !11
  %7121 = fmul float %7118, %7120
  %7122 = call float @llvm.fmuladd.f32(float %7113, float %7115, float %7121)
  %7123 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7122, ptr %7123, align 4, !tbaa !14
  %7124 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7125 = load float, ptr %7124, align 4, !tbaa !11
  %7126 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %7125, ptr %7126, align 4, !tbaa !11
  %7127 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7128 = load float, ptr %7127, align 4, !tbaa !14
  %7129 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %7128, ptr %7129, align 4, !tbaa !14
  %7130 = load ptr, ptr %13, align 8, !tbaa !5
  %7131 = getelementptr inbounds %struct.complex, ptr %7130, i64 3
  call void @r_cnjg(ptr noundef %31, ptr noundef %7131)
  %7132 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7133 = load float, ptr %7132, align 4, !tbaa !11
  %7134 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %7133, ptr %7134, align 4, !tbaa !11
  %7135 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7136 = load float, ptr %7135, align 4, !tbaa !14
  %7137 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %7136, ptr %7137, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %7138 = load ptr, ptr %14, align 8, !tbaa !5
  %7139 = getelementptr inbounds %struct.complex, ptr %7138, i32 0, i32 0
  %7140 = load float, ptr %7139, align 4, !tbaa !11
  %7141 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7142 = load float, ptr %7141, align 4, !tbaa !11
  %7143 = load ptr, ptr %14, align 8, !tbaa !5
  %7144 = getelementptr inbounds %struct.complex, ptr %7143, i32 0, i32 1
  %7145 = load float, ptr %7144, align 4, !tbaa !14
  %7146 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7147 = load float, ptr %7146, align 4, !tbaa !14
  %7148 = fmul float %7145, %7147
  %7149 = fneg float %7148
  %7150 = call float @llvm.fmuladd.f32(float %7140, float %7142, float %7149)
  %7151 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7150, ptr %7151, align 4, !tbaa !11
  %7152 = load ptr, ptr %14, align 8, !tbaa !5
  %7153 = getelementptr inbounds %struct.complex, ptr %7152, i32 0, i32 0
  %7154 = load float, ptr %7153, align 4, !tbaa !11
  %7155 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7156 = load float, ptr %7155, align 4, !tbaa !14
  %7157 = load ptr, ptr %14, align 8, !tbaa !5
  %7158 = getelementptr inbounds %struct.complex, ptr %7157, i32 0, i32 1
  %7159 = load float, ptr %7158, align 4, !tbaa !14
  %7160 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7161 = load float, ptr %7160, align 4, !tbaa !11
  %7162 = fmul float %7159, %7161
  %7163 = call float @llvm.fmuladd.f32(float %7154, float %7156, float %7162)
  %7164 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7163, ptr %7164, align 4, !tbaa !14
  %7165 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7166 = load float, ptr %7165, align 4, !tbaa !11
  %7167 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %7166, ptr %7167, align 4, !tbaa !11
  %7168 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7169 = load float, ptr %7168, align 4, !tbaa !14
  %7170 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %7169, ptr %7170, align 4, !tbaa !14
  %7171 = load ptr, ptr %13, align 8, !tbaa !5
  %7172 = getelementptr inbounds %struct.complex, ptr %7171, i64 4
  call void @r_cnjg(ptr noundef %31, ptr noundef %7172)
  %7173 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7174 = load float, ptr %7173, align 4, !tbaa !11
  %7175 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %7174, ptr %7175, align 4, !tbaa !11
  %7176 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7177 = load float, ptr %7176, align 4, !tbaa !14
  %7178 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %7177, ptr %7178, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %7179 = load ptr, ptr %14, align 8, !tbaa !5
  %7180 = getelementptr inbounds %struct.complex, ptr %7179, i32 0, i32 0
  %7181 = load float, ptr %7180, align 4, !tbaa !11
  %7182 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7183 = load float, ptr %7182, align 4, !tbaa !11
  %7184 = load ptr, ptr %14, align 8, !tbaa !5
  %7185 = getelementptr inbounds %struct.complex, ptr %7184, i32 0, i32 1
  %7186 = load float, ptr %7185, align 4, !tbaa !14
  %7187 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7188 = load float, ptr %7187, align 4, !tbaa !14
  %7189 = fmul float %7186, %7188
  %7190 = fneg float %7189
  %7191 = call float @llvm.fmuladd.f32(float %7181, float %7183, float %7190)
  %7192 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7191, ptr %7192, align 4, !tbaa !11
  %7193 = load ptr, ptr %14, align 8, !tbaa !5
  %7194 = getelementptr inbounds %struct.complex, ptr %7193, i32 0, i32 0
  %7195 = load float, ptr %7194, align 4, !tbaa !11
  %7196 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7197 = load float, ptr %7196, align 4, !tbaa !14
  %7198 = load ptr, ptr %14, align 8, !tbaa !5
  %7199 = getelementptr inbounds %struct.complex, ptr %7198, i32 0, i32 1
  %7200 = load float, ptr %7199, align 4, !tbaa !14
  %7201 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7202 = load float, ptr %7201, align 4, !tbaa !11
  %7203 = fmul float %7200, %7202
  %7204 = call float @llvm.fmuladd.f32(float %7195, float %7197, float %7203)
  %7205 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7204, ptr %7205, align 4, !tbaa !14
  %7206 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7207 = load float, ptr %7206, align 4, !tbaa !11
  %7208 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %7207, ptr %7208, align 4, !tbaa !11
  %7209 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7210 = load float, ptr %7209, align 4, !tbaa !14
  %7211 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %7210, ptr %7211, align 4, !tbaa !14
  %7212 = load ptr, ptr %13, align 8, !tbaa !5
  %7213 = getelementptr inbounds %struct.complex, ptr %7212, i64 5
  call void @r_cnjg(ptr noundef %31, ptr noundef %7213)
  %7214 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7215 = load float, ptr %7214, align 4, !tbaa !11
  %7216 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %7215, ptr %7216, align 4, !tbaa !11
  %7217 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7218 = load float, ptr %7217, align 4, !tbaa !14
  %7219 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %7218, ptr %7219, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %7220 = load ptr, ptr %14, align 8, !tbaa !5
  %7221 = getelementptr inbounds %struct.complex, ptr %7220, i32 0, i32 0
  %7222 = load float, ptr %7221, align 4, !tbaa !11
  %7223 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7224 = load float, ptr %7223, align 4, !tbaa !11
  %7225 = load ptr, ptr %14, align 8, !tbaa !5
  %7226 = getelementptr inbounds %struct.complex, ptr %7225, i32 0, i32 1
  %7227 = load float, ptr %7226, align 4, !tbaa !14
  %7228 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7229 = load float, ptr %7228, align 4, !tbaa !14
  %7230 = fmul float %7227, %7229
  %7231 = fneg float %7230
  %7232 = call float @llvm.fmuladd.f32(float %7222, float %7224, float %7231)
  %7233 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7232, ptr %7233, align 4, !tbaa !11
  %7234 = load ptr, ptr %14, align 8, !tbaa !5
  %7235 = getelementptr inbounds %struct.complex, ptr %7234, i32 0, i32 0
  %7236 = load float, ptr %7235, align 4, !tbaa !11
  %7237 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7238 = load float, ptr %7237, align 4, !tbaa !14
  %7239 = load ptr, ptr %14, align 8, !tbaa !5
  %7240 = getelementptr inbounds %struct.complex, ptr %7239, i32 0, i32 1
  %7241 = load float, ptr %7240, align 4, !tbaa !14
  %7242 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7243 = load float, ptr %7242, align 4, !tbaa !11
  %7244 = fmul float %7241, %7243
  %7245 = call float @llvm.fmuladd.f32(float %7236, float %7238, float %7244)
  %7246 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7245, ptr %7246, align 4, !tbaa !14
  %7247 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7248 = load float, ptr %7247, align 4, !tbaa !11
  %7249 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %7248, ptr %7249, align 4, !tbaa !11
  %7250 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7251 = load float, ptr %7250, align 4, !tbaa !14
  %7252 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %7251, ptr %7252, align 4, !tbaa !14
  %7253 = load ptr, ptr %13, align 8, !tbaa !5
  %7254 = getelementptr inbounds %struct.complex, ptr %7253, i64 6
  call void @r_cnjg(ptr noundef %31, ptr noundef %7254)
  %7255 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7256 = load float, ptr %7255, align 4, !tbaa !11
  %7257 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %7256, ptr %7257, align 4, !tbaa !11
  %7258 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7259 = load float, ptr %7258, align 4, !tbaa !14
  %7260 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %7259, ptr %7260, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %7261 = load ptr, ptr %14, align 8, !tbaa !5
  %7262 = getelementptr inbounds %struct.complex, ptr %7261, i32 0, i32 0
  %7263 = load float, ptr %7262, align 4, !tbaa !11
  %7264 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7265 = load float, ptr %7264, align 4, !tbaa !11
  %7266 = load ptr, ptr %14, align 8, !tbaa !5
  %7267 = getelementptr inbounds %struct.complex, ptr %7266, i32 0, i32 1
  %7268 = load float, ptr %7267, align 4, !tbaa !14
  %7269 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7270 = load float, ptr %7269, align 4, !tbaa !14
  %7271 = fmul float %7268, %7270
  %7272 = fneg float %7271
  %7273 = call float @llvm.fmuladd.f32(float %7263, float %7265, float %7272)
  %7274 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7273, ptr %7274, align 4, !tbaa !11
  %7275 = load ptr, ptr %14, align 8, !tbaa !5
  %7276 = getelementptr inbounds %struct.complex, ptr %7275, i32 0, i32 0
  %7277 = load float, ptr %7276, align 4, !tbaa !11
  %7278 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7279 = load float, ptr %7278, align 4, !tbaa !14
  %7280 = load ptr, ptr %14, align 8, !tbaa !5
  %7281 = getelementptr inbounds %struct.complex, ptr %7280, i32 0, i32 1
  %7282 = load float, ptr %7281, align 4, !tbaa !14
  %7283 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7284 = load float, ptr %7283, align 4, !tbaa !11
  %7285 = fmul float %7282, %7284
  %7286 = call float @llvm.fmuladd.f32(float %7277, float %7279, float %7285)
  %7287 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7286, ptr %7287, align 4, !tbaa !14
  %7288 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7289 = load float, ptr %7288, align 4, !tbaa !11
  %7290 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %7289, ptr %7290, align 4, !tbaa !11
  %7291 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7292 = load float, ptr %7291, align 4, !tbaa !14
  %7293 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %7292, ptr %7293, align 4, !tbaa !14
  %7294 = load ptr, ptr %13, align 8, !tbaa !5
  %7295 = getelementptr inbounds %struct.complex, ptr %7294, i64 7
  call void @r_cnjg(ptr noundef %31, ptr noundef %7295)
  %7296 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7297 = load float, ptr %7296, align 4, !tbaa !11
  %7298 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %7297, ptr %7298, align 4, !tbaa !11
  %7299 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7300 = load float, ptr %7299, align 4, !tbaa !14
  %7301 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %7300, ptr %7301, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %7302 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 0
  %7306 = load float, ptr %7305, align 4, !tbaa !11
  %7307 = load ptr, ptr %14, align 8, !tbaa !5
  %7308 = getelementptr inbounds %struct.complex, ptr %7307, i32 0, i32 1
  %7309 = load float, ptr %7308, align 4, !tbaa !14
  %7310 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7311 = load float, ptr %7310, align 4, !tbaa !14
  %7312 = fmul float %7309, %7311
  %7313 = fneg float %7312
  %7314 = call float @llvm.fmuladd.f32(float %7304, float %7306, float %7313)
  %7315 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7314, ptr %7315, align 4, !tbaa !11
  %7316 = load ptr, ptr %14, align 8, !tbaa !5
  %7317 = getelementptr inbounds %struct.complex, ptr %7316, i32 0, i32 0
  %7318 = load float, ptr %7317, align 4, !tbaa !11
  %7319 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7320 = load float, ptr %7319, align 4, !tbaa !14
  %7321 = load ptr, ptr %14, align 8, !tbaa !5
  %7322 = getelementptr inbounds %struct.complex, ptr %7321, i32 0, i32 1
  %7323 = load float, ptr %7322, align 4, !tbaa !14
  %7324 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7325 = load float, ptr %7324, align 4, !tbaa !11
  %7326 = fmul float %7323, %7325
  %7327 = call float @llvm.fmuladd.f32(float %7318, float %7320, float %7326)
  %7328 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7327, ptr %7328, align 4, !tbaa !14
  %7329 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7330 = load float, ptr %7329, align 4, !tbaa !11
  %7331 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %7330, ptr %7331, align 4, !tbaa !11
  %7332 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7333 = load float, ptr %7332, align 4, !tbaa !14
  %7334 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %7333, ptr %7334, align 4, !tbaa !14
  %7335 = load ptr, ptr %13, align 8, !tbaa !5
  %7336 = getelementptr inbounds %struct.complex, ptr %7335, i64 8
  call void @r_cnjg(ptr noundef %31, ptr noundef %7336)
  %7337 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7338 = load float, ptr %7337, align 4, !tbaa !11
  %7339 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %7338, ptr %7339, align 4, !tbaa !11
  %7340 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7341 = load float, ptr %7340, align 4, !tbaa !14
  %7342 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %7341, ptr %7342, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %67)
  %7343 = load ptr, ptr %14, align 8, !tbaa !5
  %7344 = getelementptr inbounds %struct.complex, ptr %7343, i32 0, i32 0
  %7345 = load float, ptr %7344, align 4, !tbaa !11
  %7346 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7347 = load float, ptr %7346, align 4, !tbaa !11
  %7348 = load ptr, ptr %14, align 8, !tbaa !5
  %7349 = getelementptr inbounds %struct.complex, ptr %7348, i32 0, i32 1
  %7350 = load float, ptr %7349, align 4, !tbaa !14
  %7351 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7352 = load float, ptr %7351, align 4, !tbaa !14
  %7353 = fmul float %7350, %7352
  %7354 = fneg float %7353
  %7355 = call float @llvm.fmuladd.f32(float %7345, float %7347, float %7354)
  %7356 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7355, ptr %7356, align 4, !tbaa !11
  %7357 = load ptr, ptr %14, align 8, !tbaa !5
  %7358 = getelementptr inbounds %struct.complex, ptr %7357, i32 0, i32 0
  %7359 = load float, ptr %7358, align 4, !tbaa !11
  %7360 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7361 = load float, ptr %7360, align 4, !tbaa !14
  %7362 = load ptr, ptr %14, align 8, !tbaa !5
  %7363 = getelementptr inbounds %struct.complex, ptr %7362, i32 0, i32 1
  %7364 = load float, ptr %7363, align 4, !tbaa !14
  %7365 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7366 = load float, ptr %7365, align 4, !tbaa !11
  %7367 = fmul float %7364, %7366
  %7368 = call float @llvm.fmuladd.f32(float %7359, float %7361, float %7367)
  %7369 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7368, ptr %7369, align 4, !tbaa !14
  %7370 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7371 = load float, ptr %7370, align 4, !tbaa !11
  %7372 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %7371, ptr %7372, align 4, !tbaa !11
  %7373 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7374 = load float, ptr %7373, align 4, !tbaa !14
  %7375 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %7374, ptr %7375, align 4, !tbaa !14
  %7376 = load ptr, ptr %13, align 8, !tbaa !5
  %7377 = getelementptr inbounds %struct.complex, ptr %7376, i64 9
  call void @r_cnjg(ptr noundef %31, ptr noundef %7377)
  %7378 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7379 = load float, ptr %7378, align 4, !tbaa !11
  %7380 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  store float %7379, ptr %7380, align 4, !tbaa !11
  %7381 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7382 = load float, ptr %7381, align 4, !tbaa !14
  %7383 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  store float %7382, ptr %7383, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %68)
  %7384 = load ptr, ptr %14, align 8, !tbaa !5
  %7385 = getelementptr inbounds %struct.complex, ptr %7384, i32 0, i32 0
  %7386 = load float, ptr %7385, align 4, !tbaa !11
  %7387 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7388 = load float, ptr %7387, align 4, !tbaa !11
  %7389 = load ptr, ptr %14, align 8, !tbaa !5
  %7390 = getelementptr inbounds %struct.complex, ptr %7389, i32 0, i32 1
  %7391 = load float, ptr %7390, align 4, !tbaa !14
  %7392 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7393 = load float, ptr %7392, align 4, !tbaa !14
  %7394 = fmul float %7391, %7393
  %7395 = fneg float %7394
  %7396 = call float @llvm.fmuladd.f32(float %7386, float %7388, float %7395)
  %7397 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7396, ptr %7397, align 4, !tbaa !11
  %7398 = load ptr, ptr %14, align 8, !tbaa !5
  %7399 = getelementptr inbounds %struct.complex, ptr %7398, i32 0, i32 0
  %7400 = load float, ptr %7399, align 4, !tbaa !11
  %7401 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7402 = load float, ptr %7401, align 4, !tbaa !14
  %7403 = load ptr, ptr %14, align 8, !tbaa !5
  %7404 = getelementptr inbounds %struct.complex, ptr %7403, i32 0, i32 1
  %7405 = load float, ptr %7404, align 4, !tbaa !14
  %7406 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7407 = load float, ptr %7406, align 4, !tbaa !11
  %7408 = fmul float %7405, %7407
  %7409 = call float @llvm.fmuladd.f32(float %7400, float %7402, float %7408)
  %7410 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7409, ptr %7410, align 4, !tbaa !14
  %7411 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7412 = load float, ptr %7411, align 4, !tbaa !11
  %7413 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %7412, ptr %7413, align 4, !tbaa !11
  %7414 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7415 = load float, ptr %7414, align 4, !tbaa !14
  %7416 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %7415, ptr %7416, align 4, !tbaa !14
  %7417 = load ptr, ptr %13, align 8, !tbaa !5
  %7418 = getelementptr inbounds %struct.complex, ptr %7417, i64 10
  call void @r_cnjg(ptr noundef %31, ptr noundef %7418)
  %7419 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7420 = load float, ptr %7419, align 4, !tbaa !11
  %7421 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %7420, ptr %7421, align 4, !tbaa !11
  %7422 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7423 = load float, ptr %7422, align 4, !tbaa !14
  %7424 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %7423, ptr %7424, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %70)
  %7425 = load ptr, ptr %14, align 8, !tbaa !5
  %7426 = getelementptr inbounds %struct.complex, ptr %7425, i32 0, i32 0
  %7427 = load float, ptr %7426, align 4, !tbaa !11
  %7428 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7429 = load float, ptr %7428, align 4, !tbaa !11
  %7430 = load ptr, ptr %14, align 8, !tbaa !5
  %7431 = getelementptr inbounds %struct.complex, ptr %7430, i32 0, i32 1
  %7432 = load float, ptr %7431, align 4, !tbaa !14
  %7433 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7434 = load float, ptr %7433, align 4, !tbaa !14
  %7435 = fmul float %7432, %7434
  %7436 = fneg float %7435
  %7437 = call float @llvm.fmuladd.f32(float %7427, float %7429, float %7436)
  %7438 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7437, ptr %7438, align 4, !tbaa !11
  %7439 = load ptr, ptr %14, align 8, !tbaa !5
  %7440 = getelementptr inbounds %struct.complex, ptr %7439, i32 0, i32 0
  %7441 = load float, ptr %7440, align 4, !tbaa !11
  %7442 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7443 = load float, ptr %7442, align 4, !tbaa !14
  %7444 = load ptr, ptr %14, align 8, !tbaa !5
  %7445 = getelementptr inbounds %struct.complex, ptr %7444, i32 0, i32 1
  %7446 = load float, ptr %7445, align 4, !tbaa !14
  %7447 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7448 = load float, ptr %7447, align 4, !tbaa !11
  %7449 = fmul float %7446, %7448
  %7450 = call float @llvm.fmuladd.f32(float %7441, float %7443, float %7449)
  %7451 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7450, ptr %7451, align 4, !tbaa !14
  %7452 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7453 = load float, ptr %7452, align 4, !tbaa !11
  %7454 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  store float %7453, ptr %7454, align 4, !tbaa !11
  %7455 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7456 = load float, ptr %7455, align 4, !tbaa !14
  %7457 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  store float %7456, ptr %7457, align 4, !tbaa !14
  %7458 = load ptr, ptr %12, align 8, !tbaa !5
  %7459 = load i64, ptr %7458, align 8, !tbaa !9
  store i64 %7459, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %7460

7460:                                             ; preds = %8579, %7047
  %7461 = load i64, ptr %50, align 8, !tbaa !9
  %7462 = load i64, ptr %20, align 8, !tbaa !9
  %7463 = icmp sle i64 %7461, %7462
  br i1 %7463, label %7464, label %8582

7464:                                             ; preds = %7460
  %7465 = load i64, ptr %50, align 8, !tbaa !9
  %7466 = load i64, ptr %18, align 8, !tbaa !9
  %7467 = mul nsw i64 %7465, %7466
  %7468 = add nsw i64 %7467, 1
  store i64 %7468, ptr %21, align 8, !tbaa !9
  %7469 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %7470 = load float, ptr %7469, align 4, !tbaa !11
  %7471 = load ptr, ptr %15, align 8, !tbaa !5
  %7472 = load i64, ptr %21, align 8, !tbaa !9
  %7473 = getelementptr inbounds %struct.complex, ptr %7471, i64 %7472
  %7474 = getelementptr inbounds %struct.complex, ptr %7473, i32 0, i32 0
  %7475 = load float, ptr %7474, align 4, !tbaa !11
  %7476 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %7477 = load float, ptr %7476, align 4, !tbaa !14
  %7478 = load ptr, ptr %15, align 8, !tbaa !5
  %7479 = load i64, ptr %21, align 8, !tbaa !9
  %7480 = getelementptr inbounds %struct.complex, ptr %7478, i64 %7479
  %7481 = getelementptr inbounds %struct.complex, ptr %7480, i32 0, i32 1
  %7482 = load float, ptr %7481, align 4, !tbaa !14
  %7483 = fmul float %7477, %7482
  %7484 = fneg float %7483
  %7485 = call float @llvm.fmuladd.f32(float %7470, float %7475, float %7484)
  %7486 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %7485, ptr %7486, align 4, !tbaa !11
  %7487 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %7488 = load float, ptr %7487, align 4, !tbaa !11
  %7489 = load ptr, ptr %15, align 8, !tbaa !5
  %7490 = load i64, ptr %21, align 8, !tbaa !9
  %7491 = getelementptr inbounds %struct.complex, ptr %7489, i64 %7490
  %7492 = getelementptr inbounds %struct.complex, ptr %7491, i32 0, i32 1
  %7493 = load float, ptr %7492, align 4, !tbaa !14
  %7494 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %7495 = load float, ptr %7494, align 4, !tbaa !14
  %7496 = load ptr, ptr %15, align 8, !tbaa !5
  %7497 = load i64, ptr %21, align 8, !tbaa !9
  %7498 = getelementptr inbounds %struct.complex, ptr %7496, i64 %7497
  %7499 = getelementptr inbounds %struct.complex, ptr %7498, i32 0, i32 0
  %7500 = load float, ptr %7499, align 4, !tbaa !11
  %7501 = fmul float %7495, %7500
  %7502 = call float @llvm.fmuladd.f32(float %7488, float %7493, float %7501)
  %7503 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %7502, ptr %7503, align 4, !tbaa !14
  %7504 = load i64, ptr %50, align 8, !tbaa !9
  %7505 = load i64, ptr %18, align 8, !tbaa !9
  %7506 = mul nsw i64 %7504, %7505
  %7507 = add nsw i64 %7506, 2
  store i64 %7507, ptr %22, align 8, !tbaa !9
  %7508 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %7509 = load float, ptr %7508, align 4, !tbaa !11
  %7510 = load ptr, ptr %15, align 8, !tbaa !5
  %7511 = load i64, ptr %22, align 8, !tbaa !9
  %7512 = getelementptr inbounds %struct.complex, ptr %7510, i64 %7511
  %7513 = getelementptr inbounds %struct.complex, ptr %7512, i32 0, i32 0
  %7514 = load float, ptr %7513, align 4, !tbaa !11
  %7515 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %7516 = load float, ptr %7515, align 4, !tbaa !14
  %7517 = load ptr, ptr %15, align 8, !tbaa !5
  %7518 = load i64, ptr %22, align 8, !tbaa !9
  %7519 = getelementptr inbounds %struct.complex, ptr %7517, i64 %7518
  %7520 = getelementptr inbounds %struct.complex, ptr %7519, i32 0, i32 1
  %7521 = load float, ptr %7520, align 4, !tbaa !14
  %7522 = fmul float %7516, %7521
  %7523 = fneg float %7522
  %7524 = call float @llvm.fmuladd.f32(float %7509, float %7514, float %7523)
  %7525 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %7524, ptr %7525, align 4, !tbaa !11
  %7526 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %7527 = load float, ptr %7526, align 4, !tbaa !11
  %7528 = load ptr, ptr %15, align 8, !tbaa !5
  %7529 = load i64, ptr %22, align 8, !tbaa !9
  %7530 = getelementptr inbounds %struct.complex, ptr %7528, 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 %61, i32 0, i32 1
  %7534 = load float, ptr %7533, align 4, !tbaa !14
  %7535 = load ptr, ptr %15, align 8, !tbaa !5
  %7536 = load i64, ptr %22, align 8, !tbaa !9
  %7537 = getelementptr inbounds %struct.complex, ptr %7535, i64 %7536
  %7538 = getelementptr inbounds %struct.complex, ptr %7537, i32 0, i32 0
  %7539 = load float, ptr %7538, align 4, !tbaa !11
  %7540 = fmul float %7534, %7539
  %7541 = call float @llvm.fmuladd.f32(float %7527, float %7532, float %7540)
  %7542 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %7541, ptr %7542, align 4, !tbaa !14
  %7543 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %7544 = load float, ptr %7543, align 4, !tbaa !11
  %7545 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %7546 = load float, ptr %7545, align 4, !tbaa !11
  %7547 = fadd float %7544, %7546
  %7548 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %7547, ptr %7548, align 4, !tbaa !11
  %7549 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %7550 = load float, ptr %7549, align 4, !tbaa !14
  %7551 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %7552 = load float, ptr %7551, align 4, !tbaa !14
  %7553 = fadd float %7550, %7552
  %7554 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %7553, ptr %7554, align 4, !tbaa !14
  %7555 = load i64, ptr %50, align 8, !tbaa !9
  %7556 = load i64, ptr %18, align 8, !tbaa !9
  %7557 = mul nsw i64 %7555, %7556
  %7558 = add nsw i64 %7557, 3
  store i64 %7558, ptr %23, align 8, !tbaa !9
  %7559 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %7560 = load float, ptr %7559, align 4, !tbaa !11
  %7561 = load ptr, ptr %15, align 8, !tbaa !5
  %7562 = load i64, ptr %23, align 8, !tbaa !9
  %7563 = getelementptr inbounds %struct.complex, ptr %7561, i64 %7562
  %7564 = getelementptr inbounds %struct.complex, ptr %7563, i32 0, i32 0
  %7565 = load float, ptr %7564, align 4, !tbaa !11
  %7566 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %7567 = load float, ptr %7566, align 4, !tbaa !14
  %7568 = load ptr, ptr %15, align 8, !tbaa !5
  %7569 = load i64, ptr %23, align 8, !tbaa !9
  %7570 = getelementptr inbounds %struct.complex, ptr %7568, i64 %7569
  %7571 = getelementptr inbounds %struct.complex, ptr %7570, i32 0, i32 1
  %7572 = load float, ptr %7571, align 4, !tbaa !14
  %7573 = fmul float %7567, %7572
  %7574 = fneg float %7573
  %7575 = call float @llvm.fmuladd.f32(float %7560, float %7565, float %7574)
  %7576 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %7575, ptr %7576, align 4, !tbaa !11
  %7577 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %7578 = load float, ptr %7577, align 4, !tbaa !11
  %7579 = load ptr, ptr %15, align 8, !tbaa !5
  %7580 = load i64, ptr %23, align 8, !tbaa !9
  %7581 = getelementptr inbounds %struct.complex, ptr %7579, i64 %7580
  %7582 = getelementptr inbounds %struct.complex, ptr %7581, i32 0, i32 1
  %7583 = load float, ptr %7582, align 4, !tbaa !14
  %7584 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %7585 = load float, ptr %7584, align 4, !tbaa !14
  %7586 = load ptr, ptr %15, align 8, !tbaa !5
  %7587 = load i64, ptr %23, align 8, !tbaa !9
  %7588 = getelementptr inbounds %struct.complex, ptr %7586, i64 %7587
  %7589 = getelementptr inbounds %struct.complex, ptr %7588, i32 0, i32 0
  %7590 = load float, ptr %7589, align 4, !tbaa !11
  %7591 = fmul float %7585, %7590
  %7592 = call float @llvm.fmuladd.f32(float %7578, float %7583, float %7591)
  %7593 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %7592, ptr %7593, align 4, !tbaa !14
  %7594 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %7595 = load float, ptr %7594, align 4, !tbaa !11
  %7596 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %7597 = load float, ptr %7596, align 4, !tbaa !11
  %7598 = fadd float %7595, %7597
  %7599 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %7598, ptr %7599, align 4, !tbaa !11
  %7600 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %7601 = load float, ptr %7600, align 4, !tbaa !14
  %7602 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %7603 = load float, ptr %7602, align 4, !tbaa !14
  %7604 = fadd float %7601, %7603
  %7605 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %7604, ptr %7605, align 4, !tbaa !14
  %7606 = load i64, ptr %50, align 8, !tbaa !9
  %7607 = load i64, ptr %18, align 8, !tbaa !9
  %7608 = mul nsw i64 %7606, %7607
  %7609 = add nsw i64 %7608, 4
  store i64 %7609, ptr %24, align 8, !tbaa !9
  %7610 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %7611 = load float, ptr %7610, align 4, !tbaa !11
  %7612 = load ptr, ptr %15, align 8, !tbaa !5
  %7613 = load i64, ptr %24, align 8, !tbaa !9
  %7614 = getelementptr inbounds %struct.complex, ptr %7612, i64 %7613
  %7615 = getelementptr inbounds %struct.complex, ptr %7614, i32 0, i32 0
  %7616 = load float, ptr %7615, align 4, !tbaa !11
  %7617 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %7618 = load float, ptr %7617, align 4, !tbaa !14
  %7619 = load ptr, ptr %15, align 8, !tbaa !5
  %7620 = load i64, ptr %24, align 8, !tbaa !9
  %7621 = getelementptr inbounds %struct.complex, ptr %7619, i64 %7620
  %7622 = getelementptr inbounds %struct.complex, ptr %7621, i32 0, i32 1
  %7623 = load float, ptr %7622, align 4, !tbaa !14
  %7624 = fmul float %7618, %7623
  %7625 = fneg float %7624
  %7626 = call float @llvm.fmuladd.f32(float %7611, float %7616, float %7625)
  %7627 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %7626, ptr %7627, align 4, !tbaa !11
  %7628 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %7629 = load float, ptr %7628, align 4, !tbaa !11
  %7630 = load ptr, ptr %15, align 8, !tbaa !5
  %7631 = load i64, ptr %24, align 8, !tbaa !9
  %7632 = getelementptr inbounds %struct.complex, ptr %7630, i64 %7631
  %7633 = getelementptr inbounds %struct.complex, ptr %7632, i32 0, i32 1
  %7634 = load float, ptr %7633, align 4, !tbaa !14
  %7635 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %7636 = load float, ptr %7635, align 4, !tbaa !14
  %7637 = load ptr, ptr %15, align 8, !tbaa !5
  %7638 = load i64, ptr %24, align 8, !tbaa !9
  %7639 = getelementptr inbounds %struct.complex, ptr %7637, i64 %7638
  %7640 = getelementptr inbounds %struct.complex, ptr %7639, i32 0, i32 0
  %7641 = load float, ptr %7640, align 4, !tbaa !11
  %7642 = fmul float %7636, %7641
  %7643 = call float @llvm.fmuladd.f32(float %7629, float %7634, float %7642)
  %7644 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %7643, ptr %7644, align 4, !tbaa !14
  %7645 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %7646 = load float, ptr %7645, align 4, !tbaa !11
  %7647 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %7648 = load float, ptr %7647, align 4, !tbaa !11
  %7649 = fadd float %7646, %7648
  %7650 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %7649, ptr %7650, align 4, !tbaa !11
  %7651 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %7652 = load float, ptr %7651, align 4, !tbaa !14
  %7653 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %7654 = load float, ptr %7653, align 4, !tbaa !14
  %7655 = fadd float %7652, %7654
  %7656 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %7655, ptr %7656, align 4, !tbaa !14
  %7657 = load i64, ptr %50, align 8, !tbaa !9
  %7658 = load i64, ptr %18, align 8, !tbaa !9
  %7659 = mul nsw i64 %7657, %7658
  %7660 = add nsw i64 %7659, 5
  store i64 %7660, ptr %25, align 8, !tbaa !9
  %7661 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %7662 = load float, ptr %7661, align 4, !tbaa !11
  %7663 = load ptr, ptr %15, align 8, !tbaa !5
  %7664 = load i64, ptr %25, align 8, !tbaa !9
  %7665 = getelementptr inbounds %struct.complex, ptr %7663, i64 %7664
  %7666 = getelementptr inbounds %struct.complex, ptr %7665, i32 0, i32 0
  %7667 = load float, ptr %7666, align 4, !tbaa !11
  %7668 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %7669 = load float, ptr %7668, align 4, !tbaa !14
  %7670 = load ptr, ptr %15, align 8, !tbaa !5
  %7671 = load i64, ptr %25, align 8, !tbaa !9
  %7672 = getelementptr inbounds %struct.complex, ptr %7670, i64 %7671
  %7673 = getelementptr inbounds %struct.complex, ptr %7672, i32 0, i32 1
  %7674 = load float, ptr %7673, align 4, !tbaa !14
  %7675 = fmul float %7669, %7674
  %7676 = fneg float %7675
  %7677 = call float @llvm.fmuladd.f32(float %7662, float %7667, float %7676)
  %7678 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %7677, ptr %7678, align 4, !tbaa !11
  %7679 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %7680 = load float, ptr %7679, align 4, !tbaa !11
  %7681 = load ptr, ptr %15, align 8, !tbaa !5
  %7682 = load i64, ptr %25, align 8, !tbaa !9
  %7683 = getelementptr inbounds %struct.complex, ptr %7681, i64 %7682
  %7684 = getelementptr inbounds %struct.complex, ptr %7683, i32 0, i32 1
  %7685 = load float, ptr %7684, align 4, !tbaa !14
  %7686 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %7687 = load float, ptr %7686, align 4, !tbaa !14
  %7688 = load ptr, ptr %15, align 8, !tbaa !5
  %7689 = load i64, ptr %25, align 8, !tbaa !9
  %7690 = getelementptr inbounds %struct.complex, ptr %7688, i64 %7689
  %7691 = getelementptr inbounds %struct.complex, ptr %7690, i32 0, i32 0
  %7692 = load float, ptr %7691, align 4, !tbaa !11
  %7693 = fmul float %7687, %7692
  %7694 = call float @llvm.fmuladd.f32(float %7680, float %7685, float %7693)
  %7695 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %7694, ptr %7695, align 4, !tbaa !14
  %7696 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %7697 = load float, ptr %7696, align 4, !tbaa !11
  %7698 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %7699 = load float, ptr %7698, align 4, !tbaa !11
  %7700 = fadd float %7697, %7699
  %7701 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %7700, ptr %7701, align 4, !tbaa !11
  %7702 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %7703 = load float, ptr %7702, align 4, !tbaa !14
  %7704 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %7705 = load float, ptr %7704, align 4, !tbaa !14
  %7706 = fadd float %7703, %7705
  %7707 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %7706, ptr %7707, align 4, !tbaa !14
  %7708 = load i64, ptr %50, align 8, !tbaa !9
  %7709 = load i64, ptr %18, align 8, !tbaa !9
  %7710 = mul nsw i64 %7708, %7709
  %7711 = add nsw i64 %7710, 6
  store i64 %7711, ptr %26, align 8, !tbaa !9
  %7712 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %7713 = load float, ptr %7712, align 4, !tbaa !11
  %7714 = load ptr, ptr %15, align 8, !tbaa !5
  %7715 = load i64, ptr %26, align 8, !tbaa !9
  %7716 = getelementptr inbounds %struct.complex, ptr %7714, i64 %7715
  %7717 = getelementptr inbounds %struct.complex, ptr %7716, i32 0, i32 0
  %7718 = load float, ptr %7717, align 4, !tbaa !11
  %7719 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %7720 = load float, ptr %7719, align 4, !tbaa !14
  %7721 = load ptr, ptr %15, align 8, !tbaa !5
  %7722 = load i64, ptr %26, align 8, !tbaa !9
  %7723 = getelementptr inbounds %struct.complex, ptr %7721, i64 %7722
  %7724 = getelementptr inbounds %struct.complex, ptr %7723, i32 0, i32 1
  %7725 = load float, ptr %7724, align 4, !tbaa !14
  %7726 = fmul float %7720, %7725
  %7727 = fneg float %7726
  %7728 = call float @llvm.fmuladd.f32(float %7713, float %7718, float %7727)
  %7729 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %7728, ptr %7729, align 4, !tbaa !11
  %7730 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %7731 = load float, ptr %7730, align 4, !tbaa !11
  %7732 = load ptr, ptr %15, align 8, !tbaa !5
  %7733 = load i64, ptr %26, align 8, !tbaa !9
  %7734 = getelementptr inbounds %struct.complex, ptr %7732, i64 %7733
  %7735 = getelementptr inbounds %struct.complex, ptr %7734, i32 0, i32 1
  %7736 = load float, ptr %7735, align 4, !tbaa !14
  %7737 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %7738 = load float, ptr %7737, align 4, !tbaa !14
  %7739 = load ptr, ptr %15, align 8, !tbaa !5
  %7740 = load i64, ptr %26, align 8, !tbaa !9
  %7741 = getelementptr inbounds %struct.complex, ptr %7739, i64 %7740
  %7742 = getelementptr inbounds %struct.complex, ptr %7741, i32 0, i32 0
  %7743 = load float, ptr %7742, align 4, !tbaa !11
  %7744 = fmul float %7738, %7743
  %7745 = call float @llvm.fmuladd.f32(float %7731, float %7736, float %7744)
  %7746 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %7745, ptr %7746, align 4, !tbaa !14
  %7747 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %7748 = load float, ptr %7747, align 4, !tbaa !11
  %7749 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %7750 = load float, ptr %7749, align 4, !tbaa !11
  %7751 = fadd float %7748, %7750
  %7752 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %7751, ptr %7752, align 4, !tbaa !11
  %7753 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %7754 = load float, ptr %7753, align 4, !tbaa !14
  %7755 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %7756 = load float, ptr %7755, align 4, !tbaa !14
  %7757 = fadd float %7754, %7756
  %7758 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %7757, ptr %7758, align 4, !tbaa !14
  %7759 = load i64, ptr %50, align 8, !tbaa !9
  %7760 = load i64, ptr %18, align 8, !tbaa !9
  %7761 = mul nsw i64 %7759, %7760
  %7762 = add nsw i64 %7761, 7
  store i64 %7762, ptr %27, align 8, !tbaa !9
  %7763 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %7764 = load float, ptr %7763, align 4, !tbaa !11
  %7765 = load ptr, ptr %15, align 8, !tbaa !5
  %7766 = load i64, ptr %27, align 8, !tbaa !9
  %7767 = getelementptr inbounds %struct.complex, ptr %7765, i64 %7766
  %7768 = getelementptr inbounds %struct.complex, ptr %7767, i32 0, i32 0
  %7769 = load float, ptr %7768, align 4, !tbaa !11
  %7770 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %7771 = load float, ptr %7770, align 4, !tbaa !14
  %7772 = load ptr, ptr %15, align 8, !tbaa !5
  %7773 = load i64, ptr %27, align 8, !tbaa !9
  %7774 = getelementptr inbounds %struct.complex, ptr %7772, i64 %7773
  %7775 = getelementptr inbounds %struct.complex, ptr %7774, i32 0, i32 1
  %7776 = load float, ptr %7775, align 4, !tbaa !14
  %7777 = fmul float %7771, %7776
  %7778 = fneg float %7777
  %7779 = call float @llvm.fmuladd.f32(float %7764, float %7769, float %7778)
  %7780 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %7779, ptr %7780, align 4, !tbaa !11
  %7781 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %7782 = load float, ptr %7781, align 4, !tbaa !11
  %7783 = load ptr, ptr %15, align 8, !tbaa !5
  %7784 = load i64, ptr %27, align 8, !tbaa !9
  %7785 = getelementptr inbounds %struct.complex, ptr %7783, i64 %7784
  %7786 = getelementptr inbounds %struct.complex, ptr %7785, i32 0, i32 1
  %7787 = load float, ptr %7786, align 4, !tbaa !14
  %7788 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %7789 = load float, ptr %7788, align 4, !tbaa !14
  %7790 = load ptr, ptr %15, align 8, !tbaa !5
  %7791 = load i64, ptr %27, align 8, !tbaa !9
  %7792 = getelementptr inbounds %struct.complex, ptr %7790, i64 %7791
  %7793 = getelementptr inbounds %struct.complex, ptr %7792, i32 0, i32 0
  %7794 = load float, ptr %7793, align 4, !tbaa !11
  %7795 = fmul float %7789, %7794
  %7796 = call float @llvm.fmuladd.f32(float %7782, float %7787, float %7795)
  %7797 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %7796, ptr %7797, align 4, !tbaa !14
  %7798 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %7799 = load float, ptr %7798, align 4, !tbaa !11
  %7800 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %7801 = load float, ptr %7800, align 4, !tbaa !11
  %7802 = fadd float %7799, %7801
  %7803 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %7802, ptr %7803, align 4, !tbaa !11
  %7804 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %7805 = load float, ptr %7804, align 4, !tbaa !14
  %7806 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %7807 = load float, ptr %7806, align 4, !tbaa !14
  %7808 = fadd float %7805, %7807
  %7809 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %7808, ptr %7809, align 4, !tbaa !14
  %7810 = load i64, ptr %50, align 8, !tbaa !9
  %7811 = load i64, ptr %18, align 8, !tbaa !9
  %7812 = mul nsw i64 %7810, %7811
  %7813 = add nsw i64 %7812, 8
  store i64 %7813, ptr %28, align 8, !tbaa !9
  %7814 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %7815 = load float, ptr %7814, align 4, !tbaa !11
  %7816 = load ptr, ptr %15, align 8, !tbaa !5
  %7817 = load i64, ptr %28, align 8, !tbaa !9
  %7818 = getelementptr inbounds %struct.complex, ptr %7816, i64 %7817
  %7819 = getelementptr inbounds %struct.complex, ptr %7818, i32 0, i32 0
  %7820 = load float, ptr %7819, align 4, !tbaa !11
  %7821 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %7822 = load float, ptr %7821, align 4, !tbaa !14
  %7823 = load ptr, ptr %15, align 8, !tbaa !5
  %7824 = load i64, ptr %28, align 8, !tbaa !9
  %7825 = getelementptr inbounds %struct.complex, ptr %7823, i64 %7824
  %7826 = getelementptr inbounds %struct.complex, ptr %7825, i32 0, i32 1
  %7827 = load float, ptr %7826, align 4, !tbaa !14
  %7828 = fmul float %7822, %7827
  %7829 = fneg float %7828
  %7830 = call float @llvm.fmuladd.f32(float %7815, float %7820, float %7829)
  %7831 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  store float %7830, ptr %7831, align 4, !tbaa !11
  %7832 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %7833 = load float, ptr %7832, align 4, !tbaa !11
  %7834 = load ptr, ptr %15, align 8, !tbaa !5
  %7835 = load i64, ptr %28, align 8, !tbaa !9
  %7836 = getelementptr inbounds %struct.complex, ptr %7834, i64 %7835
  %7837 = getelementptr inbounds %struct.complex, ptr %7836, i32 0, i32 1
  %7838 = load float, ptr %7837, align 4, !tbaa !14
  %7839 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %7840 = load float, ptr %7839, align 4, !tbaa !14
  %7841 = load ptr, ptr %15, align 8, !tbaa !5
  %7842 = load i64, ptr %28, align 8, !tbaa !9
  %7843 = getelementptr inbounds %struct.complex, ptr %7841, i64 %7842
  %7844 = getelementptr inbounds %struct.complex, ptr %7843, i32 0, i32 0
  %7845 = load float, ptr %7844, align 4, !tbaa !11
  %7846 = fmul float %7840, %7845
  %7847 = call float @llvm.fmuladd.f32(float %7833, float %7838, float %7846)
  %7848 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  store float %7847, ptr %7848, align 4, !tbaa !14
  %7849 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %7850 = load float, ptr %7849, align 4, !tbaa !11
  %7851 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  %7852 = load float, ptr %7851, align 4, !tbaa !11
  %7853 = fadd float %7850, %7852
  %7854 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %7853, ptr %7854, align 4, !tbaa !11
  %7855 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %7856 = load float, ptr %7855, align 4, !tbaa !14
  %7857 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  %7858 = load float, ptr %7857, align 4, !tbaa !14
  %7859 = fadd float %7856, %7858
  %7860 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %7859, ptr %7860, align 4, !tbaa !14
  %7861 = load i64, ptr %50, align 8, !tbaa !9
  %7862 = load i64, ptr %18, align 8, !tbaa !9
  %7863 = mul nsw i64 %7861, %7862
  %7864 = add nsw i64 %7863, 9
  store i64 %7864, ptr %29, align 8, !tbaa !9
  %7865 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %7866 = load float, ptr %7865, align 4, !tbaa !11
  %7867 = load ptr, ptr %15, align 8, !tbaa !5
  %7868 = load i64, ptr %29, align 8, !tbaa !9
  %7869 = getelementptr inbounds %struct.complex, ptr %7867, i64 %7868
  %7870 = getelementptr inbounds %struct.complex, ptr %7869, i32 0, i32 0
  %7871 = load float, ptr %7870, align 4, !tbaa !11
  %7872 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %7873 = load float, ptr %7872, align 4, !tbaa !14
  %7874 = load ptr, ptr %15, align 8, !tbaa !5
  %7875 = load i64, ptr %29, align 8, !tbaa !9
  %7876 = getelementptr inbounds %struct.complex, ptr %7874, i64 %7875
  %7877 = getelementptr inbounds %struct.complex, ptr %7876, i32 0, i32 1
  %7878 = load float, ptr %7877, align 4, !tbaa !14
  %7879 = fmul float %7873, %7878
  %7880 = fneg float %7879
  %7881 = call float @llvm.fmuladd.f32(float %7866, float %7871, float %7880)
  %7882 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  store float %7881, ptr %7882, align 4, !tbaa !11
  %7883 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %7884 = load float, ptr %7883, align 4, !tbaa !11
  %7885 = load ptr, ptr %15, align 8, !tbaa !5
  %7886 = load i64, ptr %29, align 8, !tbaa !9
  %7887 = getelementptr inbounds %struct.complex, ptr %7885, i64 %7886
  %7888 = getelementptr inbounds %struct.complex, ptr %7887, i32 0, i32 1
  %7889 = load float, ptr %7888, align 4, !tbaa !14
  %7890 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %7891 = load float, ptr %7890, align 4, !tbaa !14
  %7892 = load ptr, ptr %15, align 8, !tbaa !5
  %7893 = load i64, ptr %29, align 8, !tbaa !9
  %7894 = getelementptr inbounds %struct.complex, ptr %7892, i64 %7893
  %7895 = getelementptr inbounds %struct.complex, ptr %7894, i32 0, i32 0
  %7896 = load float, ptr %7895, align 4, !tbaa !11
  %7897 = fmul float %7891, %7896
  %7898 = call float @llvm.fmuladd.f32(float %7884, float %7889, float %7897)
  %7899 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  store float %7898, ptr %7899, align 4, !tbaa !14
  %7900 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %7901 = load float, ptr %7900, align 4, !tbaa !11
  %7902 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  %7903 = load float, ptr %7902, align 4, !tbaa !11
  %7904 = fadd float %7901, %7903
  %7905 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %7904, ptr %7905, align 4, !tbaa !11
  %7906 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %7907 = load float, ptr %7906, align 4, !tbaa !14
  %7908 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  %7909 = load float, ptr %7908, align 4, !tbaa !14
  %7910 = fadd float %7907, %7909
  %7911 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %7910, ptr %7911, align 4, !tbaa !14
  %7912 = load i64, ptr %50, align 8, !tbaa !9
  %7913 = load i64, ptr %18, align 8, !tbaa !9
  %7914 = mul nsw i64 %7912, %7913
  %7915 = add nsw i64 %7914, 10
  store i64 %7915, ptr %30, align 8, !tbaa !9
  %7916 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7917 = load float, ptr %7916, align 4, !tbaa !11
  %7918 = load ptr, ptr %15, align 8, !tbaa !5
  %7919 = load i64, ptr %30, align 8, !tbaa !9
  %7920 = getelementptr inbounds %struct.complex, ptr %7918, i64 %7919
  %7921 = getelementptr inbounds %struct.complex, ptr %7920, i32 0, i32 0
  %7922 = load float, ptr %7921, align 4, !tbaa !11
  %7923 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7924 = load float, ptr %7923, align 4, !tbaa !14
  %7925 = load ptr, ptr %15, align 8, !tbaa !5
  %7926 = load i64, ptr %30, align 8, !tbaa !9
  %7927 = getelementptr inbounds %struct.complex, ptr %7925, i64 %7926
  %7928 = getelementptr inbounds %struct.complex, ptr %7927, i32 0, i32 1
  %7929 = load float, ptr %7928, align 4, !tbaa !14
  %7930 = fmul float %7924, %7929
  %7931 = fneg float %7930
  %7932 = call float @llvm.fmuladd.f32(float %7917, float %7922, float %7931)
  %7933 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 0
  store float %7932, ptr %7933, align 4, !tbaa !11
  %7934 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %7935 = load float, ptr %7934, align 4, !tbaa !11
  %7936 = load ptr, ptr %15, align 8, !tbaa !5
  %7937 = load i64, ptr %30, align 8, !tbaa !9
  %7938 = getelementptr inbounds %struct.complex, ptr %7936, i64 %7937
  %7939 = getelementptr inbounds %struct.complex, ptr %7938, i32 0, i32 1
  %7940 = load float, ptr %7939, align 4, !tbaa !14
  %7941 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %7942 = load float, ptr %7941, align 4, !tbaa !14
  %7943 = load ptr, ptr %15, align 8, !tbaa !5
  %7944 = load i64, ptr %30, align 8, !tbaa !9
  %7945 = getelementptr inbounds %struct.complex, ptr %7943, i64 %7944
  %7946 = getelementptr inbounds %struct.complex, ptr %7945, i32 0, i32 0
  %7947 = load float, ptr %7946, align 4, !tbaa !11
  %7948 = fmul float %7942, %7947
  %7949 = call float @llvm.fmuladd.f32(float %7935, float %7940, float %7948)
  %7950 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 1
  store float %7949, ptr %7950, align 4, !tbaa !14
  %7951 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %7952 = load float, ptr %7951, align 4, !tbaa !11
  %7953 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 0
  %7954 = load float, ptr %7953, align 4, !tbaa !11
  %7955 = fadd float %7952, %7954
  %7956 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %7955, ptr %7956, align 4, !tbaa !11
  %7957 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %7958 = load float, ptr %7957, align 4, !tbaa !14
  %7959 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 1
  %7960 = load float, ptr %7959, align 4, !tbaa !14
  %7961 = fadd float %7958, %7960
  %7962 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %7961, ptr %7962, align 4, !tbaa !14
  %7963 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %7964 = load float, ptr %7963, align 4, !tbaa !11
  %7965 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %7964, ptr %7965, align 4, !tbaa !11
  %7966 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %7967 = load float, ptr %7966, align 4, !tbaa !14
  %7968 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %7967, ptr %7968, align 4, !tbaa !14
  %7969 = load i64, ptr %50, align 8, !tbaa !9
  %7970 = load i64, ptr %18, align 8, !tbaa !9
  %7971 = mul nsw i64 %7969, %7970
  %7972 = add nsw i64 %7971, 1
  store i64 %7972, ptr %21, align 8, !tbaa !9
  %7973 = load i64, ptr %50, align 8, !tbaa !9
  %7974 = load i64, ptr %18, align 8, !tbaa !9
  %7975 = mul nsw i64 %7973, %7974
  %7976 = add nsw i64 %7975, 1
  store i64 %7976, ptr %22, align 8, !tbaa !9
  %7977 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %7978 = load float, ptr %7977, align 4, !tbaa !11
  %7979 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %7980 = load float, ptr %7979, align 4, !tbaa !11
  %7981 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %7982 = load float, ptr %7981, align 4, !tbaa !14
  %7983 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %7984 = load float, ptr %7983, align 4, !tbaa !14
  %7985 = fmul float %7982, %7984
  %7986 = fneg float %7985
  %7987 = call float @llvm.fmuladd.f32(float %7978, float %7980, float %7986)
  %7988 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %7987, ptr %7988, align 4, !tbaa !11
  %7989 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %7990 = load float, ptr %7989, align 4, !tbaa !11
  %7991 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %7992 = load float, ptr %7991, align 4, !tbaa !14
  %7993 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %7994 = load float, ptr %7993, align 4, !tbaa !14
  %7995 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %7996 = load float, ptr %7995, align 4, !tbaa !11
  %7997 = fmul float %7994, %7996
  %7998 = call float @llvm.fmuladd.f32(float %7990, float %7992, float %7997)
  %7999 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %7998, ptr %7999, align 4, !tbaa !14
  %8000 = load ptr, ptr %15, align 8, !tbaa !5
  %8001 = load i64, ptr %22, align 8, !tbaa !9
  %8002 = getelementptr inbounds %struct.complex, ptr %8000, i64 %8001
  %8003 = getelementptr inbounds %struct.complex, ptr %8002, i32 0, i32 0
  %8004 = load float, ptr %8003, align 4, !tbaa !11
  %8005 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8006 = load float, ptr %8005, align 4, !tbaa !11
  %8007 = fsub float %8004, %8006
  %8008 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8007, ptr %8008, align 4, !tbaa !11
  %8009 = load ptr, ptr %15, align 8, !tbaa !5
  %8010 = load i64, ptr %22, align 8, !tbaa !9
  %8011 = getelementptr inbounds %struct.complex, ptr %8009, i64 %8010
  %8012 = getelementptr inbounds %struct.complex, ptr %8011, i32 0, i32 1
  %8013 = load float, ptr %8012, align 4, !tbaa !14
  %8014 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8015 = load float, ptr %8014, align 4, !tbaa !14
  %8016 = fsub float %8013, %8015
  %8017 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8016, ptr %8017, align 4, !tbaa !14
  %8018 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8019 = load float, ptr %8018, align 4, !tbaa !11
  %8020 = load ptr, ptr %15, align 8, !tbaa !5
  %8021 = load i64, ptr %21, align 8, !tbaa !9
  %8022 = getelementptr inbounds %struct.complex, ptr %8020, i64 %8021
  %8023 = getelementptr inbounds %struct.complex, ptr %8022, i32 0, i32 0
  store float %8019, ptr %8023, align 4, !tbaa !11
  %8024 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8025 = load float, ptr %8024, align 4, !tbaa !14
  %8026 = load ptr, ptr %15, align 8, !tbaa !5
  %8027 = load i64, ptr %21, align 8, !tbaa !9
  %8028 = getelementptr inbounds %struct.complex, ptr %8026, i64 %8027
  %8029 = getelementptr inbounds %struct.complex, ptr %8028, i32 0, i32 1
  store float %8025, ptr %8029, align 4, !tbaa !14
  %8030 = load i64, ptr %50, align 8, !tbaa !9
  %8031 = load i64, ptr %18, align 8, !tbaa !9
  %8032 = mul nsw i64 %8030, %8031
  %8033 = add nsw i64 %8032, 2
  store i64 %8033, ptr %21, align 8, !tbaa !9
  %8034 = load i64, ptr %50, align 8, !tbaa !9
  %8035 = load i64, ptr %18, align 8, !tbaa !9
  %8036 = mul nsw i64 %8034, %8035
  %8037 = add nsw i64 %8036, 2
  store i64 %8037, ptr %22, align 8, !tbaa !9
  %8038 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8039 = load float, ptr %8038, align 4, !tbaa !11
  %8040 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %8041 = load float, ptr %8040, align 4, !tbaa !11
  %8042 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8043 = load float, ptr %8042, align 4, !tbaa !14
  %8044 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %8045 = load float, ptr %8044, align 4, !tbaa !14
  %8046 = fmul float %8043, %8045
  %8047 = fneg float %8046
  %8048 = call float @llvm.fmuladd.f32(float %8039, float %8041, float %8047)
  %8049 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8048, ptr %8049, align 4, !tbaa !11
  %8050 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8051 = load float, ptr %8050, align 4, !tbaa !11
  %8052 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %8053 = load float, ptr %8052, align 4, !tbaa !14
  %8054 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8055 = load float, ptr %8054, align 4, !tbaa !14
  %8056 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %8057 = load float, ptr %8056, align 4, !tbaa !11
  %8058 = fmul float %8055, %8057
  %8059 = call float @llvm.fmuladd.f32(float %8051, float %8053, float %8058)
  %8060 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8059, ptr %8060, align 4, !tbaa !14
  %8061 = load ptr, ptr %15, align 8, !tbaa !5
  %8062 = load i64, ptr %22, align 8, !tbaa !9
  %8063 = getelementptr inbounds %struct.complex, ptr %8061, i64 %8062
  %8064 = getelementptr inbounds %struct.complex, ptr %8063, i32 0, i32 0
  %8065 = load float, ptr %8064, align 4, !tbaa !11
  %8066 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8067 = load float, ptr %8066, align 4, !tbaa !11
  %8068 = fsub float %8065, %8067
  %8069 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8068, ptr %8069, align 4, !tbaa !11
  %8070 = load ptr, ptr %15, align 8, !tbaa !5
  %8071 = load i64, ptr %22, align 8, !tbaa !9
  %8072 = getelementptr inbounds %struct.complex, ptr %8070, i64 %8071
  %8073 = getelementptr inbounds %struct.complex, ptr %8072, i32 0, i32 1
  %8074 = load float, ptr %8073, align 4, !tbaa !14
  %8075 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8076 = load float, ptr %8075, align 4, !tbaa !14
  %8077 = fsub float %8074, %8076
  %8078 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8077, ptr %8078, align 4, !tbaa !14
  %8079 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8080 = load float, ptr %8079, align 4, !tbaa !11
  %8081 = load ptr, ptr %15, align 8, !tbaa !5
  %8082 = load i64, ptr %21, align 8, !tbaa !9
  %8083 = getelementptr inbounds %struct.complex, ptr %8081, i64 %8082
  %8084 = getelementptr inbounds %struct.complex, ptr %8083, i32 0, i32 0
  store float %8080, ptr %8084, align 4, !tbaa !11
  %8085 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8086 = load float, ptr %8085, align 4, !tbaa !14
  %8087 = load ptr, ptr %15, align 8, !tbaa !5
  %8088 = load i64, ptr %21, align 8, !tbaa !9
  %8089 = getelementptr inbounds %struct.complex, ptr %8087, i64 %8088
  %8090 = getelementptr inbounds %struct.complex, ptr %8089, i32 0, i32 1
  store float %8086, ptr %8090, align 4, !tbaa !14
  %8091 = load i64, ptr %50, align 8, !tbaa !9
  %8092 = load i64, ptr %18, align 8, !tbaa !9
  %8093 = mul nsw i64 %8091, %8092
  %8094 = add nsw i64 %8093, 3
  store i64 %8094, ptr %21, align 8, !tbaa !9
  %8095 = load i64, ptr %50, align 8, !tbaa !9
  %8096 = load i64, ptr %18, align 8, !tbaa !9
  %8097 = mul nsw i64 %8095, %8096
  %8098 = add nsw i64 %8097, 3
  store i64 %8098, ptr %22, align 8, !tbaa !9
  %8099 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8100 = load float, ptr %8099, align 4, !tbaa !11
  %8101 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %8102 = load float, ptr %8101, align 4, !tbaa !11
  %8103 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8104 = load float, ptr %8103, align 4, !tbaa !14
  %8105 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %8106 = load float, ptr %8105, align 4, !tbaa !14
  %8107 = fmul float %8104, %8106
  %8108 = fneg float %8107
  %8109 = call float @llvm.fmuladd.f32(float %8100, float %8102, float %8108)
  %8110 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8109, ptr %8110, align 4, !tbaa !11
  %8111 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8112 = load float, ptr %8111, align 4, !tbaa !11
  %8113 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %8114 = load float, ptr %8113, align 4, !tbaa !14
  %8115 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8116 = load float, ptr %8115, align 4, !tbaa !14
  %8117 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %8118 = load float, ptr %8117, align 4, !tbaa !11
  %8119 = fmul float %8116, %8118
  %8120 = call float @llvm.fmuladd.f32(float %8112, float %8114, float %8119)
  %8121 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8120, ptr %8121, align 4, !tbaa !14
  %8122 = load ptr, ptr %15, align 8, !tbaa !5
  %8123 = load i64, ptr %22, align 8, !tbaa !9
  %8124 = getelementptr inbounds %struct.complex, ptr %8122, i64 %8123
  %8125 = getelementptr inbounds %struct.complex, ptr %8124, i32 0, i32 0
  %8126 = load float, ptr %8125, align 4, !tbaa !11
  %8127 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8128 = load float, ptr %8127, align 4, !tbaa !11
  %8129 = fsub float %8126, %8128
  %8130 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8129, ptr %8130, align 4, !tbaa !11
  %8131 = load ptr, ptr %15, align 8, !tbaa !5
  %8132 = load i64, ptr %22, align 8, !tbaa !9
  %8133 = getelementptr inbounds %struct.complex, ptr %8131, i64 %8132
  %8134 = getelementptr inbounds %struct.complex, ptr %8133, i32 0, i32 1
  %8135 = load float, ptr %8134, align 4, !tbaa !14
  %8136 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8137 = load float, ptr %8136, align 4, !tbaa !14
  %8138 = fsub float %8135, %8137
  %8139 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8138, ptr %8139, align 4, !tbaa !14
  %8140 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8141 = load float, ptr %8140, align 4, !tbaa !11
  %8142 = load ptr, ptr %15, align 8, !tbaa !5
  %8143 = load i64, ptr %21, align 8, !tbaa !9
  %8144 = getelementptr inbounds %struct.complex, ptr %8142, i64 %8143
  %8145 = getelementptr inbounds %struct.complex, ptr %8144, i32 0, i32 0
  store float %8141, ptr %8145, align 4, !tbaa !11
  %8146 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8147 = load float, ptr %8146, align 4, !tbaa !14
  %8148 = load ptr, ptr %15, align 8, !tbaa !5
  %8149 = load i64, ptr %21, align 8, !tbaa !9
  %8150 = getelementptr inbounds %struct.complex, ptr %8148, i64 %8149
  %8151 = getelementptr inbounds %struct.complex, ptr %8150, i32 0, i32 1
  store float %8147, ptr %8151, align 4, !tbaa !14
  %8152 = load i64, ptr %50, align 8, !tbaa !9
  %8153 = load i64, ptr %18, align 8, !tbaa !9
  %8154 = mul nsw i64 %8152, %8153
  %8155 = add nsw i64 %8154, 4
  store i64 %8155, ptr %21, align 8, !tbaa !9
  %8156 = load i64, ptr %50, align 8, !tbaa !9
  %8157 = load i64, ptr %18, align 8, !tbaa !9
  %8158 = mul nsw i64 %8156, %8157
  %8159 = add nsw i64 %8158, 4
  store i64 %8159, ptr %22, align 8, !tbaa !9
  %8160 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8161 = load float, ptr %8160, align 4, !tbaa !11
  %8162 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %8163 = load float, ptr %8162, align 4, !tbaa !11
  %8164 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8165 = load float, ptr %8164, align 4, !tbaa !14
  %8166 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %8167 = load float, ptr %8166, align 4, !tbaa !14
  %8168 = fmul float %8165, %8167
  %8169 = fneg float %8168
  %8170 = call float @llvm.fmuladd.f32(float %8161, float %8163, float %8169)
  %8171 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8170, ptr %8171, align 4, !tbaa !11
  %8172 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8173 = load float, ptr %8172, align 4, !tbaa !11
  %8174 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %8175 = load float, ptr %8174, align 4, !tbaa !14
  %8176 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8177 = load float, ptr %8176, align 4, !tbaa !14
  %8178 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %8179 = load float, ptr %8178, align 4, !tbaa !11
  %8180 = fmul float %8177, %8179
  %8181 = call float @llvm.fmuladd.f32(float %8173, float %8175, float %8180)
  %8182 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8181, ptr %8182, align 4, !tbaa !14
  %8183 = load ptr, ptr %15, align 8, !tbaa !5
  %8184 = load i64, ptr %22, align 8, !tbaa !9
  %8185 = getelementptr inbounds %struct.complex, ptr %8183, i64 %8184
  %8186 = getelementptr inbounds %struct.complex, ptr %8185, i32 0, i32 0
  %8187 = load float, ptr %8186, align 4, !tbaa !11
  %8188 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8189 = load float, ptr %8188, align 4, !tbaa !11
  %8190 = fsub float %8187, %8189
  %8191 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8190, ptr %8191, align 4, !tbaa !11
  %8192 = load ptr, ptr %15, align 8, !tbaa !5
  %8193 = load i64, ptr %22, align 8, !tbaa !9
  %8194 = getelementptr inbounds %struct.complex, ptr %8192, i64 %8193
  %8195 = getelementptr inbounds %struct.complex, ptr %8194, i32 0, i32 1
  %8196 = load float, ptr %8195, align 4, !tbaa !14
  %8197 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8198 = load float, ptr %8197, align 4, !tbaa !14
  %8199 = fsub float %8196, %8198
  %8200 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8199, ptr %8200, align 4, !tbaa !14
  %8201 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8202 = load float, ptr %8201, align 4, !tbaa !11
  %8203 = load ptr, ptr %15, align 8, !tbaa !5
  %8204 = load i64, ptr %21, align 8, !tbaa !9
  %8205 = getelementptr inbounds %struct.complex, ptr %8203, i64 %8204
  %8206 = getelementptr inbounds %struct.complex, ptr %8205, i32 0, i32 0
  store float %8202, ptr %8206, align 4, !tbaa !11
  %8207 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8208 = load float, ptr %8207, align 4, !tbaa !14
  %8209 = load ptr, ptr %15, align 8, !tbaa !5
  %8210 = load i64, ptr %21, align 8, !tbaa !9
  %8211 = getelementptr inbounds %struct.complex, ptr %8209, i64 %8210
  %8212 = getelementptr inbounds %struct.complex, ptr %8211, i32 0, i32 1
  store float %8208, ptr %8212, align 4, !tbaa !14
  %8213 = load i64, ptr %50, align 8, !tbaa !9
  %8214 = load i64, ptr %18, align 8, !tbaa !9
  %8215 = mul nsw i64 %8213, %8214
  %8216 = add nsw i64 %8215, 5
  store i64 %8216, ptr %21, align 8, !tbaa !9
  %8217 = load i64, ptr %50, align 8, !tbaa !9
  %8218 = load i64, ptr %18, align 8, !tbaa !9
  %8219 = mul nsw i64 %8217, %8218
  %8220 = add nsw i64 %8219, 5
  store i64 %8220, ptr %22, align 8, !tbaa !9
  %8221 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8222 = load float, ptr %8221, align 4, !tbaa !11
  %8223 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %8224 = load float, ptr %8223, align 4, !tbaa !11
  %8225 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8226 = load float, ptr %8225, align 4, !tbaa !14
  %8227 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %8228 = load float, ptr %8227, align 4, !tbaa !14
  %8229 = fmul float %8226, %8228
  %8230 = fneg float %8229
  %8231 = call float @llvm.fmuladd.f32(float %8222, float %8224, float %8230)
  %8232 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8231, ptr %8232, align 4, !tbaa !11
  %8233 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8234 = load float, ptr %8233, align 4, !tbaa !11
  %8235 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %8236 = load float, ptr %8235, align 4, !tbaa !14
  %8237 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8238 = load float, ptr %8237, align 4, !tbaa !14
  %8239 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %8240 = load float, ptr %8239, align 4, !tbaa !11
  %8241 = fmul float %8238, %8240
  %8242 = call float @llvm.fmuladd.f32(float %8234, float %8236, float %8241)
  %8243 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8242, ptr %8243, align 4, !tbaa !14
  %8244 = load ptr, ptr %15, align 8, !tbaa !5
  %8245 = load i64, ptr %22, align 8, !tbaa !9
  %8246 = getelementptr inbounds %struct.complex, ptr %8244, i64 %8245
  %8247 = getelementptr inbounds %struct.complex, ptr %8246, i32 0, i32 0
  %8248 = load float, ptr %8247, align 4, !tbaa !11
  %8249 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8250 = load float, ptr %8249, align 4, !tbaa !11
  %8251 = fsub float %8248, %8250
  %8252 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8251, ptr %8252, align 4, !tbaa !11
  %8253 = load ptr, ptr %15, align 8, !tbaa !5
  %8254 = load i64, ptr %22, align 8, !tbaa !9
  %8255 = getelementptr inbounds %struct.complex, ptr %8253, i64 %8254
  %8256 = getelementptr inbounds %struct.complex, ptr %8255, i32 0, i32 1
  %8257 = load float, ptr %8256, align 4, !tbaa !14
  %8258 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8259 = load float, ptr %8258, align 4, !tbaa !14
  %8260 = fsub float %8257, %8259
  %8261 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8260, ptr %8261, align 4, !tbaa !14
  %8262 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8263 = load float, ptr %8262, align 4, !tbaa !11
  %8264 = load ptr, ptr %15, align 8, !tbaa !5
  %8265 = load i64, ptr %21, align 8, !tbaa !9
  %8266 = getelementptr inbounds %struct.complex, ptr %8264, i64 %8265
  %8267 = getelementptr inbounds %struct.complex, ptr %8266, i32 0, i32 0
  store float %8263, ptr %8267, align 4, !tbaa !11
  %8268 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8269 = load float, ptr %8268, align 4, !tbaa !14
  %8270 = load ptr, ptr %15, align 8, !tbaa !5
  %8271 = load i64, ptr %21, align 8, !tbaa !9
  %8272 = getelementptr inbounds %struct.complex, ptr %8270, i64 %8271
  %8273 = getelementptr inbounds %struct.complex, ptr %8272, i32 0, i32 1
  store float %8269, ptr %8273, align 4, !tbaa !14
  %8274 = load i64, ptr %50, align 8, !tbaa !9
  %8275 = load i64, ptr %18, align 8, !tbaa !9
  %8276 = mul nsw i64 %8274, %8275
  %8277 = add nsw i64 %8276, 6
  store i64 %8277, ptr %21, align 8, !tbaa !9
  %8278 = load i64, ptr %50, align 8, !tbaa !9
  %8279 = load i64, ptr %18, align 8, !tbaa !9
  %8280 = mul nsw i64 %8278, %8279
  %8281 = add nsw i64 %8280, 6
  store i64 %8281, ptr %22, align 8, !tbaa !9
  %8282 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8283 = load float, ptr %8282, align 4, !tbaa !11
  %8284 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %8285 = load float, ptr %8284, align 4, !tbaa !11
  %8286 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8287 = load float, ptr %8286, align 4, !tbaa !14
  %8288 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %8289 = load float, ptr %8288, align 4, !tbaa !14
  %8290 = fmul float %8287, %8289
  %8291 = fneg float %8290
  %8292 = call float @llvm.fmuladd.f32(float %8283, float %8285, float %8291)
  %8293 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8292, ptr %8293, align 4, !tbaa !11
  %8294 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8295 = load float, ptr %8294, align 4, !tbaa !11
  %8296 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %8297 = load float, ptr %8296, align 4, !tbaa !14
  %8298 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8299 = load float, ptr %8298, align 4, !tbaa !14
  %8300 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %8301 = load float, ptr %8300, align 4, !tbaa !11
  %8302 = fmul float %8299, %8301
  %8303 = call float @llvm.fmuladd.f32(float %8295, float %8297, float %8302)
  %8304 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8303, ptr %8304, align 4, !tbaa !14
  %8305 = load ptr, ptr %15, align 8, !tbaa !5
  %8306 = load i64, ptr %22, align 8, !tbaa !9
  %8307 = getelementptr inbounds %struct.complex, ptr %8305, i64 %8306
  %8308 = getelementptr inbounds %struct.complex, ptr %8307, i32 0, i32 0
  %8309 = load float, ptr %8308, align 4, !tbaa !11
  %8310 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8311 = load float, ptr %8310, align 4, !tbaa !11
  %8312 = fsub float %8309, %8311
  %8313 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8312, ptr %8313, align 4, !tbaa !11
  %8314 = load ptr, ptr %15, align 8, !tbaa !5
  %8315 = load i64, ptr %22, align 8, !tbaa !9
  %8316 = getelementptr inbounds %struct.complex, ptr %8314, i64 %8315
  %8317 = getelementptr inbounds %struct.complex, ptr %8316, i32 0, i32 1
  %8318 = load float, ptr %8317, align 4, !tbaa !14
  %8319 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8320 = load float, ptr %8319, align 4, !tbaa !14
  %8321 = fsub float %8318, %8320
  %8322 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8321, ptr %8322, align 4, !tbaa !14
  %8323 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8324 = load float, ptr %8323, align 4, !tbaa !11
  %8325 = load ptr, ptr %15, align 8, !tbaa !5
  %8326 = load i64, ptr %21, align 8, !tbaa !9
  %8327 = getelementptr inbounds %struct.complex, ptr %8325, i64 %8326
  %8328 = getelementptr inbounds %struct.complex, ptr %8327, i32 0, i32 0
  store float %8324, ptr %8328, align 4, !tbaa !11
  %8329 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8330 = load float, ptr %8329, align 4, !tbaa !14
  %8331 = load ptr, ptr %15, align 8, !tbaa !5
  %8332 = load i64, ptr %21, align 8, !tbaa !9
  %8333 = getelementptr inbounds %struct.complex, ptr %8331, i64 %8332
  %8334 = getelementptr inbounds %struct.complex, ptr %8333, i32 0, i32 1
  store float %8330, ptr %8334, align 4, !tbaa !14
  %8335 = load i64, ptr %50, align 8, !tbaa !9
  %8336 = load i64, ptr %18, align 8, !tbaa !9
  %8337 = mul nsw i64 %8335, %8336
  %8338 = add nsw i64 %8337, 7
  store i64 %8338, ptr %21, align 8, !tbaa !9
  %8339 = load i64, ptr %50, align 8, !tbaa !9
  %8340 = load i64, ptr %18, align 8, !tbaa !9
  %8341 = mul nsw i64 %8339, %8340
  %8342 = add nsw i64 %8341, 7
  store i64 %8342, ptr %22, align 8, !tbaa !9
  %8343 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8344 = load float, ptr %8343, align 4, !tbaa !11
  %8345 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %8346 = load float, ptr %8345, align 4, !tbaa !11
  %8347 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8348 = load float, ptr %8347, align 4, !tbaa !14
  %8349 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %8350 = load float, ptr %8349, align 4, !tbaa !14
  %8351 = fmul float %8348, %8350
  %8352 = fneg float %8351
  %8353 = call float @llvm.fmuladd.f32(float %8344, float %8346, float %8352)
  %8354 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8353, ptr %8354, align 4, !tbaa !11
  %8355 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8356 = load float, ptr %8355, align 4, !tbaa !11
  %8357 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %8358 = load float, ptr %8357, align 4, !tbaa !14
  %8359 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8360 = load float, ptr %8359, align 4, !tbaa !14
  %8361 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %8362 = load float, ptr %8361, align 4, !tbaa !11
  %8363 = fmul float %8360, %8362
  %8364 = call float @llvm.fmuladd.f32(float %8356, float %8358, float %8363)
  %8365 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8364, ptr %8365, align 4, !tbaa !14
  %8366 = load ptr, ptr %15, align 8, !tbaa !5
  %8367 = load i64, ptr %22, align 8, !tbaa !9
  %8368 = getelementptr inbounds %struct.complex, ptr %8366, i64 %8367
  %8369 = getelementptr inbounds %struct.complex, ptr %8368, i32 0, i32 0
  %8370 = load float, ptr %8369, align 4, !tbaa !11
  %8371 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8372 = load float, ptr %8371, align 4, !tbaa !11
  %8373 = fsub float %8370, %8372
  %8374 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8373, ptr %8374, align 4, !tbaa !11
  %8375 = load ptr, ptr %15, align 8, !tbaa !5
  %8376 = load i64, ptr %22, align 8, !tbaa !9
  %8377 = getelementptr inbounds %struct.complex, ptr %8375, i64 %8376
  %8378 = getelementptr inbounds %struct.complex, ptr %8377, i32 0, i32 1
  %8379 = load float, ptr %8378, align 4, !tbaa !14
  %8380 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8381 = load float, ptr %8380, align 4, !tbaa !14
  %8382 = fsub float %8379, %8381
  %8383 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8382, ptr %8383, align 4, !tbaa !14
  %8384 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8385 = load float, ptr %8384, align 4, !tbaa !11
  %8386 = load ptr, ptr %15, align 8, !tbaa !5
  %8387 = load i64, ptr %21, align 8, !tbaa !9
  %8388 = getelementptr inbounds %struct.complex, ptr %8386, i64 %8387
  %8389 = getelementptr inbounds %struct.complex, ptr %8388, i32 0, i32 0
  store float %8385, ptr %8389, align 4, !tbaa !11
  %8390 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8391 = load float, ptr %8390, align 4, !tbaa !14
  %8392 = load ptr, ptr %15, align 8, !tbaa !5
  %8393 = load i64, ptr %21, align 8, !tbaa !9
  %8394 = getelementptr inbounds %struct.complex, ptr %8392, i64 %8393
  %8395 = getelementptr inbounds %struct.complex, ptr %8394, i32 0, i32 1
  store float %8391, ptr %8395, align 4, !tbaa !14
  %8396 = load i64, ptr %50, align 8, !tbaa !9
  %8397 = load i64, ptr %18, align 8, !tbaa !9
  %8398 = mul nsw i64 %8396, %8397
  %8399 = add nsw i64 %8398, 8
  store i64 %8399, ptr %21, align 8, !tbaa !9
  %8400 = load i64, ptr %50, align 8, !tbaa !9
  %8401 = load i64, ptr %18, align 8, !tbaa !9
  %8402 = mul nsw i64 %8400, %8401
  %8403 = add nsw i64 %8402, 8
  store i64 %8403, ptr %22, align 8, !tbaa !9
  %8404 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8405 = load float, ptr %8404, align 4, !tbaa !11
  %8406 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %8407 = load float, ptr %8406, align 4, !tbaa !11
  %8408 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8409 = load float, ptr %8408, align 4, !tbaa !14
  %8410 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %8411 = load float, ptr %8410, align 4, !tbaa !14
  %8412 = fmul float %8409, %8411
  %8413 = fneg float %8412
  %8414 = call float @llvm.fmuladd.f32(float %8405, float %8407, float %8413)
  %8415 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8414, ptr %8415, align 4, !tbaa !11
  %8416 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8417 = load float, ptr %8416, align 4, !tbaa !11
  %8418 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %8419 = load float, ptr %8418, align 4, !tbaa !14
  %8420 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8421 = load float, ptr %8420, align 4, !tbaa !14
  %8422 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %8423 = load float, ptr %8422, align 4, !tbaa !11
  %8424 = fmul float %8421, %8423
  %8425 = call float @llvm.fmuladd.f32(float %8417, float %8419, float %8424)
  %8426 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8425, ptr %8426, align 4, !tbaa !14
  %8427 = load ptr, ptr %15, align 8, !tbaa !5
  %8428 = load i64, ptr %22, align 8, !tbaa !9
  %8429 = getelementptr inbounds %struct.complex, ptr %8427, i64 %8428
  %8430 = getelementptr inbounds %struct.complex, ptr %8429, i32 0, i32 0
  %8431 = load float, ptr %8430, align 4, !tbaa !11
  %8432 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8433 = load float, ptr %8432, align 4, !tbaa !11
  %8434 = fsub float %8431, %8433
  %8435 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8434, ptr %8435, align 4, !tbaa !11
  %8436 = load ptr, ptr %15, align 8, !tbaa !5
  %8437 = load i64, ptr %22, align 8, !tbaa !9
  %8438 = getelementptr inbounds %struct.complex, ptr %8436, i64 %8437
  %8439 = getelementptr inbounds %struct.complex, ptr %8438, i32 0, i32 1
  %8440 = load float, ptr %8439, align 4, !tbaa !14
  %8441 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8442 = load float, ptr %8441, align 4, !tbaa !14
  %8443 = fsub float %8440, %8442
  %8444 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8443, ptr %8444, align 4, !tbaa !14
  %8445 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8446 = load float, ptr %8445, align 4, !tbaa !11
  %8447 = load ptr, ptr %15, align 8, !tbaa !5
  %8448 = load i64, ptr %21, align 8, !tbaa !9
  %8449 = getelementptr inbounds %struct.complex, ptr %8447, i64 %8448
  %8450 = getelementptr inbounds %struct.complex, ptr %8449, i32 0, i32 0
  store float %8446, ptr %8450, align 4, !tbaa !11
  %8451 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8452 = load float, ptr %8451, align 4, !tbaa !14
  %8453 = load ptr, ptr %15, align 8, !tbaa !5
  %8454 = load i64, ptr %21, align 8, !tbaa !9
  %8455 = getelementptr inbounds %struct.complex, ptr %8453, i64 %8454
  %8456 = getelementptr inbounds %struct.complex, ptr %8455, i32 0, i32 1
  store float %8452, ptr %8456, align 4, !tbaa !14
  %8457 = load i64, ptr %50, align 8, !tbaa !9
  %8458 = load i64, ptr %18, align 8, !tbaa !9
  %8459 = mul nsw i64 %8457, %8458
  %8460 = add nsw i64 %8459, 9
  store i64 %8460, ptr %21, align 8, !tbaa !9
  %8461 = load i64, ptr %50, align 8, !tbaa !9
  %8462 = load i64, ptr %18, align 8, !tbaa !9
  %8463 = mul nsw i64 %8461, %8462
  %8464 = add nsw i64 %8463, 9
  store i64 %8464, ptr %22, align 8, !tbaa !9
  %8465 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8466 = load float, ptr %8465, align 4, !tbaa !11
  %8467 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %8468 = load float, ptr %8467, align 4, !tbaa !11
  %8469 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8470 = load float, ptr %8469, align 4, !tbaa !14
  %8471 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %8472 = load float, ptr %8471, align 4, !tbaa !14
  %8473 = fmul float %8470, %8472
  %8474 = fneg float %8473
  %8475 = call float @llvm.fmuladd.f32(float %8466, float %8468, float %8474)
  %8476 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8475, ptr %8476, align 4, !tbaa !11
  %8477 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8478 = load float, ptr %8477, align 4, !tbaa !11
  %8479 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %8480 = load float, ptr %8479, align 4, !tbaa !14
  %8481 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8482 = load float, ptr %8481, align 4, !tbaa !14
  %8483 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %8484 = load float, ptr %8483, align 4, !tbaa !11
  %8485 = fmul float %8482, %8484
  %8486 = call float @llvm.fmuladd.f32(float %8478, float %8480, float %8485)
  %8487 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8486, ptr %8487, align 4, !tbaa !14
  %8488 = load ptr, ptr %15, align 8, !tbaa !5
  %8489 = load i64, ptr %22, align 8, !tbaa !9
  %8490 = getelementptr inbounds %struct.complex, ptr %8488, i64 %8489
  %8491 = getelementptr inbounds %struct.complex, ptr %8490, i32 0, i32 0
  %8492 = load float, ptr %8491, align 4, !tbaa !11
  %8493 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8494 = load float, ptr %8493, align 4, !tbaa !11
  %8495 = fsub float %8492, %8494
  %8496 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8495, ptr %8496, align 4, !tbaa !11
  %8497 = load ptr, ptr %15, align 8, !tbaa !5
  %8498 = load i64, ptr %22, align 8, !tbaa !9
  %8499 = getelementptr inbounds %struct.complex, ptr %8497, i64 %8498
  %8500 = getelementptr inbounds %struct.complex, ptr %8499, i32 0, i32 1
  %8501 = load float, ptr %8500, align 4, !tbaa !14
  %8502 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8503 = load float, ptr %8502, align 4, !tbaa !14
  %8504 = fsub float %8501, %8503
  %8505 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8504, ptr %8505, align 4, !tbaa !14
  %8506 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8507 = load float, ptr %8506, align 4, !tbaa !11
  %8508 = load ptr, ptr %15, align 8, !tbaa !5
  %8509 = load i64, ptr %21, align 8, !tbaa !9
  %8510 = getelementptr inbounds %struct.complex, ptr %8508, i64 %8509
  %8511 = getelementptr inbounds %struct.complex, ptr %8510, i32 0, i32 0
  store float %8507, ptr %8511, align 4, !tbaa !11
  %8512 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8513 = load float, ptr %8512, align 4, !tbaa !14
  %8514 = load ptr, ptr %15, align 8, !tbaa !5
  %8515 = load i64, ptr %21, align 8, !tbaa !9
  %8516 = getelementptr inbounds %struct.complex, ptr %8514, i64 %8515
  %8517 = getelementptr inbounds %struct.complex, ptr %8516, i32 0, i32 1
  store float %8513, ptr %8517, align 4, !tbaa !14
  %8518 = load i64, ptr %50, align 8, !tbaa !9
  %8519 = load i64, ptr %18, align 8, !tbaa !9
  %8520 = mul nsw i64 %8518, %8519
  %8521 = add nsw i64 %8520, 10
  store i64 %8521, ptr %21, align 8, !tbaa !9
  %8522 = load i64, ptr %50, align 8, !tbaa !9
  %8523 = load i64, ptr %18, align 8, !tbaa !9
  %8524 = mul nsw i64 %8522, %8523
  %8525 = add nsw i64 %8524, 10
  store i64 %8525, ptr %22, align 8, !tbaa !9
  %8526 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8527 = load float, ptr %8526, align 4, !tbaa !11
  %8528 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %8529 = load float, ptr %8528, align 4, !tbaa !11
  %8530 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8531 = load float, ptr %8530, align 4, !tbaa !14
  %8532 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %8533 = load float, ptr %8532, align 4, !tbaa !14
  %8534 = fmul float %8531, %8533
  %8535 = fneg float %8534
  %8536 = call float @llvm.fmuladd.f32(float %8527, float %8529, float %8535)
  %8537 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8536, ptr %8537, align 4, !tbaa !11
  %8538 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8539 = load float, ptr %8538, align 4, !tbaa !11
  %8540 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %8541 = load float, ptr %8540, align 4, !tbaa !14
  %8542 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8543 = load float, ptr %8542, align 4, !tbaa !14
  %8544 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %8545 = load float, ptr %8544, align 4, !tbaa !11
  %8546 = fmul float %8543, %8545
  %8547 = call float @llvm.fmuladd.f32(float %8539, float %8541, float %8546)
  %8548 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8547, ptr %8548, align 4, !tbaa !14
  %8549 = load ptr, ptr %15, align 8, !tbaa !5
  %8550 = load i64, ptr %22, align 8, !tbaa !9
  %8551 = getelementptr inbounds %struct.complex, ptr %8549, i64 %8550
  %8552 = getelementptr inbounds %struct.complex, ptr %8551, i32 0, i32 0
  %8553 = load float, ptr %8552, align 4, !tbaa !11
  %8554 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8555 = load float, ptr %8554, align 4, !tbaa !11
  %8556 = fsub float %8553, %8555
  %8557 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8556, ptr %8557, align 4, !tbaa !11
  %8558 = load ptr, ptr %15, align 8, !tbaa !5
  %8559 = load i64, ptr %22, align 8, !tbaa !9
  %8560 = getelementptr inbounds %struct.complex, ptr %8558, i64 %8559
  %8561 = getelementptr inbounds %struct.complex, ptr %8560, i32 0, i32 1
  %8562 = load float, ptr %8561, align 4, !tbaa !14
  %8563 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8564 = load float, ptr %8563, align 4, !tbaa !14
  %8565 = fsub float %8562, %8564
  %8566 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8565, ptr %8566, align 4, !tbaa !14
  %8567 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8568 = load float, ptr %8567, align 4, !tbaa !11
  %8569 = load ptr, ptr %15, align 8, !tbaa !5
  %8570 = load i64, ptr %21, align 8, !tbaa !9
  %8571 = getelementptr inbounds %struct.complex, ptr %8569, i64 %8570
  %8572 = getelementptr inbounds %struct.complex, ptr %8571, i32 0, i32 0
  store float %8568, ptr %8572, align 4, !tbaa !11
  %8573 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8574 = load float, ptr %8573, align 4, !tbaa !14
  %8575 = load ptr, ptr %15, align 8, !tbaa !5
  %8576 = load i64, ptr %21, align 8, !tbaa !9
  %8577 = getelementptr inbounds %struct.complex, ptr %8575, i64 %8576
  %8578 = getelementptr inbounds %struct.complex, ptr %8577, i32 0, i32 1
  store float %8574, ptr %8578, align 4, !tbaa !14
  br label %8579

8579:                                             ; preds = %7464
  %8580 = load i64, ptr %50, align 8, !tbaa !9
  %8581 = add nsw i64 %8580, 1
  store i64 %8581, ptr %50, align 8, !tbaa !9
  br label %7460, !llvm.loop !25

8582:                                             ; preds = %7460
  br label %17146

8583:                                             ; preds = %95
  %8584 = load ptr, ptr %12, align 8, !tbaa !5
  %8585 = load i64, ptr %8584, align 8, !tbaa !9
  switch i64 %8585, label %8596 [
    i64 1, label %8586
    i64 2, label %8587
    i64 3, label %8588
    i64 4, label %8589
    i64 5, label %8590
    i64 6, label %8591
    i64 7, label %8592
    i64 8, label %8593
    i64 9, label %8594
    i64 10, label %8595
  ]

8586:                                             ; preds = %8583
  br label %8610

8587:                                             ; preds = %8583
  br label %8749

8588:                                             ; preds = %8583
  br label %9062

8589:                                             ; preds = %8583
  br label %9530

8590:                                             ; preds = %8583
  br label %10153

8591:                                             ; preds = %8583
  br label %10931

8592:                                             ; preds = %8583
  br label %11864

8593:                                             ; preds = %8583
  br label %12952

8594:                                             ; preds = %8583
  br label %14195

8595:                                             ; preds = %8583
  br label %15593

8596:                                             ; preds = %8583
  %8597 = load ptr, ptr %10, align 8, !tbaa !5
  %8598 = load ptr, ptr %11, align 8, !tbaa !5
  %8599 = load ptr, ptr %12, align 8, !tbaa !5
  %8600 = load ptr, ptr %13, align 8, !tbaa !5
  %8601 = getelementptr inbounds %struct.complex, ptr %8600, i64 1
  %8602 = load ptr, ptr %14, align 8, !tbaa !5
  %8603 = load ptr, ptr %15, align 8, !tbaa !5
  %8604 = load i64, ptr %19, align 8, !tbaa !9
  %8605 = getelementptr inbounds %struct.complex, ptr %8603, i64 %8604
  %8606 = load ptr, ptr %16, align 8, !tbaa !5
  %8607 = load ptr, ptr %17, align 8, !tbaa !5
  %8608 = getelementptr inbounds %struct.complex, ptr %8607, i64 1
  %8609 = call i32 @clarf_(ptr noundef %8597, ptr noundef %8598, ptr noundef %8599, ptr noundef %8601, ptr noundef @c__1, ptr noundef %8602, ptr noundef %8605, ptr noundef %8606, ptr noundef %8608)
  br label %17146

8610:                                             ; preds = %8586
  %8611 = load ptr, ptr %14, align 8, !tbaa !5
  %8612 = getelementptr inbounds %struct.complex, ptr %8611, i32 0, i32 0
  %8613 = load float, ptr %8612, align 4, !tbaa !11
  %8614 = load ptr, ptr %13, align 8, !tbaa !5
  %8615 = getelementptr inbounds %struct.complex, ptr %8614, i64 1
  %8616 = getelementptr inbounds %struct.complex, ptr %8615, i32 0, i32 0
  %8617 = load float, ptr %8616, align 4, !tbaa !11
  %8618 = load ptr, ptr %14, align 8, !tbaa !5
  %8619 = getelementptr inbounds %struct.complex, ptr %8618, i32 0, i32 1
  %8620 = load float, ptr %8619, align 4, !tbaa !14
  %8621 = load ptr, ptr %13, align 8, !tbaa !5
  %8622 = getelementptr inbounds %struct.complex, ptr %8621, i64 1
  %8623 = getelementptr inbounds %struct.complex, ptr %8622, i32 0, i32 1
  %8624 = load float, ptr %8623, align 4, !tbaa !14
  %8625 = fmul float %8620, %8624
  %8626 = fneg float %8625
  %8627 = call float @llvm.fmuladd.f32(float %8613, float %8617, float %8626)
  %8628 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %8627, ptr %8628, align 4, !tbaa !11
  %8629 = load ptr, ptr %14, align 8, !tbaa !5
  %8630 = getelementptr inbounds %struct.complex, ptr %8629, i32 0, i32 0
  %8631 = load float, ptr %8630, align 4, !tbaa !11
  %8632 = load ptr, ptr %13, align 8, !tbaa !5
  %8633 = getelementptr inbounds %struct.complex, ptr %8632, i64 1
  %8634 = getelementptr inbounds %struct.complex, ptr %8633, i32 0, i32 1
  %8635 = load float, ptr %8634, align 4, !tbaa !14
  %8636 = load ptr, ptr %14, align 8, !tbaa !5
  %8637 = getelementptr inbounds %struct.complex, ptr %8636, i32 0, i32 1
  %8638 = load float, ptr %8637, align 4, !tbaa !14
  %8639 = load ptr, ptr %13, align 8, !tbaa !5
  %8640 = getelementptr inbounds %struct.complex, ptr %8639, i64 1
  %8641 = getelementptr inbounds %struct.complex, ptr %8640, i32 0, i32 0
  %8642 = load float, ptr %8641, align 4, !tbaa !11
  %8643 = fmul float %8638, %8642
  %8644 = call float @llvm.fmuladd.f32(float %8631, float %8635, float %8643)
  %8645 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %8644, ptr %8645, align 4, !tbaa !14
  %8646 = load ptr, ptr %13, align 8, !tbaa !5
  %8647 = getelementptr inbounds %struct.complex, ptr %8646, i64 1
  call void @r_cnjg(ptr noundef %34, ptr noundef %8647)
  %8648 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %8649 = load float, ptr %8648, align 4, !tbaa !11
  %8650 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %8651 = load float, ptr %8650, align 4, !tbaa !11
  %8652 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %8653 = load float, ptr %8652, align 4, !tbaa !14
  %8654 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %8655 = load float, ptr %8654, align 4, !tbaa !14
  %8656 = fmul float %8653, %8655
  %8657 = fneg float %8656
  %8658 = call float @llvm.fmuladd.f32(float %8649, float %8651, float %8657)
  %8659 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8658, ptr %8659, align 4, !tbaa !11
  %8660 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %8661 = load float, ptr %8660, align 4, !tbaa !11
  %8662 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %8663 = load float, ptr %8662, align 4, !tbaa !14
  %8664 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %8665 = load float, ptr %8664, align 4, !tbaa !14
  %8666 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %8667 = load float, ptr %8666, align 4, !tbaa !11
  %8668 = fmul float %8665, %8667
  %8669 = call float @llvm.fmuladd.f32(float %8661, float %8663, float %8668)
  %8670 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8669, ptr %8670, align 4, !tbaa !14
  %8671 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8672 = load float, ptr %8671, align 4, !tbaa !11
  %8673 = fsub float 1.000000e+00, %8672
  %8674 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8673, ptr %8674, align 4, !tbaa !11
  %8675 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8676 = load float, ptr %8675, align 4, !tbaa !14
  %8677 = fsub float 0.000000e+00, %8676
  %8678 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8677, ptr %8678, align 4, !tbaa !14
  %8679 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8680 = load float, ptr %8679, align 4, !tbaa !11
  %8681 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %8680, ptr %8681, align 4, !tbaa !11
  %8682 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8683 = load float, ptr %8682, align 4, !tbaa !14
  %8684 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %8683, ptr %8684, align 4, !tbaa !14
  %8685 = load ptr, ptr %11, align 8, !tbaa !5
  %8686 = load i64, ptr %8685, align 8, !tbaa !9
  store i64 %8686, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %8687

8687:                                             ; preds = %8745, %8610
  %8688 = load i64, ptr %50, align 8, !tbaa !9
  %8689 = load i64, ptr %20, align 8, !tbaa !9
  %8690 = icmp sle i64 %8688, %8689
  br i1 %8690, label %8691, label %8748

8691:                                             ; preds = %8687
  %8692 = load i64, ptr %50, align 8, !tbaa !9
  %8693 = load i64, ptr %18, align 8, !tbaa !9
  %8694 = add nsw i64 %8692, %8693
  store i64 %8694, ptr %21, align 8, !tbaa !9
  %8695 = load i64, ptr %50, align 8, !tbaa !9
  %8696 = load i64, ptr %18, align 8, !tbaa !9
  %8697 = add nsw i64 %8695, %8696
  store i64 %8697, ptr %22, align 8, !tbaa !9
  %8698 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %8699 = load float, ptr %8698, align 4, !tbaa !11
  %8700 = load ptr, ptr %15, align 8, !tbaa !5
  %8701 = load i64, ptr %22, align 8, !tbaa !9
  %8702 = getelementptr inbounds %struct.complex, ptr %8700, i64 %8701
  %8703 = getelementptr inbounds %struct.complex, ptr %8702, i32 0, i32 0
  %8704 = load float, ptr %8703, align 4, !tbaa !11
  %8705 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %8706 = load float, ptr %8705, align 4, !tbaa !14
  %8707 = load ptr, ptr %15, align 8, !tbaa !5
  %8708 = load i64, ptr %22, align 8, !tbaa !9
  %8709 = getelementptr inbounds %struct.complex, ptr %8707, i64 %8708
  %8710 = getelementptr inbounds %struct.complex, ptr %8709, i32 0, i32 1
  %8711 = load float, ptr %8710, align 4, !tbaa !14
  %8712 = fmul float %8706, %8711
  %8713 = fneg float %8712
  %8714 = call float @llvm.fmuladd.f32(float %8699, float %8704, float %8713)
  %8715 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8714, ptr %8715, align 4, !tbaa !11
  %8716 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %8717 = load float, ptr %8716, align 4, !tbaa !11
  %8718 = load ptr, ptr %15, align 8, !tbaa !5
  %8719 = load i64, ptr %22, align 8, !tbaa !9
  %8720 = getelementptr inbounds %struct.complex, ptr %8718, i64 %8719
  %8721 = getelementptr inbounds %struct.complex, ptr %8720, i32 0, i32 1
  %8722 = load float, ptr %8721, align 4, !tbaa !14
  %8723 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %8724 = load float, ptr %8723, align 4, !tbaa !14
  %8725 = load ptr, ptr %15, align 8, !tbaa !5
  %8726 = load i64, ptr %22, align 8, !tbaa !9
  %8727 = getelementptr inbounds %struct.complex, ptr %8725, i64 %8726
  %8728 = getelementptr inbounds %struct.complex, ptr %8727, i32 0, i32 0
  %8729 = load float, ptr %8728, align 4, !tbaa !11
  %8730 = fmul float %8724, %8729
  %8731 = call float @llvm.fmuladd.f32(float %8717, float %8722, float %8730)
  %8732 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8731, ptr %8732, align 4, !tbaa !14
  %8733 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8734 = load float, ptr %8733, align 4, !tbaa !11
  %8735 = load ptr, ptr %15, align 8, !tbaa !5
  %8736 = load i64, ptr %21, align 8, !tbaa !9
  %8737 = getelementptr inbounds %struct.complex, ptr %8735, i64 %8736
  %8738 = getelementptr inbounds %struct.complex, ptr %8737, i32 0, i32 0
  store float %8734, ptr %8738, align 4, !tbaa !11
  %8739 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8740 = load float, ptr %8739, align 4, !tbaa !14
  %8741 = load ptr, ptr %15, align 8, !tbaa !5
  %8742 = load i64, ptr %21, align 8, !tbaa !9
  %8743 = getelementptr inbounds %struct.complex, ptr %8741, i64 %8742
  %8744 = getelementptr inbounds %struct.complex, ptr %8743, i32 0, i32 1
  store float %8740, ptr %8744, align 4, !tbaa !14
  br label %8745

8745:                                             ; preds = %8691
  %8746 = load i64, ptr %50, align 8, !tbaa !9
  %8747 = add nsw i64 %8746, 1
  store i64 %8747, ptr %50, align 8, !tbaa !9
  br label %8687, !llvm.loop !26

8748:                                             ; preds = %8687
  br label %17146

8749:                                             ; preds = %8587
  %8750 = load ptr, ptr %13, align 8, !tbaa !5
  %8751 = getelementptr inbounds %struct.complex, ptr %8750, i64 1
  %8752 = getelementptr inbounds %struct.complex, ptr %8751, i32 0, i32 0
  %8753 = load float, ptr %8752, align 4, !tbaa !11
  %8754 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %8753, ptr %8754, align 4, !tbaa !11
  %8755 = load ptr, ptr %13, align 8, !tbaa !5
  %8756 = getelementptr inbounds %struct.complex, ptr %8755, i64 1
  %8757 = getelementptr inbounds %struct.complex, ptr %8756, i32 0, i32 1
  %8758 = load float, ptr %8757, align 4, !tbaa !14
  %8759 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %8758, ptr %8759, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %8760 = load ptr, ptr %14, align 8, !tbaa !5
  %8761 = getelementptr inbounds %struct.complex, ptr %8760, i32 0, i32 0
  %8762 = load float, ptr %8761, align 4, !tbaa !11
  %8763 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8764 = load float, ptr %8763, align 4, !tbaa !11
  %8765 = load ptr, ptr %14, align 8, !tbaa !5
  %8766 = getelementptr inbounds %struct.complex, ptr %8765, i32 0, i32 1
  %8767 = load float, ptr %8766, align 4, !tbaa !14
  %8768 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8769 = load float, ptr %8768, align 4, !tbaa !14
  %8770 = fmul float %8767, %8769
  %8771 = fneg float %8770
  %8772 = call float @llvm.fmuladd.f32(float %8762, float %8764, float %8771)
  %8773 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8772, ptr %8773, align 4, !tbaa !11
  %8774 = load ptr, ptr %14, align 8, !tbaa !5
  %8775 = getelementptr inbounds %struct.complex, ptr %8774, i32 0, i32 0
  %8776 = load float, ptr %8775, align 4, !tbaa !11
  %8777 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8778 = load float, ptr %8777, align 4, !tbaa !14
  %8779 = load ptr, ptr %14, align 8, !tbaa !5
  %8780 = getelementptr inbounds %struct.complex, ptr %8779, i32 0, i32 1
  %8781 = load float, ptr %8780, align 4, !tbaa !14
  %8782 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8783 = load float, ptr %8782, align 4, !tbaa !11
  %8784 = fmul float %8781, %8783
  %8785 = call float @llvm.fmuladd.f32(float %8776, float %8778, float %8784)
  %8786 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8785, ptr %8786, align 4, !tbaa !14
  %8787 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8788 = load float, ptr %8787, align 4, !tbaa !11
  %8789 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %8788, ptr %8789, align 4, !tbaa !11
  %8790 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8791 = load float, ptr %8790, align 4, !tbaa !14
  %8792 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %8791, ptr %8792, align 4, !tbaa !14
  %8793 = load ptr, ptr %13, align 8, !tbaa !5
  %8794 = getelementptr inbounds %struct.complex, ptr %8793, i64 2
  %8795 = getelementptr inbounds %struct.complex, ptr %8794, i32 0, i32 0
  %8796 = load float, ptr %8795, align 4, !tbaa !11
  %8797 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %8796, ptr %8797, align 4, !tbaa !11
  %8798 = load ptr, ptr %13, align 8, !tbaa !5
  %8799 = getelementptr inbounds %struct.complex, ptr %8798, i64 2
  %8800 = getelementptr inbounds %struct.complex, ptr %8799, i32 0, i32 1
  %8801 = load float, ptr %8800, align 4, !tbaa !14
  %8802 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %8801, ptr %8802, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %8803 = load ptr, ptr %14, align 8, !tbaa !5
  %8804 = getelementptr inbounds %struct.complex, ptr %8803, i32 0, i32 0
  %8805 = load float, ptr %8804, align 4, !tbaa !11
  %8806 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8807 = load float, ptr %8806, align 4, !tbaa !11
  %8808 = load ptr, ptr %14, align 8, !tbaa !5
  %8809 = getelementptr inbounds %struct.complex, ptr %8808, i32 0, i32 1
  %8810 = load float, ptr %8809, align 4, !tbaa !14
  %8811 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8812 = load float, ptr %8811, align 4, !tbaa !14
  %8813 = fmul float %8810, %8812
  %8814 = fneg float %8813
  %8815 = call float @llvm.fmuladd.f32(float %8805, float %8807, float %8814)
  %8816 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8815, ptr %8816, align 4, !tbaa !11
  %8817 = load ptr, ptr %14, align 8, !tbaa !5
  %8818 = getelementptr inbounds %struct.complex, ptr %8817, i32 0, i32 0
  %8819 = load float, ptr %8818, align 4, !tbaa !11
  %8820 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8821 = load float, ptr %8820, align 4, !tbaa !14
  %8822 = load ptr, ptr %14, align 8, !tbaa !5
  %8823 = getelementptr inbounds %struct.complex, ptr %8822, i32 0, i32 1
  %8824 = load float, ptr %8823, align 4, !tbaa !14
  %8825 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8826 = load float, ptr %8825, align 4, !tbaa !11
  %8827 = fmul float %8824, %8826
  %8828 = call float @llvm.fmuladd.f32(float %8819, float %8821, float %8827)
  %8829 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8828, ptr %8829, align 4, !tbaa !14
  %8830 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8831 = load float, ptr %8830, align 4, !tbaa !11
  %8832 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %8831, ptr %8832, align 4, !tbaa !11
  %8833 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8834 = load float, ptr %8833, align 4, !tbaa !14
  %8835 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %8834, ptr %8835, align 4, !tbaa !14
  %8836 = load ptr, ptr %11, align 8, !tbaa !5
  %8837 = load i64, ptr %8836, align 8, !tbaa !9
  store i64 %8837, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %8838

8838:                                             ; preds = %9058, %8749
  %8839 = load i64, ptr %50, align 8, !tbaa !9
  %8840 = load i64, ptr %20, align 8, !tbaa !9
  %8841 = icmp sle i64 %8839, %8840
  br i1 %8841, label %8842, label %9061

8842:                                             ; preds = %8838
  %8843 = load i64, ptr %50, align 8, !tbaa !9
  %8844 = load i64, ptr %18, align 8, !tbaa !9
  %8845 = add nsw i64 %8843, %8844
  store i64 %8845, ptr %21, align 8, !tbaa !9
  %8846 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %8847 = load float, ptr %8846, align 4, !tbaa !11
  %8848 = load ptr, ptr %15, align 8, !tbaa !5
  %8849 = load i64, ptr %21, align 8, !tbaa !9
  %8850 = getelementptr inbounds %struct.complex, ptr %8848, i64 %8849
  %8851 = getelementptr inbounds %struct.complex, ptr %8850, i32 0, i32 0
  %8852 = load float, ptr %8851, align 4, !tbaa !11
  %8853 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %8854 = load float, ptr %8853, align 4, !tbaa !14
  %8855 = load ptr, ptr %15, align 8, !tbaa !5
  %8856 = load i64, ptr %21, align 8, !tbaa !9
  %8857 = getelementptr inbounds %struct.complex, ptr %8855, i64 %8856
  %8858 = getelementptr inbounds %struct.complex, ptr %8857, i32 0, i32 1
  %8859 = load float, ptr %8858, align 4, !tbaa !14
  %8860 = fmul float %8854, %8859
  %8861 = fneg float %8860
  %8862 = call float @llvm.fmuladd.f32(float %8847, float %8852, float %8861)
  %8863 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8862, ptr %8863, align 4, !tbaa !11
  %8864 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %8865 = load float, ptr %8864, align 4, !tbaa !11
  %8866 = load ptr, ptr %15, align 8, !tbaa !5
  %8867 = load i64, ptr %21, align 8, !tbaa !9
  %8868 = getelementptr inbounds %struct.complex, ptr %8866, i64 %8867
  %8869 = getelementptr inbounds %struct.complex, ptr %8868, i32 0, i32 1
  %8870 = load float, ptr %8869, align 4, !tbaa !14
  %8871 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %8872 = load float, ptr %8871, align 4, !tbaa !14
  %8873 = load ptr, ptr %15, align 8, !tbaa !5
  %8874 = load i64, ptr %21, align 8, !tbaa !9
  %8875 = getelementptr inbounds %struct.complex, ptr %8873, i64 %8874
  %8876 = getelementptr inbounds %struct.complex, ptr %8875, i32 0, i32 0
  %8877 = load float, ptr %8876, align 4, !tbaa !11
  %8878 = fmul float %8872, %8877
  %8879 = call float @llvm.fmuladd.f32(float %8865, float %8870, float %8878)
  %8880 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8879, ptr %8880, align 4, !tbaa !14
  %8881 = load i64, ptr %50, align 8, !tbaa !9
  %8882 = load i64, ptr %18, align 8, !tbaa !9
  %8883 = shl i64 %8882, 1
  %8884 = add nsw i64 %8881, %8883
  store i64 %8884, ptr %22, align 8, !tbaa !9
  %8885 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %8886 = load float, ptr %8885, align 4, !tbaa !11
  %8887 = load ptr, ptr %15, align 8, !tbaa !5
  %8888 = load i64, ptr %22, align 8, !tbaa !9
  %8889 = getelementptr inbounds %struct.complex, ptr %8887, i64 %8888
  %8890 = getelementptr inbounds %struct.complex, ptr %8889, i32 0, i32 0
  %8891 = load float, ptr %8890, align 4, !tbaa !11
  %8892 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %8893 = load float, ptr %8892, align 4, !tbaa !14
  %8894 = load ptr, ptr %15, align 8, !tbaa !5
  %8895 = load i64, ptr %22, align 8, !tbaa !9
  %8896 = getelementptr inbounds %struct.complex, ptr %8894, i64 %8895
  %8897 = getelementptr inbounds %struct.complex, ptr %8896, i32 0, i32 1
  %8898 = load float, ptr %8897, align 4, !tbaa !14
  %8899 = fmul float %8893, %8898
  %8900 = fneg float %8899
  %8901 = call float @llvm.fmuladd.f32(float %8886, float %8891, float %8900)
  %8902 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %8901, ptr %8902, align 4, !tbaa !11
  %8903 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %8904 = load float, ptr %8903, align 4, !tbaa !11
  %8905 = load ptr, ptr %15, align 8, !tbaa !5
  %8906 = load i64, ptr %22, align 8, !tbaa !9
  %8907 = getelementptr inbounds %struct.complex, ptr %8905, i64 %8906
  %8908 = getelementptr inbounds %struct.complex, ptr %8907, i32 0, i32 1
  %8909 = load float, ptr %8908, align 4, !tbaa !14
  %8910 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %8911 = load float, ptr %8910, align 4, !tbaa !14
  %8912 = load ptr, ptr %15, align 8, !tbaa !5
  %8913 = load i64, ptr %22, align 8, !tbaa !9
  %8914 = getelementptr inbounds %struct.complex, ptr %8912, i64 %8913
  %8915 = getelementptr inbounds %struct.complex, ptr %8914, i32 0, i32 0
  %8916 = load float, ptr %8915, align 4, !tbaa !11
  %8917 = fmul float %8911, %8916
  %8918 = call float @llvm.fmuladd.f32(float %8904, float %8909, float %8917)
  %8919 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %8918, ptr %8919, align 4, !tbaa !14
  %8920 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8921 = load float, ptr %8920, align 4, !tbaa !11
  %8922 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %8923 = load float, ptr %8922, align 4, !tbaa !11
  %8924 = fadd float %8921, %8923
  %8925 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8924, ptr %8925, align 4, !tbaa !11
  %8926 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8927 = load float, ptr %8926, align 4, !tbaa !14
  %8928 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %8929 = load float, ptr %8928, align 4, !tbaa !14
  %8930 = fadd float %8927, %8929
  %8931 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8930, ptr %8931, align 4, !tbaa !14
  %8932 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8933 = load float, ptr %8932, align 4, !tbaa !11
  %8934 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %8933, ptr %8934, align 4, !tbaa !11
  %8935 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8936 = load float, ptr %8935, align 4, !tbaa !14
  %8937 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %8936, ptr %8937, align 4, !tbaa !14
  %8938 = load i64, ptr %50, align 8, !tbaa !9
  %8939 = load i64, ptr %18, align 8, !tbaa !9
  %8940 = add nsw i64 %8938, %8939
  store i64 %8940, ptr %21, align 8, !tbaa !9
  %8941 = load i64, ptr %50, align 8, !tbaa !9
  %8942 = load i64, ptr %18, align 8, !tbaa !9
  %8943 = add nsw i64 %8941, %8942
  store i64 %8943, ptr %22, align 8, !tbaa !9
  %8944 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8945 = load float, ptr %8944, align 4, !tbaa !11
  %8946 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %8947 = load float, ptr %8946, align 4, !tbaa !11
  %8948 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8949 = load float, ptr %8948, align 4, !tbaa !14
  %8950 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %8951 = load float, ptr %8950, align 4, !tbaa !14
  %8952 = fmul float %8949, %8951
  %8953 = fneg float %8952
  %8954 = call float @llvm.fmuladd.f32(float %8945, float %8947, float %8953)
  %8955 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %8954, ptr %8955, align 4, !tbaa !11
  %8956 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %8957 = load float, ptr %8956, align 4, !tbaa !11
  %8958 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %8959 = load float, ptr %8958, align 4, !tbaa !14
  %8960 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %8961 = load float, ptr %8960, align 4, !tbaa !14
  %8962 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %8963 = load float, ptr %8962, align 4, !tbaa !11
  %8964 = fmul float %8961, %8963
  %8965 = call float @llvm.fmuladd.f32(float %8957, float %8959, float %8964)
  %8966 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %8965, ptr %8966, align 4, !tbaa !14
  %8967 = load ptr, ptr %15, align 8, !tbaa !5
  %8968 = load i64, ptr %22, align 8, !tbaa !9
  %8969 = getelementptr inbounds %struct.complex, ptr %8967, i64 %8968
  %8970 = getelementptr inbounds %struct.complex, ptr %8969, i32 0, i32 0
  %8971 = load float, ptr %8970, align 4, !tbaa !11
  %8972 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %8973 = load float, ptr %8972, align 4, !tbaa !11
  %8974 = fsub float %8971, %8973
  %8975 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %8974, ptr %8975, align 4, !tbaa !11
  %8976 = load ptr, ptr %15, align 8, !tbaa !5
  %8977 = load i64, ptr %22, align 8, !tbaa !9
  %8978 = getelementptr inbounds %struct.complex, ptr %8976, i64 %8977
  %8979 = getelementptr inbounds %struct.complex, ptr %8978, i32 0, i32 1
  %8980 = load float, ptr %8979, align 4, !tbaa !14
  %8981 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %8982 = load float, ptr %8981, align 4, !tbaa !14
  %8983 = fsub float %8980, %8982
  %8984 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %8983, ptr %8984, align 4, !tbaa !14
  %8985 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %8986 = load float, ptr %8985, align 4, !tbaa !11
  %8987 = load ptr, ptr %15, align 8, !tbaa !5
  %8988 = load i64, ptr %21, align 8, !tbaa !9
  %8989 = getelementptr inbounds %struct.complex, ptr %8987, i64 %8988
  %8990 = getelementptr inbounds %struct.complex, ptr %8989, i32 0, i32 0
  store float %8986, ptr %8990, align 4, !tbaa !11
  %8991 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %8992 = load float, ptr %8991, align 4, !tbaa !14
  %8993 = load ptr, ptr %15, align 8, !tbaa !5
  %8994 = load i64, ptr %21, align 8, !tbaa !9
  %8995 = getelementptr inbounds %struct.complex, ptr %8993, i64 %8994
  %8996 = getelementptr inbounds %struct.complex, ptr %8995, i32 0, i32 1
  store float %8992, ptr %8996, align 4, !tbaa !14
  %8997 = load i64, ptr %50, align 8, !tbaa !9
  %8998 = load i64, ptr %18, align 8, !tbaa !9
  %8999 = shl i64 %8998, 1
  %9000 = add nsw i64 %8997, %8999
  store i64 %9000, ptr %21, align 8, !tbaa !9
  %9001 = load i64, ptr %50, align 8, !tbaa !9
  %9002 = load i64, ptr %18, align 8, !tbaa !9
  %9003 = shl i64 %9002, 1
  %9004 = add nsw i64 %9001, %9003
  store i64 %9004, ptr %22, align 8, !tbaa !9
  %9005 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9006 = load float, ptr %9005, align 4, !tbaa !11
  %9007 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9008 = load float, ptr %9007, align 4, !tbaa !11
  %9009 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9010 = load float, ptr %9009, align 4, !tbaa !14
  %9011 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9012 = load float, ptr %9011, align 4, !tbaa !14
  %9013 = fmul float %9010, %9012
  %9014 = fneg float %9013
  %9015 = call float @llvm.fmuladd.f32(float %9006, float %9008, float %9014)
  %9016 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9015, ptr %9016, align 4, !tbaa !11
  %9017 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9018 = load float, ptr %9017, align 4, !tbaa !11
  %9019 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9020 = load float, ptr %9019, align 4, !tbaa !14
  %9021 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9022 = load float, ptr %9021, align 4, !tbaa !14
  %9023 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9024 = load float, ptr %9023, align 4, !tbaa !11
  %9025 = fmul float %9022, %9024
  %9026 = call float @llvm.fmuladd.f32(float %9018, float %9020, float %9025)
  %9027 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9026, ptr %9027, align 4, !tbaa !14
  %9028 = load ptr, ptr %15, align 8, !tbaa !5
  %9029 = load i64, ptr %22, align 8, !tbaa !9
  %9030 = getelementptr inbounds %struct.complex, ptr %9028, i64 %9029
  %9031 = getelementptr inbounds %struct.complex, ptr %9030, i32 0, i32 0
  %9032 = load float, ptr %9031, align 4, !tbaa !11
  %9033 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9034 = load float, ptr %9033, align 4, !tbaa !11
  %9035 = fsub float %9032, %9034
  %9036 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9035, ptr %9036, align 4, !tbaa !11
  %9037 = load ptr, ptr %15, align 8, !tbaa !5
  %9038 = load i64, ptr %22, align 8, !tbaa !9
  %9039 = getelementptr inbounds %struct.complex, ptr %9037, i64 %9038
  %9040 = getelementptr inbounds %struct.complex, ptr %9039, i32 0, i32 1
  %9041 = load float, ptr %9040, align 4, !tbaa !14
  %9042 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9043 = load float, ptr %9042, align 4, !tbaa !14
  %9044 = fsub float %9041, %9043
  %9045 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9044, ptr %9045, align 4, !tbaa !14
  %9046 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9047 = load float, ptr %9046, align 4, !tbaa !11
  %9048 = load ptr, ptr %15, align 8, !tbaa !5
  %9049 = load i64, ptr %21, align 8, !tbaa !9
  %9050 = getelementptr inbounds %struct.complex, ptr %9048, i64 %9049
  %9051 = getelementptr inbounds %struct.complex, ptr %9050, i32 0, i32 0
  store float %9047, ptr %9051, align 4, !tbaa !11
  %9052 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9053 = load float, ptr %9052, align 4, !tbaa !14
  %9054 = load ptr, ptr %15, align 8, !tbaa !5
  %9055 = load i64, ptr %21, align 8, !tbaa !9
  %9056 = getelementptr inbounds %struct.complex, ptr %9054, i64 %9055
  %9057 = getelementptr inbounds %struct.complex, ptr %9056, i32 0, i32 1
  store float %9053, ptr %9057, align 4, !tbaa !14
  br label %9058

9058:                                             ; preds = %8842
  %9059 = load i64, ptr %50, align 8, !tbaa !9
  %9060 = add nsw i64 %9059, 1
  store i64 %9060, ptr %50, align 8, !tbaa !9
  br label %8838, !llvm.loop !27

9061:                                             ; preds = %8838
  br label %17146

9062:                                             ; preds = %8588
  %9063 = load ptr, ptr %13, align 8, !tbaa !5
  %9064 = getelementptr inbounds %struct.complex, ptr %9063, i64 1
  %9065 = getelementptr inbounds %struct.complex, ptr %9064, i32 0, i32 0
  %9066 = load float, ptr %9065, align 4, !tbaa !11
  %9067 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %9066, ptr %9067, align 4, !tbaa !11
  %9068 = load ptr, ptr %13, align 8, !tbaa !5
  %9069 = getelementptr inbounds %struct.complex, ptr %9068, i64 1
  %9070 = getelementptr inbounds %struct.complex, ptr %9069, i32 0, i32 1
  %9071 = load float, ptr %9070, align 4, !tbaa !14
  %9072 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %9071, ptr %9072, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %9073 = load ptr, ptr %14, align 8, !tbaa !5
  %9074 = getelementptr inbounds %struct.complex, ptr %9073, i32 0, i32 0
  %9075 = load float, ptr %9074, align 4, !tbaa !11
  %9076 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9077 = load float, ptr %9076, align 4, !tbaa !11
  %9078 = load ptr, ptr %14, align 8, !tbaa !5
  %9079 = getelementptr inbounds %struct.complex, ptr %9078, i32 0, i32 1
  %9080 = load float, ptr %9079, align 4, !tbaa !14
  %9081 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9082 = load float, ptr %9081, align 4, !tbaa !14
  %9083 = fmul float %9080, %9082
  %9084 = fneg float %9083
  %9085 = call float @llvm.fmuladd.f32(float %9075, float %9077, float %9084)
  %9086 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9085, ptr %9086, align 4, !tbaa !11
  %9087 = load ptr, ptr %14, align 8, !tbaa !5
  %9088 = getelementptr inbounds %struct.complex, ptr %9087, i32 0, i32 0
  %9089 = load float, ptr %9088, align 4, !tbaa !11
  %9090 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9091 = load float, ptr %9090, align 4, !tbaa !14
  %9092 = load ptr, ptr %14, align 8, !tbaa !5
  %9093 = getelementptr inbounds %struct.complex, ptr %9092, i32 0, i32 1
  %9094 = load float, ptr %9093, align 4, !tbaa !14
  %9095 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9096 = load float, ptr %9095, align 4, !tbaa !11
  %9097 = fmul float %9094, %9096
  %9098 = call float @llvm.fmuladd.f32(float %9089, float %9091, float %9097)
  %9099 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9098, ptr %9099, align 4, !tbaa !14
  %9100 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9101 = load float, ptr %9100, align 4, !tbaa !11
  %9102 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %9101, ptr %9102, align 4, !tbaa !11
  %9103 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9104 = load float, ptr %9103, align 4, !tbaa !14
  %9105 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %9104, ptr %9105, align 4, !tbaa !14
  %9106 = load ptr, ptr %13, align 8, !tbaa !5
  %9107 = getelementptr inbounds %struct.complex, ptr %9106, i64 2
  %9108 = getelementptr inbounds %struct.complex, ptr %9107, i32 0, i32 0
  %9109 = load float, ptr %9108, align 4, !tbaa !11
  %9110 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %9109, ptr %9110, align 4, !tbaa !11
  %9111 = load ptr, ptr %13, align 8, !tbaa !5
  %9112 = getelementptr inbounds %struct.complex, ptr %9111, i64 2
  %9113 = getelementptr inbounds %struct.complex, ptr %9112, i32 0, i32 1
  %9114 = load float, ptr %9113, align 4, !tbaa !14
  %9115 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %9114, ptr %9115, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %9116 = load ptr, ptr %14, align 8, !tbaa !5
  %9117 = getelementptr inbounds %struct.complex, ptr %9116, i32 0, i32 0
  %9118 = load float, ptr %9117, align 4, !tbaa !11
  %9119 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9120 = load float, ptr %9119, align 4, !tbaa !11
  %9121 = load ptr, ptr %14, align 8, !tbaa !5
  %9122 = getelementptr inbounds %struct.complex, ptr %9121, i32 0, i32 1
  %9123 = load float, ptr %9122, align 4, !tbaa !14
  %9124 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9125 = load float, ptr %9124, align 4, !tbaa !14
  %9126 = fmul float %9123, %9125
  %9127 = fneg float %9126
  %9128 = call float @llvm.fmuladd.f32(float %9118, float %9120, float %9127)
  %9129 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9128, ptr %9129, align 4, !tbaa !11
  %9130 = load ptr, ptr %14, align 8, !tbaa !5
  %9131 = getelementptr inbounds %struct.complex, ptr %9130, i32 0, i32 0
  %9132 = load float, ptr %9131, align 4, !tbaa !11
  %9133 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9134 = load float, ptr %9133, align 4, !tbaa !14
  %9135 = load ptr, ptr %14, align 8, !tbaa !5
  %9136 = getelementptr inbounds %struct.complex, ptr %9135, i32 0, i32 1
  %9137 = load float, ptr %9136, align 4, !tbaa !14
  %9138 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9139 = load float, ptr %9138, align 4, !tbaa !11
  %9140 = fmul float %9137, %9139
  %9141 = call float @llvm.fmuladd.f32(float %9132, float %9134, float %9140)
  %9142 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9141, ptr %9142, align 4, !tbaa !14
  %9143 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9144 = load float, ptr %9143, align 4, !tbaa !11
  %9145 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %9144, ptr %9145, align 4, !tbaa !11
  %9146 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9147 = load float, ptr %9146, align 4, !tbaa !14
  %9148 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %9147, ptr %9148, align 4, !tbaa !14
  %9149 = load ptr, ptr %13, align 8, !tbaa !5
  %9150 = getelementptr inbounds %struct.complex, ptr %9149, i64 3
  %9151 = getelementptr inbounds %struct.complex, ptr %9150, i32 0, i32 0
  %9152 = load float, ptr %9151, align 4, !tbaa !11
  %9153 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %9152, ptr %9153, align 4, !tbaa !11
  %9154 = load ptr, ptr %13, align 8, !tbaa !5
  %9155 = getelementptr inbounds %struct.complex, ptr %9154, i64 3
  %9156 = getelementptr inbounds %struct.complex, ptr %9155, i32 0, i32 1
  %9157 = load float, ptr %9156, align 4, !tbaa !14
  %9158 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %9157, ptr %9158, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %9159 = load ptr, ptr %14, align 8, !tbaa !5
  %9160 = getelementptr inbounds %struct.complex, ptr %9159, i32 0, i32 0
  %9161 = load float, ptr %9160, align 4, !tbaa !11
  %9162 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9163 = load float, ptr %9162, align 4, !tbaa !11
  %9164 = load ptr, ptr %14, align 8, !tbaa !5
  %9165 = getelementptr inbounds %struct.complex, ptr %9164, i32 0, i32 1
  %9166 = load float, ptr %9165, align 4, !tbaa !14
  %9167 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9168 = load float, ptr %9167, align 4, !tbaa !14
  %9169 = fmul float %9166, %9168
  %9170 = fneg float %9169
  %9171 = call float @llvm.fmuladd.f32(float %9161, float %9163, float %9170)
  %9172 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9171, ptr %9172, align 4, !tbaa !11
  %9173 = load ptr, ptr %14, align 8, !tbaa !5
  %9174 = getelementptr inbounds %struct.complex, ptr %9173, i32 0, i32 0
  %9175 = load float, ptr %9174, align 4, !tbaa !11
  %9176 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9177 = load float, ptr %9176, align 4, !tbaa !14
  %9178 = load ptr, ptr %14, align 8, !tbaa !5
  %9179 = getelementptr inbounds %struct.complex, ptr %9178, i32 0, i32 1
  %9180 = load float, ptr %9179, align 4, !tbaa !14
  %9181 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9182 = load float, ptr %9181, align 4, !tbaa !11
  %9183 = fmul float %9180, %9182
  %9184 = call float @llvm.fmuladd.f32(float %9175, float %9177, float %9183)
  %9185 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9184, ptr %9185, align 4, !tbaa !14
  %9186 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9187 = load float, ptr %9186, align 4, !tbaa !11
  %9188 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %9187, ptr %9188, align 4, !tbaa !11
  %9189 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9190 = load float, ptr %9189, align 4, !tbaa !14
  %9191 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %9190, ptr %9191, align 4, !tbaa !14
  %9192 = load ptr, ptr %11, align 8, !tbaa !5
  %9193 = load i64, ptr %9192, align 8, !tbaa !9
  store i64 %9193, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %9194

9194:                                             ; preds = %9526, %9062
  %9195 = load i64, ptr %50, align 8, !tbaa !9
  %9196 = load i64, ptr %20, align 8, !tbaa !9
  %9197 = icmp sle i64 %9195, %9196
  br i1 %9197, label %9198, label %9529

9198:                                             ; preds = %9194
  %9199 = load i64, ptr %50, align 8, !tbaa !9
  %9200 = load i64, ptr %18, align 8, !tbaa !9
  %9201 = add nsw i64 %9199, %9200
  store i64 %9201, ptr %21, align 8, !tbaa !9
  %9202 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %9203 = load float, ptr %9202, align 4, !tbaa !11
  %9204 = load ptr, ptr %15, align 8, !tbaa !5
  %9205 = load i64, ptr %21, align 8, !tbaa !9
  %9206 = getelementptr inbounds %struct.complex, ptr %9204, i64 %9205
  %9207 = getelementptr inbounds %struct.complex, ptr %9206, i32 0, i32 0
  %9208 = load float, ptr %9207, align 4, !tbaa !11
  %9209 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %9210 = load float, ptr %9209, align 4, !tbaa !14
  %9211 = load ptr, ptr %15, align 8, !tbaa !5
  %9212 = load i64, ptr %21, align 8, !tbaa !9
  %9213 = getelementptr inbounds %struct.complex, ptr %9211, i64 %9212
  %9214 = getelementptr inbounds %struct.complex, ptr %9213, i32 0, i32 1
  %9215 = load float, ptr %9214, align 4, !tbaa !14
  %9216 = fmul float %9210, %9215
  %9217 = fneg float %9216
  %9218 = call float @llvm.fmuladd.f32(float %9203, float %9208, float %9217)
  %9219 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %9218, ptr %9219, align 4, !tbaa !11
  %9220 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %9221 = load float, ptr %9220, align 4, !tbaa !11
  %9222 = load ptr, ptr %15, align 8, !tbaa !5
  %9223 = load i64, ptr %21, align 8, !tbaa !9
  %9224 = getelementptr inbounds %struct.complex, ptr %9222, i64 %9223
  %9225 = getelementptr inbounds %struct.complex, ptr %9224, i32 0, i32 1
  %9226 = load float, ptr %9225, align 4, !tbaa !14
  %9227 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %9228 = load float, ptr %9227, align 4, !tbaa !14
  %9229 = load ptr, ptr %15, align 8, !tbaa !5
  %9230 = load i64, ptr %21, align 8, !tbaa !9
  %9231 = getelementptr inbounds %struct.complex, ptr %9229, i64 %9230
  %9232 = getelementptr inbounds %struct.complex, ptr %9231, i32 0, i32 0
  %9233 = load float, ptr %9232, align 4, !tbaa !11
  %9234 = fmul float %9228, %9233
  %9235 = call float @llvm.fmuladd.f32(float %9221, float %9226, float %9234)
  %9236 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %9235, ptr %9236, align 4, !tbaa !14
  %9237 = load i64, ptr %50, align 8, !tbaa !9
  %9238 = load i64, ptr %18, align 8, !tbaa !9
  %9239 = shl i64 %9238, 1
  %9240 = add nsw i64 %9237, %9239
  store i64 %9240, ptr %22, align 8, !tbaa !9
  %9241 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %9242 = load float, ptr %9241, align 4, !tbaa !11
  %9243 = load ptr, ptr %15, align 8, !tbaa !5
  %9244 = load i64, ptr %22, align 8, !tbaa !9
  %9245 = getelementptr inbounds %struct.complex, ptr %9243, i64 %9244
  %9246 = getelementptr inbounds %struct.complex, ptr %9245, i32 0, i32 0
  %9247 = load float, ptr %9246, align 4, !tbaa !11
  %9248 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %9249 = load float, ptr %9248, align 4, !tbaa !14
  %9250 = load ptr, ptr %15, align 8, !tbaa !5
  %9251 = load i64, ptr %22, align 8, !tbaa !9
  %9252 = getelementptr inbounds %struct.complex, ptr %9250, i64 %9251
  %9253 = getelementptr inbounds %struct.complex, ptr %9252, i32 0, i32 1
  %9254 = load float, ptr %9253, align 4, !tbaa !14
  %9255 = fmul float %9249, %9254
  %9256 = fneg float %9255
  %9257 = call float @llvm.fmuladd.f32(float %9242, float %9247, float %9256)
  %9258 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %9257, ptr %9258, align 4, !tbaa !11
  %9259 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %9260 = load float, ptr %9259, align 4, !tbaa !11
  %9261 = load ptr, ptr %15, align 8, !tbaa !5
  %9262 = load i64, ptr %22, align 8, !tbaa !9
  %9263 = getelementptr inbounds %struct.complex, ptr %9261, i64 %9262
  %9264 = getelementptr inbounds %struct.complex, ptr %9263, i32 0, i32 1
  %9265 = load float, ptr %9264, align 4, !tbaa !14
  %9266 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %9267 = load float, ptr %9266, align 4, !tbaa !14
  %9268 = load ptr, ptr %15, align 8, !tbaa !5
  %9269 = load i64, ptr %22, align 8, !tbaa !9
  %9270 = getelementptr inbounds %struct.complex, ptr %9268, i64 %9269
  %9271 = getelementptr inbounds %struct.complex, ptr %9270, i32 0, i32 0
  %9272 = load float, ptr %9271, align 4, !tbaa !11
  %9273 = fmul float %9267, %9272
  %9274 = call float @llvm.fmuladd.f32(float %9260, float %9265, float %9273)
  %9275 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %9274, ptr %9275, align 4, !tbaa !14
  %9276 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %9277 = load float, ptr %9276, align 4, !tbaa !11
  %9278 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %9279 = load float, ptr %9278, align 4, !tbaa !11
  %9280 = fadd float %9277, %9279
  %9281 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9280, ptr %9281, align 4, !tbaa !11
  %9282 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %9283 = load float, ptr %9282, align 4, !tbaa !14
  %9284 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %9285 = load float, ptr %9284, align 4, !tbaa !14
  %9286 = fadd float %9283, %9285
  %9287 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9286, ptr %9287, align 4, !tbaa !14
  %9288 = load i64, ptr %50, align 8, !tbaa !9
  %9289 = load i64, ptr %18, align 8, !tbaa !9
  %9290 = mul nsw i64 %9289, 3
  %9291 = add nsw i64 %9288, %9290
  store i64 %9291, ptr %23, align 8, !tbaa !9
  %9292 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %9293 = load float, ptr %9292, align 4, !tbaa !11
  %9294 = load ptr, ptr %15, align 8, !tbaa !5
  %9295 = load i64, ptr %23, align 8, !tbaa !9
  %9296 = getelementptr inbounds %struct.complex, ptr %9294, 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 %62, i32 0, i32 1
  %9300 = load float, ptr %9299, align 4, !tbaa !14
  %9301 = load ptr, ptr %15, align 8, !tbaa !5
  %9302 = load i64, ptr %23, align 8, !tbaa !9
  %9303 = getelementptr inbounds %struct.complex, ptr %9301, i64 %9302
  %9304 = getelementptr inbounds %struct.complex, ptr %9303, i32 0, i32 1
  %9305 = load float, ptr %9304, align 4, !tbaa !14
  %9306 = fmul float %9300, %9305
  %9307 = fneg float %9306
  %9308 = call float @llvm.fmuladd.f32(float %9293, float %9298, float %9307)
  %9309 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %9308, ptr %9309, align 4, !tbaa !11
  %9310 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %9311 = load float, ptr %9310, align 4, !tbaa !11
  %9312 = load ptr, ptr %15, align 8, !tbaa !5
  %9313 = load i64, ptr %23, align 8, !tbaa !9
  %9314 = getelementptr inbounds %struct.complex, ptr %9312, i64 %9313
  %9315 = getelementptr inbounds %struct.complex, ptr %9314, i32 0, i32 1
  %9316 = load float, ptr %9315, align 4, !tbaa !14
  %9317 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %9318 = load float, ptr %9317, align 4, !tbaa !14
  %9319 = load ptr, ptr %15, align 8, !tbaa !5
  %9320 = load i64, ptr %23, align 8, !tbaa !9
  %9321 = getelementptr inbounds %struct.complex, ptr %9319, i64 %9320
  %9322 = getelementptr inbounds %struct.complex, ptr %9321, i32 0, i32 0
  %9323 = load float, ptr %9322, align 4, !tbaa !11
  %9324 = fmul float %9318, %9323
  %9325 = call float @llvm.fmuladd.f32(float %9311, float %9316, float %9324)
  %9326 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %9325, ptr %9326, align 4, !tbaa !14
  %9327 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9328 = load float, ptr %9327, align 4, !tbaa !11
  %9329 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %9330 = load float, ptr %9329, align 4, !tbaa !11
  %9331 = fadd float %9328, %9330
  %9332 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9331, ptr %9332, align 4, !tbaa !11
  %9333 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9334 = load float, ptr %9333, align 4, !tbaa !14
  %9335 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %9336 = load float, ptr %9335, align 4, !tbaa !14
  %9337 = fadd float %9334, %9336
  %9338 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9337, ptr %9338, align 4, !tbaa !14
  %9339 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9340 = load float, ptr %9339, align 4, !tbaa !11
  %9341 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %9340, ptr %9341, align 4, !tbaa !11
  %9342 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9343 = load float, ptr %9342, align 4, !tbaa !14
  %9344 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %9343, ptr %9344, align 4, !tbaa !14
  %9345 = load i64, ptr %50, align 8, !tbaa !9
  %9346 = load i64, ptr %18, align 8, !tbaa !9
  %9347 = add nsw i64 %9345, %9346
  store i64 %9347, ptr %21, align 8, !tbaa !9
  %9348 = load i64, ptr %50, align 8, !tbaa !9
  %9349 = load i64, ptr %18, align 8, !tbaa !9
  %9350 = add nsw i64 %9348, %9349
  store i64 %9350, ptr %22, align 8, !tbaa !9
  %9351 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9352 = load float, ptr %9351, align 4, !tbaa !11
  %9353 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %9354 = load float, ptr %9353, align 4, !tbaa !11
  %9355 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9356 = load float, ptr %9355, align 4, !tbaa !14
  %9357 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %9358 = load float, ptr %9357, align 4, !tbaa !14
  %9359 = fmul float %9356, %9358
  %9360 = fneg float %9359
  %9361 = call float @llvm.fmuladd.f32(float %9352, float %9354, float %9360)
  %9362 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9361, ptr %9362, align 4, !tbaa !11
  %9363 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9364 = load float, ptr %9363, align 4, !tbaa !11
  %9365 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %9366 = load float, ptr %9365, align 4, !tbaa !14
  %9367 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9368 = load float, ptr %9367, align 4, !tbaa !14
  %9369 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %9370 = load float, ptr %9369, align 4, !tbaa !11
  %9371 = fmul float %9368, %9370
  %9372 = call float @llvm.fmuladd.f32(float %9364, float %9366, float %9371)
  %9373 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9372, ptr %9373, align 4, !tbaa !14
  %9374 = load ptr, ptr %15, align 8, !tbaa !5
  %9375 = load i64, ptr %22, align 8, !tbaa !9
  %9376 = getelementptr inbounds %struct.complex, ptr %9374, i64 %9375
  %9377 = getelementptr inbounds %struct.complex, ptr %9376, i32 0, i32 0
  %9378 = load float, ptr %9377, align 4, !tbaa !11
  %9379 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9380 = load float, ptr %9379, align 4, !tbaa !11
  %9381 = fsub float %9378, %9380
  %9382 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9381, ptr %9382, align 4, !tbaa !11
  %9383 = load ptr, ptr %15, align 8, !tbaa !5
  %9384 = load i64, ptr %22, align 8, !tbaa !9
  %9385 = getelementptr inbounds %struct.complex, ptr %9383, i64 %9384
  %9386 = getelementptr inbounds %struct.complex, ptr %9385, i32 0, i32 1
  %9387 = load float, ptr %9386, align 4, !tbaa !14
  %9388 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9389 = load float, ptr %9388, align 4, !tbaa !14
  %9390 = fsub float %9387, %9389
  %9391 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9390, ptr %9391, align 4, !tbaa !14
  %9392 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9393 = load float, ptr %9392, align 4, !tbaa !11
  %9394 = load ptr, ptr %15, align 8, !tbaa !5
  %9395 = load i64, ptr %21, align 8, !tbaa !9
  %9396 = getelementptr inbounds %struct.complex, ptr %9394, i64 %9395
  %9397 = getelementptr inbounds %struct.complex, ptr %9396, i32 0, i32 0
  store float %9393, ptr %9397, align 4, !tbaa !11
  %9398 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9399 = load float, ptr %9398, align 4, !tbaa !14
  %9400 = load ptr, ptr %15, align 8, !tbaa !5
  %9401 = load i64, ptr %21, align 8, !tbaa !9
  %9402 = getelementptr inbounds %struct.complex, ptr %9400, i64 %9401
  %9403 = getelementptr inbounds %struct.complex, ptr %9402, i32 0, i32 1
  store float %9399, ptr %9403, align 4, !tbaa !14
  %9404 = load i64, ptr %50, align 8, !tbaa !9
  %9405 = load i64, ptr %18, align 8, !tbaa !9
  %9406 = shl i64 %9405, 1
  %9407 = add nsw i64 %9404, %9406
  store i64 %9407, ptr %21, align 8, !tbaa !9
  %9408 = load i64, ptr %50, align 8, !tbaa !9
  %9409 = load i64, ptr %18, align 8, !tbaa !9
  %9410 = shl i64 %9409, 1
  %9411 = add nsw i64 %9408, %9410
  store i64 %9411, ptr %22, align 8, !tbaa !9
  %9412 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9413 = load float, ptr %9412, align 4, !tbaa !11
  %9414 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9415 = load float, ptr %9414, align 4, !tbaa !11
  %9416 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9417 = load float, ptr %9416, align 4, !tbaa !14
  %9418 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9419 = load float, ptr %9418, align 4, !tbaa !14
  %9420 = fmul float %9417, %9419
  %9421 = fneg float %9420
  %9422 = call float @llvm.fmuladd.f32(float %9413, float %9415, float %9421)
  %9423 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9422, ptr %9423, align 4, !tbaa !11
  %9424 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9425 = load float, ptr %9424, align 4, !tbaa !11
  %9426 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9427 = load float, ptr %9426, align 4, !tbaa !14
  %9428 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9429 = load float, ptr %9428, align 4, !tbaa !14
  %9430 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9431 = load float, ptr %9430, align 4, !tbaa !11
  %9432 = fmul float %9429, %9431
  %9433 = call float @llvm.fmuladd.f32(float %9425, float %9427, float %9432)
  %9434 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9433, ptr %9434, align 4, !tbaa !14
  %9435 = load ptr, ptr %15, align 8, !tbaa !5
  %9436 = load i64, ptr %22, align 8, !tbaa !9
  %9437 = getelementptr inbounds %struct.complex, ptr %9435, i64 %9436
  %9438 = getelementptr inbounds %struct.complex, ptr %9437, i32 0, i32 0
  %9439 = load float, ptr %9438, align 4, !tbaa !11
  %9440 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9441 = load float, ptr %9440, align 4, !tbaa !11
  %9442 = fsub float %9439, %9441
  %9443 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9442, ptr %9443, align 4, !tbaa !11
  %9444 = load ptr, ptr %15, align 8, !tbaa !5
  %9445 = load i64, ptr %22, align 8, !tbaa !9
  %9446 = getelementptr inbounds %struct.complex, ptr %9444, i64 %9445
  %9447 = getelementptr inbounds %struct.complex, ptr %9446, i32 0, i32 1
  %9448 = load float, ptr %9447, align 4, !tbaa !14
  %9449 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9450 = load float, ptr %9449, align 4, !tbaa !14
  %9451 = fsub float %9448, %9450
  %9452 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9451, ptr %9452, align 4, !tbaa !14
  %9453 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9454 = load float, ptr %9453, align 4, !tbaa !11
  %9455 = load ptr, ptr %15, align 8, !tbaa !5
  %9456 = load i64, ptr %21, align 8, !tbaa !9
  %9457 = getelementptr inbounds %struct.complex, ptr %9455, i64 %9456
  %9458 = getelementptr inbounds %struct.complex, ptr %9457, i32 0, i32 0
  store float %9454, ptr %9458, align 4, !tbaa !11
  %9459 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9460 = load float, ptr %9459, align 4, !tbaa !14
  %9461 = load ptr, ptr %15, align 8, !tbaa !5
  %9462 = load i64, ptr %21, align 8, !tbaa !9
  %9463 = getelementptr inbounds %struct.complex, ptr %9461, i64 %9462
  %9464 = getelementptr inbounds %struct.complex, ptr %9463, i32 0, i32 1
  store float %9460, ptr %9464, align 4, !tbaa !14
  %9465 = load i64, ptr %50, align 8, !tbaa !9
  %9466 = load i64, ptr %18, align 8, !tbaa !9
  %9467 = mul nsw i64 %9466, 3
  %9468 = add nsw i64 %9465, %9467
  store i64 %9468, ptr %21, align 8, !tbaa !9
  %9469 = load i64, ptr %50, align 8, !tbaa !9
  %9470 = load i64, ptr %18, align 8, !tbaa !9
  %9471 = mul nsw i64 %9470, 3
  %9472 = add nsw i64 %9469, %9471
  store i64 %9472, ptr %22, align 8, !tbaa !9
  %9473 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9474 = load float, ptr %9473, align 4, !tbaa !11
  %9475 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %9476 = load float, ptr %9475, align 4, !tbaa !11
  %9477 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9478 = load float, ptr %9477, align 4, !tbaa !14
  %9479 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %9480 = load float, ptr %9479, align 4, !tbaa !14
  %9481 = fmul float %9478, %9480
  %9482 = fneg float %9481
  %9483 = call float @llvm.fmuladd.f32(float %9474, float %9476, float %9482)
  %9484 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9483, ptr %9484, align 4, !tbaa !11
  %9485 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9486 = load float, ptr %9485, align 4, !tbaa !11
  %9487 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %9488 = load float, ptr %9487, align 4, !tbaa !14
  %9489 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9490 = load float, ptr %9489, align 4, !tbaa !14
  %9491 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %9492 = load float, ptr %9491, align 4, !tbaa !11
  %9493 = fmul float %9490, %9492
  %9494 = call float @llvm.fmuladd.f32(float %9486, float %9488, float %9493)
  %9495 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9494, ptr %9495, align 4, !tbaa !14
  %9496 = load ptr, ptr %15, align 8, !tbaa !5
  %9497 = load i64, ptr %22, align 8, !tbaa !9
  %9498 = getelementptr inbounds %struct.complex, ptr %9496, i64 %9497
  %9499 = getelementptr inbounds %struct.complex, ptr %9498, i32 0, i32 0
  %9500 = load float, ptr %9499, align 4, !tbaa !11
  %9501 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9502 = load float, ptr %9501, align 4, !tbaa !11
  %9503 = fsub float %9500, %9502
  %9504 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9503, ptr %9504, align 4, !tbaa !11
  %9505 = load ptr, ptr %15, align 8, !tbaa !5
  %9506 = load i64, ptr %22, align 8, !tbaa !9
  %9507 = getelementptr inbounds %struct.complex, ptr %9505, i64 %9506
  %9508 = getelementptr inbounds %struct.complex, ptr %9507, i32 0, i32 1
  %9509 = load float, ptr %9508, align 4, !tbaa !14
  %9510 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9511 = load float, ptr %9510, align 4, !tbaa !14
  %9512 = fsub float %9509, %9511
  %9513 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9512, ptr %9513, align 4, !tbaa !14
  %9514 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9515 = load float, ptr %9514, align 4, !tbaa !11
  %9516 = load ptr, ptr %15, align 8, !tbaa !5
  %9517 = load i64, ptr %21, align 8, !tbaa !9
  %9518 = getelementptr inbounds %struct.complex, ptr %9516, i64 %9517
  %9519 = getelementptr inbounds %struct.complex, ptr %9518, i32 0, i32 0
  store float %9515, ptr %9519, align 4, !tbaa !11
  %9520 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9521 = load float, ptr %9520, align 4, !tbaa !14
  %9522 = load ptr, ptr %15, align 8, !tbaa !5
  %9523 = load i64, ptr %21, align 8, !tbaa !9
  %9524 = getelementptr inbounds %struct.complex, ptr %9522, i64 %9523
  %9525 = getelementptr inbounds %struct.complex, ptr %9524, i32 0, i32 1
  store float %9521, ptr %9525, align 4, !tbaa !14
  br label %9526

9526:                                             ; preds = %9198
  %9527 = load i64, ptr %50, align 8, !tbaa !9
  %9528 = add nsw i64 %9527, 1
  store i64 %9528, ptr %50, align 8, !tbaa !9
  br label %9194, !llvm.loop !28

9529:                                             ; preds = %9194
  br label %17146

9530:                                             ; preds = %8589
  %9531 = load ptr, ptr %13, align 8, !tbaa !5
  %9532 = getelementptr inbounds %struct.complex, ptr %9531, i64 1
  %9533 = getelementptr inbounds %struct.complex, ptr %9532, i32 0, i32 0
  %9534 = load float, ptr %9533, align 4, !tbaa !11
  %9535 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %9534, ptr %9535, align 4, !tbaa !11
  %9536 = load ptr, ptr %13, align 8, !tbaa !5
  %9537 = getelementptr inbounds %struct.complex, ptr %9536, i64 1
  %9538 = getelementptr inbounds %struct.complex, ptr %9537, i32 0, i32 1
  %9539 = load float, ptr %9538, align 4, !tbaa !14
  %9540 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %9539, ptr %9540, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %9541 = load ptr, ptr %14, align 8, !tbaa !5
  %9542 = getelementptr inbounds %struct.complex, ptr %9541, i32 0, i32 0
  %9543 = load float, ptr %9542, align 4, !tbaa !11
  %9544 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9545 = load float, ptr %9544, align 4, !tbaa !11
  %9546 = load ptr, ptr %14, align 8, !tbaa !5
  %9547 = getelementptr inbounds %struct.complex, ptr %9546, i32 0, i32 1
  %9548 = load float, ptr %9547, align 4, !tbaa !14
  %9549 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9550 = load float, ptr %9549, align 4, !tbaa !14
  %9551 = fmul float %9548, %9550
  %9552 = fneg float %9551
  %9553 = call float @llvm.fmuladd.f32(float %9543, float %9545, float %9552)
  %9554 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9553, ptr %9554, align 4, !tbaa !11
  %9555 = load ptr, ptr %14, align 8, !tbaa !5
  %9556 = getelementptr inbounds %struct.complex, ptr %9555, i32 0, i32 0
  %9557 = load float, ptr %9556, align 4, !tbaa !11
  %9558 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9559 = load float, ptr %9558, align 4, !tbaa !14
  %9560 = load ptr, ptr %14, align 8, !tbaa !5
  %9561 = getelementptr inbounds %struct.complex, ptr %9560, i32 0, i32 1
  %9562 = load float, ptr %9561, align 4, !tbaa !14
  %9563 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9564 = load float, ptr %9563, align 4, !tbaa !11
  %9565 = fmul float %9562, %9564
  %9566 = call float @llvm.fmuladd.f32(float %9557, float %9559, float %9565)
  %9567 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9566, ptr %9567, align 4, !tbaa !14
  %9568 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9569 = load float, ptr %9568, align 4, !tbaa !11
  %9570 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %9569, ptr %9570, align 4, !tbaa !11
  %9571 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9572 = load float, ptr %9571, align 4, !tbaa !14
  %9573 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %9572, ptr %9573, align 4, !tbaa !14
  %9574 = load ptr, ptr %13, align 8, !tbaa !5
  %9575 = getelementptr inbounds %struct.complex, ptr %9574, i64 2
  %9576 = getelementptr inbounds %struct.complex, ptr %9575, i32 0, i32 0
  %9577 = load float, ptr %9576, align 4, !tbaa !11
  %9578 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %9577, ptr %9578, align 4, !tbaa !11
  %9579 = load ptr, ptr %13, align 8, !tbaa !5
  %9580 = getelementptr inbounds %struct.complex, ptr %9579, i64 2
  %9581 = getelementptr inbounds %struct.complex, ptr %9580, i32 0, i32 1
  %9582 = load float, ptr %9581, align 4, !tbaa !14
  %9583 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %9582, ptr %9583, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %9584 = load ptr, ptr %14, align 8, !tbaa !5
  %9585 = getelementptr inbounds %struct.complex, ptr %9584, i32 0, i32 0
  %9586 = load float, ptr %9585, align 4, !tbaa !11
  %9587 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9588 = load float, ptr %9587, align 4, !tbaa !11
  %9589 = load ptr, ptr %14, align 8, !tbaa !5
  %9590 = getelementptr inbounds %struct.complex, ptr %9589, i32 0, i32 1
  %9591 = load float, ptr %9590, align 4, !tbaa !14
  %9592 = getelementptr inbounds %struct.complex, ptr %32, 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 %9586, float %9588, float %9595)
  %9597 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9596, ptr %9597, align 4, !tbaa !11
  %9598 = load ptr, ptr %14, align 8, !tbaa !5
  %9599 = getelementptr inbounds %struct.complex, ptr %9598, i32 0, i32 0
  %9600 = load float, ptr %9599, align 4, !tbaa !11
  %9601 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9602 = load float, ptr %9601, align 4, !tbaa !14
  %9603 = load ptr, ptr %14, align 8, !tbaa !5
  %9604 = getelementptr inbounds %struct.complex, ptr %9603, i32 0, i32 1
  %9605 = load float, ptr %9604, align 4, !tbaa !14
  %9606 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9607 = load float, ptr %9606, align 4, !tbaa !11
  %9608 = fmul float %9605, %9607
  %9609 = call float @llvm.fmuladd.f32(float %9600, float %9602, float %9608)
  %9610 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9609, ptr %9610, align 4, !tbaa !14
  %9611 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9612 = load float, ptr %9611, align 4, !tbaa !11
  %9613 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %9612, ptr %9613, align 4, !tbaa !11
  %9614 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9615 = load float, ptr %9614, align 4, !tbaa !14
  %9616 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %9615, ptr %9616, align 4, !tbaa !14
  %9617 = load ptr, ptr %13, align 8, !tbaa !5
  %9618 = getelementptr inbounds %struct.complex, ptr %9617, i64 3
  %9619 = getelementptr inbounds %struct.complex, ptr %9618, i32 0, i32 0
  %9620 = load float, ptr %9619, align 4, !tbaa !11
  %9621 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %9620, ptr %9621, align 4, !tbaa !11
  %9622 = load ptr, ptr %13, align 8, !tbaa !5
  %9623 = getelementptr inbounds %struct.complex, ptr %9622, i64 3
  %9624 = getelementptr inbounds %struct.complex, ptr %9623, i32 0, i32 1
  %9625 = load float, ptr %9624, align 4, !tbaa !14
  %9626 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %9625, ptr %9626, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %9627 = load ptr, ptr %14, align 8, !tbaa !5
  %9628 = getelementptr inbounds %struct.complex, ptr %9627, i32 0, i32 0
  %9629 = load float, ptr %9628, align 4, !tbaa !11
  %9630 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9631 = load float, ptr %9630, align 4, !tbaa !11
  %9632 = load ptr, ptr %14, align 8, !tbaa !5
  %9633 = getelementptr inbounds %struct.complex, ptr %9632, i32 0, i32 1
  %9634 = load float, ptr %9633, align 4, !tbaa !14
  %9635 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9636 = load float, ptr %9635, align 4, !tbaa !14
  %9637 = fmul float %9634, %9636
  %9638 = fneg float %9637
  %9639 = call float @llvm.fmuladd.f32(float %9629, float %9631, float %9638)
  %9640 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9639, ptr %9640, align 4, !tbaa !11
  %9641 = load ptr, ptr %14, align 8, !tbaa !5
  %9642 = getelementptr inbounds %struct.complex, ptr %9641, i32 0, i32 0
  %9643 = load float, ptr %9642, align 4, !tbaa !11
  %9644 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9645 = load float, ptr %9644, align 4, !tbaa !14
  %9646 = load ptr, ptr %14, align 8, !tbaa !5
  %9647 = getelementptr inbounds %struct.complex, ptr %9646, i32 0, i32 1
  %9648 = load float, ptr %9647, align 4, !tbaa !14
  %9649 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9650 = load float, ptr %9649, align 4, !tbaa !11
  %9651 = fmul float %9648, %9650
  %9652 = call float @llvm.fmuladd.f32(float %9643, float %9645, float %9651)
  %9653 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9652, ptr %9653, align 4, !tbaa !14
  %9654 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9655 = load float, ptr %9654, align 4, !tbaa !11
  %9656 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %9655, ptr %9656, align 4, !tbaa !11
  %9657 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9658 = load float, ptr %9657, align 4, !tbaa !14
  %9659 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %9658, ptr %9659, align 4, !tbaa !14
  %9660 = load ptr, ptr %13, align 8, !tbaa !5
  %9661 = getelementptr inbounds %struct.complex, ptr %9660, i64 4
  %9662 = getelementptr inbounds %struct.complex, ptr %9661, i32 0, i32 0
  %9663 = load float, ptr %9662, align 4, !tbaa !11
  %9664 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %9663, ptr %9664, align 4, !tbaa !11
  %9665 = load ptr, ptr %13, align 8, !tbaa !5
  %9666 = getelementptr inbounds %struct.complex, ptr %9665, i64 4
  %9667 = getelementptr inbounds %struct.complex, ptr %9666, i32 0, i32 1
  %9668 = load float, ptr %9667, align 4, !tbaa !14
  %9669 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %9668, ptr %9669, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %9670 = load ptr, ptr %14, align 8, !tbaa !5
  %9671 = getelementptr inbounds %struct.complex, ptr %9670, i32 0, i32 0
  %9672 = load float, ptr %9671, align 4, !tbaa !11
  %9673 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9674 = load float, ptr %9673, align 4, !tbaa !11
  %9675 = load ptr, ptr %14, align 8, !tbaa !5
  %9676 = getelementptr inbounds %struct.complex, ptr %9675, i32 0, i32 1
  %9677 = load float, ptr %9676, align 4, !tbaa !14
  %9678 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9679 = load float, ptr %9678, align 4, !tbaa !14
  %9680 = fmul float %9677, %9679
  %9681 = fneg float %9680
  %9682 = call float @llvm.fmuladd.f32(float %9672, float %9674, float %9681)
  %9683 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9682, ptr %9683, align 4, !tbaa !11
  %9684 = load ptr, ptr %14, align 8, !tbaa !5
  %9685 = getelementptr inbounds %struct.complex, ptr %9684, i32 0, i32 0
  %9686 = load float, ptr %9685, align 4, !tbaa !11
  %9687 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9688 = load float, ptr %9687, align 4, !tbaa !14
  %9689 = load ptr, ptr %14, align 8, !tbaa !5
  %9690 = getelementptr inbounds %struct.complex, ptr %9689, i32 0, i32 1
  %9691 = load float, ptr %9690, align 4, !tbaa !14
  %9692 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9693 = load float, ptr %9692, align 4, !tbaa !11
  %9694 = fmul float %9691, %9693
  %9695 = call float @llvm.fmuladd.f32(float %9686, float %9688, float %9694)
  %9696 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9695, ptr %9696, align 4, !tbaa !14
  %9697 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9698 = load float, ptr %9697, align 4, !tbaa !11
  %9699 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %9698, ptr %9699, align 4, !tbaa !11
  %9700 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9701 = load float, ptr %9700, align 4, !tbaa !14
  %9702 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %9701, ptr %9702, align 4, !tbaa !14
  %9703 = load ptr, ptr %11, align 8, !tbaa !5
  %9704 = load i64, ptr %9703, align 8, !tbaa !9
  store i64 %9704, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %9705

9705:                                             ; preds = %10149, %9530
  %9706 = load i64, ptr %50, align 8, !tbaa !9
  %9707 = load i64, ptr %20, align 8, !tbaa !9
  %9708 = icmp sle i64 %9706, %9707
  br i1 %9708, label %9709, label %10152

9709:                                             ; preds = %9705
  %9710 = load i64, ptr %50, align 8, !tbaa !9
  %9711 = load i64, ptr %18, align 8, !tbaa !9
  %9712 = add nsw i64 %9710, %9711
  store i64 %9712, ptr %21, align 8, !tbaa !9
  %9713 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %9714 = load float, ptr %9713, align 4, !tbaa !11
  %9715 = load ptr, ptr %15, align 8, !tbaa !5
  %9716 = load i64, ptr %21, align 8, !tbaa !9
  %9717 = getelementptr inbounds %struct.complex, ptr %9715, i64 %9716
  %9718 = getelementptr inbounds %struct.complex, ptr %9717, i32 0, i32 0
  %9719 = load float, ptr %9718, align 4, !tbaa !11
  %9720 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %9721 = load float, ptr %9720, align 4, !tbaa !14
  %9722 = load ptr, ptr %15, align 8, !tbaa !5
  %9723 = load i64, ptr %21, align 8, !tbaa !9
  %9724 = getelementptr inbounds %struct.complex, ptr %9722, i64 %9723
  %9725 = getelementptr inbounds %struct.complex, ptr %9724, i32 0, i32 1
  %9726 = load float, ptr %9725, align 4, !tbaa !14
  %9727 = fmul float %9721, %9726
  %9728 = fneg float %9727
  %9729 = call float @llvm.fmuladd.f32(float %9714, float %9719, float %9728)
  %9730 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %9729, ptr %9730, align 4, !tbaa !11
  %9731 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %9732 = load float, ptr %9731, align 4, !tbaa !11
  %9733 = load ptr, ptr %15, align 8, !tbaa !5
  %9734 = load i64, ptr %21, align 8, !tbaa !9
  %9735 = getelementptr inbounds %struct.complex, ptr %9733, i64 %9734
  %9736 = getelementptr inbounds %struct.complex, ptr %9735, i32 0, i32 1
  %9737 = load float, ptr %9736, align 4, !tbaa !14
  %9738 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %9739 = load float, ptr %9738, align 4, !tbaa !14
  %9740 = load ptr, ptr %15, align 8, !tbaa !5
  %9741 = load i64, ptr %21, align 8, !tbaa !9
  %9742 = getelementptr inbounds %struct.complex, ptr %9740, i64 %9741
  %9743 = getelementptr inbounds %struct.complex, ptr %9742, i32 0, i32 0
  %9744 = load float, ptr %9743, align 4, !tbaa !11
  %9745 = fmul float %9739, %9744
  %9746 = call float @llvm.fmuladd.f32(float %9732, float %9737, float %9745)
  %9747 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %9746, ptr %9747, align 4, !tbaa !14
  %9748 = load i64, ptr %50, align 8, !tbaa !9
  %9749 = load i64, ptr %18, align 8, !tbaa !9
  %9750 = shl i64 %9749, 1
  %9751 = add nsw i64 %9748, %9750
  store i64 %9751, ptr %22, align 8, !tbaa !9
  %9752 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %9753 = load float, ptr %9752, align 4, !tbaa !11
  %9754 = load ptr, ptr %15, align 8, !tbaa !5
  %9755 = load i64, ptr %22, align 8, !tbaa !9
  %9756 = getelementptr inbounds %struct.complex, ptr %9754, i64 %9755
  %9757 = getelementptr inbounds %struct.complex, ptr %9756, i32 0, i32 0
  %9758 = load float, ptr %9757, align 4, !tbaa !11
  %9759 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %9760 = load float, ptr %9759, align 4, !tbaa !14
  %9761 = load ptr, ptr %15, align 8, !tbaa !5
  %9762 = load i64, ptr %22, align 8, !tbaa !9
  %9763 = getelementptr inbounds %struct.complex, ptr %9761, i64 %9762
  %9764 = getelementptr inbounds %struct.complex, ptr %9763, i32 0, i32 1
  %9765 = load float, ptr %9764, align 4, !tbaa !14
  %9766 = fmul float %9760, %9765
  %9767 = fneg float %9766
  %9768 = call float @llvm.fmuladd.f32(float %9753, float %9758, float %9767)
  %9769 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %9768, ptr %9769, align 4, !tbaa !11
  %9770 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %9771 = load float, ptr %9770, align 4, !tbaa !11
  %9772 = load ptr, ptr %15, align 8, !tbaa !5
  %9773 = load i64, ptr %22, align 8, !tbaa !9
  %9774 = getelementptr inbounds %struct.complex, ptr %9772, i64 %9773
  %9775 = getelementptr inbounds %struct.complex, ptr %9774, i32 0, i32 1
  %9776 = load float, ptr %9775, align 4, !tbaa !14
  %9777 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %9778 = load float, ptr %9777, align 4, !tbaa !14
  %9779 = load ptr, ptr %15, align 8, !tbaa !5
  %9780 = load i64, ptr %22, align 8, !tbaa !9
  %9781 = getelementptr inbounds %struct.complex, ptr %9779, i64 %9780
  %9782 = getelementptr inbounds %struct.complex, ptr %9781, i32 0, i32 0
  %9783 = load float, ptr %9782, align 4, !tbaa !11
  %9784 = fmul float %9778, %9783
  %9785 = call float @llvm.fmuladd.f32(float %9771, float %9776, float %9784)
  %9786 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %9785, ptr %9786, align 4, !tbaa !14
  %9787 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %9788 = load float, ptr %9787, align 4, !tbaa !11
  %9789 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %9790 = load float, ptr %9789, align 4, !tbaa !11
  %9791 = fadd float %9788, %9790
  %9792 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %9791, ptr %9792, align 4, !tbaa !11
  %9793 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %9794 = load float, ptr %9793, align 4, !tbaa !14
  %9795 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %9796 = load float, ptr %9795, align 4, !tbaa !14
  %9797 = fadd float %9794, %9796
  %9798 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %9797, ptr %9798, align 4, !tbaa !14
  %9799 = load i64, ptr %50, align 8, !tbaa !9
  %9800 = load i64, ptr %18, align 8, !tbaa !9
  %9801 = mul nsw i64 %9800, 3
  %9802 = add nsw i64 %9799, %9801
  store i64 %9802, ptr %23, align 8, !tbaa !9
  %9803 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %9804 = load float, ptr %9803, align 4, !tbaa !11
  %9805 = load ptr, ptr %15, align 8, !tbaa !5
  %9806 = load i64, ptr %23, align 8, !tbaa !9
  %9807 = getelementptr inbounds %struct.complex, ptr %9805, 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 %62, i32 0, i32 1
  %9811 = load float, ptr %9810, align 4, !tbaa !14
  %9812 = load ptr, ptr %15, align 8, !tbaa !5
  %9813 = load i64, ptr %23, align 8, !tbaa !9
  %9814 = getelementptr inbounds %struct.complex, ptr %9812, i64 %9813
  %9815 = getelementptr inbounds %struct.complex, ptr %9814, i32 0, i32 1
  %9816 = load float, ptr %9815, align 4, !tbaa !14
  %9817 = fmul float %9811, %9816
  %9818 = fneg float %9817
  %9819 = call float @llvm.fmuladd.f32(float %9804, float %9809, float %9818)
  %9820 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %9819, ptr %9820, align 4, !tbaa !11
  %9821 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %9822 = load float, ptr %9821, align 4, !tbaa !11
  %9823 = load ptr, ptr %15, align 8, !tbaa !5
  %9824 = load i64, ptr %23, align 8, !tbaa !9
  %9825 = getelementptr inbounds %struct.complex, ptr %9823, i64 %9824
  %9826 = getelementptr inbounds %struct.complex, ptr %9825, i32 0, i32 1
  %9827 = load float, ptr %9826, align 4, !tbaa !14
  %9828 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %9829 = load float, ptr %9828, align 4, !tbaa !14
  %9830 = load ptr, ptr %15, align 8, !tbaa !5
  %9831 = load i64, ptr %23, align 8, !tbaa !9
  %9832 = getelementptr inbounds %struct.complex, ptr %9830, i64 %9831
  %9833 = getelementptr inbounds %struct.complex, ptr %9832, i32 0, i32 0
  %9834 = load float, ptr %9833, align 4, !tbaa !11
  %9835 = fmul float %9829, %9834
  %9836 = call float @llvm.fmuladd.f32(float %9822, float %9827, float %9835)
  %9837 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %9836, ptr %9837, align 4, !tbaa !14
  %9838 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %9839 = load float, ptr %9838, align 4, !tbaa !11
  %9840 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %9841 = load float, ptr %9840, align 4, !tbaa !11
  %9842 = fadd float %9839, %9841
  %9843 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9842, ptr %9843, align 4, !tbaa !11
  %9844 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %9845 = load float, ptr %9844, align 4, !tbaa !14
  %9846 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %9847 = load float, ptr %9846, align 4, !tbaa !14
  %9848 = fadd float %9845, %9847
  %9849 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9848, ptr %9849, align 4, !tbaa !14
  %9850 = load i64, ptr %50, align 8, !tbaa !9
  %9851 = load i64, ptr %18, align 8, !tbaa !9
  %9852 = shl i64 %9851, 2
  %9853 = add nsw i64 %9850, %9852
  store i64 %9853, ptr %24, align 8, !tbaa !9
  %9854 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %9855 = load float, ptr %9854, align 4, !tbaa !11
  %9856 = load ptr, ptr %15, align 8, !tbaa !5
  %9857 = load i64, ptr %24, align 8, !tbaa !9
  %9858 = getelementptr inbounds %struct.complex, ptr %9856, i64 %9857
  %9859 = getelementptr inbounds %struct.complex, ptr %9858, i32 0, i32 0
  %9860 = load float, ptr %9859, align 4, !tbaa !11
  %9861 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %9862 = load float, ptr %9861, align 4, !tbaa !14
  %9863 = load ptr, ptr %15, align 8, !tbaa !5
  %9864 = load i64, ptr %24, align 8, !tbaa !9
  %9865 = getelementptr inbounds %struct.complex, ptr %9863, i64 %9864
  %9866 = getelementptr inbounds %struct.complex, ptr %9865, i32 0, i32 1
  %9867 = load float, ptr %9866, align 4, !tbaa !14
  %9868 = fmul float %9862, %9867
  %9869 = fneg float %9868
  %9870 = call float @llvm.fmuladd.f32(float %9855, float %9860, float %9869)
  %9871 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %9870, ptr %9871, align 4, !tbaa !11
  %9872 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %9873 = load float, ptr %9872, align 4, !tbaa !11
  %9874 = load ptr, ptr %15, align 8, !tbaa !5
  %9875 = load i64, ptr %24, align 8, !tbaa !9
  %9876 = getelementptr inbounds %struct.complex, ptr %9874, i64 %9875
  %9877 = getelementptr inbounds %struct.complex, ptr %9876, i32 0, i32 1
  %9878 = load float, ptr %9877, align 4, !tbaa !14
  %9879 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %9880 = load float, ptr %9879, align 4, !tbaa !14
  %9881 = load ptr, ptr %15, align 8, !tbaa !5
  %9882 = load i64, ptr %24, align 8, !tbaa !9
  %9883 = getelementptr inbounds %struct.complex, ptr %9881, i64 %9882
  %9884 = getelementptr inbounds %struct.complex, ptr %9883, i32 0, i32 0
  %9885 = load float, ptr %9884, align 4, !tbaa !11
  %9886 = fmul float %9880, %9885
  %9887 = call float @llvm.fmuladd.f32(float %9873, float %9878, float %9886)
  %9888 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %9887, ptr %9888, align 4, !tbaa !14
  %9889 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9890 = load float, ptr %9889, align 4, !tbaa !11
  %9891 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %9892 = load float, ptr %9891, align 4, !tbaa !11
  %9893 = fadd float %9890, %9892
  %9894 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9893, ptr %9894, align 4, !tbaa !11
  %9895 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %9896 = load float, ptr %9895, align 4, !tbaa !14
  %9897 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %9898 = load float, ptr %9897, align 4, !tbaa !14
  %9899 = fadd float %9896, %9898
  %9900 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9899, ptr %9900, align 4, !tbaa !14
  %9901 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9902 = load float, ptr %9901, align 4, !tbaa !11
  %9903 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %9902, ptr %9903, align 4, !tbaa !11
  %9904 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9905 = load float, ptr %9904, align 4, !tbaa !14
  %9906 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %9905, ptr %9906, align 4, !tbaa !14
  %9907 = load i64, ptr %50, align 8, !tbaa !9
  %9908 = load i64, ptr %18, align 8, !tbaa !9
  %9909 = add nsw i64 %9907, %9908
  store i64 %9909, ptr %21, align 8, !tbaa !9
  %9910 = load i64, ptr %50, align 8, !tbaa !9
  %9911 = load i64, ptr %18, align 8, !tbaa !9
  %9912 = add nsw i64 %9910, %9911
  store i64 %9912, ptr %22, align 8, !tbaa !9
  %9913 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9914 = load float, ptr %9913, align 4, !tbaa !11
  %9915 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %9916 = load float, ptr %9915, align 4, !tbaa !11
  %9917 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9918 = load float, ptr %9917, align 4, !tbaa !14
  %9919 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %9920 = load float, ptr %9919, align 4, !tbaa !14
  %9921 = fmul float %9918, %9920
  %9922 = fneg float %9921
  %9923 = call float @llvm.fmuladd.f32(float %9914, float %9916, float %9922)
  %9924 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9923, ptr %9924, align 4, !tbaa !11
  %9925 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9926 = load float, ptr %9925, align 4, !tbaa !11
  %9927 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %9928 = load float, ptr %9927, align 4, !tbaa !14
  %9929 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9930 = load float, ptr %9929, align 4, !tbaa !14
  %9931 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %9932 = load float, ptr %9931, align 4, !tbaa !11
  %9933 = fmul float %9930, %9932
  %9934 = call float @llvm.fmuladd.f32(float %9926, float %9928, float %9933)
  %9935 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9934, ptr %9935, align 4, !tbaa !14
  %9936 = load ptr, ptr %15, align 8, !tbaa !5
  %9937 = load i64, ptr %22, align 8, !tbaa !9
  %9938 = getelementptr inbounds %struct.complex, ptr %9936, i64 %9937
  %9939 = getelementptr inbounds %struct.complex, ptr %9938, i32 0, i32 0
  %9940 = load float, ptr %9939, align 4, !tbaa !11
  %9941 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %9942 = load float, ptr %9941, align 4, !tbaa !11
  %9943 = fsub float %9940, %9942
  %9944 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %9943, ptr %9944, align 4, !tbaa !11
  %9945 = load ptr, ptr %15, align 8, !tbaa !5
  %9946 = load i64, ptr %22, align 8, !tbaa !9
  %9947 = getelementptr inbounds %struct.complex, ptr %9945, 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 %32, i32 0, i32 1
  %9951 = load float, ptr %9950, align 4, !tbaa !14
  %9952 = fsub float %9949, %9951
  %9953 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %9952, ptr %9953, align 4, !tbaa !14
  %9954 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %9955 = load float, ptr %9954, align 4, !tbaa !11
  %9956 = load ptr, ptr %15, align 8, !tbaa !5
  %9957 = load i64, ptr %21, align 8, !tbaa !9
  %9958 = getelementptr inbounds %struct.complex, ptr %9956, i64 %9957
  %9959 = getelementptr inbounds %struct.complex, ptr %9958, i32 0, i32 0
  store float %9955, ptr %9959, align 4, !tbaa !11
  %9960 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %9961 = load float, ptr %9960, align 4, !tbaa !14
  %9962 = load ptr, ptr %15, align 8, !tbaa !5
  %9963 = load i64, ptr %21, align 8, !tbaa !9
  %9964 = getelementptr inbounds %struct.complex, ptr %9962, i64 %9963
  %9965 = getelementptr inbounds %struct.complex, ptr %9964, i32 0, i32 1
  store float %9961, ptr %9965, align 4, !tbaa !14
  %9966 = load i64, ptr %50, align 8, !tbaa !9
  %9967 = load i64, ptr %18, align 8, !tbaa !9
  %9968 = shl i64 %9967, 1
  %9969 = add nsw i64 %9966, %9968
  store i64 %9969, ptr %21, align 8, !tbaa !9
  %9970 = load i64, ptr %50, align 8, !tbaa !9
  %9971 = load i64, ptr %18, align 8, !tbaa !9
  %9972 = shl i64 %9971, 1
  %9973 = add nsw i64 %9970, %9972
  store i64 %9973, ptr %22, align 8, !tbaa !9
  %9974 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9975 = load float, ptr %9974, align 4, !tbaa !11
  %9976 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9977 = load float, ptr %9976, align 4, !tbaa !11
  %9978 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9979 = load float, ptr %9978, align 4, !tbaa !14
  %9980 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9981 = load float, ptr %9980, align 4, !tbaa !14
  %9982 = fmul float %9979, %9981
  %9983 = fneg float %9982
  %9984 = call float @llvm.fmuladd.f32(float %9975, float %9977, float %9983)
  %9985 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %9984, ptr %9985, align 4, !tbaa !11
  %9986 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %9987 = load float, ptr %9986, align 4, !tbaa !11
  %9988 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %9989 = load float, ptr %9988, align 4, !tbaa !14
  %9990 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %9991 = load float, ptr %9990, align 4, !tbaa !14
  %9992 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %9993 = load float, ptr %9992, align 4, !tbaa !11
  %9994 = fmul float %9991, %9993
  %9995 = call float @llvm.fmuladd.f32(float %9987, float %9989, float %9994)
  %9996 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %9995, ptr %9996, align 4, !tbaa !14
  %9997 = load ptr, ptr %15, align 8, !tbaa !5
  %9998 = load i64, ptr %22, align 8, !tbaa !9
  %9999 = getelementptr inbounds %struct.complex, ptr %9997, i64 %9998
  %10000 = getelementptr inbounds %struct.complex, ptr %9999, i32 0, i32 0
  %10001 = load float, ptr %10000, align 4, !tbaa !11
  %10002 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10003 = load float, ptr %10002, align 4, !tbaa !11
  %10004 = fsub float %10001, %10003
  %10005 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10004, ptr %10005, align 4, !tbaa !11
  %10006 = load ptr, ptr %15, align 8, !tbaa !5
  %10007 = load i64, ptr %22, align 8, !tbaa !9
  %10008 = getelementptr inbounds %struct.complex, ptr %10006, i64 %10007
  %10009 = getelementptr inbounds %struct.complex, ptr %10008, i32 0, i32 1
  %10010 = load float, ptr %10009, align 4, !tbaa !14
  %10011 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10012 = load float, ptr %10011, align 4, !tbaa !14
  %10013 = fsub float %10010, %10012
  %10014 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10013, ptr %10014, align 4, !tbaa !14
  %10015 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10016 = load float, ptr %10015, align 4, !tbaa !11
  %10017 = load ptr, ptr %15, align 8, !tbaa !5
  %10018 = load i64, ptr %21, align 8, !tbaa !9
  %10019 = getelementptr inbounds %struct.complex, ptr %10017, i64 %10018
  %10020 = getelementptr inbounds %struct.complex, ptr %10019, i32 0, i32 0
  store float %10016, ptr %10020, align 4, !tbaa !11
  %10021 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10022 = load float, ptr %10021, align 4, !tbaa !14
  %10023 = load ptr, ptr %15, align 8, !tbaa !5
  %10024 = load i64, ptr %21, align 8, !tbaa !9
  %10025 = getelementptr inbounds %struct.complex, ptr %10023, i64 %10024
  %10026 = getelementptr inbounds %struct.complex, ptr %10025, i32 0, i32 1
  store float %10022, ptr %10026, align 4, !tbaa !14
  %10027 = load i64, ptr %50, align 8, !tbaa !9
  %10028 = load i64, ptr %18, align 8, !tbaa !9
  %10029 = mul nsw i64 %10028, 3
  %10030 = add nsw i64 %10027, %10029
  store i64 %10030, ptr %21, align 8, !tbaa !9
  %10031 = load i64, ptr %50, align 8, !tbaa !9
  %10032 = load i64, ptr %18, align 8, !tbaa !9
  %10033 = mul nsw i64 %10032, 3
  %10034 = add nsw i64 %10031, %10033
  store i64 %10034, ptr %22, align 8, !tbaa !9
  %10035 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10036 = load float, ptr %10035, align 4, !tbaa !11
  %10037 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %10038 = load float, ptr %10037, align 4, !tbaa !11
  %10039 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10040 = load float, ptr %10039, align 4, !tbaa !14
  %10041 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %10042 = load float, ptr %10041, align 4, !tbaa !14
  %10043 = fmul float %10040, %10042
  %10044 = fneg float %10043
  %10045 = call float @llvm.fmuladd.f32(float %10036, float %10038, float %10044)
  %10046 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10045, ptr %10046, align 4, !tbaa !11
  %10047 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10048 = load float, ptr %10047, align 4, !tbaa !11
  %10049 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %10050 = load float, ptr %10049, align 4, !tbaa !14
  %10051 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10052 = load float, ptr %10051, align 4, !tbaa !14
  %10053 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %10054 = load float, ptr %10053, align 4, !tbaa !11
  %10055 = fmul float %10052, %10054
  %10056 = call float @llvm.fmuladd.f32(float %10048, float %10050, float %10055)
  %10057 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10056, ptr %10057, align 4, !tbaa !14
  %10058 = load ptr, ptr %15, align 8, !tbaa !5
  %10059 = load i64, ptr %22, align 8, !tbaa !9
  %10060 = getelementptr inbounds %struct.complex, ptr %10058, i64 %10059
  %10061 = getelementptr inbounds %struct.complex, ptr %10060, i32 0, i32 0
  %10062 = load float, ptr %10061, align 4, !tbaa !11
  %10063 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10064 = load float, ptr %10063, align 4, !tbaa !11
  %10065 = fsub float %10062, %10064
  %10066 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10065, ptr %10066, align 4, !tbaa !11
  %10067 = load ptr, ptr %15, align 8, !tbaa !5
  %10068 = load i64, ptr %22, align 8, !tbaa !9
  %10069 = getelementptr inbounds %struct.complex, ptr %10067, i64 %10068
  %10070 = getelementptr inbounds %struct.complex, ptr %10069, i32 0, i32 1
  %10071 = load float, ptr %10070, align 4, !tbaa !14
  %10072 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10073 = load float, ptr %10072, align 4, !tbaa !14
  %10074 = fsub float %10071, %10073
  %10075 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10074, ptr %10075, align 4, !tbaa !14
  %10076 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10077 = load float, ptr %10076, align 4, !tbaa !11
  %10078 = load ptr, ptr %15, align 8, !tbaa !5
  %10079 = load i64, ptr %21, align 8, !tbaa !9
  %10080 = getelementptr inbounds %struct.complex, ptr %10078, i64 %10079
  %10081 = getelementptr inbounds %struct.complex, ptr %10080, i32 0, i32 0
  store float %10077, ptr %10081, align 4, !tbaa !11
  %10082 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10083 = load float, ptr %10082, align 4, !tbaa !14
  %10084 = load ptr, ptr %15, align 8, !tbaa !5
  %10085 = load i64, ptr %21, align 8, !tbaa !9
  %10086 = getelementptr inbounds %struct.complex, ptr %10084, i64 %10085
  %10087 = getelementptr inbounds %struct.complex, ptr %10086, i32 0, i32 1
  store float %10083, ptr %10087, align 4, !tbaa !14
  %10088 = load i64, ptr %50, align 8, !tbaa !9
  %10089 = load i64, ptr %18, align 8, !tbaa !9
  %10090 = shl i64 %10089, 2
  %10091 = add nsw i64 %10088, %10090
  store i64 %10091, ptr %21, align 8, !tbaa !9
  %10092 = load i64, ptr %50, align 8, !tbaa !9
  %10093 = load i64, ptr %18, align 8, !tbaa !9
  %10094 = shl i64 %10093, 2
  %10095 = add nsw i64 %10092, %10094
  store i64 %10095, ptr %22, align 8, !tbaa !9
  %10096 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10097 = load float, ptr %10096, align 4, !tbaa !11
  %10098 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %10099 = load float, ptr %10098, align 4, !tbaa !11
  %10100 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10101 = load float, ptr %10100, align 4, !tbaa !14
  %10102 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %10103 = load float, ptr %10102, align 4, !tbaa !14
  %10104 = fmul float %10101, %10103
  %10105 = fneg float %10104
  %10106 = call float @llvm.fmuladd.f32(float %10097, float %10099, float %10105)
  %10107 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10106, ptr %10107, align 4, !tbaa !11
  %10108 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10109 = load float, ptr %10108, align 4, !tbaa !11
  %10110 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %10111 = load float, ptr %10110, align 4, !tbaa !14
  %10112 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10113 = load float, ptr %10112, align 4, !tbaa !14
  %10114 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %10115 = load float, ptr %10114, align 4, !tbaa !11
  %10116 = fmul float %10113, %10115
  %10117 = call float @llvm.fmuladd.f32(float %10109, float %10111, float %10116)
  %10118 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10117, ptr %10118, align 4, !tbaa !14
  %10119 = load ptr, ptr %15, align 8, !tbaa !5
  %10120 = load i64, ptr %22, align 8, !tbaa !9
  %10121 = getelementptr inbounds %struct.complex, ptr %10119, i64 %10120
  %10122 = getelementptr inbounds %struct.complex, ptr %10121, i32 0, i32 0
  %10123 = load float, ptr %10122, align 4, !tbaa !11
  %10124 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10125 = load float, ptr %10124, align 4, !tbaa !11
  %10126 = fsub float %10123, %10125
  %10127 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10126, ptr %10127, align 4, !tbaa !11
  %10128 = load ptr, ptr %15, align 8, !tbaa !5
  %10129 = load i64, ptr %22, align 8, !tbaa !9
  %10130 = getelementptr inbounds %struct.complex, ptr %10128, i64 %10129
  %10131 = getelementptr inbounds %struct.complex, ptr %10130, i32 0, i32 1
  %10132 = load float, ptr %10131, align 4, !tbaa !14
  %10133 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10134 = load float, ptr %10133, align 4, !tbaa !14
  %10135 = fsub float %10132, %10134
  %10136 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10135, ptr %10136, align 4, !tbaa !14
  %10137 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10138 = load float, ptr %10137, align 4, !tbaa !11
  %10139 = load ptr, ptr %15, align 8, !tbaa !5
  %10140 = load i64, ptr %21, align 8, !tbaa !9
  %10141 = getelementptr inbounds %struct.complex, ptr %10139, i64 %10140
  %10142 = getelementptr inbounds %struct.complex, ptr %10141, i32 0, i32 0
  store float %10138, ptr %10142, align 4, !tbaa !11
  %10143 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10144 = load float, ptr %10143, align 4, !tbaa !14
  %10145 = load ptr, ptr %15, align 8, !tbaa !5
  %10146 = load i64, ptr %21, align 8, !tbaa !9
  %10147 = getelementptr inbounds %struct.complex, ptr %10145, i64 %10146
  %10148 = getelementptr inbounds %struct.complex, ptr %10147, i32 0, i32 1
  store float %10144, ptr %10148, align 4, !tbaa !14
  br label %10149

10149:                                            ; preds = %9709
  %10150 = load i64, ptr %50, align 8, !tbaa !9
  %10151 = add nsw i64 %10150, 1
  store i64 %10151, ptr %50, align 8, !tbaa !9
  br label %9705, !llvm.loop !29

10152:                                            ; preds = %9705
  br label %17146

10153:                                            ; preds = %8590
  %10154 = load ptr, ptr %13, align 8, !tbaa !5
  %10155 = getelementptr inbounds %struct.complex, ptr %10154, i64 1
  %10156 = getelementptr inbounds %struct.complex, ptr %10155, i32 0, i32 0
  %10157 = load float, ptr %10156, align 4, !tbaa !11
  %10158 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %10157, ptr %10158, align 4, !tbaa !11
  %10159 = load ptr, ptr %13, align 8, !tbaa !5
  %10160 = getelementptr inbounds %struct.complex, ptr %10159, i64 1
  %10161 = getelementptr inbounds %struct.complex, ptr %10160, i32 0, i32 1
  %10162 = load float, ptr %10161, align 4, !tbaa !14
  %10163 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %10162, ptr %10163, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %10164 = load ptr, ptr %14, align 8, !tbaa !5
  %10165 = getelementptr inbounds %struct.complex, ptr %10164, i32 0, i32 0
  %10166 = load float, ptr %10165, align 4, !tbaa !11
  %10167 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10168 = load float, ptr %10167, align 4, !tbaa !11
  %10169 = load ptr, ptr %14, align 8, !tbaa !5
  %10170 = getelementptr inbounds %struct.complex, ptr %10169, i32 0, i32 1
  %10171 = load float, ptr %10170, align 4, !tbaa !14
  %10172 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10173 = load float, ptr %10172, align 4, !tbaa !14
  %10174 = fmul float %10171, %10173
  %10175 = fneg float %10174
  %10176 = call float @llvm.fmuladd.f32(float %10166, float %10168, float %10175)
  %10177 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10176, ptr %10177, align 4, !tbaa !11
  %10178 = load ptr, ptr %14, align 8, !tbaa !5
  %10179 = getelementptr inbounds %struct.complex, ptr %10178, i32 0, i32 0
  %10180 = load float, ptr %10179, align 4, !tbaa !11
  %10181 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10182 = load float, ptr %10181, align 4, !tbaa !14
  %10183 = load ptr, ptr %14, align 8, !tbaa !5
  %10184 = getelementptr inbounds %struct.complex, ptr %10183, i32 0, i32 1
  %10185 = load float, ptr %10184, align 4, !tbaa !14
  %10186 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10187 = load float, ptr %10186, align 4, !tbaa !11
  %10188 = fmul float %10185, %10187
  %10189 = call float @llvm.fmuladd.f32(float %10180, float %10182, float %10188)
  %10190 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10189, ptr %10190, align 4, !tbaa !14
  %10191 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10192 = load float, ptr %10191, align 4, !tbaa !11
  %10193 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %10192, ptr %10193, align 4, !tbaa !11
  %10194 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10195 = load float, ptr %10194, align 4, !tbaa !14
  %10196 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %10195, ptr %10196, align 4, !tbaa !14
  %10197 = load ptr, ptr %13, align 8, !tbaa !5
  %10198 = getelementptr inbounds %struct.complex, ptr %10197, i64 2
  %10199 = getelementptr inbounds %struct.complex, ptr %10198, i32 0, i32 0
  %10200 = load float, ptr %10199, align 4, !tbaa !11
  %10201 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %10200, ptr %10201, align 4, !tbaa !11
  %10202 = load ptr, ptr %13, align 8, !tbaa !5
  %10203 = getelementptr inbounds %struct.complex, ptr %10202, i64 2
  %10204 = getelementptr inbounds %struct.complex, ptr %10203, i32 0, i32 1
  %10205 = load float, ptr %10204, align 4, !tbaa !14
  %10206 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %10205, ptr %10206, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %10207 = load ptr, ptr %14, align 8, !tbaa !5
  %10208 = getelementptr inbounds %struct.complex, ptr %10207, i32 0, i32 0
  %10209 = load float, ptr %10208, align 4, !tbaa !11
  %10210 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10211 = load float, ptr %10210, align 4, !tbaa !11
  %10212 = load ptr, ptr %14, align 8, !tbaa !5
  %10213 = getelementptr inbounds %struct.complex, ptr %10212, i32 0, i32 1
  %10214 = load float, ptr %10213, align 4, !tbaa !14
  %10215 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10216 = load float, ptr %10215, align 4, !tbaa !14
  %10217 = fmul float %10214, %10216
  %10218 = fneg float %10217
  %10219 = call float @llvm.fmuladd.f32(float %10209, float %10211, float %10218)
  %10220 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10219, ptr %10220, align 4, !tbaa !11
  %10221 = load ptr, ptr %14, align 8, !tbaa !5
  %10222 = getelementptr inbounds %struct.complex, ptr %10221, i32 0, i32 0
  %10223 = load float, ptr %10222, align 4, !tbaa !11
  %10224 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10225 = load float, ptr %10224, align 4, !tbaa !14
  %10226 = load ptr, ptr %14, align 8, !tbaa !5
  %10227 = getelementptr inbounds %struct.complex, ptr %10226, i32 0, i32 1
  %10228 = load float, ptr %10227, align 4, !tbaa !14
  %10229 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10230 = load float, ptr %10229, align 4, !tbaa !11
  %10231 = fmul float %10228, %10230
  %10232 = call float @llvm.fmuladd.f32(float %10223, float %10225, float %10231)
  %10233 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10232, ptr %10233, align 4, !tbaa !14
  %10234 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10235 = load float, ptr %10234, align 4, !tbaa !11
  %10236 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %10235, ptr %10236, align 4, !tbaa !11
  %10237 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10238 = load float, ptr %10237, align 4, !tbaa !14
  %10239 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %10238, ptr %10239, align 4, !tbaa !14
  %10240 = load ptr, ptr %13, align 8, !tbaa !5
  %10241 = getelementptr inbounds %struct.complex, ptr %10240, i64 3
  %10242 = getelementptr inbounds %struct.complex, ptr %10241, i32 0, i32 0
  %10243 = load float, ptr %10242, align 4, !tbaa !11
  %10244 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %10243, ptr %10244, align 4, !tbaa !11
  %10245 = load ptr, ptr %13, align 8, !tbaa !5
  %10246 = getelementptr inbounds %struct.complex, ptr %10245, i64 3
  %10247 = getelementptr inbounds %struct.complex, ptr %10246, i32 0, i32 1
  %10248 = load float, ptr %10247, align 4, !tbaa !14
  %10249 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %10248, ptr %10249, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %10250 = load ptr, ptr %14, align 8, !tbaa !5
  %10251 = getelementptr inbounds %struct.complex, ptr %10250, i32 0, i32 0
  %10252 = load float, ptr %10251, 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 = load ptr, ptr %14, align 8, !tbaa !5
  %10256 = getelementptr inbounds %struct.complex, ptr %10255, i32 0, i32 1
  %10257 = load float, ptr %10256, align 4, !tbaa !14
  %10258 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10259 = load float, ptr %10258, align 4, !tbaa !14
  %10260 = fmul float %10257, %10259
  %10261 = fneg float %10260
  %10262 = call float @llvm.fmuladd.f32(float %10252, float %10254, float %10261)
  %10263 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10262, ptr %10263, align 4, !tbaa !11
  %10264 = load ptr, ptr %14, align 8, !tbaa !5
  %10265 = getelementptr inbounds %struct.complex, ptr %10264, i32 0, i32 0
  %10266 = load float, ptr %10265, align 4, !tbaa !11
  %10267 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10268 = load float, ptr %10267, align 4, !tbaa !14
  %10269 = load ptr, ptr %14, align 8, !tbaa !5
  %10270 = getelementptr inbounds %struct.complex, ptr %10269, i32 0, i32 1
  %10271 = load float, ptr %10270, align 4, !tbaa !14
  %10272 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10273 = load float, ptr %10272, align 4, !tbaa !11
  %10274 = fmul float %10271, %10273
  %10275 = call float @llvm.fmuladd.f32(float %10266, float %10268, float %10274)
  %10276 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10275, ptr %10276, align 4, !tbaa !14
  %10277 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10278 = load float, ptr %10277, align 4, !tbaa !11
  %10279 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %10278, ptr %10279, align 4, !tbaa !11
  %10280 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10281 = load float, ptr %10280, align 4, !tbaa !14
  %10282 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %10281, ptr %10282, align 4, !tbaa !14
  %10283 = load ptr, ptr %13, align 8, !tbaa !5
  %10284 = getelementptr inbounds %struct.complex, ptr %10283, i64 4
  %10285 = getelementptr inbounds %struct.complex, ptr %10284, i32 0, i32 0
  %10286 = load float, ptr %10285, align 4, !tbaa !11
  %10287 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %10286, ptr %10287, align 4, !tbaa !11
  %10288 = load ptr, ptr %13, align 8, !tbaa !5
  %10289 = getelementptr inbounds %struct.complex, ptr %10288, i64 4
  %10290 = getelementptr inbounds %struct.complex, ptr %10289, i32 0, i32 1
  %10291 = load float, ptr %10290, align 4, !tbaa !14
  %10292 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %10291, ptr %10292, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %10293 = load ptr, ptr %14, align 8, !tbaa !5
  %10294 = getelementptr inbounds %struct.complex, ptr %10293, i32 0, i32 0
  %10295 = load float, ptr %10294, align 4, !tbaa !11
  %10296 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10297 = load float, ptr %10296, align 4, !tbaa !11
  %10298 = load ptr, ptr %14, align 8, !tbaa !5
  %10299 = getelementptr inbounds %struct.complex, ptr %10298, i32 0, i32 1
  %10300 = load float, ptr %10299, align 4, !tbaa !14
  %10301 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10302 = load float, ptr %10301, align 4, !tbaa !14
  %10303 = fmul float %10300, %10302
  %10304 = fneg float %10303
  %10305 = call float @llvm.fmuladd.f32(float %10295, float %10297, float %10304)
  %10306 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10305, ptr %10306, align 4, !tbaa !11
  %10307 = load ptr, ptr %14, align 8, !tbaa !5
  %10308 = getelementptr inbounds %struct.complex, ptr %10307, i32 0, i32 0
  %10309 = load float, ptr %10308, align 4, !tbaa !11
  %10310 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10311 = load float, ptr %10310, align 4, !tbaa !14
  %10312 = load ptr, ptr %14, align 8, !tbaa !5
  %10313 = getelementptr inbounds %struct.complex, ptr %10312, i32 0, i32 1
  %10314 = load float, ptr %10313, align 4, !tbaa !14
  %10315 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10316 = load float, ptr %10315, align 4, !tbaa !11
  %10317 = fmul float %10314, %10316
  %10318 = call float @llvm.fmuladd.f32(float %10309, float %10311, float %10317)
  %10319 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10318, ptr %10319, align 4, !tbaa !14
  %10320 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10321 = load float, ptr %10320, align 4, !tbaa !11
  %10322 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %10321, ptr %10322, align 4, !tbaa !11
  %10323 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10324 = load float, ptr %10323, align 4, !tbaa !14
  %10325 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %10324, ptr %10325, align 4, !tbaa !14
  %10326 = load ptr, ptr %13, align 8, !tbaa !5
  %10327 = getelementptr inbounds %struct.complex, ptr %10326, i64 5
  %10328 = getelementptr inbounds %struct.complex, ptr %10327, i32 0, i32 0
  %10329 = load float, ptr %10328, align 4, !tbaa !11
  %10330 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %10329, ptr %10330, align 4, !tbaa !11
  %10331 = load ptr, ptr %13, align 8, !tbaa !5
  %10332 = getelementptr inbounds %struct.complex, ptr %10331, i64 5
  %10333 = getelementptr inbounds %struct.complex, ptr %10332, i32 0, i32 1
  %10334 = load float, ptr %10333, align 4, !tbaa !14
  %10335 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %10334, ptr %10335, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %10336 = load ptr, ptr %14, align 8, !tbaa !5
  %10337 = getelementptr inbounds %struct.complex, ptr %10336, i32 0, i32 0
  %10338 = load float, ptr %10337, align 4, !tbaa !11
  %10339 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10340 = load float, ptr %10339, align 4, !tbaa !11
  %10341 = load ptr, ptr %14, align 8, !tbaa !5
  %10342 = getelementptr inbounds %struct.complex, ptr %10341, i32 0, i32 1
  %10343 = load float, ptr %10342, align 4, !tbaa !14
  %10344 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10345 = load float, ptr %10344, align 4, !tbaa !14
  %10346 = fmul float %10343, %10345
  %10347 = fneg float %10346
  %10348 = call float @llvm.fmuladd.f32(float %10338, float %10340, float %10347)
  %10349 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10348, ptr %10349, align 4, !tbaa !11
  %10350 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 1
  %10354 = load float, ptr %10353, align 4, !tbaa !14
  %10355 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 0
  %10359 = load float, ptr %10358, align 4, !tbaa !11
  %10360 = fmul float %10357, %10359
  %10361 = call float @llvm.fmuladd.f32(float %10352, float %10354, float %10360)
  %10362 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10361, ptr %10362, align 4, !tbaa !14
  %10363 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10364 = load float, ptr %10363, align 4, !tbaa !11
  %10365 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %10364, ptr %10365, align 4, !tbaa !11
  %10366 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10367 = load float, ptr %10366, align 4, !tbaa !14
  %10368 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %10367, ptr %10368, align 4, !tbaa !14
  %10369 = load ptr, ptr %11, align 8, !tbaa !5
  %10370 = load i64, ptr %10369, align 8, !tbaa !9
  store i64 %10370, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %10371

10371:                                            ; preds = %10927, %10153
  %10372 = load i64, ptr %50, align 8, !tbaa !9
  %10373 = load i64, ptr %20, align 8, !tbaa !9
  %10374 = icmp sle i64 %10372, %10373
  br i1 %10374, label %10375, label %10930

10375:                                            ; preds = %10371
  %10376 = load i64, ptr %50, align 8, !tbaa !9
  %10377 = load i64, ptr %18, align 8, !tbaa !9
  %10378 = add nsw i64 %10376, %10377
  store i64 %10378, ptr %21, align 8, !tbaa !9
  %10379 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %10380 = load float, ptr %10379, align 4, !tbaa !11
  %10381 = load ptr, ptr %15, align 8, !tbaa !5
  %10382 = load i64, ptr %21, align 8, !tbaa !9
  %10383 = getelementptr inbounds %struct.complex, ptr %10381, i64 %10382
  %10384 = getelementptr inbounds %struct.complex, ptr %10383, i32 0, i32 0
  %10385 = load float, ptr %10384, align 4, !tbaa !11
  %10386 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %10387 = load float, ptr %10386, align 4, !tbaa !14
  %10388 = load ptr, ptr %15, align 8, !tbaa !5
  %10389 = load i64, ptr %21, align 8, !tbaa !9
  %10390 = getelementptr inbounds %struct.complex, ptr %10388, i64 %10389
  %10391 = getelementptr inbounds %struct.complex, ptr %10390, i32 0, i32 1
  %10392 = load float, ptr %10391, align 4, !tbaa !14
  %10393 = fmul float %10387, %10392
  %10394 = fneg float %10393
  %10395 = call float @llvm.fmuladd.f32(float %10380, float %10385, float %10394)
  %10396 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %10395, ptr %10396, align 4, !tbaa !11
  %10397 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %10398 = load float, ptr %10397, align 4, !tbaa !11
  %10399 = load ptr, ptr %15, align 8, !tbaa !5
  %10400 = load i64, ptr %21, align 8, !tbaa !9
  %10401 = getelementptr inbounds %struct.complex, ptr %10399, i64 %10400
  %10402 = getelementptr inbounds %struct.complex, ptr %10401, i32 0, i32 1
  %10403 = load float, ptr %10402, align 4, !tbaa !14
  %10404 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %10405 = load float, ptr %10404, align 4, !tbaa !14
  %10406 = load ptr, ptr %15, align 8, !tbaa !5
  %10407 = load i64, ptr %21, align 8, !tbaa !9
  %10408 = getelementptr inbounds %struct.complex, ptr %10406, i64 %10407
  %10409 = getelementptr inbounds %struct.complex, ptr %10408, i32 0, i32 0
  %10410 = load float, ptr %10409, align 4, !tbaa !11
  %10411 = fmul float %10405, %10410
  %10412 = call float @llvm.fmuladd.f32(float %10398, float %10403, float %10411)
  %10413 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %10412, ptr %10413, align 4, !tbaa !14
  %10414 = load i64, ptr %50, align 8, !tbaa !9
  %10415 = load i64, ptr %18, align 8, !tbaa !9
  %10416 = shl i64 %10415, 1
  %10417 = add nsw i64 %10414, %10416
  store i64 %10417, ptr %22, align 8, !tbaa !9
  %10418 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %10419 = load float, ptr %10418, align 4, !tbaa !11
  %10420 = load ptr, ptr %15, align 8, !tbaa !5
  %10421 = load i64, ptr %22, align 8, !tbaa !9
  %10422 = getelementptr inbounds %struct.complex, ptr %10420, i64 %10421
  %10423 = getelementptr inbounds %struct.complex, ptr %10422, i32 0, i32 0
  %10424 = load float, ptr %10423, align 4, !tbaa !11
  %10425 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %10426 = load float, ptr %10425, align 4, !tbaa !14
  %10427 = load ptr, ptr %15, align 8, !tbaa !5
  %10428 = load i64, ptr %22, align 8, !tbaa !9
  %10429 = getelementptr inbounds %struct.complex, ptr %10427, i64 %10428
  %10430 = getelementptr inbounds %struct.complex, ptr %10429, i32 0, i32 1
  %10431 = load float, ptr %10430, align 4, !tbaa !14
  %10432 = fmul float %10426, %10431
  %10433 = fneg float %10432
  %10434 = call float @llvm.fmuladd.f32(float %10419, float %10424, float %10433)
  %10435 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %10434, ptr %10435, align 4, !tbaa !11
  %10436 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %10437 = load float, ptr %10436, align 4, !tbaa !11
  %10438 = load ptr, ptr %15, align 8, !tbaa !5
  %10439 = load i64, ptr %22, align 8, !tbaa !9
  %10440 = getelementptr inbounds %struct.complex, ptr %10438, i64 %10439
  %10441 = getelementptr inbounds %struct.complex, ptr %10440, i32 0, i32 1
  %10442 = load float, ptr %10441, align 4, !tbaa !14
  %10443 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %10444 = load float, ptr %10443, align 4, !tbaa !14
  %10445 = load ptr, ptr %15, align 8, !tbaa !5
  %10446 = load i64, ptr %22, align 8, !tbaa !9
  %10447 = getelementptr inbounds %struct.complex, ptr %10445, i64 %10446
  %10448 = getelementptr inbounds %struct.complex, ptr %10447, i32 0, i32 0
  %10449 = load float, ptr %10448, align 4, !tbaa !11
  %10450 = fmul float %10444, %10449
  %10451 = call float @llvm.fmuladd.f32(float %10437, float %10442, float %10450)
  %10452 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %10451, ptr %10452, align 4, !tbaa !14
  %10453 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %10454 = load float, ptr %10453, align 4, !tbaa !11
  %10455 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %10456 = load float, ptr %10455, align 4, !tbaa !11
  %10457 = fadd float %10454, %10456
  %10458 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %10457, ptr %10458, align 4, !tbaa !11
  %10459 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %10460 = load float, ptr %10459, align 4, !tbaa !14
  %10461 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %10462 = load float, ptr %10461, align 4, !tbaa !14
  %10463 = fadd float %10460, %10462
  %10464 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %10463, ptr %10464, align 4, !tbaa !14
  %10465 = load i64, ptr %50, align 8, !tbaa !9
  %10466 = load i64, ptr %18, align 8, !tbaa !9
  %10467 = mul nsw i64 %10466, 3
  %10468 = add nsw i64 %10465, %10467
  store i64 %10468, ptr %23, align 8, !tbaa !9
  %10469 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %10470 = load float, ptr %10469, align 4, !tbaa !11
  %10471 = load ptr, ptr %15, align 8, !tbaa !5
  %10472 = load i64, ptr %23, align 8, !tbaa !9
  %10473 = getelementptr inbounds %struct.complex, ptr %10471, i64 %10472
  %10474 = getelementptr inbounds %struct.complex, ptr %10473, i32 0, i32 0
  %10475 = load float, ptr %10474, align 4, !tbaa !11
  %10476 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %10477 = load float, ptr %10476, align 4, !tbaa !14
  %10478 = load ptr, ptr %15, align 8, !tbaa !5
  %10479 = load i64, ptr %23, align 8, !tbaa !9
  %10480 = getelementptr inbounds %struct.complex, ptr %10478, i64 %10479
  %10481 = getelementptr inbounds %struct.complex, ptr %10480, i32 0, i32 1
  %10482 = load float, ptr %10481, align 4, !tbaa !14
  %10483 = fmul float %10477, %10482
  %10484 = fneg float %10483
  %10485 = call float @llvm.fmuladd.f32(float %10470, float %10475, float %10484)
  %10486 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %10485, ptr %10486, align 4, !tbaa !11
  %10487 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %10488 = load float, ptr %10487, align 4, !tbaa !11
  %10489 = load ptr, ptr %15, align 8, !tbaa !5
  %10490 = load i64, ptr %23, align 8, !tbaa !9
  %10491 = getelementptr inbounds %struct.complex, ptr %10489, i64 %10490
  %10492 = getelementptr inbounds %struct.complex, ptr %10491, i32 0, i32 1
  %10493 = load float, ptr %10492, align 4, !tbaa !14
  %10494 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %10495 = load float, ptr %10494, align 4, !tbaa !14
  %10496 = load ptr, ptr %15, align 8, !tbaa !5
  %10497 = load i64, ptr %23, align 8, !tbaa !9
  %10498 = getelementptr inbounds %struct.complex, ptr %10496, i64 %10497
  %10499 = getelementptr inbounds %struct.complex, ptr %10498, i32 0, i32 0
  %10500 = load float, ptr %10499, align 4, !tbaa !11
  %10501 = fmul float %10495, %10500
  %10502 = call float @llvm.fmuladd.f32(float %10488, float %10493, float %10501)
  %10503 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %10502, ptr %10503, align 4, !tbaa !14
  %10504 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %10505 = load float, ptr %10504, align 4, !tbaa !11
  %10506 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %10507 = load float, ptr %10506, align 4, !tbaa !11
  %10508 = fadd float %10505, %10507
  %10509 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %10508, ptr %10509, align 4, !tbaa !11
  %10510 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %10511 = load float, ptr %10510, align 4, !tbaa !14
  %10512 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %10513 = load float, ptr %10512, align 4, !tbaa !14
  %10514 = fadd float %10511, %10513
  %10515 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %10514, ptr %10515, align 4, !tbaa !14
  %10516 = load i64, ptr %50, align 8, !tbaa !9
  %10517 = load i64, ptr %18, align 8, !tbaa !9
  %10518 = shl i64 %10517, 2
  %10519 = add nsw i64 %10516, %10518
  store i64 %10519, ptr %24, align 8, !tbaa !9
  %10520 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %10521 = load float, ptr %10520, align 4, !tbaa !11
  %10522 = load ptr, ptr %15, align 8, !tbaa !5
  %10523 = load i64, ptr %24, align 8, !tbaa !9
  %10524 = getelementptr inbounds %struct.complex, ptr %10522, i64 %10523
  %10525 = getelementptr inbounds %struct.complex, ptr %10524, i32 0, i32 0
  %10526 = load float, ptr %10525, align 4, !tbaa !11
  %10527 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %10528 = load float, ptr %10527, align 4, !tbaa !14
  %10529 = load ptr, ptr %15, align 8, !tbaa !5
  %10530 = load i64, ptr %24, align 8, !tbaa !9
  %10531 = getelementptr inbounds %struct.complex, ptr %10529, i64 %10530
  %10532 = getelementptr inbounds %struct.complex, ptr %10531, i32 0, i32 1
  %10533 = load float, ptr %10532, align 4, !tbaa !14
  %10534 = fmul float %10528, %10533
  %10535 = fneg float %10534
  %10536 = call float @llvm.fmuladd.f32(float %10521, float %10526, float %10535)
  %10537 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %10536, ptr %10537, align 4, !tbaa !11
  %10538 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %10539 = load float, ptr %10538, align 4, !tbaa !11
  %10540 = load ptr, ptr %15, align 8, !tbaa !5
  %10541 = load i64, ptr %24, align 8, !tbaa !9
  %10542 = getelementptr inbounds %struct.complex, ptr %10540, i64 %10541
  %10543 = getelementptr inbounds %struct.complex, ptr %10542, i32 0, i32 1
  %10544 = load float, ptr %10543, align 4, !tbaa !14
  %10545 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %10546 = load float, ptr %10545, align 4, !tbaa !14
  %10547 = load ptr, ptr %15, align 8, !tbaa !5
  %10548 = load i64, ptr %24, align 8, !tbaa !9
  %10549 = getelementptr inbounds %struct.complex, ptr %10547, i64 %10548
  %10550 = getelementptr inbounds %struct.complex, ptr %10549, i32 0, i32 0
  %10551 = load float, ptr %10550, align 4, !tbaa !11
  %10552 = fmul float %10546, %10551
  %10553 = call float @llvm.fmuladd.f32(float %10539, float %10544, float %10552)
  %10554 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %10553, ptr %10554, align 4, !tbaa !14
  %10555 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %10556 = load float, ptr %10555, align 4, !tbaa !11
  %10557 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %10558 = load float, ptr %10557, align 4, !tbaa !11
  %10559 = fadd float %10556, %10558
  %10560 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10559, ptr %10560, align 4, !tbaa !11
  %10561 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %10562 = load float, ptr %10561, align 4, !tbaa !14
  %10563 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %10564 = load float, ptr %10563, align 4, !tbaa !14
  %10565 = fadd float %10562, %10564
  %10566 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10565, ptr %10566, align 4, !tbaa !14
  %10567 = load i64, ptr %50, align 8, !tbaa !9
  %10568 = load i64, ptr %18, align 8, !tbaa !9
  %10569 = mul nsw i64 %10568, 5
  %10570 = add nsw i64 %10567, %10569
  store i64 %10570, ptr %25, align 8, !tbaa !9
  %10571 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %10572 = load float, ptr %10571, align 4, !tbaa !11
  %10573 = load ptr, ptr %15, align 8, !tbaa !5
  %10574 = load i64, ptr %25, align 8, !tbaa !9
  %10575 = getelementptr inbounds %struct.complex, ptr %10573, i64 %10574
  %10576 = getelementptr inbounds %struct.complex, ptr %10575, i32 0, i32 0
  %10577 = load float, ptr %10576, align 4, !tbaa !11
  %10578 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %10579 = load float, ptr %10578, align 4, !tbaa !14
  %10580 = load ptr, ptr %15, align 8, !tbaa !5
  %10581 = load i64, ptr %25, align 8, !tbaa !9
  %10582 = getelementptr inbounds %struct.complex, ptr %10580, i64 %10581
  %10583 = getelementptr inbounds %struct.complex, ptr %10582, i32 0, i32 1
  %10584 = load float, ptr %10583, align 4, !tbaa !14
  %10585 = fmul float %10579, %10584
  %10586 = fneg float %10585
  %10587 = call float @llvm.fmuladd.f32(float %10572, float %10577, float %10586)
  %10588 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %10587, ptr %10588, align 4, !tbaa !11
  %10589 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %10590 = load float, ptr %10589, align 4, !tbaa !11
  %10591 = load ptr, ptr %15, align 8, !tbaa !5
  %10592 = load i64, ptr %25, align 8, !tbaa !9
  %10593 = getelementptr inbounds %struct.complex, ptr %10591, i64 %10592
  %10594 = getelementptr inbounds %struct.complex, ptr %10593, i32 0, i32 1
  %10595 = load float, ptr %10594, align 4, !tbaa !14
  %10596 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %10597 = load float, ptr %10596, align 4, !tbaa !14
  %10598 = load ptr, ptr %15, align 8, !tbaa !5
  %10599 = load i64, ptr %25, align 8, !tbaa !9
  %10600 = getelementptr inbounds %struct.complex, ptr %10598, i64 %10599
  %10601 = getelementptr inbounds %struct.complex, ptr %10600, i32 0, i32 0
  %10602 = load float, ptr %10601, align 4, !tbaa !11
  %10603 = fmul float %10597, %10602
  %10604 = call float @llvm.fmuladd.f32(float %10590, float %10595, float %10603)
  %10605 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %10604, ptr %10605, align 4, !tbaa !14
  %10606 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10607 = load float, ptr %10606, align 4, !tbaa !11
  %10608 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %10609 = load float, ptr %10608, align 4, !tbaa !11
  %10610 = fadd float %10607, %10609
  %10611 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10610, ptr %10611, align 4, !tbaa !11
  %10612 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10613 = load float, ptr %10612, align 4, !tbaa !14
  %10614 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %10615 = load float, ptr %10614, align 4, !tbaa !14
  %10616 = fadd float %10613, %10615
  %10617 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10616, ptr %10617, align 4, !tbaa !14
  %10618 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10619 = load float, ptr %10618, align 4, !tbaa !11
  %10620 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %10619, ptr %10620, align 4, !tbaa !11
  %10621 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10622 = load float, ptr %10621, align 4, !tbaa !14
  %10623 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %10622, ptr %10623, align 4, !tbaa !14
  %10624 = load i64, ptr %50, align 8, !tbaa !9
  %10625 = load i64, ptr %18, align 8, !tbaa !9
  %10626 = add nsw i64 %10624, %10625
  store i64 %10626, ptr %21, align 8, !tbaa !9
  %10627 = load i64, ptr %50, align 8, !tbaa !9
  %10628 = load i64, ptr %18, align 8, !tbaa !9
  %10629 = add nsw i64 %10627, %10628
  store i64 %10629, ptr %22, align 8, !tbaa !9
  %10630 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10631 = load float, ptr %10630, align 4, !tbaa !11
  %10632 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %10633 = load float, ptr %10632, align 4, !tbaa !11
  %10634 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10635 = load float, ptr %10634, align 4, !tbaa !14
  %10636 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %10637 = load float, ptr %10636, align 4, !tbaa !14
  %10638 = fmul float %10635, %10637
  %10639 = fneg float %10638
  %10640 = call float @llvm.fmuladd.f32(float %10631, float %10633, float %10639)
  %10641 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10640, ptr %10641, align 4, !tbaa !11
  %10642 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10643 = load float, ptr %10642, align 4, !tbaa !11
  %10644 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %10645 = load float, ptr %10644, align 4, !tbaa !14
  %10646 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10647 = load float, ptr %10646, align 4, !tbaa !14
  %10648 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %10649 = load float, ptr %10648, align 4, !tbaa !11
  %10650 = fmul float %10647, %10649
  %10651 = call float @llvm.fmuladd.f32(float %10643, float %10645, float %10650)
  %10652 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10651, ptr %10652, align 4, !tbaa !14
  %10653 = load ptr, ptr %15, align 8, !tbaa !5
  %10654 = load i64, ptr %22, align 8, !tbaa !9
  %10655 = getelementptr inbounds %struct.complex, ptr %10653, i64 %10654
  %10656 = getelementptr inbounds %struct.complex, ptr %10655, i32 0, i32 0
  %10657 = load float, ptr %10656, align 4, !tbaa !11
  %10658 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10659 = load float, ptr %10658, align 4, !tbaa !11
  %10660 = fsub float %10657, %10659
  %10661 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10660, ptr %10661, align 4, !tbaa !11
  %10662 = load ptr, ptr %15, align 8, !tbaa !5
  %10663 = load i64, ptr %22, align 8, !tbaa !9
  %10664 = getelementptr inbounds %struct.complex, ptr %10662, i64 %10663
  %10665 = getelementptr inbounds %struct.complex, ptr %10664, i32 0, i32 1
  %10666 = load float, ptr %10665, align 4, !tbaa !14
  %10667 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10668 = load float, ptr %10667, align 4, !tbaa !14
  %10669 = fsub float %10666, %10668
  %10670 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10669, ptr %10670, align 4, !tbaa !14
  %10671 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10672 = load float, ptr %10671, align 4, !tbaa !11
  %10673 = load ptr, ptr %15, align 8, !tbaa !5
  %10674 = load i64, ptr %21, align 8, !tbaa !9
  %10675 = getelementptr inbounds %struct.complex, ptr %10673, i64 %10674
  %10676 = getelementptr inbounds %struct.complex, ptr %10675, i32 0, i32 0
  store float %10672, ptr %10676, align 4, !tbaa !11
  %10677 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10678 = load float, ptr %10677, align 4, !tbaa !14
  %10679 = load ptr, ptr %15, align 8, !tbaa !5
  %10680 = load i64, ptr %21, align 8, !tbaa !9
  %10681 = getelementptr inbounds %struct.complex, ptr %10679, i64 %10680
  %10682 = getelementptr inbounds %struct.complex, ptr %10681, i32 0, i32 1
  store float %10678, ptr %10682, align 4, !tbaa !14
  %10683 = load i64, ptr %50, align 8, !tbaa !9
  %10684 = load i64, ptr %18, align 8, !tbaa !9
  %10685 = shl i64 %10684, 1
  %10686 = add nsw i64 %10683, %10685
  store i64 %10686, ptr %21, align 8, !tbaa !9
  %10687 = load i64, ptr %50, align 8, !tbaa !9
  %10688 = load i64, ptr %18, align 8, !tbaa !9
  %10689 = shl i64 %10688, 1
  %10690 = add nsw i64 %10687, %10689
  store i64 %10690, ptr %22, align 8, !tbaa !9
  %10691 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10692 = load float, ptr %10691, align 4, !tbaa !11
  %10693 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %10694 = load float, ptr %10693, align 4, !tbaa !11
  %10695 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10696 = load float, ptr %10695, align 4, !tbaa !14
  %10697 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %10698 = load float, ptr %10697, align 4, !tbaa !14
  %10699 = fmul float %10696, %10698
  %10700 = fneg float %10699
  %10701 = call float @llvm.fmuladd.f32(float %10692, float %10694, float %10700)
  %10702 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10701, ptr %10702, align 4, !tbaa !11
  %10703 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10704 = load float, ptr %10703, align 4, !tbaa !11
  %10705 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %10706 = load float, ptr %10705, align 4, !tbaa !14
  %10707 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10708 = load float, ptr %10707, align 4, !tbaa !14
  %10709 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %10710 = load float, ptr %10709, align 4, !tbaa !11
  %10711 = fmul float %10708, %10710
  %10712 = call float @llvm.fmuladd.f32(float %10704, float %10706, float %10711)
  %10713 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10712, ptr %10713, align 4, !tbaa !14
  %10714 = load ptr, ptr %15, align 8, !tbaa !5
  %10715 = load i64, ptr %22, align 8, !tbaa !9
  %10716 = getelementptr inbounds %struct.complex, ptr %10714, i64 %10715
  %10717 = getelementptr inbounds %struct.complex, ptr %10716, i32 0, i32 0
  %10718 = load float, ptr %10717, align 4, !tbaa !11
  %10719 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10720 = load float, ptr %10719, align 4, !tbaa !11
  %10721 = fsub float %10718, %10720
  %10722 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10721, ptr %10722, align 4, !tbaa !11
  %10723 = load ptr, ptr %15, align 8, !tbaa !5
  %10724 = load i64, ptr %22, align 8, !tbaa !9
  %10725 = getelementptr inbounds %struct.complex, ptr %10723, i64 %10724
  %10726 = getelementptr inbounds %struct.complex, ptr %10725, i32 0, i32 1
  %10727 = load float, ptr %10726, align 4, !tbaa !14
  %10728 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10729 = load float, ptr %10728, align 4, !tbaa !14
  %10730 = fsub float %10727, %10729
  %10731 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10730, ptr %10731, align 4, !tbaa !14
  %10732 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10733 = load float, ptr %10732, align 4, !tbaa !11
  %10734 = load ptr, ptr %15, align 8, !tbaa !5
  %10735 = load i64, ptr %21, align 8, !tbaa !9
  %10736 = getelementptr inbounds %struct.complex, ptr %10734, i64 %10735
  %10737 = getelementptr inbounds %struct.complex, ptr %10736, i32 0, i32 0
  store float %10733, ptr %10737, align 4, !tbaa !11
  %10738 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10739 = load float, ptr %10738, align 4, !tbaa !14
  %10740 = load ptr, ptr %15, align 8, !tbaa !5
  %10741 = load i64, ptr %21, align 8, !tbaa !9
  %10742 = getelementptr inbounds %struct.complex, ptr %10740, i64 %10741
  %10743 = getelementptr inbounds %struct.complex, ptr %10742, i32 0, i32 1
  store float %10739, ptr %10743, align 4, !tbaa !14
  %10744 = load i64, ptr %50, align 8, !tbaa !9
  %10745 = load i64, ptr %18, align 8, !tbaa !9
  %10746 = mul nsw i64 %10745, 3
  %10747 = add nsw i64 %10744, %10746
  store i64 %10747, ptr %21, align 8, !tbaa !9
  %10748 = load i64, ptr %50, align 8, !tbaa !9
  %10749 = load i64, ptr %18, align 8, !tbaa !9
  %10750 = mul nsw i64 %10749, 3
  %10751 = add nsw i64 %10748, %10750
  store i64 %10751, ptr %22, align 8, !tbaa !9
  %10752 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10753 = load float, ptr %10752, align 4, !tbaa !11
  %10754 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %10755 = load float, ptr %10754, align 4, !tbaa !11
  %10756 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10757 = load float, ptr %10756, align 4, !tbaa !14
  %10758 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %10759 = load float, ptr %10758, align 4, !tbaa !14
  %10760 = fmul float %10757, %10759
  %10761 = fneg float %10760
  %10762 = call float @llvm.fmuladd.f32(float %10753, float %10755, float %10761)
  %10763 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10762, ptr %10763, align 4, !tbaa !11
  %10764 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10765 = load float, ptr %10764, align 4, !tbaa !11
  %10766 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %10767 = load float, ptr %10766, align 4, !tbaa !14
  %10768 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10769 = load float, ptr %10768, align 4, !tbaa !14
  %10770 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %10771 = load float, ptr %10770, align 4, !tbaa !11
  %10772 = fmul float %10769, %10771
  %10773 = call float @llvm.fmuladd.f32(float %10765, float %10767, float %10772)
  %10774 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10773, ptr %10774, align 4, !tbaa !14
  %10775 = load ptr, ptr %15, align 8, !tbaa !5
  %10776 = load i64, ptr %22, align 8, !tbaa !9
  %10777 = getelementptr inbounds %struct.complex, ptr %10775, i64 %10776
  %10778 = getelementptr inbounds %struct.complex, ptr %10777, i32 0, i32 0
  %10779 = load float, ptr %10778, align 4, !tbaa !11
  %10780 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10781 = load float, ptr %10780, align 4, !tbaa !11
  %10782 = fsub float %10779, %10781
  %10783 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10782, ptr %10783, align 4, !tbaa !11
  %10784 = load ptr, ptr %15, align 8, !tbaa !5
  %10785 = load i64, ptr %22, align 8, !tbaa !9
  %10786 = getelementptr inbounds %struct.complex, ptr %10784, i64 %10785
  %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 %32, i32 0, i32 1
  %10790 = load float, ptr %10789, align 4, !tbaa !14
  %10791 = fsub float %10788, %10790
  %10792 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10791, ptr %10792, align 4, !tbaa !14
  %10793 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10794 = load float, ptr %10793, align 4, !tbaa !11
  %10795 = load ptr, ptr %15, align 8, !tbaa !5
  %10796 = load i64, ptr %21, align 8, !tbaa !9
  %10797 = getelementptr inbounds %struct.complex, ptr %10795, i64 %10796
  %10798 = getelementptr inbounds %struct.complex, ptr %10797, i32 0, i32 0
  store float %10794, ptr %10798, align 4, !tbaa !11
  %10799 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10800 = load float, ptr %10799, align 4, !tbaa !14
  %10801 = load ptr, ptr %15, align 8, !tbaa !5
  %10802 = load i64, ptr %21, align 8, !tbaa !9
  %10803 = getelementptr inbounds %struct.complex, ptr %10801, i64 %10802
  %10804 = getelementptr inbounds %struct.complex, ptr %10803, i32 0, i32 1
  store float %10800, ptr %10804, align 4, !tbaa !14
  %10805 = load i64, ptr %50, align 8, !tbaa !9
  %10806 = load i64, ptr %18, align 8, !tbaa !9
  %10807 = shl i64 %10806, 2
  %10808 = add nsw i64 %10805, %10807
  store i64 %10808, ptr %21, align 8, !tbaa !9
  %10809 = load i64, ptr %50, align 8, !tbaa !9
  %10810 = load i64, ptr %18, align 8, !tbaa !9
  %10811 = shl i64 %10810, 2
  %10812 = add nsw i64 %10809, %10811
  store i64 %10812, ptr %22, align 8, !tbaa !9
  %10813 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10814 = load float, ptr %10813, align 4, !tbaa !11
  %10815 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %10816 = load float, ptr %10815, align 4, !tbaa !11
  %10817 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10818 = load float, ptr %10817, align 4, !tbaa !14
  %10819 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %10820 = load float, ptr %10819, align 4, !tbaa !14
  %10821 = fmul float %10818, %10820
  %10822 = fneg float %10821
  %10823 = call float @llvm.fmuladd.f32(float %10814, float %10816, float %10822)
  %10824 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10823, ptr %10824, align 4, !tbaa !11
  %10825 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10826 = load float, ptr %10825, align 4, !tbaa !11
  %10827 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %10828 = load float, ptr %10827, align 4, !tbaa !14
  %10829 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10830 = load float, ptr %10829, align 4, !tbaa !14
  %10831 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %10832 = load float, ptr %10831, align 4, !tbaa !11
  %10833 = fmul float %10830, %10832
  %10834 = call float @llvm.fmuladd.f32(float %10826, float %10828, float %10833)
  %10835 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10834, ptr %10835, align 4, !tbaa !14
  %10836 = load ptr, ptr %15, align 8, !tbaa !5
  %10837 = load i64, ptr %22, align 8, !tbaa !9
  %10838 = getelementptr inbounds %struct.complex, ptr %10836, i64 %10837
  %10839 = getelementptr inbounds %struct.complex, ptr %10838, i32 0, i32 0
  %10840 = load float, ptr %10839, align 4, !tbaa !11
  %10841 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10842 = load float, ptr %10841, align 4, !tbaa !11
  %10843 = fsub float %10840, %10842
  %10844 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10843, ptr %10844, align 4, !tbaa !11
  %10845 = load ptr, ptr %15, align 8, !tbaa !5
  %10846 = load i64, ptr %22, align 8, !tbaa !9
  %10847 = getelementptr inbounds %struct.complex, ptr %10845, i64 %10846
  %10848 = getelementptr inbounds %struct.complex, ptr %10847, i32 0, i32 1
  %10849 = load float, ptr %10848, align 4, !tbaa !14
  %10850 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10851 = load float, ptr %10850, align 4, !tbaa !14
  %10852 = fsub float %10849, %10851
  %10853 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10852, ptr %10853, align 4, !tbaa !14
  %10854 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10855 = load float, ptr %10854, align 4, !tbaa !11
  %10856 = load ptr, ptr %15, align 8, !tbaa !5
  %10857 = load i64, ptr %21, align 8, !tbaa !9
  %10858 = getelementptr inbounds %struct.complex, ptr %10856, i64 %10857
  %10859 = getelementptr inbounds %struct.complex, ptr %10858, i32 0, i32 0
  store float %10855, ptr %10859, align 4, !tbaa !11
  %10860 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10861 = load float, ptr %10860, align 4, !tbaa !14
  %10862 = load ptr, ptr %15, align 8, !tbaa !5
  %10863 = load i64, ptr %21, align 8, !tbaa !9
  %10864 = getelementptr inbounds %struct.complex, ptr %10862, i64 %10863
  %10865 = getelementptr inbounds %struct.complex, ptr %10864, i32 0, i32 1
  store float %10861, ptr %10865, align 4, !tbaa !14
  %10866 = load i64, ptr %50, align 8, !tbaa !9
  %10867 = load i64, ptr %18, align 8, !tbaa !9
  %10868 = mul nsw i64 %10867, 5
  %10869 = add nsw i64 %10866, %10868
  store i64 %10869, ptr %21, align 8, !tbaa !9
  %10870 = load i64, ptr %50, align 8, !tbaa !9
  %10871 = load i64, ptr %18, align 8, !tbaa !9
  %10872 = mul nsw i64 %10871, 5
  %10873 = add nsw i64 %10870, %10872
  store i64 %10873, ptr %22, align 8, !tbaa !9
  %10874 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10875 = load float, ptr %10874, align 4, !tbaa !11
  %10876 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %10877 = load float, ptr %10876, align 4, !tbaa !11
  %10878 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10879 = load float, ptr %10878, align 4, !tbaa !14
  %10880 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %10881 = load float, ptr %10880, align 4, !tbaa !14
  %10882 = fmul float %10879, %10881
  %10883 = fneg float %10882
  %10884 = call float @llvm.fmuladd.f32(float %10875, float %10877, float %10883)
  %10885 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %10884, ptr %10885, align 4, !tbaa !11
  %10886 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %10887 = load float, ptr %10886, align 4, !tbaa !11
  %10888 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %10889 = load float, ptr %10888, align 4, !tbaa !14
  %10890 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %10891 = load float, ptr %10890, align 4, !tbaa !14
  %10892 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %10893 = load float, ptr %10892, align 4, !tbaa !11
  %10894 = fmul float %10891, %10893
  %10895 = call float @llvm.fmuladd.f32(float %10887, float %10889, float %10894)
  %10896 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %10895, ptr %10896, align 4, !tbaa !14
  %10897 = load ptr, ptr %15, align 8, !tbaa !5
  %10898 = load i64, ptr %22, align 8, !tbaa !9
  %10899 = getelementptr inbounds %struct.complex, ptr %10897, i64 %10898
  %10900 = getelementptr inbounds %struct.complex, ptr %10899, i32 0, i32 0
  %10901 = load float, ptr %10900, align 4, !tbaa !11
  %10902 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10903 = load float, ptr %10902, align 4, !tbaa !11
  %10904 = fsub float %10901, %10903
  %10905 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10904, ptr %10905, align 4, !tbaa !11
  %10906 = load ptr, ptr %15, align 8, !tbaa !5
  %10907 = load i64, ptr %22, align 8, !tbaa !9
  %10908 = getelementptr inbounds %struct.complex, ptr %10906, i64 %10907
  %10909 = getelementptr inbounds %struct.complex, ptr %10908, i32 0, i32 1
  %10910 = load float, ptr %10909, align 4, !tbaa !14
  %10911 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10912 = load float, ptr %10911, align 4, !tbaa !14
  %10913 = fsub float %10910, %10912
  %10914 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10913, ptr %10914, align 4, !tbaa !14
  %10915 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10916 = load float, ptr %10915, align 4, !tbaa !11
  %10917 = load ptr, ptr %15, align 8, !tbaa !5
  %10918 = load i64, ptr %21, align 8, !tbaa !9
  %10919 = getelementptr inbounds %struct.complex, ptr %10917, i64 %10918
  %10920 = getelementptr inbounds %struct.complex, ptr %10919, i32 0, i32 0
  store float %10916, ptr %10920, align 4, !tbaa !11
  %10921 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10922 = load float, ptr %10921, align 4, !tbaa !14
  %10923 = load ptr, ptr %15, align 8, !tbaa !5
  %10924 = load i64, ptr %21, align 8, !tbaa !9
  %10925 = getelementptr inbounds %struct.complex, ptr %10923, i64 %10924
  %10926 = getelementptr inbounds %struct.complex, ptr %10925, i32 0, i32 1
  store float %10922, ptr %10926, align 4, !tbaa !14
  br label %10927

10927:                                            ; preds = %10375
  %10928 = load i64, ptr %50, align 8, !tbaa !9
  %10929 = add nsw i64 %10928, 1
  store i64 %10929, ptr %50, align 8, !tbaa !9
  br label %10371, !llvm.loop !30

10930:                                            ; preds = %10371
  br label %17146

10931:                                            ; preds = %8591
  %10932 = load ptr, ptr %13, align 8, !tbaa !5
  %10933 = getelementptr inbounds %struct.complex, ptr %10932, i64 1
  %10934 = getelementptr inbounds %struct.complex, ptr %10933, i32 0, i32 0
  %10935 = load float, ptr %10934, align 4, !tbaa !11
  %10936 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %10935, ptr %10936, align 4, !tbaa !11
  %10937 = load ptr, ptr %13, align 8, !tbaa !5
  %10938 = getelementptr inbounds %struct.complex, ptr %10937, i64 1
  %10939 = getelementptr inbounds %struct.complex, ptr %10938, i32 0, i32 1
  %10940 = load float, ptr %10939, align 4, !tbaa !14
  %10941 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %10940, ptr %10941, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %10942 = load ptr, ptr %14, align 8, !tbaa !5
  %10943 = getelementptr inbounds %struct.complex, ptr %10942, i32 0, i32 0
  %10944 = load float, ptr %10943, align 4, !tbaa !11
  %10945 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10946 = load float, ptr %10945, align 4, !tbaa !11
  %10947 = load ptr, ptr %14, align 8, !tbaa !5
  %10948 = getelementptr inbounds %struct.complex, ptr %10947, i32 0, i32 1
  %10949 = load float, ptr %10948, align 4, !tbaa !14
  %10950 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10951 = load float, ptr %10950, align 4, !tbaa !14
  %10952 = fmul float %10949, %10951
  %10953 = fneg float %10952
  %10954 = call float @llvm.fmuladd.f32(float %10944, float %10946, float %10953)
  %10955 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10954, ptr %10955, align 4, !tbaa !11
  %10956 = load ptr, ptr %14, align 8, !tbaa !5
  %10957 = getelementptr inbounds %struct.complex, ptr %10956, i32 0, i32 0
  %10958 = load float, ptr %10957, align 4, !tbaa !11
  %10959 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10960 = load float, ptr %10959, align 4, !tbaa !14
  %10961 = load ptr, ptr %14, align 8, !tbaa !5
  %10962 = getelementptr inbounds %struct.complex, ptr %10961, i32 0, i32 1
  %10963 = load float, ptr %10962, align 4, !tbaa !14
  %10964 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10965 = load float, ptr %10964, align 4, !tbaa !11
  %10966 = fmul float %10963, %10965
  %10967 = call float @llvm.fmuladd.f32(float %10958, float %10960, float %10966)
  %10968 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %10967, ptr %10968, align 4, !tbaa !14
  %10969 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %10970 = load float, ptr %10969, align 4, !tbaa !11
  %10971 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %10970, ptr %10971, align 4, !tbaa !11
  %10972 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %10973 = load float, ptr %10972, align 4, !tbaa !14
  %10974 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %10973, ptr %10974, align 4, !tbaa !14
  %10975 = load ptr, ptr %13, align 8, !tbaa !5
  %10976 = getelementptr inbounds %struct.complex, ptr %10975, i64 2
  %10977 = getelementptr inbounds %struct.complex, ptr %10976, i32 0, i32 0
  %10978 = load float, ptr %10977, align 4, !tbaa !11
  %10979 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %10978, ptr %10979, align 4, !tbaa !11
  %10980 = load ptr, ptr %13, align 8, !tbaa !5
  %10981 = getelementptr inbounds %struct.complex, ptr %10980, i64 2
  %10982 = getelementptr inbounds %struct.complex, ptr %10981, i32 0, i32 1
  %10983 = load float, ptr %10982, align 4, !tbaa !14
  %10984 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %10983, ptr %10984, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %10985 = load ptr, ptr %14, align 8, !tbaa !5
  %10986 = getelementptr inbounds %struct.complex, ptr %10985, i32 0, i32 0
  %10987 = load float, ptr %10986, align 4, !tbaa !11
  %10988 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %10989 = load float, ptr %10988, align 4, !tbaa !11
  %10990 = load ptr, ptr %14, align 8, !tbaa !5
  %10991 = getelementptr inbounds %struct.complex, ptr %10990, i32 0, i32 1
  %10992 = load float, ptr %10991, align 4, !tbaa !14
  %10993 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %10994 = load float, ptr %10993, align 4, !tbaa !14
  %10995 = fmul float %10992, %10994
  %10996 = fneg float %10995
  %10997 = call float @llvm.fmuladd.f32(float %10987, float %10989, float %10996)
  %10998 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %10997, ptr %10998, align 4, !tbaa !11
  %10999 = load ptr, ptr %14, align 8, !tbaa !5
  %11000 = getelementptr inbounds %struct.complex, ptr %10999, i32 0, i32 0
  %11001 = load float, ptr %11000, align 4, !tbaa !11
  %11002 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11003 = load float, ptr %11002, align 4, !tbaa !14
  %11004 = load ptr, ptr %14, align 8, !tbaa !5
  %11005 = getelementptr inbounds %struct.complex, ptr %11004, i32 0, i32 1
  %11006 = load float, ptr %11005, align 4, !tbaa !14
  %11007 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11008 = load float, ptr %11007, align 4, !tbaa !11
  %11009 = fmul float %11006, %11008
  %11010 = call float @llvm.fmuladd.f32(float %11001, float %11003, float %11009)
  %11011 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11010, ptr %11011, align 4, !tbaa !14
  %11012 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11013 = load float, ptr %11012, align 4, !tbaa !11
  %11014 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %11013, ptr %11014, align 4, !tbaa !11
  %11015 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11016 = load float, ptr %11015, align 4, !tbaa !14
  %11017 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %11016, ptr %11017, align 4, !tbaa !14
  %11018 = load ptr, ptr %13, align 8, !tbaa !5
  %11019 = getelementptr inbounds %struct.complex, ptr %11018, i64 3
  %11020 = getelementptr inbounds %struct.complex, ptr %11019, i32 0, i32 0
  %11021 = load float, ptr %11020, align 4, !tbaa !11
  %11022 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %11021, ptr %11022, align 4, !tbaa !11
  %11023 = load ptr, ptr %13, align 8, !tbaa !5
  %11024 = getelementptr inbounds %struct.complex, ptr %11023, i64 3
  %11025 = getelementptr inbounds %struct.complex, ptr %11024, i32 0, i32 1
  %11026 = load float, ptr %11025, align 4, !tbaa !14
  %11027 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %11026, ptr %11027, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %11028 = load ptr, ptr %14, align 8, !tbaa !5
  %11029 = getelementptr inbounds %struct.complex, ptr %11028, i32 0, i32 0
  %11030 = load float, ptr %11029, align 4, !tbaa !11
  %11031 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11032 = load float, ptr %11031, align 4, !tbaa !11
  %11033 = load ptr, ptr %14, align 8, !tbaa !5
  %11034 = getelementptr inbounds %struct.complex, ptr %11033, i32 0, i32 1
  %11035 = load float, ptr %11034, align 4, !tbaa !14
  %11036 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11037 = load float, ptr %11036, align 4, !tbaa !14
  %11038 = fmul float %11035, %11037
  %11039 = fneg float %11038
  %11040 = call float @llvm.fmuladd.f32(float %11030, float %11032, float %11039)
  %11041 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11040, ptr %11041, align 4, !tbaa !11
  %11042 = load ptr, ptr %14, align 8, !tbaa !5
  %11043 = getelementptr inbounds %struct.complex, ptr %11042, i32 0, i32 0
  %11044 = load float, ptr %11043, align 4, !tbaa !11
  %11045 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11046 = load float, ptr %11045, align 4, !tbaa !14
  %11047 = load ptr, ptr %14, align 8, !tbaa !5
  %11048 = getelementptr inbounds %struct.complex, ptr %11047, i32 0, i32 1
  %11049 = load float, ptr %11048, align 4, !tbaa !14
  %11050 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11051 = load float, ptr %11050, align 4, !tbaa !11
  %11052 = fmul float %11049, %11051
  %11053 = call float @llvm.fmuladd.f32(float %11044, float %11046, float %11052)
  %11054 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11053, ptr %11054, align 4, !tbaa !14
  %11055 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11056 = load float, ptr %11055, align 4, !tbaa !11
  %11057 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %11056, ptr %11057, align 4, !tbaa !11
  %11058 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11059 = load float, ptr %11058, align 4, !tbaa !14
  %11060 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %11059, ptr %11060, align 4, !tbaa !14
  %11061 = load ptr, ptr %13, align 8, !tbaa !5
  %11062 = getelementptr inbounds %struct.complex, ptr %11061, i64 4
  %11063 = getelementptr inbounds %struct.complex, ptr %11062, i32 0, i32 0
  %11064 = load float, ptr %11063, align 4, !tbaa !11
  %11065 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %11064, ptr %11065, align 4, !tbaa !11
  %11066 = load ptr, ptr %13, align 8, !tbaa !5
  %11067 = getelementptr inbounds %struct.complex, ptr %11066, i64 4
  %11068 = getelementptr inbounds %struct.complex, ptr %11067, i32 0, i32 1
  %11069 = load float, ptr %11068, align 4, !tbaa !14
  %11070 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %11069, ptr %11070, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %11071 = load ptr, ptr %14, align 8, !tbaa !5
  %11072 = getelementptr inbounds %struct.complex, ptr %11071, i32 0, i32 0
  %11073 = load float, ptr %11072, align 4, !tbaa !11
  %11074 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11075 = load float, ptr %11074, align 4, !tbaa !11
  %11076 = load ptr, ptr %14, align 8, !tbaa !5
  %11077 = getelementptr inbounds %struct.complex, ptr %11076, i32 0, i32 1
  %11078 = load float, ptr %11077, align 4, !tbaa !14
  %11079 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11080 = load float, ptr %11079, align 4, !tbaa !14
  %11081 = fmul float %11078, %11080
  %11082 = fneg float %11081
  %11083 = call float @llvm.fmuladd.f32(float %11073, float %11075, float %11082)
  %11084 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11083, ptr %11084, align 4, !tbaa !11
  %11085 = load ptr, ptr %14, align 8, !tbaa !5
  %11086 = getelementptr inbounds %struct.complex, ptr %11085, i32 0, i32 0
  %11087 = load float, ptr %11086, align 4, !tbaa !11
  %11088 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11089 = load float, ptr %11088, align 4, !tbaa !14
  %11090 = load ptr, ptr %14, align 8, !tbaa !5
  %11091 = getelementptr inbounds %struct.complex, ptr %11090, i32 0, i32 1
  %11092 = load float, ptr %11091, align 4, !tbaa !14
  %11093 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11094 = load float, ptr %11093, align 4, !tbaa !11
  %11095 = fmul float %11092, %11094
  %11096 = call float @llvm.fmuladd.f32(float %11087, float %11089, float %11095)
  %11097 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11096, ptr %11097, align 4, !tbaa !14
  %11098 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11099 = load float, ptr %11098, align 4, !tbaa !11
  %11100 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %11099, ptr %11100, align 4, !tbaa !11
  %11101 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11102 = load float, ptr %11101, align 4, !tbaa !14
  %11103 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %11102, ptr %11103, align 4, !tbaa !14
  %11104 = load ptr, ptr %13, align 8, !tbaa !5
  %11105 = getelementptr inbounds %struct.complex, ptr %11104, i64 5
  %11106 = getelementptr inbounds %struct.complex, ptr %11105, i32 0, i32 0
  %11107 = load float, ptr %11106, align 4, !tbaa !11
  %11108 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %11107, ptr %11108, align 4, !tbaa !11
  %11109 = load ptr, ptr %13, align 8, !tbaa !5
  %11110 = getelementptr inbounds %struct.complex, ptr %11109, i64 5
  %11111 = getelementptr inbounds %struct.complex, ptr %11110, i32 0, i32 1
  %11112 = load float, ptr %11111, align 4, !tbaa !14
  %11113 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %11112, ptr %11113, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %11114 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 0
  %11118 = load float, ptr %11117, align 4, !tbaa !11
  %11119 = load ptr, ptr %14, align 8, !tbaa !5
  %11120 = getelementptr inbounds %struct.complex, ptr %11119, i32 0, i32 1
  %11121 = load float, ptr %11120, align 4, !tbaa !14
  %11122 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11123 = load float, ptr %11122, align 4, !tbaa !14
  %11124 = fmul float %11121, %11123
  %11125 = fneg float %11124
  %11126 = call float @llvm.fmuladd.f32(float %11116, float %11118, float %11125)
  %11127 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11126, ptr %11127, align 4, !tbaa !11
  %11128 = load ptr, ptr %14, align 8, !tbaa !5
  %11129 = getelementptr inbounds %struct.complex, ptr %11128, i32 0, i32 0
  %11130 = load float, ptr %11129, align 4, !tbaa !11
  %11131 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11132 = load float, ptr %11131, align 4, !tbaa !14
  %11133 = load ptr, ptr %14, align 8, !tbaa !5
  %11134 = getelementptr inbounds %struct.complex, ptr %11133, i32 0, i32 1
  %11135 = load float, ptr %11134, align 4, !tbaa !14
  %11136 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11137 = load float, ptr %11136, align 4, !tbaa !11
  %11138 = fmul float %11135, %11137
  %11139 = call float @llvm.fmuladd.f32(float %11130, float %11132, float %11138)
  %11140 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11139, ptr %11140, align 4, !tbaa !14
  %11141 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11142 = load float, ptr %11141, align 4, !tbaa !11
  %11143 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %11142, ptr %11143, align 4, !tbaa !11
  %11144 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11145 = load float, ptr %11144, align 4, !tbaa !14
  %11146 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %11145, ptr %11146, align 4, !tbaa !14
  %11147 = load ptr, ptr %13, align 8, !tbaa !5
  %11148 = getelementptr inbounds %struct.complex, ptr %11147, i64 6
  %11149 = getelementptr inbounds %struct.complex, ptr %11148, i32 0, i32 0
  %11150 = load float, ptr %11149, align 4, !tbaa !11
  %11151 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %11150, ptr %11151, align 4, !tbaa !11
  %11152 = load ptr, ptr %13, align 8, !tbaa !5
  %11153 = getelementptr inbounds %struct.complex, ptr %11152, i64 6
  %11154 = getelementptr inbounds %struct.complex, ptr %11153, i32 0, i32 1
  %11155 = load float, ptr %11154, align 4, !tbaa !14
  %11156 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %11155, ptr %11156, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %11157 = load ptr, ptr %14, align 8, !tbaa !5
  %11158 = getelementptr inbounds %struct.complex, ptr %11157, i32 0, i32 0
  %11159 = load float, ptr %11158, align 4, !tbaa !11
  %11160 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11161 = load float, ptr %11160, align 4, !tbaa !11
  %11162 = load ptr, ptr %14, align 8, !tbaa !5
  %11163 = getelementptr inbounds %struct.complex, ptr %11162, i32 0, i32 1
  %11164 = load float, ptr %11163, align 4, !tbaa !14
  %11165 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11166 = load float, ptr %11165, align 4, !tbaa !14
  %11167 = fmul float %11164, %11166
  %11168 = fneg float %11167
  %11169 = call float @llvm.fmuladd.f32(float %11159, float %11161, float %11168)
  %11170 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11169, ptr %11170, align 4, !tbaa !11
  %11171 = load ptr, ptr %14, align 8, !tbaa !5
  %11172 = getelementptr inbounds %struct.complex, ptr %11171, i32 0, i32 0
  %11173 = load float, ptr %11172, align 4, !tbaa !11
  %11174 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11175 = load float, ptr %11174, align 4, !tbaa !14
  %11176 = load ptr, ptr %14, align 8, !tbaa !5
  %11177 = getelementptr inbounds %struct.complex, ptr %11176, i32 0, i32 1
  %11178 = load float, ptr %11177, align 4, !tbaa !14
  %11179 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11180 = load float, ptr %11179, align 4, !tbaa !11
  %11181 = fmul float %11178, %11180
  %11182 = call float @llvm.fmuladd.f32(float %11173, float %11175, float %11181)
  %11183 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11182, ptr %11183, align 4, !tbaa !14
  %11184 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11185 = load float, ptr %11184, align 4, !tbaa !11
  %11186 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %11185, ptr %11186, align 4, !tbaa !11
  %11187 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11188 = load float, ptr %11187, align 4, !tbaa !14
  %11189 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %11188, ptr %11189, align 4, !tbaa !14
  %11190 = load ptr, ptr %11, align 8, !tbaa !5
  %11191 = load i64, ptr %11190, align 8, !tbaa !9
  store i64 %11191, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %11192

11192:                                            ; preds = %11860, %10931
  %11193 = load i64, ptr %50, align 8, !tbaa !9
  %11194 = load i64, ptr %20, align 8, !tbaa !9
  %11195 = icmp sle i64 %11193, %11194
  br i1 %11195, label %11196, label %11863

11196:                                            ; preds = %11192
  %11197 = load i64, ptr %50, align 8, !tbaa !9
  %11198 = load i64, ptr %18, align 8, !tbaa !9
  %11199 = add nsw i64 %11197, %11198
  store i64 %11199, ptr %21, align 8, !tbaa !9
  %11200 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %11201 = load float, ptr %11200, align 4, !tbaa !11
  %11202 = load ptr, ptr %15, align 8, !tbaa !5
  %11203 = load i64, ptr %21, align 8, !tbaa !9
  %11204 = getelementptr inbounds %struct.complex, ptr %11202, i64 %11203
  %11205 = getelementptr inbounds %struct.complex, ptr %11204, i32 0, i32 0
  %11206 = load float, ptr %11205, align 4, !tbaa !11
  %11207 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %11208 = load float, ptr %11207, align 4, !tbaa !14
  %11209 = load ptr, ptr %15, align 8, !tbaa !5
  %11210 = load i64, ptr %21, align 8, !tbaa !9
  %11211 = getelementptr inbounds %struct.complex, ptr %11209, i64 %11210
  %11212 = getelementptr inbounds %struct.complex, ptr %11211, i32 0, i32 1
  %11213 = load float, ptr %11212, align 4, !tbaa !14
  %11214 = fmul float %11208, %11213
  %11215 = fneg float %11214
  %11216 = call float @llvm.fmuladd.f32(float %11201, float %11206, float %11215)
  %11217 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %11216, ptr %11217, align 4, !tbaa !11
  %11218 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %11219 = load float, ptr %11218, align 4, !tbaa !11
  %11220 = load ptr, ptr %15, align 8, !tbaa !5
  %11221 = load i64, ptr %21, align 8, !tbaa !9
  %11222 = getelementptr inbounds %struct.complex, ptr %11220, i64 %11221
  %11223 = getelementptr inbounds %struct.complex, ptr %11222, i32 0, i32 1
  %11224 = load float, ptr %11223, align 4, !tbaa !14
  %11225 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %11226 = load float, ptr %11225, align 4, !tbaa !14
  %11227 = load ptr, ptr %15, align 8, !tbaa !5
  %11228 = load i64, ptr %21, align 8, !tbaa !9
  %11229 = getelementptr inbounds %struct.complex, ptr %11227, i64 %11228
  %11230 = getelementptr inbounds %struct.complex, ptr %11229, i32 0, i32 0
  %11231 = load float, ptr %11230, align 4, !tbaa !11
  %11232 = fmul float %11226, %11231
  %11233 = call float @llvm.fmuladd.f32(float %11219, float %11224, float %11232)
  %11234 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %11233, ptr %11234, align 4, !tbaa !14
  %11235 = load i64, ptr %50, align 8, !tbaa !9
  %11236 = load i64, ptr %18, align 8, !tbaa !9
  %11237 = shl i64 %11236, 1
  %11238 = add nsw i64 %11235, %11237
  store i64 %11238, ptr %22, align 8, !tbaa !9
  %11239 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %11240 = load float, ptr %11239, align 4, !tbaa !11
  %11241 = load ptr, ptr %15, align 8, !tbaa !5
  %11242 = load i64, ptr %22, align 8, !tbaa !9
  %11243 = getelementptr inbounds %struct.complex, ptr %11241, i64 %11242
  %11244 = getelementptr inbounds %struct.complex, ptr %11243, i32 0, i32 0
  %11245 = load float, ptr %11244, align 4, !tbaa !11
  %11246 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %11247 = load float, ptr %11246, align 4, !tbaa !14
  %11248 = load ptr, ptr %15, align 8, !tbaa !5
  %11249 = load i64, ptr %22, align 8, !tbaa !9
  %11250 = getelementptr inbounds %struct.complex, ptr %11248, i64 %11249
  %11251 = getelementptr inbounds %struct.complex, ptr %11250, i32 0, i32 1
  %11252 = load float, ptr %11251, align 4, !tbaa !14
  %11253 = fmul float %11247, %11252
  %11254 = fneg float %11253
  %11255 = call float @llvm.fmuladd.f32(float %11240, float %11245, float %11254)
  %11256 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %11255, ptr %11256, align 4, !tbaa !11
  %11257 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %11258 = load float, ptr %11257, align 4, !tbaa !11
  %11259 = load ptr, ptr %15, align 8, !tbaa !5
  %11260 = load i64, ptr %22, align 8, !tbaa !9
  %11261 = getelementptr inbounds %struct.complex, ptr %11259, i64 %11260
  %11262 = getelementptr inbounds %struct.complex, ptr %11261, i32 0, i32 1
  %11263 = load float, ptr %11262, align 4, !tbaa !14
  %11264 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %11265 = load float, ptr %11264, align 4, !tbaa !14
  %11266 = load ptr, ptr %15, align 8, !tbaa !5
  %11267 = load i64, ptr %22, align 8, !tbaa !9
  %11268 = getelementptr inbounds %struct.complex, ptr %11266, i64 %11267
  %11269 = getelementptr inbounds %struct.complex, ptr %11268, i32 0, i32 0
  %11270 = load float, ptr %11269, align 4, !tbaa !11
  %11271 = fmul float %11265, %11270
  %11272 = call float @llvm.fmuladd.f32(float %11258, float %11263, float %11271)
  %11273 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %11272, ptr %11273, align 4, !tbaa !14
  %11274 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %11275 = load float, ptr %11274, align 4, !tbaa !11
  %11276 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %11277 = load float, ptr %11276, align 4, !tbaa !11
  %11278 = fadd float %11275, %11277
  %11279 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %11278, ptr %11279, align 4, !tbaa !11
  %11280 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %11281 = load float, ptr %11280, align 4, !tbaa !14
  %11282 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %11283 = load float, ptr %11282, align 4, !tbaa !14
  %11284 = fadd float %11281, %11283
  %11285 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %11284, ptr %11285, align 4, !tbaa !14
  %11286 = load i64, ptr %50, align 8, !tbaa !9
  %11287 = load i64, ptr %18, align 8, !tbaa !9
  %11288 = mul nsw i64 %11287, 3
  %11289 = add nsw i64 %11286, %11288
  store i64 %11289, ptr %23, align 8, !tbaa !9
  %11290 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %11291 = load float, ptr %11290, align 4, !tbaa !11
  %11292 = load ptr, ptr %15, align 8, !tbaa !5
  %11293 = load i64, ptr %23, align 8, !tbaa !9
  %11294 = getelementptr inbounds %struct.complex, ptr %11292, i64 %11293
  %11295 = getelementptr inbounds %struct.complex, ptr %11294, i32 0, i32 0
  %11296 = load float, ptr %11295, align 4, !tbaa !11
  %11297 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %11298 = load float, ptr %11297, align 4, !tbaa !14
  %11299 = load ptr, ptr %15, align 8, !tbaa !5
  %11300 = load i64, ptr %23, align 8, !tbaa !9
  %11301 = getelementptr inbounds %struct.complex, ptr %11299, i64 %11300
  %11302 = getelementptr inbounds %struct.complex, ptr %11301, i32 0, i32 1
  %11303 = load float, ptr %11302, align 4, !tbaa !14
  %11304 = fmul float %11298, %11303
  %11305 = fneg float %11304
  %11306 = call float @llvm.fmuladd.f32(float %11291, float %11296, float %11305)
  %11307 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %11306, ptr %11307, align 4, !tbaa !11
  %11308 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %11309 = load float, ptr %11308, align 4, !tbaa !11
  %11310 = load ptr, ptr %15, align 8, !tbaa !5
  %11311 = load i64, ptr %23, align 8, !tbaa !9
  %11312 = getelementptr inbounds %struct.complex, ptr %11310, i64 %11311
  %11313 = getelementptr inbounds %struct.complex, ptr %11312, i32 0, i32 1
  %11314 = load float, ptr %11313, align 4, !tbaa !14
  %11315 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %11316 = load float, ptr %11315, align 4, !tbaa !14
  %11317 = load ptr, ptr %15, align 8, !tbaa !5
  %11318 = load i64, ptr %23, align 8, !tbaa !9
  %11319 = getelementptr inbounds %struct.complex, ptr %11317, i64 %11318
  %11320 = getelementptr inbounds %struct.complex, ptr %11319, i32 0, i32 0
  %11321 = load float, ptr %11320, align 4, !tbaa !11
  %11322 = fmul float %11316, %11321
  %11323 = call float @llvm.fmuladd.f32(float %11309, float %11314, float %11322)
  %11324 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %11323, ptr %11324, align 4, !tbaa !14
  %11325 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %11326 = load float, ptr %11325, align 4, !tbaa !11
  %11327 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %11328 = load float, ptr %11327, align 4, !tbaa !11
  %11329 = fadd float %11326, %11328
  %11330 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %11329, ptr %11330, align 4, !tbaa !11
  %11331 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %11332 = load float, ptr %11331, align 4, !tbaa !14
  %11333 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %11334 = load float, ptr %11333, align 4, !tbaa !14
  %11335 = fadd float %11332, %11334
  %11336 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %11335, ptr %11336, align 4, !tbaa !14
  %11337 = load i64, ptr %50, align 8, !tbaa !9
  %11338 = load i64, ptr %18, align 8, !tbaa !9
  %11339 = shl i64 %11338, 2
  %11340 = add nsw i64 %11337, %11339
  store i64 %11340, ptr %24, align 8, !tbaa !9
  %11341 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %11342 = load float, ptr %11341, align 4, !tbaa !11
  %11343 = load ptr, ptr %15, align 8, !tbaa !5
  %11344 = load i64, ptr %24, align 8, !tbaa !9
  %11345 = getelementptr inbounds %struct.complex, ptr %11343, i64 %11344
  %11346 = getelementptr inbounds %struct.complex, ptr %11345, i32 0, i32 0
  %11347 = load float, ptr %11346, align 4, !tbaa !11
  %11348 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %11349 = load float, ptr %11348, align 4, !tbaa !14
  %11350 = load ptr, ptr %15, align 8, !tbaa !5
  %11351 = load i64, ptr %24, align 8, !tbaa !9
  %11352 = getelementptr inbounds %struct.complex, ptr %11350, i64 %11351
  %11353 = getelementptr inbounds %struct.complex, ptr %11352, i32 0, i32 1
  %11354 = load float, ptr %11353, align 4, !tbaa !14
  %11355 = fmul float %11349, %11354
  %11356 = fneg float %11355
  %11357 = call float @llvm.fmuladd.f32(float %11342, float %11347, float %11356)
  %11358 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %11357, ptr %11358, align 4, !tbaa !11
  %11359 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %11360 = load float, ptr %11359, align 4, !tbaa !11
  %11361 = load ptr, ptr %15, align 8, !tbaa !5
  %11362 = load i64, ptr %24, align 8, !tbaa !9
  %11363 = getelementptr inbounds %struct.complex, ptr %11361, i64 %11362
  %11364 = getelementptr inbounds %struct.complex, ptr %11363, i32 0, i32 1
  %11365 = load float, ptr %11364, align 4, !tbaa !14
  %11366 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %11367 = load float, ptr %11366, align 4, !tbaa !14
  %11368 = load ptr, ptr %15, align 8, !tbaa !5
  %11369 = load i64, ptr %24, align 8, !tbaa !9
  %11370 = getelementptr inbounds %struct.complex, ptr %11368, i64 %11369
  %11371 = getelementptr inbounds %struct.complex, ptr %11370, i32 0, i32 0
  %11372 = load float, ptr %11371, align 4, !tbaa !11
  %11373 = fmul float %11367, %11372
  %11374 = call float @llvm.fmuladd.f32(float %11360, float %11365, float %11373)
  %11375 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %11374, ptr %11375, align 4, !tbaa !14
  %11376 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %11377 = load float, ptr %11376, align 4, !tbaa !11
  %11378 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %11379 = load float, ptr %11378, align 4, !tbaa !11
  %11380 = fadd float %11377, %11379
  %11381 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %11380, ptr %11381, align 4, !tbaa !11
  %11382 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %11383 = load float, ptr %11382, align 4, !tbaa !14
  %11384 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %11385 = load float, ptr %11384, align 4, !tbaa !14
  %11386 = fadd float %11383, %11385
  %11387 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %11386, ptr %11387, align 4, !tbaa !14
  %11388 = load i64, ptr %50, align 8, !tbaa !9
  %11389 = load i64, ptr %18, align 8, !tbaa !9
  %11390 = mul nsw i64 %11389, 5
  %11391 = add nsw i64 %11388, %11390
  store i64 %11391, ptr %25, align 8, !tbaa !9
  %11392 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %11393 = load float, ptr %11392, align 4, !tbaa !11
  %11394 = load ptr, ptr %15, align 8, !tbaa !5
  %11395 = load i64, ptr %25, align 8, !tbaa !9
  %11396 = getelementptr inbounds %struct.complex, ptr %11394, i64 %11395
  %11397 = getelementptr inbounds %struct.complex, ptr %11396, i32 0, i32 0
  %11398 = load float, ptr %11397, align 4, !tbaa !11
  %11399 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %11400 = load float, ptr %11399, align 4, !tbaa !14
  %11401 = load ptr, ptr %15, align 8, !tbaa !5
  %11402 = load i64, ptr %25, align 8, !tbaa !9
  %11403 = getelementptr inbounds %struct.complex, ptr %11401, i64 %11402
  %11404 = getelementptr inbounds %struct.complex, ptr %11403, i32 0, i32 1
  %11405 = load float, ptr %11404, align 4, !tbaa !14
  %11406 = fmul float %11400, %11405
  %11407 = fneg float %11406
  %11408 = call float @llvm.fmuladd.f32(float %11393, float %11398, float %11407)
  %11409 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %11408, ptr %11409, align 4, !tbaa !11
  %11410 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %11411 = load float, ptr %11410, align 4, !tbaa !11
  %11412 = load ptr, ptr %15, align 8, !tbaa !5
  %11413 = load i64, ptr %25, align 8, !tbaa !9
  %11414 = getelementptr inbounds %struct.complex, ptr %11412, i64 %11413
  %11415 = getelementptr inbounds %struct.complex, ptr %11414, i32 0, i32 1
  %11416 = load float, ptr %11415, align 4, !tbaa !14
  %11417 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %11418 = load float, ptr %11417, align 4, !tbaa !14
  %11419 = load ptr, ptr %15, align 8, !tbaa !5
  %11420 = load i64, ptr %25, align 8, !tbaa !9
  %11421 = getelementptr inbounds %struct.complex, ptr %11419, i64 %11420
  %11422 = getelementptr inbounds %struct.complex, ptr %11421, i32 0, i32 0
  %11423 = load float, ptr %11422, align 4, !tbaa !11
  %11424 = fmul float %11418, %11423
  %11425 = call float @llvm.fmuladd.f32(float %11411, float %11416, float %11424)
  %11426 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %11425, ptr %11426, align 4, !tbaa !14
  %11427 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %11428 = load float, ptr %11427, align 4, !tbaa !11
  %11429 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %11430 = load float, ptr %11429, align 4, !tbaa !11
  %11431 = fadd float %11428, %11430
  %11432 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11431, ptr %11432, align 4, !tbaa !11
  %11433 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %11434 = load float, ptr %11433, align 4, !tbaa !14
  %11435 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %11436 = load float, ptr %11435, align 4, !tbaa !14
  %11437 = fadd float %11434, %11436
  %11438 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11437, ptr %11438, align 4, !tbaa !14
  %11439 = load i64, ptr %50, align 8, !tbaa !9
  %11440 = load i64, ptr %18, align 8, !tbaa !9
  %11441 = mul nsw i64 %11440, 6
  %11442 = add nsw i64 %11439, %11441
  store i64 %11442, ptr %26, align 8, !tbaa !9
  %11443 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %11444 = load float, ptr %11443, align 4, !tbaa !11
  %11445 = load ptr, ptr %15, align 8, !tbaa !5
  %11446 = load i64, ptr %26, align 8, !tbaa !9
  %11447 = getelementptr inbounds %struct.complex, ptr %11445, i64 %11446
  %11448 = getelementptr inbounds %struct.complex, ptr %11447, i32 0, i32 0
  %11449 = load float, ptr %11448, align 4, !tbaa !11
  %11450 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %11451 = load float, ptr %11450, align 4, !tbaa !14
  %11452 = load ptr, ptr %15, align 8, !tbaa !5
  %11453 = load i64, ptr %26, align 8, !tbaa !9
  %11454 = getelementptr inbounds %struct.complex, ptr %11452, i64 %11453
  %11455 = getelementptr inbounds %struct.complex, ptr %11454, i32 0, i32 1
  %11456 = load float, ptr %11455, align 4, !tbaa !14
  %11457 = fmul float %11451, %11456
  %11458 = fneg float %11457
  %11459 = call float @llvm.fmuladd.f32(float %11444, float %11449, float %11458)
  %11460 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %11459, ptr %11460, align 4, !tbaa !11
  %11461 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %11462 = load float, ptr %11461, align 4, !tbaa !11
  %11463 = load ptr, ptr %15, align 8, !tbaa !5
  %11464 = load i64, ptr %26, align 8, !tbaa !9
  %11465 = getelementptr inbounds %struct.complex, ptr %11463, i64 %11464
  %11466 = getelementptr inbounds %struct.complex, ptr %11465, i32 0, i32 1
  %11467 = load float, ptr %11466, align 4, !tbaa !14
  %11468 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %11469 = load float, ptr %11468, align 4, !tbaa !14
  %11470 = load ptr, ptr %15, align 8, !tbaa !5
  %11471 = load i64, ptr %26, align 8, !tbaa !9
  %11472 = getelementptr inbounds %struct.complex, ptr %11470, i64 %11471
  %11473 = getelementptr inbounds %struct.complex, ptr %11472, i32 0, i32 0
  %11474 = load float, ptr %11473, align 4, !tbaa !11
  %11475 = fmul float %11469, %11474
  %11476 = call float @llvm.fmuladd.f32(float %11462, float %11467, float %11475)
  %11477 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %11476, ptr %11477, align 4, !tbaa !14
  %11478 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11479 = load float, ptr %11478, align 4, !tbaa !11
  %11480 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %11481 = load float, ptr %11480, align 4, !tbaa !11
  %11482 = fadd float %11479, %11481
  %11483 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11482, ptr %11483, align 4, !tbaa !11
  %11484 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11485 = load float, ptr %11484, align 4, !tbaa !14
  %11486 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %11487 = load float, ptr %11486, align 4, !tbaa !14
  %11488 = fadd float %11485, %11487
  %11489 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11488, ptr %11489, align 4, !tbaa !14
  %11490 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11491 = load float, ptr %11490, align 4, !tbaa !11
  %11492 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %11491, ptr %11492, align 4, !tbaa !11
  %11493 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11494 = load float, ptr %11493, align 4, !tbaa !14
  %11495 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %11494, ptr %11495, align 4, !tbaa !14
  %11496 = load i64, ptr %50, align 8, !tbaa !9
  %11497 = load i64, ptr %18, align 8, !tbaa !9
  %11498 = add nsw i64 %11496, %11497
  store i64 %11498, ptr %21, align 8, !tbaa !9
  %11499 = load i64, ptr %50, align 8, !tbaa !9
  %11500 = load i64, ptr %18, align 8, !tbaa !9
  %11501 = add nsw i64 %11499, %11500
  store i64 %11501, ptr %22, align 8, !tbaa !9
  %11502 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11503 = load float, ptr %11502, align 4, !tbaa !11
  %11504 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %11505 = load float, ptr %11504, align 4, !tbaa !11
  %11506 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11507 = load float, ptr %11506, align 4, !tbaa !14
  %11508 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %11509 = load float, ptr %11508, align 4, !tbaa !14
  %11510 = fmul float %11507, %11509
  %11511 = fneg float %11510
  %11512 = call float @llvm.fmuladd.f32(float %11503, float %11505, float %11511)
  %11513 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11512, ptr %11513, align 4, !tbaa !11
  %11514 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11515 = load float, ptr %11514, align 4, !tbaa !11
  %11516 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %11517 = load float, ptr %11516, align 4, !tbaa !14
  %11518 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11519 = load float, ptr %11518, align 4, !tbaa !14
  %11520 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %11521 = load float, ptr %11520, align 4, !tbaa !11
  %11522 = fmul float %11519, %11521
  %11523 = call float @llvm.fmuladd.f32(float %11515, float %11517, float %11522)
  %11524 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11523, ptr %11524, align 4, !tbaa !14
  %11525 = load ptr, ptr %15, align 8, !tbaa !5
  %11526 = load i64, ptr %22, align 8, !tbaa !9
  %11527 = getelementptr inbounds %struct.complex, ptr %11525, i64 %11526
  %11528 = getelementptr inbounds %struct.complex, ptr %11527, i32 0, i32 0
  %11529 = load float, ptr %11528, align 4, !tbaa !11
  %11530 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11531 = load float, ptr %11530, align 4, !tbaa !11
  %11532 = fsub float %11529, %11531
  %11533 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11532, ptr %11533, align 4, !tbaa !11
  %11534 = load ptr, ptr %15, align 8, !tbaa !5
  %11535 = load i64, ptr %22, align 8, !tbaa !9
  %11536 = getelementptr inbounds %struct.complex, ptr %11534, i64 %11535
  %11537 = getelementptr inbounds %struct.complex, ptr %11536, i32 0, i32 1
  %11538 = load float, ptr %11537, align 4, !tbaa !14
  %11539 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11540 = load float, ptr %11539, align 4, !tbaa !14
  %11541 = fsub float %11538, %11540
  %11542 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11541, ptr %11542, align 4, !tbaa !14
  %11543 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11544 = load float, ptr %11543, align 4, !tbaa !11
  %11545 = load ptr, ptr %15, align 8, !tbaa !5
  %11546 = load i64, ptr %21, align 8, !tbaa !9
  %11547 = getelementptr inbounds %struct.complex, ptr %11545, i64 %11546
  %11548 = getelementptr inbounds %struct.complex, ptr %11547, i32 0, i32 0
  store float %11544, ptr %11548, align 4, !tbaa !11
  %11549 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11550 = load float, ptr %11549, align 4, !tbaa !14
  %11551 = load ptr, ptr %15, align 8, !tbaa !5
  %11552 = load i64, ptr %21, align 8, !tbaa !9
  %11553 = getelementptr inbounds %struct.complex, ptr %11551, i64 %11552
  %11554 = getelementptr inbounds %struct.complex, ptr %11553, i32 0, i32 1
  store float %11550, ptr %11554, align 4, !tbaa !14
  %11555 = load i64, ptr %50, align 8, !tbaa !9
  %11556 = load i64, ptr %18, align 8, !tbaa !9
  %11557 = shl i64 %11556, 1
  %11558 = add nsw i64 %11555, %11557
  store i64 %11558, ptr %21, align 8, !tbaa !9
  %11559 = load i64, ptr %50, align 8, !tbaa !9
  %11560 = load i64, ptr %18, align 8, !tbaa !9
  %11561 = shl i64 %11560, 1
  %11562 = add nsw i64 %11559, %11561
  store i64 %11562, ptr %22, align 8, !tbaa !9
  %11563 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11564 = load float, ptr %11563, align 4, !tbaa !11
  %11565 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %11566 = load float, ptr %11565, align 4, !tbaa !11
  %11567 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11568 = load float, ptr %11567, align 4, !tbaa !14
  %11569 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %11570 = load float, ptr %11569, align 4, !tbaa !14
  %11571 = fmul float %11568, %11570
  %11572 = fneg float %11571
  %11573 = call float @llvm.fmuladd.f32(float %11564, float %11566, float %11572)
  %11574 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11573, ptr %11574, align 4, !tbaa !11
  %11575 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11576 = load float, ptr %11575, align 4, !tbaa !11
  %11577 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %11578 = load float, ptr %11577, align 4, !tbaa !14
  %11579 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11580 = load float, ptr %11579, align 4, !tbaa !14
  %11581 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %11582 = load float, ptr %11581, align 4, !tbaa !11
  %11583 = fmul float %11580, %11582
  %11584 = call float @llvm.fmuladd.f32(float %11576, float %11578, float %11583)
  %11585 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11584, ptr %11585, align 4, !tbaa !14
  %11586 = load ptr, ptr %15, align 8, !tbaa !5
  %11587 = load i64, ptr %22, align 8, !tbaa !9
  %11588 = getelementptr inbounds %struct.complex, ptr %11586, i64 %11587
  %11589 = getelementptr inbounds %struct.complex, ptr %11588, i32 0, i32 0
  %11590 = load float, ptr %11589, align 4, !tbaa !11
  %11591 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11592 = load float, ptr %11591, align 4, !tbaa !11
  %11593 = fsub float %11590, %11592
  %11594 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11593, ptr %11594, align 4, !tbaa !11
  %11595 = load ptr, ptr %15, align 8, !tbaa !5
  %11596 = load i64, ptr %22, align 8, !tbaa !9
  %11597 = getelementptr inbounds %struct.complex, ptr %11595, i64 %11596
  %11598 = getelementptr inbounds %struct.complex, ptr %11597, i32 0, i32 1
  %11599 = load float, ptr %11598, align 4, !tbaa !14
  %11600 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11601 = load float, ptr %11600, align 4, !tbaa !14
  %11602 = fsub float %11599, %11601
  %11603 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11602, ptr %11603, align 4, !tbaa !14
  %11604 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11605 = load float, ptr %11604, align 4, !tbaa !11
  %11606 = load ptr, ptr %15, align 8, !tbaa !5
  %11607 = load i64, ptr %21, align 8, !tbaa !9
  %11608 = getelementptr inbounds %struct.complex, ptr %11606, i64 %11607
  %11609 = getelementptr inbounds %struct.complex, ptr %11608, i32 0, i32 0
  store float %11605, ptr %11609, align 4, !tbaa !11
  %11610 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11611 = load float, ptr %11610, align 4, !tbaa !14
  %11612 = load ptr, ptr %15, align 8, !tbaa !5
  %11613 = load i64, ptr %21, align 8, !tbaa !9
  %11614 = getelementptr inbounds %struct.complex, ptr %11612, i64 %11613
  %11615 = getelementptr inbounds %struct.complex, ptr %11614, i32 0, i32 1
  store float %11611, ptr %11615, align 4, !tbaa !14
  %11616 = load i64, ptr %50, align 8, !tbaa !9
  %11617 = load i64, ptr %18, align 8, !tbaa !9
  %11618 = mul nsw i64 %11617, 3
  %11619 = add nsw i64 %11616, %11618
  store i64 %11619, ptr %21, align 8, !tbaa !9
  %11620 = load i64, ptr %50, align 8, !tbaa !9
  %11621 = load i64, ptr %18, align 8, !tbaa !9
  %11622 = mul nsw i64 %11621, 3
  %11623 = add nsw i64 %11620, %11622
  store i64 %11623, ptr %22, align 8, !tbaa !9
  %11624 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11625 = load float, ptr %11624, align 4, !tbaa !11
  %11626 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %11627 = load float, ptr %11626, align 4, !tbaa !11
  %11628 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11629 = load float, ptr %11628, align 4, !tbaa !14
  %11630 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %11631 = load float, ptr %11630, align 4, !tbaa !14
  %11632 = fmul float %11629, %11631
  %11633 = fneg float %11632
  %11634 = call float @llvm.fmuladd.f32(float %11625, float %11627, float %11633)
  %11635 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11634, ptr %11635, align 4, !tbaa !11
  %11636 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11637 = load float, ptr %11636, align 4, !tbaa !11
  %11638 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %11639 = load float, ptr %11638, align 4, !tbaa !14
  %11640 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11641 = load float, ptr %11640, align 4, !tbaa !14
  %11642 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %11643 = load float, ptr %11642, align 4, !tbaa !11
  %11644 = fmul float %11641, %11643
  %11645 = call float @llvm.fmuladd.f32(float %11637, float %11639, float %11644)
  %11646 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11645, ptr %11646, align 4, !tbaa !14
  %11647 = load ptr, ptr %15, align 8, !tbaa !5
  %11648 = load i64, ptr %22, align 8, !tbaa !9
  %11649 = getelementptr inbounds %struct.complex, ptr %11647, i64 %11648
  %11650 = getelementptr inbounds %struct.complex, ptr %11649, i32 0, i32 0
  %11651 = load float, ptr %11650, align 4, !tbaa !11
  %11652 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11653 = load float, ptr %11652, align 4, !tbaa !11
  %11654 = fsub float %11651, %11653
  %11655 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11654, ptr %11655, align 4, !tbaa !11
  %11656 = load ptr, ptr %15, align 8, !tbaa !5
  %11657 = load i64, ptr %22, align 8, !tbaa !9
  %11658 = getelementptr inbounds %struct.complex, ptr %11656, i64 %11657
  %11659 = getelementptr inbounds %struct.complex, ptr %11658, i32 0, i32 1
  %11660 = load float, ptr %11659, align 4, !tbaa !14
  %11661 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11662 = load float, ptr %11661, align 4, !tbaa !14
  %11663 = fsub float %11660, %11662
  %11664 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11663, ptr %11664, align 4, !tbaa !14
  %11665 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11666 = load float, ptr %11665, align 4, !tbaa !11
  %11667 = load ptr, ptr %15, align 8, !tbaa !5
  %11668 = load i64, ptr %21, align 8, !tbaa !9
  %11669 = getelementptr inbounds %struct.complex, ptr %11667, i64 %11668
  %11670 = getelementptr inbounds %struct.complex, ptr %11669, i32 0, i32 0
  store float %11666, ptr %11670, align 4, !tbaa !11
  %11671 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11672 = load float, ptr %11671, align 4, !tbaa !14
  %11673 = load ptr, ptr %15, align 8, !tbaa !5
  %11674 = load i64, ptr %21, align 8, !tbaa !9
  %11675 = getelementptr inbounds %struct.complex, ptr %11673, i64 %11674
  %11676 = getelementptr inbounds %struct.complex, ptr %11675, i32 0, i32 1
  store float %11672, ptr %11676, align 4, !tbaa !14
  %11677 = load i64, ptr %50, align 8, !tbaa !9
  %11678 = load i64, ptr %18, align 8, !tbaa !9
  %11679 = shl i64 %11678, 2
  %11680 = add nsw i64 %11677, %11679
  store i64 %11680, ptr %21, align 8, !tbaa !9
  %11681 = load i64, ptr %50, align 8, !tbaa !9
  %11682 = load i64, ptr %18, align 8, !tbaa !9
  %11683 = shl i64 %11682, 2
  %11684 = add nsw i64 %11681, %11683
  store i64 %11684, ptr %22, align 8, !tbaa !9
  %11685 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11686 = load float, ptr %11685, align 4, !tbaa !11
  %11687 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %11688 = load float, ptr %11687, align 4, !tbaa !11
  %11689 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11690 = load float, ptr %11689, align 4, !tbaa !14
  %11691 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %11692 = load float, ptr %11691, align 4, !tbaa !14
  %11693 = fmul float %11690, %11692
  %11694 = fneg float %11693
  %11695 = call float @llvm.fmuladd.f32(float %11686, float %11688, float %11694)
  %11696 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11695, ptr %11696, align 4, !tbaa !11
  %11697 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11698 = load float, ptr %11697, align 4, !tbaa !11
  %11699 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %11700 = load float, ptr %11699, align 4, !tbaa !14
  %11701 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11702 = load float, ptr %11701, align 4, !tbaa !14
  %11703 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %11704 = load float, ptr %11703, align 4, !tbaa !11
  %11705 = fmul float %11702, %11704
  %11706 = call float @llvm.fmuladd.f32(float %11698, float %11700, float %11705)
  %11707 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11706, ptr %11707, align 4, !tbaa !14
  %11708 = load ptr, ptr %15, align 8, !tbaa !5
  %11709 = load i64, ptr %22, align 8, !tbaa !9
  %11710 = getelementptr inbounds %struct.complex, ptr %11708, i64 %11709
  %11711 = getelementptr inbounds %struct.complex, ptr %11710, i32 0, i32 0
  %11712 = load float, ptr %11711, align 4, !tbaa !11
  %11713 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11714 = load float, ptr %11713, align 4, !tbaa !11
  %11715 = fsub float %11712, %11714
  %11716 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11715, ptr %11716, align 4, !tbaa !11
  %11717 = load ptr, ptr %15, align 8, !tbaa !5
  %11718 = load i64, ptr %22, align 8, !tbaa !9
  %11719 = getelementptr inbounds %struct.complex, ptr %11717, i64 %11718
  %11720 = getelementptr inbounds %struct.complex, ptr %11719, i32 0, i32 1
  %11721 = load float, ptr %11720, align 4, !tbaa !14
  %11722 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11723 = load float, ptr %11722, align 4, !tbaa !14
  %11724 = fsub float %11721, %11723
  %11725 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11724, ptr %11725, align 4, !tbaa !14
  %11726 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11727 = load float, ptr %11726, align 4, !tbaa !11
  %11728 = load ptr, ptr %15, align 8, !tbaa !5
  %11729 = load i64, ptr %21, align 8, !tbaa !9
  %11730 = getelementptr inbounds %struct.complex, ptr %11728, i64 %11729
  %11731 = getelementptr inbounds %struct.complex, ptr %11730, i32 0, i32 0
  store float %11727, ptr %11731, align 4, !tbaa !11
  %11732 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11733 = load float, ptr %11732, align 4, !tbaa !14
  %11734 = load ptr, ptr %15, align 8, !tbaa !5
  %11735 = load i64, ptr %21, align 8, !tbaa !9
  %11736 = getelementptr inbounds %struct.complex, ptr %11734, i64 %11735
  %11737 = getelementptr inbounds %struct.complex, ptr %11736, i32 0, i32 1
  store float %11733, ptr %11737, align 4, !tbaa !14
  %11738 = load i64, ptr %50, align 8, !tbaa !9
  %11739 = load i64, ptr %18, align 8, !tbaa !9
  %11740 = mul nsw i64 %11739, 5
  %11741 = add nsw i64 %11738, %11740
  store i64 %11741, ptr %21, align 8, !tbaa !9
  %11742 = load i64, ptr %50, align 8, !tbaa !9
  %11743 = load i64, ptr %18, align 8, !tbaa !9
  %11744 = mul nsw i64 %11743, 5
  %11745 = add nsw i64 %11742, %11744
  store i64 %11745, ptr %22, align 8, !tbaa !9
  %11746 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11747 = load float, ptr %11746, align 4, !tbaa !11
  %11748 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %11749 = load float, ptr %11748, align 4, !tbaa !11
  %11750 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11751 = load float, ptr %11750, align 4, !tbaa !14
  %11752 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %11753 = load float, ptr %11752, align 4, !tbaa !14
  %11754 = fmul float %11751, %11753
  %11755 = fneg float %11754
  %11756 = call float @llvm.fmuladd.f32(float %11747, float %11749, float %11755)
  %11757 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11756, ptr %11757, align 4, !tbaa !11
  %11758 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11759 = load float, ptr %11758, align 4, !tbaa !11
  %11760 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %11761 = load float, ptr %11760, align 4, !tbaa !14
  %11762 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11763 = load float, ptr %11762, align 4, !tbaa !14
  %11764 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %11765 = load float, ptr %11764, align 4, !tbaa !11
  %11766 = fmul float %11763, %11765
  %11767 = call float @llvm.fmuladd.f32(float %11759, float %11761, float %11766)
  %11768 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11767, ptr %11768, align 4, !tbaa !14
  %11769 = load ptr, ptr %15, align 8, !tbaa !5
  %11770 = load i64, ptr %22, align 8, !tbaa !9
  %11771 = getelementptr inbounds %struct.complex, ptr %11769, i64 %11770
  %11772 = getelementptr inbounds %struct.complex, ptr %11771, i32 0, i32 0
  %11773 = load float, ptr %11772, align 4, !tbaa !11
  %11774 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11775 = load float, ptr %11774, align 4, !tbaa !11
  %11776 = fsub float %11773, %11775
  %11777 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11776, ptr %11777, align 4, !tbaa !11
  %11778 = load ptr, ptr %15, align 8, !tbaa !5
  %11779 = load i64, ptr %22, align 8, !tbaa !9
  %11780 = getelementptr inbounds %struct.complex, ptr %11778, i64 %11779
  %11781 = getelementptr inbounds %struct.complex, ptr %11780, i32 0, i32 1
  %11782 = load float, ptr %11781, align 4, !tbaa !14
  %11783 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11784 = load float, ptr %11783, align 4, !tbaa !14
  %11785 = fsub float %11782, %11784
  %11786 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11785, ptr %11786, align 4, !tbaa !14
  %11787 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11788 = load float, ptr %11787, align 4, !tbaa !11
  %11789 = load ptr, ptr %15, align 8, !tbaa !5
  %11790 = load i64, ptr %21, align 8, !tbaa !9
  %11791 = getelementptr inbounds %struct.complex, ptr %11789, i64 %11790
  %11792 = getelementptr inbounds %struct.complex, ptr %11791, i32 0, i32 0
  store float %11788, ptr %11792, align 4, !tbaa !11
  %11793 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11794 = load float, ptr %11793, align 4, !tbaa !14
  %11795 = load ptr, ptr %15, align 8, !tbaa !5
  %11796 = load i64, ptr %21, align 8, !tbaa !9
  %11797 = getelementptr inbounds %struct.complex, ptr %11795, i64 %11796
  %11798 = getelementptr inbounds %struct.complex, ptr %11797, i32 0, i32 1
  store float %11794, ptr %11798, align 4, !tbaa !14
  %11799 = load i64, ptr %50, align 8, !tbaa !9
  %11800 = load i64, ptr %18, align 8, !tbaa !9
  %11801 = mul nsw i64 %11800, 6
  %11802 = add nsw i64 %11799, %11801
  store i64 %11802, ptr %21, align 8, !tbaa !9
  %11803 = load i64, ptr %50, align 8, !tbaa !9
  %11804 = load i64, ptr %18, align 8, !tbaa !9
  %11805 = mul nsw i64 %11804, 6
  %11806 = add nsw i64 %11803, %11805
  store i64 %11806, ptr %22, align 8, !tbaa !9
  %11807 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11808 = load float, ptr %11807, align 4, !tbaa !11
  %11809 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %11810 = load float, ptr %11809, align 4, !tbaa !11
  %11811 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11812 = load float, ptr %11811, align 4, !tbaa !14
  %11813 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %11814 = load float, ptr %11813, align 4, !tbaa !14
  %11815 = fmul float %11812, %11814
  %11816 = fneg float %11815
  %11817 = call float @llvm.fmuladd.f32(float %11808, float %11810, float %11816)
  %11818 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %11817, ptr %11818, align 4, !tbaa !11
  %11819 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %11820 = load float, ptr %11819, align 4, !tbaa !11
  %11821 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %11822 = load float, ptr %11821, align 4, !tbaa !14
  %11823 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %11824 = load float, ptr %11823, align 4, !tbaa !14
  %11825 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %11826 = load float, ptr %11825, align 4, !tbaa !11
  %11827 = fmul float %11824, %11826
  %11828 = call float @llvm.fmuladd.f32(float %11820, float %11822, float %11827)
  %11829 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %11828, ptr %11829, align 4, !tbaa !14
  %11830 = load ptr, ptr %15, align 8, !tbaa !5
  %11831 = load i64, ptr %22, align 8, !tbaa !9
  %11832 = getelementptr inbounds %struct.complex, ptr %11830, i64 %11831
  %11833 = getelementptr inbounds %struct.complex, ptr %11832, i32 0, i32 0
  %11834 = load float, ptr %11833, align 4, !tbaa !11
  %11835 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11836 = load float, ptr %11835, align 4, !tbaa !11
  %11837 = fsub float %11834, %11836
  %11838 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11837, ptr %11838, align 4, !tbaa !11
  %11839 = load ptr, ptr %15, align 8, !tbaa !5
  %11840 = load i64, ptr %22, align 8, !tbaa !9
  %11841 = getelementptr inbounds %struct.complex, ptr %11839, i64 %11840
  %11842 = getelementptr inbounds %struct.complex, ptr %11841, i32 0, i32 1
  %11843 = load float, ptr %11842, align 4, !tbaa !14
  %11844 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11845 = load float, ptr %11844, align 4, !tbaa !14
  %11846 = fsub float %11843, %11845
  %11847 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11846, ptr %11847, align 4, !tbaa !14
  %11848 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11849 = load float, ptr %11848, align 4, !tbaa !11
  %11850 = load ptr, ptr %15, align 8, !tbaa !5
  %11851 = load i64, ptr %21, align 8, !tbaa !9
  %11852 = getelementptr inbounds %struct.complex, ptr %11850, i64 %11851
  %11853 = getelementptr inbounds %struct.complex, ptr %11852, i32 0, i32 0
  store float %11849, ptr %11853, align 4, !tbaa !11
  %11854 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11855 = load float, ptr %11854, align 4, !tbaa !14
  %11856 = load ptr, ptr %15, align 8, !tbaa !5
  %11857 = load i64, ptr %21, align 8, !tbaa !9
  %11858 = getelementptr inbounds %struct.complex, ptr %11856, i64 %11857
  %11859 = getelementptr inbounds %struct.complex, ptr %11858, i32 0, i32 1
  store float %11855, ptr %11859, align 4, !tbaa !14
  br label %11860

11860:                                            ; preds = %11196
  %11861 = load i64, ptr %50, align 8, !tbaa !9
  %11862 = add nsw i64 %11861, 1
  store i64 %11862, ptr %50, align 8, !tbaa !9
  br label %11192, !llvm.loop !31

11863:                                            ; preds = %11192
  br label %17146

11864:                                            ; preds = %8592
  %11865 = load ptr, ptr %13, align 8, !tbaa !5
  %11866 = getelementptr inbounds %struct.complex, ptr %11865, i64 1
  %11867 = getelementptr inbounds %struct.complex, ptr %11866, i32 0, i32 0
  %11868 = load float, ptr %11867, align 4, !tbaa !11
  %11869 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %11868, ptr %11869, align 4, !tbaa !11
  %11870 = load ptr, ptr %13, align 8, !tbaa !5
  %11871 = getelementptr inbounds %struct.complex, ptr %11870, i64 1
  %11872 = getelementptr inbounds %struct.complex, ptr %11871, i32 0, i32 1
  %11873 = load float, ptr %11872, align 4, !tbaa !14
  %11874 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %11873, ptr %11874, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %11875 = load ptr, ptr %14, align 8, !tbaa !5
  %11876 = getelementptr inbounds %struct.complex, ptr %11875, i32 0, i32 0
  %11877 = load float, ptr %11876, align 4, !tbaa !11
  %11878 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11879 = load float, ptr %11878, align 4, !tbaa !11
  %11880 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 1
  %11884 = load float, ptr %11883, align 4, !tbaa !14
  %11885 = fmul float %11882, %11884
  %11886 = fneg float %11885
  %11887 = call float @llvm.fmuladd.f32(float %11877, float %11879, float %11886)
  %11888 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11887, ptr %11888, align 4, !tbaa !11
  %11889 = load ptr, ptr %14, align 8, !tbaa !5
  %11890 = getelementptr inbounds %struct.complex, ptr %11889, i32 0, i32 0
  %11891 = load float, ptr %11890, align 4, !tbaa !11
  %11892 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11893 = load float, ptr %11892, align 4, !tbaa !14
  %11894 = load ptr, ptr %14, align 8, !tbaa !5
  %11895 = getelementptr inbounds %struct.complex, ptr %11894, i32 0, i32 1
  %11896 = load float, ptr %11895, align 4, !tbaa !14
  %11897 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11898 = load float, ptr %11897, align 4, !tbaa !11
  %11899 = fmul float %11896, %11898
  %11900 = call float @llvm.fmuladd.f32(float %11891, float %11893, float %11899)
  %11901 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11900, ptr %11901, align 4, !tbaa !14
  %11902 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11903 = load float, ptr %11902, align 4, !tbaa !11
  %11904 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %11903, ptr %11904, align 4, !tbaa !11
  %11905 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11906 = load float, ptr %11905, align 4, !tbaa !14
  %11907 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %11906, ptr %11907, align 4, !tbaa !14
  %11908 = load ptr, ptr %13, align 8, !tbaa !5
  %11909 = getelementptr inbounds %struct.complex, ptr %11908, i64 2
  %11910 = getelementptr inbounds %struct.complex, ptr %11909, i32 0, i32 0
  %11911 = load float, ptr %11910, align 4, !tbaa !11
  %11912 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %11911, ptr %11912, align 4, !tbaa !11
  %11913 = load ptr, ptr %13, align 8, !tbaa !5
  %11914 = getelementptr inbounds %struct.complex, ptr %11913, i64 2
  %11915 = getelementptr inbounds %struct.complex, ptr %11914, i32 0, i32 1
  %11916 = load float, ptr %11915, align 4, !tbaa !14
  %11917 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %11916, ptr %11917, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %11918 = load ptr, ptr %14, align 8, !tbaa !5
  %11919 = getelementptr inbounds %struct.complex, ptr %11918, i32 0, i32 0
  %11920 = load float, ptr %11919, align 4, !tbaa !11
  %11921 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11922 = load float, ptr %11921, align 4, !tbaa !11
  %11923 = load ptr, ptr %14, align 8, !tbaa !5
  %11924 = getelementptr inbounds %struct.complex, ptr %11923, i32 0, i32 1
  %11925 = load float, ptr %11924, align 4, !tbaa !14
  %11926 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11927 = load float, ptr %11926, align 4, !tbaa !14
  %11928 = fmul float %11925, %11927
  %11929 = fneg float %11928
  %11930 = call float @llvm.fmuladd.f32(float %11920, float %11922, float %11929)
  %11931 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11930, ptr %11931, align 4, !tbaa !11
  %11932 = load ptr, ptr %14, align 8, !tbaa !5
  %11933 = getelementptr inbounds %struct.complex, ptr %11932, i32 0, i32 0
  %11934 = load float, ptr %11933, align 4, !tbaa !11
  %11935 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11936 = load float, ptr %11935, align 4, !tbaa !14
  %11937 = load ptr, ptr %14, align 8, !tbaa !5
  %11938 = getelementptr inbounds %struct.complex, ptr %11937, i32 0, i32 1
  %11939 = load float, ptr %11938, align 4, !tbaa !14
  %11940 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11941 = load float, ptr %11940, align 4, !tbaa !11
  %11942 = fmul float %11939, %11941
  %11943 = call float @llvm.fmuladd.f32(float %11934, float %11936, float %11942)
  %11944 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11943, ptr %11944, align 4, !tbaa !14
  %11945 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11946 = load float, ptr %11945, align 4, !tbaa !11
  %11947 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %11946, ptr %11947, align 4, !tbaa !11
  %11948 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11949 = load float, ptr %11948, align 4, !tbaa !14
  %11950 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %11949, ptr %11950, align 4, !tbaa !14
  %11951 = load ptr, ptr %13, align 8, !tbaa !5
  %11952 = getelementptr inbounds %struct.complex, ptr %11951, i64 3
  %11953 = getelementptr inbounds %struct.complex, ptr %11952, i32 0, i32 0
  %11954 = load float, ptr %11953, align 4, !tbaa !11
  %11955 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %11954, ptr %11955, align 4, !tbaa !11
  %11956 = load ptr, ptr %13, align 8, !tbaa !5
  %11957 = getelementptr inbounds %struct.complex, ptr %11956, i64 3
  %11958 = getelementptr inbounds %struct.complex, ptr %11957, i32 0, i32 1
  %11959 = load float, ptr %11958, align 4, !tbaa !14
  %11960 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %11959, ptr %11960, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %11961 = load ptr, ptr %14, align 8, !tbaa !5
  %11962 = getelementptr inbounds %struct.complex, ptr %11961, i32 0, i32 0
  %11963 = load float, ptr %11962, align 4, !tbaa !11
  %11964 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11965 = load float, ptr %11964, align 4, !tbaa !11
  %11966 = load ptr, ptr %14, align 8, !tbaa !5
  %11967 = getelementptr inbounds %struct.complex, ptr %11966, i32 0, i32 1
  %11968 = load float, ptr %11967, align 4, !tbaa !14
  %11969 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11970 = load float, ptr %11969, align 4, !tbaa !14
  %11971 = fmul float %11968, %11970
  %11972 = fneg float %11971
  %11973 = call float @llvm.fmuladd.f32(float %11963, float %11965, float %11972)
  %11974 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %11973, ptr %11974, align 4, !tbaa !11
  %11975 = load ptr, ptr %14, align 8, !tbaa !5
  %11976 = getelementptr inbounds %struct.complex, ptr %11975, i32 0, i32 0
  %11977 = load float, ptr %11976, align 4, !tbaa !11
  %11978 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %11979 = load float, ptr %11978, align 4, !tbaa !14
  %11980 = load ptr, ptr %14, align 8, !tbaa !5
  %11981 = getelementptr inbounds %struct.complex, ptr %11980, i32 0, i32 1
  %11982 = load float, ptr %11981, align 4, !tbaa !14
  %11983 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %11984 = load float, ptr %11983, align 4, !tbaa !11
  %11985 = fmul float %11982, %11984
  %11986 = call float @llvm.fmuladd.f32(float %11977, float %11979, float %11985)
  %11987 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %11986, ptr %11987, align 4, !tbaa !14
  %11988 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %11989 = load float, ptr %11988, align 4, !tbaa !11
  %11990 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %11989, ptr %11990, align 4, !tbaa !11
  %11991 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %11992 = load float, ptr %11991, align 4, !tbaa !14
  %11993 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %11992, ptr %11993, align 4, !tbaa !14
  %11994 = load ptr, ptr %13, align 8, !tbaa !5
  %11995 = getelementptr inbounds %struct.complex, ptr %11994, i64 4
  %11996 = getelementptr inbounds %struct.complex, ptr %11995, i32 0, i32 0
  %11997 = load float, ptr %11996, align 4, !tbaa !11
  %11998 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %11997, ptr %11998, align 4, !tbaa !11
  %11999 = load ptr, ptr %13, align 8, !tbaa !5
  %12000 = getelementptr inbounds %struct.complex, ptr %11999, i64 4
  %12001 = getelementptr inbounds %struct.complex, ptr %12000, i32 0, i32 1
  %12002 = load float, ptr %12001, align 4, !tbaa !14
  %12003 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %12002, ptr %12003, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %12004 = load ptr, ptr %14, align 8, !tbaa !5
  %12005 = getelementptr inbounds %struct.complex, ptr %12004, i32 0, i32 0
  %12006 = load float, ptr %12005, align 4, !tbaa !11
  %12007 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12008 = load float, ptr %12007, align 4, !tbaa !11
  %12009 = load ptr, ptr %14, align 8, !tbaa !5
  %12010 = getelementptr inbounds %struct.complex, ptr %12009, i32 0, i32 1
  %12011 = load float, ptr %12010, align 4, !tbaa !14
  %12012 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12013 = load float, ptr %12012, align 4, !tbaa !14
  %12014 = fmul float %12011, %12013
  %12015 = fneg float %12014
  %12016 = call float @llvm.fmuladd.f32(float %12006, float %12008, float %12015)
  %12017 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12016, ptr %12017, align 4, !tbaa !11
  %12018 = load ptr, ptr %14, align 8, !tbaa !5
  %12019 = getelementptr inbounds %struct.complex, ptr %12018, i32 0, i32 0
  %12020 = load float, ptr %12019, align 4, !tbaa !11
  %12021 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12022 = load float, ptr %12021, align 4, !tbaa !14
  %12023 = load ptr, ptr %14, align 8, !tbaa !5
  %12024 = getelementptr inbounds %struct.complex, ptr %12023, i32 0, i32 1
  %12025 = load float, ptr %12024, align 4, !tbaa !14
  %12026 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12027 = load float, ptr %12026, align 4, !tbaa !11
  %12028 = fmul float %12025, %12027
  %12029 = call float @llvm.fmuladd.f32(float %12020, float %12022, float %12028)
  %12030 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12029, ptr %12030, align 4, !tbaa !14
  %12031 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12032 = load float, ptr %12031, align 4, !tbaa !11
  %12033 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %12032, ptr %12033, align 4, !tbaa !11
  %12034 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12035 = load float, ptr %12034, align 4, !tbaa !14
  %12036 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %12035, ptr %12036, align 4, !tbaa !14
  %12037 = load ptr, ptr %13, align 8, !tbaa !5
  %12038 = getelementptr inbounds %struct.complex, ptr %12037, i64 5
  %12039 = getelementptr inbounds %struct.complex, ptr %12038, i32 0, i32 0
  %12040 = load float, ptr %12039, align 4, !tbaa !11
  %12041 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %12040, ptr %12041, align 4, !tbaa !11
  %12042 = load ptr, ptr %13, align 8, !tbaa !5
  %12043 = getelementptr inbounds %struct.complex, ptr %12042, i64 5
  %12044 = getelementptr inbounds %struct.complex, ptr %12043, i32 0, i32 1
  %12045 = load float, ptr %12044, align 4, !tbaa !14
  %12046 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %12045, ptr %12046, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %12047 = load ptr, ptr %14, align 8, !tbaa !5
  %12048 = getelementptr inbounds %struct.complex, ptr %12047, i32 0, i32 0
  %12049 = load float, ptr %12048, align 4, !tbaa !11
  %12050 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12051 = load float, ptr %12050, align 4, !tbaa !11
  %12052 = load ptr, ptr %14, align 8, !tbaa !5
  %12053 = getelementptr inbounds %struct.complex, ptr %12052, i32 0, i32 1
  %12054 = load float, ptr %12053, align 4, !tbaa !14
  %12055 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12056 = load float, ptr %12055, align 4, !tbaa !14
  %12057 = fmul float %12054, %12056
  %12058 = fneg float %12057
  %12059 = call float @llvm.fmuladd.f32(float %12049, float %12051, float %12058)
  %12060 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12059, ptr %12060, align 4, !tbaa !11
  %12061 = load ptr, ptr %14, align 8, !tbaa !5
  %12062 = getelementptr inbounds %struct.complex, ptr %12061, i32 0, i32 0
  %12063 = load float, ptr %12062, align 4, !tbaa !11
  %12064 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12065 = load float, ptr %12064, align 4, !tbaa !14
  %12066 = load ptr, ptr %14, align 8, !tbaa !5
  %12067 = getelementptr inbounds %struct.complex, ptr %12066, i32 0, i32 1
  %12068 = load float, ptr %12067, align 4, !tbaa !14
  %12069 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12070 = load float, ptr %12069, align 4, !tbaa !11
  %12071 = fmul float %12068, %12070
  %12072 = call float @llvm.fmuladd.f32(float %12063, float %12065, float %12071)
  %12073 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12072, ptr %12073, align 4, !tbaa !14
  %12074 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12075 = load float, ptr %12074, align 4, !tbaa !11
  %12076 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %12075, ptr %12076, align 4, !tbaa !11
  %12077 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12078 = load float, ptr %12077, align 4, !tbaa !14
  %12079 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %12078, ptr %12079, align 4, !tbaa !14
  %12080 = load ptr, ptr %13, align 8, !tbaa !5
  %12081 = getelementptr inbounds %struct.complex, ptr %12080, i64 6
  %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 %65, i32 0, i32 0
  store float %12083, ptr %12084, align 4, !tbaa !11
  %12085 = load ptr, ptr %13, align 8, !tbaa !5
  %12086 = getelementptr inbounds %struct.complex, ptr %12085, i64 6
  %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 %65, i32 0, i32 1
  store float %12088, ptr %12089, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %12090 = load ptr, ptr %14, align 8, !tbaa !5
  %12091 = getelementptr inbounds %struct.complex, ptr %12090, i32 0, i32 0
  %12092 = load float, ptr %12091, align 4, !tbaa !11
  %12093 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12094 = load float, ptr %12093, align 4, !tbaa !11
  %12095 = load ptr, ptr %14, align 8, !tbaa !5
  %12096 = getelementptr inbounds %struct.complex, ptr %12095, i32 0, i32 1
  %12097 = load float, ptr %12096, align 4, !tbaa !14
  %12098 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12099 = load float, ptr %12098, align 4, !tbaa !14
  %12100 = fmul float %12097, %12099
  %12101 = fneg float %12100
  %12102 = call float @llvm.fmuladd.f32(float %12092, float %12094, float %12101)
  %12103 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12102, ptr %12103, align 4, !tbaa !11
  %12104 = load ptr, ptr %14, align 8, !tbaa !5
  %12105 = getelementptr inbounds %struct.complex, ptr %12104, i32 0, i32 0
  %12106 = load float, ptr %12105, align 4, !tbaa !11
  %12107 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12108 = load float, ptr %12107, align 4, !tbaa !14
  %12109 = load ptr, ptr %14, align 8, !tbaa !5
  %12110 = getelementptr inbounds %struct.complex, ptr %12109, i32 0, i32 1
  %12111 = load float, ptr %12110, align 4, !tbaa !14
  %12112 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12113 = load float, ptr %12112, align 4, !tbaa !11
  %12114 = fmul float %12111, %12113
  %12115 = call float @llvm.fmuladd.f32(float %12106, float %12108, float %12114)
  %12116 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12115, ptr %12116, align 4, !tbaa !14
  %12117 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12118 = load float, ptr %12117, align 4, !tbaa !11
  %12119 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %12118, ptr %12119, align 4, !tbaa !11
  %12120 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12121 = load float, ptr %12120, align 4, !tbaa !14
  %12122 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %12121, ptr %12122, align 4, !tbaa !14
  %12123 = load ptr, ptr %13, align 8, !tbaa !5
  %12124 = getelementptr inbounds %struct.complex, ptr %12123, i64 7
  %12125 = getelementptr inbounds %struct.complex, ptr %12124, i32 0, i32 0
  %12126 = load float, ptr %12125, align 4, !tbaa !11
  %12127 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %12126, ptr %12127, align 4, !tbaa !11
  %12128 = load ptr, ptr %13, align 8, !tbaa !5
  %12129 = getelementptr inbounds %struct.complex, ptr %12128, i64 7
  %12130 = getelementptr inbounds %struct.complex, ptr %12129, i32 0, i32 1
  %12131 = load float, ptr %12130, align 4, !tbaa !14
  %12132 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %12131, ptr %12132, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %12133 = load ptr, ptr %14, 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 %32, i32 0, i32 0
  %12137 = load float, ptr %12136, align 4, !tbaa !11
  %12138 = load ptr, ptr %14, 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 %32, 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 %31, i32 0, i32 0
  store float %12145, ptr %12146, align 4, !tbaa !11
  %12147 = load ptr, ptr %14, 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 %32, i32 0, i32 1
  %12151 = load float, ptr %12150, align 4, !tbaa !14
  %12152 = load ptr, ptr %14, 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 %32, 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 %31, i32 0, i32 1
  store float %12158, ptr %12159, align 4, !tbaa !14
  %12160 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12161 = load float, ptr %12160, align 4, !tbaa !11
  %12162 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %12161, ptr %12162, align 4, !tbaa !11
  %12163 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12164 = load float, ptr %12163, align 4, !tbaa !14
  %12165 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %12164, ptr %12165, align 4, !tbaa !14
  %12166 = load ptr, ptr %11, align 8, !tbaa !5
  %12167 = load i64, ptr %12166, align 8, !tbaa !9
  store i64 %12167, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %12168

12168:                                            ; preds = %12948, %11864
  %12169 = load i64, ptr %50, align 8, !tbaa !9
  %12170 = load i64, ptr %20, align 8, !tbaa !9
  %12171 = icmp sle i64 %12169, %12170
  br i1 %12171, label %12172, label %12951

12172:                                            ; preds = %12168
  %12173 = load i64, ptr %50, align 8, !tbaa !9
  %12174 = load i64, ptr %18, align 8, !tbaa !9
  %12175 = add nsw i64 %12173, %12174
  store i64 %12175, ptr %21, align 8, !tbaa !9
  %12176 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %12177 = load float, ptr %12176, align 4, !tbaa !11
  %12178 = load ptr, ptr %15, align 8, !tbaa !5
  %12179 = load i64, ptr %21, align 8, !tbaa !9
  %12180 = getelementptr inbounds %struct.complex, ptr %12178, i64 %12179
  %12181 = getelementptr inbounds %struct.complex, ptr %12180, i32 0, i32 0
  %12182 = load float, ptr %12181, align 4, !tbaa !11
  %12183 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %12184 = load float, ptr %12183, align 4, !tbaa !14
  %12185 = load ptr, ptr %15, align 8, !tbaa !5
  %12186 = load i64, ptr %21, align 8, !tbaa !9
  %12187 = getelementptr inbounds %struct.complex, ptr %12185, i64 %12186
  %12188 = getelementptr inbounds %struct.complex, ptr %12187, i32 0, i32 1
  %12189 = load float, ptr %12188, align 4, !tbaa !14
  %12190 = fmul float %12184, %12189
  %12191 = fneg float %12190
  %12192 = call float @llvm.fmuladd.f32(float %12177, float %12182, float %12191)
  %12193 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %12192, ptr %12193, align 4, !tbaa !11
  %12194 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %12195 = load float, ptr %12194, align 4, !tbaa !11
  %12196 = load ptr, ptr %15, align 8, !tbaa !5
  %12197 = load i64, ptr %21, align 8, !tbaa !9
  %12198 = getelementptr inbounds %struct.complex, ptr %12196, i64 %12197
  %12199 = getelementptr inbounds %struct.complex, ptr %12198, i32 0, i32 1
  %12200 = load float, ptr %12199, align 4, !tbaa !14
  %12201 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %12202 = load float, ptr %12201, align 4, !tbaa !14
  %12203 = load ptr, ptr %15, align 8, !tbaa !5
  %12204 = load i64, ptr %21, align 8, !tbaa !9
  %12205 = getelementptr inbounds %struct.complex, ptr %12203, i64 %12204
  %12206 = getelementptr inbounds %struct.complex, ptr %12205, i32 0, i32 0
  %12207 = load float, ptr %12206, align 4, !tbaa !11
  %12208 = fmul float %12202, %12207
  %12209 = call float @llvm.fmuladd.f32(float %12195, float %12200, float %12208)
  %12210 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %12209, ptr %12210, align 4, !tbaa !14
  %12211 = load i64, ptr %50, align 8, !tbaa !9
  %12212 = load i64, ptr %18, align 8, !tbaa !9
  %12213 = shl i64 %12212, 1
  %12214 = add nsw i64 %12211, %12213
  store i64 %12214, ptr %22, align 8, !tbaa !9
  %12215 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %12216 = load float, ptr %12215, align 4, !tbaa !11
  %12217 = load ptr, ptr %15, align 8, !tbaa !5
  %12218 = load i64, ptr %22, align 8, !tbaa !9
  %12219 = getelementptr inbounds %struct.complex, ptr %12217, i64 %12218
  %12220 = getelementptr inbounds %struct.complex, ptr %12219, i32 0, i32 0
  %12221 = load float, ptr %12220, align 4, !tbaa !11
  %12222 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %12223 = load float, ptr %12222, align 4, !tbaa !14
  %12224 = load ptr, ptr %15, align 8, !tbaa !5
  %12225 = load i64, ptr %22, align 8, !tbaa !9
  %12226 = getelementptr inbounds %struct.complex, ptr %12224, i64 %12225
  %12227 = getelementptr inbounds %struct.complex, ptr %12226, i32 0, i32 1
  %12228 = load float, ptr %12227, align 4, !tbaa !14
  %12229 = fmul float %12223, %12228
  %12230 = fneg float %12229
  %12231 = call float @llvm.fmuladd.f32(float %12216, float %12221, float %12230)
  %12232 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %12231, ptr %12232, align 4, !tbaa !11
  %12233 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %12234 = load float, ptr %12233, align 4, !tbaa !11
  %12235 = load ptr, ptr %15, align 8, !tbaa !5
  %12236 = load i64, ptr %22, align 8, !tbaa !9
  %12237 = getelementptr inbounds %struct.complex, ptr %12235, i64 %12236
  %12238 = getelementptr inbounds %struct.complex, ptr %12237, i32 0, i32 1
  %12239 = load float, ptr %12238, align 4, !tbaa !14
  %12240 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %12241 = load float, ptr %12240, align 4, !tbaa !14
  %12242 = load ptr, ptr %15, align 8, !tbaa !5
  %12243 = load i64, ptr %22, align 8, !tbaa !9
  %12244 = getelementptr inbounds %struct.complex, ptr %12242, i64 %12243
  %12245 = getelementptr inbounds %struct.complex, ptr %12244, i32 0, i32 0
  %12246 = load float, ptr %12245, align 4, !tbaa !11
  %12247 = fmul float %12241, %12246
  %12248 = call float @llvm.fmuladd.f32(float %12234, float %12239, float %12247)
  %12249 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %12248, ptr %12249, align 4, !tbaa !14
  %12250 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %12251 = load float, ptr %12250, align 4, !tbaa !11
  %12252 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %12253 = load float, ptr %12252, align 4, !tbaa !11
  %12254 = fadd float %12251, %12253
  %12255 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %12254, ptr %12255, align 4, !tbaa !11
  %12256 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %12257 = load float, ptr %12256, align 4, !tbaa !14
  %12258 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %12259 = load float, ptr %12258, align 4, !tbaa !14
  %12260 = fadd float %12257, %12259
  %12261 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %12260, ptr %12261, align 4, !tbaa !14
  %12262 = load i64, ptr %50, align 8, !tbaa !9
  %12263 = load i64, ptr %18, align 8, !tbaa !9
  %12264 = mul nsw i64 %12263, 3
  %12265 = add nsw i64 %12262, %12264
  store i64 %12265, ptr %23, align 8, !tbaa !9
  %12266 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %12267 = load float, ptr %12266, align 4, !tbaa !11
  %12268 = load ptr, ptr %15, align 8, !tbaa !5
  %12269 = load i64, ptr %23, align 8, !tbaa !9
  %12270 = getelementptr inbounds %struct.complex, ptr %12268, i64 %12269
  %12271 = getelementptr inbounds %struct.complex, ptr %12270, i32 0, i32 0
  %12272 = load float, ptr %12271, align 4, !tbaa !11
  %12273 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %12274 = load float, ptr %12273, align 4, !tbaa !14
  %12275 = load ptr, ptr %15, align 8, !tbaa !5
  %12276 = load i64, ptr %23, align 8, !tbaa !9
  %12277 = getelementptr inbounds %struct.complex, ptr %12275, i64 %12276
  %12278 = getelementptr inbounds %struct.complex, ptr %12277, i32 0, i32 1
  %12279 = load float, ptr %12278, align 4, !tbaa !14
  %12280 = fmul float %12274, %12279
  %12281 = fneg float %12280
  %12282 = call float @llvm.fmuladd.f32(float %12267, float %12272, float %12281)
  %12283 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %12282, ptr %12283, align 4, !tbaa !11
  %12284 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %12285 = load float, ptr %12284, align 4, !tbaa !11
  %12286 = load ptr, ptr %15, align 8, !tbaa !5
  %12287 = load i64, ptr %23, align 8, !tbaa !9
  %12288 = getelementptr inbounds %struct.complex, ptr %12286, i64 %12287
  %12289 = getelementptr inbounds %struct.complex, ptr %12288, i32 0, i32 1
  %12290 = load float, ptr %12289, align 4, !tbaa !14
  %12291 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %12292 = load float, ptr %12291, align 4, !tbaa !14
  %12293 = load ptr, ptr %15, align 8, !tbaa !5
  %12294 = load i64, ptr %23, align 8, !tbaa !9
  %12295 = getelementptr inbounds %struct.complex, ptr %12293, i64 %12294
  %12296 = getelementptr inbounds %struct.complex, ptr %12295, i32 0, i32 0
  %12297 = load float, ptr %12296, align 4, !tbaa !11
  %12298 = fmul float %12292, %12297
  %12299 = call float @llvm.fmuladd.f32(float %12285, float %12290, float %12298)
  %12300 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %12299, ptr %12300, align 4, !tbaa !14
  %12301 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %12302 = load float, ptr %12301, align 4, !tbaa !11
  %12303 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %12304 = load float, ptr %12303, align 4, !tbaa !11
  %12305 = fadd float %12302, %12304
  %12306 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %12305, ptr %12306, align 4, !tbaa !11
  %12307 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %12308 = load float, ptr %12307, align 4, !tbaa !14
  %12309 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %12310 = load float, ptr %12309, align 4, !tbaa !14
  %12311 = fadd float %12308, %12310
  %12312 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %12311, ptr %12312, align 4, !tbaa !14
  %12313 = load i64, ptr %50, align 8, !tbaa !9
  %12314 = load i64, ptr %18, align 8, !tbaa !9
  %12315 = shl i64 %12314, 2
  %12316 = add nsw i64 %12313, %12315
  store i64 %12316, ptr %24, align 8, !tbaa !9
  %12317 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %12318 = load float, ptr %12317, align 4, !tbaa !11
  %12319 = load ptr, ptr %15, align 8, !tbaa !5
  %12320 = load i64, ptr %24, align 8, !tbaa !9
  %12321 = getelementptr inbounds %struct.complex, ptr %12319, i64 %12320
  %12322 = getelementptr inbounds %struct.complex, ptr %12321, i32 0, i32 0
  %12323 = load float, ptr %12322, align 4, !tbaa !11
  %12324 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %12325 = load float, ptr %12324, align 4, !tbaa !14
  %12326 = load ptr, ptr %15, align 8, !tbaa !5
  %12327 = load i64, ptr %24, align 8, !tbaa !9
  %12328 = getelementptr inbounds %struct.complex, ptr %12326, i64 %12327
  %12329 = getelementptr inbounds %struct.complex, ptr %12328, i32 0, i32 1
  %12330 = load float, ptr %12329, align 4, !tbaa !14
  %12331 = fmul float %12325, %12330
  %12332 = fneg float %12331
  %12333 = call float @llvm.fmuladd.f32(float %12318, float %12323, float %12332)
  %12334 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %12333, ptr %12334, align 4, !tbaa !11
  %12335 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %12336 = load float, ptr %12335, align 4, !tbaa !11
  %12337 = load ptr, ptr %15, align 8, !tbaa !5
  %12338 = load i64, ptr %24, align 8, !tbaa !9
  %12339 = getelementptr inbounds %struct.complex, ptr %12337, i64 %12338
  %12340 = getelementptr inbounds %struct.complex, ptr %12339, i32 0, i32 1
  %12341 = load float, ptr %12340, align 4, !tbaa !14
  %12342 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %12343 = load float, ptr %12342, align 4, !tbaa !14
  %12344 = load ptr, ptr %15, align 8, !tbaa !5
  %12345 = load i64, ptr %24, align 8, !tbaa !9
  %12346 = getelementptr inbounds %struct.complex, ptr %12344, i64 %12345
  %12347 = getelementptr inbounds %struct.complex, ptr %12346, i32 0, i32 0
  %12348 = load float, ptr %12347, align 4, !tbaa !11
  %12349 = fmul float %12343, %12348
  %12350 = call float @llvm.fmuladd.f32(float %12336, float %12341, float %12349)
  %12351 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %12350, ptr %12351, align 4, !tbaa !14
  %12352 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %12353 = load float, ptr %12352, align 4, !tbaa !11
  %12354 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %12355 = load float, ptr %12354, align 4, !tbaa !11
  %12356 = fadd float %12353, %12355
  %12357 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %12356, ptr %12357, align 4, !tbaa !11
  %12358 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %12359 = load float, ptr %12358, align 4, !tbaa !14
  %12360 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %12361 = load float, ptr %12360, align 4, !tbaa !14
  %12362 = fadd float %12359, %12361
  %12363 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %12362, ptr %12363, align 4, !tbaa !14
  %12364 = load i64, ptr %50, align 8, !tbaa !9
  %12365 = load i64, ptr %18, align 8, !tbaa !9
  %12366 = mul nsw i64 %12365, 5
  %12367 = add nsw i64 %12364, %12366
  store i64 %12367, ptr %25, align 8, !tbaa !9
  %12368 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %12369 = load float, ptr %12368, align 4, !tbaa !11
  %12370 = load ptr, ptr %15, align 8, !tbaa !5
  %12371 = load i64, ptr %25, align 8, !tbaa !9
  %12372 = getelementptr inbounds %struct.complex, ptr %12370, i64 %12371
  %12373 = getelementptr inbounds %struct.complex, ptr %12372, i32 0, i32 0
  %12374 = load float, ptr %12373, align 4, !tbaa !11
  %12375 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %12376 = load float, ptr %12375, align 4, !tbaa !14
  %12377 = load ptr, ptr %15, align 8, !tbaa !5
  %12378 = load i64, ptr %25, align 8, !tbaa !9
  %12379 = getelementptr inbounds %struct.complex, ptr %12377, i64 %12378
  %12380 = getelementptr inbounds %struct.complex, ptr %12379, i32 0, i32 1
  %12381 = load float, ptr %12380, align 4, !tbaa !14
  %12382 = fmul float %12376, %12381
  %12383 = fneg float %12382
  %12384 = call float @llvm.fmuladd.f32(float %12369, float %12374, float %12383)
  %12385 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %12384, ptr %12385, align 4, !tbaa !11
  %12386 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %12387 = load float, ptr %12386, align 4, !tbaa !11
  %12388 = load ptr, ptr %15, align 8, !tbaa !5
  %12389 = load i64, ptr %25, align 8, !tbaa !9
  %12390 = getelementptr inbounds %struct.complex, ptr %12388, i64 %12389
  %12391 = getelementptr inbounds %struct.complex, ptr %12390, i32 0, i32 1
  %12392 = load float, ptr %12391, align 4, !tbaa !14
  %12393 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %12394 = load float, ptr %12393, align 4, !tbaa !14
  %12395 = load ptr, ptr %15, align 8, !tbaa !5
  %12396 = load i64, ptr %25, align 8, !tbaa !9
  %12397 = getelementptr inbounds %struct.complex, ptr %12395, i64 %12396
  %12398 = getelementptr inbounds %struct.complex, ptr %12397, i32 0, i32 0
  %12399 = load float, ptr %12398, align 4, !tbaa !11
  %12400 = fmul float %12394, %12399
  %12401 = call float @llvm.fmuladd.f32(float %12387, float %12392, float %12400)
  %12402 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %12401, ptr %12402, align 4, !tbaa !14
  %12403 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %12404 = load float, ptr %12403, align 4, !tbaa !11
  %12405 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %12406 = load float, ptr %12405, align 4, !tbaa !11
  %12407 = fadd float %12404, %12406
  %12408 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %12407, ptr %12408, align 4, !tbaa !11
  %12409 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %12410 = load float, ptr %12409, align 4, !tbaa !14
  %12411 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %12412 = load float, ptr %12411, align 4, !tbaa !14
  %12413 = fadd float %12410, %12412
  %12414 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %12413, ptr %12414, align 4, !tbaa !14
  %12415 = load i64, ptr %50, align 8, !tbaa !9
  %12416 = load i64, ptr %18, align 8, !tbaa !9
  %12417 = mul nsw i64 %12416, 6
  %12418 = add nsw i64 %12415, %12417
  store i64 %12418, ptr %26, align 8, !tbaa !9
  %12419 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %12420 = load float, ptr %12419, align 4, !tbaa !11
  %12421 = load ptr, ptr %15, align 8, !tbaa !5
  %12422 = load i64, ptr %26, align 8, !tbaa !9
  %12423 = getelementptr inbounds %struct.complex, ptr %12421, i64 %12422
  %12424 = getelementptr inbounds %struct.complex, ptr %12423, i32 0, i32 0
  %12425 = load float, ptr %12424, align 4, !tbaa !11
  %12426 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %12427 = load float, ptr %12426, align 4, !tbaa !14
  %12428 = load ptr, ptr %15, align 8, !tbaa !5
  %12429 = load i64, ptr %26, align 8, !tbaa !9
  %12430 = getelementptr inbounds %struct.complex, ptr %12428, i64 %12429
  %12431 = getelementptr inbounds %struct.complex, ptr %12430, i32 0, i32 1
  %12432 = load float, ptr %12431, align 4, !tbaa !14
  %12433 = fmul float %12427, %12432
  %12434 = fneg float %12433
  %12435 = call float @llvm.fmuladd.f32(float %12420, float %12425, float %12434)
  %12436 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %12435, ptr %12436, align 4, !tbaa !11
  %12437 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %12438 = load float, ptr %12437, align 4, !tbaa !11
  %12439 = load ptr, ptr %15, align 8, !tbaa !5
  %12440 = load i64, ptr %26, align 8, !tbaa !9
  %12441 = getelementptr inbounds %struct.complex, ptr %12439, i64 %12440
  %12442 = getelementptr inbounds %struct.complex, ptr %12441, i32 0, i32 1
  %12443 = load float, ptr %12442, align 4, !tbaa !14
  %12444 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %12445 = load float, ptr %12444, align 4, !tbaa !14
  %12446 = load ptr, ptr %15, align 8, !tbaa !5
  %12447 = load i64, ptr %26, align 8, !tbaa !9
  %12448 = getelementptr inbounds %struct.complex, ptr %12446, i64 %12447
  %12449 = getelementptr inbounds %struct.complex, ptr %12448, i32 0, i32 0
  %12450 = load float, ptr %12449, align 4, !tbaa !11
  %12451 = fmul float %12445, %12450
  %12452 = call float @llvm.fmuladd.f32(float %12438, float %12443, float %12451)
  %12453 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %12452, ptr %12453, align 4, !tbaa !14
  %12454 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %12455 = load float, ptr %12454, align 4, !tbaa !11
  %12456 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %12457 = load float, ptr %12456, align 4, !tbaa !11
  %12458 = fadd float %12455, %12457
  %12459 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12458, ptr %12459, align 4, !tbaa !11
  %12460 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %12461 = load float, ptr %12460, align 4, !tbaa !14
  %12462 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %12463 = load float, ptr %12462, align 4, !tbaa !14
  %12464 = fadd float %12461, %12463
  %12465 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12464, ptr %12465, align 4, !tbaa !14
  %12466 = load i64, ptr %50, align 8, !tbaa !9
  %12467 = load i64, ptr %18, align 8, !tbaa !9
  %12468 = mul nsw i64 %12467, 7
  %12469 = add nsw i64 %12466, %12468
  store i64 %12469, ptr %27, align 8, !tbaa !9
  %12470 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %12471 = load float, ptr %12470, align 4, !tbaa !11
  %12472 = load ptr, ptr %15, align 8, !tbaa !5
  %12473 = load i64, ptr %27, align 8, !tbaa !9
  %12474 = getelementptr inbounds %struct.complex, ptr %12472, i64 %12473
  %12475 = getelementptr inbounds %struct.complex, ptr %12474, i32 0, i32 0
  %12476 = load float, ptr %12475, align 4, !tbaa !11
  %12477 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %12478 = load float, ptr %12477, align 4, !tbaa !14
  %12479 = load ptr, ptr %15, align 8, !tbaa !5
  %12480 = load i64, ptr %27, align 8, !tbaa !9
  %12481 = getelementptr inbounds %struct.complex, ptr %12479, i64 %12480
  %12482 = getelementptr inbounds %struct.complex, ptr %12481, i32 0, i32 1
  %12483 = load float, ptr %12482, align 4, !tbaa !14
  %12484 = fmul float %12478, %12483
  %12485 = fneg float %12484
  %12486 = call float @llvm.fmuladd.f32(float %12471, float %12476, float %12485)
  %12487 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %12486, ptr %12487, align 4, !tbaa !11
  %12488 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %12489 = load float, ptr %12488, align 4, !tbaa !11
  %12490 = load ptr, ptr %15, align 8, !tbaa !5
  %12491 = load i64, ptr %27, align 8, !tbaa !9
  %12492 = getelementptr inbounds %struct.complex, ptr %12490, i64 %12491
  %12493 = getelementptr inbounds %struct.complex, ptr %12492, i32 0, i32 1
  %12494 = load float, ptr %12493, align 4, !tbaa !14
  %12495 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %12496 = load float, ptr %12495, align 4, !tbaa !14
  %12497 = load ptr, ptr %15, align 8, !tbaa !5
  %12498 = load i64, ptr %27, align 8, !tbaa !9
  %12499 = getelementptr inbounds %struct.complex, ptr %12497, i64 %12498
  %12500 = getelementptr inbounds %struct.complex, ptr %12499, i32 0, i32 0
  %12501 = load float, ptr %12500, align 4, !tbaa !11
  %12502 = fmul float %12496, %12501
  %12503 = call float @llvm.fmuladd.f32(float %12489, float %12494, float %12502)
  %12504 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %12503, ptr %12504, align 4, !tbaa !14
  %12505 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12506 = load float, ptr %12505, align 4, !tbaa !11
  %12507 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %12508 = load float, ptr %12507, align 4, !tbaa !11
  %12509 = fadd float %12506, %12508
  %12510 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12509, ptr %12510, align 4, !tbaa !11
  %12511 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12512 = load float, ptr %12511, align 4, !tbaa !14
  %12513 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %12514 = load float, ptr %12513, align 4, !tbaa !14
  %12515 = fadd float %12512, %12514
  %12516 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12515, ptr %12516, align 4, !tbaa !14
  %12517 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12518 = load float, ptr %12517, align 4, !tbaa !11
  %12519 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %12518, ptr %12519, align 4, !tbaa !11
  %12520 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12521 = load float, ptr %12520, align 4, !tbaa !14
  %12522 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %12521, ptr %12522, align 4, !tbaa !14
  %12523 = load i64, ptr %50, align 8, !tbaa !9
  %12524 = load i64, ptr %18, align 8, !tbaa !9
  %12525 = add nsw i64 %12523, %12524
  store i64 %12525, ptr %21, align 8, !tbaa !9
  %12526 = load i64, ptr %50, align 8, !tbaa !9
  %12527 = load i64, ptr %18, align 8, !tbaa !9
  %12528 = add nsw i64 %12526, %12527
  store i64 %12528, ptr %22, align 8, !tbaa !9
  %12529 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12530 = load float, ptr %12529, align 4, !tbaa !11
  %12531 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %12532 = load float, ptr %12531, align 4, !tbaa !11
  %12533 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12534 = load float, ptr %12533, align 4, !tbaa !14
  %12535 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %12536 = load float, ptr %12535, align 4, !tbaa !14
  %12537 = fmul float %12534, %12536
  %12538 = fneg float %12537
  %12539 = call float @llvm.fmuladd.f32(float %12530, float %12532, float %12538)
  %12540 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12539, ptr %12540, align 4, !tbaa !11
  %12541 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12542 = load float, ptr %12541, align 4, !tbaa !11
  %12543 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %12544 = load float, ptr %12543, align 4, !tbaa !14
  %12545 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12546 = load float, ptr %12545, align 4, !tbaa !14
  %12547 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %12548 = load float, ptr %12547, align 4, !tbaa !11
  %12549 = fmul float %12546, %12548
  %12550 = call float @llvm.fmuladd.f32(float %12542, float %12544, float %12549)
  %12551 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12550, ptr %12551, align 4, !tbaa !14
  %12552 = load ptr, ptr %15, align 8, !tbaa !5
  %12553 = load i64, ptr %22, align 8, !tbaa !9
  %12554 = getelementptr inbounds %struct.complex, ptr %12552, i64 %12553
  %12555 = getelementptr inbounds %struct.complex, ptr %12554, i32 0, i32 0
  %12556 = load float, ptr %12555, align 4, !tbaa !11
  %12557 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12558 = load float, ptr %12557, align 4, !tbaa !11
  %12559 = fsub float %12556, %12558
  %12560 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12559, ptr %12560, align 4, !tbaa !11
  %12561 = load ptr, ptr %15, align 8, !tbaa !5
  %12562 = load i64, ptr %22, align 8, !tbaa !9
  %12563 = getelementptr inbounds %struct.complex, ptr %12561, i64 %12562
  %12564 = getelementptr inbounds %struct.complex, ptr %12563, i32 0, i32 1
  %12565 = load float, ptr %12564, align 4, !tbaa !14
  %12566 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12567 = load float, ptr %12566, align 4, !tbaa !14
  %12568 = fsub float %12565, %12567
  %12569 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12568, ptr %12569, align 4, !tbaa !14
  %12570 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12571 = load float, ptr %12570, align 4, !tbaa !11
  %12572 = load ptr, ptr %15, align 8, !tbaa !5
  %12573 = load i64, ptr %21, align 8, !tbaa !9
  %12574 = getelementptr inbounds %struct.complex, ptr %12572, i64 %12573
  %12575 = getelementptr inbounds %struct.complex, ptr %12574, i32 0, i32 0
  store float %12571, ptr %12575, align 4, !tbaa !11
  %12576 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12577 = load float, ptr %12576, align 4, !tbaa !14
  %12578 = load ptr, ptr %15, align 8, !tbaa !5
  %12579 = load i64, ptr %21, align 8, !tbaa !9
  %12580 = getelementptr inbounds %struct.complex, ptr %12578, i64 %12579
  %12581 = getelementptr inbounds %struct.complex, ptr %12580, i32 0, i32 1
  store float %12577, ptr %12581, align 4, !tbaa !14
  %12582 = load i64, ptr %50, align 8, !tbaa !9
  %12583 = load i64, ptr %18, align 8, !tbaa !9
  %12584 = shl i64 %12583, 1
  %12585 = add nsw i64 %12582, %12584
  store i64 %12585, ptr %21, align 8, !tbaa !9
  %12586 = load i64, ptr %50, align 8, !tbaa !9
  %12587 = load i64, ptr %18, align 8, !tbaa !9
  %12588 = shl i64 %12587, 1
  %12589 = add nsw i64 %12586, %12588
  store i64 %12589, ptr %22, align 8, !tbaa !9
  %12590 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12591 = load float, ptr %12590, align 4, !tbaa !11
  %12592 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %12593 = load float, ptr %12592, align 4, !tbaa !11
  %12594 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12595 = load float, ptr %12594, align 4, !tbaa !14
  %12596 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %12597 = load float, ptr %12596, align 4, !tbaa !14
  %12598 = fmul float %12595, %12597
  %12599 = fneg float %12598
  %12600 = call float @llvm.fmuladd.f32(float %12591, float %12593, float %12599)
  %12601 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12600, ptr %12601, align 4, !tbaa !11
  %12602 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12603 = load float, ptr %12602, align 4, !tbaa !11
  %12604 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %12605 = load float, ptr %12604, align 4, !tbaa !14
  %12606 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12607 = load float, ptr %12606, align 4, !tbaa !14
  %12608 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %12609 = load float, ptr %12608, align 4, !tbaa !11
  %12610 = fmul float %12607, %12609
  %12611 = call float @llvm.fmuladd.f32(float %12603, float %12605, float %12610)
  %12612 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12611, ptr %12612, align 4, !tbaa !14
  %12613 = load ptr, ptr %15, align 8, !tbaa !5
  %12614 = load i64, ptr %22, align 8, !tbaa !9
  %12615 = getelementptr inbounds %struct.complex, ptr %12613, i64 %12614
  %12616 = getelementptr inbounds %struct.complex, ptr %12615, i32 0, i32 0
  %12617 = load float, ptr %12616, align 4, !tbaa !11
  %12618 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12619 = load float, ptr %12618, align 4, !tbaa !11
  %12620 = fsub float %12617, %12619
  %12621 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12620, ptr %12621, align 4, !tbaa !11
  %12622 = load ptr, ptr %15, align 8, !tbaa !5
  %12623 = load i64, ptr %22, align 8, !tbaa !9
  %12624 = getelementptr inbounds %struct.complex, ptr %12622, i64 %12623
  %12625 = getelementptr inbounds %struct.complex, ptr %12624, i32 0, i32 1
  %12626 = load float, ptr %12625, align 4, !tbaa !14
  %12627 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12628 = load float, ptr %12627, align 4, !tbaa !14
  %12629 = fsub float %12626, %12628
  %12630 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12629, ptr %12630, align 4, !tbaa !14
  %12631 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12632 = load float, ptr %12631, align 4, !tbaa !11
  %12633 = load ptr, ptr %15, align 8, !tbaa !5
  %12634 = load i64, ptr %21, align 8, !tbaa !9
  %12635 = getelementptr inbounds %struct.complex, ptr %12633, i64 %12634
  %12636 = getelementptr inbounds %struct.complex, ptr %12635, i32 0, i32 0
  store float %12632, ptr %12636, align 4, !tbaa !11
  %12637 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12638 = load float, ptr %12637, align 4, !tbaa !14
  %12639 = load ptr, ptr %15, align 8, !tbaa !5
  %12640 = load i64, ptr %21, align 8, !tbaa !9
  %12641 = getelementptr inbounds %struct.complex, ptr %12639, i64 %12640
  %12642 = getelementptr inbounds %struct.complex, ptr %12641, i32 0, i32 1
  store float %12638, ptr %12642, align 4, !tbaa !14
  %12643 = load i64, ptr %50, align 8, !tbaa !9
  %12644 = load i64, ptr %18, align 8, !tbaa !9
  %12645 = mul nsw i64 %12644, 3
  %12646 = add nsw i64 %12643, %12645
  store i64 %12646, ptr %21, align 8, !tbaa !9
  %12647 = load i64, ptr %50, align 8, !tbaa !9
  %12648 = load i64, ptr %18, align 8, !tbaa !9
  %12649 = mul nsw i64 %12648, 3
  %12650 = add nsw i64 %12647, %12649
  store i64 %12650, ptr %22, align 8, !tbaa !9
  %12651 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12652 = load float, ptr %12651, align 4, !tbaa !11
  %12653 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %12654 = load float, ptr %12653, align 4, !tbaa !11
  %12655 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12656 = load float, ptr %12655, align 4, !tbaa !14
  %12657 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %12658 = load float, ptr %12657, align 4, !tbaa !14
  %12659 = fmul float %12656, %12658
  %12660 = fneg float %12659
  %12661 = call float @llvm.fmuladd.f32(float %12652, float %12654, float %12660)
  %12662 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12661, ptr %12662, align 4, !tbaa !11
  %12663 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12664 = load float, ptr %12663, align 4, !tbaa !11
  %12665 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %12666 = load float, ptr %12665, align 4, !tbaa !14
  %12667 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12668 = load float, ptr %12667, align 4, !tbaa !14
  %12669 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %12670 = load float, ptr %12669, align 4, !tbaa !11
  %12671 = fmul float %12668, %12670
  %12672 = call float @llvm.fmuladd.f32(float %12664, float %12666, float %12671)
  %12673 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12672, ptr %12673, align 4, !tbaa !14
  %12674 = load ptr, ptr %15, align 8, !tbaa !5
  %12675 = load i64, ptr %22, align 8, !tbaa !9
  %12676 = getelementptr inbounds %struct.complex, ptr %12674, i64 %12675
  %12677 = getelementptr inbounds %struct.complex, ptr %12676, i32 0, i32 0
  %12678 = load float, ptr %12677, align 4, !tbaa !11
  %12679 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12680 = load float, ptr %12679, align 4, !tbaa !11
  %12681 = fsub float %12678, %12680
  %12682 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12681, ptr %12682, align 4, !tbaa !11
  %12683 = load ptr, ptr %15, align 8, !tbaa !5
  %12684 = load i64, ptr %22, align 8, !tbaa !9
  %12685 = getelementptr inbounds %struct.complex, ptr %12683, i64 %12684
  %12686 = getelementptr inbounds %struct.complex, ptr %12685, i32 0, i32 1
  %12687 = load float, ptr %12686, align 4, !tbaa !14
  %12688 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12689 = load float, ptr %12688, align 4, !tbaa !14
  %12690 = fsub float %12687, %12689
  %12691 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12690, ptr %12691, align 4, !tbaa !14
  %12692 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12693 = load float, ptr %12692, align 4, !tbaa !11
  %12694 = load ptr, ptr %15, align 8, !tbaa !5
  %12695 = load i64, ptr %21, align 8, !tbaa !9
  %12696 = getelementptr inbounds %struct.complex, ptr %12694, i64 %12695
  %12697 = getelementptr inbounds %struct.complex, ptr %12696, i32 0, i32 0
  store float %12693, ptr %12697, align 4, !tbaa !11
  %12698 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12699 = load float, ptr %12698, align 4, !tbaa !14
  %12700 = load ptr, ptr %15, align 8, !tbaa !5
  %12701 = load i64, ptr %21, align 8, !tbaa !9
  %12702 = getelementptr inbounds %struct.complex, ptr %12700, i64 %12701
  %12703 = getelementptr inbounds %struct.complex, ptr %12702, i32 0, i32 1
  store float %12699, ptr %12703, align 4, !tbaa !14
  %12704 = load i64, ptr %50, align 8, !tbaa !9
  %12705 = load i64, ptr %18, align 8, !tbaa !9
  %12706 = shl i64 %12705, 2
  %12707 = add nsw i64 %12704, %12706
  store i64 %12707, ptr %21, align 8, !tbaa !9
  %12708 = load i64, ptr %50, align 8, !tbaa !9
  %12709 = load i64, ptr %18, align 8, !tbaa !9
  %12710 = shl i64 %12709, 2
  %12711 = add nsw i64 %12708, %12710
  store i64 %12711, ptr %22, align 8, !tbaa !9
  %12712 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12713 = load float, ptr %12712, align 4, !tbaa !11
  %12714 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %12715 = load float, ptr %12714, align 4, !tbaa !11
  %12716 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12717 = load float, ptr %12716, align 4, !tbaa !14
  %12718 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %12719 = load float, ptr %12718, align 4, !tbaa !14
  %12720 = fmul float %12717, %12719
  %12721 = fneg float %12720
  %12722 = call float @llvm.fmuladd.f32(float %12713, float %12715, float %12721)
  %12723 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12722, ptr %12723, align 4, !tbaa !11
  %12724 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12725 = load float, ptr %12724, align 4, !tbaa !11
  %12726 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %12727 = load float, ptr %12726, align 4, !tbaa !14
  %12728 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12729 = load float, ptr %12728, align 4, !tbaa !14
  %12730 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %12731 = load float, ptr %12730, align 4, !tbaa !11
  %12732 = fmul float %12729, %12731
  %12733 = call float @llvm.fmuladd.f32(float %12725, float %12727, float %12732)
  %12734 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12733, ptr %12734, align 4, !tbaa !14
  %12735 = load ptr, ptr %15, align 8, !tbaa !5
  %12736 = load i64, ptr %22, align 8, !tbaa !9
  %12737 = getelementptr inbounds %struct.complex, ptr %12735, i64 %12736
  %12738 = getelementptr inbounds %struct.complex, ptr %12737, i32 0, i32 0
  %12739 = load float, ptr %12738, align 4, !tbaa !11
  %12740 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12741 = load float, ptr %12740, align 4, !tbaa !11
  %12742 = fsub float %12739, %12741
  %12743 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12742, ptr %12743, align 4, !tbaa !11
  %12744 = load ptr, ptr %15, align 8, !tbaa !5
  %12745 = load i64, ptr %22, align 8, !tbaa !9
  %12746 = getelementptr inbounds %struct.complex, ptr %12744, i64 %12745
  %12747 = getelementptr inbounds %struct.complex, ptr %12746, i32 0, i32 1
  %12748 = load float, ptr %12747, align 4, !tbaa !14
  %12749 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12750 = load float, ptr %12749, align 4, !tbaa !14
  %12751 = fsub float %12748, %12750
  %12752 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12751, ptr %12752, align 4, !tbaa !14
  %12753 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12754 = load float, ptr %12753, align 4, !tbaa !11
  %12755 = load ptr, ptr %15, align 8, !tbaa !5
  %12756 = load i64, ptr %21, align 8, !tbaa !9
  %12757 = getelementptr inbounds %struct.complex, ptr %12755, i64 %12756
  %12758 = getelementptr inbounds %struct.complex, ptr %12757, i32 0, i32 0
  store float %12754, ptr %12758, align 4, !tbaa !11
  %12759 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12760 = load float, ptr %12759, align 4, !tbaa !14
  %12761 = load ptr, ptr %15, align 8, !tbaa !5
  %12762 = load i64, ptr %21, align 8, !tbaa !9
  %12763 = getelementptr inbounds %struct.complex, ptr %12761, i64 %12762
  %12764 = getelementptr inbounds %struct.complex, ptr %12763, i32 0, i32 1
  store float %12760, ptr %12764, align 4, !tbaa !14
  %12765 = load i64, ptr %50, align 8, !tbaa !9
  %12766 = load i64, ptr %18, align 8, !tbaa !9
  %12767 = mul nsw i64 %12766, 5
  %12768 = add nsw i64 %12765, %12767
  store i64 %12768, ptr %21, align 8, !tbaa !9
  %12769 = load i64, ptr %50, align 8, !tbaa !9
  %12770 = load i64, ptr %18, align 8, !tbaa !9
  %12771 = mul nsw i64 %12770, 5
  %12772 = add nsw i64 %12769, %12771
  store i64 %12772, ptr %22, align 8, !tbaa !9
  %12773 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12774 = load float, ptr %12773, align 4, !tbaa !11
  %12775 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %12776 = load float, ptr %12775, align 4, !tbaa !11
  %12777 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12778 = load float, ptr %12777, align 4, !tbaa !14
  %12779 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %12780 = load float, ptr %12779, align 4, !tbaa !14
  %12781 = fmul float %12778, %12780
  %12782 = fneg float %12781
  %12783 = call float @llvm.fmuladd.f32(float %12774, float %12776, float %12782)
  %12784 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12783, ptr %12784, align 4, !tbaa !11
  %12785 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12786 = load float, ptr %12785, align 4, !tbaa !11
  %12787 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %12788 = load float, ptr %12787, align 4, !tbaa !14
  %12789 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12790 = load float, ptr %12789, align 4, !tbaa !14
  %12791 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %12792 = load float, ptr %12791, align 4, !tbaa !11
  %12793 = fmul float %12790, %12792
  %12794 = call float @llvm.fmuladd.f32(float %12786, float %12788, float %12793)
  %12795 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12794, ptr %12795, align 4, !tbaa !14
  %12796 = load ptr, ptr %15, align 8, !tbaa !5
  %12797 = load i64, ptr %22, align 8, !tbaa !9
  %12798 = getelementptr inbounds %struct.complex, ptr %12796, i64 %12797
  %12799 = getelementptr inbounds %struct.complex, ptr %12798, i32 0, i32 0
  %12800 = load float, ptr %12799, align 4, !tbaa !11
  %12801 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12802 = load float, ptr %12801, align 4, !tbaa !11
  %12803 = fsub float %12800, %12802
  %12804 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12803, ptr %12804, align 4, !tbaa !11
  %12805 = load ptr, ptr %15, align 8, !tbaa !5
  %12806 = load i64, ptr %22, align 8, !tbaa !9
  %12807 = getelementptr inbounds %struct.complex, ptr %12805, i64 %12806
  %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 %32, i32 0, i32 1
  %12811 = load float, ptr %12810, align 4, !tbaa !14
  %12812 = fsub float %12809, %12811
  %12813 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12812, ptr %12813, align 4, !tbaa !14
  %12814 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12815 = load float, ptr %12814, align 4, !tbaa !11
  %12816 = load ptr, ptr %15, align 8, !tbaa !5
  %12817 = load i64, ptr %21, align 8, !tbaa !9
  %12818 = getelementptr inbounds %struct.complex, ptr %12816, i64 %12817
  %12819 = getelementptr inbounds %struct.complex, ptr %12818, i32 0, i32 0
  store float %12815, ptr %12819, align 4, !tbaa !11
  %12820 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12821 = load float, ptr %12820, align 4, !tbaa !14
  %12822 = load ptr, ptr %15, align 8, !tbaa !5
  %12823 = load i64, ptr %21, align 8, !tbaa !9
  %12824 = getelementptr inbounds %struct.complex, ptr %12822, i64 %12823
  %12825 = getelementptr inbounds %struct.complex, ptr %12824, i32 0, i32 1
  store float %12821, ptr %12825, align 4, !tbaa !14
  %12826 = load i64, ptr %50, align 8, !tbaa !9
  %12827 = load i64, ptr %18, align 8, !tbaa !9
  %12828 = mul nsw i64 %12827, 6
  %12829 = add nsw i64 %12826, %12828
  store i64 %12829, ptr %21, align 8, !tbaa !9
  %12830 = load i64, ptr %50, align 8, !tbaa !9
  %12831 = load i64, ptr %18, align 8, !tbaa !9
  %12832 = mul nsw i64 %12831, 6
  %12833 = add nsw i64 %12830, %12832
  store i64 %12833, ptr %22, align 8, !tbaa !9
  %12834 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12835 = load float, ptr %12834, align 4, !tbaa !11
  %12836 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %12837 = load float, ptr %12836, align 4, !tbaa !11
  %12838 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12839 = load float, ptr %12838, align 4, !tbaa !14
  %12840 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %12841 = load float, ptr %12840, align 4, !tbaa !14
  %12842 = fmul float %12839, %12841
  %12843 = fneg float %12842
  %12844 = call float @llvm.fmuladd.f32(float %12835, float %12837, float %12843)
  %12845 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12844, ptr %12845, align 4, !tbaa !11
  %12846 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12847 = load float, ptr %12846, align 4, !tbaa !11
  %12848 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %12849 = load float, ptr %12848, align 4, !tbaa !14
  %12850 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12851 = load float, ptr %12850, align 4, !tbaa !14
  %12852 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %12853 = load float, ptr %12852, align 4, !tbaa !11
  %12854 = fmul float %12851, %12853
  %12855 = call float @llvm.fmuladd.f32(float %12847, float %12849, float %12854)
  %12856 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12855, ptr %12856, align 4, !tbaa !14
  %12857 = load ptr, ptr %15, align 8, !tbaa !5
  %12858 = load i64, ptr %22, align 8, !tbaa !9
  %12859 = getelementptr inbounds %struct.complex, ptr %12857, i64 %12858
  %12860 = getelementptr inbounds %struct.complex, ptr %12859, i32 0, i32 0
  %12861 = load float, ptr %12860, align 4, !tbaa !11
  %12862 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12863 = load float, ptr %12862, align 4, !tbaa !11
  %12864 = fsub float %12861, %12863
  %12865 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12864, ptr %12865, align 4, !tbaa !11
  %12866 = load ptr, ptr %15, align 8, !tbaa !5
  %12867 = load i64, ptr %22, align 8, !tbaa !9
  %12868 = getelementptr inbounds %struct.complex, ptr %12866, i64 %12867
  %12869 = getelementptr inbounds %struct.complex, ptr %12868, i32 0, i32 1
  %12870 = load float, ptr %12869, align 4, !tbaa !14
  %12871 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12872 = load float, ptr %12871, align 4, !tbaa !14
  %12873 = fsub float %12870, %12872
  %12874 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12873, ptr %12874, align 4, !tbaa !14
  %12875 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12876 = load float, ptr %12875, align 4, !tbaa !11
  %12877 = load ptr, ptr %15, align 8, !tbaa !5
  %12878 = load i64, ptr %21, align 8, !tbaa !9
  %12879 = getelementptr inbounds %struct.complex, ptr %12877, i64 %12878
  %12880 = getelementptr inbounds %struct.complex, ptr %12879, i32 0, i32 0
  store float %12876, ptr %12880, align 4, !tbaa !11
  %12881 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12882 = load float, ptr %12881, align 4, !tbaa !14
  %12883 = load ptr, ptr %15, align 8, !tbaa !5
  %12884 = load i64, ptr %21, align 8, !tbaa !9
  %12885 = getelementptr inbounds %struct.complex, ptr %12883, i64 %12884
  %12886 = getelementptr inbounds %struct.complex, ptr %12885, i32 0, i32 1
  store float %12882, ptr %12886, align 4, !tbaa !14
  %12887 = load i64, ptr %50, align 8, !tbaa !9
  %12888 = load i64, ptr %18, align 8, !tbaa !9
  %12889 = mul nsw i64 %12888, 7
  %12890 = add nsw i64 %12887, %12889
  store i64 %12890, ptr %21, align 8, !tbaa !9
  %12891 = load i64, ptr %50, align 8, !tbaa !9
  %12892 = load i64, ptr %18, align 8, !tbaa !9
  %12893 = mul nsw i64 %12892, 7
  %12894 = add nsw i64 %12891, %12893
  store i64 %12894, ptr %22, align 8, !tbaa !9
  %12895 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12896 = load float, ptr %12895, align 4, !tbaa !11
  %12897 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %12898 = load float, ptr %12897, align 4, !tbaa !11
  %12899 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12900 = load float, ptr %12899, align 4, !tbaa !14
  %12901 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %12902 = load float, ptr %12901, align 4, !tbaa !14
  %12903 = fmul float %12900, %12902
  %12904 = fneg float %12903
  %12905 = call float @llvm.fmuladd.f32(float %12896, float %12898, float %12904)
  %12906 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %12905, ptr %12906, align 4, !tbaa !11
  %12907 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %12908 = load float, ptr %12907, align 4, !tbaa !11
  %12909 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %12910 = load float, ptr %12909, align 4, !tbaa !14
  %12911 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %12912 = load float, ptr %12911, align 4, !tbaa !14
  %12913 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %12914 = load float, ptr %12913, align 4, !tbaa !11
  %12915 = fmul float %12912, %12914
  %12916 = call float @llvm.fmuladd.f32(float %12908, float %12910, float %12915)
  %12917 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %12916, ptr %12917, align 4, !tbaa !14
  %12918 = load ptr, ptr %15, align 8, !tbaa !5
  %12919 = load i64, ptr %22, align 8, !tbaa !9
  %12920 = getelementptr inbounds %struct.complex, ptr %12918, i64 %12919
  %12921 = getelementptr inbounds %struct.complex, ptr %12920, i32 0, i32 0
  %12922 = load float, ptr %12921, align 4, !tbaa !11
  %12923 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12924 = load float, ptr %12923, align 4, !tbaa !11
  %12925 = fsub float %12922, %12924
  %12926 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12925, ptr %12926, align 4, !tbaa !11
  %12927 = load ptr, ptr %15, align 8, !tbaa !5
  %12928 = load i64, ptr %22, align 8, !tbaa !9
  %12929 = getelementptr inbounds %struct.complex, ptr %12927, i64 %12928
  %12930 = getelementptr inbounds %struct.complex, ptr %12929, i32 0, i32 1
  %12931 = load float, ptr %12930, align 4, !tbaa !14
  %12932 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12933 = load float, ptr %12932, align 4, !tbaa !14
  %12934 = fsub float %12931, %12933
  %12935 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12934, ptr %12935, align 4, !tbaa !14
  %12936 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12937 = load float, ptr %12936, align 4, !tbaa !11
  %12938 = load ptr, ptr %15, align 8, !tbaa !5
  %12939 = load i64, ptr %21, align 8, !tbaa !9
  %12940 = getelementptr inbounds %struct.complex, ptr %12938, i64 %12939
  %12941 = getelementptr inbounds %struct.complex, ptr %12940, i32 0, i32 0
  store float %12937, ptr %12941, align 4, !tbaa !11
  %12942 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12943 = load float, ptr %12942, align 4, !tbaa !14
  %12944 = load ptr, ptr %15, align 8, !tbaa !5
  %12945 = load i64, ptr %21, align 8, !tbaa !9
  %12946 = getelementptr inbounds %struct.complex, ptr %12944, i64 %12945
  %12947 = getelementptr inbounds %struct.complex, ptr %12946, i32 0, i32 1
  store float %12943, ptr %12947, align 4, !tbaa !14
  br label %12948

12948:                                            ; preds = %12172
  %12949 = load i64, ptr %50, align 8, !tbaa !9
  %12950 = add nsw i64 %12949, 1
  store i64 %12950, ptr %50, align 8, !tbaa !9
  br label %12168, !llvm.loop !32

12951:                                            ; preds = %12168
  br label %17146

12952:                                            ; preds = %8593
  %12953 = load ptr, ptr %13, align 8, !tbaa !5
  %12954 = getelementptr inbounds %struct.complex, ptr %12953, i64 1
  %12955 = getelementptr inbounds %struct.complex, ptr %12954, i32 0, i32 0
  %12956 = load float, ptr %12955, align 4, !tbaa !11
  %12957 = getelementptr inbounds %struct.complex, ptr %60, 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, i64 1
  %12960 = getelementptr inbounds %struct.complex, ptr %12959, i32 0, i32 1
  %12961 = load float, ptr %12960, align 4, !tbaa !14
  %12962 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %12961, ptr %12962, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %12963 = load ptr, ptr %14, align 8, !tbaa !5
  %12964 = getelementptr inbounds %struct.complex, ptr %12963, i32 0, i32 0
  %12965 = load float, ptr %12964, align 4, !tbaa !11
  %12966 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12967 = load float, ptr %12966, align 4, !tbaa !11
  %12968 = load ptr, ptr %14, align 8, !tbaa !5
  %12969 = getelementptr inbounds %struct.complex, ptr %12968, i32 0, i32 1
  %12970 = load float, ptr %12969, align 4, !tbaa !14
  %12971 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12972 = load float, ptr %12971, align 4, !tbaa !14
  %12973 = fmul float %12970, %12972
  %12974 = fneg float %12973
  %12975 = call float @llvm.fmuladd.f32(float %12965, float %12967, float %12974)
  %12976 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %12975, ptr %12976, align 4, !tbaa !11
  %12977 = load ptr, ptr %14, align 8, !tbaa !5
  %12978 = getelementptr inbounds %struct.complex, ptr %12977, i32 0, i32 0
  %12979 = load float, ptr %12978, align 4, !tbaa !11
  %12980 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %12981 = load float, ptr %12980, align 4, !tbaa !14
  %12982 = load ptr, ptr %14, align 8, !tbaa !5
  %12983 = getelementptr inbounds %struct.complex, ptr %12982, i32 0, i32 1
  %12984 = load float, ptr %12983, align 4, !tbaa !14
  %12985 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %12986 = load float, ptr %12985, align 4, !tbaa !11
  %12987 = fmul float %12984, %12986
  %12988 = call float @llvm.fmuladd.f32(float %12979, float %12981, float %12987)
  %12989 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %12988, ptr %12989, align 4, !tbaa !14
  %12990 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %12991 = load float, ptr %12990, align 4, !tbaa !11
  %12992 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %12991, ptr %12992, align 4, !tbaa !11
  %12993 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %12994 = load float, ptr %12993, align 4, !tbaa !14
  %12995 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %12994, ptr %12995, align 4, !tbaa !14
  %12996 = load ptr, ptr %13, align 8, !tbaa !5
  %12997 = getelementptr inbounds %struct.complex, ptr %12996, i64 2
  %12998 = getelementptr inbounds %struct.complex, ptr %12997, i32 0, i32 0
  %12999 = load float, ptr %12998, align 4, !tbaa !11
  %13000 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %12999, ptr %13000, align 4, !tbaa !11
  %13001 = load ptr, ptr %13, align 8, !tbaa !5
  %13002 = getelementptr inbounds %struct.complex, ptr %13001, i64 2
  %13003 = getelementptr inbounds %struct.complex, ptr %13002, i32 0, i32 1
  %13004 = load float, ptr %13003, align 4, !tbaa !14
  %13005 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %13004, ptr %13005, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %13006 = load ptr, ptr %14, align 8, !tbaa !5
  %13007 = getelementptr inbounds %struct.complex, ptr %13006, i32 0, i32 0
  %13008 = load float, ptr %13007, align 4, !tbaa !11
  %13009 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13010 = load float, ptr %13009, align 4, !tbaa !11
  %13011 = load ptr, ptr %14, align 8, !tbaa !5
  %13012 = getelementptr inbounds %struct.complex, ptr %13011, i32 0, i32 1
  %13013 = load float, ptr %13012, align 4, !tbaa !14
  %13014 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13015 = load float, ptr %13014, align 4, !tbaa !14
  %13016 = fmul float %13013, %13015
  %13017 = fneg float %13016
  %13018 = call float @llvm.fmuladd.f32(float %13008, float %13010, float %13017)
  %13019 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13018, ptr %13019, align 4, !tbaa !11
  %13020 = load ptr, ptr %14, align 8, !tbaa !5
  %13021 = getelementptr inbounds %struct.complex, ptr %13020, i32 0, i32 0
  %13022 = load float, ptr %13021, align 4, !tbaa !11
  %13023 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13024 = load float, ptr %13023, align 4, !tbaa !14
  %13025 = load ptr, ptr %14, align 8, !tbaa !5
  %13026 = getelementptr inbounds %struct.complex, ptr %13025, i32 0, i32 1
  %13027 = load float, ptr %13026, align 4, !tbaa !14
  %13028 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13029 = load float, ptr %13028, align 4, !tbaa !11
  %13030 = fmul float %13027, %13029
  %13031 = call float @llvm.fmuladd.f32(float %13022, float %13024, float %13030)
  %13032 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13031, ptr %13032, align 4, !tbaa !14
  %13033 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13034 = load float, ptr %13033, align 4, !tbaa !11
  %13035 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %13034, ptr %13035, align 4, !tbaa !11
  %13036 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13037 = load float, ptr %13036, align 4, !tbaa !14
  %13038 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %13037, ptr %13038, align 4, !tbaa !14
  %13039 = load ptr, ptr %13, align 8, !tbaa !5
  %13040 = getelementptr inbounds %struct.complex, ptr %13039, i64 3
  %13041 = getelementptr inbounds %struct.complex, ptr %13040, i32 0, i32 0
  %13042 = load float, ptr %13041, align 4, !tbaa !11
  %13043 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %13042, ptr %13043, align 4, !tbaa !11
  %13044 = load ptr, ptr %13, align 8, !tbaa !5
  %13045 = getelementptr inbounds %struct.complex, ptr %13044, i64 3
  %13046 = getelementptr inbounds %struct.complex, ptr %13045, i32 0, i32 1
  %13047 = load float, ptr %13046, align 4, !tbaa !14
  %13048 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %13047, ptr %13048, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %13049 = load ptr, ptr %14, align 8, !tbaa !5
  %13050 = getelementptr inbounds %struct.complex, ptr %13049, i32 0, i32 0
  %13051 = load float, ptr %13050, align 4, !tbaa !11
  %13052 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13053 = load float, ptr %13052, align 4, !tbaa !11
  %13054 = load ptr, ptr %14, align 8, !tbaa !5
  %13055 = getelementptr inbounds %struct.complex, ptr %13054, i32 0, i32 1
  %13056 = load float, ptr %13055, align 4, !tbaa !14
  %13057 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13058 = load float, ptr %13057, align 4, !tbaa !14
  %13059 = fmul float %13056, %13058
  %13060 = fneg float %13059
  %13061 = call float @llvm.fmuladd.f32(float %13051, float %13053, float %13060)
  %13062 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13061, ptr %13062, align 4, !tbaa !11
  %13063 = load ptr, ptr %14, align 8, !tbaa !5
  %13064 = getelementptr inbounds %struct.complex, ptr %13063, i32 0, i32 0
  %13065 = load float, ptr %13064, align 4, !tbaa !11
  %13066 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13067 = load float, ptr %13066, align 4, !tbaa !14
  %13068 = load ptr, ptr %14, align 8, !tbaa !5
  %13069 = getelementptr inbounds %struct.complex, ptr %13068, i32 0, i32 1
  %13070 = load float, ptr %13069, align 4, !tbaa !14
  %13071 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13072 = load float, ptr %13071, align 4, !tbaa !11
  %13073 = fmul float %13070, %13072
  %13074 = call float @llvm.fmuladd.f32(float %13065, float %13067, float %13073)
  %13075 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13074, ptr %13075, align 4, !tbaa !14
  %13076 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13077 = load float, ptr %13076, align 4, !tbaa !11
  %13078 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %13077, ptr %13078, align 4, !tbaa !11
  %13079 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13080 = load float, ptr %13079, align 4, !tbaa !14
  %13081 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %13080, ptr %13081, align 4, !tbaa !14
  %13082 = load ptr, ptr %13, align 8, !tbaa !5
  %13083 = getelementptr inbounds %struct.complex, ptr %13082, i64 4
  %13084 = getelementptr inbounds %struct.complex, ptr %13083, i32 0, i32 0
  %13085 = load float, ptr %13084, align 4, !tbaa !11
  %13086 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %13085, ptr %13086, align 4, !tbaa !11
  %13087 = load ptr, ptr %13, align 8, !tbaa !5
  %13088 = getelementptr inbounds %struct.complex, ptr %13087, i64 4
  %13089 = getelementptr inbounds %struct.complex, ptr %13088, i32 0, i32 1
  %13090 = load float, ptr %13089, align 4, !tbaa !14
  %13091 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %13090, ptr %13091, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %13092 = load ptr, ptr %14, align 8, !tbaa !5
  %13093 = getelementptr inbounds %struct.complex, ptr %13092, i32 0, i32 0
  %13094 = load float, ptr %13093, align 4, !tbaa !11
  %13095 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13096 = load float, ptr %13095, align 4, !tbaa !11
  %13097 = load ptr, ptr %14, align 8, !tbaa !5
  %13098 = getelementptr inbounds %struct.complex, ptr %13097, i32 0, i32 1
  %13099 = load float, ptr %13098, align 4, !tbaa !14
  %13100 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13101 = load float, ptr %13100, align 4, !tbaa !14
  %13102 = fmul float %13099, %13101
  %13103 = fneg float %13102
  %13104 = call float @llvm.fmuladd.f32(float %13094, float %13096, float %13103)
  %13105 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13104, ptr %13105, align 4, !tbaa !11
  %13106 = load ptr, ptr %14, align 8, !tbaa !5
  %13107 = getelementptr inbounds %struct.complex, ptr %13106, i32 0, i32 0
  %13108 = load float, ptr %13107, align 4, !tbaa !11
  %13109 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13110 = load float, ptr %13109, align 4, !tbaa !14
  %13111 = load ptr, ptr %14, align 8, !tbaa !5
  %13112 = getelementptr inbounds %struct.complex, ptr %13111, i32 0, i32 1
  %13113 = load float, ptr %13112, align 4, !tbaa !14
  %13114 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13115 = load float, ptr %13114, align 4, !tbaa !11
  %13116 = fmul float %13113, %13115
  %13117 = call float @llvm.fmuladd.f32(float %13108, float %13110, float %13116)
  %13118 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13117, ptr %13118, align 4, !tbaa !14
  %13119 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13120 = load float, ptr %13119, align 4, !tbaa !11
  %13121 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %13120, ptr %13121, align 4, !tbaa !11
  %13122 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13123 = load float, ptr %13122, align 4, !tbaa !14
  %13124 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %13123, ptr %13124, align 4, !tbaa !14
  %13125 = load ptr, ptr %13, align 8, !tbaa !5
  %13126 = getelementptr inbounds %struct.complex, ptr %13125, i64 5
  %13127 = getelementptr inbounds %struct.complex, ptr %13126, i32 0, i32 0
  %13128 = load float, ptr %13127, align 4, !tbaa !11
  %13129 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %13128, ptr %13129, align 4, !tbaa !11
  %13130 = load ptr, ptr %13, align 8, !tbaa !5
  %13131 = getelementptr inbounds %struct.complex, ptr %13130, i64 5
  %13132 = getelementptr inbounds %struct.complex, ptr %13131, i32 0, i32 1
  %13133 = load float, ptr %13132, align 4, !tbaa !14
  %13134 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %13133, ptr %13134, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %13135 = load ptr, ptr %14, align 8, !tbaa !5
  %13136 = getelementptr inbounds %struct.complex, ptr %13135, i32 0, i32 0
  %13137 = load float, ptr %13136, align 4, !tbaa !11
  %13138 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13139 = load float, ptr %13138, align 4, !tbaa !11
  %13140 = load ptr, ptr %14, align 8, !tbaa !5
  %13141 = getelementptr inbounds %struct.complex, ptr %13140, i32 0, i32 1
  %13142 = load float, ptr %13141, align 4, !tbaa !14
  %13143 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13144 = load float, ptr %13143, align 4, !tbaa !14
  %13145 = fmul float %13142, %13144
  %13146 = fneg float %13145
  %13147 = call float @llvm.fmuladd.f32(float %13137, float %13139, float %13146)
  %13148 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13147, ptr %13148, align 4, !tbaa !11
  %13149 = load ptr, ptr %14, align 8, !tbaa !5
  %13150 = getelementptr inbounds %struct.complex, ptr %13149, i32 0, i32 0
  %13151 = load float, ptr %13150, align 4, !tbaa !11
  %13152 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13153 = load float, ptr %13152, align 4, !tbaa !14
  %13154 = load ptr, ptr %14, align 8, !tbaa !5
  %13155 = getelementptr inbounds %struct.complex, ptr %13154, i32 0, i32 1
  %13156 = load float, ptr %13155, align 4, !tbaa !14
  %13157 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13158 = load float, ptr %13157, align 4, !tbaa !11
  %13159 = fmul float %13156, %13158
  %13160 = call float @llvm.fmuladd.f32(float %13151, float %13153, float %13159)
  %13161 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13160, ptr %13161, align 4, !tbaa !14
  %13162 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13163 = load float, ptr %13162, align 4, !tbaa !11
  %13164 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %13163, ptr %13164, align 4, !tbaa !11
  %13165 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13166 = load float, ptr %13165, align 4, !tbaa !14
  %13167 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %13166, ptr %13167, align 4, !tbaa !14
  %13168 = load ptr, ptr %13, align 8, !tbaa !5
  %13169 = getelementptr inbounds %struct.complex, ptr %13168, i64 6
  %13170 = getelementptr inbounds %struct.complex, ptr %13169, i32 0, i32 0
  %13171 = load float, ptr %13170, align 4, !tbaa !11
  %13172 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %13171, ptr %13172, align 4, !tbaa !11
  %13173 = load ptr, ptr %13, align 8, !tbaa !5
  %13174 = getelementptr inbounds %struct.complex, ptr %13173, i64 6
  %13175 = getelementptr inbounds %struct.complex, ptr %13174, i32 0, i32 1
  %13176 = load float, ptr %13175, align 4, !tbaa !14
  %13177 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %13176, ptr %13177, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %13178 = load ptr, ptr %14, align 8, !tbaa !5
  %13179 = getelementptr inbounds %struct.complex, ptr %13178, i32 0, i32 0
  %13180 = load float, ptr %13179, align 4, !tbaa !11
  %13181 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13182 = load float, ptr %13181, align 4, !tbaa !11
  %13183 = load ptr, ptr %14, align 8, !tbaa !5
  %13184 = getelementptr inbounds %struct.complex, ptr %13183, i32 0, i32 1
  %13185 = load float, ptr %13184, align 4, !tbaa !14
  %13186 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13187 = load float, ptr %13186, align 4, !tbaa !14
  %13188 = fmul float %13185, %13187
  %13189 = fneg float %13188
  %13190 = call float @llvm.fmuladd.f32(float %13180, float %13182, float %13189)
  %13191 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13190, ptr %13191, align 4, !tbaa !11
  %13192 = load ptr, ptr %14, align 8, !tbaa !5
  %13193 = getelementptr inbounds %struct.complex, ptr %13192, i32 0, i32 0
  %13194 = load float, ptr %13193, align 4, !tbaa !11
  %13195 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13196 = load float, ptr %13195, align 4, !tbaa !14
  %13197 = load ptr, ptr %14, align 8, !tbaa !5
  %13198 = getelementptr inbounds %struct.complex, ptr %13197, i32 0, i32 1
  %13199 = load float, ptr %13198, align 4, !tbaa !14
  %13200 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13201 = load float, ptr %13200, align 4, !tbaa !11
  %13202 = fmul float %13199, %13201
  %13203 = call float @llvm.fmuladd.f32(float %13194, float %13196, float %13202)
  %13204 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13203, ptr %13204, align 4, !tbaa !14
  %13205 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13206 = load float, ptr %13205, align 4, !tbaa !11
  %13207 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %13206, ptr %13207, align 4, !tbaa !11
  %13208 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13209 = load float, ptr %13208, align 4, !tbaa !14
  %13210 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %13209, ptr %13210, align 4, !tbaa !14
  %13211 = load ptr, ptr %13, align 8, !tbaa !5
  %13212 = getelementptr inbounds %struct.complex, ptr %13211, i64 7
  %13213 = getelementptr inbounds %struct.complex, ptr %13212, i32 0, i32 0
  %13214 = load float, ptr %13213, align 4, !tbaa !11
  %13215 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %13214, ptr %13215, align 4, !tbaa !11
  %13216 = load ptr, ptr %13, align 8, !tbaa !5
  %13217 = getelementptr inbounds %struct.complex, ptr %13216, i64 7
  %13218 = getelementptr inbounds %struct.complex, ptr %13217, i32 0, i32 1
  %13219 = load float, ptr %13218, align 4, !tbaa !14
  %13220 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %13219, ptr %13220, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %13221 = load ptr, ptr %14, align 8, !tbaa !5
  %13222 = getelementptr inbounds %struct.complex, ptr %13221, i32 0, i32 0
  %13223 = load float, ptr %13222, align 4, !tbaa !11
  %13224 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13225 = load float, ptr %13224, align 4, !tbaa !11
  %13226 = load ptr, ptr %14, align 8, !tbaa !5
  %13227 = getelementptr inbounds %struct.complex, ptr %13226, i32 0, i32 1
  %13228 = load float, ptr %13227, align 4, !tbaa !14
  %13229 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13230 = load float, ptr %13229, align 4, !tbaa !14
  %13231 = fmul float %13228, %13230
  %13232 = fneg float %13231
  %13233 = call float @llvm.fmuladd.f32(float %13223, float %13225, float %13232)
  %13234 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13233, ptr %13234, align 4, !tbaa !11
  %13235 = load ptr, ptr %14, align 8, !tbaa !5
  %13236 = getelementptr inbounds %struct.complex, ptr %13235, i32 0, i32 0
  %13237 = load float, ptr %13236, align 4, !tbaa !11
  %13238 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13239 = load float, ptr %13238, align 4, !tbaa !14
  %13240 = load ptr, ptr %14, align 8, !tbaa !5
  %13241 = getelementptr inbounds %struct.complex, ptr %13240, i32 0, i32 1
  %13242 = load float, ptr %13241, align 4, !tbaa !14
  %13243 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13244 = load float, ptr %13243, align 4, !tbaa !11
  %13245 = fmul float %13242, %13244
  %13246 = call float @llvm.fmuladd.f32(float %13237, float %13239, float %13245)
  %13247 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13246, ptr %13247, align 4, !tbaa !14
  %13248 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13249 = load float, ptr %13248, align 4, !tbaa !11
  %13250 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %13249, ptr %13250, align 4, !tbaa !11
  %13251 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13252 = load float, ptr %13251, align 4, !tbaa !14
  %13253 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %13252, ptr %13253, align 4, !tbaa !14
  %13254 = load ptr, ptr %13, align 8, !tbaa !5
  %13255 = getelementptr inbounds %struct.complex, ptr %13254, i64 8
  %13256 = getelementptr inbounds %struct.complex, ptr %13255, i32 0, i32 0
  %13257 = load float, ptr %13256, align 4, !tbaa !11
  %13258 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %13257, ptr %13258, align 4, !tbaa !11
  %13259 = load ptr, ptr %13, align 8, !tbaa !5
  %13260 = getelementptr inbounds %struct.complex, ptr %13259, i64 8
  %13261 = getelementptr inbounds %struct.complex, ptr %13260, i32 0, i32 1
  %13262 = load float, ptr %13261, align 4, !tbaa !14
  %13263 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %13262, ptr %13263, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %67)
  %13264 = load ptr, ptr %14, align 8, !tbaa !5
  %13265 = getelementptr inbounds %struct.complex, ptr %13264, i32 0, i32 0
  %13266 = load float, ptr %13265, align 4, !tbaa !11
  %13267 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13268 = load float, ptr %13267, align 4, !tbaa !11
  %13269 = load ptr, ptr %14, align 8, !tbaa !5
  %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 %32, i32 0, i32 1
  %13273 = load float, ptr %13272, align 4, !tbaa !14
  %13274 = fmul float %13271, %13273
  %13275 = fneg float %13274
  %13276 = call float @llvm.fmuladd.f32(float %13266, float %13268, float %13275)
  %13277 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13276, ptr %13277, align 4, !tbaa !11
  %13278 = load ptr, ptr %14, align 8, !tbaa !5
  %13279 = getelementptr inbounds %struct.complex, ptr %13278, i32 0, i32 0
  %13280 = load float, ptr %13279, align 4, !tbaa !11
  %13281 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13282 = load float, ptr %13281, align 4, !tbaa !14
  %13283 = load ptr, ptr %14, align 8, !tbaa !5
  %13284 = getelementptr inbounds %struct.complex, ptr %13283, i32 0, i32 1
  %13285 = load float, ptr %13284, align 4, !tbaa !14
  %13286 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13287 = load float, ptr %13286, align 4, !tbaa !11
  %13288 = fmul float %13285, %13287
  %13289 = call float @llvm.fmuladd.f32(float %13280, float %13282, float %13288)
  %13290 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13289, ptr %13290, align 4, !tbaa !14
  %13291 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13292 = load float, ptr %13291, align 4, !tbaa !11
  %13293 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %13292, ptr %13293, align 4, !tbaa !11
  %13294 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13295 = load float, ptr %13294, align 4, !tbaa !14
  %13296 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %13295, ptr %13296, align 4, !tbaa !14
  %13297 = load ptr, ptr %11, align 8, !tbaa !5
  %13298 = load i64, ptr %13297, align 8, !tbaa !9
  store i64 %13298, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %13299

13299:                                            ; preds = %14191, %12952
  %13300 = load i64, ptr %50, align 8, !tbaa !9
  %13301 = load i64, ptr %20, align 8, !tbaa !9
  %13302 = icmp sle i64 %13300, %13301
  br i1 %13302, label %13303, label %14194

13303:                                            ; preds = %13299
  %13304 = load i64, ptr %50, align 8, !tbaa !9
  %13305 = load i64, ptr %18, align 8, !tbaa !9
  %13306 = add nsw i64 %13304, %13305
  store i64 %13306, ptr %21, align 8, !tbaa !9
  %13307 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %13308 = load float, ptr %13307, align 4, !tbaa !11
  %13309 = load ptr, ptr %15, align 8, !tbaa !5
  %13310 = load i64, ptr %21, align 8, !tbaa !9
  %13311 = getelementptr inbounds %struct.complex, ptr %13309, i64 %13310
  %13312 = getelementptr inbounds %struct.complex, ptr %13311, i32 0, i32 0
  %13313 = load float, ptr %13312, align 4, !tbaa !11
  %13314 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %13315 = load float, ptr %13314, align 4, !tbaa !14
  %13316 = load ptr, ptr %15, align 8, !tbaa !5
  %13317 = load i64, ptr %21, align 8, !tbaa !9
  %13318 = getelementptr inbounds %struct.complex, ptr %13316, i64 %13317
  %13319 = getelementptr inbounds %struct.complex, ptr %13318, i32 0, i32 1
  %13320 = load float, ptr %13319, align 4, !tbaa !14
  %13321 = fmul float %13315, %13320
  %13322 = fneg float %13321
  %13323 = call float @llvm.fmuladd.f32(float %13308, float %13313, float %13322)
  %13324 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %13323, ptr %13324, align 4, !tbaa !11
  %13325 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %13326 = load float, ptr %13325, align 4, !tbaa !11
  %13327 = load ptr, ptr %15, align 8, !tbaa !5
  %13328 = load i64, ptr %21, align 8, !tbaa !9
  %13329 = getelementptr inbounds %struct.complex, ptr %13327, i64 %13328
  %13330 = getelementptr inbounds %struct.complex, ptr %13329, i32 0, i32 1
  %13331 = load float, ptr %13330, align 4, !tbaa !14
  %13332 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %13333 = load float, ptr %13332, align 4, !tbaa !14
  %13334 = load ptr, ptr %15, align 8, !tbaa !5
  %13335 = load i64, ptr %21, align 8, !tbaa !9
  %13336 = getelementptr inbounds %struct.complex, ptr %13334, i64 %13335
  %13337 = getelementptr inbounds %struct.complex, ptr %13336, i32 0, i32 0
  %13338 = load float, ptr %13337, align 4, !tbaa !11
  %13339 = fmul float %13333, %13338
  %13340 = call float @llvm.fmuladd.f32(float %13326, float %13331, float %13339)
  %13341 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %13340, ptr %13341, align 4, !tbaa !14
  %13342 = load i64, ptr %50, align 8, !tbaa !9
  %13343 = load i64, ptr %18, align 8, !tbaa !9
  %13344 = shl i64 %13343, 1
  %13345 = add nsw i64 %13342, %13344
  store i64 %13345, ptr %22, align 8, !tbaa !9
  %13346 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %13347 = load float, ptr %13346, align 4, !tbaa !11
  %13348 = load ptr, ptr %15, align 8, !tbaa !5
  %13349 = load i64, ptr %22, align 8, !tbaa !9
  %13350 = getelementptr inbounds %struct.complex, ptr %13348, i64 %13349
  %13351 = getelementptr inbounds %struct.complex, ptr %13350, i32 0, i32 0
  %13352 = load float, ptr %13351, align 4, !tbaa !11
  %13353 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %13354 = load float, ptr %13353, align 4, !tbaa !14
  %13355 = load ptr, ptr %15, align 8, !tbaa !5
  %13356 = load i64, ptr %22, align 8, !tbaa !9
  %13357 = getelementptr inbounds %struct.complex, ptr %13355, i64 %13356
  %13358 = getelementptr inbounds %struct.complex, ptr %13357, i32 0, i32 1
  %13359 = load float, ptr %13358, align 4, !tbaa !14
  %13360 = fmul float %13354, %13359
  %13361 = fneg float %13360
  %13362 = call float @llvm.fmuladd.f32(float %13347, float %13352, float %13361)
  %13363 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %13362, ptr %13363, align 4, !tbaa !11
  %13364 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %13365 = load float, ptr %13364, align 4, !tbaa !11
  %13366 = load ptr, ptr %15, align 8, !tbaa !5
  %13367 = load i64, ptr %22, align 8, !tbaa !9
  %13368 = getelementptr inbounds %struct.complex, ptr %13366, i64 %13367
  %13369 = getelementptr inbounds %struct.complex, ptr %13368, i32 0, i32 1
  %13370 = load float, ptr %13369, align 4, !tbaa !14
  %13371 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %13372 = load float, ptr %13371, align 4, !tbaa !14
  %13373 = load ptr, ptr %15, align 8, !tbaa !5
  %13374 = load i64, ptr %22, align 8, !tbaa !9
  %13375 = getelementptr inbounds %struct.complex, ptr %13373, i64 %13374
  %13376 = getelementptr inbounds %struct.complex, ptr %13375, i32 0, i32 0
  %13377 = load float, ptr %13376, align 4, !tbaa !11
  %13378 = fmul float %13372, %13377
  %13379 = call float @llvm.fmuladd.f32(float %13365, float %13370, float %13378)
  %13380 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %13379, ptr %13380, align 4, !tbaa !14
  %13381 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %13382 = load float, ptr %13381, align 4, !tbaa !11
  %13383 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %13384 = load float, ptr %13383, align 4, !tbaa !11
  %13385 = fadd float %13382, %13384
  %13386 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %13385, ptr %13386, align 4, !tbaa !11
  %13387 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %13388 = load float, ptr %13387, align 4, !tbaa !14
  %13389 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %13390 = load float, ptr %13389, align 4, !tbaa !14
  %13391 = fadd float %13388, %13390
  %13392 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %13391, ptr %13392, align 4, !tbaa !14
  %13393 = load i64, ptr %50, align 8, !tbaa !9
  %13394 = load i64, ptr %18, align 8, !tbaa !9
  %13395 = mul nsw i64 %13394, 3
  %13396 = add nsw i64 %13393, %13395
  store i64 %13396, ptr %23, align 8, !tbaa !9
  %13397 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %13398 = load float, ptr %13397, align 4, !tbaa !11
  %13399 = load ptr, ptr %15, align 8, !tbaa !5
  %13400 = load i64, ptr %23, align 8, !tbaa !9
  %13401 = getelementptr inbounds %struct.complex, ptr %13399, i64 %13400
  %13402 = getelementptr inbounds %struct.complex, ptr %13401, i32 0, i32 0
  %13403 = load float, ptr %13402, align 4, !tbaa !11
  %13404 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %13405 = load float, ptr %13404, align 4, !tbaa !14
  %13406 = load ptr, ptr %15, align 8, !tbaa !5
  %13407 = load i64, ptr %23, align 8, !tbaa !9
  %13408 = getelementptr inbounds %struct.complex, ptr %13406, i64 %13407
  %13409 = getelementptr inbounds %struct.complex, ptr %13408, i32 0, i32 1
  %13410 = load float, ptr %13409, align 4, !tbaa !14
  %13411 = fmul float %13405, %13410
  %13412 = fneg float %13411
  %13413 = call float @llvm.fmuladd.f32(float %13398, float %13403, float %13412)
  %13414 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %13413, ptr %13414, align 4, !tbaa !11
  %13415 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %13416 = load float, ptr %13415, align 4, !tbaa !11
  %13417 = load ptr, ptr %15, align 8, !tbaa !5
  %13418 = load i64, ptr %23, align 8, !tbaa !9
  %13419 = getelementptr inbounds %struct.complex, ptr %13417, i64 %13418
  %13420 = getelementptr inbounds %struct.complex, ptr %13419, i32 0, i32 1
  %13421 = load float, ptr %13420, align 4, !tbaa !14
  %13422 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %13423 = load float, ptr %13422, align 4, !tbaa !14
  %13424 = load ptr, ptr %15, align 8, !tbaa !5
  %13425 = load i64, ptr %23, align 8, !tbaa !9
  %13426 = getelementptr inbounds %struct.complex, ptr %13424, i64 %13425
  %13427 = getelementptr inbounds %struct.complex, ptr %13426, i32 0, i32 0
  %13428 = load float, ptr %13427, align 4, !tbaa !11
  %13429 = fmul float %13423, %13428
  %13430 = call float @llvm.fmuladd.f32(float %13416, float %13421, float %13429)
  %13431 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %13430, ptr %13431, align 4, !tbaa !14
  %13432 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %13433 = load float, ptr %13432, align 4, !tbaa !11
  %13434 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %13435 = load float, ptr %13434, align 4, !tbaa !11
  %13436 = fadd float %13433, %13435
  %13437 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %13436, ptr %13437, align 4, !tbaa !11
  %13438 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %13439 = load float, ptr %13438, align 4, !tbaa !14
  %13440 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %13441 = load float, ptr %13440, align 4, !tbaa !14
  %13442 = fadd float %13439, %13441
  %13443 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %13442, ptr %13443, align 4, !tbaa !14
  %13444 = load i64, ptr %50, align 8, !tbaa !9
  %13445 = load i64, ptr %18, align 8, !tbaa !9
  %13446 = shl i64 %13445, 2
  %13447 = add nsw i64 %13444, %13446
  store i64 %13447, ptr %24, align 8, !tbaa !9
  %13448 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %13449 = load float, ptr %13448, align 4, !tbaa !11
  %13450 = load ptr, ptr %15, align 8, !tbaa !5
  %13451 = load i64, ptr %24, align 8, !tbaa !9
  %13452 = getelementptr inbounds %struct.complex, ptr %13450, i64 %13451
  %13453 = getelementptr inbounds %struct.complex, ptr %13452, i32 0, i32 0
  %13454 = load float, ptr %13453, align 4, !tbaa !11
  %13455 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %13456 = load float, ptr %13455, align 4, !tbaa !14
  %13457 = load ptr, ptr %15, align 8, !tbaa !5
  %13458 = load i64, ptr %24, align 8, !tbaa !9
  %13459 = getelementptr inbounds %struct.complex, ptr %13457, i64 %13458
  %13460 = getelementptr inbounds %struct.complex, ptr %13459, i32 0, i32 1
  %13461 = load float, ptr %13460, align 4, !tbaa !14
  %13462 = fmul float %13456, %13461
  %13463 = fneg float %13462
  %13464 = call float @llvm.fmuladd.f32(float %13449, float %13454, float %13463)
  %13465 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %13464, ptr %13465, align 4, !tbaa !11
  %13466 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %13467 = load float, ptr %13466, align 4, !tbaa !11
  %13468 = load ptr, ptr %15, align 8, !tbaa !5
  %13469 = load i64, ptr %24, align 8, !tbaa !9
  %13470 = getelementptr inbounds %struct.complex, ptr %13468, i64 %13469
  %13471 = getelementptr inbounds %struct.complex, ptr %13470, i32 0, i32 1
  %13472 = load float, ptr %13471, align 4, !tbaa !14
  %13473 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %13474 = load float, ptr %13473, align 4, !tbaa !14
  %13475 = load ptr, ptr %15, align 8, !tbaa !5
  %13476 = load i64, ptr %24, align 8, !tbaa !9
  %13477 = getelementptr inbounds %struct.complex, ptr %13475, i64 %13476
  %13478 = getelementptr inbounds %struct.complex, ptr %13477, i32 0, i32 0
  %13479 = load float, ptr %13478, align 4, !tbaa !11
  %13480 = fmul float %13474, %13479
  %13481 = call float @llvm.fmuladd.f32(float %13467, float %13472, float %13480)
  %13482 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %13481, ptr %13482, align 4, !tbaa !14
  %13483 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %13484 = load float, ptr %13483, align 4, !tbaa !11
  %13485 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %13486 = load float, ptr %13485, align 4, !tbaa !11
  %13487 = fadd float %13484, %13486
  %13488 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %13487, ptr %13488, align 4, !tbaa !11
  %13489 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %13490 = load float, ptr %13489, align 4, !tbaa !14
  %13491 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %13492 = load float, ptr %13491, align 4, !tbaa !14
  %13493 = fadd float %13490, %13492
  %13494 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %13493, ptr %13494, align 4, !tbaa !14
  %13495 = load i64, ptr %50, align 8, !tbaa !9
  %13496 = load i64, ptr %18, align 8, !tbaa !9
  %13497 = mul nsw i64 %13496, 5
  %13498 = add nsw i64 %13495, %13497
  store i64 %13498, ptr %25, align 8, !tbaa !9
  %13499 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %13500 = load float, ptr %13499, align 4, !tbaa !11
  %13501 = load ptr, ptr %15, align 8, !tbaa !5
  %13502 = load i64, ptr %25, align 8, !tbaa !9
  %13503 = getelementptr inbounds %struct.complex, ptr %13501, i64 %13502
  %13504 = getelementptr inbounds %struct.complex, ptr %13503, i32 0, i32 0
  %13505 = load float, ptr %13504, align 4, !tbaa !11
  %13506 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %13507 = load float, ptr %13506, align 4, !tbaa !14
  %13508 = load ptr, ptr %15, align 8, !tbaa !5
  %13509 = load i64, ptr %25, align 8, !tbaa !9
  %13510 = getelementptr inbounds %struct.complex, ptr %13508, i64 %13509
  %13511 = getelementptr inbounds %struct.complex, ptr %13510, i32 0, i32 1
  %13512 = load float, ptr %13511, align 4, !tbaa !14
  %13513 = fmul float %13507, %13512
  %13514 = fneg float %13513
  %13515 = call float @llvm.fmuladd.f32(float %13500, float %13505, float %13514)
  %13516 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %13515, ptr %13516, align 4, !tbaa !11
  %13517 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %13518 = load float, ptr %13517, align 4, !tbaa !11
  %13519 = load ptr, ptr %15, align 8, !tbaa !5
  %13520 = load i64, ptr %25, align 8, !tbaa !9
  %13521 = getelementptr inbounds %struct.complex, ptr %13519, i64 %13520
  %13522 = getelementptr inbounds %struct.complex, ptr %13521, i32 0, i32 1
  %13523 = load float, ptr %13522, align 4, !tbaa !14
  %13524 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %13525 = load float, ptr %13524, align 4, !tbaa !14
  %13526 = load ptr, ptr %15, align 8, !tbaa !5
  %13527 = load i64, ptr %25, align 8, !tbaa !9
  %13528 = getelementptr inbounds %struct.complex, ptr %13526, i64 %13527
  %13529 = getelementptr inbounds %struct.complex, ptr %13528, i32 0, i32 0
  %13530 = load float, ptr %13529, align 4, !tbaa !11
  %13531 = fmul float %13525, %13530
  %13532 = call float @llvm.fmuladd.f32(float %13518, float %13523, float %13531)
  %13533 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %13532, ptr %13533, align 4, !tbaa !14
  %13534 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %13535 = load float, ptr %13534, align 4, !tbaa !11
  %13536 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %13537 = load float, ptr %13536, align 4, !tbaa !11
  %13538 = fadd float %13535, %13537
  %13539 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %13538, ptr %13539, align 4, !tbaa !11
  %13540 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %13541 = load float, ptr %13540, align 4, !tbaa !14
  %13542 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %13543 = load float, ptr %13542, align 4, !tbaa !14
  %13544 = fadd float %13541, %13543
  %13545 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %13544, ptr %13545, align 4, !tbaa !14
  %13546 = load i64, ptr %50, align 8, !tbaa !9
  %13547 = load i64, ptr %18, align 8, !tbaa !9
  %13548 = mul nsw i64 %13547, 6
  %13549 = add nsw i64 %13546, %13548
  store i64 %13549, ptr %26, align 8, !tbaa !9
  %13550 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %13551 = load float, ptr %13550, align 4, !tbaa !11
  %13552 = load ptr, ptr %15, align 8, !tbaa !5
  %13553 = load i64, ptr %26, align 8, !tbaa !9
  %13554 = getelementptr inbounds %struct.complex, ptr %13552, i64 %13553
  %13555 = getelementptr inbounds %struct.complex, ptr %13554, i32 0, i32 0
  %13556 = load float, ptr %13555, align 4, !tbaa !11
  %13557 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %13558 = load float, ptr %13557, align 4, !tbaa !14
  %13559 = load ptr, ptr %15, align 8, !tbaa !5
  %13560 = load i64, ptr %26, align 8, !tbaa !9
  %13561 = getelementptr inbounds %struct.complex, ptr %13559, i64 %13560
  %13562 = getelementptr inbounds %struct.complex, ptr %13561, i32 0, i32 1
  %13563 = load float, ptr %13562, align 4, !tbaa !14
  %13564 = fmul float %13558, %13563
  %13565 = fneg float %13564
  %13566 = call float @llvm.fmuladd.f32(float %13551, float %13556, float %13565)
  %13567 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %13566, ptr %13567, align 4, !tbaa !11
  %13568 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %13569 = load float, ptr %13568, align 4, !tbaa !11
  %13570 = load ptr, ptr %15, align 8, !tbaa !5
  %13571 = load i64, ptr %26, align 8, !tbaa !9
  %13572 = getelementptr inbounds %struct.complex, ptr %13570, i64 %13571
  %13573 = getelementptr inbounds %struct.complex, ptr %13572, i32 0, i32 1
  %13574 = load float, ptr %13573, align 4, !tbaa !14
  %13575 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %13576 = load float, ptr %13575, align 4, !tbaa !14
  %13577 = load ptr, ptr %15, align 8, !tbaa !5
  %13578 = load i64, ptr %26, align 8, !tbaa !9
  %13579 = getelementptr inbounds %struct.complex, ptr %13577, i64 %13578
  %13580 = getelementptr inbounds %struct.complex, ptr %13579, i32 0, i32 0
  %13581 = load float, ptr %13580, align 4, !tbaa !11
  %13582 = fmul float %13576, %13581
  %13583 = call float @llvm.fmuladd.f32(float %13569, float %13574, float %13582)
  %13584 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %13583, ptr %13584, align 4, !tbaa !14
  %13585 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %13586 = load float, ptr %13585, align 4, !tbaa !11
  %13587 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %13588 = load float, ptr %13587, align 4, !tbaa !11
  %13589 = fadd float %13586, %13588
  %13590 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %13589, ptr %13590, align 4, !tbaa !11
  %13591 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %13592 = load float, ptr %13591, align 4, !tbaa !14
  %13593 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %13594 = load float, ptr %13593, align 4, !tbaa !14
  %13595 = fadd float %13592, %13594
  %13596 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %13595, ptr %13596, align 4, !tbaa !14
  %13597 = load i64, ptr %50, align 8, !tbaa !9
  %13598 = load i64, ptr %18, align 8, !tbaa !9
  %13599 = mul nsw i64 %13598, 7
  %13600 = add nsw i64 %13597, %13599
  store i64 %13600, ptr %27, align 8, !tbaa !9
  %13601 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %13602 = load float, ptr %13601, align 4, !tbaa !11
  %13603 = load ptr, ptr %15, align 8, !tbaa !5
  %13604 = load i64, ptr %27, align 8, !tbaa !9
  %13605 = getelementptr inbounds %struct.complex, ptr %13603, i64 %13604
  %13606 = getelementptr inbounds %struct.complex, ptr %13605, i32 0, i32 0
  %13607 = load float, ptr %13606, align 4, !tbaa !11
  %13608 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %13609 = load float, ptr %13608, align 4, !tbaa !14
  %13610 = load ptr, ptr %15, align 8, !tbaa !5
  %13611 = load i64, ptr %27, align 8, !tbaa !9
  %13612 = getelementptr inbounds %struct.complex, ptr %13610, i64 %13611
  %13613 = getelementptr inbounds %struct.complex, ptr %13612, i32 0, i32 1
  %13614 = load float, ptr %13613, align 4, !tbaa !14
  %13615 = fmul float %13609, %13614
  %13616 = fneg float %13615
  %13617 = call float @llvm.fmuladd.f32(float %13602, float %13607, float %13616)
  %13618 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %13617, ptr %13618, align 4, !tbaa !11
  %13619 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %13620 = load float, ptr %13619, align 4, !tbaa !11
  %13621 = load ptr, ptr %15, align 8, !tbaa !5
  %13622 = load i64, ptr %27, align 8, !tbaa !9
  %13623 = getelementptr inbounds %struct.complex, ptr %13621, i64 %13622
  %13624 = getelementptr inbounds %struct.complex, ptr %13623, i32 0, i32 1
  %13625 = load float, ptr %13624, align 4, !tbaa !14
  %13626 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %13627 = load float, ptr %13626, align 4, !tbaa !14
  %13628 = load ptr, ptr %15, align 8, !tbaa !5
  %13629 = load i64, ptr %27, align 8, !tbaa !9
  %13630 = getelementptr inbounds %struct.complex, ptr %13628, i64 %13629
  %13631 = getelementptr inbounds %struct.complex, ptr %13630, i32 0, i32 0
  %13632 = load float, ptr %13631, align 4, !tbaa !11
  %13633 = fmul float %13627, %13632
  %13634 = call float @llvm.fmuladd.f32(float %13620, float %13625, float %13633)
  %13635 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %13634, ptr %13635, align 4, !tbaa !14
  %13636 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %13637 = load float, ptr %13636, align 4, !tbaa !11
  %13638 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %13639 = load float, ptr %13638, align 4, !tbaa !11
  %13640 = fadd float %13637, %13639
  %13641 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %13640, ptr %13641, align 4, !tbaa !11
  %13642 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %13643 = load float, ptr %13642, align 4, !tbaa !14
  %13644 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %13645 = load float, ptr %13644, align 4, !tbaa !14
  %13646 = fadd float %13643, %13645
  %13647 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %13646, ptr %13647, align 4, !tbaa !14
  %13648 = load i64, ptr %50, align 8, !tbaa !9
  %13649 = load i64, ptr %18, align 8, !tbaa !9
  %13650 = shl i64 %13649, 3
  %13651 = add nsw i64 %13648, %13650
  store i64 %13651, ptr %28, align 8, !tbaa !9
  %13652 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %13653 = load float, ptr %13652, align 4, !tbaa !11
  %13654 = load ptr, ptr %15, align 8, !tbaa !5
  %13655 = load i64, ptr %28, align 8, !tbaa !9
  %13656 = getelementptr inbounds %struct.complex, ptr %13654, i64 %13655
  %13657 = getelementptr inbounds %struct.complex, ptr %13656, i32 0, i32 0
  %13658 = load float, ptr %13657, align 4, !tbaa !11
  %13659 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %13660 = load float, ptr %13659, align 4, !tbaa !14
  %13661 = load ptr, ptr %15, align 8, !tbaa !5
  %13662 = load i64, ptr %28, align 8, !tbaa !9
  %13663 = getelementptr inbounds %struct.complex, ptr %13661, i64 %13662
  %13664 = getelementptr inbounds %struct.complex, ptr %13663, i32 0, i32 1
  %13665 = load float, ptr %13664, align 4, !tbaa !14
  %13666 = fmul float %13660, %13665
  %13667 = fneg float %13666
  %13668 = call float @llvm.fmuladd.f32(float %13653, float %13658, float %13667)
  %13669 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %13668, ptr %13669, align 4, !tbaa !11
  %13670 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %13671 = load float, ptr %13670, align 4, !tbaa !11
  %13672 = load ptr, ptr %15, align 8, !tbaa !5
  %13673 = load i64, ptr %28, align 8, !tbaa !9
  %13674 = getelementptr inbounds %struct.complex, ptr %13672, i64 %13673
  %13675 = getelementptr inbounds %struct.complex, ptr %13674, i32 0, i32 1
  %13676 = load float, ptr %13675, align 4, !tbaa !14
  %13677 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %13678 = load float, ptr %13677, align 4, !tbaa !14
  %13679 = load ptr, ptr %15, align 8, !tbaa !5
  %13680 = load i64, ptr %28, align 8, !tbaa !9
  %13681 = getelementptr inbounds %struct.complex, ptr %13679, i64 %13680
  %13682 = getelementptr inbounds %struct.complex, ptr %13681, i32 0, i32 0
  %13683 = load float, ptr %13682, align 4, !tbaa !11
  %13684 = fmul float %13678, %13683
  %13685 = call float @llvm.fmuladd.f32(float %13671, float %13676, float %13684)
  %13686 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %13685, ptr %13686, align 4, !tbaa !14
  %13687 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13688 = load float, ptr %13687, align 4, !tbaa !11
  %13689 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %13690 = load float, ptr %13689, align 4, !tbaa !11
  %13691 = fadd float %13688, %13690
  %13692 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13691, ptr %13692, align 4, !tbaa !11
  %13693 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13694 = load float, ptr %13693, align 4, !tbaa !14
  %13695 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %13696 = load float, ptr %13695, align 4, !tbaa !14
  %13697 = fadd float %13694, %13696
  %13698 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13697, ptr %13698, align 4, !tbaa !14
  %13699 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13700 = load float, ptr %13699, align 4, !tbaa !11
  %13701 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %13700, ptr %13701, align 4, !tbaa !11
  %13702 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13703 = load float, ptr %13702, align 4, !tbaa !14
  %13704 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %13703, ptr %13704, align 4, !tbaa !14
  %13705 = load i64, ptr %50, align 8, !tbaa !9
  %13706 = load i64, ptr %18, align 8, !tbaa !9
  %13707 = add nsw i64 %13705, %13706
  store i64 %13707, ptr %21, align 8, !tbaa !9
  %13708 = load i64, ptr %50, align 8, !tbaa !9
  %13709 = load i64, ptr %18, align 8, !tbaa !9
  %13710 = add nsw i64 %13708, %13709
  store i64 %13710, ptr %22, align 8, !tbaa !9
  %13711 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13712 = load float, ptr %13711, align 4, !tbaa !11
  %13713 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %13714 = load float, ptr %13713, align 4, !tbaa !11
  %13715 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13716 = load float, ptr %13715, align 4, !tbaa !14
  %13717 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %13718 = load float, ptr %13717, align 4, !tbaa !14
  %13719 = fmul float %13716, %13718
  %13720 = fneg float %13719
  %13721 = call float @llvm.fmuladd.f32(float %13712, float %13714, float %13720)
  %13722 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %13721, ptr %13722, align 4, !tbaa !11
  %13723 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13724 = load float, ptr %13723, align 4, !tbaa !11
  %13725 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %13726 = load float, ptr %13725, align 4, !tbaa !14
  %13727 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13728 = load float, ptr %13727, align 4, !tbaa !14
  %13729 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %13730 = load float, ptr %13729, align 4, !tbaa !11
  %13731 = fmul float %13728, %13730
  %13732 = call float @llvm.fmuladd.f32(float %13724, float %13726, float %13731)
  %13733 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %13732, ptr %13733, align 4, !tbaa !14
  %13734 = load ptr, ptr %15, align 8, !tbaa !5
  %13735 = load i64, ptr %22, align 8, !tbaa !9
  %13736 = getelementptr inbounds %struct.complex, ptr %13734, i64 %13735
  %13737 = getelementptr inbounds %struct.complex, ptr %13736, i32 0, i32 0
  %13738 = load float, ptr %13737, align 4, !tbaa !11
  %13739 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13740 = load float, ptr %13739, align 4, !tbaa !11
  %13741 = fsub float %13738, %13740
  %13742 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13741, ptr %13742, align 4, !tbaa !11
  %13743 = load ptr, ptr %15, align 8, !tbaa !5
  %13744 = load i64, ptr %22, align 8, !tbaa !9
  %13745 = getelementptr inbounds %struct.complex, ptr %13743, i64 %13744
  %13746 = getelementptr inbounds %struct.complex, ptr %13745, i32 0, i32 1
  %13747 = load float, ptr %13746, align 4, !tbaa !14
  %13748 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13749 = load float, ptr %13748, align 4, !tbaa !14
  %13750 = fsub float %13747, %13749
  %13751 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13750, ptr %13751, align 4, !tbaa !14
  %13752 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13753 = load float, ptr %13752, align 4, !tbaa !11
  %13754 = load ptr, ptr %15, align 8, !tbaa !5
  %13755 = load i64, ptr %21, align 8, !tbaa !9
  %13756 = getelementptr inbounds %struct.complex, ptr %13754, i64 %13755
  %13757 = getelementptr inbounds %struct.complex, ptr %13756, i32 0, i32 0
  store float %13753, ptr %13757, align 4, !tbaa !11
  %13758 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13759 = load float, ptr %13758, align 4, !tbaa !14
  %13760 = load ptr, ptr %15, align 8, !tbaa !5
  %13761 = load i64, ptr %21, align 8, !tbaa !9
  %13762 = getelementptr inbounds %struct.complex, ptr %13760, i64 %13761
  %13763 = getelementptr inbounds %struct.complex, ptr %13762, i32 0, i32 1
  store float %13759, ptr %13763, align 4, !tbaa !14
  %13764 = load i64, ptr %50, align 8, !tbaa !9
  %13765 = load i64, ptr %18, align 8, !tbaa !9
  %13766 = shl i64 %13765, 1
  %13767 = add nsw i64 %13764, %13766
  store i64 %13767, ptr %21, align 8, !tbaa !9
  %13768 = load i64, ptr %50, align 8, !tbaa !9
  %13769 = load i64, ptr %18, align 8, !tbaa !9
  %13770 = shl i64 %13769, 1
  %13771 = add nsw i64 %13768, %13770
  store i64 %13771, ptr %22, align 8, !tbaa !9
  %13772 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13773 = load float, ptr %13772, align 4, !tbaa !11
  %13774 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %13775 = load float, ptr %13774, align 4, !tbaa !11
  %13776 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13777 = load float, ptr %13776, align 4, !tbaa !14
  %13778 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %13779 = load float, ptr %13778, align 4, !tbaa !14
  %13780 = fmul float %13777, %13779
  %13781 = fneg float %13780
  %13782 = call float @llvm.fmuladd.f32(float %13773, float %13775, float %13781)
  %13783 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %13782, ptr %13783, align 4, !tbaa !11
  %13784 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13785 = load float, ptr %13784, align 4, !tbaa !11
  %13786 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %13787 = load float, ptr %13786, align 4, !tbaa !14
  %13788 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13789 = load float, ptr %13788, align 4, !tbaa !14
  %13790 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %13791 = load float, ptr %13790, align 4, !tbaa !11
  %13792 = fmul float %13789, %13791
  %13793 = call float @llvm.fmuladd.f32(float %13785, float %13787, float %13792)
  %13794 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %13793, ptr %13794, align 4, !tbaa !14
  %13795 = load ptr, ptr %15, align 8, !tbaa !5
  %13796 = load i64, ptr %22, align 8, !tbaa !9
  %13797 = getelementptr inbounds %struct.complex, ptr %13795, i64 %13796
  %13798 = getelementptr inbounds %struct.complex, ptr %13797, i32 0, i32 0
  %13799 = load float, ptr %13798, align 4, !tbaa !11
  %13800 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13801 = load float, ptr %13800, align 4, !tbaa !11
  %13802 = fsub float %13799, %13801
  %13803 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13802, ptr %13803, align 4, !tbaa !11
  %13804 = load ptr, ptr %15, align 8, !tbaa !5
  %13805 = load i64, ptr %22, align 8, !tbaa !9
  %13806 = getelementptr inbounds %struct.complex, ptr %13804, i64 %13805
  %13807 = getelementptr inbounds %struct.complex, ptr %13806, i32 0, i32 1
  %13808 = load float, ptr %13807, align 4, !tbaa !14
  %13809 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13810 = load float, ptr %13809, align 4, !tbaa !14
  %13811 = fsub float %13808, %13810
  %13812 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13811, ptr %13812, align 4, !tbaa !14
  %13813 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13814 = load float, ptr %13813, align 4, !tbaa !11
  %13815 = load ptr, ptr %15, align 8, !tbaa !5
  %13816 = load i64, ptr %21, align 8, !tbaa !9
  %13817 = getelementptr inbounds %struct.complex, ptr %13815, i64 %13816
  %13818 = getelementptr inbounds %struct.complex, ptr %13817, i32 0, i32 0
  store float %13814, ptr %13818, align 4, !tbaa !11
  %13819 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13820 = load float, ptr %13819, align 4, !tbaa !14
  %13821 = load ptr, ptr %15, align 8, !tbaa !5
  %13822 = load i64, ptr %21, align 8, !tbaa !9
  %13823 = getelementptr inbounds %struct.complex, ptr %13821, i64 %13822
  %13824 = getelementptr inbounds %struct.complex, ptr %13823, i32 0, i32 1
  store float %13820, ptr %13824, align 4, !tbaa !14
  %13825 = load i64, ptr %50, align 8, !tbaa !9
  %13826 = load i64, ptr %18, align 8, !tbaa !9
  %13827 = mul nsw i64 %13826, 3
  %13828 = add nsw i64 %13825, %13827
  store i64 %13828, ptr %21, align 8, !tbaa !9
  %13829 = load i64, ptr %50, align 8, !tbaa !9
  %13830 = load i64, ptr %18, align 8, !tbaa !9
  %13831 = mul nsw i64 %13830, 3
  %13832 = add nsw i64 %13829, %13831
  store i64 %13832, ptr %22, align 8, !tbaa !9
  %13833 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13834 = load float, ptr %13833, align 4, !tbaa !11
  %13835 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %13836 = load float, ptr %13835, align 4, !tbaa !11
  %13837 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13838 = load float, ptr %13837, align 4, !tbaa !14
  %13839 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %13840 = load float, ptr %13839, align 4, !tbaa !14
  %13841 = fmul float %13838, %13840
  %13842 = fneg float %13841
  %13843 = call float @llvm.fmuladd.f32(float %13834, float %13836, float %13842)
  %13844 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %13843, ptr %13844, align 4, !tbaa !11
  %13845 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13846 = load float, ptr %13845, align 4, !tbaa !11
  %13847 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %13848 = load float, ptr %13847, align 4, !tbaa !14
  %13849 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13850 = load float, ptr %13849, align 4, !tbaa !14
  %13851 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %13852 = load float, ptr %13851, align 4, !tbaa !11
  %13853 = fmul float %13850, %13852
  %13854 = call float @llvm.fmuladd.f32(float %13846, float %13848, float %13853)
  %13855 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %13854, ptr %13855, align 4, !tbaa !14
  %13856 = load ptr, ptr %15, align 8, !tbaa !5
  %13857 = load i64, ptr %22, align 8, !tbaa !9
  %13858 = getelementptr inbounds %struct.complex, ptr %13856, i64 %13857
  %13859 = getelementptr inbounds %struct.complex, ptr %13858, i32 0, i32 0
  %13860 = load float, ptr %13859, align 4, !tbaa !11
  %13861 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13862 = load float, ptr %13861, align 4, !tbaa !11
  %13863 = fsub float %13860, %13862
  %13864 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13863, ptr %13864, align 4, !tbaa !11
  %13865 = load ptr, ptr %15, align 8, !tbaa !5
  %13866 = load i64, ptr %22, align 8, !tbaa !9
  %13867 = getelementptr inbounds %struct.complex, ptr %13865, i64 %13866
  %13868 = getelementptr inbounds %struct.complex, ptr %13867, i32 0, i32 1
  %13869 = load float, ptr %13868, align 4, !tbaa !14
  %13870 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13871 = load float, ptr %13870, align 4, !tbaa !14
  %13872 = fsub float %13869, %13871
  %13873 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13872, ptr %13873, align 4, !tbaa !14
  %13874 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13875 = load float, ptr %13874, align 4, !tbaa !11
  %13876 = load ptr, ptr %15, align 8, !tbaa !5
  %13877 = load i64, ptr %21, align 8, !tbaa !9
  %13878 = getelementptr inbounds %struct.complex, ptr %13876, i64 %13877
  %13879 = getelementptr inbounds %struct.complex, ptr %13878, i32 0, i32 0
  store float %13875, ptr %13879, align 4, !tbaa !11
  %13880 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13881 = load float, ptr %13880, align 4, !tbaa !14
  %13882 = load ptr, ptr %15, align 8, !tbaa !5
  %13883 = load i64, ptr %21, align 8, !tbaa !9
  %13884 = getelementptr inbounds %struct.complex, ptr %13882, i64 %13883
  %13885 = getelementptr inbounds %struct.complex, ptr %13884, i32 0, i32 1
  store float %13881, ptr %13885, align 4, !tbaa !14
  %13886 = load i64, ptr %50, align 8, !tbaa !9
  %13887 = load i64, ptr %18, align 8, !tbaa !9
  %13888 = shl i64 %13887, 2
  %13889 = add nsw i64 %13886, %13888
  store i64 %13889, ptr %21, align 8, !tbaa !9
  %13890 = load i64, ptr %50, align 8, !tbaa !9
  %13891 = load i64, ptr %18, align 8, !tbaa !9
  %13892 = shl i64 %13891, 2
  %13893 = add nsw i64 %13890, %13892
  store i64 %13893, ptr %22, align 8, !tbaa !9
  %13894 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13895 = load float, ptr %13894, align 4, !tbaa !11
  %13896 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %13897 = load float, ptr %13896, align 4, !tbaa !11
  %13898 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13899 = load float, ptr %13898, align 4, !tbaa !14
  %13900 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %13901 = load float, ptr %13900, align 4, !tbaa !14
  %13902 = fmul float %13899, %13901
  %13903 = fneg float %13902
  %13904 = call float @llvm.fmuladd.f32(float %13895, float %13897, float %13903)
  %13905 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %13904, ptr %13905, align 4, !tbaa !11
  %13906 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13907 = load float, ptr %13906, align 4, !tbaa !11
  %13908 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %13909 = load float, ptr %13908, align 4, !tbaa !14
  %13910 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13911 = load float, ptr %13910, align 4, !tbaa !14
  %13912 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %13913 = load float, ptr %13912, align 4, !tbaa !11
  %13914 = fmul float %13911, %13913
  %13915 = call float @llvm.fmuladd.f32(float %13907, float %13909, float %13914)
  %13916 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %13915, ptr %13916, align 4, !tbaa !14
  %13917 = load ptr, ptr %15, align 8, !tbaa !5
  %13918 = load i64, ptr %22, align 8, !tbaa !9
  %13919 = getelementptr inbounds %struct.complex, ptr %13917, i64 %13918
  %13920 = getelementptr inbounds %struct.complex, ptr %13919, i32 0, i32 0
  %13921 = load float, ptr %13920, align 4, !tbaa !11
  %13922 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13923 = load float, ptr %13922, align 4, !tbaa !11
  %13924 = fsub float %13921, %13923
  %13925 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13924, ptr %13925, align 4, !tbaa !11
  %13926 = load ptr, ptr %15, align 8, !tbaa !5
  %13927 = load i64, ptr %22, align 8, !tbaa !9
  %13928 = getelementptr inbounds %struct.complex, ptr %13926, i64 %13927
  %13929 = getelementptr inbounds %struct.complex, ptr %13928, i32 0, i32 1
  %13930 = load float, ptr %13929, align 4, !tbaa !14
  %13931 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13932 = load float, ptr %13931, align 4, !tbaa !14
  %13933 = fsub float %13930, %13932
  %13934 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13933, ptr %13934, align 4, !tbaa !14
  %13935 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13936 = load float, ptr %13935, align 4, !tbaa !11
  %13937 = load ptr, ptr %15, align 8, !tbaa !5
  %13938 = load i64, ptr %21, align 8, !tbaa !9
  %13939 = getelementptr inbounds %struct.complex, ptr %13937, i64 %13938
  %13940 = getelementptr inbounds %struct.complex, ptr %13939, i32 0, i32 0
  store float %13936, ptr %13940, align 4, !tbaa !11
  %13941 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %13942 = load float, ptr %13941, align 4, !tbaa !14
  %13943 = load ptr, ptr %15, align 8, !tbaa !5
  %13944 = load i64, ptr %21, align 8, !tbaa !9
  %13945 = getelementptr inbounds %struct.complex, ptr %13943, i64 %13944
  %13946 = getelementptr inbounds %struct.complex, ptr %13945, i32 0, i32 1
  store float %13942, ptr %13946, align 4, !tbaa !14
  %13947 = load i64, ptr %50, align 8, !tbaa !9
  %13948 = load i64, ptr %18, align 8, !tbaa !9
  %13949 = mul nsw i64 %13948, 5
  %13950 = add nsw i64 %13947, %13949
  store i64 %13950, ptr %21, align 8, !tbaa !9
  %13951 = load i64, ptr %50, align 8, !tbaa !9
  %13952 = load i64, ptr %18, align 8, !tbaa !9
  %13953 = mul nsw i64 %13952, 5
  %13954 = add nsw i64 %13951, %13953
  store i64 %13954, ptr %22, align 8, !tbaa !9
  %13955 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13956 = load float, ptr %13955, align 4, !tbaa !11
  %13957 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %13958 = load float, ptr %13957, align 4, !tbaa !11
  %13959 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13960 = load float, ptr %13959, align 4, !tbaa !14
  %13961 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %13962 = load float, ptr %13961, align 4, !tbaa !14
  %13963 = fmul float %13960, %13962
  %13964 = fneg float %13963
  %13965 = call float @llvm.fmuladd.f32(float %13956, float %13958, float %13964)
  %13966 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %13965, ptr %13966, align 4, !tbaa !11
  %13967 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %13968 = load float, ptr %13967, align 4, !tbaa !11
  %13969 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %13970 = load float, ptr %13969, align 4, !tbaa !14
  %13971 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %13972 = load float, ptr %13971, align 4, !tbaa !14
  %13973 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %13974 = load float, ptr %13973, align 4, !tbaa !11
  %13975 = fmul float %13972, %13974
  %13976 = call float @llvm.fmuladd.f32(float %13968, float %13970, float %13975)
  %13977 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %13976, ptr %13977, align 4, !tbaa !14
  %13978 = load ptr, ptr %15, align 8, !tbaa !5
  %13979 = load i64, ptr %22, align 8, !tbaa !9
  %13980 = getelementptr inbounds %struct.complex, ptr %13978, i64 %13979
  %13981 = getelementptr inbounds %struct.complex, ptr %13980, i32 0, i32 0
  %13982 = load float, ptr %13981, align 4, !tbaa !11
  %13983 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %13984 = load float, ptr %13983, align 4, !tbaa !11
  %13985 = fsub float %13982, %13984
  %13986 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %13985, ptr %13986, align 4, !tbaa !11
  %13987 = load ptr, ptr %15, align 8, !tbaa !5
  %13988 = load i64, ptr %22, align 8, !tbaa !9
  %13989 = getelementptr inbounds %struct.complex, ptr %13987, i64 %13988
  %13990 = getelementptr inbounds %struct.complex, ptr %13989, i32 0, i32 1
  %13991 = load float, ptr %13990, align 4, !tbaa !14
  %13992 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %13993 = load float, ptr %13992, align 4, !tbaa !14
  %13994 = fsub float %13991, %13993
  %13995 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %13994, ptr %13995, align 4, !tbaa !14
  %13996 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %13997 = load float, ptr %13996, align 4, !tbaa !11
  %13998 = load ptr, ptr %15, align 8, !tbaa !5
  %13999 = load i64, ptr %21, align 8, !tbaa !9
  %14000 = getelementptr inbounds %struct.complex, ptr %13998, i64 %13999
  %14001 = getelementptr inbounds %struct.complex, ptr %14000, i32 0, i32 0
  store float %13997, ptr %14001, align 4, !tbaa !11
  %14002 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14003 = load float, ptr %14002, align 4, !tbaa !14
  %14004 = load ptr, ptr %15, align 8, !tbaa !5
  %14005 = load i64, ptr %21, align 8, !tbaa !9
  %14006 = getelementptr inbounds %struct.complex, ptr %14004, i64 %14005
  %14007 = getelementptr inbounds %struct.complex, ptr %14006, i32 0, i32 1
  store float %14003, ptr %14007, align 4, !tbaa !14
  %14008 = load i64, ptr %50, align 8, !tbaa !9
  %14009 = load i64, ptr %18, align 8, !tbaa !9
  %14010 = mul nsw i64 %14009, 6
  %14011 = add nsw i64 %14008, %14010
  store i64 %14011, ptr %21, align 8, !tbaa !9
  %14012 = load i64, ptr %50, align 8, !tbaa !9
  %14013 = load i64, ptr %18, align 8, !tbaa !9
  %14014 = mul nsw i64 %14013, 6
  %14015 = add nsw i64 %14012, %14014
  store i64 %14015, ptr %22, align 8, !tbaa !9
  %14016 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %14017 = load float, ptr %14016, align 4, !tbaa !11
  %14018 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %14019 = load float, ptr %14018, align 4, !tbaa !11
  %14020 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %14021 = load float, ptr %14020, align 4, !tbaa !14
  %14022 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %14023 = load float, ptr %14022, align 4, !tbaa !14
  %14024 = fmul float %14021, %14023
  %14025 = fneg float %14024
  %14026 = call float @llvm.fmuladd.f32(float %14017, float %14019, float %14025)
  %14027 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %14026, ptr %14027, align 4, !tbaa !11
  %14028 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %14029 = load float, ptr %14028, align 4, !tbaa !11
  %14030 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %14031 = load float, ptr %14030, align 4, !tbaa !14
  %14032 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %14033 = load float, ptr %14032, align 4, !tbaa !14
  %14034 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %14035 = load float, ptr %14034, align 4, !tbaa !11
  %14036 = fmul float %14033, %14035
  %14037 = call float @llvm.fmuladd.f32(float %14029, float %14031, float %14036)
  %14038 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %14037, ptr %14038, align 4, !tbaa !14
  %14039 = load ptr, ptr %15, align 8, !tbaa !5
  %14040 = load i64, ptr %22, align 8, !tbaa !9
  %14041 = getelementptr inbounds %struct.complex, ptr %14039, i64 %14040
  %14042 = getelementptr inbounds %struct.complex, ptr %14041, i32 0, i32 0
  %14043 = load float, ptr %14042, align 4, !tbaa !11
  %14044 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14045 = load float, ptr %14044, align 4, !tbaa !11
  %14046 = fsub float %14043, %14045
  %14047 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14046, ptr %14047, align 4, !tbaa !11
  %14048 = load ptr, ptr %15, align 8, !tbaa !5
  %14049 = load i64, ptr %22, align 8, !tbaa !9
  %14050 = getelementptr inbounds %struct.complex, ptr %14048, i64 %14049
  %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 %32, i32 0, i32 1
  %14054 = load float, ptr %14053, align 4, !tbaa !14
  %14055 = fsub float %14052, %14054
  %14056 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14055, ptr %14056, align 4, !tbaa !14
  %14057 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14058 = load float, ptr %14057, align 4, !tbaa !11
  %14059 = load ptr, ptr %15, align 8, !tbaa !5
  %14060 = load i64, ptr %21, align 8, !tbaa !9
  %14061 = getelementptr inbounds %struct.complex, ptr %14059, i64 %14060
  %14062 = getelementptr inbounds %struct.complex, ptr %14061, i32 0, i32 0
  store float %14058, ptr %14062, align 4, !tbaa !11
  %14063 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14064 = load float, ptr %14063, align 4, !tbaa !14
  %14065 = load ptr, ptr %15, align 8, !tbaa !5
  %14066 = load i64, ptr %21, align 8, !tbaa !9
  %14067 = getelementptr inbounds %struct.complex, ptr %14065, i64 %14066
  %14068 = getelementptr inbounds %struct.complex, ptr %14067, i32 0, i32 1
  store float %14064, ptr %14068, align 4, !tbaa !14
  %14069 = load i64, ptr %50, align 8, !tbaa !9
  %14070 = load i64, ptr %18, align 8, !tbaa !9
  %14071 = mul nsw i64 %14070, 7
  %14072 = add nsw i64 %14069, %14071
  store i64 %14072, ptr %21, align 8, !tbaa !9
  %14073 = load i64, ptr %50, align 8, !tbaa !9
  %14074 = load i64, ptr %18, align 8, !tbaa !9
  %14075 = mul nsw i64 %14074, 7
  %14076 = add nsw i64 %14073, %14075
  store i64 %14076, ptr %22, align 8, !tbaa !9
  %14077 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %14078 = load float, ptr %14077, align 4, !tbaa !11
  %14079 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %14080 = load float, ptr %14079, align 4, !tbaa !11
  %14081 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %14082 = load float, ptr %14081, align 4, !tbaa !14
  %14083 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %14084 = load float, ptr %14083, align 4, !tbaa !14
  %14085 = fmul float %14082, %14084
  %14086 = fneg float %14085
  %14087 = call float @llvm.fmuladd.f32(float %14078, float %14080, float %14086)
  %14088 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %14087, ptr %14088, align 4, !tbaa !11
  %14089 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %14090 = load float, ptr %14089, align 4, !tbaa !11
  %14091 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %14092 = load float, ptr %14091, align 4, !tbaa !14
  %14093 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %14094 = load float, ptr %14093, align 4, !tbaa !14
  %14095 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %14096 = load float, ptr %14095, align 4, !tbaa !11
  %14097 = fmul float %14094, %14096
  %14098 = call float @llvm.fmuladd.f32(float %14090, float %14092, float %14097)
  %14099 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %14098, ptr %14099, align 4, !tbaa !14
  %14100 = load ptr, ptr %15, align 8, !tbaa !5
  %14101 = load i64, ptr %22, align 8, !tbaa !9
  %14102 = getelementptr inbounds %struct.complex, ptr %14100, i64 %14101
  %14103 = getelementptr inbounds %struct.complex, ptr %14102, i32 0, i32 0
  %14104 = load float, ptr %14103, align 4, !tbaa !11
  %14105 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14106 = load float, ptr %14105, align 4, !tbaa !11
  %14107 = fsub float %14104, %14106
  %14108 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14107, ptr %14108, align 4, !tbaa !11
  %14109 = load ptr, ptr %15, align 8, !tbaa !5
  %14110 = load i64, ptr %22, align 8, !tbaa !9
  %14111 = getelementptr inbounds %struct.complex, ptr %14109, i64 %14110
  %14112 = getelementptr inbounds %struct.complex, ptr %14111, i32 0, i32 1
  %14113 = load float, ptr %14112, align 4, !tbaa !14
  %14114 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14115 = load float, ptr %14114, align 4, !tbaa !14
  %14116 = fsub float %14113, %14115
  %14117 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14116, ptr %14117, align 4, !tbaa !14
  %14118 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14119 = load float, ptr %14118, align 4, !tbaa !11
  %14120 = load ptr, ptr %15, align 8, !tbaa !5
  %14121 = load i64, ptr %21, align 8, !tbaa !9
  %14122 = getelementptr inbounds %struct.complex, ptr %14120, i64 %14121
  %14123 = getelementptr inbounds %struct.complex, ptr %14122, i32 0, i32 0
  store float %14119, ptr %14123, align 4, !tbaa !11
  %14124 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14125 = load float, ptr %14124, align 4, !tbaa !14
  %14126 = load ptr, ptr %15, align 8, !tbaa !5
  %14127 = load i64, ptr %21, align 8, !tbaa !9
  %14128 = getelementptr inbounds %struct.complex, ptr %14126, i64 %14127
  %14129 = getelementptr inbounds %struct.complex, ptr %14128, i32 0, i32 1
  store float %14125, ptr %14129, align 4, !tbaa !14
  %14130 = load i64, ptr %50, align 8, !tbaa !9
  %14131 = load i64, ptr %18, align 8, !tbaa !9
  %14132 = shl i64 %14131, 3
  %14133 = add nsw i64 %14130, %14132
  store i64 %14133, ptr %21, align 8, !tbaa !9
  %14134 = load i64, ptr %50, align 8, !tbaa !9
  %14135 = load i64, ptr %18, align 8, !tbaa !9
  %14136 = shl i64 %14135, 3
  %14137 = add nsw i64 %14134, %14136
  store i64 %14137, ptr %22, align 8, !tbaa !9
  %14138 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %14139 = load float, ptr %14138, align 4, !tbaa !11
  %14140 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %14141 = load float, ptr %14140, align 4, !tbaa !11
  %14142 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %14143 = load float, ptr %14142, align 4, !tbaa !14
  %14144 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %14145 = load float, ptr %14144, align 4, !tbaa !14
  %14146 = fmul float %14143, %14145
  %14147 = fneg float %14146
  %14148 = call float @llvm.fmuladd.f32(float %14139, float %14141, float %14147)
  %14149 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %14148, ptr %14149, align 4, !tbaa !11
  %14150 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %14151 = load float, ptr %14150, align 4, !tbaa !11
  %14152 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %14153 = load float, ptr %14152, align 4, !tbaa !14
  %14154 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %14155 = load float, ptr %14154, align 4, !tbaa !14
  %14156 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %14157 = load float, ptr %14156, align 4, !tbaa !11
  %14158 = fmul float %14155, %14157
  %14159 = call float @llvm.fmuladd.f32(float %14151, float %14153, float %14158)
  %14160 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %14159, ptr %14160, align 4, !tbaa !14
  %14161 = load ptr, ptr %15, align 8, !tbaa !5
  %14162 = load i64, ptr %22, align 8, !tbaa !9
  %14163 = getelementptr inbounds %struct.complex, ptr %14161, i64 %14162
  %14164 = getelementptr inbounds %struct.complex, ptr %14163, i32 0, i32 0
  %14165 = load float, ptr %14164, align 4, !tbaa !11
  %14166 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14167 = load float, ptr %14166, align 4, !tbaa !11
  %14168 = fsub float %14165, %14167
  %14169 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14168, ptr %14169, align 4, !tbaa !11
  %14170 = load ptr, ptr %15, align 8, !tbaa !5
  %14171 = load i64, ptr %22, align 8, !tbaa !9
  %14172 = getelementptr inbounds %struct.complex, ptr %14170, i64 %14171
  %14173 = getelementptr inbounds %struct.complex, ptr %14172, i32 0, i32 1
  %14174 = load float, ptr %14173, align 4, !tbaa !14
  %14175 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14176 = load float, ptr %14175, align 4, !tbaa !14
  %14177 = fsub float %14174, %14176
  %14178 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14177, ptr %14178, align 4, !tbaa !14
  %14179 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14180 = load float, ptr %14179, align 4, !tbaa !11
  %14181 = load ptr, ptr %15, align 8, !tbaa !5
  %14182 = load i64, ptr %21, align 8, !tbaa !9
  %14183 = getelementptr inbounds %struct.complex, ptr %14181, i64 %14182
  %14184 = getelementptr inbounds %struct.complex, ptr %14183, i32 0, i32 0
  store float %14180, ptr %14184, align 4, !tbaa !11
  %14185 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14186 = load float, ptr %14185, align 4, !tbaa !14
  %14187 = load ptr, ptr %15, align 8, !tbaa !5
  %14188 = load i64, ptr %21, align 8, !tbaa !9
  %14189 = getelementptr inbounds %struct.complex, ptr %14187, i64 %14188
  %14190 = getelementptr inbounds %struct.complex, ptr %14189, i32 0, i32 1
  store float %14186, ptr %14190, align 4, !tbaa !14
  br label %14191

14191:                                            ; preds = %13303
  %14192 = load i64, ptr %50, align 8, !tbaa !9
  %14193 = add nsw i64 %14192, 1
  store i64 %14193, ptr %50, align 8, !tbaa !9
  br label %13299, !llvm.loop !33

14194:                                            ; preds = %13299
  br label %17146

14195:                                            ; preds = %8594
  %14196 = load ptr, ptr %13, align 8, !tbaa !5
  %14197 = getelementptr inbounds %struct.complex, ptr %14196, i64 1
  %14198 = getelementptr inbounds %struct.complex, ptr %14197, i32 0, i32 0
  %14199 = load float, ptr %14198, align 4, !tbaa !11
  %14200 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  store float %14199, ptr %14200, align 4, !tbaa !11
  %14201 = load ptr, ptr %13, align 8, !tbaa !5
  %14202 = getelementptr inbounds %struct.complex, ptr %14201, i64 1
  %14203 = getelementptr inbounds %struct.complex, ptr %14202, i32 0, i32 1
  %14204 = load float, ptr %14203, align 4, !tbaa !14
  %14205 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %14204, ptr %14205, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %14206 = load ptr, ptr %14, align 8, !tbaa !5
  %14207 = getelementptr inbounds %struct.complex, ptr %14206, i32 0, i32 0
  %14208 = load float, ptr %14207, align 4, !tbaa !11
  %14209 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14210 = load float, ptr %14209, align 4, !tbaa !11
  %14211 = load ptr, ptr %14, align 8, !tbaa !5
  %14212 = getelementptr inbounds %struct.complex, ptr %14211, i32 0, i32 1
  %14213 = load float, ptr %14212, align 4, !tbaa !14
  %14214 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14215 = load float, ptr %14214, align 4, !tbaa !14
  %14216 = fmul float %14213, %14215
  %14217 = fneg float %14216
  %14218 = call float @llvm.fmuladd.f32(float %14208, float %14210, float %14217)
  %14219 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14218, ptr %14219, align 4, !tbaa !11
  %14220 = load ptr, ptr %14, align 8, !tbaa !5
  %14221 = getelementptr inbounds %struct.complex, ptr %14220, i32 0, i32 0
  %14222 = load float, ptr %14221, align 4, !tbaa !11
  %14223 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14224 = load float, ptr %14223, align 4, !tbaa !14
  %14225 = load ptr, ptr %14, align 8, !tbaa !5
  %14226 = getelementptr inbounds %struct.complex, ptr %14225, i32 0, i32 1
  %14227 = load float, ptr %14226, align 4, !tbaa !14
  %14228 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14229 = load float, ptr %14228, align 4, !tbaa !11
  %14230 = fmul float %14227, %14229
  %14231 = call float @llvm.fmuladd.f32(float %14222, float %14224, float %14230)
  %14232 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14231, ptr %14232, align 4, !tbaa !14
  %14233 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14234 = load float, ptr %14233, align 4, !tbaa !11
  %14235 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %14234, ptr %14235, align 4, !tbaa !11
  %14236 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14237 = load float, ptr %14236, align 4, !tbaa !14
  %14238 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %14237, ptr %14238, align 4, !tbaa !14
  %14239 = load ptr, ptr %13, align 8, !tbaa !5
  %14240 = getelementptr inbounds %struct.complex, ptr %14239, i64 2
  %14241 = getelementptr inbounds %struct.complex, ptr %14240, i32 0, i32 0
  %14242 = load float, ptr %14241, align 4, !tbaa !11
  %14243 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %14242, ptr %14243, align 4, !tbaa !11
  %14244 = load ptr, ptr %13, align 8, !tbaa !5
  %14245 = getelementptr inbounds %struct.complex, ptr %14244, i64 2
  %14246 = getelementptr inbounds %struct.complex, ptr %14245, i32 0, i32 1
  %14247 = load float, ptr %14246, align 4, !tbaa !14
  %14248 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %14247, ptr %14248, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %14249 = load ptr, ptr %14, align 8, !tbaa !5
  %14250 = getelementptr inbounds %struct.complex, ptr %14249, i32 0, i32 0
  %14251 = load float, ptr %14250, align 4, !tbaa !11
  %14252 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14253 = load float, ptr %14252, align 4, !tbaa !11
  %14254 = load ptr, ptr %14, align 8, !tbaa !5
  %14255 = getelementptr inbounds %struct.complex, ptr %14254, i32 0, i32 1
  %14256 = load float, ptr %14255, align 4, !tbaa !14
  %14257 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14258 = load float, ptr %14257, align 4, !tbaa !14
  %14259 = fmul float %14256, %14258
  %14260 = fneg float %14259
  %14261 = call float @llvm.fmuladd.f32(float %14251, float %14253, float %14260)
  %14262 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14261, ptr %14262, align 4, !tbaa !11
  %14263 = load ptr, ptr %14, align 8, !tbaa !5
  %14264 = getelementptr inbounds %struct.complex, ptr %14263, i32 0, i32 0
  %14265 = load float, ptr %14264, align 4, !tbaa !11
  %14266 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14267 = load float, ptr %14266, align 4, !tbaa !14
  %14268 = load ptr, ptr %14, align 8, !tbaa !5
  %14269 = getelementptr inbounds %struct.complex, ptr %14268, i32 0, i32 1
  %14270 = load float, ptr %14269, align 4, !tbaa !14
  %14271 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14272 = load float, ptr %14271, align 4, !tbaa !11
  %14273 = fmul float %14270, %14272
  %14274 = call float @llvm.fmuladd.f32(float %14265, float %14267, float %14273)
  %14275 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14274, ptr %14275, align 4, !tbaa !14
  %14276 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14277 = load float, ptr %14276, align 4, !tbaa !11
  %14278 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %14277, ptr %14278, align 4, !tbaa !11
  %14279 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14280 = load float, ptr %14279, align 4, !tbaa !14
  %14281 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %14280, ptr %14281, align 4, !tbaa !14
  %14282 = load ptr, ptr %13, align 8, !tbaa !5
  %14283 = getelementptr inbounds %struct.complex, ptr %14282, i64 3
  %14284 = getelementptr inbounds %struct.complex, ptr %14283, i32 0, i32 0
  %14285 = load float, ptr %14284, align 4, !tbaa !11
  %14286 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %14285, ptr %14286, align 4, !tbaa !11
  %14287 = load ptr, ptr %13, align 8, !tbaa !5
  %14288 = getelementptr inbounds %struct.complex, ptr %14287, i64 3
  %14289 = getelementptr inbounds %struct.complex, ptr %14288, i32 0, i32 1
  %14290 = load float, ptr %14289, align 4, !tbaa !14
  %14291 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %14290, ptr %14291, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %14292 = load ptr, ptr %14, align 8, !tbaa !5
  %14293 = getelementptr inbounds %struct.complex, ptr %14292, i32 0, i32 0
  %14294 = load float, ptr %14293, align 4, !tbaa !11
  %14295 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14296 = load float, ptr %14295, align 4, !tbaa !11
  %14297 = load ptr, ptr %14, align 8, !tbaa !5
  %14298 = getelementptr inbounds %struct.complex, ptr %14297, i32 0, i32 1
  %14299 = load float, ptr %14298, align 4, !tbaa !14
  %14300 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14301 = load float, ptr %14300, align 4, !tbaa !14
  %14302 = fmul float %14299, %14301
  %14303 = fneg float %14302
  %14304 = call float @llvm.fmuladd.f32(float %14294, float %14296, float %14303)
  %14305 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14304, ptr %14305, align 4, !tbaa !11
  %14306 = load ptr, ptr %14, align 8, !tbaa !5
  %14307 = getelementptr inbounds %struct.complex, ptr %14306, i32 0, i32 0
  %14308 = load float, ptr %14307, align 4, !tbaa !11
  %14309 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14310 = load float, ptr %14309, align 4, !tbaa !14
  %14311 = load ptr, ptr %14, align 8, !tbaa !5
  %14312 = getelementptr inbounds %struct.complex, ptr %14311, i32 0, i32 1
  %14313 = load float, ptr %14312, align 4, !tbaa !14
  %14314 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14315 = load float, ptr %14314, align 4, !tbaa !11
  %14316 = fmul float %14313, %14315
  %14317 = call float @llvm.fmuladd.f32(float %14308, float %14310, float %14316)
  %14318 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14317, ptr %14318, align 4, !tbaa !14
  %14319 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14320 = load float, ptr %14319, align 4, !tbaa !11
  %14321 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %14320, ptr %14321, align 4, !tbaa !11
  %14322 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14323 = load float, ptr %14322, align 4, !tbaa !14
  %14324 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %14323, ptr %14324, align 4, !tbaa !14
  %14325 = load ptr, ptr %13, align 8, !tbaa !5
  %14326 = getelementptr inbounds %struct.complex, ptr %14325, i64 4
  %14327 = getelementptr inbounds %struct.complex, ptr %14326, i32 0, i32 0
  %14328 = load float, ptr %14327, align 4, !tbaa !11
  %14329 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %14328, ptr %14329, align 4, !tbaa !11
  %14330 = load ptr, ptr %13, align 8, !tbaa !5
  %14331 = getelementptr inbounds %struct.complex, ptr %14330, i64 4
  %14332 = getelementptr inbounds %struct.complex, ptr %14331, i32 0, i32 1
  %14333 = load float, ptr %14332, align 4, !tbaa !14
  %14334 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %14333, ptr %14334, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %14335 = load ptr, ptr %14, align 8, !tbaa !5
  %14336 = getelementptr inbounds %struct.complex, ptr %14335, i32 0, i32 0
  %14337 = load float, ptr %14336, align 4, !tbaa !11
  %14338 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14339 = load float, ptr %14338, align 4, !tbaa !11
  %14340 = load ptr, ptr %14, align 8, !tbaa !5
  %14341 = getelementptr inbounds %struct.complex, ptr %14340, i32 0, i32 1
  %14342 = load float, ptr %14341, align 4, !tbaa !14
  %14343 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14344 = load float, ptr %14343, align 4, !tbaa !14
  %14345 = fmul float %14342, %14344
  %14346 = fneg float %14345
  %14347 = call float @llvm.fmuladd.f32(float %14337, float %14339, float %14346)
  %14348 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14347, ptr %14348, align 4, !tbaa !11
  %14349 = load ptr, ptr %14, align 8, !tbaa !5
  %14350 = getelementptr inbounds %struct.complex, ptr %14349, i32 0, i32 0
  %14351 = load float, ptr %14350, align 4, !tbaa !11
  %14352 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14353 = load float, ptr %14352, align 4, !tbaa !14
  %14354 = load ptr, ptr %14, align 8, !tbaa !5
  %14355 = getelementptr inbounds %struct.complex, ptr %14354, i32 0, i32 1
  %14356 = load float, ptr %14355, align 4, !tbaa !14
  %14357 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14358 = load float, ptr %14357, align 4, !tbaa !11
  %14359 = fmul float %14356, %14358
  %14360 = call float @llvm.fmuladd.f32(float %14351, float %14353, float %14359)
  %14361 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14360, ptr %14361, align 4, !tbaa !14
  %14362 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14363 = load float, ptr %14362, align 4, !tbaa !11
  %14364 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %14363, ptr %14364, align 4, !tbaa !11
  %14365 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14366 = load float, ptr %14365, align 4, !tbaa !14
  %14367 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %14366, ptr %14367, align 4, !tbaa !14
  %14368 = load ptr, ptr %13, align 8, !tbaa !5
  %14369 = getelementptr inbounds %struct.complex, ptr %14368, i64 5
  %14370 = getelementptr inbounds %struct.complex, ptr %14369, i32 0, i32 0
  %14371 = load float, ptr %14370, align 4, !tbaa !11
  %14372 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %14371, ptr %14372, align 4, !tbaa !11
  %14373 = load ptr, ptr %13, align 8, !tbaa !5
  %14374 = getelementptr inbounds %struct.complex, ptr %14373, i64 5
  %14375 = getelementptr inbounds %struct.complex, ptr %14374, i32 0, i32 1
  %14376 = load float, ptr %14375, align 4, !tbaa !14
  %14377 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %14376, ptr %14377, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %14378 = load ptr, ptr %14, align 8, !tbaa !5
  %14379 = getelementptr inbounds %struct.complex, ptr %14378, i32 0, i32 0
  %14380 = load float, ptr %14379, align 4, !tbaa !11
  %14381 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14382 = load float, ptr %14381, align 4, !tbaa !11
  %14383 = load ptr, ptr %14, align 8, !tbaa !5
  %14384 = getelementptr inbounds %struct.complex, ptr %14383, i32 0, i32 1
  %14385 = load float, ptr %14384, align 4, !tbaa !14
  %14386 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14387 = load float, ptr %14386, align 4, !tbaa !14
  %14388 = fmul float %14385, %14387
  %14389 = fneg float %14388
  %14390 = call float @llvm.fmuladd.f32(float %14380, float %14382, float %14389)
  %14391 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14390, ptr %14391, align 4, !tbaa !11
  %14392 = load ptr, ptr %14, align 8, !tbaa !5
  %14393 = getelementptr inbounds %struct.complex, ptr %14392, i32 0, i32 0
  %14394 = load float, ptr %14393, align 4, !tbaa !11
  %14395 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14396 = load float, ptr %14395, align 4, !tbaa !14
  %14397 = load ptr, ptr %14, align 8, !tbaa !5
  %14398 = getelementptr inbounds %struct.complex, ptr %14397, i32 0, i32 1
  %14399 = load float, ptr %14398, align 4, !tbaa !14
  %14400 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14401 = load float, ptr %14400, align 4, !tbaa !11
  %14402 = fmul float %14399, %14401
  %14403 = call float @llvm.fmuladd.f32(float %14394, float %14396, float %14402)
  %14404 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14403, ptr %14404, align 4, !tbaa !14
  %14405 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14406 = load float, ptr %14405, align 4, !tbaa !11
  %14407 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %14406, ptr %14407, align 4, !tbaa !11
  %14408 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14409 = load float, ptr %14408, align 4, !tbaa !14
  %14410 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %14409, ptr %14410, align 4, !tbaa !14
  %14411 = load ptr, ptr %13, align 8, !tbaa !5
  %14412 = getelementptr inbounds %struct.complex, ptr %14411, i64 6
  %14413 = getelementptr inbounds %struct.complex, ptr %14412, i32 0, i32 0
  %14414 = load float, ptr %14413, align 4, !tbaa !11
  %14415 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %14414, ptr %14415, align 4, !tbaa !11
  %14416 = load ptr, ptr %13, align 8, !tbaa !5
  %14417 = getelementptr inbounds %struct.complex, ptr %14416, i64 6
  %14418 = getelementptr inbounds %struct.complex, ptr %14417, i32 0, i32 1
  %14419 = load float, ptr %14418, align 4, !tbaa !14
  %14420 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %14419, ptr %14420, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %14421 = load ptr, ptr %14, align 8, !tbaa !5
  %14422 = getelementptr inbounds %struct.complex, ptr %14421, i32 0, i32 0
  %14423 = load float, ptr %14422, align 4, !tbaa !11
  %14424 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14425 = load float, ptr %14424, align 4, !tbaa !11
  %14426 = load ptr, ptr %14, align 8, !tbaa !5
  %14427 = getelementptr inbounds %struct.complex, ptr %14426, i32 0, i32 1
  %14428 = load float, ptr %14427, align 4, !tbaa !14
  %14429 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14430 = load float, ptr %14429, align 4, !tbaa !14
  %14431 = fmul float %14428, %14430
  %14432 = fneg float %14431
  %14433 = call float @llvm.fmuladd.f32(float %14423, float %14425, float %14432)
  %14434 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14433, ptr %14434, align 4, !tbaa !11
  %14435 = load ptr, ptr %14, align 8, !tbaa !5
  %14436 = getelementptr inbounds %struct.complex, ptr %14435, i32 0, i32 0
  %14437 = load float, ptr %14436, align 4, !tbaa !11
  %14438 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14439 = load float, ptr %14438, align 4, !tbaa !14
  %14440 = load ptr, ptr %14, align 8, !tbaa !5
  %14441 = getelementptr inbounds %struct.complex, ptr %14440, i32 0, i32 1
  %14442 = load float, ptr %14441, align 4, !tbaa !14
  %14443 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14444 = load float, ptr %14443, align 4, !tbaa !11
  %14445 = fmul float %14442, %14444
  %14446 = call float @llvm.fmuladd.f32(float %14437, float %14439, float %14445)
  %14447 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14446, ptr %14447, align 4, !tbaa !14
  %14448 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14449 = load float, ptr %14448, align 4, !tbaa !11
  %14450 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %14449, ptr %14450, align 4, !tbaa !11
  %14451 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14452 = load float, ptr %14451, align 4, !tbaa !14
  %14453 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %14452, ptr %14453, align 4, !tbaa !14
  %14454 = load ptr, ptr %13, align 8, !tbaa !5
  %14455 = getelementptr inbounds %struct.complex, ptr %14454, i64 7
  %14456 = getelementptr inbounds %struct.complex, ptr %14455, i32 0, i32 0
  %14457 = load float, ptr %14456, align 4, !tbaa !11
  %14458 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %14457, ptr %14458, align 4, !tbaa !11
  %14459 = load ptr, ptr %13, align 8, !tbaa !5
  %14460 = getelementptr inbounds %struct.complex, ptr %14459, i64 7
  %14461 = getelementptr inbounds %struct.complex, ptr %14460, i32 0, i32 1
  %14462 = load float, ptr %14461, align 4, !tbaa !14
  %14463 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %14462, ptr %14463, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %14464 = load ptr, ptr %14, align 8, !tbaa !5
  %14465 = getelementptr inbounds %struct.complex, ptr %14464, i32 0, i32 0
  %14466 = load float, ptr %14465, align 4, !tbaa !11
  %14467 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14468 = load float, ptr %14467, align 4, !tbaa !11
  %14469 = load ptr, ptr %14, align 8, !tbaa !5
  %14470 = getelementptr inbounds %struct.complex, ptr %14469, i32 0, i32 1
  %14471 = load float, ptr %14470, align 4, !tbaa !14
  %14472 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14473 = load float, ptr %14472, align 4, !tbaa !14
  %14474 = fmul float %14471, %14473
  %14475 = fneg float %14474
  %14476 = call float @llvm.fmuladd.f32(float %14466, float %14468, float %14475)
  %14477 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14476, ptr %14477, align 4, !tbaa !11
  %14478 = load ptr, ptr %14, align 8, !tbaa !5
  %14479 = getelementptr inbounds %struct.complex, ptr %14478, i32 0, i32 0
  %14480 = load float, ptr %14479, align 4, !tbaa !11
  %14481 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14482 = load float, ptr %14481, align 4, !tbaa !14
  %14483 = load ptr, ptr %14, align 8, !tbaa !5
  %14484 = getelementptr inbounds %struct.complex, ptr %14483, i32 0, i32 1
  %14485 = load float, ptr %14484, align 4, !tbaa !14
  %14486 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14487 = load float, ptr %14486, align 4, !tbaa !11
  %14488 = fmul float %14485, %14487
  %14489 = call float @llvm.fmuladd.f32(float %14480, float %14482, float %14488)
  %14490 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14489, ptr %14490, align 4, !tbaa !14
  %14491 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14492 = load float, ptr %14491, align 4, !tbaa !11
  %14493 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %14492, ptr %14493, align 4, !tbaa !11
  %14494 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14495 = load float, ptr %14494, align 4, !tbaa !14
  %14496 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %14495, ptr %14496, align 4, !tbaa !14
  %14497 = load ptr, ptr %13, align 8, !tbaa !5
  %14498 = getelementptr inbounds %struct.complex, ptr %14497, i64 8
  %14499 = getelementptr inbounds %struct.complex, ptr %14498, i32 0, i32 0
  %14500 = load float, ptr %14499, align 4, !tbaa !11
  %14501 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %14500, ptr %14501, align 4, !tbaa !11
  %14502 = load ptr, ptr %13, align 8, !tbaa !5
  %14503 = getelementptr inbounds %struct.complex, ptr %14502, i64 8
  %14504 = getelementptr inbounds %struct.complex, ptr %14503, i32 0, i32 1
  %14505 = load float, ptr %14504, align 4, !tbaa !14
  %14506 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %14505, ptr %14506, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %67)
  %14507 = load ptr, ptr %14, align 8, !tbaa !5
  %14508 = getelementptr inbounds %struct.complex, ptr %14507, i32 0, i32 0
  %14509 = load float, ptr %14508, align 4, !tbaa !11
  %14510 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14511 = load float, ptr %14510, align 4, !tbaa !11
  %14512 = load ptr, ptr %14, align 8, !tbaa !5
  %14513 = getelementptr inbounds %struct.complex, ptr %14512, i32 0, i32 1
  %14514 = load float, ptr %14513, align 4, !tbaa !14
  %14515 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14516 = load float, ptr %14515, align 4, !tbaa !14
  %14517 = fmul float %14514, %14516
  %14518 = fneg float %14517
  %14519 = call float @llvm.fmuladd.f32(float %14509, float %14511, float %14518)
  %14520 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14519, ptr %14520, align 4, !tbaa !11
  %14521 = load ptr, ptr %14, align 8, !tbaa !5
  %14522 = getelementptr inbounds %struct.complex, ptr %14521, i32 0, i32 0
  %14523 = load float, ptr %14522, align 4, !tbaa !11
  %14524 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14525 = load float, ptr %14524, align 4, !tbaa !14
  %14526 = load ptr, ptr %14, align 8, !tbaa !5
  %14527 = getelementptr inbounds %struct.complex, ptr %14526, i32 0, i32 1
  %14528 = load float, ptr %14527, align 4, !tbaa !14
  %14529 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14530 = load float, ptr %14529, align 4, !tbaa !11
  %14531 = fmul float %14528, %14530
  %14532 = call float @llvm.fmuladd.f32(float %14523, float %14525, float %14531)
  %14533 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14532, ptr %14533, align 4, !tbaa !14
  %14534 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14535 = load float, ptr %14534, align 4, !tbaa !11
  %14536 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %14535, ptr %14536, align 4, !tbaa !11
  %14537 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14538 = load float, ptr %14537, align 4, !tbaa !14
  %14539 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %14538, ptr %14539, align 4, !tbaa !14
  %14540 = load ptr, ptr %13, align 8, !tbaa !5
  %14541 = getelementptr inbounds %struct.complex, ptr %14540, i64 9
  %14542 = getelementptr inbounds %struct.complex, ptr %14541, i32 0, i32 0
  %14543 = load float, ptr %14542, align 4, !tbaa !11
  %14544 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  store float %14543, ptr %14544, align 4, !tbaa !11
  %14545 = load ptr, ptr %13, align 8, !tbaa !5
  %14546 = getelementptr inbounds %struct.complex, ptr %14545, i64 9
  %14547 = getelementptr inbounds %struct.complex, ptr %14546, i32 0, i32 1
  %14548 = load float, ptr %14547, align 4, !tbaa !14
  %14549 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  store float %14548, ptr %14549, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %68)
  %14550 = load ptr, ptr %14, align 8, !tbaa !5
  %14551 = getelementptr inbounds %struct.complex, ptr %14550, i32 0, i32 0
  %14552 = load float, ptr %14551, align 4, !tbaa !11
  %14553 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14554 = load float, ptr %14553, align 4, !tbaa !11
  %14555 = load ptr, ptr %14, align 8, !tbaa !5
  %14556 = getelementptr inbounds %struct.complex, ptr %14555, i32 0, i32 1
  %14557 = load float, ptr %14556, align 4, !tbaa !14
  %14558 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14559 = load float, ptr %14558, align 4, !tbaa !14
  %14560 = fmul float %14557, %14559
  %14561 = fneg float %14560
  %14562 = call float @llvm.fmuladd.f32(float %14552, float %14554, float %14561)
  %14563 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %14562, ptr %14563, align 4, !tbaa !11
  %14564 = load ptr, ptr %14, align 8, !tbaa !5
  %14565 = getelementptr inbounds %struct.complex, ptr %14564, i32 0, i32 0
  %14566 = load float, ptr %14565, align 4, !tbaa !11
  %14567 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %14568 = load float, ptr %14567, align 4, !tbaa !14
  %14569 = load ptr, ptr %14, align 8, !tbaa !5
  %14570 = getelementptr inbounds %struct.complex, ptr %14569, i32 0, i32 1
  %14571 = load float, ptr %14570, align 4, !tbaa !14
  %14572 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %14573 = load float, ptr %14572, align 4, !tbaa !11
  %14574 = fmul float %14571, %14573
  %14575 = call float @llvm.fmuladd.f32(float %14566, float %14568, float %14574)
  %14576 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %14575, ptr %14576, align 4, !tbaa !14
  %14577 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %14578 = load float, ptr %14577, align 4, !tbaa !11
  %14579 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %14578, ptr %14579, align 4, !tbaa !11
  %14580 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %14581 = load float, ptr %14580, align 4, !tbaa !14
  %14582 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %14581, ptr %14582, align 4, !tbaa !14
  %14583 = load ptr, ptr %11, align 8, !tbaa !5
  %14584 = load i64, ptr %14583, align 8, !tbaa !9
  store i64 %14584, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %14585

14585:                                            ; preds = %15589, %14195
  %14586 = load i64, ptr %50, align 8, !tbaa !9
  %14587 = load i64, ptr %20, align 8, !tbaa !9
  %14588 = icmp sle i64 %14586, %14587
  br i1 %14588, label %14589, label %15592

14589:                                            ; preds = %14585
  %14590 = load i64, ptr %50, align 8, !tbaa !9
  %14591 = load i64, ptr %18, align 8, !tbaa !9
  %14592 = add nsw i64 %14590, %14591
  store i64 %14592, ptr %21, align 8, !tbaa !9
  %14593 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %14594 = load float, ptr %14593, align 4, !tbaa !11
  %14595 = load ptr, ptr %15, align 8, !tbaa !5
  %14596 = load i64, ptr %21, align 8, !tbaa !9
  %14597 = getelementptr inbounds %struct.complex, ptr %14595, i64 %14596
  %14598 = getelementptr inbounds %struct.complex, ptr %14597, i32 0, i32 0
  %14599 = load float, ptr %14598, align 4, !tbaa !11
  %14600 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %14601 = load float, ptr %14600, align 4, !tbaa !14
  %14602 = load ptr, ptr %15, align 8, !tbaa !5
  %14603 = load i64, ptr %21, align 8, !tbaa !9
  %14604 = getelementptr inbounds %struct.complex, ptr %14602, i64 %14603
  %14605 = getelementptr inbounds %struct.complex, ptr %14604, i32 0, i32 1
  %14606 = load float, ptr %14605, align 4, !tbaa !14
  %14607 = fmul float %14601, %14606
  %14608 = fneg float %14607
  %14609 = call float @llvm.fmuladd.f32(float %14594, float %14599, float %14608)
  %14610 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %14609, ptr %14610, align 4, !tbaa !11
  %14611 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %14612 = load float, ptr %14611, align 4, !tbaa !11
  %14613 = load ptr, ptr %15, align 8, !tbaa !5
  %14614 = load i64, ptr %21, align 8, !tbaa !9
  %14615 = getelementptr inbounds %struct.complex, ptr %14613, i64 %14614
  %14616 = getelementptr inbounds %struct.complex, ptr %14615, i32 0, i32 1
  %14617 = load float, ptr %14616, align 4, !tbaa !14
  %14618 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %14619 = load float, ptr %14618, align 4, !tbaa !14
  %14620 = load ptr, ptr %15, align 8, !tbaa !5
  %14621 = load i64, ptr %21, align 8, !tbaa !9
  %14622 = getelementptr inbounds %struct.complex, ptr %14620, i64 %14621
  %14623 = getelementptr inbounds %struct.complex, ptr %14622, i32 0, i32 0
  %14624 = load float, ptr %14623, align 4, !tbaa !11
  %14625 = fmul float %14619, %14624
  %14626 = call float @llvm.fmuladd.f32(float %14612, float %14617, float %14625)
  %14627 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %14626, ptr %14627, align 4, !tbaa !14
  %14628 = load i64, ptr %50, align 8, !tbaa !9
  %14629 = load i64, ptr %18, align 8, !tbaa !9
  %14630 = shl i64 %14629, 1
  %14631 = add nsw i64 %14628, %14630
  store i64 %14631, ptr %22, align 8, !tbaa !9
  %14632 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %14633 = load float, ptr %14632, align 4, !tbaa !11
  %14634 = load ptr, ptr %15, align 8, !tbaa !5
  %14635 = load i64, ptr %22, align 8, !tbaa !9
  %14636 = getelementptr inbounds %struct.complex, ptr %14634, i64 %14635
  %14637 = getelementptr inbounds %struct.complex, ptr %14636, i32 0, i32 0
  %14638 = load float, ptr %14637, align 4, !tbaa !11
  %14639 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %14640 = load float, ptr %14639, align 4, !tbaa !14
  %14641 = load ptr, ptr %15, align 8, !tbaa !5
  %14642 = load i64, ptr %22, align 8, !tbaa !9
  %14643 = getelementptr inbounds %struct.complex, ptr %14641, i64 %14642
  %14644 = getelementptr inbounds %struct.complex, ptr %14643, i32 0, i32 1
  %14645 = load float, ptr %14644, align 4, !tbaa !14
  %14646 = fmul float %14640, %14645
  %14647 = fneg float %14646
  %14648 = call float @llvm.fmuladd.f32(float %14633, float %14638, float %14647)
  %14649 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %14648, ptr %14649, align 4, !tbaa !11
  %14650 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %14651 = load float, ptr %14650, align 4, !tbaa !11
  %14652 = load ptr, ptr %15, align 8, !tbaa !5
  %14653 = load i64, ptr %22, align 8, !tbaa !9
  %14654 = getelementptr inbounds %struct.complex, ptr %14652, i64 %14653
  %14655 = getelementptr inbounds %struct.complex, ptr %14654, i32 0, i32 1
  %14656 = load float, ptr %14655, align 4, !tbaa !14
  %14657 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %14658 = load float, ptr %14657, align 4, !tbaa !14
  %14659 = load ptr, ptr %15, align 8, !tbaa !5
  %14660 = load i64, ptr %22, align 8, !tbaa !9
  %14661 = getelementptr inbounds %struct.complex, ptr %14659, i64 %14660
  %14662 = getelementptr inbounds %struct.complex, ptr %14661, i32 0, i32 0
  %14663 = load float, ptr %14662, align 4, !tbaa !11
  %14664 = fmul float %14658, %14663
  %14665 = call float @llvm.fmuladd.f32(float %14651, float %14656, float %14664)
  %14666 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %14665, ptr %14666, align 4, !tbaa !14
  %14667 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %14668 = load float, ptr %14667, align 4, !tbaa !11
  %14669 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %14670 = load float, ptr %14669, align 4, !tbaa !11
  %14671 = fadd float %14668, %14670
  %14672 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %14671, ptr %14672, align 4, !tbaa !11
  %14673 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %14674 = load float, ptr %14673, align 4, !tbaa !14
  %14675 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %14676 = load float, ptr %14675, align 4, !tbaa !14
  %14677 = fadd float %14674, %14676
  %14678 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %14677, ptr %14678, align 4, !tbaa !14
  %14679 = load i64, ptr %50, align 8, !tbaa !9
  %14680 = load i64, ptr %18, align 8, !tbaa !9
  %14681 = mul nsw i64 %14680, 3
  %14682 = add nsw i64 %14679, %14681
  store i64 %14682, ptr %23, align 8, !tbaa !9
  %14683 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %14684 = load float, ptr %14683, align 4, !tbaa !11
  %14685 = load ptr, ptr %15, align 8, !tbaa !5
  %14686 = load i64, ptr %23, align 8, !tbaa !9
  %14687 = getelementptr inbounds %struct.complex, ptr %14685, i64 %14686
  %14688 = getelementptr inbounds %struct.complex, ptr %14687, i32 0, i32 0
  %14689 = load float, ptr %14688, align 4, !tbaa !11
  %14690 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %14691 = load float, ptr %14690, align 4, !tbaa !14
  %14692 = load ptr, ptr %15, align 8, !tbaa !5
  %14693 = load i64, ptr %23, align 8, !tbaa !9
  %14694 = getelementptr inbounds %struct.complex, ptr %14692, i64 %14693
  %14695 = getelementptr inbounds %struct.complex, ptr %14694, i32 0, i32 1
  %14696 = load float, ptr %14695, align 4, !tbaa !14
  %14697 = fmul float %14691, %14696
  %14698 = fneg float %14697
  %14699 = call float @llvm.fmuladd.f32(float %14684, float %14689, float %14698)
  %14700 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %14699, ptr %14700, align 4, !tbaa !11
  %14701 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %14702 = load float, ptr %14701, align 4, !tbaa !11
  %14703 = load ptr, ptr %15, align 8, !tbaa !5
  %14704 = load i64, ptr %23, align 8, !tbaa !9
  %14705 = getelementptr inbounds %struct.complex, ptr %14703, i64 %14704
  %14706 = getelementptr inbounds %struct.complex, ptr %14705, i32 0, i32 1
  %14707 = load float, ptr %14706, align 4, !tbaa !14
  %14708 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %14709 = load float, ptr %14708, align 4, !tbaa !14
  %14710 = load ptr, ptr %15, align 8, !tbaa !5
  %14711 = load i64, ptr %23, align 8, !tbaa !9
  %14712 = getelementptr inbounds %struct.complex, ptr %14710, i64 %14711
  %14713 = getelementptr inbounds %struct.complex, ptr %14712, i32 0, i32 0
  %14714 = load float, ptr %14713, align 4, !tbaa !11
  %14715 = fmul float %14709, %14714
  %14716 = call float @llvm.fmuladd.f32(float %14702, float %14707, float %14715)
  %14717 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %14716, ptr %14717, align 4, !tbaa !14
  %14718 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %14719 = load float, ptr %14718, align 4, !tbaa !11
  %14720 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %14721 = load float, ptr %14720, align 4, !tbaa !11
  %14722 = fadd float %14719, %14721
  %14723 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %14722, ptr %14723, align 4, !tbaa !11
  %14724 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %14725 = load float, ptr %14724, align 4, !tbaa !14
  %14726 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %14727 = load float, ptr %14726, align 4, !tbaa !14
  %14728 = fadd float %14725, %14727
  %14729 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %14728, ptr %14729, align 4, !tbaa !14
  %14730 = load i64, ptr %50, align 8, !tbaa !9
  %14731 = load i64, ptr %18, align 8, !tbaa !9
  %14732 = shl i64 %14731, 2
  %14733 = add nsw i64 %14730, %14732
  store i64 %14733, ptr %24, align 8, !tbaa !9
  %14734 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %14735 = load float, ptr %14734, align 4, !tbaa !11
  %14736 = load ptr, ptr %15, align 8, !tbaa !5
  %14737 = load i64, ptr %24, align 8, !tbaa !9
  %14738 = getelementptr inbounds %struct.complex, ptr %14736, i64 %14737
  %14739 = getelementptr inbounds %struct.complex, ptr %14738, i32 0, i32 0
  %14740 = load float, ptr %14739, align 4, !tbaa !11
  %14741 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %14742 = load float, ptr %14741, align 4, !tbaa !14
  %14743 = load ptr, ptr %15, align 8, !tbaa !5
  %14744 = load i64, ptr %24, align 8, !tbaa !9
  %14745 = getelementptr inbounds %struct.complex, ptr %14743, i64 %14744
  %14746 = getelementptr inbounds %struct.complex, ptr %14745, i32 0, i32 1
  %14747 = load float, ptr %14746, align 4, !tbaa !14
  %14748 = fmul float %14742, %14747
  %14749 = fneg float %14748
  %14750 = call float @llvm.fmuladd.f32(float %14735, float %14740, float %14749)
  %14751 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %14750, ptr %14751, align 4, !tbaa !11
  %14752 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %14753 = load float, ptr %14752, align 4, !tbaa !11
  %14754 = load ptr, ptr %15, align 8, !tbaa !5
  %14755 = load i64, ptr %24, align 8, !tbaa !9
  %14756 = getelementptr inbounds %struct.complex, ptr %14754, i64 %14755
  %14757 = getelementptr inbounds %struct.complex, ptr %14756, i32 0, i32 1
  %14758 = load float, ptr %14757, align 4, !tbaa !14
  %14759 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %14760 = load float, ptr %14759, align 4, !tbaa !14
  %14761 = load ptr, ptr %15, align 8, !tbaa !5
  %14762 = load i64, ptr %24, align 8, !tbaa !9
  %14763 = getelementptr inbounds %struct.complex, ptr %14761, i64 %14762
  %14764 = getelementptr inbounds %struct.complex, ptr %14763, i32 0, i32 0
  %14765 = load float, ptr %14764, align 4, !tbaa !11
  %14766 = fmul float %14760, %14765
  %14767 = call float @llvm.fmuladd.f32(float %14753, float %14758, float %14766)
  %14768 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %14767, ptr %14768, align 4, !tbaa !14
  %14769 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %14770 = load float, ptr %14769, align 4, !tbaa !11
  %14771 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %14772 = load float, ptr %14771, align 4, !tbaa !11
  %14773 = fadd float %14770, %14772
  %14774 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %14773, ptr %14774, align 4, !tbaa !11
  %14775 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %14776 = load float, ptr %14775, align 4, !tbaa !14
  %14777 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %14778 = load float, ptr %14777, align 4, !tbaa !14
  %14779 = fadd float %14776, %14778
  %14780 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %14779, ptr %14780, align 4, !tbaa !14
  %14781 = load i64, ptr %50, align 8, !tbaa !9
  %14782 = load i64, ptr %18, align 8, !tbaa !9
  %14783 = mul nsw i64 %14782, 5
  %14784 = add nsw i64 %14781, %14783
  store i64 %14784, ptr %25, align 8, !tbaa !9
  %14785 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %14786 = load float, ptr %14785, align 4, !tbaa !11
  %14787 = load ptr, ptr %15, align 8, !tbaa !5
  %14788 = load i64, ptr %25, align 8, !tbaa !9
  %14789 = getelementptr inbounds %struct.complex, ptr %14787, i64 %14788
  %14790 = getelementptr inbounds %struct.complex, ptr %14789, i32 0, i32 0
  %14791 = load float, ptr %14790, align 4, !tbaa !11
  %14792 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %14793 = load float, ptr %14792, align 4, !tbaa !14
  %14794 = load ptr, ptr %15, align 8, !tbaa !5
  %14795 = load i64, ptr %25, align 8, !tbaa !9
  %14796 = getelementptr inbounds %struct.complex, ptr %14794, i64 %14795
  %14797 = getelementptr inbounds %struct.complex, ptr %14796, i32 0, i32 1
  %14798 = load float, ptr %14797, align 4, !tbaa !14
  %14799 = fmul float %14793, %14798
  %14800 = fneg float %14799
  %14801 = call float @llvm.fmuladd.f32(float %14786, float %14791, float %14800)
  %14802 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %14801, ptr %14802, align 4, !tbaa !11
  %14803 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %14804 = load float, ptr %14803, align 4, !tbaa !11
  %14805 = load ptr, ptr %15, align 8, !tbaa !5
  %14806 = load i64, ptr %25, align 8, !tbaa !9
  %14807 = getelementptr inbounds %struct.complex, ptr %14805, i64 %14806
  %14808 = getelementptr inbounds %struct.complex, ptr %14807, i32 0, i32 1
  %14809 = load float, ptr %14808, align 4, !tbaa !14
  %14810 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %14811 = load float, ptr %14810, align 4, !tbaa !14
  %14812 = load ptr, ptr %15, align 8, !tbaa !5
  %14813 = load i64, ptr %25, align 8, !tbaa !9
  %14814 = getelementptr inbounds %struct.complex, ptr %14812, i64 %14813
  %14815 = getelementptr inbounds %struct.complex, ptr %14814, i32 0, i32 0
  %14816 = load float, ptr %14815, align 4, !tbaa !11
  %14817 = fmul float %14811, %14816
  %14818 = call float @llvm.fmuladd.f32(float %14804, float %14809, float %14817)
  %14819 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %14818, ptr %14819, align 4, !tbaa !14
  %14820 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %14821 = load float, ptr %14820, align 4, !tbaa !11
  %14822 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %14823 = load float, ptr %14822, align 4, !tbaa !11
  %14824 = fadd float %14821, %14823
  %14825 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %14824, ptr %14825, align 4, !tbaa !11
  %14826 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %14827 = load float, ptr %14826, align 4, !tbaa !14
  %14828 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %14829 = load float, ptr %14828, align 4, !tbaa !14
  %14830 = fadd float %14827, %14829
  %14831 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %14830, ptr %14831, align 4, !tbaa !14
  %14832 = load i64, ptr %50, align 8, !tbaa !9
  %14833 = load i64, ptr %18, align 8, !tbaa !9
  %14834 = mul nsw i64 %14833, 6
  %14835 = add nsw i64 %14832, %14834
  store i64 %14835, ptr %26, align 8, !tbaa !9
  %14836 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %14837 = load float, ptr %14836, align 4, !tbaa !11
  %14838 = load ptr, ptr %15, align 8, !tbaa !5
  %14839 = load i64, ptr %26, align 8, !tbaa !9
  %14840 = getelementptr inbounds %struct.complex, ptr %14838, i64 %14839
  %14841 = getelementptr inbounds %struct.complex, ptr %14840, i32 0, i32 0
  %14842 = load float, ptr %14841, align 4, !tbaa !11
  %14843 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %14844 = load float, ptr %14843, align 4, !tbaa !14
  %14845 = load ptr, ptr %15, align 8, !tbaa !5
  %14846 = load i64, ptr %26, align 8, !tbaa !9
  %14847 = getelementptr inbounds %struct.complex, ptr %14845, i64 %14846
  %14848 = getelementptr inbounds %struct.complex, ptr %14847, i32 0, i32 1
  %14849 = load float, ptr %14848, align 4, !tbaa !14
  %14850 = fmul float %14844, %14849
  %14851 = fneg float %14850
  %14852 = call float @llvm.fmuladd.f32(float %14837, float %14842, float %14851)
  %14853 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %14852, ptr %14853, align 4, !tbaa !11
  %14854 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %14855 = load float, ptr %14854, align 4, !tbaa !11
  %14856 = load ptr, ptr %15, align 8, !tbaa !5
  %14857 = load i64, ptr %26, align 8, !tbaa !9
  %14858 = getelementptr inbounds %struct.complex, ptr %14856, i64 %14857
  %14859 = getelementptr inbounds %struct.complex, ptr %14858, i32 0, i32 1
  %14860 = load float, ptr %14859, align 4, !tbaa !14
  %14861 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %14862 = load float, ptr %14861, align 4, !tbaa !14
  %14863 = load ptr, ptr %15, align 8, !tbaa !5
  %14864 = load i64, ptr %26, align 8, !tbaa !9
  %14865 = getelementptr inbounds %struct.complex, ptr %14863, i64 %14864
  %14866 = getelementptr inbounds %struct.complex, ptr %14865, i32 0, i32 0
  %14867 = load float, ptr %14866, align 4, !tbaa !11
  %14868 = fmul float %14862, %14867
  %14869 = call float @llvm.fmuladd.f32(float %14855, float %14860, float %14868)
  %14870 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %14869, ptr %14870, align 4, !tbaa !14
  %14871 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %14872 = load float, ptr %14871, align 4, !tbaa !11
  %14873 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %14874 = load float, ptr %14873, align 4, !tbaa !11
  %14875 = fadd float %14872, %14874
  %14876 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %14875, ptr %14876, align 4, !tbaa !11
  %14877 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %14878 = load float, ptr %14877, align 4, !tbaa !14
  %14879 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %14880 = load float, ptr %14879, align 4, !tbaa !14
  %14881 = fadd float %14878, %14880
  %14882 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %14881, ptr %14882, align 4, !tbaa !14
  %14883 = load i64, ptr %50, align 8, !tbaa !9
  %14884 = load i64, ptr %18, align 8, !tbaa !9
  %14885 = mul nsw i64 %14884, 7
  %14886 = add nsw i64 %14883, %14885
  store i64 %14886, ptr %27, align 8, !tbaa !9
  %14887 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %14888 = load float, ptr %14887, align 4, !tbaa !11
  %14889 = load ptr, ptr %15, align 8, !tbaa !5
  %14890 = load i64, ptr %27, align 8, !tbaa !9
  %14891 = getelementptr inbounds %struct.complex, ptr %14889, i64 %14890
  %14892 = getelementptr inbounds %struct.complex, ptr %14891, i32 0, i32 0
  %14893 = load float, ptr %14892, align 4, !tbaa !11
  %14894 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %14895 = load float, ptr %14894, align 4, !tbaa !14
  %14896 = load ptr, ptr %15, align 8, !tbaa !5
  %14897 = load i64, ptr %27, align 8, !tbaa !9
  %14898 = getelementptr inbounds %struct.complex, ptr %14896, i64 %14897
  %14899 = getelementptr inbounds %struct.complex, ptr %14898, i32 0, i32 1
  %14900 = load float, ptr %14899, align 4, !tbaa !14
  %14901 = fmul float %14895, %14900
  %14902 = fneg float %14901
  %14903 = call float @llvm.fmuladd.f32(float %14888, float %14893, float %14902)
  %14904 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %14903, ptr %14904, align 4, !tbaa !11
  %14905 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %14906 = load float, ptr %14905, align 4, !tbaa !11
  %14907 = load ptr, ptr %15, align 8, !tbaa !5
  %14908 = load i64, ptr %27, align 8, !tbaa !9
  %14909 = getelementptr inbounds %struct.complex, ptr %14907, i64 %14908
  %14910 = getelementptr inbounds %struct.complex, ptr %14909, i32 0, i32 1
  %14911 = load float, ptr %14910, align 4, !tbaa !14
  %14912 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %14913 = load float, ptr %14912, align 4, !tbaa !14
  %14914 = load ptr, ptr %15, align 8, !tbaa !5
  %14915 = load i64, ptr %27, align 8, !tbaa !9
  %14916 = getelementptr inbounds %struct.complex, ptr %14914, i64 %14915
  %14917 = getelementptr inbounds %struct.complex, ptr %14916, i32 0, i32 0
  %14918 = load float, ptr %14917, align 4, !tbaa !11
  %14919 = fmul float %14913, %14918
  %14920 = call float @llvm.fmuladd.f32(float %14906, float %14911, float %14919)
  %14921 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %14920, ptr %14921, align 4, !tbaa !14
  %14922 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %14923 = load float, ptr %14922, align 4, !tbaa !11
  %14924 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %14925 = load float, ptr %14924, align 4, !tbaa !11
  %14926 = fadd float %14923, %14925
  %14927 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %14926, ptr %14927, align 4, !tbaa !11
  %14928 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %14929 = load float, ptr %14928, align 4, !tbaa !14
  %14930 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %14931 = load float, ptr %14930, align 4, !tbaa !14
  %14932 = fadd float %14929, %14931
  %14933 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %14932, ptr %14933, align 4, !tbaa !14
  %14934 = load i64, ptr %50, align 8, !tbaa !9
  %14935 = load i64, ptr %18, align 8, !tbaa !9
  %14936 = shl i64 %14935, 3
  %14937 = add nsw i64 %14934, %14936
  store i64 %14937, ptr %28, align 8, !tbaa !9
  %14938 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %14939 = load float, ptr %14938, align 4, !tbaa !11
  %14940 = load ptr, ptr %15, align 8, !tbaa !5
  %14941 = load i64, ptr %28, align 8, !tbaa !9
  %14942 = getelementptr inbounds %struct.complex, ptr %14940, i64 %14941
  %14943 = getelementptr inbounds %struct.complex, ptr %14942, i32 0, i32 0
  %14944 = load float, ptr %14943, align 4, !tbaa !11
  %14945 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %14946 = load float, ptr %14945, align 4, !tbaa !14
  %14947 = load ptr, ptr %15, align 8, !tbaa !5
  %14948 = load i64, ptr %28, align 8, !tbaa !9
  %14949 = getelementptr inbounds %struct.complex, ptr %14947, i64 %14948
  %14950 = getelementptr inbounds %struct.complex, ptr %14949, i32 0, i32 1
  %14951 = load float, ptr %14950, align 4, !tbaa !14
  %14952 = fmul float %14946, %14951
  %14953 = fneg float %14952
  %14954 = call float @llvm.fmuladd.f32(float %14939, float %14944, float %14953)
  %14955 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %14954, ptr %14955, align 4, !tbaa !11
  %14956 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %14957 = load float, ptr %14956, align 4, !tbaa !11
  %14958 = load ptr, ptr %15, align 8, !tbaa !5
  %14959 = load i64, ptr %28, align 8, !tbaa !9
  %14960 = getelementptr inbounds %struct.complex, ptr %14958, i64 %14959
  %14961 = getelementptr inbounds %struct.complex, ptr %14960, i32 0, i32 1
  %14962 = load float, ptr %14961, align 4, !tbaa !14
  %14963 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %14964 = load float, ptr %14963, align 4, !tbaa !14
  %14965 = load ptr, ptr %15, align 8, !tbaa !5
  %14966 = load i64, ptr %28, align 8, !tbaa !9
  %14967 = getelementptr inbounds %struct.complex, ptr %14965, i64 %14966
  %14968 = getelementptr inbounds %struct.complex, ptr %14967, i32 0, i32 0
  %14969 = load float, ptr %14968, align 4, !tbaa !11
  %14970 = fmul float %14964, %14969
  %14971 = call float @llvm.fmuladd.f32(float %14957, float %14962, float %14970)
  %14972 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %14971, ptr %14972, align 4, !tbaa !14
  %14973 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %14974 = load float, ptr %14973, align 4, !tbaa !11
  %14975 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %14976 = load float, ptr %14975, align 4, !tbaa !11
  %14977 = fadd float %14974, %14976
  %14978 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %14977, ptr %14978, align 4, !tbaa !11
  %14979 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %14980 = load float, ptr %14979, align 4, !tbaa !14
  %14981 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %14982 = load float, ptr %14981, align 4, !tbaa !14
  %14983 = fadd float %14980, %14982
  %14984 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %14983, ptr %14984, align 4, !tbaa !14
  %14985 = load i64, ptr %50, align 8, !tbaa !9
  %14986 = load i64, ptr %18, align 8, !tbaa !9
  %14987 = mul nsw i64 %14986, 9
  %14988 = add nsw i64 %14985, %14987
  store i64 %14988, ptr %29, align 8, !tbaa !9
  %14989 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %14990 = load float, ptr %14989, align 4, !tbaa !11
  %14991 = load ptr, ptr %15, align 8, !tbaa !5
  %14992 = load i64, ptr %29, align 8, !tbaa !9
  %14993 = getelementptr inbounds %struct.complex, ptr %14991, i64 %14992
  %14994 = getelementptr inbounds %struct.complex, ptr %14993, i32 0, i32 0
  %14995 = load float, ptr %14994, align 4, !tbaa !11
  %14996 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %14997 = load float, ptr %14996, align 4, !tbaa !14
  %14998 = load ptr, ptr %15, align 8, !tbaa !5
  %14999 = load i64, ptr %29, align 8, !tbaa !9
  %15000 = getelementptr inbounds %struct.complex, ptr %14998, i64 %14999
  %15001 = getelementptr inbounds %struct.complex, ptr %15000, i32 0, i32 1
  %15002 = load float, ptr %15001, align 4, !tbaa !14
  %15003 = fmul float %14997, %15002
  %15004 = fneg float %15003
  %15005 = call float @llvm.fmuladd.f32(float %14990, float %14995, float %15004)
  %15006 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  store float %15005, ptr %15006, align 4, !tbaa !11
  %15007 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %15008 = load float, ptr %15007, align 4, !tbaa !11
  %15009 = load ptr, ptr %15, align 8, !tbaa !5
  %15010 = load i64, ptr %29, align 8, !tbaa !9
  %15011 = getelementptr inbounds %struct.complex, ptr %15009, i64 %15010
  %15012 = getelementptr inbounds %struct.complex, ptr %15011, i32 0, i32 1
  %15013 = load float, ptr %15012, align 4, !tbaa !14
  %15014 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %15015 = load float, ptr %15014, align 4, !tbaa !14
  %15016 = load ptr, ptr %15, align 8, !tbaa !5
  %15017 = load i64, ptr %29, align 8, !tbaa !9
  %15018 = getelementptr inbounds %struct.complex, ptr %15016, i64 %15017
  %15019 = getelementptr inbounds %struct.complex, ptr %15018, i32 0, i32 0
  %15020 = load float, ptr %15019, align 4, !tbaa !11
  %15021 = fmul float %15015, %15020
  %15022 = call float @llvm.fmuladd.f32(float %15008, float %15013, float %15021)
  %15023 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  store float %15022, ptr %15023, align 4, !tbaa !14
  %15024 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15025 = load float, ptr %15024, align 4, !tbaa !11
  %15026 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  %15027 = load float, ptr %15026, align 4, !tbaa !11
  %15028 = fadd float %15025, %15027
  %15029 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15028, ptr %15029, align 4, !tbaa !11
  %15030 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15031 = load float, ptr %15030, align 4, !tbaa !14
  %15032 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  %15033 = load float, ptr %15032, align 4, !tbaa !14
  %15034 = fadd float %15031, %15033
  %15035 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15034, ptr %15035, align 4, !tbaa !14
  %15036 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15037 = load float, ptr %15036, align 4, !tbaa !11
  %15038 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %15037, ptr %15038, align 4, !tbaa !11
  %15039 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15040 = load float, ptr %15039, align 4, !tbaa !14
  %15041 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %15040, ptr %15041, align 4, !tbaa !14
  %15042 = load i64, ptr %50, align 8, !tbaa !9
  %15043 = load i64, ptr %18, align 8, !tbaa !9
  %15044 = add nsw i64 %15042, %15043
  store i64 %15044, ptr %21, align 8, !tbaa !9
  %15045 = load i64, ptr %50, align 8, !tbaa !9
  %15046 = load i64, ptr %18, align 8, !tbaa !9
  %15047 = add nsw i64 %15045, %15046
  store i64 %15047, ptr %22, align 8, !tbaa !9
  %15048 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15049 = load float, ptr %15048, align 4, !tbaa !11
  %15050 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %15051 = load float, ptr %15050, align 4, !tbaa !11
  %15052 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15053 = load float, ptr %15052, align 4, !tbaa !14
  %15054 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %15055 = load float, ptr %15054, align 4, !tbaa !14
  %15056 = fmul float %15053, %15055
  %15057 = fneg float %15056
  %15058 = call float @llvm.fmuladd.f32(float %15049, float %15051, float %15057)
  %15059 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15058, ptr %15059, align 4, !tbaa !11
  %15060 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15061 = load float, ptr %15060, align 4, !tbaa !11
  %15062 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %15063 = load float, ptr %15062, align 4, !tbaa !14
  %15064 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15065 = load float, ptr %15064, align 4, !tbaa !14
  %15066 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %15067 = load float, ptr %15066, align 4, !tbaa !11
  %15068 = fmul float %15065, %15067
  %15069 = call float @llvm.fmuladd.f32(float %15061, float %15063, float %15068)
  %15070 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15069, ptr %15070, align 4, !tbaa !14
  %15071 = load ptr, ptr %15, align 8, !tbaa !5
  %15072 = load i64, ptr %22, align 8, !tbaa !9
  %15073 = getelementptr inbounds %struct.complex, ptr %15071, i64 %15072
  %15074 = getelementptr inbounds %struct.complex, ptr %15073, i32 0, i32 0
  %15075 = load float, ptr %15074, align 4, !tbaa !11
  %15076 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15077 = load float, ptr %15076, align 4, !tbaa !11
  %15078 = fsub float %15075, %15077
  %15079 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15078, ptr %15079, align 4, !tbaa !11
  %15080 = load ptr, ptr %15, align 8, !tbaa !5
  %15081 = load i64, ptr %22, align 8, !tbaa !9
  %15082 = getelementptr inbounds %struct.complex, ptr %15080, i64 %15081
  %15083 = getelementptr inbounds %struct.complex, ptr %15082, i32 0, i32 1
  %15084 = load float, ptr %15083, align 4, !tbaa !14
  %15085 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15086 = load float, ptr %15085, align 4, !tbaa !14
  %15087 = fsub float %15084, %15086
  %15088 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15087, ptr %15088, align 4, !tbaa !14
  %15089 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15090 = load float, ptr %15089, align 4, !tbaa !11
  %15091 = load ptr, ptr %15, align 8, !tbaa !5
  %15092 = load i64, ptr %21, align 8, !tbaa !9
  %15093 = getelementptr inbounds %struct.complex, ptr %15091, i64 %15092
  %15094 = getelementptr inbounds %struct.complex, ptr %15093, i32 0, i32 0
  store float %15090, ptr %15094, align 4, !tbaa !11
  %15095 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15096 = load float, ptr %15095, align 4, !tbaa !14
  %15097 = load ptr, ptr %15, align 8, !tbaa !5
  %15098 = load i64, ptr %21, align 8, !tbaa !9
  %15099 = getelementptr inbounds %struct.complex, ptr %15097, i64 %15098
  %15100 = getelementptr inbounds %struct.complex, ptr %15099, i32 0, i32 1
  store float %15096, ptr %15100, align 4, !tbaa !14
  %15101 = load i64, ptr %50, align 8, !tbaa !9
  %15102 = load i64, ptr %18, align 8, !tbaa !9
  %15103 = shl i64 %15102, 1
  %15104 = add nsw i64 %15101, %15103
  store i64 %15104, ptr %21, align 8, !tbaa !9
  %15105 = load i64, ptr %50, align 8, !tbaa !9
  %15106 = load i64, ptr %18, align 8, !tbaa !9
  %15107 = shl i64 %15106, 1
  %15108 = add nsw i64 %15105, %15107
  store i64 %15108, ptr %22, align 8, !tbaa !9
  %15109 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15110 = load float, ptr %15109, align 4, !tbaa !11
  %15111 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %15112 = load float, ptr %15111, align 4, !tbaa !11
  %15113 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15114 = load float, ptr %15113, align 4, !tbaa !14
  %15115 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %15116 = load float, ptr %15115, align 4, !tbaa !14
  %15117 = fmul float %15114, %15116
  %15118 = fneg float %15117
  %15119 = call float @llvm.fmuladd.f32(float %15110, float %15112, float %15118)
  %15120 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15119, ptr %15120, align 4, !tbaa !11
  %15121 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15122 = load float, ptr %15121, align 4, !tbaa !11
  %15123 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %15124 = load float, ptr %15123, align 4, !tbaa !14
  %15125 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15126 = load float, ptr %15125, align 4, !tbaa !14
  %15127 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %15128 = load float, ptr %15127, align 4, !tbaa !11
  %15129 = fmul float %15126, %15128
  %15130 = call float @llvm.fmuladd.f32(float %15122, float %15124, float %15129)
  %15131 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15130, ptr %15131, align 4, !tbaa !14
  %15132 = load ptr, ptr %15, align 8, !tbaa !5
  %15133 = load i64, ptr %22, align 8, !tbaa !9
  %15134 = getelementptr inbounds %struct.complex, ptr %15132, i64 %15133
  %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 %32, i32 0, i32 0
  %15138 = load float, ptr %15137, align 4, !tbaa !11
  %15139 = fsub float %15136, %15138
  %15140 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15139, ptr %15140, align 4, !tbaa !11
  %15141 = load ptr, ptr %15, align 8, !tbaa !5
  %15142 = load i64, ptr %22, align 8, !tbaa !9
  %15143 = getelementptr inbounds %struct.complex, ptr %15141, i64 %15142
  %15144 = getelementptr inbounds %struct.complex, ptr %15143, i32 0, i32 1
  %15145 = load float, ptr %15144, align 4, !tbaa !14
  %15146 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15147 = load float, ptr %15146, align 4, !tbaa !14
  %15148 = fsub float %15145, %15147
  %15149 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15148, ptr %15149, align 4, !tbaa !14
  %15150 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15151 = load float, ptr %15150, align 4, !tbaa !11
  %15152 = load ptr, ptr %15, align 8, !tbaa !5
  %15153 = load i64, ptr %21, align 8, !tbaa !9
  %15154 = getelementptr inbounds %struct.complex, ptr %15152, i64 %15153
  %15155 = getelementptr inbounds %struct.complex, ptr %15154, i32 0, i32 0
  store float %15151, ptr %15155, align 4, !tbaa !11
  %15156 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15157 = load float, ptr %15156, align 4, !tbaa !14
  %15158 = load ptr, ptr %15, align 8, !tbaa !5
  %15159 = load i64, ptr %21, align 8, !tbaa !9
  %15160 = getelementptr inbounds %struct.complex, ptr %15158, i64 %15159
  %15161 = getelementptr inbounds %struct.complex, ptr %15160, i32 0, i32 1
  store float %15157, ptr %15161, align 4, !tbaa !14
  %15162 = load i64, ptr %50, align 8, !tbaa !9
  %15163 = load i64, ptr %18, align 8, !tbaa !9
  %15164 = mul nsw i64 %15163, 3
  %15165 = add nsw i64 %15162, %15164
  store i64 %15165, ptr %21, align 8, !tbaa !9
  %15166 = load i64, ptr %50, align 8, !tbaa !9
  %15167 = load i64, ptr %18, align 8, !tbaa !9
  %15168 = mul nsw i64 %15167, 3
  %15169 = add nsw i64 %15166, %15168
  store i64 %15169, ptr %22, align 8, !tbaa !9
  %15170 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15171 = load float, ptr %15170, align 4, !tbaa !11
  %15172 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %15173 = load float, ptr %15172, align 4, !tbaa !11
  %15174 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15175 = load float, ptr %15174, align 4, !tbaa !14
  %15176 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %15177 = load float, ptr %15176, align 4, !tbaa !14
  %15178 = fmul float %15175, %15177
  %15179 = fneg float %15178
  %15180 = call float @llvm.fmuladd.f32(float %15171, float %15173, float %15179)
  %15181 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15180, ptr %15181, align 4, !tbaa !11
  %15182 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15183 = load float, ptr %15182, align 4, !tbaa !11
  %15184 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %15185 = load float, ptr %15184, align 4, !tbaa !14
  %15186 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15187 = load float, ptr %15186, align 4, !tbaa !14
  %15188 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %15189 = load float, ptr %15188, align 4, !tbaa !11
  %15190 = fmul float %15187, %15189
  %15191 = call float @llvm.fmuladd.f32(float %15183, float %15185, float %15190)
  %15192 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15191, ptr %15192, align 4, !tbaa !14
  %15193 = load ptr, ptr %15, align 8, !tbaa !5
  %15194 = load i64, ptr %22, align 8, !tbaa !9
  %15195 = getelementptr inbounds %struct.complex, ptr %15193, i64 %15194
  %15196 = getelementptr inbounds %struct.complex, ptr %15195, i32 0, i32 0
  %15197 = load float, ptr %15196, align 4, !tbaa !11
  %15198 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15199 = load float, ptr %15198, align 4, !tbaa !11
  %15200 = fsub float %15197, %15199
  %15201 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15200, ptr %15201, align 4, !tbaa !11
  %15202 = load ptr, ptr %15, align 8, !tbaa !5
  %15203 = load i64, ptr %22, align 8, !tbaa !9
  %15204 = getelementptr inbounds %struct.complex, ptr %15202, i64 %15203
  %15205 = getelementptr inbounds %struct.complex, ptr %15204, i32 0, i32 1
  %15206 = load float, ptr %15205, align 4, !tbaa !14
  %15207 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15208 = load float, ptr %15207, align 4, !tbaa !14
  %15209 = fsub float %15206, %15208
  %15210 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15209, ptr %15210, align 4, !tbaa !14
  %15211 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15212 = load float, ptr %15211, align 4, !tbaa !11
  %15213 = load ptr, ptr %15, align 8, !tbaa !5
  %15214 = load i64, ptr %21, align 8, !tbaa !9
  %15215 = getelementptr inbounds %struct.complex, ptr %15213, i64 %15214
  %15216 = getelementptr inbounds %struct.complex, ptr %15215, i32 0, i32 0
  store float %15212, ptr %15216, align 4, !tbaa !11
  %15217 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15218 = load float, ptr %15217, align 4, !tbaa !14
  %15219 = load ptr, ptr %15, align 8, !tbaa !5
  %15220 = load i64, ptr %21, align 8, !tbaa !9
  %15221 = getelementptr inbounds %struct.complex, ptr %15219, i64 %15220
  %15222 = getelementptr inbounds %struct.complex, ptr %15221, i32 0, i32 1
  store float %15218, ptr %15222, align 4, !tbaa !14
  %15223 = load i64, ptr %50, align 8, !tbaa !9
  %15224 = load i64, ptr %18, align 8, !tbaa !9
  %15225 = shl i64 %15224, 2
  %15226 = add nsw i64 %15223, %15225
  store i64 %15226, ptr %21, align 8, !tbaa !9
  %15227 = load i64, ptr %50, align 8, !tbaa !9
  %15228 = load i64, ptr %18, align 8, !tbaa !9
  %15229 = shl i64 %15228, 2
  %15230 = add nsw i64 %15227, %15229
  store i64 %15230, ptr %22, align 8, !tbaa !9
  %15231 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15232 = load float, ptr %15231, align 4, !tbaa !11
  %15233 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %15234 = load float, ptr %15233, align 4, !tbaa !11
  %15235 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15236 = load float, ptr %15235, align 4, !tbaa !14
  %15237 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %15238 = load float, ptr %15237, align 4, !tbaa !14
  %15239 = fmul float %15236, %15238
  %15240 = fneg float %15239
  %15241 = call float @llvm.fmuladd.f32(float %15232, float %15234, float %15240)
  %15242 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15241, ptr %15242, align 4, !tbaa !11
  %15243 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15244 = load float, ptr %15243, align 4, !tbaa !11
  %15245 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %15246 = load float, ptr %15245, align 4, !tbaa !14
  %15247 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15248 = load float, ptr %15247, align 4, !tbaa !14
  %15249 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %15250 = load float, ptr %15249, align 4, !tbaa !11
  %15251 = fmul float %15248, %15250
  %15252 = call float @llvm.fmuladd.f32(float %15244, float %15246, float %15251)
  %15253 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15252, ptr %15253, align 4, !tbaa !14
  %15254 = load ptr, ptr %15, align 8, !tbaa !5
  %15255 = load i64, ptr %22, align 8, !tbaa !9
  %15256 = getelementptr inbounds %struct.complex, ptr %15254, i64 %15255
  %15257 = getelementptr inbounds %struct.complex, ptr %15256, i32 0, i32 0
  %15258 = load float, ptr %15257, align 4, !tbaa !11
  %15259 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15260 = load float, ptr %15259, align 4, !tbaa !11
  %15261 = fsub float %15258, %15260
  %15262 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15261, ptr %15262, align 4, !tbaa !11
  %15263 = load ptr, ptr %15, align 8, !tbaa !5
  %15264 = load i64, ptr %22, align 8, !tbaa !9
  %15265 = getelementptr inbounds %struct.complex, ptr %15263, i64 %15264
  %15266 = getelementptr inbounds %struct.complex, ptr %15265, i32 0, i32 1
  %15267 = load float, ptr %15266, align 4, !tbaa !14
  %15268 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15269 = load float, ptr %15268, align 4, !tbaa !14
  %15270 = fsub float %15267, %15269
  %15271 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15270, ptr %15271, align 4, !tbaa !14
  %15272 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15273 = load float, ptr %15272, align 4, !tbaa !11
  %15274 = load ptr, ptr %15, align 8, !tbaa !5
  %15275 = load i64, ptr %21, align 8, !tbaa !9
  %15276 = getelementptr inbounds %struct.complex, ptr %15274, i64 %15275
  %15277 = getelementptr inbounds %struct.complex, ptr %15276, i32 0, i32 0
  store float %15273, ptr %15277, align 4, !tbaa !11
  %15278 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15279 = load float, ptr %15278, align 4, !tbaa !14
  %15280 = load ptr, ptr %15, align 8, !tbaa !5
  %15281 = load i64, ptr %21, align 8, !tbaa !9
  %15282 = getelementptr inbounds %struct.complex, ptr %15280, i64 %15281
  %15283 = getelementptr inbounds %struct.complex, ptr %15282, i32 0, i32 1
  store float %15279, ptr %15283, align 4, !tbaa !14
  %15284 = load i64, ptr %50, align 8, !tbaa !9
  %15285 = load i64, ptr %18, align 8, !tbaa !9
  %15286 = mul nsw i64 %15285, 5
  %15287 = add nsw i64 %15284, %15286
  store i64 %15287, ptr %21, align 8, !tbaa !9
  %15288 = load i64, ptr %50, align 8, !tbaa !9
  %15289 = load i64, ptr %18, align 8, !tbaa !9
  %15290 = mul nsw i64 %15289, 5
  %15291 = add nsw i64 %15288, %15290
  store i64 %15291, ptr %22, align 8, !tbaa !9
  %15292 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15293 = load float, ptr %15292, align 4, !tbaa !11
  %15294 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %15295 = load float, ptr %15294, align 4, !tbaa !11
  %15296 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15297 = load float, ptr %15296, align 4, !tbaa !14
  %15298 = getelementptr inbounds %struct.complex, ptr %55, 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 %15293, float %15295, float %15301)
  %15303 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15302, ptr %15303, align 4, !tbaa !11
  %15304 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15305 = load float, ptr %15304, align 4, !tbaa !11
  %15306 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %15307 = load float, ptr %15306, align 4, !tbaa !14
  %15308 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15309 = load float, ptr %15308, align 4, !tbaa !14
  %15310 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %15311 = load float, ptr %15310, align 4, !tbaa !11
  %15312 = fmul float %15309, %15311
  %15313 = call float @llvm.fmuladd.f32(float %15305, float %15307, float %15312)
  %15314 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15313, ptr %15314, align 4, !tbaa !14
  %15315 = load ptr, ptr %15, align 8, !tbaa !5
  %15316 = load i64, ptr %22, align 8, !tbaa !9
  %15317 = getelementptr inbounds %struct.complex, ptr %15315, i64 %15316
  %15318 = getelementptr inbounds %struct.complex, ptr %15317, i32 0, i32 0
  %15319 = load float, ptr %15318, align 4, !tbaa !11
  %15320 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15321 = load float, ptr %15320, align 4, !tbaa !11
  %15322 = fsub float %15319, %15321
  %15323 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15322, ptr %15323, align 4, !tbaa !11
  %15324 = load ptr, ptr %15, align 8, !tbaa !5
  %15325 = load i64, ptr %22, align 8, !tbaa !9
  %15326 = getelementptr inbounds %struct.complex, ptr %15324, i64 %15325
  %15327 = getelementptr inbounds %struct.complex, ptr %15326, i32 0, i32 1
  %15328 = load float, ptr %15327, align 4, !tbaa !14
  %15329 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15330 = load float, ptr %15329, align 4, !tbaa !14
  %15331 = fsub float %15328, %15330
  %15332 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15331, ptr %15332, align 4, !tbaa !14
  %15333 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15334 = load float, ptr %15333, align 4, !tbaa !11
  %15335 = load ptr, ptr %15, align 8, !tbaa !5
  %15336 = load i64, ptr %21, align 8, !tbaa !9
  %15337 = getelementptr inbounds %struct.complex, ptr %15335, i64 %15336
  %15338 = getelementptr inbounds %struct.complex, ptr %15337, i32 0, i32 0
  store float %15334, ptr %15338, align 4, !tbaa !11
  %15339 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15340 = load float, ptr %15339, align 4, !tbaa !14
  %15341 = load ptr, ptr %15, align 8, !tbaa !5
  %15342 = load i64, ptr %21, align 8, !tbaa !9
  %15343 = getelementptr inbounds %struct.complex, ptr %15341, i64 %15342
  %15344 = getelementptr inbounds %struct.complex, ptr %15343, i32 0, i32 1
  store float %15340, ptr %15344, align 4, !tbaa !14
  %15345 = load i64, ptr %50, align 8, !tbaa !9
  %15346 = load i64, ptr %18, align 8, !tbaa !9
  %15347 = mul nsw i64 %15346, 6
  %15348 = add nsw i64 %15345, %15347
  store i64 %15348, ptr %21, align 8, !tbaa !9
  %15349 = load i64, ptr %50, align 8, !tbaa !9
  %15350 = load i64, ptr %18, align 8, !tbaa !9
  %15351 = mul nsw i64 %15350, 6
  %15352 = add nsw i64 %15349, %15351
  store i64 %15352, ptr %22, align 8, !tbaa !9
  %15353 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15354 = load float, ptr %15353, align 4, !tbaa !11
  %15355 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %15356 = load float, ptr %15355, align 4, !tbaa !11
  %15357 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15358 = load float, ptr %15357, align 4, !tbaa !14
  %15359 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %15360 = load float, ptr %15359, align 4, !tbaa !14
  %15361 = fmul float %15358, %15360
  %15362 = fneg float %15361
  %15363 = call float @llvm.fmuladd.f32(float %15354, float %15356, float %15362)
  %15364 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15363, ptr %15364, align 4, !tbaa !11
  %15365 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15366 = load float, ptr %15365, align 4, !tbaa !11
  %15367 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %15368 = load float, ptr %15367, align 4, !tbaa !14
  %15369 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15370 = load float, ptr %15369, align 4, !tbaa !14
  %15371 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %15372 = load float, ptr %15371, align 4, !tbaa !11
  %15373 = fmul float %15370, %15372
  %15374 = call float @llvm.fmuladd.f32(float %15366, float %15368, float %15373)
  %15375 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15374, ptr %15375, align 4, !tbaa !14
  %15376 = load ptr, ptr %15, align 8, !tbaa !5
  %15377 = load i64, ptr %22, align 8, !tbaa !9
  %15378 = getelementptr inbounds %struct.complex, ptr %15376, i64 %15377
  %15379 = getelementptr inbounds %struct.complex, ptr %15378, i32 0, i32 0
  %15380 = load float, ptr %15379, align 4, !tbaa !11
  %15381 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15382 = load float, ptr %15381, align 4, !tbaa !11
  %15383 = fsub float %15380, %15382
  %15384 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15383, ptr %15384, align 4, !tbaa !11
  %15385 = load ptr, ptr %15, align 8, !tbaa !5
  %15386 = load i64, ptr %22, align 8, !tbaa !9
  %15387 = getelementptr inbounds %struct.complex, ptr %15385, i64 %15386
  %15388 = getelementptr inbounds %struct.complex, ptr %15387, i32 0, i32 1
  %15389 = load float, ptr %15388, align 4, !tbaa !14
  %15390 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15391 = load float, ptr %15390, align 4, !tbaa !14
  %15392 = fsub float %15389, %15391
  %15393 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15392, ptr %15393, align 4, !tbaa !14
  %15394 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15395 = load float, ptr %15394, align 4, !tbaa !11
  %15396 = load ptr, ptr %15, align 8, !tbaa !5
  %15397 = load i64, ptr %21, align 8, !tbaa !9
  %15398 = getelementptr inbounds %struct.complex, ptr %15396, i64 %15397
  %15399 = getelementptr inbounds %struct.complex, ptr %15398, i32 0, i32 0
  store float %15395, ptr %15399, align 4, !tbaa !11
  %15400 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15401 = load float, ptr %15400, align 4, !tbaa !14
  %15402 = load ptr, ptr %15, align 8, !tbaa !5
  %15403 = load i64, ptr %21, align 8, !tbaa !9
  %15404 = getelementptr inbounds %struct.complex, ptr %15402, i64 %15403
  %15405 = getelementptr inbounds %struct.complex, ptr %15404, i32 0, i32 1
  store float %15401, ptr %15405, align 4, !tbaa !14
  %15406 = load i64, ptr %50, align 8, !tbaa !9
  %15407 = load i64, ptr %18, align 8, !tbaa !9
  %15408 = mul nsw i64 %15407, 7
  %15409 = add nsw i64 %15406, %15408
  store i64 %15409, ptr %21, align 8, !tbaa !9
  %15410 = load i64, ptr %50, align 8, !tbaa !9
  %15411 = load i64, ptr %18, align 8, !tbaa !9
  %15412 = mul nsw i64 %15411, 7
  %15413 = add nsw i64 %15410, %15412
  store i64 %15413, ptr %22, align 8, !tbaa !9
  %15414 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15415 = load float, ptr %15414, align 4, !tbaa !11
  %15416 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %15417 = load float, ptr %15416, align 4, !tbaa !11
  %15418 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15419 = load float, ptr %15418, align 4, !tbaa !14
  %15420 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %15421 = load float, ptr %15420, align 4, !tbaa !14
  %15422 = fmul float %15419, %15421
  %15423 = fneg float %15422
  %15424 = call float @llvm.fmuladd.f32(float %15415, float %15417, float %15423)
  %15425 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15424, ptr %15425, align 4, !tbaa !11
  %15426 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15427 = load float, ptr %15426, align 4, !tbaa !11
  %15428 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %15429 = load float, ptr %15428, align 4, !tbaa !14
  %15430 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15431 = load float, ptr %15430, align 4, !tbaa !14
  %15432 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %15433 = load float, ptr %15432, align 4, !tbaa !11
  %15434 = fmul float %15431, %15433
  %15435 = call float @llvm.fmuladd.f32(float %15427, float %15429, float %15434)
  %15436 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15435, ptr %15436, align 4, !tbaa !14
  %15437 = load ptr, ptr %15, align 8, !tbaa !5
  %15438 = load i64, ptr %22, align 8, !tbaa !9
  %15439 = getelementptr inbounds %struct.complex, ptr %15437, i64 %15438
  %15440 = getelementptr inbounds %struct.complex, ptr %15439, i32 0, i32 0
  %15441 = load float, ptr %15440, align 4, !tbaa !11
  %15442 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15443 = load float, ptr %15442, align 4, !tbaa !11
  %15444 = fsub float %15441, %15443
  %15445 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15444, ptr %15445, align 4, !tbaa !11
  %15446 = load ptr, ptr %15, align 8, !tbaa !5
  %15447 = load i64, ptr %22, align 8, !tbaa !9
  %15448 = getelementptr inbounds %struct.complex, ptr %15446, i64 %15447
  %15449 = getelementptr inbounds %struct.complex, ptr %15448, i32 0, i32 1
  %15450 = load float, ptr %15449, align 4, !tbaa !14
  %15451 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15452 = load float, ptr %15451, align 4, !tbaa !14
  %15453 = fsub float %15450, %15452
  %15454 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15453, ptr %15454, align 4, !tbaa !14
  %15455 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15456 = load float, ptr %15455, align 4, !tbaa !11
  %15457 = load ptr, ptr %15, align 8, !tbaa !5
  %15458 = load i64, ptr %21, align 8, !tbaa !9
  %15459 = getelementptr inbounds %struct.complex, ptr %15457, i64 %15458
  %15460 = getelementptr inbounds %struct.complex, ptr %15459, i32 0, i32 0
  store float %15456, ptr %15460, align 4, !tbaa !11
  %15461 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15462 = load float, ptr %15461, align 4, !tbaa !14
  %15463 = load ptr, ptr %15, align 8, !tbaa !5
  %15464 = load i64, ptr %21, align 8, !tbaa !9
  %15465 = getelementptr inbounds %struct.complex, ptr %15463, i64 %15464
  %15466 = getelementptr inbounds %struct.complex, ptr %15465, i32 0, i32 1
  store float %15462, ptr %15466, align 4, !tbaa !14
  %15467 = load i64, ptr %50, align 8, !tbaa !9
  %15468 = load i64, ptr %18, align 8, !tbaa !9
  %15469 = shl i64 %15468, 3
  %15470 = add nsw i64 %15467, %15469
  store i64 %15470, ptr %21, align 8, !tbaa !9
  %15471 = load i64, ptr %50, align 8, !tbaa !9
  %15472 = load i64, ptr %18, align 8, !tbaa !9
  %15473 = shl i64 %15472, 3
  %15474 = add nsw i64 %15471, %15473
  store i64 %15474, ptr %22, align 8, !tbaa !9
  %15475 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15476 = load float, ptr %15475, align 4, !tbaa !11
  %15477 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %15478 = load float, ptr %15477, align 4, !tbaa !11
  %15479 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15480 = load float, ptr %15479, align 4, !tbaa !14
  %15481 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %15482 = load float, ptr %15481, align 4, !tbaa !14
  %15483 = fmul float %15480, %15482
  %15484 = fneg float %15483
  %15485 = call float @llvm.fmuladd.f32(float %15476, float %15478, float %15484)
  %15486 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15485, ptr %15486, align 4, !tbaa !11
  %15487 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15488 = load float, ptr %15487, align 4, !tbaa !11
  %15489 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %15490 = load float, ptr %15489, align 4, !tbaa !14
  %15491 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15492 = load float, ptr %15491, align 4, !tbaa !14
  %15493 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %15494 = load float, ptr %15493, align 4, !tbaa !11
  %15495 = fmul float %15492, %15494
  %15496 = call float @llvm.fmuladd.f32(float %15488, float %15490, float %15495)
  %15497 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15496, ptr %15497, align 4, !tbaa !14
  %15498 = load ptr, ptr %15, align 8, !tbaa !5
  %15499 = load i64, ptr %22, align 8, !tbaa !9
  %15500 = getelementptr inbounds %struct.complex, ptr %15498, i64 %15499
  %15501 = getelementptr inbounds %struct.complex, ptr %15500, i32 0, i32 0
  %15502 = load float, ptr %15501, align 4, !tbaa !11
  %15503 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15504 = load float, ptr %15503, align 4, !tbaa !11
  %15505 = fsub float %15502, %15504
  %15506 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15505, ptr %15506, align 4, !tbaa !11
  %15507 = load ptr, ptr %15, align 8, !tbaa !5
  %15508 = load i64, ptr %22, align 8, !tbaa !9
  %15509 = getelementptr inbounds %struct.complex, ptr %15507, i64 %15508
  %15510 = getelementptr inbounds %struct.complex, ptr %15509, i32 0, i32 1
  %15511 = load float, ptr %15510, align 4, !tbaa !14
  %15512 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15513 = load float, ptr %15512, align 4, !tbaa !14
  %15514 = fsub float %15511, %15513
  %15515 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15514, ptr %15515, align 4, !tbaa !14
  %15516 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15517 = load float, ptr %15516, align 4, !tbaa !11
  %15518 = load ptr, ptr %15, align 8, !tbaa !5
  %15519 = load i64, ptr %21, align 8, !tbaa !9
  %15520 = getelementptr inbounds %struct.complex, ptr %15518, i64 %15519
  %15521 = getelementptr inbounds %struct.complex, ptr %15520, i32 0, i32 0
  store float %15517, ptr %15521, align 4, !tbaa !11
  %15522 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15523 = load float, ptr %15522, align 4, !tbaa !14
  %15524 = load ptr, ptr %15, align 8, !tbaa !5
  %15525 = load i64, ptr %21, align 8, !tbaa !9
  %15526 = getelementptr inbounds %struct.complex, ptr %15524, i64 %15525
  %15527 = getelementptr inbounds %struct.complex, ptr %15526, i32 0, i32 1
  store float %15523, ptr %15527, align 4, !tbaa !14
  %15528 = load i64, ptr %50, align 8, !tbaa !9
  %15529 = load i64, ptr %18, align 8, !tbaa !9
  %15530 = mul nsw i64 %15529, 9
  %15531 = add nsw i64 %15528, %15530
  store i64 %15531, ptr %21, align 8, !tbaa !9
  %15532 = load i64, ptr %50, align 8, !tbaa !9
  %15533 = load i64, ptr %18, align 8, !tbaa !9
  %15534 = mul nsw i64 %15533, 9
  %15535 = add nsw i64 %15532, %15534
  store i64 %15535, ptr %22, align 8, !tbaa !9
  %15536 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15537 = load float, ptr %15536, align 4, !tbaa !11
  %15538 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %15539 = load float, ptr %15538, align 4, !tbaa !11
  %15540 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15541 = load float, ptr %15540, align 4, !tbaa !14
  %15542 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %15543 = load float, ptr %15542, align 4, !tbaa !14
  %15544 = fmul float %15541, %15543
  %15545 = fneg float %15544
  %15546 = call float @llvm.fmuladd.f32(float %15537, float %15539, float %15545)
  %15547 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %15546, ptr %15547, align 4, !tbaa !11
  %15548 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %15549 = load float, ptr %15548, align 4, !tbaa !11
  %15550 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %15551 = load float, ptr %15550, align 4, !tbaa !14
  %15552 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %15553 = load float, ptr %15552, align 4, !tbaa !14
  %15554 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %15555 = load float, ptr %15554, align 4, !tbaa !11
  %15556 = fmul float %15553, %15555
  %15557 = call float @llvm.fmuladd.f32(float %15549, float %15551, float %15556)
  %15558 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %15557, ptr %15558, align 4, !tbaa !14
  %15559 = load ptr, ptr %15, align 8, !tbaa !5
  %15560 = load i64, ptr %22, align 8, !tbaa !9
  %15561 = getelementptr inbounds %struct.complex, ptr %15559, i64 %15560
  %15562 = getelementptr inbounds %struct.complex, ptr %15561, i32 0, i32 0
  %15563 = load float, ptr %15562, align 4, !tbaa !11
  %15564 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15565 = load float, ptr %15564, align 4, !tbaa !11
  %15566 = fsub float %15563, %15565
  %15567 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15566, ptr %15567, align 4, !tbaa !11
  %15568 = load ptr, ptr %15, align 8, !tbaa !5
  %15569 = load i64, ptr %22, align 8, !tbaa !9
  %15570 = getelementptr inbounds %struct.complex, ptr %15568, i64 %15569
  %15571 = getelementptr inbounds %struct.complex, ptr %15570, i32 0, i32 1
  %15572 = load float, ptr %15571, align 4, !tbaa !14
  %15573 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15574 = load float, ptr %15573, align 4, !tbaa !14
  %15575 = fsub float %15572, %15574
  %15576 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15575, ptr %15576, align 4, !tbaa !14
  %15577 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15578 = load float, ptr %15577, align 4, !tbaa !11
  %15579 = load ptr, ptr %15, align 8, !tbaa !5
  %15580 = load i64, ptr %21, align 8, !tbaa !9
  %15581 = getelementptr inbounds %struct.complex, ptr %15579, i64 %15580
  %15582 = getelementptr inbounds %struct.complex, ptr %15581, i32 0, i32 0
  store float %15578, ptr %15582, align 4, !tbaa !11
  %15583 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15584 = load float, ptr %15583, align 4, !tbaa !14
  %15585 = load ptr, ptr %15, align 8, !tbaa !5
  %15586 = load i64, ptr %21, align 8, !tbaa !9
  %15587 = getelementptr inbounds %struct.complex, ptr %15585, i64 %15586
  %15588 = getelementptr inbounds %struct.complex, ptr %15587, i32 0, i32 1
  store float %15584, ptr %15588, align 4, !tbaa !14
  br label %15589

15589:                                            ; preds = %14589
  %15590 = load i64, ptr %50, align 8, !tbaa !9
  %15591 = add nsw i64 %15590, 1
  store i64 %15591, ptr %50, align 8, !tbaa !9
  br label %14585, !llvm.loop !34

15592:                                            ; preds = %14585
  br label %17146

15593:                                            ; preds = %8595
  %15594 = load ptr, ptr %13, align 8, !tbaa !5
  %15595 = getelementptr inbounds %struct.complex, ptr %15594, i64 1
  %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 %60, i32 0, i32 0
  store float %15597, ptr %15598, align 4, !tbaa !11
  %15599 = load ptr, ptr %13, align 8, !tbaa !5
  %15600 = getelementptr inbounds %struct.complex, ptr %15599, i64 1
  %15601 = getelementptr inbounds %struct.complex, ptr %15600, i32 0, i32 1
  %15602 = load float, ptr %15601, align 4, !tbaa !14
  %15603 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  store float %15602, ptr %15603, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %60)
  %15604 = load ptr, ptr %14, align 8, !tbaa !5
  %15605 = getelementptr inbounds %struct.complex, ptr %15604, i32 0, i32 0
  %15606 = load float, ptr %15605, align 4, !tbaa !11
  %15607 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15608 = load float, ptr %15607, align 4, !tbaa !11
  %15609 = load ptr, ptr %14, align 8, !tbaa !5
  %15610 = getelementptr inbounds %struct.complex, ptr %15609, i32 0, i32 1
  %15611 = load float, ptr %15610, align 4, !tbaa !14
  %15612 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15613 = load float, ptr %15612, align 4, !tbaa !14
  %15614 = fmul float %15611, %15613
  %15615 = fneg float %15614
  %15616 = call float @llvm.fmuladd.f32(float %15606, float %15608, float %15615)
  %15617 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15616, ptr %15617, align 4, !tbaa !11
  %15618 = load ptr, ptr %14, align 8, !tbaa !5
  %15619 = getelementptr inbounds %struct.complex, ptr %15618, i32 0, i32 0
  %15620 = load float, ptr %15619, align 4, !tbaa !11
  %15621 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15622 = load float, ptr %15621, align 4, !tbaa !14
  %15623 = load ptr, ptr %14, align 8, !tbaa !5
  %15624 = getelementptr inbounds %struct.complex, ptr %15623, i32 0, i32 1
  %15625 = load float, ptr %15624, align 4, !tbaa !14
  %15626 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15627 = load float, ptr %15626, align 4, !tbaa !11
  %15628 = fmul float %15625, %15627
  %15629 = call float @llvm.fmuladd.f32(float %15620, float %15622, float %15628)
  %15630 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15629, ptr %15630, align 4, !tbaa !14
  %15631 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15632 = load float, ptr %15631, align 4, !tbaa !11
  %15633 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  store float %15632, ptr %15633, align 4, !tbaa !11
  %15634 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15635 = load float, ptr %15634, align 4, !tbaa !14
  %15636 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  store float %15635, ptr %15636, align 4, !tbaa !14
  %15637 = load ptr, ptr %13, align 8, !tbaa !5
  %15638 = getelementptr inbounds %struct.complex, ptr %15637, i64 2
  %15639 = getelementptr inbounds %struct.complex, ptr %15638, i32 0, i32 0
  %15640 = load float, ptr %15639, align 4, !tbaa !11
  %15641 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  store float %15640, ptr %15641, align 4, !tbaa !11
  %15642 = load ptr, ptr %13, align 8, !tbaa !5
  %15643 = getelementptr inbounds %struct.complex, ptr %15642, i64 2
  %15644 = getelementptr inbounds %struct.complex, ptr %15643, i32 0, i32 1
  %15645 = load float, ptr %15644, align 4, !tbaa !14
  %15646 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  store float %15645, ptr %15646, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %61)
  %15647 = load ptr, ptr %14, align 8, !tbaa !5
  %15648 = getelementptr inbounds %struct.complex, ptr %15647, i32 0, i32 0
  %15649 = load float, ptr %15648, align 4, !tbaa !11
  %15650 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15651 = load float, ptr %15650, align 4, !tbaa !11
  %15652 = load ptr, ptr %14, align 8, !tbaa !5
  %15653 = getelementptr inbounds %struct.complex, ptr %15652, i32 0, i32 1
  %15654 = load float, ptr %15653, align 4, !tbaa !14
  %15655 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15656 = load float, ptr %15655, align 4, !tbaa !14
  %15657 = fmul float %15654, %15656
  %15658 = fneg float %15657
  %15659 = call float @llvm.fmuladd.f32(float %15649, float %15651, float %15658)
  %15660 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15659, ptr %15660, align 4, !tbaa !11
  %15661 = load ptr, ptr %14, align 8, !tbaa !5
  %15662 = getelementptr inbounds %struct.complex, ptr %15661, i32 0, i32 0
  %15663 = load float, ptr %15662, align 4, !tbaa !11
  %15664 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15665 = load float, ptr %15664, align 4, !tbaa !14
  %15666 = load ptr, ptr %14, align 8, !tbaa !5
  %15667 = getelementptr inbounds %struct.complex, ptr %15666, i32 0, i32 1
  %15668 = load float, ptr %15667, align 4, !tbaa !14
  %15669 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15670 = load float, ptr %15669, align 4, !tbaa !11
  %15671 = fmul float %15668, %15670
  %15672 = call float @llvm.fmuladd.f32(float %15663, float %15665, float %15671)
  %15673 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15672, ptr %15673, align 4, !tbaa !14
  %15674 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15675 = load float, ptr %15674, align 4, !tbaa !11
  %15676 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %15675, ptr %15676, align 4, !tbaa !11
  %15677 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15678 = load float, ptr %15677, align 4, !tbaa !14
  %15679 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %15678, ptr %15679, align 4, !tbaa !14
  %15680 = load ptr, ptr %13, align 8, !tbaa !5
  %15681 = getelementptr inbounds %struct.complex, ptr %15680, i64 3
  %15682 = getelementptr inbounds %struct.complex, ptr %15681, i32 0, i32 0
  %15683 = load float, ptr %15682, align 4, !tbaa !11
  %15684 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  store float %15683, ptr %15684, align 4, !tbaa !11
  %15685 = load ptr, ptr %13, align 8, !tbaa !5
  %15686 = getelementptr inbounds %struct.complex, ptr %15685, i64 3
  %15687 = getelementptr inbounds %struct.complex, ptr %15686, i32 0, i32 1
  %15688 = load float, ptr %15687, align 4, !tbaa !14
  %15689 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  store float %15688, ptr %15689, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %62)
  %15690 = load ptr, ptr %14, align 8, !tbaa !5
  %15691 = getelementptr inbounds %struct.complex, ptr %15690, i32 0, i32 0
  %15692 = load float, ptr %15691, align 4, !tbaa !11
  %15693 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15694 = load float, ptr %15693, align 4, !tbaa !11
  %15695 = load ptr, ptr %14, align 8, !tbaa !5
  %15696 = getelementptr inbounds %struct.complex, ptr %15695, i32 0, i32 1
  %15697 = load float, ptr %15696, align 4, !tbaa !14
  %15698 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15699 = load float, ptr %15698, align 4, !tbaa !14
  %15700 = fmul float %15697, %15699
  %15701 = fneg float %15700
  %15702 = call float @llvm.fmuladd.f32(float %15692, float %15694, float %15701)
  %15703 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15702, ptr %15703, align 4, !tbaa !11
  %15704 = load ptr, ptr %14, align 8, !tbaa !5
  %15705 = getelementptr inbounds %struct.complex, ptr %15704, i32 0, i32 0
  %15706 = load float, ptr %15705, align 4, !tbaa !11
  %15707 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15708 = load float, ptr %15707, align 4, !tbaa !14
  %15709 = load ptr, ptr %14, align 8, !tbaa !5
  %15710 = getelementptr inbounds %struct.complex, ptr %15709, i32 0, i32 1
  %15711 = load float, ptr %15710, align 4, !tbaa !14
  %15712 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15713 = load float, ptr %15712, align 4, !tbaa !11
  %15714 = fmul float %15711, %15713
  %15715 = call float @llvm.fmuladd.f32(float %15706, float %15708, float %15714)
  %15716 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15715, ptr %15716, align 4, !tbaa !14
  %15717 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15718 = load float, ptr %15717, align 4, !tbaa !11
  %15719 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  store float %15718, ptr %15719, align 4, !tbaa !11
  %15720 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15721 = load float, ptr %15720, align 4, !tbaa !14
  %15722 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  store float %15721, ptr %15722, align 4, !tbaa !14
  %15723 = load ptr, ptr %13, align 8, !tbaa !5
  %15724 = getelementptr inbounds %struct.complex, ptr %15723, i64 4
  %15725 = getelementptr inbounds %struct.complex, ptr %15724, i32 0, i32 0
  %15726 = load float, ptr %15725, align 4, !tbaa !11
  %15727 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  store float %15726, ptr %15727, align 4, !tbaa !11
  %15728 = load ptr, ptr %13, align 8, !tbaa !5
  %15729 = getelementptr inbounds %struct.complex, ptr %15728, i64 4
  %15730 = getelementptr inbounds %struct.complex, ptr %15729, i32 0, i32 1
  %15731 = load float, ptr %15730, align 4, !tbaa !14
  %15732 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  store float %15731, ptr %15732, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %63)
  %15733 = load ptr, ptr %14, align 8, !tbaa !5
  %15734 = getelementptr inbounds %struct.complex, ptr %15733, i32 0, i32 0
  %15735 = load float, ptr %15734, align 4, !tbaa !11
  %15736 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15737 = load float, ptr %15736, align 4, !tbaa !11
  %15738 = load ptr, ptr %14, align 8, !tbaa !5
  %15739 = getelementptr inbounds %struct.complex, ptr %15738, i32 0, i32 1
  %15740 = load float, ptr %15739, align 4, !tbaa !14
  %15741 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15742 = load float, ptr %15741, align 4, !tbaa !14
  %15743 = fmul float %15740, %15742
  %15744 = fneg float %15743
  %15745 = call float @llvm.fmuladd.f32(float %15735, float %15737, float %15744)
  %15746 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15745, ptr %15746, align 4, !tbaa !11
  %15747 = load ptr, ptr %14, align 8, !tbaa !5
  %15748 = getelementptr inbounds %struct.complex, ptr %15747, i32 0, i32 0
  %15749 = load float, ptr %15748, align 4, !tbaa !11
  %15750 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15751 = load float, ptr %15750, align 4, !tbaa !14
  %15752 = load ptr, ptr %14, align 8, !tbaa !5
  %15753 = getelementptr inbounds %struct.complex, ptr %15752, i32 0, i32 1
  %15754 = load float, ptr %15753, align 4, !tbaa !14
  %15755 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15756 = load float, ptr %15755, align 4, !tbaa !11
  %15757 = fmul float %15754, %15756
  %15758 = call float @llvm.fmuladd.f32(float %15749, float %15751, float %15757)
  %15759 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15758, ptr %15759, align 4, !tbaa !14
  %15760 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15761 = load float, ptr %15760, align 4, !tbaa !11
  %15762 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %15761, ptr %15762, align 4, !tbaa !11
  %15763 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15764 = load float, ptr %15763, align 4, !tbaa !14
  %15765 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %15764, ptr %15765, align 4, !tbaa !14
  %15766 = load ptr, ptr %13, align 8, !tbaa !5
  %15767 = getelementptr inbounds %struct.complex, ptr %15766, i64 5
  %15768 = getelementptr inbounds %struct.complex, ptr %15767, i32 0, i32 0
  %15769 = load float, ptr %15768, align 4, !tbaa !11
  %15770 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  store float %15769, ptr %15770, align 4, !tbaa !11
  %15771 = load ptr, ptr %13, align 8, !tbaa !5
  %15772 = getelementptr inbounds %struct.complex, ptr %15771, i64 5
  %15773 = getelementptr inbounds %struct.complex, ptr %15772, i32 0, i32 1
  %15774 = load float, ptr %15773, align 4, !tbaa !14
  %15775 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  store float %15774, ptr %15775, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %64)
  %15776 = load ptr, ptr %14, align 8, !tbaa !5
  %15777 = getelementptr inbounds %struct.complex, ptr %15776, i32 0, i32 0
  %15778 = load float, ptr %15777, align 4, !tbaa !11
  %15779 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15780 = load float, ptr %15779, align 4, !tbaa !11
  %15781 = load ptr, ptr %14, align 8, !tbaa !5
  %15782 = getelementptr inbounds %struct.complex, ptr %15781, i32 0, i32 1
  %15783 = load float, ptr %15782, align 4, !tbaa !14
  %15784 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15785 = load float, ptr %15784, align 4, !tbaa !14
  %15786 = fmul float %15783, %15785
  %15787 = fneg float %15786
  %15788 = call float @llvm.fmuladd.f32(float %15778, float %15780, float %15787)
  %15789 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15788, ptr %15789, align 4, !tbaa !11
  %15790 = load ptr, ptr %14, align 8, !tbaa !5
  %15791 = getelementptr inbounds %struct.complex, ptr %15790, i32 0, i32 0
  %15792 = load float, ptr %15791, align 4, !tbaa !11
  %15793 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15794 = load float, ptr %15793, align 4, !tbaa !14
  %15795 = load ptr, ptr %14, align 8, !tbaa !5
  %15796 = getelementptr inbounds %struct.complex, ptr %15795, i32 0, i32 1
  %15797 = load float, ptr %15796, align 4, !tbaa !14
  %15798 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15799 = load float, ptr %15798, align 4, !tbaa !11
  %15800 = fmul float %15797, %15799
  %15801 = call float @llvm.fmuladd.f32(float %15792, float %15794, float %15800)
  %15802 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15801, ptr %15802, align 4, !tbaa !14
  %15803 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15804 = load float, ptr %15803, align 4, !tbaa !11
  %15805 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  store float %15804, ptr %15805, align 4, !tbaa !11
  %15806 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15807 = load float, ptr %15806, align 4, !tbaa !14
  %15808 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  store float %15807, ptr %15808, align 4, !tbaa !14
  %15809 = load ptr, ptr %13, align 8, !tbaa !5
  %15810 = getelementptr inbounds %struct.complex, ptr %15809, i64 6
  %15811 = getelementptr inbounds %struct.complex, ptr %15810, i32 0, i32 0
  %15812 = load float, ptr %15811, align 4, !tbaa !11
  %15813 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %15812, ptr %15813, align 4, !tbaa !11
  %15814 = load ptr, ptr %13, align 8, !tbaa !5
  %15815 = getelementptr inbounds %struct.complex, ptr %15814, i64 6
  %15816 = getelementptr inbounds %struct.complex, ptr %15815, i32 0, i32 1
  %15817 = load float, ptr %15816, align 4, !tbaa !14
  %15818 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %15817, ptr %15818, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %65)
  %15819 = load ptr, ptr %14, align 8, !tbaa !5
  %15820 = getelementptr inbounds %struct.complex, ptr %15819, i32 0, i32 0
  %15821 = load float, ptr %15820, align 4, !tbaa !11
  %15822 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15823 = load float, ptr %15822, align 4, !tbaa !11
  %15824 = load ptr, ptr %14, align 8, !tbaa !5
  %15825 = getelementptr inbounds %struct.complex, ptr %15824, i32 0, i32 1
  %15826 = load float, ptr %15825, align 4, !tbaa !14
  %15827 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15828 = load float, ptr %15827, align 4, !tbaa !14
  %15829 = fmul float %15826, %15828
  %15830 = fneg float %15829
  %15831 = call float @llvm.fmuladd.f32(float %15821, float %15823, float %15830)
  %15832 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15831, ptr %15832, align 4, !tbaa !11
  %15833 = load ptr, ptr %14, align 8, !tbaa !5
  %15834 = getelementptr inbounds %struct.complex, ptr %15833, i32 0, i32 0
  %15835 = load float, ptr %15834, align 4, !tbaa !11
  %15836 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15837 = load float, ptr %15836, align 4, !tbaa !14
  %15838 = load ptr, ptr %14, align 8, !tbaa !5
  %15839 = getelementptr inbounds %struct.complex, ptr %15838, i32 0, i32 1
  %15840 = load float, ptr %15839, align 4, !tbaa !14
  %15841 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15842 = load float, ptr %15841, align 4, !tbaa !11
  %15843 = fmul float %15840, %15842
  %15844 = call float @llvm.fmuladd.f32(float %15835, float %15837, float %15843)
  %15845 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15844, ptr %15845, align 4, !tbaa !14
  %15846 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15847 = load float, ptr %15846, align 4, !tbaa !11
  %15848 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  store float %15847, ptr %15848, align 4, !tbaa !11
  %15849 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15850 = load float, ptr %15849, align 4, !tbaa !14
  %15851 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  store float %15850, ptr %15851, align 4, !tbaa !14
  %15852 = load ptr, ptr %13, align 8, !tbaa !5
  %15853 = getelementptr inbounds %struct.complex, ptr %15852, i64 7
  %15854 = getelementptr inbounds %struct.complex, ptr %15853, i32 0, i32 0
  %15855 = load float, ptr %15854, align 4, !tbaa !11
  %15856 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  store float %15855, ptr %15856, align 4, !tbaa !11
  %15857 = load ptr, ptr %13, align 8, !tbaa !5
  %15858 = getelementptr inbounds %struct.complex, ptr %15857, i64 7
  %15859 = getelementptr inbounds %struct.complex, ptr %15858, i32 0, i32 1
  %15860 = load float, ptr %15859, align 4, !tbaa !14
  %15861 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  store float %15860, ptr %15861, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %66)
  %15862 = load ptr, ptr %14, align 8, !tbaa !5
  %15863 = getelementptr inbounds %struct.complex, ptr %15862, i32 0, i32 0
  %15864 = load float, ptr %15863, align 4, !tbaa !11
  %15865 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15866 = load float, ptr %15865, align 4, !tbaa !11
  %15867 = load ptr, ptr %14, align 8, !tbaa !5
  %15868 = getelementptr inbounds %struct.complex, ptr %15867, i32 0, i32 1
  %15869 = load float, ptr %15868, align 4, !tbaa !14
  %15870 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15871 = load float, ptr %15870, align 4, !tbaa !14
  %15872 = fmul float %15869, %15871
  %15873 = fneg float %15872
  %15874 = call float @llvm.fmuladd.f32(float %15864, float %15866, float %15873)
  %15875 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15874, ptr %15875, align 4, !tbaa !11
  %15876 = load ptr, ptr %14, align 8, !tbaa !5
  %15877 = getelementptr inbounds %struct.complex, ptr %15876, i32 0, i32 0
  %15878 = load float, ptr %15877, align 4, !tbaa !11
  %15879 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15880 = load float, ptr %15879, align 4, !tbaa !14
  %15881 = load ptr, ptr %14, align 8, !tbaa !5
  %15882 = getelementptr inbounds %struct.complex, ptr %15881, i32 0, i32 1
  %15883 = load float, ptr %15882, align 4, !tbaa !14
  %15884 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15885 = load float, ptr %15884, align 4, !tbaa !11
  %15886 = fmul float %15883, %15885
  %15887 = call float @llvm.fmuladd.f32(float %15878, float %15880, float %15886)
  %15888 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15887, ptr %15888, align 4, !tbaa !14
  %15889 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15890 = load float, ptr %15889, align 4, !tbaa !11
  %15891 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  store float %15890, ptr %15891, align 4, !tbaa !11
  %15892 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15893 = load float, ptr %15892, align 4, !tbaa !14
  %15894 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  store float %15893, ptr %15894, align 4, !tbaa !14
  %15895 = load ptr, ptr %13, align 8, !tbaa !5
  %15896 = getelementptr inbounds %struct.complex, ptr %15895, i64 8
  %15897 = getelementptr inbounds %struct.complex, ptr %15896, i32 0, i32 0
  %15898 = load float, ptr %15897, align 4, !tbaa !11
  %15899 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  store float %15898, ptr %15899, align 4, !tbaa !11
  %15900 = load ptr, ptr %13, align 8, !tbaa !5
  %15901 = getelementptr inbounds %struct.complex, ptr %15900, i64 8
  %15902 = getelementptr inbounds %struct.complex, ptr %15901, i32 0, i32 1
  %15903 = load float, ptr %15902, align 4, !tbaa !14
  %15904 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  store float %15903, ptr %15904, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %67)
  %15905 = load ptr, ptr %14, align 8, !tbaa !5
  %15906 = getelementptr inbounds %struct.complex, ptr %15905, i32 0, i32 0
  %15907 = load float, ptr %15906, align 4, !tbaa !11
  %15908 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15909 = load float, ptr %15908, align 4, !tbaa !11
  %15910 = load ptr, ptr %14, align 8, !tbaa !5
  %15911 = getelementptr inbounds %struct.complex, ptr %15910, i32 0, i32 1
  %15912 = load float, ptr %15911, align 4, !tbaa !14
  %15913 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15914 = load float, ptr %15913, align 4, !tbaa !14
  %15915 = fmul float %15912, %15914
  %15916 = fneg float %15915
  %15917 = call float @llvm.fmuladd.f32(float %15907, float %15909, float %15916)
  %15918 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15917, ptr %15918, align 4, !tbaa !11
  %15919 = load ptr, ptr %14, align 8, !tbaa !5
  %15920 = getelementptr inbounds %struct.complex, ptr %15919, i32 0, i32 0
  %15921 = load float, ptr %15920, align 4, !tbaa !11
  %15922 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15923 = load float, ptr %15922, align 4, !tbaa !14
  %15924 = load ptr, ptr %14, align 8, !tbaa !5
  %15925 = getelementptr inbounds %struct.complex, ptr %15924, i32 0, i32 1
  %15926 = load float, ptr %15925, align 4, !tbaa !14
  %15927 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15928 = load float, ptr %15927, align 4, !tbaa !11
  %15929 = fmul float %15926, %15928
  %15930 = call float @llvm.fmuladd.f32(float %15921, float %15923, float %15929)
  %15931 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15930, ptr %15931, align 4, !tbaa !14
  %15932 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15933 = load float, ptr %15932, align 4, !tbaa !11
  %15934 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  store float %15933, ptr %15934, align 4, !tbaa !11
  %15935 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15936 = load float, ptr %15935, align 4, !tbaa !14
  %15937 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  store float %15936, ptr %15937, align 4, !tbaa !14
  %15938 = load ptr, ptr %13, align 8, !tbaa !5
  %15939 = getelementptr inbounds %struct.complex, ptr %15938, i64 9
  %15940 = getelementptr inbounds %struct.complex, ptr %15939, i32 0, i32 0
  %15941 = load float, ptr %15940, align 4, !tbaa !11
  %15942 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  store float %15941, ptr %15942, align 4, !tbaa !11
  %15943 = load ptr, ptr %13, align 8, !tbaa !5
  %15944 = getelementptr inbounds %struct.complex, ptr %15943, i64 9
  %15945 = getelementptr inbounds %struct.complex, ptr %15944, i32 0, i32 1
  %15946 = load float, ptr %15945, align 4, !tbaa !14
  %15947 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  store float %15946, ptr %15947, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %68)
  %15948 = load ptr, ptr %14, align 8, !tbaa !5
  %15949 = getelementptr inbounds %struct.complex, ptr %15948, i32 0, i32 0
  %15950 = load float, ptr %15949, align 4, !tbaa !11
  %15951 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15952 = load float, ptr %15951, align 4, !tbaa !11
  %15953 = load ptr, ptr %14, align 8, !tbaa !5
  %15954 = getelementptr inbounds %struct.complex, ptr %15953, i32 0, i32 1
  %15955 = load float, ptr %15954, align 4, !tbaa !14
  %15956 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15957 = load float, ptr %15956, align 4, !tbaa !14
  %15958 = fmul float %15955, %15957
  %15959 = fneg float %15958
  %15960 = call float @llvm.fmuladd.f32(float %15950, float %15952, float %15959)
  %15961 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %15960, ptr %15961, align 4, !tbaa !11
  %15962 = load ptr, ptr %14, align 8, !tbaa !5
  %15963 = getelementptr inbounds %struct.complex, ptr %15962, i32 0, i32 0
  %15964 = load float, ptr %15963, align 4, !tbaa !11
  %15965 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %15966 = load float, ptr %15965, align 4, !tbaa !14
  %15967 = load ptr, ptr %14, align 8, !tbaa !5
  %15968 = getelementptr inbounds %struct.complex, ptr %15967, i32 0, i32 1
  %15969 = load float, ptr %15968, align 4, !tbaa !14
  %15970 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15971 = load float, ptr %15970, align 4, !tbaa !11
  %15972 = fmul float %15969, %15971
  %15973 = call float @llvm.fmuladd.f32(float %15964, float %15966, float %15972)
  %15974 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %15973, ptr %15974, align 4, !tbaa !14
  %15975 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %15976 = load float, ptr %15975, align 4, !tbaa !11
  %15977 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  store float %15976, ptr %15977, align 4, !tbaa !11
  %15978 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %15979 = load float, ptr %15978, align 4, !tbaa !14
  %15980 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  store float %15979, ptr %15980, align 4, !tbaa !14
  %15981 = load ptr, ptr %13, align 8, !tbaa !5
  %15982 = getelementptr inbounds %struct.complex, ptr %15981, i64 10
  %15983 = getelementptr inbounds %struct.complex, ptr %15982, i32 0, i32 0
  %15984 = load float, ptr %15983, align 4, !tbaa !11
  %15985 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  store float %15984, ptr %15985, align 4, !tbaa !11
  %15986 = load ptr, ptr %13, align 8, !tbaa !5
  %15987 = getelementptr inbounds %struct.complex, ptr %15986, i64 10
  %15988 = getelementptr inbounds %struct.complex, ptr %15987, i32 0, i32 1
  %15989 = load float, ptr %15988, align 4, !tbaa !14
  %15990 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  store float %15989, ptr %15990, align 4, !tbaa !14
  call void @r_cnjg(ptr noundef %32, ptr noundef %70)
  %15991 = load ptr, ptr %14, align 8, !tbaa !5
  %15992 = getelementptr inbounds %struct.complex, ptr %15991, i32 0, i32 0
  %15993 = load float, ptr %15992, align 4, !tbaa !11
  %15994 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %15995 = load float, ptr %15994, align 4, !tbaa !11
  %15996 = load ptr, ptr %14, align 8, !tbaa !5
  %15997 = getelementptr inbounds %struct.complex, ptr %15996, i32 0, i32 1
  %15998 = load float, ptr %15997, align 4, !tbaa !14
  %15999 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16000 = load float, ptr %15999, align 4, !tbaa !14
  %16001 = fmul float %15998, %16000
  %16002 = fneg float %16001
  %16003 = call float @llvm.fmuladd.f32(float %15993, float %15995, float %16002)
  %16004 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16003, ptr %16004, align 4, !tbaa !11
  %16005 = load ptr, ptr %14, align 8, !tbaa !5
  %16006 = getelementptr inbounds %struct.complex, ptr %16005, i32 0, i32 0
  %16007 = load float, ptr %16006, align 4, !tbaa !11
  %16008 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16009 = load float, ptr %16008, align 4, !tbaa !14
  %16010 = load ptr, ptr %14, align 8, !tbaa !5
  %16011 = getelementptr inbounds %struct.complex, ptr %16010, i32 0, i32 1
  %16012 = load float, ptr %16011, align 4, !tbaa !14
  %16013 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16014 = load float, ptr %16013, align 4, !tbaa !11
  %16015 = fmul float %16012, %16014
  %16016 = call float @llvm.fmuladd.f32(float %16007, float %16009, float %16015)
  %16017 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16016, ptr %16017, align 4, !tbaa !14
  %16018 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16019 = load float, ptr %16018, align 4, !tbaa !11
  %16020 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  store float %16019, ptr %16020, align 4, !tbaa !11
  %16021 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16022 = load float, ptr %16021, align 4, !tbaa !14
  %16023 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  store float %16022, ptr %16023, align 4, !tbaa !14
  %16024 = load ptr, ptr %11, align 8, !tbaa !5
  %16025 = load i64, ptr %16024, align 8, !tbaa !9
  store i64 %16025, ptr %20, align 8, !tbaa !9
  store i64 1, ptr %50, align 8, !tbaa !9
  br label %16026

16026:                                            ; preds = %17142, %15593
  %16027 = load i64, ptr %50, align 8, !tbaa !9
  %16028 = load i64, ptr %20, align 8, !tbaa !9
  %16029 = icmp sle i64 %16027, %16028
  br i1 %16029, label %16030, label %17145

16030:                                            ; preds = %16026
  %16031 = load i64, ptr %50, align 8, !tbaa !9
  %16032 = load i64, ptr %18, align 8, !tbaa !9
  %16033 = add nsw i64 %16031, %16032
  store i64 %16033, ptr %21, align 8, !tbaa !9
  %16034 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %16035 = load float, ptr %16034, align 4, !tbaa !11
  %16036 = load ptr, ptr %15, align 8, !tbaa !5
  %16037 = load i64, ptr %21, align 8, !tbaa !9
  %16038 = getelementptr inbounds %struct.complex, ptr %16036, i64 %16037
  %16039 = getelementptr inbounds %struct.complex, ptr %16038, i32 0, i32 0
  %16040 = load float, ptr %16039, align 4, !tbaa !11
  %16041 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %16042 = load float, ptr %16041, align 4, !tbaa !14
  %16043 = load ptr, ptr %15, align 8, !tbaa !5
  %16044 = load i64, ptr %21, align 8, !tbaa !9
  %16045 = getelementptr inbounds %struct.complex, ptr %16043, i64 %16044
  %16046 = getelementptr inbounds %struct.complex, ptr %16045, i32 0, i32 1
  %16047 = load float, ptr %16046, align 4, !tbaa !14
  %16048 = fmul float %16042, %16047
  %16049 = fneg float %16048
  %16050 = call float @llvm.fmuladd.f32(float %16035, float %16040, float %16049)
  %16051 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  store float %16050, ptr %16051, align 4, !tbaa !11
  %16052 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 0
  %16053 = load float, ptr %16052, align 4, !tbaa !11
  %16054 = load ptr, ptr %15, align 8, !tbaa !5
  %16055 = load i64, ptr %21, align 8, !tbaa !9
  %16056 = getelementptr inbounds %struct.complex, ptr %16054, i64 %16055
  %16057 = getelementptr inbounds %struct.complex, ptr %16056, i32 0, i32 1
  %16058 = load float, ptr %16057, align 4, !tbaa !14
  %16059 = getelementptr inbounds %struct.complex, ptr %60, i32 0, i32 1
  %16060 = load float, ptr %16059, align 4, !tbaa !14
  %16061 = load ptr, ptr %15, align 8, !tbaa !5
  %16062 = load i64, ptr %21, align 8, !tbaa !9
  %16063 = getelementptr inbounds %struct.complex, ptr %16061, i64 %16062
  %16064 = getelementptr inbounds %struct.complex, ptr %16063, i32 0, i32 0
  %16065 = load float, ptr %16064, align 4, !tbaa !11
  %16066 = fmul float %16060, %16065
  %16067 = call float @llvm.fmuladd.f32(float %16053, float %16058, float %16066)
  %16068 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  store float %16067, ptr %16068, align 4, !tbaa !14
  %16069 = load i64, ptr %50, align 8, !tbaa !9
  %16070 = load i64, ptr %18, align 8, !tbaa !9
  %16071 = shl i64 %16070, 1
  %16072 = add nsw i64 %16069, %16071
  store i64 %16072, ptr %22, align 8, !tbaa !9
  %16073 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %16074 = load float, ptr %16073, align 4, !tbaa !11
  %16075 = load ptr, ptr %15, align 8, !tbaa !5
  %16076 = load i64, ptr %22, align 8, !tbaa !9
  %16077 = getelementptr inbounds %struct.complex, ptr %16075, i64 %16076
  %16078 = getelementptr inbounds %struct.complex, ptr %16077, i32 0, i32 0
  %16079 = load float, ptr %16078, align 4, !tbaa !11
  %16080 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %16081 = load float, ptr %16080, align 4, !tbaa !14
  %16082 = load ptr, ptr %15, align 8, !tbaa !5
  %16083 = load i64, ptr %22, align 8, !tbaa !9
  %16084 = getelementptr inbounds %struct.complex, ptr %16082, i64 %16083
  %16085 = getelementptr inbounds %struct.complex, ptr %16084, i32 0, i32 1
  %16086 = load float, ptr %16085, align 4, !tbaa !14
  %16087 = fmul float %16081, %16086
  %16088 = fneg float %16087
  %16089 = call float @llvm.fmuladd.f32(float %16074, float %16079, float %16088)
  %16090 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  store float %16089, ptr %16090, align 4, !tbaa !11
  %16091 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 0
  %16092 = load float, ptr %16091, align 4, !tbaa !11
  %16093 = load ptr, ptr %15, align 8, !tbaa !5
  %16094 = load i64, ptr %22, align 8, !tbaa !9
  %16095 = getelementptr inbounds %struct.complex, ptr %16093, i64 %16094
  %16096 = getelementptr inbounds %struct.complex, ptr %16095, i32 0, i32 1
  %16097 = load float, ptr %16096, align 4, !tbaa !14
  %16098 = getelementptr inbounds %struct.complex, ptr %61, i32 0, i32 1
  %16099 = load float, ptr %16098, align 4, !tbaa !14
  %16100 = load ptr, ptr %15, align 8, !tbaa !5
  %16101 = load i64, ptr %22, align 8, !tbaa !9
  %16102 = getelementptr inbounds %struct.complex, ptr %16100, i64 %16101
  %16103 = getelementptr inbounds %struct.complex, ptr %16102, i32 0, i32 0
  %16104 = load float, ptr %16103, align 4, !tbaa !11
  %16105 = fmul float %16099, %16104
  %16106 = call float @llvm.fmuladd.f32(float %16092, float %16097, float %16105)
  %16107 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  store float %16106, ptr %16107, align 4, !tbaa !14
  %16108 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 0
  %16109 = load float, ptr %16108, align 4, !tbaa !11
  %16110 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 0
  %16111 = load float, ptr %16110, align 4, !tbaa !11
  %16112 = fadd float %16109, %16111
  %16113 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  store float %16112, ptr %16113, align 4, !tbaa !11
  %16114 = getelementptr inbounds %struct.complex, ptr %40, i32 0, i32 1
  %16115 = load float, ptr %16114, align 4, !tbaa !14
  %16116 = getelementptr inbounds %struct.complex, ptr %41, i32 0, i32 1
  %16117 = load float, ptr %16116, align 4, !tbaa !14
  %16118 = fadd float %16115, %16117
  %16119 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  store float %16118, ptr %16119, align 4, !tbaa !14
  %16120 = load i64, ptr %50, align 8, !tbaa !9
  %16121 = load i64, ptr %18, align 8, !tbaa !9
  %16122 = mul nsw i64 %16121, 3
  %16123 = add nsw i64 %16120, %16122
  store i64 %16123, ptr %23, align 8, !tbaa !9
  %16124 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %16125 = load float, ptr %16124, align 4, !tbaa !11
  %16126 = load ptr, ptr %15, align 8, !tbaa !5
  %16127 = load i64, ptr %23, align 8, !tbaa !9
  %16128 = getelementptr inbounds %struct.complex, ptr %16126, i64 %16127
  %16129 = getelementptr inbounds %struct.complex, ptr %16128, i32 0, i32 0
  %16130 = load float, ptr %16129, align 4, !tbaa !11
  %16131 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %16132 = load float, ptr %16131, align 4, !tbaa !14
  %16133 = load ptr, ptr %15, align 8, !tbaa !5
  %16134 = load i64, ptr %23, align 8, !tbaa !9
  %16135 = getelementptr inbounds %struct.complex, ptr %16133, i64 %16134
  %16136 = getelementptr inbounds %struct.complex, ptr %16135, i32 0, i32 1
  %16137 = load float, ptr %16136, align 4, !tbaa !14
  %16138 = fmul float %16132, %16137
  %16139 = fneg float %16138
  %16140 = call float @llvm.fmuladd.f32(float %16125, float %16130, float %16139)
  %16141 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  store float %16140, ptr %16141, align 4, !tbaa !11
  %16142 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 0
  %16143 = load float, ptr %16142, align 4, !tbaa !11
  %16144 = load ptr, ptr %15, align 8, !tbaa !5
  %16145 = load i64, ptr %23, align 8, !tbaa !9
  %16146 = getelementptr inbounds %struct.complex, ptr %16144, i64 %16145
  %16147 = getelementptr inbounds %struct.complex, ptr %16146, i32 0, i32 1
  %16148 = load float, ptr %16147, align 4, !tbaa !14
  %16149 = getelementptr inbounds %struct.complex, ptr %62, i32 0, i32 1
  %16150 = load float, ptr %16149, align 4, !tbaa !14
  %16151 = load ptr, ptr %15, align 8, !tbaa !5
  %16152 = load i64, ptr %23, align 8, !tbaa !9
  %16153 = getelementptr inbounds %struct.complex, ptr %16151, i64 %16152
  %16154 = getelementptr inbounds %struct.complex, ptr %16153, i32 0, i32 0
  %16155 = load float, ptr %16154, align 4, !tbaa !11
  %16156 = fmul float %16150, %16155
  %16157 = call float @llvm.fmuladd.f32(float %16143, float %16148, float %16156)
  %16158 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  store float %16157, ptr %16158, align 4, !tbaa !14
  %16159 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %16160 = load float, ptr %16159, align 4, !tbaa !11
  %16161 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 0
  %16162 = load float, ptr %16161, align 4, !tbaa !11
  %16163 = fadd float %16160, %16162
  %16164 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %16163, ptr %16164, align 4, !tbaa !11
  %16165 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %16166 = load float, ptr %16165, align 4, !tbaa !14
  %16167 = getelementptr inbounds %struct.complex, ptr %42, i32 0, i32 1
  %16168 = load float, ptr %16167, align 4, !tbaa !14
  %16169 = fadd float %16166, %16168
  %16170 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %16169, ptr %16170, align 4, !tbaa !14
  %16171 = load i64, ptr %50, align 8, !tbaa !9
  %16172 = load i64, ptr %18, align 8, !tbaa !9
  %16173 = shl i64 %16172, 2
  %16174 = add nsw i64 %16171, %16173
  store i64 %16174, ptr %24, align 8, !tbaa !9
  %16175 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %16176 = load float, ptr %16175, align 4, !tbaa !11
  %16177 = load ptr, ptr %15, align 8, !tbaa !5
  %16178 = load i64, ptr %24, align 8, !tbaa !9
  %16179 = getelementptr inbounds %struct.complex, ptr %16177, i64 %16178
  %16180 = getelementptr inbounds %struct.complex, ptr %16179, i32 0, i32 0
  %16181 = load float, ptr %16180, align 4, !tbaa !11
  %16182 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %16183 = load float, ptr %16182, align 4, !tbaa !14
  %16184 = load ptr, ptr %15, align 8, !tbaa !5
  %16185 = load i64, ptr %24, align 8, !tbaa !9
  %16186 = getelementptr inbounds %struct.complex, ptr %16184, i64 %16185
  %16187 = getelementptr inbounds %struct.complex, ptr %16186, i32 0, i32 1
  %16188 = load float, ptr %16187, align 4, !tbaa !14
  %16189 = fmul float %16183, %16188
  %16190 = fneg float %16189
  %16191 = call float @llvm.fmuladd.f32(float %16176, float %16181, float %16190)
  %16192 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  store float %16191, ptr %16192, align 4, !tbaa !11
  %16193 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 0
  %16194 = load float, ptr %16193, align 4, !tbaa !11
  %16195 = load ptr, ptr %15, align 8, !tbaa !5
  %16196 = load i64, ptr %24, align 8, !tbaa !9
  %16197 = getelementptr inbounds %struct.complex, ptr %16195, i64 %16196
  %16198 = getelementptr inbounds %struct.complex, ptr %16197, i32 0, i32 1
  %16199 = load float, ptr %16198, align 4, !tbaa !14
  %16200 = getelementptr inbounds %struct.complex, ptr %63, i32 0, i32 1
  %16201 = load float, ptr %16200, align 4, !tbaa !14
  %16202 = load ptr, ptr %15, align 8, !tbaa !5
  %16203 = load i64, ptr %24, align 8, !tbaa !9
  %16204 = getelementptr inbounds %struct.complex, ptr %16202, i64 %16203
  %16205 = getelementptr inbounds %struct.complex, ptr %16204, i32 0, i32 0
  %16206 = load float, ptr %16205, align 4, !tbaa !11
  %16207 = fmul float %16201, %16206
  %16208 = call float @llvm.fmuladd.f32(float %16194, float %16199, float %16207)
  %16209 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  store float %16208, ptr %16209, align 4, !tbaa !14
  %16210 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %16211 = load float, ptr %16210, align 4, !tbaa !11
  %16212 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 0
  %16213 = load float, ptr %16212, align 4, !tbaa !11
  %16214 = fadd float %16211, %16213
  %16215 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %16214, ptr %16215, align 4, !tbaa !11
  %16216 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %16217 = load float, ptr %16216, align 4, !tbaa !14
  %16218 = getelementptr inbounds %struct.complex, ptr %43, i32 0, i32 1
  %16219 = load float, ptr %16218, align 4, !tbaa !14
  %16220 = fadd float %16217, %16219
  %16221 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %16220, ptr %16221, align 4, !tbaa !14
  %16222 = load i64, ptr %50, align 8, !tbaa !9
  %16223 = load i64, ptr %18, align 8, !tbaa !9
  %16224 = mul nsw i64 %16223, 5
  %16225 = add nsw i64 %16222, %16224
  store i64 %16225, ptr %25, align 8, !tbaa !9
  %16226 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %16227 = load float, ptr %16226, align 4, !tbaa !11
  %16228 = load ptr, ptr %15, align 8, !tbaa !5
  %16229 = load i64, ptr %25, align 8, !tbaa !9
  %16230 = getelementptr inbounds %struct.complex, ptr %16228, i64 %16229
  %16231 = getelementptr inbounds %struct.complex, ptr %16230, i32 0, i32 0
  %16232 = load float, ptr %16231, align 4, !tbaa !11
  %16233 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %16234 = load float, ptr %16233, align 4, !tbaa !14
  %16235 = load ptr, ptr %15, align 8, !tbaa !5
  %16236 = load i64, ptr %25, align 8, !tbaa !9
  %16237 = getelementptr inbounds %struct.complex, ptr %16235, i64 %16236
  %16238 = getelementptr inbounds %struct.complex, ptr %16237, i32 0, i32 1
  %16239 = load float, ptr %16238, align 4, !tbaa !14
  %16240 = fmul float %16234, %16239
  %16241 = fneg float %16240
  %16242 = call float @llvm.fmuladd.f32(float %16227, float %16232, float %16241)
  %16243 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  store float %16242, ptr %16243, align 4, !tbaa !11
  %16244 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 0
  %16245 = load float, ptr %16244, align 4, !tbaa !11
  %16246 = load ptr, ptr %15, align 8, !tbaa !5
  %16247 = load i64, ptr %25, align 8, !tbaa !9
  %16248 = getelementptr inbounds %struct.complex, ptr %16246, i64 %16247
  %16249 = getelementptr inbounds %struct.complex, ptr %16248, i32 0, i32 1
  %16250 = load float, ptr %16249, align 4, !tbaa !14
  %16251 = getelementptr inbounds %struct.complex, ptr %64, i32 0, i32 1
  %16252 = load float, ptr %16251, align 4, !tbaa !14
  %16253 = load ptr, ptr %15, align 8, !tbaa !5
  %16254 = load i64, ptr %25, align 8, !tbaa !9
  %16255 = getelementptr inbounds %struct.complex, ptr %16253, i64 %16254
  %16256 = getelementptr inbounds %struct.complex, ptr %16255, i32 0, i32 0
  %16257 = load float, ptr %16256, align 4, !tbaa !11
  %16258 = fmul float %16252, %16257
  %16259 = call float @llvm.fmuladd.f32(float %16245, float %16250, float %16258)
  %16260 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  store float %16259, ptr %16260, align 4, !tbaa !14
  %16261 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %16262 = load float, ptr %16261, align 4, !tbaa !11
  %16263 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 0
  %16264 = load float, ptr %16263, align 4, !tbaa !11
  %16265 = fadd float %16262, %16264
  %16266 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %16265, ptr %16266, align 4, !tbaa !11
  %16267 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %16268 = load float, ptr %16267, align 4, !tbaa !14
  %16269 = getelementptr inbounds %struct.complex, ptr %44, i32 0, i32 1
  %16270 = load float, ptr %16269, align 4, !tbaa !14
  %16271 = fadd float %16268, %16270
  %16272 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %16271, ptr %16272, align 4, !tbaa !14
  %16273 = load i64, ptr %50, align 8, !tbaa !9
  %16274 = load i64, ptr %18, align 8, !tbaa !9
  %16275 = mul nsw i64 %16274, 6
  %16276 = add nsw i64 %16273, %16275
  store i64 %16276, ptr %26, align 8, !tbaa !9
  %16277 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %16278 = load float, ptr %16277, align 4, !tbaa !11
  %16279 = load ptr, ptr %15, align 8, !tbaa !5
  %16280 = load i64, ptr %26, align 8, !tbaa !9
  %16281 = getelementptr inbounds %struct.complex, ptr %16279, i64 %16280
  %16282 = getelementptr inbounds %struct.complex, ptr %16281, i32 0, i32 0
  %16283 = load float, ptr %16282, align 4, !tbaa !11
  %16284 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %16285 = load float, ptr %16284, align 4, !tbaa !14
  %16286 = load ptr, ptr %15, align 8, !tbaa !5
  %16287 = load i64, ptr %26, align 8, !tbaa !9
  %16288 = getelementptr inbounds %struct.complex, ptr %16286, i64 %16287
  %16289 = getelementptr inbounds %struct.complex, ptr %16288, i32 0, i32 1
  %16290 = load float, ptr %16289, align 4, !tbaa !14
  %16291 = fmul float %16285, %16290
  %16292 = fneg float %16291
  %16293 = call float @llvm.fmuladd.f32(float %16278, float %16283, float %16292)
  %16294 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %16293, ptr %16294, align 4, !tbaa !11
  %16295 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %16296 = load float, ptr %16295, align 4, !tbaa !11
  %16297 = load ptr, ptr %15, align 8, !tbaa !5
  %16298 = load i64, ptr %26, align 8, !tbaa !9
  %16299 = getelementptr inbounds %struct.complex, ptr %16297, 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 %65, i32 0, i32 1
  %16303 = load float, ptr %16302, align 4, !tbaa !14
  %16304 = load ptr, ptr %15, align 8, !tbaa !5
  %16305 = load i64, ptr %26, align 8, !tbaa !9
  %16306 = getelementptr inbounds %struct.complex, ptr %16304, i64 %16305
  %16307 = getelementptr inbounds %struct.complex, ptr %16306, i32 0, i32 0
  %16308 = load float, ptr %16307, align 4, !tbaa !11
  %16309 = fmul float %16303, %16308
  %16310 = call float @llvm.fmuladd.f32(float %16296, float %16301, float %16309)
  %16311 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %16310, ptr %16311, align 4, !tbaa !14
  %16312 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %16313 = load float, ptr %16312, align 4, !tbaa !11
  %16314 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %16315 = load float, ptr %16314, align 4, !tbaa !11
  %16316 = fadd float %16313, %16315
  %16317 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  store float %16316, ptr %16317, align 4, !tbaa !11
  %16318 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %16319 = load float, ptr %16318, align 4, !tbaa !14
  %16320 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  %16321 = load float, ptr %16320, align 4, !tbaa !14
  %16322 = fadd float %16319, %16321
  %16323 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  store float %16322, ptr %16323, align 4, !tbaa !14
  %16324 = load i64, ptr %50, align 8, !tbaa !9
  %16325 = load i64, ptr %18, align 8, !tbaa !9
  %16326 = mul nsw i64 %16325, 7
  %16327 = add nsw i64 %16324, %16326
  store i64 %16327, ptr %27, align 8, !tbaa !9
  %16328 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %16329 = load float, ptr %16328, align 4, !tbaa !11
  %16330 = load ptr, ptr %15, align 8, !tbaa !5
  %16331 = load i64, ptr %27, align 8, !tbaa !9
  %16332 = getelementptr inbounds %struct.complex, ptr %16330, i64 %16331
  %16333 = getelementptr inbounds %struct.complex, ptr %16332, i32 0, i32 0
  %16334 = load float, ptr %16333, align 4, !tbaa !11
  %16335 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %16336 = load float, ptr %16335, align 4, !tbaa !14
  %16337 = load ptr, ptr %15, align 8, !tbaa !5
  %16338 = load i64, ptr %27, align 8, !tbaa !9
  %16339 = getelementptr inbounds %struct.complex, ptr %16337, i64 %16338
  %16340 = getelementptr inbounds %struct.complex, ptr %16339, i32 0, i32 1
  %16341 = load float, ptr %16340, align 4, !tbaa !14
  %16342 = fmul float %16336, %16341
  %16343 = fneg float %16342
  %16344 = call float @llvm.fmuladd.f32(float %16329, float %16334, float %16343)
  %16345 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  store float %16344, ptr %16345, align 4, !tbaa !11
  %16346 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 0
  %16347 = load float, ptr %16346, align 4, !tbaa !11
  %16348 = load ptr, ptr %15, align 8, !tbaa !5
  %16349 = load i64, ptr %27, align 8, !tbaa !9
  %16350 = getelementptr inbounds %struct.complex, ptr %16348, i64 %16349
  %16351 = getelementptr inbounds %struct.complex, ptr %16350, i32 0, i32 1
  %16352 = load float, ptr %16351, align 4, !tbaa !14
  %16353 = getelementptr inbounds %struct.complex, ptr %66, i32 0, i32 1
  %16354 = load float, ptr %16353, align 4, !tbaa !14
  %16355 = load ptr, ptr %15, align 8, !tbaa !5
  %16356 = load i64, ptr %27, align 8, !tbaa !9
  %16357 = getelementptr inbounds %struct.complex, ptr %16355, i64 %16356
  %16358 = getelementptr inbounds %struct.complex, ptr %16357, i32 0, i32 0
  %16359 = load float, ptr %16358, align 4, !tbaa !11
  %16360 = fmul float %16354, %16359
  %16361 = call float @llvm.fmuladd.f32(float %16347, float %16352, float %16360)
  %16362 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  store float %16361, ptr %16362, align 4, !tbaa !14
  %16363 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 0
  %16364 = load float, ptr %16363, align 4, !tbaa !11
  %16365 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 0
  %16366 = load float, ptr %16365, align 4, !tbaa !11
  %16367 = fadd float %16364, %16366
  %16368 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  store float %16367, ptr %16368, align 4, !tbaa !11
  %16369 = getelementptr inbounds %struct.complex, ptr %35, i32 0, i32 1
  %16370 = load float, ptr %16369, align 4, !tbaa !14
  %16371 = getelementptr inbounds %struct.complex, ptr %46, i32 0, i32 1
  %16372 = load float, ptr %16371, align 4, !tbaa !14
  %16373 = fadd float %16370, %16372
  %16374 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  store float %16373, ptr %16374, align 4, !tbaa !14
  %16375 = load i64, ptr %50, align 8, !tbaa !9
  %16376 = load i64, ptr %18, align 8, !tbaa !9
  %16377 = shl i64 %16376, 3
  %16378 = add nsw i64 %16375, %16377
  store i64 %16378, ptr %28, align 8, !tbaa !9
  %16379 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %16380 = load float, ptr %16379, align 4, !tbaa !11
  %16381 = load ptr, ptr %15, align 8, !tbaa !5
  %16382 = load i64, ptr %28, align 8, !tbaa !9
  %16383 = getelementptr inbounds %struct.complex, ptr %16381, i64 %16382
  %16384 = getelementptr inbounds %struct.complex, ptr %16383, i32 0, i32 0
  %16385 = load float, ptr %16384, align 4, !tbaa !11
  %16386 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %16387 = load float, ptr %16386, align 4, !tbaa !14
  %16388 = load ptr, ptr %15, align 8, !tbaa !5
  %16389 = load i64, ptr %28, align 8, !tbaa !9
  %16390 = getelementptr inbounds %struct.complex, ptr %16388, i64 %16389
  %16391 = getelementptr inbounds %struct.complex, ptr %16390, i32 0, i32 1
  %16392 = load float, ptr %16391, align 4, !tbaa !14
  %16393 = fmul float %16387, %16392
  %16394 = fneg float %16393
  %16395 = call float @llvm.fmuladd.f32(float %16380, float %16385, float %16394)
  %16396 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  store float %16395, ptr %16396, align 4, !tbaa !11
  %16397 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 0
  %16398 = load float, ptr %16397, align 4, !tbaa !11
  %16399 = load ptr, ptr %15, align 8, !tbaa !5
  %16400 = load i64, ptr %28, align 8, !tbaa !9
  %16401 = getelementptr inbounds %struct.complex, ptr %16399, i64 %16400
  %16402 = getelementptr inbounds %struct.complex, ptr %16401, i32 0, i32 1
  %16403 = load float, ptr %16402, align 4, !tbaa !14
  %16404 = getelementptr inbounds %struct.complex, ptr %67, i32 0, i32 1
  %16405 = load float, ptr %16404, align 4, !tbaa !14
  %16406 = load ptr, ptr %15, align 8, !tbaa !5
  %16407 = load i64, ptr %28, align 8, !tbaa !9
  %16408 = getelementptr inbounds %struct.complex, ptr %16406, i64 %16407
  %16409 = getelementptr inbounds %struct.complex, ptr %16408, i32 0, i32 0
  %16410 = load float, ptr %16409, align 4, !tbaa !11
  %16411 = fmul float %16405, %16410
  %16412 = call float @llvm.fmuladd.f32(float %16398, float %16403, float %16411)
  %16413 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  store float %16412, ptr %16413, align 4, !tbaa !14
  %16414 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 0
  %16415 = load float, ptr %16414, align 4, !tbaa !11
  %16416 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 0
  %16417 = load float, ptr %16416, align 4, !tbaa !11
  %16418 = fadd float %16415, %16417
  %16419 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  store float %16418, ptr %16419, align 4, !tbaa !11
  %16420 = getelementptr inbounds %struct.complex, ptr %34, i32 0, i32 1
  %16421 = load float, ptr %16420, align 4, !tbaa !14
  %16422 = getelementptr inbounds %struct.complex, ptr %47, i32 0, i32 1
  %16423 = load float, ptr %16422, align 4, !tbaa !14
  %16424 = fadd float %16421, %16423
  %16425 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  store float %16424, ptr %16425, align 4, !tbaa !14
  %16426 = load i64, ptr %50, align 8, !tbaa !9
  %16427 = load i64, ptr %18, align 8, !tbaa !9
  %16428 = mul nsw i64 %16427, 9
  %16429 = add nsw i64 %16426, %16428
  store i64 %16429, ptr %29, align 8, !tbaa !9
  %16430 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %16431 = load float, ptr %16430, align 4, !tbaa !11
  %16432 = load ptr, ptr %15, align 8, !tbaa !5
  %16433 = load i64, ptr %29, align 8, !tbaa !9
  %16434 = getelementptr inbounds %struct.complex, ptr %16432, i64 %16433
  %16435 = getelementptr inbounds %struct.complex, ptr %16434, i32 0, i32 0
  %16436 = load float, ptr %16435, align 4, !tbaa !11
  %16437 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %16438 = load float, ptr %16437, align 4, !tbaa !14
  %16439 = load ptr, ptr %15, align 8, !tbaa !5
  %16440 = load i64, ptr %29, align 8, !tbaa !9
  %16441 = getelementptr inbounds %struct.complex, ptr %16439, i64 %16440
  %16442 = getelementptr inbounds %struct.complex, ptr %16441, i32 0, i32 1
  %16443 = load float, ptr %16442, align 4, !tbaa !14
  %16444 = fmul float %16438, %16443
  %16445 = fneg float %16444
  %16446 = call float @llvm.fmuladd.f32(float %16431, float %16436, float %16445)
  %16447 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  store float %16446, ptr %16447, align 4, !tbaa !11
  %16448 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 0
  %16449 = load float, ptr %16448, align 4, !tbaa !11
  %16450 = load ptr, ptr %15, align 8, !tbaa !5
  %16451 = load i64, ptr %29, align 8, !tbaa !9
  %16452 = getelementptr inbounds %struct.complex, ptr %16450, i64 %16451
  %16453 = getelementptr inbounds %struct.complex, ptr %16452, i32 0, i32 1
  %16454 = load float, ptr %16453, align 4, !tbaa !14
  %16455 = getelementptr inbounds %struct.complex, ptr %68, i32 0, i32 1
  %16456 = load float, ptr %16455, align 4, !tbaa !14
  %16457 = load ptr, ptr %15, align 8, !tbaa !5
  %16458 = load i64, ptr %29, align 8, !tbaa !9
  %16459 = getelementptr inbounds %struct.complex, ptr %16457, i64 %16458
  %16460 = getelementptr inbounds %struct.complex, ptr %16459, i32 0, i32 0
  %16461 = load float, ptr %16460, align 4, !tbaa !11
  %16462 = fmul float %16456, %16461
  %16463 = call float @llvm.fmuladd.f32(float %16449, float %16454, float %16462)
  %16464 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  store float %16463, ptr %16464, align 4, !tbaa !14
  %16465 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 0
  %16466 = load float, ptr %16465, align 4, !tbaa !11
  %16467 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 0
  %16468 = load float, ptr %16467, align 4, !tbaa !11
  %16469 = fadd float %16466, %16468
  %16470 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16469, ptr %16470, align 4, !tbaa !11
  %16471 = getelementptr inbounds %struct.complex, ptr %33, i32 0, i32 1
  %16472 = load float, ptr %16471, align 4, !tbaa !14
  %16473 = getelementptr inbounds %struct.complex, ptr %48, i32 0, i32 1
  %16474 = load float, ptr %16473, align 4, !tbaa !14
  %16475 = fadd float %16472, %16474
  %16476 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16475, ptr %16476, align 4, !tbaa !14
  %16477 = load i64, ptr %50, align 8, !tbaa !9
  %16478 = load i64, ptr %18, align 8, !tbaa !9
  %16479 = mul nsw i64 %16478, 10
  %16480 = add nsw i64 %16477, %16479
  store i64 %16480, ptr %30, align 8, !tbaa !9
  %16481 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16482 = load float, ptr %16481, align 4, !tbaa !11
  %16483 = load ptr, ptr %15, align 8, !tbaa !5
  %16484 = load i64, ptr %30, align 8, !tbaa !9
  %16485 = getelementptr inbounds %struct.complex, ptr %16483, i64 %16484
  %16486 = getelementptr inbounds %struct.complex, ptr %16485, i32 0, i32 0
  %16487 = load float, ptr %16486, align 4, !tbaa !11
  %16488 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16489 = load float, ptr %16488, align 4, !tbaa !14
  %16490 = load ptr, ptr %15, align 8, !tbaa !5
  %16491 = load i64, ptr %30, align 8, !tbaa !9
  %16492 = getelementptr inbounds %struct.complex, ptr %16490, i64 %16491
  %16493 = getelementptr inbounds %struct.complex, ptr %16492, i32 0, i32 1
  %16494 = load float, ptr %16493, align 4, !tbaa !14
  %16495 = fmul float %16489, %16494
  %16496 = fneg float %16495
  %16497 = call float @llvm.fmuladd.f32(float %16482, float %16487, float %16496)
  %16498 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 0
  store float %16497, ptr %16498, align 4, !tbaa !11
  %16499 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 0
  %16500 = load float, ptr %16499, align 4, !tbaa !11
  %16501 = load ptr, ptr %15, align 8, !tbaa !5
  %16502 = load i64, ptr %30, align 8, !tbaa !9
  %16503 = getelementptr inbounds %struct.complex, ptr %16501, i64 %16502
  %16504 = getelementptr inbounds %struct.complex, ptr %16503, i32 0, i32 1
  %16505 = load float, ptr %16504, align 4, !tbaa !14
  %16506 = getelementptr inbounds %struct.complex, ptr %70, i32 0, i32 1
  %16507 = load float, ptr %16506, align 4, !tbaa !14
  %16508 = load ptr, ptr %15, align 8, !tbaa !5
  %16509 = load i64, ptr %30, align 8, !tbaa !9
  %16510 = getelementptr inbounds %struct.complex, ptr %16508, i64 %16509
  %16511 = getelementptr inbounds %struct.complex, ptr %16510, i32 0, i32 0
  %16512 = load float, ptr %16511, align 4, !tbaa !11
  %16513 = fmul float %16507, %16512
  %16514 = call float @llvm.fmuladd.f32(float %16500, float %16505, float %16513)
  %16515 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 1
  store float %16514, ptr %16515, align 4, !tbaa !14
  %16516 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16517 = load float, ptr %16516, align 4, !tbaa !11
  %16518 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 0
  %16519 = load float, ptr %16518, align 4, !tbaa !11
  %16520 = fadd float %16517, %16519
  %16521 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16520, ptr %16521, align 4, !tbaa !11
  %16522 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16523 = load float, ptr %16522, align 4, !tbaa !14
  %16524 = getelementptr inbounds %struct.complex, ptr %49, i32 0, i32 1
  %16525 = load float, ptr %16524, align 4, !tbaa !14
  %16526 = fadd float %16523, %16525
  %16527 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16526, ptr %16527, align 4, !tbaa !14
  %16528 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16529 = load float, ptr %16528, align 4, !tbaa !11
  %16530 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  store float %16529, ptr %16530, align 4, !tbaa !11
  %16531 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16532 = load float, ptr %16531, align 4, !tbaa !14
  %16533 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  store float %16532, ptr %16533, align 4, !tbaa !14
  %16534 = load i64, ptr %50, align 8, !tbaa !9
  %16535 = load i64, ptr %18, align 8, !tbaa !9
  %16536 = add nsw i64 %16534, %16535
  store i64 %16536, ptr %21, align 8, !tbaa !9
  %16537 = load i64, ptr %50, align 8, !tbaa !9
  %16538 = load i64, ptr %18, align 8, !tbaa !9
  %16539 = add nsw i64 %16537, %16538
  store i64 %16539, ptr %22, align 8, !tbaa !9
  %16540 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16541 = load float, ptr %16540, align 4, !tbaa !11
  %16542 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %16543 = load float, ptr %16542, align 4, !tbaa !11
  %16544 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16545 = load float, ptr %16544, align 4, !tbaa !14
  %16546 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %16547 = load float, ptr %16546, align 4, !tbaa !14
  %16548 = fmul float %16545, %16547
  %16549 = fneg float %16548
  %16550 = call float @llvm.fmuladd.f32(float %16541, float %16543, float %16549)
  %16551 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16550, ptr %16551, align 4, !tbaa !11
  %16552 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16553 = load float, ptr %16552, align 4, !tbaa !11
  %16554 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 1
  %16555 = load float, ptr %16554, align 4, !tbaa !14
  %16556 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16557 = load float, ptr %16556, align 4, !tbaa !14
  %16558 = getelementptr inbounds %struct.complex, ptr %51, i32 0, i32 0
  %16559 = load float, ptr %16558, align 4, !tbaa !11
  %16560 = fmul float %16557, %16559
  %16561 = call float @llvm.fmuladd.f32(float %16553, float %16555, float %16560)
  %16562 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16561, ptr %16562, align 4, !tbaa !14
  %16563 = load ptr, ptr %15, align 8, !tbaa !5
  %16564 = load i64, ptr %22, align 8, !tbaa !9
  %16565 = getelementptr inbounds %struct.complex, ptr %16563, i64 %16564
  %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 %32, i32 0, i32 0
  %16569 = load float, ptr %16568, align 4, !tbaa !11
  %16570 = fsub float %16567, %16569
  %16571 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16570, ptr %16571, align 4, !tbaa !11
  %16572 = load ptr, ptr %15, align 8, !tbaa !5
  %16573 = load i64, ptr %22, align 8, !tbaa !9
  %16574 = getelementptr inbounds %struct.complex, ptr %16572, i64 %16573
  %16575 = getelementptr inbounds %struct.complex, ptr %16574, i32 0, i32 1
  %16576 = load float, ptr %16575, align 4, !tbaa !14
  %16577 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16578 = load float, ptr %16577, align 4, !tbaa !14
  %16579 = fsub float %16576, %16578
  %16580 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16579, ptr %16580, align 4, !tbaa !14
  %16581 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16582 = load float, ptr %16581, align 4, !tbaa !11
  %16583 = load ptr, ptr %15, align 8, !tbaa !5
  %16584 = load i64, ptr %21, align 8, !tbaa !9
  %16585 = getelementptr inbounds %struct.complex, ptr %16583, i64 %16584
  %16586 = getelementptr inbounds %struct.complex, ptr %16585, i32 0, i32 0
  store float %16582, ptr %16586, align 4, !tbaa !11
  %16587 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16588 = load float, ptr %16587, align 4, !tbaa !14
  %16589 = load ptr, ptr %15, align 8, !tbaa !5
  %16590 = load i64, ptr %21, align 8, !tbaa !9
  %16591 = getelementptr inbounds %struct.complex, ptr %16589, i64 %16590
  %16592 = getelementptr inbounds %struct.complex, ptr %16591, i32 0, i32 1
  store float %16588, ptr %16592, align 4, !tbaa !14
  %16593 = load i64, ptr %50, align 8, !tbaa !9
  %16594 = load i64, ptr %18, align 8, !tbaa !9
  %16595 = shl i64 %16594, 1
  %16596 = add nsw i64 %16593, %16595
  store i64 %16596, ptr %21, align 8, !tbaa !9
  %16597 = load i64, ptr %50, align 8, !tbaa !9
  %16598 = load i64, ptr %18, align 8, !tbaa !9
  %16599 = shl i64 %16598, 1
  %16600 = add nsw i64 %16597, %16599
  store i64 %16600, ptr %22, align 8, !tbaa !9
  %16601 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16602 = load float, ptr %16601, align 4, !tbaa !11
  %16603 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %16604 = load float, ptr %16603, align 4, !tbaa !11
  %16605 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16606 = load float, ptr %16605, align 4, !tbaa !14
  %16607 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %16608 = load float, ptr %16607, align 4, !tbaa !14
  %16609 = fmul float %16606, %16608
  %16610 = fneg float %16609
  %16611 = call float @llvm.fmuladd.f32(float %16602, float %16604, float %16610)
  %16612 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16611, ptr %16612, align 4, !tbaa !11
  %16613 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16614 = load float, ptr %16613, align 4, !tbaa !11
  %16615 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %16616 = load float, ptr %16615, align 4, !tbaa !14
  %16617 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16618 = load float, ptr %16617, align 4, !tbaa !14
  %16619 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %16620 = load float, ptr %16619, align 4, !tbaa !11
  %16621 = fmul float %16618, %16620
  %16622 = call float @llvm.fmuladd.f32(float %16614, float %16616, float %16621)
  %16623 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16622, ptr %16623, align 4, !tbaa !14
  %16624 = load ptr, ptr %15, align 8, !tbaa !5
  %16625 = load i64, ptr %22, align 8, !tbaa !9
  %16626 = getelementptr inbounds %struct.complex, ptr %16624, i64 %16625
  %16627 = getelementptr inbounds %struct.complex, ptr %16626, i32 0, i32 0
  %16628 = load float, ptr %16627, align 4, !tbaa !11
  %16629 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16630 = load float, ptr %16629, align 4, !tbaa !11
  %16631 = fsub float %16628, %16630
  %16632 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16631, ptr %16632, align 4, !tbaa !11
  %16633 = load ptr, ptr %15, align 8, !tbaa !5
  %16634 = load i64, ptr %22, align 8, !tbaa !9
  %16635 = getelementptr inbounds %struct.complex, ptr %16633, i64 %16634
  %16636 = getelementptr inbounds %struct.complex, ptr %16635, i32 0, i32 1
  %16637 = load float, ptr %16636, align 4, !tbaa !14
  %16638 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16639 = load float, ptr %16638, align 4, !tbaa !14
  %16640 = fsub float %16637, %16639
  %16641 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16640, ptr %16641, align 4, !tbaa !14
  %16642 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16643 = load float, ptr %16642, align 4, !tbaa !11
  %16644 = load ptr, ptr %15, align 8, !tbaa !5
  %16645 = load i64, ptr %21, align 8, !tbaa !9
  %16646 = getelementptr inbounds %struct.complex, ptr %16644, i64 %16645
  %16647 = getelementptr inbounds %struct.complex, ptr %16646, i32 0, i32 0
  store float %16643, ptr %16647, align 4, !tbaa !11
  %16648 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16649 = load float, ptr %16648, align 4, !tbaa !14
  %16650 = load ptr, ptr %15, align 8, !tbaa !5
  %16651 = load i64, ptr %21, align 8, !tbaa !9
  %16652 = getelementptr inbounds %struct.complex, ptr %16650, i64 %16651
  %16653 = getelementptr inbounds %struct.complex, ptr %16652, i32 0, i32 1
  store float %16649, ptr %16653, align 4, !tbaa !14
  %16654 = load i64, ptr %50, align 8, !tbaa !9
  %16655 = load i64, ptr %18, align 8, !tbaa !9
  %16656 = mul nsw i64 %16655, 3
  %16657 = add nsw i64 %16654, %16656
  store i64 %16657, ptr %21, align 8, !tbaa !9
  %16658 = load i64, ptr %50, align 8, !tbaa !9
  %16659 = load i64, ptr %18, align 8, !tbaa !9
  %16660 = mul nsw i64 %16659, 3
  %16661 = add nsw i64 %16658, %16660
  store i64 %16661, ptr %22, align 8, !tbaa !9
  %16662 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16663 = load float, ptr %16662, align 4, !tbaa !11
  %16664 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %16665 = load float, ptr %16664, align 4, !tbaa !11
  %16666 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16667 = load float, ptr %16666, align 4, !tbaa !14
  %16668 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %16669 = load float, ptr %16668, align 4, !tbaa !14
  %16670 = fmul float %16667, %16669
  %16671 = fneg float %16670
  %16672 = call float @llvm.fmuladd.f32(float %16663, float %16665, float %16671)
  %16673 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16672, ptr %16673, align 4, !tbaa !11
  %16674 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16675 = load float, ptr %16674, align 4, !tbaa !11
  %16676 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 1
  %16677 = load float, ptr %16676, align 4, !tbaa !14
  %16678 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16679 = load float, ptr %16678, align 4, !tbaa !14
  %16680 = getelementptr inbounds %struct.complex, ptr %53, i32 0, i32 0
  %16681 = load float, ptr %16680, align 4, !tbaa !11
  %16682 = fmul float %16679, %16681
  %16683 = call float @llvm.fmuladd.f32(float %16675, float %16677, float %16682)
  %16684 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16683, ptr %16684, align 4, !tbaa !14
  %16685 = load ptr, ptr %15, align 8, !tbaa !5
  %16686 = load i64, ptr %22, align 8, !tbaa !9
  %16687 = getelementptr inbounds %struct.complex, ptr %16685, i64 %16686
  %16688 = getelementptr inbounds %struct.complex, ptr %16687, i32 0, i32 0
  %16689 = load float, ptr %16688, align 4, !tbaa !11
  %16690 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16691 = load float, ptr %16690, align 4, !tbaa !11
  %16692 = fsub float %16689, %16691
  %16693 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16692, ptr %16693, align 4, !tbaa !11
  %16694 = load ptr, ptr %15, align 8, !tbaa !5
  %16695 = load i64, ptr %22, align 8, !tbaa !9
  %16696 = getelementptr inbounds %struct.complex, ptr %16694, i64 %16695
  %16697 = getelementptr inbounds %struct.complex, ptr %16696, i32 0, i32 1
  %16698 = load float, ptr %16697, align 4, !tbaa !14
  %16699 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16700 = load float, ptr %16699, align 4, !tbaa !14
  %16701 = fsub float %16698, %16700
  %16702 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16701, ptr %16702, align 4, !tbaa !14
  %16703 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16704 = load float, ptr %16703, align 4, !tbaa !11
  %16705 = load ptr, ptr %15, align 8, !tbaa !5
  %16706 = load i64, ptr %21, align 8, !tbaa !9
  %16707 = getelementptr inbounds %struct.complex, ptr %16705, i64 %16706
  %16708 = getelementptr inbounds %struct.complex, ptr %16707, i32 0, i32 0
  store float %16704, ptr %16708, align 4, !tbaa !11
  %16709 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16710 = load float, ptr %16709, align 4, !tbaa !14
  %16711 = load ptr, ptr %15, align 8, !tbaa !5
  %16712 = load i64, ptr %21, align 8, !tbaa !9
  %16713 = getelementptr inbounds %struct.complex, ptr %16711, i64 %16712
  %16714 = getelementptr inbounds %struct.complex, ptr %16713, i32 0, i32 1
  store float %16710, ptr %16714, align 4, !tbaa !14
  %16715 = load i64, ptr %50, align 8, !tbaa !9
  %16716 = load i64, ptr %18, align 8, !tbaa !9
  %16717 = shl i64 %16716, 2
  %16718 = add nsw i64 %16715, %16717
  store i64 %16718, ptr %21, align 8, !tbaa !9
  %16719 = load i64, ptr %50, align 8, !tbaa !9
  %16720 = load i64, ptr %18, align 8, !tbaa !9
  %16721 = shl i64 %16720, 2
  %16722 = add nsw i64 %16719, %16721
  store i64 %16722, ptr %22, align 8, !tbaa !9
  %16723 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16724 = load float, ptr %16723, align 4, !tbaa !11
  %16725 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %16726 = load float, ptr %16725, align 4, !tbaa !11
  %16727 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16728 = load float, ptr %16727, align 4, !tbaa !14
  %16729 = getelementptr inbounds %struct.complex, ptr %54, 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 %16724, float %16726, float %16732)
  %16734 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16733, ptr %16734, align 4, !tbaa !11
  %16735 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16736 = load float, ptr %16735, align 4, !tbaa !11
  %16737 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %16738 = load float, ptr %16737, align 4, !tbaa !14
  %16739 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16740 = load float, ptr %16739, align 4, !tbaa !14
  %16741 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %16742 = load float, ptr %16741, align 4, !tbaa !11
  %16743 = fmul float %16740, %16742
  %16744 = call float @llvm.fmuladd.f32(float %16736, float %16738, float %16743)
  %16745 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16744, ptr %16745, align 4, !tbaa !14
  %16746 = load ptr, ptr %15, align 8, !tbaa !5
  %16747 = load i64, ptr %22, align 8, !tbaa !9
  %16748 = getelementptr inbounds %struct.complex, ptr %16746, i64 %16747
  %16749 = getelementptr inbounds %struct.complex, ptr %16748, i32 0, i32 0
  %16750 = load float, ptr %16749, align 4, !tbaa !11
  %16751 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16752 = load float, ptr %16751, align 4, !tbaa !11
  %16753 = fsub float %16750, %16752
  %16754 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16753, ptr %16754, align 4, !tbaa !11
  %16755 = load ptr, ptr %15, align 8, !tbaa !5
  %16756 = load i64, ptr %22, align 8, !tbaa !9
  %16757 = getelementptr inbounds %struct.complex, ptr %16755, i64 %16756
  %16758 = getelementptr inbounds %struct.complex, ptr %16757, i32 0, i32 1
  %16759 = load float, ptr %16758, align 4, !tbaa !14
  %16760 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16761 = load float, ptr %16760, align 4, !tbaa !14
  %16762 = fsub float %16759, %16761
  %16763 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16762, ptr %16763, align 4, !tbaa !14
  %16764 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16765 = load float, ptr %16764, align 4, !tbaa !11
  %16766 = load ptr, ptr %15, align 8, !tbaa !5
  %16767 = load i64, ptr %21, align 8, !tbaa !9
  %16768 = getelementptr inbounds %struct.complex, ptr %16766, i64 %16767
  %16769 = getelementptr inbounds %struct.complex, ptr %16768, i32 0, i32 0
  store float %16765, ptr %16769, align 4, !tbaa !11
  %16770 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16771 = load float, ptr %16770, align 4, !tbaa !14
  %16772 = load ptr, ptr %15, align 8, !tbaa !5
  %16773 = load i64, ptr %21, align 8, !tbaa !9
  %16774 = getelementptr inbounds %struct.complex, ptr %16772, i64 %16773
  %16775 = getelementptr inbounds %struct.complex, ptr %16774, i32 0, i32 1
  store float %16771, ptr %16775, align 4, !tbaa !14
  %16776 = load i64, ptr %50, align 8, !tbaa !9
  %16777 = load i64, ptr %18, align 8, !tbaa !9
  %16778 = mul nsw i64 %16777, 5
  %16779 = add nsw i64 %16776, %16778
  store i64 %16779, ptr %21, align 8, !tbaa !9
  %16780 = load i64, ptr %50, align 8, !tbaa !9
  %16781 = load i64, ptr %18, align 8, !tbaa !9
  %16782 = mul nsw i64 %16781, 5
  %16783 = add nsw i64 %16780, %16782
  store i64 %16783, ptr %22, align 8, !tbaa !9
  %16784 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16785 = load float, ptr %16784, align 4, !tbaa !11
  %16786 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %16787 = load float, ptr %16786, align 4, !tbaa !11
  %16788 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16789 = load float, ptr %16788, align 4, !tbaa !14
  %16790 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %16791 = load float, ptr %16790, align 4, !tbaa !14
  %16792 = fmul float %16789, %16791
  %16793 = fneg float %16792
  %16794 = call float @llvm.fmuladd.f32(float %16785, float %16787, float %16793)
  %16795 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16794, ptr %16795, align 4, !tbaa !11
  %16796 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16797 = load float, ptr %16796, align 4, !tbaa !11
  %16798 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 1
  %16799 = load float, ptr %16798, align 4, !tbaa !14
  %16800 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16801 = load float, ptr %16800, align 4, !tbaa !14
  %16802 = getelementptr inbounds %struct.complex, ptr %55, i32 0, i32 0
  %16803 = load float, ptr %16802, align 4, !tbaa !11
  %16804 = fmul float %16801, %16803
  %16805 = call float @llvm.fmuladd.f32(float %16797, float %16799, float %16804)
  %16806 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16805, ptr %16806, align 4, !tbaa !14
  %16807 = load ptr, ptr %15, align 8, !tbaa !5
  %16808 = load i64, ptr %22, align 8, !tbaa !9
  %16809 = getelementptr inbounds %struct.complex, ptr %16807, i64 %16808
  %16810 = getelementptr inbounds %struct.complex, ptr %16809, i32 0, i32 0
  %16811 = load float, ptr %16810, align 4, !tbaa !11
  %16812 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16813 = load float, ptr %16812, align 4, !tbaa !11
  %16814 = fsub float %16811, %16813
  %16815 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16814, ptr %16815, align 4, !tbaa !11
  %16816 = load ptr, ptr %15, align 8, !tbaa !5
  %16817 = load i64, ptr %22, align 8, !tbaa !9
  %16818 = getelementptr inbounds %struct.complex, ptr %16816, i64 %16817
  %16819 = getelementptr inbounds %struct.complex, ptr %16818, i32 0, i32 1
  %16820 = load float, ptr %16819, align 4, !tbaa !14
  %16821 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16822 = load float, ptr %16821, align 4, !tbaa !14
  %16823 = fsub float %16820, %16822
  %16824 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16823, ptr %16824, align 4, !tbaa !14
  %16825 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16826 = load float, ptr %16825, align 4, !tbaa !11
  %16827 = load ptr, ptr %15, align 8, !tbaa !5
  %16828 = load i64, ptr %21, align 8, !tbaa !9
  %16829 = getelementptr inbounds %struct.complex, ptr %16827, i64 %16828
  %16830 = getelementptr inbounds %struct.complex, ptr %16829, i32 0, i32 0
  store float %16826, ptr %16830, align 4, !tbaa !11
  %16831 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16832 = load float, ptr %16831, align 4, !tbaa !14
  %16833 = load ptr, ptr %15, align 8, !tbaa !5
  %16834 = load i64, ptr %21, align 8, !tbaa !9
  %16835 = getelementptr inbounds %struct.complex, ptr %16833, i64 %16834
  %16836 = getelementptr inbounds %struct.complex, ptr %16835, i32 0, i32 1
  store float %16832, ptr %16836, align 4, !tbaa !14
  %16837 = load i64, ptr %50, align 8, !tbaa !9
  %16838 = load i64, ptr %18, align 8, !tbaa !9
  %16839 = mul nsw i64 %16838, 6
  %16840 = add nsw i64 %16837, %16839
  store i64 %16840, ptr %21, align 8, !tbaa !9
  %16841 = load i64, ptr %50, align 8, !tbaa !9
  %16842 = load i64, ptr %18, align 8, !tbaa !9
  %16843 = mul nsw i64 %16842, 6
  %16844 = add nsw i64 %16841, %16843
  store i64 %16844, ptr %22, align 8, !tbaa !9
  %16845 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16846 = load float, ptr %16845, align 4, !tbaa !11
  %16847 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %16848 = load float, ptr %16847, align 4, !tbaa !11
  %16849 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16850 = load float, ptr %16849, align 4, !tbaa !14
  %16851 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %16852 = load float, ptr %16851, align 4, !tbaa !14
  %16853 = fmul float %16850, %16852
  %16854 = fneg float %16853
  %16855 = call float @llvm.fmuladd.f32(float %16846, float %16848, float %16854)
  %16856 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16855, ptr %16856, align 4, !tbaa !11
  %16857 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16858 = load float, ptr %16857, align 4, !tbaa !11
  %16859 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 1
  %16860 = load float, ptr %16859, align 4, !tbaa !14
  %16861 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16862 = load float, ptr %16861, align 4, !tbaa !14
  %16863 = getelementptr inbounds %struct.complex, ptr %56, i32 0, i32 0
  %16864 = load float, ptr %16863, align 4, !tbaa !11
  %16865 = fmul float %16862, %16864
  %16866 = call float @llvm.fmuladd.f32(float %16858, float %16860, float %16865)
  %16867 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16866, ptr %16867, align 4, !tbaa !14
  %16868 = load ptr, ptr %15, align 8, !tbaa !5
  %16869 = load i64, ptr %22, align 8, !tbaa !9
  %16870 = getelementptr inbounds %struct.complex, ptr %16868, i64 %16869
  %16871 = getelementptr inbounds %struct.complex, ptr %16870, i32 0, i32 0
  %16872 = load float, ptr %16871, align 4, !tbaa !11
  %16873 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16874 = load float, ptr %16873, align 4, !tbaa !11
  %16875 = fsub float %16872, %16874
  %16876 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16875, ptr %16876, align 4, !tbaa !11
  %16877 = load ptr, ptr %15, align 8, !tbaa !5
  %16878 = load i64, ptr %22, align 8, !tbaa !9
  %16879 = getelementptr inbounds %struct.complex, ptr %16877, i64 %16878
  %16880 = getelementptr inbounds %struct.complex, ptr %16879, i32 0, i32 1
  %16881 = load float, ptr %16880, align 4, !tbaa !14
  %16882 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16883 = load float, ptr %16882, align 4, !tbaa !14
  %16884 = fsub float %16881, %16883
  %16885 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16884, ptr %16885, align 4, !tbaa !14
  %16886 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16887 = load float, ptr %16886, align 4, !tbaa !11
  %16888 = load ptr, ptr %15, align 8, !tbaa !5
  %16889 = load i64, ptr %21, align 8, !tbaa !9
  %16890 = getelementptr inbounds %struct.complex, ptr %16888, i64 %16889
  %16891 = getelementptr inbounds %struct.complex, ptr %16890, i32 0, i32 0
  store float %16887, ptr %16891, align 4, !tbaa !11
  %16892 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16893 = load float, ptr %16892, align 4, !tbaa !14
  %16894 = load ptr, ptr %15, align 8, !tbaa !5
  %16895 = load i64, ptr %21, align 8, !tbaa !9
  %16896 = getelementptr inbounds %struct.complex, ptr %16894, i64 %16895
  %16897 = getelementptr inbounds %struct.complex, ptr %16896, i32 0, i32 1
  store float %16893, ptr %16897, align 4, !tbaa !14
  %16898 = load i64, ptr %50, align 8, !tbaa !9
  %16899 = load i64, ptr %18, align 8, !tbaa !9
  %16900 = mul nsw i64 %16899, 7
  %16901 = add nsw i64 %16898, %16900
  store i64 %16901, ptr %21, align 8, !tbaa !9
  %16902 = load i64, ptr %50, align 8, !tbaa !9
  %16903 = load i64, ptr %18, align 8, !tbaa !9
  %16904 = mul nsw i64 %16903, 7
  %16905 = add nsw i64 %16902, %16904
  store i64 %16905, ptr %22, align 8, !tbaa !9
  %16906 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16907 = load float, ptr %16906, align 4, !tbaa !11
  %16908 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %16909 = load float, ptr %16908, align 4, !tbaa !11
  %16910 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16911 = load float, ptr %16910, align 4, !tbaa !14
  %16912 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %16913 = load float, ptr %16912, align 4, !tbaa !14
  %16914 = fmul float %16911, %16913
  %16915 = fneg float %16914
  %16916 = call float @llvm.fmuladd.f32(float %16907, float %16909, float %16915)
  %16917 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16916, ptr %16917, align 4, !tbaa !11
  %16918 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16919 = load float, ptr %16918, align 4, !tbaa !11
  %16920 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 1
  %16921 = load float, ptr %16920, align 4, !tbaa !14
  %16922 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16923 = load float, ptr %16922, align 4, !tbaa !14
  %16924 = getelementptr inbounds %struct.complex, ptr %57, i32 0, i32 0
  %16925 = load float, ptr %16924, align 4, !tbaa !11
  %16926 = fmul float %16923, %16925
  %16927 = call float @llvm.fmuladd.f32(float %16919, float %16921, float %16926)
  %16928 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16927, ptr %16928, align 4, !tbaa !14
  %16929 = load ptr, ptr %15, align 8, !tbaa !5
  %16930 = load i64, ptr %22, align 8, !tbaa !9
  %16931 = getelementptr inbounds %struct.complex, ptr %16929, i64 %16930
  %16932 = getelementptr inbounds %struct.complex, ptr %16931, i32 0, i32 0
  %16933 = load float, ptr %16932, align 4, !tbaa !11
  %16934 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16935 = load float, ptr %16934, align 4, !tbaa !11
  %16936 = fsub float %16933, %16935
  %16937 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16936, ptr %16937, align 4, !tbaa !11
  %16938 = load ptr, ptr %15, align 8, !tbaa !5
  %16939 = load i64, ptr %22, align 8, !tbaa !9
  %16940 = getelementptr inbounds %struct.complex, ptr %16938, i64 %16939
  %16941 = getelementptr inbounds %struct.complex, ptr %16940, i32 0, i32 1
  %16942 = load float, ptr %16941, align 4, !tbaa !14
  %16943 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %16944 = load float, ptr %16943, align 4, !tbaa !14
  %16945 = fsub float %16942, %16944
  %16946 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %16945, ptr %16946, align 4, !tbaa !14
  %16947 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %16948 = load float, ptr %16947, align 4, !tbaa !11
  %16949 = load ptr, ptr %15, align 8, !tbaa !5
  %16950 = load i64, ptr %21, align 8, !tbaa !9
  %16951 = getelementptr inbounds %struct.complex, ptr %16949, i64 %16950
  %16952 = getelementptr inbounds %struct.complex, ptr %16951, i32 0, i32 0
  store float %16948, ptr %16952, align 4, !tbaa !11
  %16953 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %16954 = load float, ptr %16953, align 4, !tbaa !14
  %16955 = load ptr, ptr %15, align 8, !tbaa !5
  %16956 = load i64, ptr %21, align 8, !tbaa !9
  %16957 = getelementptr inbounds %struct.complex, ptr %16955, i64 %16956
  %16958 = getelementptr inbounds %struct.complex, ptr %16957, i32 0, i32 1
  store float %16954, ptr %16958, align 4, !tbaa !14
  %16959 = load i64, ptr %50, align 8, !tbaa !9
  %16960 = load i64, ptr %18, align 8, !tbaa !9
  %16961 = shl i64 %16960, 3
  %16962 = add nsw i64 %16959, %16961
  store i64 %16962, ptr %21, align 8, !tbaa !9
  %16963 = load i64, ptr %50, align 8, !tbaa !9
  %16964 = load i64, ptr %18, align 8, !tbaa !9
  %16965 = shl i64 %16964, 3
  %16966 = add nsw i64 %16963, %16965
  store i64 %16966, ptr %22, align 8, !tbaa !9
  %16967 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16968 = load float, ptr %16967, align 4, !tbaa !11
  %16969 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %16970 = load float, ptr %16969, align 4, !tbaa !11
  %16971 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16972 = load float, ptr %16971, align 4, !tbaa !14
  %16973 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %16974 = load float, ptr %16973, align 4, !tbaa !14
  %16975 = fmul float %16972, %16974
  %16976 = fneg float %16975
  %16977 = call float @llvm.fmuladd.f32(float %16968, float %16970, float %16976)
  %16978 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %16977, ptr %16978, align 4, !tbaa !11
  %16979 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %16980 = load float, ptr %16979, align 4, !tbaa !11
  %16981 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 1
  %16982 = load float, ptr %16981, align 4, !tbaa !14
  %16983 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %16984 = load float, ptr %16983, align 4, !tbaa !14
  %16985 = getelementptr inbounds %struct.complex, ptr %58, i32 0, i32 0
  %16986 = load float, ptr %16985, align 4, !tbaa !11
  %16987 = fmul float %16984, %16986
  %16988 = call float @llvm.fmuladd.f32(float %16980, float %16982, float %16987)
  %16989 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %16988, ptr %16989, align 4, !tbaa !14
  %16990 = load ptr, ptr %15, align 8, !tbaa !5
  %16991 = load i64, ptr %22, align 8, !tbaa !9
  %16992 = getelementptr inbounds %struct.complex, ptr %16990, i64 %16991
  %16993 = getelementptr inbounds %struct.complex, ptr %16992, i32 0, i32 0
  %16994 = load float, ptr %16993, align 4, !tbaa !11
  %16995 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %16996 = load float, ptr %16995, align 4, !tbaa !11
  %16997 = fsub float %16994, %16996
  %16998 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %16997, ptr %16998, align 4, !tbaa !11
  %16999 = load ptr, ptr %15, align 8, !tbaa !5
  %17000 = load i64, ptr %22, align 8, !tbaa !9
  %17001 = getelementptr inbounds %struct.complex, ptr %16999, i64 %17000
  %17002 = getelementptr inbounds %struct.complex, ptr %17001, i32 0, i32 1
  %17003 = load float, ptr %17002, align 4, !tbaa !14
  %17004 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %17005 = load float, ptr %17004, align 4, !tbaa !14
  %17006 = fsub float %17003, %17005
  %17007 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17006, ptr %17007, align 4, !tbaa !14
  %17008 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17009 = load float, ptr %17008, align 4, !tbaa !11
  %17010 = load ptr, ptr %15, align 8, !tbaa !5
  %17011 = load i64, ptr %21, align 8, !tbaa !9
  %17012 = getelementptr inbounds %struct.complex, ptr %17010, i64 %17011
  %17013 = getelementptr inbounds %struct.complex, ptr %17012, i32 0, i32 0
  store float %17009, ptr %17013, align 4, !tbaa !11
  %17014 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17015 = load float, ptr %17014, align 4, !tbaa !14
  %17016 = load ptr, ptr %15, align 8, !tbaa !5
  %17017 = load i64, ptr %21, align 8, !tbaa !9
  %17018 = getelementptr inbounds %struct.complex, ptr %17016, i64 %17017
  %17019 = getelementptr inbounds %struct.complex, ptr %17018, i32 0, i32 1
  store float %17015, ptr %17019, align 4, !tbaa !14
  %17020 = load i64, ptr %50, align 8, !tbaa !9
  %17021 = load i64, ptr %18, align 8, !tbaa !9
  %17022 = mul nsw i64 %17021, 9
  %17023 = add nsw i64 %17020, %17022
  store i64 %17023, ptr %21, align 8, !tbaa !9
  %17024 = load i64, ptr %50, align 8, !tbaa !9
  %17025 = load i64, ptr %18, align 8, !tbaa !9
  %17026 = mul nsw i64 %17025, 9
  %17027 = add nsw i64 %17024, %17026
  store i64 %17027, ptr %22, align 8, !tbaa !9
  %17028 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %17029 = load float, ptr %17028, align 4, !tbaa !11
  %17030 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %17031 = load float, ptr %17030, align 4, !tbaa !11
  %17032 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %17033 = load float, ptr %17032, align 4, !tbaa !14
  %17034 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %17035 = load float, ptr %17034, align 4, !tbaa !14
  %17036 = fmul float %17033, %17035
  %17037 = fneg float %17036
  %17038 = call float @llvm.fmuladd.f32(float %17029, float %17031, float %17037)
  %17039 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %17038, ptr %17039, align 4, !tbaa !11
  %17040 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %17041 = load float, ptr %17040, align 4, !tbaa !11
  %17042 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 1
  %17043 = load float, ptr %17042, align 4, !tbaa !14
  %17044 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %17045 = load float, ptr %17044, align 4, !tbaa !14
  %17046 = getelementptr inbounds %struct.complex, ptr %59, i32 0, i32 0
  %17047 = load float, ptr %17046, align 4, !tbaa !11
  %17048 = fmul float %17045, %17047
  %17049 = call float @llvm.fmuladd.f32(float %17041, float %17043, float %17048)
  %17050 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %17049, ptr %17050, align 4, !tbaa !14
  %17051 = load ptr, ptr %15, align 8, !tbaa !5
  %17052 = load i64, ptr %22, align 8, !tbaa !9
  %17053 = getelementptr inbounds %struct.complex, ptr %17051, i64 %17052
  %17054 = getelementptr inbounds %struct.complex, ptr %17053, i32 0, i32 0
  %17055 = load float, ptr %17054, align 4, !tbaa !11
  %17056 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %17057 = load float, ptr %17056, align 4, !tbaa !11
  %17058 = fsub float %17055, %17057
  %17059 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17058, ptr %17059, align 4, !tbaa !11
  %17060 = load ptr, ptr %15, align 8, !tbaa !5
  %17061 = load i64, ptr %22, align 8, !tbaa !9
  %17062 = getelementptr inbounds %struct.complex, ptr %17060, i64 %17061
  %17063 = getelementptr inbounds %struct.complex, ptr %17062, i32 0, i32 1
  %17064 = load float, ptr %17063, align 4, !tbaa !14
  %17065 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %17066 = load float, ptr %17065, align 4, !tbaa !14
  %17067 = fsub float %17064, %17066
  %17068 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17067, ptr %17068, align 4, !tbaa !14
  %17069 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17070 = load float, ptr %17069, align 4, !tbaa !11
  %17071 = load ptr, ptr %15, align 8, !tbaa !5
  %17072 = load i64, ptr %21, align 8, !tbaa !9
  %17073 = getelementptr inbounds %struct.complex, ptr %17071, i64 %17072
  %17074 = getelementptr inbounds %struct.complex, ptr %17073, i32 0, i32 0
  store float %17070, ptr %17074, align 4, !tbaa !11
  %17075 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17076 = load float, ptr %17075, align 4, !tbaa !14
  %17077 = load ptr, ptr %15, align 8, !tbaa !5
  %17078 = load i64, ptr %21, align 8, !tbaa !9
  %17079 = getelementptr inbounds %struct.complex, ptr %17077, i64 %17078
  %17080 = getelementptr inbounds %struct.complex, ptr %17079, i32 0, i32 1
  store float %17076, ptr %17080, align 4, !tbaa !14
  %17081 = load i64, ptr %50, align 8, !tbaa !9
  %17082 = load i64, ptr %18, align 8, !tbaa !9
  %17083 = mul nsw i64 %17082, 10
  %17084 = add nsw i64 %17081, %17083
  store i64 %17084, ptr %21, align 8, !tbaa !9
  %17085 = load i64, ptr %50, align 8, !tbaa !9
  %17086 = load i64, ptr %18, align 8, !tbaa !9
  %17087 = mul nsw i64 %17086, 10
  %17088 = add nsw i64 %17085, %17087
  store i64 %17088, ptr %22, align 8, !tbaa !9
  %17089 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %17090 = load float, ptr %17089, align 4, !tbaa !11
  %17091 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %17092 = load float, ptr %17091, align 4, !tbaa !11
  %17093 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %17094 = load float, ptr %17093, align 4, !tbaa !14
  %17095 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %17096 = load float, ptr %17095, align 4, !tbaa !14
  %17097 = fmul float %17094, %17096
  %17098 = fneg float %17097
  %17099 = call float @llvm.fmuladd.f32(float %17090, float %17092, float %17098)
  %17100 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  store float %17099, ptr %17100, align 4, !tbaa !11
  %17101 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 0
  %17102 = load float, ptr %17101, align 4, !tbaa !11
  %17103 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 1
  %17104 = load float, ptr %17103, align 4, !tbaa !14
  %17105 = getelementptr inbounds %struct.complex, ptr %71, i32 0, i32 1
  %17106 = load float, ptr %17105, align 4, !tbaa !14
  %17107 = getelementptr inbounds %struct.complex, ptr %69, i32 0, i32 0
  %17108 = load float, ptr %17107, align 4, !tbaa !11
  %17109 = fmul float %17106, %17108
  %17110 = call float @llvm.fmuladd.f32(float %17102, float %17104, float %17109)
  %17111 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  store float %17110, ptr %17111, align 4, !tbaa !14
  %17112 = load ptr, ptr %15, align 8, !tbaa !5
  %17113 = load i64, ptr %22, align 8, !tbaa !9
  %17114 = getelementptr inbounds %struct.complex, ptr %17112, i64 %17113
  %17115 = getelementptr inbounds %struct.complex, ptr %17114, i32 0, i32 0
  %17116 = load float, ptr %17115, align 4, !tbaa !11
  %17117 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 0
  %17118 = load float, ptr %17117, align 4, !tbaa !11
  %17119 = fsub float %17116, %17118
  %17120 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  store float %17119, ptr %17120, align 4, !tbaa !11
  %17121 = load ptr, ptr %15, align 8, !tbaa !5
  %17122 = load i64, ptr %22, align 8, !tbaa !9
  %17123 = getelementptr inbounds %struct.complex, ptr %17121, i64 %17122
  %17124 = getelementptr inbounds %struct.complex, ptr %17123, i32 0, i32 1
  %17125 = load float, ptr %17124, align 4, !tbaa !14
  %17126 = getelementptr inbounds %struct.complex, ptr %32, i32 0, i32 1
  %17127 = load float, ptr %17126, align 4, !tbaa !14
  %17128 = fsub float %17125, %17127
  %17129 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  store float %17128, ptr %17129, align 4, !tbaa !14
  %17130 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 0
  %17131 = load float, ptr %17130, align 4, !tbaa !11
  %17132 = load ptr, ptr %15, align 8, !tbaa !5
  %17133 = load i64, ptr %21, align 8, !tbaa !9
  %17134 = getelementptr inbounds %struct.complex, ptr %17132, i64 %17133
  %17135 = getelementptr inbounds %struct.complex, ptr %17134, i32 0, i32 0
  store float %17131, ptr %17135, align 4, !tbaa !11
  %17136 = getelementptr inbounds %struct.complex, ptr %31, i32 0, i32 1
  %17137 = load float, ptr %17136, align 4, !tbaa !14
  %17138 = load ptr, ptr %15, align 8, !tbaa !5
  %17139 = load i64, ptr %21, align 8, !tbaa !9
  %17140 = getelementptr inbounds %struct.complex, ptr %17138, i64 %17139
  %17141 = getelementptr inbounds %struct.complex, ptr %17140, i32 0, i32 1
  store float %17137, ptr %17141, align 4, !tbaa !14
  br label %17142

17142:                                            ; preds = %16030
  %17143 = load i64, ptr %50, align 8, !tbaa !9
  %17144 = add nsw i64 %17143, 1
  store i64 %17144, ptr %50, align 8, !tbaa !9
  br label %16026, !llvm.loop !35

17145:                                            ; preds = %16026
  br label %17146

17146:                                            ; preds = %17145, %15592, %14194, %12951, %11863, %10930, %10152, %9529, %9061, %8748, %8596, %8582, %7046, %5663, %4433, %3356, %2432, %1661, %1043, %578, %266, %112
  store i32 0, ptr %9, align 4
  store i32 1, ptr %72, align 4
  br label %17147

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

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

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

declare i32 @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

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

; 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"="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 #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 = { 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 = !{!"long", !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 i64, align 8

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @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) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #5
  %22 = load i64, ptr %6, align 8, !tbaa !5
  %23 = xor i64 %22, -1
  %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 i64 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #5
  %.not = icmp eq i64 %32, 0
  br i1 %.not, label %1794, label %33

33:                                               ; preds = %31
  %34 = load i64, ptr %1, align 8, !tbaa !5
  switch i64 %34, label %35 [
    i64 1, label %37
    i64 2, label %79
    i64 3, label %149
    i64 4, label %252
    i64 5, label %378
    i64 6, label %540
    i64 7, label %725
    i64 8, label %946
    i64 9, label %1190
    i64 10, label %1470
  ]

35:                                               ; preds = %33
  %36 = tail call i32 @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) #5
  br label %.loopexit

37:                                               ; preds = %33
  %38 = load float, ptr %4, align 4, !tbaa !9
  %39 = load float, ptr %3, align 4, !tbaa !9
  %40 = getelementptr inbounds i8, ptr %4, i64 4
  %41 = load float, ptr %40, align 4, !tbaa !12
  %42 = getelementptr inbounds i8, ptr %3, i64 4
  %43 = load float, ptr %42, align 4, !tbaa !12
  call void @r_cnjg(ptr noundef nonnull %11, ptr noundef nonnull %3) #5
  %44 = load i64, ptr %2, align 8, !tbaa !5
  %.not43474476 = icmp slt i64 %44, 1
  br i1 %.not43474476, label %.loopexit, label %.lr.ph4478

.lr.ph4478:                                       ; preds = %37
  %45 = fneg float %41
  %46 = fmul float %43, %45
  %47 = tail call float @llvm.fmuladd.f32(float %38, float %39, float %46)
  %48 = getelementptr inbounds i8, ptr %11, i64 4
  %49 = load float, ptr %48, align 4, !tbaa !12
  %50 = fmul float %39, %41
  %51 = tail call float @llvm.fmuladd.f32(float %38, float %43, float %50)
  %52 = load float, ptr %11, align 4, !tbaa !9
  %53 = fmul float %51, %52
  %54 = call float @llvm.fmuladd.f32(float %47, float %49, float %53)
  %55 = fsub float 0.000000e+00, %54
  %56 = fneg float %51
  %57 = fmul float %49, %56
  %58 = call float @llvm.fmuladd.f32(float %47, float %52, float %57)
  %59 = fsub float 1.000000e+00, %58
  %60 = fneg float %55
  %61 = insertelement <2 x float> poison, float %59, i64 0
  %62 = shufflevector <2 x float> %61, <2 x float> poison, <2 x i32> zeroinitializer
  %63 = insertelement <2 x float> poison, float %55, i64 0
  %64 = insertelement <2 x float> %63, float %60, i64 1
  %xtraiter = and i64 %44, 1
  %65 = icmp eq i64 %44, 1
  br i1 %65, label %.loopexit.loopexit6539.unr-lcssa, label %.lr.ph4478.new

.lr.ph4478.new:                                   ; preds = %.lr.ph4478
  %unroll_iter = and i64 %44, 9223372036854775806
  %invariant.gep6553 = getelementptr i8, ptr %24, i64 8
  %invariant.gep6555 = getelementptr i8, ptr %24, i64 8
  br label %66

66:                                               ; preds = %66, %.lr.ph4478.new
  %.04477 = phi i64 [ 1, %.lr.ph4478.new ], [ %78, %66 ]
  %niter = phi i64 [ 0, %.lr.ph4478.new ], [ %niter.next.1, %66 ]
  %67 = mul nsw i64 %.04477, %22
  %gep6554 = getelementptr %struct.complex, ptr %invariant.gep6553, i64 %67
  %68 = load <2 x float>, ptr %gep6554, align 4, !tbaa !13
  %69 = fmul <2 x float> %68, %64
  %70 = shufflevector <2 x float> %69, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %71 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %62, <2 x float> %68, <2 x float> %70)
  store <2 x float> %71, ptr %gep6554, align 4, !tbaa !13
  %72 = add nuw i64 %.04477, 1
  %73 = mul nsw i64 %72, %22
  %gep6556 = getelementptr %struct.complex, ptr %invariant.gep6555, i64 %73
  %74 = load <2 x float>, ptr %gep6556, align 4, !tbaa !13
  %75 = fmul <2 x float> %74, %64
  %76 = shufflevector <2 x float> %75, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %77 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %62, <2 x float> %74, <2 x float> %76)
  store <2 x float> %77, ptr %gep6556, align 4, !tbaa !13
  %78 = add nuw i64 %.04477, 2
  %niter.next.1 = add nuw i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %.loopexit.loopexit6539.unr-lcssa, label %66, !llvm.loop !14

79:                                               ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %80 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %80, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %81 = load float, ptr %4, align 4, !tbaa !9
  %82 = getelementptr inbounds i8, ptr %4, i64 4
  %83 = load float, ptr %82, align 4, !tbaa !12
  %84 = fneg float %83
  %85 = getelementptr inbounds i8, ptr %3, i64 8
  %86 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %87 = shufflevector <2 x float> %86, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %88 = insertelement <2 x float> poison, float %83, i64 0
  %89 = insertelement <2 x float> %88, float %84, i64 1
  %90 = fmul <2 x float> %86, %89
  %91 = insertelement <2 x float> poison, float %81, i64 0
  %92 = shufflevector <2 x float> %91, <2 x float> poison, <2 x i32> zeroinitializer
  %93 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %92, <2 x float> %87, <2 x float> %90)
  %94 = shufflevector <2 x float> %93, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %94, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %85) #5
  %95 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %95, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %96 = load float, ptr %4, align 4, !tbaa !9
  %97 = load float, ptr %82, align 4, !tbaa !12
  %98 = fneg float %97
  %99 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %100 = shufflevector <2 x float> %99, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %101 = insertelement <2 x float> poison, float %97, i64 0
  %102 = insertelement <2 x float> %101, float %98, i64 1
  %103 = fmul <2 x float> %99, %102
  %104 = insertelement <2 x float> poison, float %96, i64 0
  %105 = shufflevector <2 x float> %104, <2 x float> poison, <2 x i32> zeroinitializer
  %106 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %105, <2 x float> %100, <2 x float> %103)
  %107 = load i64, ptr %2, align 8, !tbaa !5
  %.not43464469 = icmp slt i64 %107, 1
  br i1 %.not43464469, label %.loopexit, label %.lr.ph4471

.lr.ph4471:                                       ; preds = %79
  %108 = getelementptr inbounds i8, ptr %13, i64 4
  %109 = getelementptr inbounds i8, ptr %12, i64 4
  %110 = load float, ptr %12, align 8, !tbaa !9
  %111 = load float, ptr %109, align 4, !tbaa !12
  %112 = load float, ptr %13, align 8, !tbaa !9
  %113 = load float, ptr %108, align 4, !tbaa !12
  %114 = insertelement <2 x float> poison, float %111, i64 0
  %115 = insertelement <2 x float> %114, float %113, i64 1
  %116 = fneg <2 x float> %115
  %117 = insertelement <2 x float> poison, float %110, i64 0
  %118 = insertelement <2 x float> %117, float %112, i64 1
  %119 = insertelement <2 x float> poison, float %112, i64 0
  %120 = insertelement <2 x float> %119, float %110, i64 1
  %121 = insertelement <2 x float> poison, float %113, i64 0
  %122 = insertelement <2 x float> %121, float %111, i64 1
  %invariant.gep6551 = getelementptr i8, ptr %24, i64 8
  %123 = shufflevector <2 x float> %93, <2 x float> %106, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %124 = shufflevector <2 x float> %93, <2 x float> %106, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %125

125:                                              ; preds = %.lr.ph4471, %125
  %.14470 = phi i64 [ 1, %.lr.ph4471 ], [ %148, %125 ]
  %126 = mul nsw i64 %.14470, %22
  %gep6552 = getelementptr %struct.complex, ptr %invariant.gep6551, i64 %126
  %127 = load <4 x float>, ptr %gep6552, align 4, !tbaa !13
  %128 = shufflevector <4 x float> %127, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %129 = fmul <2 x float> %128, %116
  %130 = shufflevector <4 x float> %127, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %131 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %118, <2 x float> %130, <2 x float> %129)
  %132 = shufflevector <4 x float> %127, <4 x float> poison, <2 x i32> <i32 2, i32 0>
  %133 = fmul <2 x float> %132, %122
  %134 = shufflevector <4 x float> %127, <4 x float> poison, <2 x i32> <i32 3, i32 1>
  %135 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %120, <2 x float> %134, <2 x float> %133)
  %shift = shufflevector <2 x float> %131, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %136 = fadd <2 x float> %131, %shift
  %shift6504 = shufflevector <2 x float> %135, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %137 = fadd <2 x float> %135, %shift6504
  %138 = shufflevector <2 x float> %137, <2 x float> poison, <4 x i32> <i32 0, i32 poison, i32 poison, i32 poison>
  %139 = extractelement <2 x float> %137, i64 0
  %140 = fneg float %139
  %141 = insertelement <4 x float> poison, float %140, i64 0
  %142 = shufflevector <4 x float> %141, <4 x float> %138, <4 x i32> <i32 0, i32 4, i32 poison, i32 poison>
  %143 = shufflevector <4 x float> %142, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %144 = fmul <4 x float> %123, %143
  %145 = shufflevector <2 x float> %136, <2 x float> poison, <4 x i32> zeroinitializer
  %146 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %145, <4 x float> %124, <4 x float> %144)
  %147 = fsub <4 x float> %127, %146
  store <4 x float> %147, ptr %gep6552, align 4, !tbaa !13
  %148 = add nuw i64 %.14470, 1
  %exitcond4700.not = icmp eq i64 %.14470, %107
  br i1 %exitcond4700.not, label %.loopexit, label %125, !llvm.loop !16

149:                                              ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %150 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %150, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %151 = load float, ptr %4, align 4, !tbaa !9
  %152 = getelementptr inbounds i8, ptr %4, i64 4
  %153 = load float, ptr %152, align 4, !tbaa !12
  %154 = fneg float %153
  %155 = getelementptr inbounds i8, ptr %3, i64 8
  %156 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %157 = shufflevector <2 x float> %156, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %158 = insertelement <2 x float> poison, float %153, i64 0
  %159 = insertelement <2 x float> %158, float %154, i64 1
  %160 = fmul <2 x float> %156, %159
  %161 = insertelement <2 x float> poison, float %151, i64 0
  %162 = shufflevector <2 x float> %161, <2 x float> poison, <2 x i32> zeroinitializer
  %163 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %162, <2 x float> %157, <2 x float> %160)
  %164 = shufflevector <2 x float> %163, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %164, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %155) #5
  %165 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %165, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %166 = load float, ptr %4, align 4, !tbaa !9
  %167 = load float, ptr %152, align 4, !tbaa !12
  %168 = fneg float %167
  %169 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %170 = shufflevector <2 x float> %169, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %171 = insertelement <2 x float> poison, float %167, i64 0
  %172 = insertelement <2 x float> %171, float %168, i64 1
  %173 = fmul <2 x float> %169, %172
  %174 = insertelement <2 x float> poison, float %166, i64 0
  %175 = shufflevector <2 x float> %174, <2 x float> poison, <2 x i32> zeroinitializer
  %176 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %175, <2 x float> %170, <2 x float> %173)
  %177 = shufflevector <2 x float> %176, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %177, ptr %9, align 8, !tbaa !13
  %178 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %178) #5
  %179 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %179, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %180 = load float, ptr %4, align 4, !tbaa !9
  %181 = load float, ptr %152, align 4, !tbaa !12
  %182 = fneg float %181
  %183 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %184 = insertelement <2 x float> poison, float %181, i64 0
  %185 = insertelement <2 x float> %184, float %182, i64 1
  %186 = fmul <2 x float> %183, %185
  %187 = shufflevector <2 x float> %186, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %188 = insertelement <2 x float> poison, float %180, i64 0
  %189 = shufflevector <2 x float> %188, <2 x float> poison, <2 x i32> zeroinitializer
  %190 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %189, <2 x float> %183, <2 x float> %187)
  %191 = load i64, ptr %2, align 8, !tbaa !5
  %.not43454458 = icmp slt i64 %191, 1
  br i1 %.not43454458, label %.loopexit, label %.lr.ph4460

.lr.ph4460:                                       ; preds = %149
  %192 = getelementptr inbounds i8, ptr %14, i64 4
  %193 = getelementptr inbounds i8, ptr %13, i64 4
  %194 = getelementptr inbounds i8, ptr %12, i64 4
  %195 = load float, ptr %12, align 8, !tbaa !9
  %196 = load float, ptr %194, align 4, !tbaa !12
  %197 = load float, ptr %13, align 8, !tbaa !9
  %198 = load float, ptr %193, align 4, !tbaa !12
  %199 = insertelement <2 x float> poison, float %196, i64 0
  %200 = insertelement <2 x float> %199, float %198, i64 1
  %201 = fneg <2 x float> %200
  %202 = load float, ptr %14, align 8, !tbaa !9
  %203 = load float, ptr %192, align 4, !tbaa !12
  %204 = fneg float %203
  %205 = insertelement <2 x float> poison, float %195, i64 0
  %206 = insertelement <2 x float> %205, float %197, i64 1
  %207 = shufflevector <2 x float> %163, <2 x float> %176, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %208 = shufflevector <2 x float> %163, <2 x float> %176, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %209

209:                                              ; preds = %.lr.ph4460, %209
  %.24459 = phi i64 [ 1, %.lr.ph4460 ], [ %251, %209 ]
  %210 = mul nsw i64 %.24459, %22
  %211 = getelementptr %struct.complex, ptr %24, i64 %210
  %212 = getelementptr i8, ptr %211, i64 8
  %213 = getelementptr i8, ptr %211, i64 24
  %214 = load <4 x float>, ptr %212, align 4, !tbaa !13
  %215 = shufflevector <4 x float> %214, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %216 = fmul <2 x float> %215, %201
  %217 = shufflevector <4 x float> %214, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %218 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %206, <2 x float> %217, <2 x float> %216)
  %219 = fmul <2 x float> %217, %200
  %220 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %206, <2 x float> %215, <2 x float> %219)
  %shift6505 = shufflevector <2 x float> %218, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %221 = fadd <2 x float> %218, %shift6505
  %222 = extractelement <2 x float> %221, i64 0
  %shift6506 = shufflevector <2 x float> %220, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %223 = fadd <2 x float> %220, %shift6506
  %224 = extractelement <2 x float> %223, i64 0
  %225 = load <2 x float>, ptr %213, align 4, !tbaa !13
  %226 = extractelement <2 x float> %225, i64 1
  %227 = fmul float %226, %204
  %228 = extractelement <2 x float> %225, i64 0
  %229 = call float @llvm.fmuladd.f32(float %202, float %228, float %227)
  %230 = fmul float %228, %203
  %231 = call float @llvm.fmuladd.f32(float %202, float %226, float %230)
  %232 = fadd float %222, %229
  %233 = fadd float %231, %224
  %234 = fneg float %233
  %235 = insertelement <4 x float> poison, float %234, i64 0
  %236 = insertelement <4 x float> %235, float %233, i64 1
  %237 = shufflevector <4 x float> %236, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %238 = fmul <4 x float> %207, %237
  %239 = insertelement <4 x float> poison, float %232, i64 0
  %240 = shufflevector <4 x float> %239, <4 x float> poison, <4 x i32> zeroinitializer
  %241 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %240, <4 x float> %208, <4 x float> %238)
  %242 = fsub <4 x float> %214, %241
  store <4 x float> %242, ptr %212, align 4, !tbaa !13
  %243 = insertelement <2 x float> poison, float %233, i64 0
  %244 = insertelement <2 x float> %243, float %234, i64 1
  %245 = fmul <2 x float> %190, %244
  %246 = shufflevector <2 x float> %245, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %247 = insertelement <2 x float> poison, float %232, i64 0
  %248 = shufflevector <2 x float> %247, <2 x float> poison, <2 x i32> zeroinitializer
  %249 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %248, <2 x float> %190, <2 x float> %246)
  %250 = fsub <2 x float> %225, %249
  store <2 x float> %250, ptr %213, align 4, !tbaa !13
  %251 = add nuw i64 %.24459, 1
  %exitcond4699.not = icmp eq i64 %.24459, %191
  br i1 %exitcond4699.not, label %.loopexit, label %209, !llvm.loop !17

252:                                              ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %253 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %253, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %254 = load float, ptr %4, align 4, !tbaa !9
  %255 = getelementptr inbounds i8, ptr %4, i64 4
  %256 = load float, ptr %255, align 4, !tbaa !12
  %257 = fneg float %256
  %258 = getelementptr inbounds i8, ptr %3, i64 8
  %259 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %260 = shufflevector <2 x float> %259, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %261 = insertelement <2 x float> poison, float %256, i64 0
  %262 = insertelement <2 x float> %261, float %257, i64 1
  %263 = fmul <2 x float> %259, %262
  %264 = insertelement <2 x float> poison, float %254, i64 0
  %265 = shufflevector <2 x float> %264, <2 x float> poison, <2 x i32> zeroinitializer
  %266 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %265, <2 x float> %260, <2 x float> %263)
  %267 = shufflevector <2 x float> %266, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %267, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %258) #5
  %268 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %268, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %269 = load float, ptr %4, align 4, !tbaa !9
  %270 = load float, ptr %255, align 4, !tbaa !12
  %271 = fneg float %270
  %272 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %273 = shufflevector <2 x float> %272, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %274 = insertelement <2 x float> poison, float %270, i64 0
  %275 = insertelement <2 x float> %274, float %271, i64 1
  %276 = fmul <2 x float> %272, %275
  %277 = insertelement <2 x float> poison, float %269, i64 0
  %278 = shufflevector <2 x float> %277, <2 x float> poison, <2 x i32> zeroinitializer
  %279 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %278, <2 x float> %273, <2 x float> %276)
  %280 = shufflevector <2 x float> %279, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %280, ptr %9, align 8, !tbaa !13
  %281 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %281) #5
  %282 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %282, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %283 = load float, ptr %4, align 4, !tbaa !9
  %284 = load float, ptr %255, align 4, !tbaa !12
  %285 = fneg float %284
  %286 = getelementptr inbounds i8, ptr %3, i64 24
  %287 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %288 = shufflevector <2 x float> %287, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %289 = insertelement <2 x float> poison, float %284, i64 0
  %290 = insertelement <2 x float> %289, float %285, i64 1
  %291 = fmul <2 x float> %287, %290
  %292 = insertelement <2 x float> poison, float %283, i64 0
  %293 = shufflevector <2 x float> %292, <2 x float> poison, <2 x i32> zeroinitializer
  %294 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %293, <2 x float> %288, <2 x float> %291)
  %295 = shufflevector <2 x float> %294, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %295, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %286) #5
  %296 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %296, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %297 = load float, ptr %4, align 4, !tbaa !9
  %298 = load float, ptr %255, align 4, !tbaa !12
  %299 = fneg float %298
  %300 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %301 = shufflevector <2 x float> %300, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %302 = insertelement <2 x float> poison, float %298, i64 0
  %303 = insertelement <2 x float> %302, float %299, i64 1
  %304 = fmul <2 x float> %300, %303
  %305 = insertelement <2 x float> poison, float %297, i64 0
  %306 = shufflevector <2 x float> %305, <2 x float> poison, <2 x i32> zeroinitializer
  %307 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %306, <2 x float> %301, <2 x float> %304)
  %308 = load i64, ptr %2, align 8, !tbaa !5
  %.not43444445 = icmp slt i64 %308, 1
  br i1 %.not43444445, label %.loopexit, label %.lr.ph4447

.lr.ph4447:                                       ; preds = %252
  %309 = getelementptr inbounds i8, ptr %15, i64 4
  %310 = getelementptr inbounds i8, ptr %14, i64 4
  %311 = getelementptr inbounds i8, ptr %13, i64 4
  %312 = getelementptr inbounds i8, ptr %12, i64 4
  %313 = load float, ptr %12, align 8, !tbaa !9
  %314 = load float, ptr %312, align 4, !tbaa !12
  %315 = load float, ptr %13, align 8, !tbaa !9
  %316 = load float, ptr %311, align 4, !tbaa !12
  %317 = insertelement <2 x float> poison, float %314, i64 0
  %318 = insertelement <2 x float> %317, float %316, i64 1
  %319 = fneg <2 x float> %318
  %320 = load float, ptr %14, align 8, !tbaa !9
  %321 = load float, ptr %310, align 4, !tbaa !12
  %322 = fneg float %321
  %323 = load float, ptr %15, align 8, !tbaa !9
  %324 = load float, ptr %309, align 4, !tbaa !12
  %325 = fneg float %324
  %326 = insertelement <2 x float> poison, float %313, i64 0
  %327 = insertelement <2 x float> %326, float %315, i64 1
  %328 = shufflevector <2 x float> %266, <2 x float> %279, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %329 = shufflevector <2 x float> %266, <2 x float> %279, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %330 = shufflevector <2 x float> %294, <2 x float> %307, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %331 = shufflevector <2 x float> %294, <2 x float> %307, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %332

332:                                              ; preds = %.lr.ph4447, %332
  %.34446 = phi i64 [ 1, %.lr.ph4447 ], [ %377, %332 ]
  %333 = mul nsw i64 %.34446, %22
  %334 = getelementptr %struct.complex, ptr %24, i64 %333
  %335 = getelementptr i8, ptr %334, i64 8
  %336 = getelementptr i8, ptr %334, i64 24
  %337 = load <4 x float>, ptr %335, align 4, !tbaa !13
  %338 = shufflevector <4 x float> %337, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %339 = fmul <2 x float> %338, %319
  %340 = shufflevector <4 x float> %337, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %341 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %327, <2 x float> %340, <2 x float> %339)
  %342 = fmul <2 x float> %318, %340
  %343 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %327, <2 x float> %338, <2 x float> %342)
  %shift6507 = shufflevector <2 x float> %341, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %344 = fadd <2 x float> %341, %shift6507
  %345 = extractelement <2 x float> %344, i64 0
  %shift6508 = shufflevector <2 x float> %343, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %346 = fadd <2 x float> %343, %shift6508
  %347 = extractelement <2 x float> %346, i64 0
  %348 = load <4 x float>, ptr %336, align 4, !tbaa !13
  %349 = extractelement <4 x float> %348, i64 1
  %350 = fmul float %349, %322
  %351 = extractelement <4 x float> %348, i64 0
  %352 = call float @llvm.fmuladd.f32(float %320, float %351, float %350)
  %353 = fmul float %351, %321
  %354 = call float @llvm.fmuladd.f32(float %320, float %349, float %353)
  %355 = extractelement <4 x float> %348, i64 3
  %356 = fmul float %355, %325
  %357 = extractelement <4 x float> %348, i64 2
  %358 = call float @llvm.fmuladd.f32(float %323, float %357, float %356)
  %359 = fmul float %357, %324
  %360 = call float @llvm.fmuladd.f32(float %323, float %355, float %359)
  %361 = fadd float %345, %352
  %362 = fadd float %347, %354
  %363 = fadd float %361, %358
  %364 = fadd float %360, %362
  %365 = fneg float %364
  %366 = insertelement <4 x float> poison, float %365, i64 0
  %367 = insertelement <4 x float> %366, float %364, i64 1
  %368 = shufflevector <4 x float> %367, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %369 = fmul <4 x float> %328, %368
  %370 = insertelement <4 x float> poison, float %363, i64 0
  %371 = shufflevector <4 x float> %370, <4 x float> poison, <4 x i32> zeroinitializer
  %372 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %371, <4 x float> %329, <4 x float> %369)
  %373 = fsub <4 x float> %337, %372
  store <4 x float> %373, ptr %335, align 4, !tbaa !13
  %374 = fmul <4 x float> %330, %368
  %375 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %371, <4 x float> %331, <4 x float> %374)
  %376 = fsub <4 x float> %348, %375
  store <4 x float> %376, ptr %336, align 4, !tbaa !13
  %377 = add nuw i64 %.34446, 1
  %exitcond4698.not = icmp eq i64 %.34446, %308
  br i1 %exitcond4698.not, label %.loopexit, label %332, !llvm.loop !18

378:                                              ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %379 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %379, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %380 = load float, ptr %4, align 4, !tbaa !9
  %381 = getelementptr inbounds i8, ptr %4, i64 4
  %382 = load float, ptr %381, align 4, !tbaa !12
  %383 = fneg float %382
  %384 = getelementptr inbounds i8, ptr %3, i64 8
  %385 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %386 = shufflevector <2 x float> %385, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %387 = insertelement <2 x float> poison, float %382, i64 0
  %388 = insertelement <2 x float> %387, float %383, i64 1
  %389 = fmul <2 x float> %385, %388
  %390 = insertelement <2 x float> poison, float %380, i64 0
  %391 = shufflevector <2 x float> %390, <2 x float> poison, <2 x i32> zeroinitializer
  %392 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %391, <2 x float> %386, <2 x float> %389)
  %393 = shufflevector <2 x float> %392, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %393, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %384) #5
  %394 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %394, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %395 = load float, ptr %4, align 4, !tbaa !9
  %396 = load float, ptr %381, align 4, !tbaa !12
  %397 = fneg float %396
  %398 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %399 = shufflevector <2 x float> %398, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %400 = insertelement <2 x float> poison, float %396, i64 0
  %401 = insertelement <2 x float> %400, float %397, i64 1
  %402 = fmul <2 x float> %398, %401
  %403 = insertelement <2 x float> poison, float %395, i64 0
  %404 = shufflevector <2 x float> %403, <2 x float> poison, <2 x i32> zeroinitializer
  %405 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %404, <2 x float> %399, <2 x float> %402)
  %406 = shufflevector <2 x float> %405, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %406, ptr %9, align 8, !tbaa !13
  %407 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %407) #5
  %408 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %408, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %409 = load float, ptr %4, align 4, !tbaa !9
  %410 = load float, ptr %381, align 4, !tbaa !12
  %411 = fneg float %410
  %412 = getelementptr inbounds i8, ptr %3, i64 24
  %413 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %414 = shufflevector <2 x float> %413, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %415 = insertelement <2 x float> poison, float %410, i64 0
  %416 = insertelement <2 x float> %415, float %411, i64 1
  %417 = fmul <2 x float> %413, %416
  %418 = insertelement <2 x float> poison, float %409, i64 0
  %419 = shufflevector <2 x float> %418, <2 x float> poison, <2 x i32> zeroinitializer
  %420 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %419, <2 x float> %414, <2 x float> %417)
  %421 = shufflevector <2 x float> %420, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %421, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %412) #5
  %422 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %422, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %423 = load float, ptr %4, align 4, !tbaa !9
  %424 = load float, ptr %381, align 4, !tbaa !12
  %425 = fneg float %424
  %426 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %427 = shufflevector <2 x float> %426, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %428 = insertelement <2 x float> poison, float %424, i64 0
  %429 = insertelement <2 x float> %428, float %425, i64 1
  %430 = fmul <2 x float> %426, %429
  %431 = insertelement <2 x float> poison, float %423, i64 0
  %432 = shufflevector <2 x float> %431, <2 x float> poison, <2 x i32> zeroinitializer
  %433 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %432, <2 x float> %427, <2 x float> %430)
  %434 = shufflevector <2 x float> %433, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %434, ptr %9, align 8, !tbaa !13
  %435 = getelementptr inbounds i8, ptr %3, i64 32
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %435) #5
  %436 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %436, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %437 = load float, ptr %4, align 4, !tbaa !9
  %438 = load float, ptr %381, align 4, !tbaa !12
  %439 = fneg float %438
  %440 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %441 = insertelement <2 x float> poison, float %438, i64 0
  %442 = insertelement <2 x float> %441, float %439, i64 1
  %443 = fmul <2 x float> %440, %442
  %444 = shufflevector <2 x float> %443, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %445 = insertelement <2 x float> poison, float %437, i64 0
  %446 = shufflevector <2 x float> %445, <2 x float> poison, <2 x i32> zeroinitializer
  %447 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %446, <2 x float> %440, <2 x float> %444)
  %448 = load i64, ptr %2, align 8, !tbaa !5
  %.not43434432 = icmp slt i64 %448, 1
  br i1 %.not43434432, label %.loopexit, label %.lr.ph4434

.lr.ph4434:                                       ; preds = %378
  %449 = getelementptr inbounds i8, ptr %16, i64 4
  %450 = getelementptr inbounds i8, ptr %15, i64 4
  %451 = getelementptr inbounds i8, ptr %14, i64 4
  %452 = getelementptr inbounds i8, ptr %13, i64 4
  %453 = getelementptr inbounds i8, ptr %12, i64 4
  %454 = load float, ptr %12, align 8, !tbaa !9
  %455 = load float, ptr %453, align 4, !tbaa !12
  %456 = load float, ptr %13, align 8, !tbaa !9
  %457 = load float, ptr %452, align 4, !tbaa !12
  %458 = insertelement <2 x float> poison, float %455, i64 0
  %459 = insertelement <2 x float> %458, float %457, i64 1
  %460 = fneg <2 x float> %459
  %461 = load float, ptr %14, align 8, !tbaa !9
  %462 = load float, ptr %451, align 4, !tbaa !12
  %463 = fneg float %462
  %464 = load float, ptr %15, align 8, !tbaa !9
  %465 = load float, ptr %450, align 4, !tbaa !12
  %466 = fneg float %465
  %467 = load float, ptr %16, align 8, !tbaa !9
  %468 = load float, ptr %449, align 4, !tbaa !12
  %469 = fneg float %468
  %470 = insertelement <2 x float> poison, float %454, i64 0
  %471 = insertelement <2 x float> %470, float %456, i64 1
  %472 = shufflevector <2 x float> %392, <2 x float> %405, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %473 = shufflevector <2 x float> %392, <2 x float> %405, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %474 = shufflevector <2 x float> %420, <2 x float> %433, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %475 = shufflevector <2 x float> %420, <2 x float> %433, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %476

476:                                              ; preds = %.lr.ph4434, %476
  %.44433 = phi i64 [ 1, %.lr.ph4434 ], [ %539, %476 ]
  %477 = mul nsw i64 %.44433, %22
  %478 = getelementptr %struct.complex, ptr %24, i64 %477
  %479 = getelementptr i8, ptr %478, i64 8
  %480 = getelementptr i8, ptr %478, i64 24
  %481 = getelementptr i8, ptr %478, i64 40
  %482 = load <4 x float>, ptr %479, align 4, !tbaa !13
  %483 = shufflevector <4 x float> %482, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %484 = fmul <2 x float> %483, %460
  %485 = shufflevector <4 x float> %482, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %486 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %471, <2 x float> %485, <2 x float> %484)
  %487 = fmul <2 x float> %485, %459
  %488 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %471, <2 x float> %483, <2 x float> %487)
  %shift6509 = shufflevector <2 x float> %486, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %489 = fadd <2 x float> %486, %shift6509
  %490 = extractelement <2 x float> %489, i64 0
  %shift6510 = shufflevector <2 x float> %488, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %491 = fadd <2 x float> %488, %shift6510
  %492 = extractelement <2 x float> %491, i64 0
  %493 = load <4 x float>, ptr %480, align 4, !tbaa !13
  %494 = extractelement <4 x float> %493, i64 1
  %495 = fmul float %494, %463
  %496 = extractelement <4 x float> %493, i64 0
  %497 = call float @llvm.fmuladd.f32(float %461, float %496, float %495)
  %498 = fmul float %496, %462
  %499 = call float @llvm.fmuladd.f32(float %461, float %494, float %498)
  %500 = extractelement <4 x float> %493, i64 3
  %501 = fmul float %500, %466
  %502 = extractelement <4 x float> %493, i64 2
  %503 = call float @llvm.fmuladd.f32(float %464, float %502, float %501)
  %504 = fmul float %502, %465
  %505 = call float @llvm.fmuladd.f32(float %464, float %500, float %504)
  %506 = fadd float %490, %497
  %507 = fadd float %492, %499
  %508 = fadd float %506, %503
  %509 = fadd float %507, %505
  %510 = load <2 x float>, ptr %481, align 4, !tbaa !13
  %511 = extractelement <2 x float> %510, i64 1
  %512 = fmul float %511, %469
  %513 = extractelement <2 x float> %510, i64 0
  %514 = call float @llvm.fmuladd.f32(float %467, float %513, float %512)
  %515 = fmul float %513, %468
  %516 = call float @llvm.fmuladd.f32(float %467, float %511, float %515)
  %517 = fadd float %508, %514
  %518 = fadd float %516, %509
  %519 = fneg float %518
  %520 = insertelement <4 x float> poison, float %519, i64 0
  %521 = insertelement <4 x float> %520, float %518, i64 1
  %522 = shufflevector <4 x float> %521, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %523 = fmul <4 x float> %472, %522
  %524 = insertelement <4 x float> poison, float %517, i64 0
  %525 = shufflevector <4 x float> %524, <4 x float> poison, <4 x i32> zeroinitializer
  %526 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %525, <4 x float> %473, <4 x float> %523)
  %527 = fsub <4 x float> %482, %526
  store <4 x float> %527, ptr %479, align 4, !tbaa !13
  %528 = fmul <4 x float> %474, %522
  %529 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %525, <4 x float> %475, <4 x float> %528)
  %530 = fsub <4 x float> %493, %529
  store <4 x float> %530, ptr %480, align 4, !tbaa !13
  %531 = insertelement <2 x float> poison, float %518, i64 0
  %532 = insertelement <2 x float> %531, float %519, i64 1
  %533 = fmul <2 x float> %447, %532
  %534 = shufflevector <2 x float> %533, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %535 = insertelement <2 x float> poison, float %517, i64 0
  %536 = shufflevector <2 x float> %535, <2 x float> poison, <2 x i32> zeroinitializer
  %537 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %536, <2 x float> %447, <2 x float> %534)
  %538 = fsub <2 x float> %510, %537
  store <2 x float> %538, ptr %481, align 4, !tbaa !13
  %539 = add nuw i64 %.44433, 1
  %exitcond4697.not = icmp eq i64 %.44433, %448
  br i1 %exitcond4697.not, label %.loopexit, label %476, !llvm.loop !19

540:                                              ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %541 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %541, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %542 = load float, ptr %4, align 4, !tbaa !9
  %543 = getelementptr inbounds i8, ptr %4, i64 4
  %544 = load float, ptr %543, align 4, !tbaa !12
  %545 = fneg float %544
  %546 = getelementptr inbounds i8, ptr %3, i64 8
  %547 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %548 = shufflevector <2 x float> %547, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %549 = insertelement <2 x float> poison, float %544, i64 0
  %550 = insertelement <2 x float> %549, float %545, i64 1
  %551 = fmul <2 x float> %547, %550
  %552 = insertelement <2 x float> poison, float %542, i64 0
  %553 = shufflevector <2 x float> %552, <2 x float> poison, <2 x i32> zeroinitializer
  %554 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %553, <2 x float> %548, <2 x float> %551)
  %555 = shufflevector <2 x float> %554, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %555, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %546) #5
  %556 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %556, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %557 = load float, ptr %4, align 4, !tbaa !9
  %558 = load float, ptr %543, align 4, !tbaa !12
  %559 = fneg float %558
  %560 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %561 = shufflevector <2 x float> %560, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %562 = insertelement <2 x float> poison, float %558, i64 0
  %563 = insertelement <2 x float> %562, float %559, i64 1
  %564 = fmul <2 x float> %560, %563
  %565 = insertelement <2 x float> poison, float %557, i64 0
  %566 = shufflevector <2 x float> %565, <2 x float> poison, <2 x i32> zeroinitializer
  %567 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %566, <2 x float> %561, <2 x float> %564)
  %568 = shufflevector <2 x float> %567, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %568, ptr %9, align 8, !tbaa !13
  %569 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %569) #5
  %570 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %570, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %571 = load float, ptr %4, align 4, !tbaa !9
  %572 = load float, ptr %543, align 4, !tbaa !12
  %573 = fneg float %572
  %574 = getelementptr inbounds i8, ptr %3, i64 24
  %575 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %576 = shufflevector <2 x float> %575, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %577 = insertelement <2 x float> poison, float %572, i64 0
  %578 = insertelement <2 x float> %577, float %573, i64 1
  %579 = fmul <2 x float> %575, %578
  %580 = insertelement <2 x float> poison, float %571, i64 0
  %581 = shufflevector <2 x float> %580, <2 x float> poison, <2 x i32> zeroinitializer
  %582 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %581, <2 x float> %576, <2 x float> %579)
  %583 = shufflevector <2 x float> %582, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %583, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %574) #5
  %584 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %584, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %585 = load float, ptr %4, align 4, !tbaa !9
  %586 = load float, ptr %543, align 4, !tbaa !12
  %587 = fneg float %586
  %588 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %589 = shufflevector <2 x float> %588, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %590 = insertelement <2 x float> poison, float %586, i64 0
  %591 = insertelement <2 x float> %590, float %587, i64 1
  %592 = fmul <2 x float> %588, %591
  %593 = insertelement <2 x float> poison, float %585, i64 0
  %594 = shufflevector <2 x float> %593, <2 x float> poison, <2 x i32> zeroinitializer
  %595 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %594, <2 x float> %589, <2 x float> %592)
  %596 = shufflevector <2 x float> %595, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %596, ptr %9, align 8, !tbaa !13
  %597 = getelementptr inbounds i8, ptr %3, i64 32
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %597) #5
  %598 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %598, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %599 = load float, ptr %4, align 4, !tbaa !9
  %600 = load float, ptr %543, align 4, !tbaa !12
  %601 = fneg float %600
  %602 = getelementptr inbounds i8, ptr %3, i64 40
  %603 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %604 = shufflevector <2 x float> %603, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %605 = insertelement <2 x float> poison, float %600, i64 0
  %606 = insertelement <2 x float> %605, float %601, i64 1
  %607 = fmul <2 x float> %603, %606
  %608 = insertelement <2 x float> poison, float %599, i64 0
  %609 = shufflevector <2 x float> %608, <2 x float> poison, <2 x i32> zeroinitializer
  %610 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %609, <2 x float> %604, <2 x float> %607)
  %611 = shufflevector <2 x float> %610, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %611, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %602) #5
  %612 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %612, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %613 = load float, ptr %4, align 4, !tbaa !9
  %614 = load float, ptr %543, align 4, !tbaa !12
  %615 = fneg float %614
  %616 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %617 = shufflevector <2 x float> %616, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %618 = insertelement <2 x float> poison, float %614, i64 0
  %619 = insertelement <2 x float> %618, float %615, i64 1
  %620 = fmul <2 x float> %616, %619
  %621 = insertelement <2 x float> poison, float %613, i64 0
  %622 = shufflevector <2 x float> %621, <2 x float> poison, <2 x i32> zeroinitializer
  %623 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %622, <2 x float> %617, <2 x float> %620)
  %624 = load i64, ptr %2, align 8, !tbaa !5
  %.not43424419 = icmp slt i64 %624, 1
  br i1 %.not43424419, label %.loopexit, label %.lr.ph4421

.lr.ph4421:                                       ; preds = %540
  %625 = getelementptr inbounds i8, ptr %17, i64 4
  %626 = getelementptr inbounds i8, ptr %16, i64 4
  %627 = getelementptr inbounds i8, ptr %15, i64 4
  %628 = getelementptr inbounds i8, ptr %14, i64 4
  %629 = getelementptr inbounds i8, ptr %13, i64 4
  %630 = getelementptr inbounds i8, ptr %12, i64 4
  %631 = load float, ptr %12, align 8, !tbaa !9
  %632 = load float, ptr %630, align 4, !tbaa !12
  %633 = load float, ptr %13, align 8, !tbaa !9
  %634 = load float, ptr %629, align 4, !tbaa !12
  %635 = insertelement <2 x float> poison, float %632, i64 0
  %636 = insertelement <2 x float> %635, float %634, i64 1
  %637 = fneg <2 x float> %636
  %638 = load float, ptr %14, align 8, !tbaa !9
  %639 = load float, ptr %628, align 4, !tbaa !12
  %640 = fneg float %639
  %641 = load float, ptr %15, align 8, !tbaa !9
  %642 = load float, ptr %627, align 4, !tbaa !12
  %643 = fneg float %642
  %644 = load float, ptr %16, align 8, !tbaa !9
  %645 = load float, ptr %626, align 4, !tbaa !12
  %646 = fneg float %645
  %647 = load float, ptr %17, align 8, !tbaa !9
  %648 = load float, ptr %625, align 4, !tbaa !12
  %649 = fneg float %648
  %650 = insertelement <2 x float> poison, float %631, i64 0
  %651 = insertelement <2 x float> %650, float %633, i64 1
  %652 = shufflevector <2 x float> %554, <2 x float> %567, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %653 = shufflevector <2 x float> %554, <2 x float> %567, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %654 = shufflevector <2 x float> %582, <2 x float> %595, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %655 = shufflevector <2 x float> %582, <2 x float> %595, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %656 = shufflevector <2 x float> %610, <2 x float> %623, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %657 = shufflevector <2 x float> %610, <2 x float> %623, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %658

658:                                              ; preds = %.lr.ph4421, %658
  %.54420 = phi i64 [ 1, %.lr.ph4421 ], [ %724, %658 ]
  %659 = mul nsw i64 %.54420, %22
  %660 = getelementptr %struct.complex, ptr %24, i64 %659
  %661 = getelementptr i8, ptr %660, i64 8
  %662 = getelementptr i8, ptr %660, i64 24
  %663 = getelementptr i8, ptr %660, i64 40
  %664 = load <4 x float>, ptr %661, align 4, !tbaa !13
  %665 = shufflevector <4 x float> %664, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %666 = fmul <2 x float> %665, %637
  %667 = shufflevector <4 x float> %664, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %668 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %651, <2 x float> %667, <2 x float> %666)
  %669 = fmul <2 x float> %667, %636
  %670 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %651, <2 x float> %665, <2 x float> %669)
  %shift6511 = shufflevector <2 x float> %668, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %671 = fadd <2 x float> %668, %shift6511
  %672 = extractelement <2 x float> %671, i64 0
  %shift6512 = shufflevector <2 x float> %670, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %673 = fadd <2 x float> %670, %shift6512
  %674 = extractelement <2 x float> %673, i64 0
  %675 = load <4 x float>, ptr %662, align 4, !tbaa !13
  %676 = extractelement <4 x float> %675, i64 1
  %677 = fmul float %676, %640
  %678 = extractelement <4 x float> %675, i64 0
  %679 = call float @llvm.fmuladd.f32(float %638, float %678, float %677)
  %680 = fmul float %678, %639
  %681 = call float @llvm.fmuladd.f32(float %638, float %676, float %680)
  %682 = extractelement <4 x float> %675, i64 3
  %683 = fmul float %682, %643
  %684 = extractelement <4 x float> %675, i64 2
  %685 = call float @llvm.fmuladd.f32(float %641, float %684, float %683)
  %686 = fmul float %684, %642
  %687 = call float @llvm.fmuladd.f32(float %641, float %682, float %686)
  %688 = fadd float %672, %679
  %689 = fadd float %674, %681
  %690 = fadd float %688, %685
  %691 = fadd float %689, %687
  %692 = load <4 x float>, ptr %663, align 4, !tbaa !13
  %693 = extractelement <4 x float> %692, i64 1
  %694 = fmul float %693, %646
  %695 = extractelement <4 x float> %692, i64 0
  %696 = call float @llvm.fmuladd.f32(float %644, float %695, float %694)
  %697 = fmul float %695, %645
  %698 = call float @llvm.fmuladd.f32(float %644, float %693, float %697)
  %699 = extractelement <4 x float> %692, i64 3
  %700 = fmul float %699, %649
  %701 = extractelement <4 x float> %692, i64 2
  %702 = call float @llvm.fmuladd.f32(float %647, float %701, float %700)
  %703 = fmul float %701, %648
  %704 = call float @llvm.fmuladd.f32(float %647, float %699, float %703)
  %705 = fadd float %690, %696
  %706 = fadd float %691, %698
  %707 = fadd float %705, %702
  %708 = fadd float %704, %706
  %709 = fneg float %708
  %710 = insertelement <4 x float> poison, float %709, i64 0
  %711 = insertelement <4 x float> %710, float %708, i64 1
  %712 = shufflevector <4 x float> %711, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %713 = fmul <4 x float> %652, %712
  %714 = insertelement <4 x float> poison, float %707, i64 0
  %715 = shufflevector <4 x float> %714, <4 x float> poison, <4 x i32> zeroinitializer
  %716 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %715, <4 x float> %653, <4 x float> %713)
  %717 = fsub <4 x float> %664, %716
  store <4 x float> %717, ptr %661, align 4, !tbaa !13
  %718 = fmul <4 x float> %654, %712
  %719 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %715, <4 x float> %655, <4 x float> %718)
  %720 = fsub <4 x float> %675, %719
  store <4 x float> %720, ptr %662, align 4, !tbaa !13
  %721 = fmul <4 x float> %656, %712
  %722 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %715, <4 x float> %657, <4 x float> %721)
  %723 = fsub <4 x float> %692, %722
  store <4 x float> %723, ptr %663, align 4, !tbaa !13
  %724 = add nuw i64 %.54420, 1
  %exitcond4696.not = icmp eq i64 %.54420, %624
  br i1 %exitcond4696.not, label %.loopexit, label %658, !llvm.loop !20

725:                                              ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %726 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %726, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %727 = load float, ptr %4, align 4, !tbaa !9
  %728 = getelementptr inbounds i8, ptr %4, i64 4
  %729 = load float, ptr %728, align 4, !tbaa !12
  %730 = fneg float %729
  %731 = getelementptr inbounds i8, ptr %3, i64 8
  %732 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %733 = shufflevector <2 x float> %732, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %734 = insertelement <2 x float> poison, float %729, i64 0
  %735 = insertelement <2 x float> %734, float %730, i64 1
  %736 = fmul <2 x float> %732, %735
  %737 = insertelement <2 x float> poison, float %727, i64 0
  %738 = shufflevector <2 x float> %737, <2 x float> poison, <2 x i32> zeroinitializer
  %739 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %738, <2 x float> %733, <2 x float> %736)
  %740 = shufflevector <2 x float> %739, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %740, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %731) #5
  %741 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %741, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %742 = load float, ptr %4, align 4, !tbaa !9
  %743 = load float, ptr %728, align 4, !tbaa !12
  %744 = fneg float %743
  %745 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %746 = shufflevector <2 x float> %745, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %747 = insertelement <2 x float> poison, float %743, i64 0
  %748 = insertelement <2 x float> %747, float %744, i64 1
  %749 = fmul <2 x float> %745, %748
  %750 = insertelement <2 x float> poison, float %742, i64 0
  %751 = shufflevector <2 x float> %750, <2 x float> poison, <2 x i32> zeroinitializer
  %752 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %751, <2 x float> %746, <2 x float> %749)
  %753 = shufflevector <2 x float> %752, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %753, ptr %9, align 8, !tbaa !13
  %754 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %754) #5
  %755 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %755, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %756 = load float, ptr %4, align 4, !tbaa !9
  %757 = load float, ptr %728, align 4, !tbaa !12
  %758 = fneg float %757
  %759 = getelementptr inbounds i8, ptr %3, i64 24
  %760 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %761 = shufflevector <2 x float> %760, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %762 = insertelement <2 x float> poison, float %757, i64 0
  %763 = insertelement <2 x float> %762, float %758, i64 1
  %764 = fmul <2 x float> %760, %763
  %765 = insertelement <2 x float> poison, float %756, i64 0
  %766 = shufflevector <2 x float> %765, <2 x float> poison, <2 x i32> zeroinitializer
  %767 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %766, <2 x float> %761, <2 x float> %764)
  %768 = shufflevector <2 x float> %767, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %768, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %759) #5
  %769 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %769, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %770 = load float, ptr %4, align 4, !tbaa !9
  %771 = load float, ptr %728, align 4, !tbaa !12
  %772 = fneg float %771
  %773 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %774 = shufflevector <2 x float> %773, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %775 = insertelement <2 x float> poison, float %771, i64 0
  %776 = insertelement <2 x float> %775, float %772, i64 1
  %777 = fmul <2 x float> %773, %776
  %778 = insertelement <2 x float> poison, float %770, i64 0
  %779 = shufflevector <2 x float> %778, <2 x float> poison, <2 x i32> zeroinitializer
  %780 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %779, <2 x float> %774, <2 x float> %777)
  %781 = shufflevector <2 x float> %780, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %781, ptr %9, align 8, !tbaa !13
  %782 = getelementptr inbounds i8, ptr %3, i64 32
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %782) #5
  %783 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %783, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %784 = load float, ptr %4, align 4, !tbaa !9
  %785 = load float, ptr %728, align 4, !tbaa !12
  %786 = fneg float %785
  %787 = getelementptr inbounds i8, ptr %3, i64 40
  %788 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %789 = shufflevector <2 x float> %788, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %790 = insertelement <2 x float> poison, float %785, i64 0
  %791 = insertelement <2 x float> %790, float %786, i64 1
  %792 = fmul <2 x float> %788, %791
  %793 = insertelement <2 x float> poison, float %784, i64 0
  %794 = shufflevector <2 x float> %793, <2 x float> poison, <2 x i32> zeroinitializer
  %795 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %794, <2 x float> %789, <2 x float> %792)
  %796 = shufflevector <2 x float> %795, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %796, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %787) #5
  %797 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %797, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %798 = load float, ptr %4, align 4, !tbaa !9
  %799 = load float, ptr %728, align 4, !tbaa !12
  %800 = fneg float %799
  %801 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %802 = shufflevector <2 x float> %801, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %803 = insertelement <2 x float> poison, float %799, i64 0
  %804 = insertelement <2 x float> %803, float %800, i64 1
  %805 = fmul <2 x float> %801, %804
  %806 = insertelement <2 x float> poison, float %798, i64 0
  %807 = shufflevector <2 x float> %806, <2 x float> poison, <2 x i32> zeroinitializer
  %808 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %807, <2 x float> %802, <2 x float> %805)
  %809 = shufflevector <2 x float> %808, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %809, ptr %9, align 8, !tbaa !13
  %810 = getelementptr inbounds i8, ptr %3, i64 48
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %810) #5
  %811 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %811, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %812 = load float, ptr %4, align 4, !tbaa !9
  %813 = load float, ptr %728, align 4, !tbaa !12
  %814 = fneg float %813
  %815 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %816 = insertelement <2 x float> poison, float %813, i64 0
  %817 = insertelement <2 x float> %816, float %814, i64 1
  %818 = fmul <2 x float> %815, %817
  %819 = shufflevector <2 x float> %818, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %820 = insertelement <2 x float> poison, float %812, i64 0
  %821 = shufflevector <2 x float> %820, <2 x float> poison, <2 x i32> zeroinitializer
  %822 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %821, <2 x float> %815, <2 x float> %819)
  %823 = load i64, ptr %2, align 8, !tbaa !5
  %.not43414406 = icmp slt i64 %823, 1
  br i1 %.not43414406, label %.loopexit, label %.lr.ph4408

.lr.ph4408:                                       ; preds = %725
  %824 = getelementptr inbounds i8, ptr %18, i64 4
  %825 = getelementptr inbounds i8, ptr %17, i64 4
  %826 = getelementptr inbounds i8, ptr %16, i64 4
  %827 = getelementptr inbounds i8, ptr %15, i64 4
  %828 = getelementptr inbounds i8, ptr %14, i64 4
  %829 = getelementptr inbounds i8, ptr %13, i64 4
  %830 = getelementptr inbounds i8, ptr %12, i64 4
  %831 = load float, ptr %12, align 8, !tbaa !9
  %832 = load float, ptr %830, align 4, !tbaa !12
  %833 = load float, ptr %13, align 8, !tbaa !9
  %834 = load float, ptr %829, align 4, !tbaa !12
  %835 = insertelement <2 x float> poison, float %832, i64 0
  %836 = insertelement <2 x float> %835, float %834, i64 1
  %837 = fneg <2 x float> %836
  %838 = load float, ptr %14, align 8, !tbaa !9
  %839 = load float, ptr %828, align 4, !tbaa !12
  %840 = fneg float %839
  %841 = load float, ptr %15, align 8, !tbaa !9
  %842 = load float, ptr %827, align 4, !tbaa !12
  %843 = fneg float %842
  %844 = load float, ptr %16, align 8, !tbaa !9
  %845 = load float, ptr %826, align 4, !tbaa !12
  %846 = fneg float %845
  %847 = load float, ptr %17, align 8, !tbaa !9
  %848 = load float, ptr %825, align 4, !tbaa !12
  %849 = fneg float %848
  %850 = load float, ptr %18, align 8, !tbaa !9
  %851 = load float, ptr %824, align 4, !tbaa !12
  %852 = fneg float %851
  %853 = insertelement <2 x float> poison, float %831, i64 0
  %854 = insertelement <2 x float> %853, float %833, i64 1
  %855 = shufflevector <2 x float> %739, <2 x float> %752, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %856 = shufflevector <2 x float> %739, <2 x float> %752, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %857 = shufflevector <2 x float> %767, <2 x float> %780, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %858 = shufflevector <2 x float> %767, <2 x float> %780, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %859 = shufflevector <2 x float> %795, <2 x float> %808, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %860 = shufflevector <2 x float> %795, <2 x float> %808, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %861

861:                                              ; preds = %.lr.ph4408, %861
  %.64407 = phi i64 [ 1, %.lr.ph4408 ], [ %945, %861 ]
  %862 = mul nsw i64 %.64407, %22
  %863 = getelementptr %struct.complex, ptr %24, i64 %862
  %864 = getelementptr i8, ptr %863, i64 8
  %865 = getelementptr i8, ptr %863, i64 24
  %866 = getelementptr i8, ptr %863, i64 40
  %867 = getelementptr i8, ptr %863, i64 56
  %868 = load <4 x float>, ptr %864, align 4, !tbaa !13
  %869 = shufflevector <4 x float> %868, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %870 = fmul <2 x float> %869, %837
  %871 = shufflevector <4 x float> %868, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %872 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %854, <2 x float> %871, <2 x float> %870)
  %873 = fmul <2 x float> %871, %836
  %874 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %854, <2 x float> %869, <2 x float> %873)
  %shift6513 = shufflevector <2 x float> %872, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %875 = fadd <2 x float> %872, %shift6513
  %876 = extractelement <2 x float> %875, i64 0
  %shift6514 = shufflevector <2 x float> %874, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %877 = fadd <2 x float> %874, %shift6514
  %878 = extractelement <2 x float> %877, i64 0
  %879 = load <4 x float>, ptr %865, align 4, !tbaa !13
  %880 = extractelement <4 x float> %879, i64 1
  %881 = fmul float %880, %840
  %882 = extractelement <4 x float> %879, i64 0
  %883 = call float @llvm.fmuladd.f32(float %838, float %882, float %881)
  %884 = fmul float %882, %839
  %885 = call float @llvm.fmuladd.f32(float %838, float %880, float %884)
  %886 = extractelement <4 x float> %879, i64 3
  %887 = fmul float %886, %843
  %888 = extractelement <4 x float> %879, i64 2
  %889 = call float @llvm.fmuladd.f32(float %841, float %888, float %887)
  %890 = fmul float %888, %842
  %891 = call float @llvm.fmuladd.f32(float %841, float %886, float %890)
  %892 = fadd float %876, %883
  %893 = fadd float %878, %885
  %894 = fadd float %892, %889
  %895 = fadd float %893, %891
  %896 = load <4 x float>, ptr %866, align 4, !tbaa !13
  %897 = extractelement <4 x float> %896, i64 1
  %898 = fmul float %897, %846
  %899 = extractelement <4 x float> %896, i64 0
  %900 = call float @llvm.fmuladd.f32(float %844, float %899, float %898)
  %901 = fmul float %899, %845
  %902 = call float @llvm.fmuladd.f32(float %844, float %897, float %901)
  %903 = extractelement <4 x float> %896, i64 3
  %904 = fmul float %903, %849
  %905 = extractelement <4 x float> %896, i64 2
  %906 = call float @llvm.fmuladd.f32(float %847, float %905, float %904)
  %907 = fmul float %905, %848
  %908 = call float @llvm.fmuladd.f32(float %847, float %903, float %907)
  %909 = fadd float %894, %900
  %910 = fadd float %895, %902
  %911 = fadd float %909, %906
  %912 = fadd float %910, %908
  %913 = load <2 x float>, ptr %867, align 4, !tbaa !13
  %914 = extractelement <2 x float> %913, i64 1
  %915 = fmul float %914, %852
  %916 = extractelement <2 x float> %913, i64 0
  %917 = call float @llvm.fmuladd.f32(float %850, float %916, float %915)
  %918 = fmul float %916, %851
  %919 = call float @llvm.fmuladd.f32(float %850, float %914, float %918)
  %920 = fadd float %911, %917
  %921 = fadd float %919, %912
  %922 = fneg float %921
  %923 = insertelement <4 x float> poison, float %922, i64 0
  %924 = insertelement <4 x float> %923, float %921, i64 1
  %925 = shufflevector <4 x float> %924, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %926 = fmul <4 x float> %855, %925
  %927 = insertelement <4 x float> poison, float %920, i64 0
  %928 = shufflevector <4 x float> %927, <4 x float> poison, <4 x i32> zeroinitializer
  %929 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %928, <4 x float> %856, <4 x float> %926)
  %930 = fsub <4 x float> %868, %929
  store <4 x float> %930, ptr %864, align 4, !tbaa !13
  %931 = fmul <4 x float> %857, %925
  %932 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %928, <4 x float> %858, <4 x float> %931)
  %933 = fsub <4 x float> %879, %932
  store <4 x float> %933, ptr %865, align 4, !tbaa !13
  %934 = fmul <4 x float> %859, %925
  %935 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %928, <4 x float> %860, <4 x float> %934)
  %936 = fsub <4 x float> %896, %935
  store <4 x float> %936, ptr %866, align 4, !tbaa !13
  %937 = insertelement <2 x float> poison, float %921, i64 0
  %938 = insertelement <2 x float> %937, float %922, i64 1
  %939 = fmul <2 x float> %822, %938
  %940 = shufflevector <2 x float> %939, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %941 = insertelement <2 x float> poison, float %920, i64 0
  %942 = shufflevector <2 x float> %941, <2 x float> poison, <2 x i32> zeroinitializer
  %943 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %942, <2 x float> %822, <2 x float> %940)
  %944 = fsub <2 x float> %913, %943
  store <2 x float> %944, ptr %867, align 4, !tbaa !13
  %945 = add nuw i64 %.64407, 1
  %exitcond4695.not = icmp eq i64 %.64407, %823
  br i1 %exitcond4695.not, label %.loopexit, label %861, !llvm.loop !21

946:                                              ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %947 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %947, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %948 = load float, ptr %4, align 4, !tbaa !9
  %949 = getelementptr inbounds i8, ptr %4, i64 4
  %950 = load float, ptr %949, align 4, !tbaa !12
  %951 = fneg float %950
  %952 = getelementptr inbounds i8, ptr %3, i64 8
  %953 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %954 = shufflevector <2 x float> %953, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %955 = insertelement <2 x float> poison, float %950, i64 0
  %956 = insertelement <2 x float> %955, float %951, i64 1
  %957 = fmul <2 x float> %953, %956
  %958 = insertelement <2 x float> poison, float %948, i64 0
  %959 = shufflevector <2 x float> %958, <2 x float> poison, <2 x i32> zeroinitializer
  %960 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %959, <2 x float> %954, <2 x float> %957)
  %961 = shufflevector <2 x float> %960, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %961, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %952) #5
  %962 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %962, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %963 = load float, ptr %4, align 4, !tbaa !9
  %964 = load float, ptr %949, align 4, !tbaa !12
  %965 = fneg float %964
  %966 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %967 = shufflevector <2 x float> %966, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %968 = insertelement <2 x float> poison, float %964, i64 0
  %969 = insertelement <2 x float> %968, float %965, i64 1
  %970 = fmul <2 x float> %966, %969
  %971 = insertelement <2 x float> poison, float %963, i64 0
  %972 = shufflevector <2 x float> %971, <2 x float> poison, <2 x i32> zeroinitializer
  %973 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %972, <2 x float> %967, <2 x float> %970)
  %974 = shufflevector <2 x float> %973, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %974, ptr %9, align 8, !tbaa !13
  %975 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %975) #5
  %976 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %976, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %977 = load float, ptr %4, align 4, !tbaa !9
  %978 = load float, ptr %949, align 4, !tbaa !12
  %979 = fneg float %978
  %980 = getelementptr inbounds i8, ptr %3, i64 24
  %981 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %982 = shufflevector <2 x float> %981, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %983 = insertelement <2 x float> poison, float %978, i64 0
  %984 = insertelement <2 x float> %983, float %979, i64 1
  %985 = fmul <2 x float> %981, %984
  %986 = insertelement <2 x float> poison, float %977, i64 0
  %987 = shufflevector <2 x float> %986, <2 x float> poison, <2 x i32> zeroinitializer
  %988 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %987, <2 x float> %982, <2 x float> %985)
  %989 = shufflevector <2 x float> %988, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %989, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %980) #5
  %990 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %990, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %991 = load float, ptr %4, align 4, !tbaa !9
  %992 = load float, ptr %949, align 4, !tbaa !12
  %993 = fneg float %992
  %994 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %995 = shufflevector <2 x float> %994, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %996 = insertelement <2 x float> poison, float %992, i64 0
  %997 = insertelement <2 x float> %996, float %993, i64 1
  %998 = fmul <2 x float> %994, %997
  %999 = insertelement <2 x float> poison, float %991, i64 0
  %1000 = shufflevector <2 x float> %999, <2 x float> poison, <2 x i32> zeroinitializer
  %1001 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1000, <2 x float> %995, <2 x float> %998)
  %1002 = shufflevector <2 x float> %1001, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1002, ptr %9, align 8, !tbaa !13
  %1003 = getelementptr inbounds i8, ptr %3, i64 32
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1003) #5
  %1004 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1004, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %1005 = load float, ptr %4, align 4, !tbaa !9
  %1006 = load float, ptr %949, align 4, !tbaa !12
  %1007 = fneg float %1006
  %1008 = getelementptr inbounds i8, ptr %3, i64 40
  %1009 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1010 = shufflevector <2 x float> %1009, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1011 = insertelement <2 x float> poison, float %1006, i64 0
  %1012 = insertelement <2 x float> %1011, float %1007, i64 1
  %1013 = fmul <2 x float> %1009, %1012
  %1014 = insertelement <2 x float> poison, float %1005, i64 0
  %1015 = shufflevector <2 x float> %1014, <2 x float> poison, <2 x i32> zeroinitializer
  %1016 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1015, <2 x float> %1010, <2 x float> %1013)
  %1017 = shufflevector <2 x float> %1016, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1017, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1008) #5
  %1018 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1018, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %1019 = load float, ptr %4, align 4, !tbaa !9
  %1020 = load float, ptr %949, align 4, !tbaa !12
  %1021 = fneg float %1020
  %1022 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1023 = shufflevector <2 x float> %1022, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1024 = insertelement <2 x float> poison, float %1020, i64 0
  %1025 = insertelement <2 x float> %1024, float %1021, i64 1
  %1026 = fmul <2 x float> %1022, %1025
  %1027 = insertelement <2 x float> poison, float %1019, i64 0
  %1028 = shufflevector <2 x float> %1027, <2 x float> poison, <2 x i32> zeroinitializer
  %1029 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1028, <2 x float> %1023, <2 x float> %1026)
  %1030 = shufflevector <2 x float> %1029, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1030, ptr %9, align 8, !tbaa !13
  %1031 = getelementptr inbounds i8, ptr %3, i64 48
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1031) #5
  %1032 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1032, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %1033 = load float, ptr %4, align 4, !tbaa !9
  %1034 = load float, ptr %949, align 4, !tbaa !12
  %1035 = fneg float %1034
  %1036 = getelementptr inbounds i8, ptr %3, i64 56
  %1037 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1038 = shufflevector <2 x float> %1037, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1039 = insertelement <2 x float> poison, float %1034, i64 0
  %1040 = insertelement <2 x float> %1039, float %1035, i64 1
  %1041 = fmul <2 x float> %1037, %1040
  %1042 = insertelement <2 x float> poison, float %1033, i64 0
  %1043 = shufflevector <2 x float> %1042, <2 x float> poison, <2 x i32> zeroinitializer
  %1044 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1043, <2 x float> %1038, <2 x float> %1041)
  %1045 = shufflevector <2 x float> %1044, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1045, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1036) #5
  %1046 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1046, ptr %19, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %19) #5
  %1047 = load float, ptr %4, align 4, !tbaa !9
  %1048 = load float, ptr %949, align 4, !tbaa !12
  %1049 = fneg float %1048
  %1050 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1051 = shufflevector <2 x float> %1050, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1052 = insertelement <2 x float> poison, float %1048, i64 0
  %1053 = insertelement <2 x float> %1052, float %1049, i64 1
  %1054 = fmul <2 x float> %1050, %1053
  %1055 = insertelement <2 x float> poison, float %1047, i64 0
  %1056 = shufflevector <2 x float> %1055, <2 x float> poison, <2 x i32> zeroinitializer
  %1057 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1056, <2 x float> %1051, <2 x float> %1054)
  %1058 = load i64, ptr %2, align 8, !tbaa !5
  %.not43404393 = icmp slt i64 %1058, 1
  br i1 %.not43404393, label %.loopexit, label %.lr.ph4395

.lr.ph4395:                                       ; preds = %946
  %1059 = getelementptr inbounds i8, ptr %19, i64 4
  %1060 = getelementptr inbounds i8, ptr %18, i64 4
  %1061 = getelementptr inbounds i8, ptr %17, i64 4
  %1062 = getelementptr inbounds i8, ptr %16, i64 4
  %1063 = getelementptr inbounds i8, ptr %15, i64 4
  %1064 = getelementptr inbounds i8, ptr %14, i64 4
  %1065 = getelementptr inbounds i8, ptr %13, i64 4
  %1066 = getelementptr inbounds i8, ptr %12, i64 4
  %1067 = load float, ptr %12, align 8, !tbaa !9
  %1068 = load float, ptr %1066, align 4, !tbaa !12
  %1069 = load float, ptr %13, align 8, !tbaa !9
  %1070 = load float, ptr %1065, align 4, !tbaa !12
  %1071 = insertelement <2 x float> poison, float %1068, i64 0
  %1072 = insertelement <2 x float> %1071, float %1070, i64 1
  %1073 = fneg <2 x float> %1072
  %1074 = load float, ptr %14, align 8, !tbaa !9
  %1075 = load float, ptr %1064, align 4, !tbaa !12
  %1076 = fneg float %1075
  %1077 = load float, ptr %15, align 8, !tbaa !9
  %1078 = load float, ptr %1063, align 4, !tbaa !12
  %1079 = fneg float %1078
  %1080 = load float, ptr %16, align 8, !tbaa !9
  %1081 = load float, ptr %1062, align 4, !tbaa !12
  %1082 = fneg float %1081
  %1083 = load float, ptr %17, align 8, !tbaa !9
  %1084 = load float, ptr %1061, align 4, !tbaa !12
  %1085 = fneg float %1084
  %1086 = load float, ptr %18, align 8, !tbaa !9
  %1087 = load float, ptr %1060, align 4, !tbaa !12
  %1088 = fneg float %1087
  %1089 = load float, ptr %19, align 8, !tbaa !9
  %1090 = load float, ptr %1059, align 4, !tbaa !12
  %1091 = fneg float %1090
  %1092 = insertelement <2 x float> poison, float %1067, i64 0
  %1093 = insertelement <2 x float> %1092, float %1069, i64 1
  %1094 = shufflevector <2 x float> %960, <2 x float> %973, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1095 = shufflevector <2 x float> %960, <2 x float> %973, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1096 = shufflevector <2 x float> %988, <2 x float> %1001, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1097 = shufflevector <2 x float> %988, <2 x float> %1001, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1098 = shufflevector <2 x float> %1016, <2 x float> %1029, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1099 = shufflevector <2 x float> %1016, <2 x float> %1029, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1100 = shufflevector <2 x float> %1044, <2 x float> %1057, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1101 = shufflevector <2 x float> %1044, <2 x float> %1057, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %1102

1102:                                             ; preds = %.lr.ph4395, %1102
  %.74394 = phi i64 [ 1, %.lr.ph4395 ], [ %1189, %1102 ]
  %1103 = mul nsw i64 %.74394, %22
  %1104 = getelementptr %struct.complex, ptr %24, i64 %1103
  %1105 = getelementptr i8, ptr %1104, i64 8
  %1106 = getelementptr i8, ptr %1104, i64 24
  %1107 = getelementptr i8, ptr %1104, i64 40
  %1108 = getelementptr i8, ptr %1104, i64 56
  %1109 = load <4 x float>, ptr %1105, align 4, !tbaa !13
  %1110 = shufflevector <4 x float> %1109, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %1111 = fmul <2 x float> %1110, %1073
  %1112 = shufflevector <4 x float> %1109, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %1113 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1093, <2 x float> %1112, <2 x float> %1111)
  %1114 = fmul <2 x float> %1112, %1072
  %1115 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1093, <2 x float> %1110, <2 x float> %1114)
  %shift6515 = shufflevector <2 x float> %1113, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1116 = fadd <2 x float> %1113, %shift6515
  %1117 = extractelement <2 x float> %1116, i64 0
  %shift6516 = shufflevector <2 x float> %1115, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1118 = fadd <2 x float> %1115, %shift6516
  %1119 = extractelement <2 x float> %1118, i64 0
  %1120 = load <4 x float>, ptr %1106, align 4, !tbaa !13
  %1121 = extractelement <4 x float> %1120, i64 1
  %1122 = fmul float %1121, %1076
  %1123 = extractelement <4 x float> %1120, i64 0
  %1124 = call float @llvm.fmuladd.f32(float %1074, float %1123, float %1122)
  %1125 = fmul float %1123, %1075
  %1126 = call float @llvm.fmuladd.f32(float %1074, float %1121, float %1125)
  %1127 = extractelement <4 x float> %1120, i64 3
  %1128 = fmul float %1127, %1079
  %1129 = extractelement <4 x float> %1120, i64 2
  %1130 = call float @llvm.fmuladd.f32(float %1077, float %1129, float %1128)
  %1131 = fmul float %1129, %1078
  %1132 = call float @llvm.fmuladd.f32(float %1077, float %1127, float %1131)
  %1133 = fadd float %1117, %1124
  %1134 = fadd float %1119, %1126
  %1135 = fadd float %1133, %1130
  %1136 = fadd float %1134, %1132
  %1137 = load <4 x float>, ptr %1107, align 4, !tbaa !13
  %1138 = extractelement <4 x float> %1137, i64 1
  %1139 = fmul float %1138, %1082
  %1140 = extractelement <4 x float> %1137, i64 0
  %1141 = call float @llvm.fmuladd.f32(float %1080, float %1140, float %1139)
  %1142 = fmul float %1140, %1081
  %1143 = call float @llvm.fmuladd.f32(float %1080, float %1138, float %1142)
  %1144 = extractelement <4 x float> %1137, i64 3
  %1145 = fmul float %1144, %1085
  %1146 = extractelement <4 x float> %1137, i64 2
  %1147 = call float @llvm.fmuladd.f32(float %1083, float %1146, float %1145)
  %1148 = fmul float %1146, %1084
  %1149 = call float @llvm.fmuladd.f32(float %1083, float %1144, float %1148)
  %1150 = fadd float %1135, %1141
  %1151 = fadd float %1136, %1143
  %1152 = fadd float %1150, %1147
  %1153 = fadd float %1151, %1149
  %1154 = load <4 x float>, ptr %1108, align 4, !tbaa !13
  %1155 = extractelement <4 x float> %1154, i64 1
  %1156 = fmul float %1155, %1088
  %1157 = extractelement <4 x float> %1154, i64 0
  %1158 = call float @llvm.fmuladd.f32(float %1086, float %1157, float %1156)
  %1159 = fmul float %1157, %1087
  %1160 = call float @llvm.fmuladd.f32(float %1086, float %1155, float %1159)
  %1161 = extractelement <4 x float> %1154, i64 3
  %1162 = fmul float %1161, %1091
  %1163 = extractelement <4 x float> %1154, i64 2
  %1164 = call float @llvm.fmuladd.f32(float %1089, float %1163, float %1162)
  %1165 = fmul float %1163, %1090
  %1166 = call float @llvm.fmuladd.f32(float %1089, float %1161, float %1165)
  %1167 = fadd float %1152, %1158
  %1168 = fadd float %1153, %1160
  %1169 = fadd float %1167, %1164
  %1170 = fadd float %1166, %1168
  %1171 = fneg float %1170
  %1172 = insertelement <4 x float> poison, float %1171, i64 0
  %1173 = insertelement <4 x float> %1172, float %1170, i64 1
  %1174 = shufflevector <4 x float> %1173, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %1175 = fmul <4 x float> %1094, %1174
  %1176 = insertelement <4 x float> poison, float %1169, i64 0
  %1177 = shufflevector <4 x float> %1176, <4 x float> poison, <4 x i32> zeroinitializer
  %1178 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1177, <4 x float> %1095, <4 x float> %1175)
  %1179 = fsub <4 x float> %1109, %1178
  store <4 x float> %1179, ptr %1105, align 4, !tbaa !13
  %1180 = fmul <4 x float> %1096, %1174
  %1181 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1177, <4 x float> %1097, <4 x float> %1180)
  %1182 = fsub <4 x float> %1120, %1181
  store <4 x float> %1182, ptr %1106, align 4, !tbaa !13
  %1183 = fmul <4 x float> %1098, %1174
  %1184 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1177, <4 x float> %1099, <4 x float> %1183)
  %1185 = fsub <4 x float> %1137, %1184
  store <4 x float> %1185, ptr %1107, align 4, !tbaa !13
  %1186 = fmul <4 x float> %1100, %1174
  %1187 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1177, <4 x float> %1101, <4 x float> %1186)
  %1188 = fsub <4 x float> %1154, %1187
  store <4 x float> %1188, ptr %1108, align 4, !tbaa !13
  %1189 = add nuw i64 %.74394, 1
  %exitcond4694.not = icmp eq i64 %.74394, %1058
  br i1 %exitcond4694.not, label %.loopexit, label %1102, !llvm.loop !22

1190:                                             ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %1191 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1191, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %1192 = load float, ptr %4, align 4, !tbaa !9
  %1193 = getelementptr inbounds i8, ptr %4, i64 4
  %1194 = load float, ptr %1193, align 4, !tbaa !12
  %1195 = fneg float %1194
  %1196 = getelementptr inbounds i8, ptr %3, i64 8
  %1197 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1198 = shufflevector <2 x float> %1197, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1199 = insertelement <2 x float> poison, float %1194, i64 0
  %1200 = insertelement <2 x float> %1199, float %1195, i64 1
  %1201 = fmul <2 x float> %1197, %1200
  %1202 = insertelement <2 x float> poison, float %1192, i64 0
  %1203 = shufflevector <2 x float> %1202, <2 x float> poison, <2 x i32> zeroinitializer
  %1204 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1203, <2 x float> %1198, <2 x float> %1201)
  %1205 = shufflevector <2 x float> %1204, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1205, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1196) #5
  %1206 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1206, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %1207 = load float, ptr %4, align 4, !tbaa !9
  %1208 = load float, ptr %1193, align 4, !tbaa !12
  %1209 = fneg float %1208
  %1210 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1211 = shufflevector <2 x float> %1210, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1212 = insertelement <2 x float> poison, float %1208, i64 0
  %1213 = insertelement <2 x float> %1212, float %1209, i64 1
  %1214 = fmul <2 x float> %1210, %1213
  %1215 = insertelement <2 x float> poison, float %1207, i64 0
  %1216 = shufflevector <2 x float> %1215, <2 x float> poison, <2 x i32> zeroinitializer
  %1217 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1216, <2 x float> %1211, <2 x float> %1214)
  %1218 = shufflevector <2 x float> %1217, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1218, ptr %9, align 8, !tbaa !13
  %1219 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1219) #5
  %1220 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1220, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %1221 = load float, ptr %4, align 4, !tbaa !9
  %1222 = load float, ptr %1193, align 4, !tbaa !12
  %1223 = fneg float %1222
  %1224 = getelementptr inbounds i8, ptr %3, i64 24
  %1225 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1226 = shufflevector <2 x float> %1225, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1227 = insertelement <2 x float> poison, float %1222, i64 0
  %1228 = insertelement <2 x float> %1227, float %1223, i64 1
  %1229 = fmul <2 x float> %1225, %1228
  %1230 = insertelement <2 x float> poison, float %1221, i64 0
  %1231 = shufflevector <2 x float> %1230, <2 x float> poison, <2 x i32> zeroinitializer
  %1232 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1231, <2 x float> %1226, <2 x float> %1229)
  %1233 = shufflevector <2 x float> %1232, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1233, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1224) #5
  %1234 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1234, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %1235 = load float, ptr %4, align 4, !tbaa !9
  %1236 = load float, ptr %1193, align 4, !tbaa !12
  %1237 = fneg float %1236
  %1238 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1239 = shufflevector <2 x float> %1238, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1240 = insertelement <2 x float> poison, float %1236, i64 0
  %1241 = insertelement <2 x float> %1240, float %1237, i64 1
  %1242 = fmul <2 x float> %1238, %1241
  %1243 = insertelement <2 x float> poison, float %1235, i64 0
  %1244 = shufflevector <2 x float> %1243, <2 x float> poison, <2 x i32> zeroinitializer
  %1245 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1244, <2 x float> %1239, <2 x float> %1242)
  %1246 = shufflevector <2 x float> %1245, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1246, ptr %9, align 8, !tbaa !13
  %1247 = getelementptr inbounds i8, ptr %3, i64 32
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1247) #5
  %1248 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1248, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %1249 = load float, ptr %4, align 4, !tbaa !9
  %1250 = load float, ptr %1193, align 4, !tbaa !12
  %1251 = fneg float %1250
  %1252 = getelementptr inbounds i8, ptr %3, i64 40
  %1253 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1254 = shufflevector <2 x float> %1253, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1255 = insertelement <2 x float> poison, float %1250, i64 0
  %1256 = insertelement <2 x float> %1255, float %1251, i64 1
  %1257 = fmul <2 x float> %1253, %1256
  %1258 = insertelement <2 x float> poison, float %1249, i64 0
  %1259 = shufflevector <2 x float> %1258, <2 x float> poison, <2 x i32> zeroinitializer
  %1260 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1259, <2 x float> %1254, <2 x float> %1257)
  %1261 = shufflevector <2 x float> %1260, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1261, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1252) #5
  %1262 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1262, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %1263 = load float, ptr %4, align 4, !tbaa !9
  %1264 = load float, ptr %1193, align 4, !tbaa !12
  %1265 = fneg float %1264
  %1266 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1267 = shufflevector <2 x float> %1266, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1268 = insertelement <2 x float> poison, float %1264, i64 0
  %1269 = insertelement <2 x float> %1268, float %1265, i64 1
  %1270 = fmul <2 x float> %1266, %1269
  %1271 = insertelement <2 x float> poison, float %1263, i64 0
  %1272 = shufflevector <2 x float> %1271, <2 x float> poison, <2 x i32> zeroinitializer
  %1273 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1272, <2 x float> %1267, <2 x float> %1270)
  %1274 = shufflevector <2 x float> %1273, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1274, ptr %9, align 8, !tbaa !13
  %1275 = getelementptr inbounds i8, ptr %3, i64 48
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1275) #5
  %1276 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1276, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %1277 = load float, ptr %4, align 4, !tbaa !9
  %1278 = load float, ptr %1193, align 4, !tbaa !12
  %1279 = fneg float %1278
  %1280 = getelementptr inbounds i8, ptr %3, i64 56
  %1281 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1282 = shufflevector <2 x float> %1281, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1283 = insertelement <2 x float> poison, float %1278, i64 0
  %1284 = insertelement <2 x float> %1283, float %1279, i64 1
  %1285 = fmul <2 x float> %1281, %1284
  %1286 = insertelement <2 x float> poison, float %1277, i64 0
  %1287 = shufflevector <2 x float> %1286, <2 x float> poison, <2 x i32> zeroinitializer
  %1288 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1287, <2 x float> %1282, <2 x float> %1285)
  %1289 = shufflevector <2 x float> %1288, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1289, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1280) #5
  %1290 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1290, ptr %19, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %19) #5
  %1291 = load float, ptr %4, align 4, !tbaa !9
  %1292 = load float, ptr %1193, align 4, !tbaa !12
  %1293 = fneg float %1292
  %1294 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1295 = shufflevector <2 x float> %1294, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1296 = insertelement <2 x float> poison, float %1292, i64 0
  %1297 = insertelement <2 x float> %1296, float %1293, i64 1
  %1298 = fmul <2 x float> %1294, %1297
  %1299 = insertelement <2 x float> poison, float %1291, i64 0
  %1300 = shufflevector <2 x float> %1299, <2 x float> poison, <2 x i32> zeroinitializer
  %1301 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1300, <2 x float> %1295, <2 x float> %1298)
  %1302 = shufflevector <2 x float> %1301, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1302, ptr %9, align 8, !tbaa !13
  %1303 = getelementptr inbounds i8, ptr %3, i64 64
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1303) #5
  %1304 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1304, ptr %20, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %20) #5
  %1305 = load float, ptr %4, align 4, !tbaa !9
  %1306 = load float, ptr %1193, align 4, !tbaa !12
  %1307 = fneg float %1306
  %1308 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1309 = insertelement <2 x float> poison, float %1306, i64 0
  %1310 = insertelement <2 x float> %1309, float %1307, i64 1
  %1311 = fmul <2 x float> %1308, %1310
  %1312 = shufflevector <2 x float> %1311, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1313 = insertelement <2 x float> poison, float %1305, i64 0
  %1314 = shufflevector <2 x float> %1313, <2 x float> poison, <2 x i32> zeroinitializer
  %1315 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1314, <2 x float> %1308, <2 x float> %1312)
  %1316 = load i64, ptr %2, align 8, !tbaa !5
  %.not43394380 = icmp slt i64 %1316, 1
  br i1 %.not43394380, label %.loopexit, label %.lr.ph4382

.lr.ph4382:                                       ; preds = %1190
  %1317 = getelementptr inbounds i8, ptr %20, i64 4
  %1318 = getelementptr inbounds i8, ptr %19, i64 4
  %1319 = getelementptr inbounds i8, ptr %18, i64 4
  %1320 = getelementptr inbounds i8, ptr %17, i64 4
  %1321 = getelementptr inbounds i8, ptr %16, i64 4
  %1322 = getelementptr inbounds i8, ptr %15, i64 4
  %1323 = getelementptr inbounds i8, ptr %14, i64 4
  %1324 = getelementptr inbounds i8, ptr %13, i64 4
  %1325 = getelementptr inbounds i8, ptr %12, i64 4
  %1326 = load float, ptr %12, align 8, !tbaa !9
  %1327 = load float, ptr %1325, align 4, !tbaa !12
  %1328 = load float, ptr %13, align 8, !tbaa !9
  %1329 = load float, ptr %1324, align 4, !tbaa !12
  %1330 = insertelement <2 x float> poison, float %1327, i64 0
  %1331 = insertelement <2 x float> %1330, float %1329, i64 1
  %1332 = fneg <2 x float> %1331
  %1333 = load float, ptr %14, align 8, !tbaa !9
  %1334 = load float, ptr %1323, align 4, !tbaa !12
  %1335 = fneg float %1334
  %1336 = load float, ptr %15, align 8, !tbaa !9
  %1337 = load float, ptr %1322, align 4, !tbaa !12
  %1338 = fneg float %1337
  %1339 = load float, ptr %16, align 8, !tbaa !9
  %1340 = load float, ptr %1321, align 4, !tbaa !12
  %1341 = fneg float %1340
  %1342 = load float, ptr %17, align 8, !tbaa !9
  %1343 = load float, ptr %1320, align 4, !tbaa !12
  %1344 = fneg float %1343
  %1345 = load float, ptr %18, align 8, !tbaa !9
  %1346 = load float, ptr %1319, align 4, !tbaa !12
  %1347 = fneg float %1346
  %1348 = load float, ptr %19, align 8, !tbaa !9
  %1349 = load float, ptr %1318, align 4, !tbaa !12
  %1350 = fneg float %1349
  %1351 = load float, ptr %20, align 8, !tbaa !9
  %1352 = load float, ptr %1317, align 4, !tbaa !12
  %1353 = fneg float %1352
  %1354 = insertelement <2 x float> poison, float %1326, i64 0
  %1355 = insertelement <2 x float> %1354, float %1328, i64 1
  %1356 = shufflevector <2 x float> %1204, <2 x float> %1217, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1357 = shufflevector <2 x float> %1204, <2 x float> %1217, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1358 = shufflevector <2 x float> %1232, <2 x float> %1245, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1359 = shufflevector <2 x float> %1232, <2 x float> %1245, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1360 = shufflevector <2 x float> %1260, <2 x float> %1273, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1361 = shufflevector <2 x float> %1260, <2 x float> %1273, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1362 = shufflevector <2 x float> %1288, <2 x float> %1301, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1363 = shufflevector <2 x float> %1288, <2 x float> %1301, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %1364

1364:                                             ; preds = %.lr.ph4382, %1364
  %.84381 = phi i64 [ 1, %.lr.ph4382 ], [ %1469, %1364 ]
  %1365 = mul nsw i64 %.84381, %22
  %1366 = getelementptr %struct.complex, ptr %24, i64 %1365
  %1367 = getelementptr i8, ptr %1366, i64 8
  %1368 = getelementptr i8, ptr %1366, i64 24
  %1369 = getelementptr i8, ptr %1366, i64 40
  %1370 = getelementptr i8, ptr %1366, i64 56
  %1371 = getelementptr i8, ptr %1366, i64 72
  %1372 = load <4 x float>, ptr %1367, align 4, !tbaa !13
  %1373 = shufflevector <4 x float> %1372, <4 x float> poison, <2 x i32> <i32 1, i32 3>
  %1374 = fmul <2 x float> %1373, %1332
  %1375 = shufflevector <4 x float> %1372, <4 x float> poison, <2 x i32> <i32 0, i32 2>
  %1376 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1355, <2 x float> %1375, <2 x float> %1374)
  %1377 = fmul <2 x float> %1375, %1331
  %1378 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1355, <2 x float> %1373, <2 x float> %1377)
  %shift6517 = shufflevector <2 x float> %1376, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1379 = fadd <2 x float> %1376, %shift6517
  %1380 = extractelement <2 x float> %1379, i64 0
  %shift6518 = shufflevector <2 x float> %1378, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1381 = fadd <2 x float> %1378, %shift6518
  %1382 = extractelement <2 x float> %1381, i64 0
  %1383 = load <4 x float>, ptr %1368, align 4, !tbaa !13
  %1384 = extractelement <4 x float> %1383, i64 1
  %1385 = fmul float %1384, %1335
  %1386 = extractelement <4 x float> %1383, i64 0
  %1387 = call float @llvm.fmuladd.f32(float %1333, float %1386, float %1385)
  %1388 = fmul float %1386, %1334
  %1389 = call float @llvm.fmuladd.f32(float %1333, float %1384, float %1388)
  %1390 = extractelement <4 x float> %1383, i64 3
  %1391 = fmul float %1390, %1338
  %1392 = extractelement <4 x float> %1383, i64 2
  %1393 = call float @llvm.fmuladd.f32(float %1336, float %1392, float %1391)
  %1394 = fmul float %1392, %1337
  %1395 = call float @llvm.fmuladd.f32(float %1336, float %1390, float %1394)
  %1396 = fadd float %1380, %1387
  %1397 = fadd float %1382, %1389
  %1398 = fadd float %1396, %1393
  %1399 = fadd float %1397, %1395
  %1400 = load <4 x float>, ptr %1369, align 4, !tbaa !13
  %1401 = extractelement <4 x float> %1400, i64 1
  %1402 = fmul float %1401, %1341
  %1403 = extractelement <4 x float> %1400, i64 0
  %1404 = call float @llvm.fmuladd.f32(float %1339, float %1403, float %1402)
  %1405 = fmul float %1403, %1340
  %1406 = call float @llvm.fmuladd.f32(float %1339, float %1401, float %1405)
  %1407 = extractelement <4 x float> %1400, i64 3
  %1408 = fmul float %1407, %1344
  %1409 = extractelement <4 x float> %1400, i64 2
  %1410 = call float @llvm.fmuladd.f32(float %1342, float %1409, float %1408)
  %1411 = fmul float %1409, %1343
  %1412 = call float @llvm.fmuladd.f32(float %1342, float %1407, float %1411)
  %1413 = fadd float %1398, %1404
  %1414 = fadd float %1399, %1406
  %1415 = fadd float %1413, %1410
  %1416 = fadd float %1414, %1412
  %1417 = load <4 x float>, ptr %1370, align 4, !tbaa !13
  %1418 = extractelement <4 x float> %1417, i64 1
  %1419 = fmul float %1418, %1347
  %1420 = extractelement <4 x float> %1417, i64 0
  %1421 = call float @llvm.fmuladd.f32(float %1345, float %1420, float %1419)
  %1422 = fmul float %1420, %1346
  %1423 = call float @llvm.fmuladd.f32(float %1345, float %1418, float %1422)
  %1424 = extractelement <4 x float> %1417, i64 3
  %1425 = fmul float %1424, %1350
  %1426 = extractelement <4 x float> %1417, i64 2
  %1427 = call float @llvm.fmuladd.f32(float %1348, float %1426, float %1425)
  %1428 = fmul float %1426, %1349
  %1429 = call float @llvm.fmuladd.f32(float %1348, float %1424, float %1428)
  %1430 = fadd float %1415, %1421
  %1431 = fadd float %1416, %1423
  %1432 = fadd float %1430, %1427
  %1433 = fadd float %1431, %1429
  %1434 = load <2 x float>, ptr %1371, align 4, !tbaa !13
  %1435 = extractelement <2 x float> %1434, i64 1
  %1436 = fmul float %1435, %1353
  %1437 = extractelement <2 x float> %1434, i64 0
  %1438 = call float @llvm.fmuladd.f32(float %1351, float %1437, float %1436)
  %1439 = fmul float %1437, %1352
  %1440 = call float @llvm.fmuladd.f32(float %1351, float %1435, float %1439)
  %1441 = fadd float %1432, %1438
  %1442 = fadd float %1440, %1433
  %1443 = fneg float %1442
  %1444 = insertelement <4 x float> poison, float %1443, i64 0
  %1445 = insertelement <4 x float> %1444, float %1442, i64 1
  %1446 = shufflevector <4 x float> %1445, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %1447 = fmul <4 x float> %1356, %1446
  %1448 = insertelement <4 x float> poison, float %1441, i64 0
  %1449 = shufflevector <4 x float> %1448, <4 x float> poison, <4 x i32> zeroinitializer
  %1450 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1449, <4 x float> %1357, <4 x float> %1447)
  %1451 = fsub <4 x float> %1372, %1450
  store <4 x float> %1451, ptr %1367, align 4, !tbaa !13
  %1452 = fmul <4 x float> %1358, %1446
  %1453 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1449, <4 x float> %1359, <4 x float> %1452)
  %1454 = fsub <4 x float> %1383, %1453
  store <4 x float> %1454, ptr %1368, align 4, !tbaa !13
  %1455 = fmul <4 x float> %1360, %1446
  %1456 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1449, <4 x float> %1361, <4 x float> %1455)
  %1457 = fsub <4 x float> %1400, %1456
  store <4 x float> %1457, ptr %1369, align 4, !tbaa !13
  %1458 = fmul <4 x float> %1362, %1446
  %1459 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1449, <4 x float> %1363, <4 x float> %1458)
  %1460 = fsub <4 x float> %1417, %1459
  store <4 x float> %1460, ptr %1370, align 4, !tbaa !13
  %1461 = insertelement <2 x float> poison, float %1442, i64 0
  %1462 = insertelement <2 x float> %1461, float %1443, i64 1
  %1463 = fmul <2 x float> %1315, %1462
  %1464 = shufflevector <2 x float> %1463, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1465 = insertelement <2 x float> poison, float %1441, i64 0
  %1466 = shufflevector <2 x float> %1465, <2 x float> poison, <2 x i32> zeroinitializer
  %1467 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1466, <2 x float> %1315, <2 x float> %1464)
  %1468 = fsub <2 x float> %1434, %1467
  store <2 x float> %1468, ptr %1371, align 4, !tbaa !13
  %1469 = add nuw i64 %.84381, 1
  %exitcond4693.not = icmp eq i64 %.84381, %1316
  br i1 %exitcond4693.not, label %.loopexit, label %1364, !llvm.loop !23

1470:                                             ; preds = %33
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef %3) #5
  %1471 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1471, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %1472 = load float, ptr %4, align 4, !tbaa !9
  %1473 = getelementptr inbounds i8, ptr %4, i64 4
  %1474 = load float, ptr %1473, align 4, !tbaa !12
  %1475 = fneg float %1474
  %1476 = getelementptr inbounds i8, ptr %3, i64 8
  %1477 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1478 = shufflevector <2 x float> %1477, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1479 = insertelement <2 x float> poison, float %1474, i64 0
  %1480 = insertelement <2 x float> %1479, float %1475, i64 1
  %1481 = fmul <2 x float> %1477, %1480
  %1482 = insertelement <2 x float> poison, float %1472, i64 0
  %1483 = shufflevector <2 x float> %1482, <2 x float> poison, <2 x i32> zeroinitializer
  %1484 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1483, <2 x float> %1478, <2 x float> %1481)
  %1485 = shufflevector <2 x float> %1484, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1485, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1476) #5
  %1486 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1486, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %1487 = load float, ptr %4, align 4, !tbaa !9
  %1488 = load float, ptr %1473, align 4, !tbaa !12
  %1489 = fneg float %1488
  %1490 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1491 = shufflevector <2 x float> %1490, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1492 = insertelement <2 x float> poison, float %1488, i64 0
  %1493 = insertelement <2 x float> %1492, float %1489, i64 1
  %1494 = fmul <2 x float> %1490, %1493
  %1495 = insertelement <2 x float> poison, float %1487, i64 0
  %1496 = shufflevector <2 x float> %1495, <2 x float> poison, <2 x i32> zeroinitializer
  %1497 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1496, <2 x float> %1491, <2 x float> %1494)
  %1498 = shufflevector <2 x float> %1497, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1498, ptr %9, align 8, !tbaa !13
  %1499 = getelementptr inbounds i8, ptr %3, i64 16
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1499) #5
  %1500 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1500, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %1501 = load float, ptr %4, align 4, !tbaa !9
  %1502 = load float, ptr %1473, align 4, !tbaa !12
  %1503 = fneg float %1502
  %1504 = getelementptr inbounds i8, ptr %3, i64 24
  %1505 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1506 = shufflevector <2 x float> %1505, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1507 = insertelement <2 x float> poison, float %1502, i64 0
  %1508 = insertelement <2 x float> %1507, float %1503, i64 1
  %1509 = fmul <2 x float> %1505, %1508
  %1510 = insertelement <2 x float> poison, float %1501, i64 0
  %1511 = shufflevector <2 x float> %1510, <2 x float> poison, <2 x i32> zeroinitializer
  %1512 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1511, <2 x float> %1506, <2 x float> %1509)
  %1513 = shufflevector <2 x float> %1512, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1513, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1504) #5
  %1514 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1514, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %1515 = load float, ptr %4, align 4, !tbaa !9
  %1516 = load float, ptr %1473, align 4, !tbaa !12
  %1517 = fneg float %1516
  %1518 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1519 = shufflevector <2 x float> %1518, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1520 = insertelement <2 x float> poison, float %1516, i64 0
  %1521 = insertelement <2 x float> %1520, float %1517, i64 1
  %1522 = fmul <2 x float> %1518, %1521
  %1523 = insertelement <2 x float> poison, float %1515, i64 0
  %1524 = shufflevector <2 x float> %1523, <2 x float> poison, <2 x i32> zeroinitializer
  %1525 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1524, <2 x float> %1519, <2 x float> %1522)
  %1526 = shufflevector <2 x float> %1525, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1526, ptr %9, align 8, !tbaa !13
  %1527 = getelementptr inbounds i8, ptr %3, i64 32
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1527) #5
  %1528 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1528, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %1529 = load float, ptr %4, align 4, !tbaa !9
  %1530 = load float, ptr %1473, align 4, !tbaa !12
  %1531 = fneg float %1530
  %1532 = getelementptr inbounds i8, ptr %3, i64 40
  %1533 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1534 = shufflevector <2 x float> %1533, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1535 = insertelement <2 x float> poison, float %1530, i64 0
  %1536 = insertelement <2 x float> %1535, float %1531, i64 1
  %1537 = fmul <2 x float> %1533, %1536
  %1538 = insertelement <2 x float> poison, float %1529, i64 0
  %1539 = shufflevector <2 x float> %1538, <2 x float> poison, <2 x i32> zeroinitializer
  %1540 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1539, <2 x float> %1534, <2 x float> %1537)
  %1541 = shufflevector <2 x float> %1540, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1541, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1532) #5
  %1542 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1542, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %1543 = load float, ptr %4, align 4, !tbaa !9
  %1544 = load float, ptr %1473, align 4, !tbaa !12
  %1545 = fneg float %1544
  %1546 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1547 = shufflevector <2 x float> %1546, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1548 = insertelement <2 x float> poison, float %1544, i64 0
  %1549 = insertelement <2 x float> %1548, float %1545, i64 1
  %1550 = fmul <2 x float> %1546, %1549
  %1551 = insertelement <2 x float> poison, float %1543, i64 0
  %1552 = shufflevector <2 x float> %1551, <2 x float> poison, <2 x i32> zeroinitializer
  %1553 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1552, <2 x float> %1547, <2 x float> %1550)
  %1554 = shufflevector <2 x float> %1553, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1554, ptr %9, align 8, !tbaa !13
  %1555 = getelementptr inbounds i8, ptr %3, i64 48
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1555) #5
  %1556 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1556, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %1557 = load float, ptr %4, align 4, !tbaa !9
  %1558 = load float, ptr %1473, align 4, !tbaa !12
  %1559 = fneg float %1558
  %1560 = getelementptr inbounds i8, ptr %3, i64 56
  %1561 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1562 = shufflevector <2 x float> %1561, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1563 = insertelement <2 x float> poison, float %1558, i64 0
  %1564 = insertelement <2 x float> %1563, float %1559, i64 1
  %1565 = fmul <2 x float> %1561, %1564
  %1566 = insertelement <2 x float> poison, float %1557, i64 0
  %1567 = shufflevector <2 x float> %1566, <2 x float> poison, <2 x i32> zeroinitializer
  %1568 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1567, <2 x float> %1562, <2 x float> %1565)
  %1569 = shufflevector <2 x float> %1568, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1569, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1560) #5
  %1570 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1570, ptr %19, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %19) #5
  %1571 = load float, ptr %4, align 4, !tbaa !9
  %1572 = load float, ptr %1473, align 4, !tbaa !12
  %1573 = fneg float %1572
  %1574 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1575 = shufflevector <2 x float> %1574, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1576 = insertelement <2 x float> poison, float %1572, i64 0
  %1577 = insertelement <2 x float> %1576, float %1573, i64 1
  %1578 = fmul <2 x float> %1574, %1577
  %1579 = insertelement <2 x float> poison, float %1571, i64 0
  %1580 = shufflevector <2 x float> %1579, <2 x float> poison, <2 x i32> zeroinitializer
  %1581 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1580, <2 x float> %1575, <2 x float> %1578)
  %1582 = shufflevector <2 x float> %1581, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1582, ptr %9, align 8, !tbaa !13
  %1583 = getelementptr inbounds i8, ptr %3, i64 64
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1583) #5
  %1584 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1584, ptr %20, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %20) #5
  %1585 = load float, ptr %4, align 4, !tbaa !9
  %1586 = load float, ptr %1473, align 4, !tbaa !12
  %1587 = fneg float %1586
  %1588 = getelementptr inbounds i8, ptr %3, i64 72
  %1589 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1590 = shufflevector <2 x float> %1589, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1591 = insertelement <2 x float> poison, float %1586, i64 0
  %1592 = insertelement <2 x float> %1591, float %1587, i64 1
  %1593 = fmul <2 x float> %1589, %1592
  %1594 = insertelement <2 x float> poison, float %1585, i64 0
  %1595 = shufflevector <2 x float> %1594, <2 x float> poison, <2 x i32> zeroinitializer
  %1596 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1595, <2 x float> %1590, <2 x float> %1593)
  %1597 = shufflevector <2 x float> %1596, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1597, ptr %9, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %9, ptr noundef nonnull %1588) #5
  %1598 = load <2 x float>, ptr %9, align 8, !tbaa !13
  store <2 x float> %1598, ptr %21, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %21) #5
  %1599 = load float, ptr %4, align 4, !tbaa !9
  %1600 = load float, ptr %1473, align 4, !tbaa !12
  %1601 = fneg float %1600
  %1602 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1603 = shufflevector <2 x float> %1602, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1604 = insertelement <2 x float> poison, float %1600, i64 0
  %1605 = insertelement <2 x float> %1604, float %1601, i64 1
  %1606 = fmul <2 x float> %1602, %1605
  %1607 = insertelement <2 x float> poison, float %1599, i64 0
  %1608 = shufflevector <2 x float> %1607, <2 x float> poison, <2 x i32> zeroinitializer
  %1609 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1608, <2 x float> %1603, <2 x float> %1606)
  %1610 = load i64, ptr %2, align 8, !tbaa !5
  %.not43384369 = icmp slt i64 %1610, 1
  br i1 %.not43384369, label %.loopexit, label %.lr.ph

.lr.ph:                                           ; preds = %1470
  %1611 = getelementptr inbounds i8, ptr %21, i64 4
  %1612 = getelementptr inbounds i8, ptr %20, i64 4
  %1613 = getelementptr inbounds i8, ptr %19, i64 4
  %1614 = getelementptr inbounds i8, ptr %18, i64 4
  %1615 = getelementptr inbounds i8, ptr %17, i64 4
  %1616 = getelementptr inbounds i8, ptr %16, i64 4
  %1617 = getelementptr inbounds i8, ptr %15, i64 4
  %1618 = getelementptr inbounds i8, ptr %14, i64 4
  %1619 = getelementptr inbounds i8, ptr %13, i64 4
  %1620 = getelementptr inbounds i8, ptr %12, i64 4
  %1621 = load float, ptr %12, align 8, !tbaa !9
  %1622 = load float, ptr %1620, align 4, !tbaa !12
  %1623 = load float, ptr %13, align 8, !tbaa !9
  %1624 = load float, ptr %1619, align 4, !tbaa !12
  %1625 = insertelement <2 x float> poison, float %1622, i64 0
  %1626 = insertelement <2 x float> %1625, float %1624, i64 1
  %1627 = fneg <2 x float> %1626
  %1628 = load float, ptr %14, align 8, !tbaa !9
  %1629 = load float, ptr %1618, align 4, !tbaa !12
  %1630 = fneg float %1629
  %1631 = load float, ptr %15, align 8, !tbaa !9
  %1632 = load float, ptr %1617, align 4, !tbaa !12
  %1633 = fneg float %1632
  %1634 = load float, ptr %16, align 8, !tbaa !9
  %1635 = load float, ptr %1616, align 4, !tbaa !12
  %1636 = fneg float %1635
  %1637 = load float, ptr %17, align 8, !tbaa !9
  %1638 = load float, ptr %1615, align 4, !tbaa !12
  %1639 = fneg float %1638
  %1640 = load float, ptr %18, align 8, !tbaa !9
  %1641 = load float, ptr %1614, align 4, !tbaa !12
  %1642 = fneg float %1641
  %1643 = load float, ptr %19, align 8, !tbaa !9
  %1644 = load float, ptr %1613, align 4, !tbaa !12
  %1645 = fneg float %1644
  %1646 = load float, ptr %20, align 8, !tbaa !9
  %1647 = load float, ptr %1612, align 4, !tbaa !12
  %1648 = fneg float %1647
  %1649 = load float, ptr %21, align 8, !tbaa !9
  %1650 = load float, ptr %1611, align 4, !tbaa !12
  %1651 = fneg float %1650
  %1652 = insertelement <2 x float> poison, float %1621, i64 0
  %1653 = insertelement <2 x float> %1652, float %1623, i64 1
  %1654 = shufflevector <2 x float> %1484, <2 x float> %1497, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1655 = shufflevector <2 x float> %1484, <2 x float> %1497, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1656 = shufflevector <2 x float> %1512, <2 x float> %1525, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1657 = shufflevector <2 x float> %1512, <2 x float> %1525, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1658 = shufflevector <2 x float> %1540, <2 x float> %1553, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1659 = shufflevector <2 x float> %1540, <2 x float> %1553, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1660 = shufflevector <2 x float> %1568, <2 x float> %1581, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1661 = shufflevector <2 x float> %1568, <2 x float> %1581, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  %1662 = shufflevector <2 x float> %1596, <2 x float> %1609, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  %1663 = shufflevector <2 x float> %1596, <2 x float> %1609, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
  br label %1664

1664:                                             ; preds = %.lr.ph, %1664
  %.94370 = phi i64 [ 1, %.lr.ph ], [ %1793, %1664 ]
  %1665 = mul nsw i64 %.94370, %22
  %1666 = getelementptr %struct.complex, ptr %24, i64 %1665
  %1667 = getelementptr i8, ptr %1666, i64 8
  %1668 = load float, ptr %1667, align 4, !tbaa !9
  %1669 = getelementptr i8, ptr %1666, i64 12
  %1670 = load float, ptr %1669, align 4, !tbaa !12
  %1671 = getelementptr i8, ptr %1666, i64 16
  %1672 = load float, ptr %1671, align 4, !tbaa !9
  %1673 = getelementptr i8, ptr %1666, i64 20
  %1674 = load float, ptr %1673, align 4, !tbaa !12
  %1675 = insertelement <2 x float> poison, float %1670, i64 0
  %1676 = insertelement <2 x float> %1675, float %1674, i64 1
  %1677 = fmul <2 x float> %1676, %1627
  %1678 = insertelement <2 x float> poison, float %1668, i64 0
  %1679 = insertelement <2 x float> %1678, float %1672, i64 1
  %1680 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1653, <2 x float> %1679, <2 x float> %1677)
  %1681 = fmul <2 x float> %1679, %1626
  %1682 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1653, <2 x float> %1676, <2 x float> %1681)
  %shift6519 = shufflevector <2 x float> %1680, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1683 = fadd <2 x float> %1680, %shift6519
  %1684 = extractelement <2 x float> %1683, i64 0
  %shift6520 = shufflevector <2 x float> %1682, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1685 = fadd <2 x float> %1682, %shift6520
  %1686 = extractelement <2 x float> %1685, i64 0
  %1687 = getelementptr i8, ptr %1666, i64 24
  %1688 = load float, ptr %1687, align 4, !tbaa !9
  %1689 = getelementptr i8, ptr %1666, i64 28
  %1690 = load float, ptr %1689, align 4, !tbaa !12
  %1691 = fmul float %1690, %1630
  %1692 = call float @llvm.fmuladd.f32(float %1628, float %1688, float %1691)
  %1693 = fmul float %1688, %1629
  %1694 = call float @llvm.fmuladd.f32(float %1628, float %1690, float %1693)
  %1695 = fadd float %1684, %1692
  %1696 = fadd float %1686, %1694
  %1697 = getelementptr i8, ptr %1666, i64 32
  %1698 = load float, ptr %1697, align 4, !tbaa !9
  %1699 = getelementptr i8, ptr %1666, i64 36
  %1700 = load float, ptr %1699, align 4, !tbaa !12
  %1701 = fmul float %1700, %1633
  %1702 = call float @llvm.fmuladd.f32(float %1631, float %1698, float %1701)
  %1703 = fmul float %1698, %1632
  %1704 = call float @llvm.fmuladd.f32(float %1631, float %1700, float %1703)
  %1705 = fadd float %1695, %1702
  %1706 = fadd float %1696, %1704
  %1707 = getelementptr i8, ptr %1666, i64 40
  %1708 = load float, ptr %1707, align 4, !tbaa !9
  %1709 = getelementptr i8, ptr %1666, i64 44
  %1710 = load float, ptr %1709, align 4, !tbaa !12
  %1711 = fmul float %1710, %1636
  %1712 = call float @llvm.fmuladd.f32(float %1634, float %1708, float %1711)
  %1713 = fmul float %1708, %1635
  %1714 = call float @llvm.fmuladd.f32(float %1634, float %1710, float %1713)
  %1715 = fadd float %1705, %1712
  %1716 = fadd float %1706, %1714
  %1717 = getelementptr i8, ptr %1666, i64 48
  %1718 = load float, ptr %1717, align 4, !tbaa !9
  %1719 = getelementptr i8, ptr %1666, i64 52
  %1720 = load float, ptr %1719, align 4, !tbaa !12
  %1721 = fmul float %1720, %1639
  %1722 = call float @llvm.fmuladd.f32(float %1637, float %1718, float %1721)
  %1723 = fmul float %1718, %1638
  %1724 = call float @llvm.fmuladd.f32(float %1637, float %1720, float %1723)
  %1725 = fadd float %1715, %1722
  %1726 = fadd float %1716, %1724
  %1727 = getelementptr i8, ptr %1666, i64 56
  %1728 = load float, ptr %1727, align 4, !tbaa !9
  %1729 = getelementptr i8, ptr %1666, i64 60
  %1730 = load float, ptr %1729, align 4, !tbaa !12
  %1731 = fmul float %1730, %1642
  %1732 = call float @llvm.fmuladd.f32(float %1640, float %1728, float %1731)
  %1733 = fmul float %1728, %1641
  %1734 = call float @llvm.fmuladd.f32(float %1640, float %1730, float %1733)
  %1735 = fadd float %1725, %1732
  %1736 = fadd float %1726, %1734
  %1737 = getelementptr i8, ptr %1666, i64 64
  %1738 = load float, ptr %1737, align 4, !tbaa !9
  %1739 = getelementptr i8, ptr %1666, i64 68
  %1740 = load float, ptr %1739, align 4, !tbaa !12
  %1741 = fmul float %1740, %1645
  %1742 = call float @llvm.fmuladd.f32(float %1643, float %1738, float %1741)
  %1743 = fmul float %1738, %1644
  %1744 = call float @llvm.fmuladd.f32(float %1643, float %1740, float %1743)
  %1745 = fadd float %1735, %1742
  %1746 = fadd float %1736, %1744
  %1747 = getelementptr i8, ptr %1666, i64 72
  %1748 = load float, ptr %1747, align 4, !tbaa !9
  %1749 = getelementptr i8, ptr %1666, i64 76
  %1750 = load float, ptr %1749, align 4, !tbaa !12
  %1751 = fmul float %1750, %1648
  %1752 = call float @llvm.fmuladd.f32(float %1646, float %1748, float %1751)
  %1753 = fmul float %1748, %1647
  %1754 = call float @llvm.fmuladd.f32(float %1646, float %1750, float %1753)
  %1755 = fadd float %1745, %1752
  %1756 = fadd float %1746, %1754
  %1757 = getelementptr i8, ptr %1666, i64 80
  %1758 = load float, ptr %1757, align 4, !tbaa !9
  %1759 = getelementptr i8, ptr %1666, i64 84
  %1760 = load float, ptr %1759, align 4, !tbaa !12
  %1761 = fmul float %1760, %1651
  %1762 = call float @llvm.fmuladd.f32(float %1649, float %1758, float %1761)
  %1763 = fmul float %1758, %1650
  %1764 = call float @llvm.fmuladd.f32(float %1649, float %1760, float %1763)
  %1765 = fadd float %1755, %1762
  %1766 = fadd float %1764, %1756
  %1767 = fneg float %1766
  %1768 = insertelement <4 x float> poison, float %1767, i64 0
  %1769 = insertelement <4 x float> %1768, float %1766, i64 1
  %1770 = shufflevector <4 x float> %1769, <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
  %1771 = fmul <4 x float> %1654, %1770
  %1772 = insertelement <4 x float> poison, float %1765, i64 0
  %1773 = shufflevector <4 x float> %1772, <4 x float> poison, <4 x i32> zeroinitializer
  %1774 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1773, <4 x float> %1655, <4 x float> %1771)
  %1775 = load <4 x float>, ptr %1667, align 4, !tbaa !13
  %1776 = fsub <4 x float> %1775, %1774
  store <4 x float> %1776, ptr %1667, align 4, !tbaa !13
  %1777 = fmul <4 x float> %1656, %1770
  %1778 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1773, <4 x float> %1657, <4 x float> %1777)
  %1779 = load <4 x float>, ptr %1687, align 4, !tbaa !13
  %1780 = fsub <4 x float> %1779, %1778
  store <4 x float> %1780, ptr %1687, align 4, !tbaa !13
  %1781 = fmul <4 x float> %1658, %1770
  %1782 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1773, <4 x float> %1659, <4 x float> %1781)
  %1783 = load <4 x float>, ptr %1707, align 4, !tbaa !13
  %1784 = fsub <4 x float> %1783, %1782
  store <4 x float> %1784, ptr %1707, align 4, !tbaa !13
  %1785 = fmul <4 x float> %1660, %1770
  %1786 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1773, <4 x float> %1661, <4 x float> %1785)
  %1787 = load <4 x float>, ptr %1727, align 4, !tbaa !13
  %1788 = fsub <4 x float> %1787, %1786
  store <4 x float> %1788, ptr %1727, align 4, !tbaa !13
  %1789 = fmul <4 x float> %1662, %1770
  %1790 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1773, <4 x float> %1663, <4 x float> %1789)
  %1791 = load <4 x float>, ptr %1747, align 4, !tbaa !13
  %1792 = fsub <4 x float> %1791, %1790
  store <4 x float> %1792, ptr %1747, align 4, !tbaa !13
  %1793 = add nuw i64 %.94370, 1
  %exitcond.not = icmp eq i64 %.94370, %1610
  br i1 %exitcond.not, label %.loopexit, label %1664, !llvm.loop !24

1794:                                             ; preds = %31
  %1795 = load i64, ptr %2, align 8, !tbaa !5
  switch i64 %1795, label %1796 [
    i64 1, label %1798
    i64 2, label %1863
    i64 3, label %1985
    i64 4, label %2165
    i64 5, label %2404
    i64 6, label %2697
    i64 7, label %3044
    i64 8, label %3445
    i64 9, label %3908
    i64 10, label %4203
  ]

1796:                                             ; preds = %1794
  %1797 = tail call i32 @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) #5
  br label %.loopexit

1798:                                             ; preds = %1794
  %1799 = load float, ptr %4, align 4, !tbaa !9
  %1800 = load float, ptr %3, align 4, !tbaa !9
  %1801 = getelementptr inbounds i8, ptr %4, i64 4
  %1802 = load float, ptr %1801, align 4, !tbaa !12
  %1803 = getelementptr inbounds i8, ptr %3, i64 4
  %1804 = load float, ptr %1803, align 4, !tbaa !12
  %1805 = fneg float %1802
  %1806 = fmul float %1804, %1805
  %1807 = tail call float @llvm.fmuladd.f32(float %1799, float %1800, float %1806)
  %1808 = fmul float %1800, %1802
  %1809 = tail call float @llvm.fmuladd.f32(float %1799, float %1804, float %1808)
  call void @r_cnjg(ptr noundef nonnull %11, ptr noundef nonnull %3) #5
  %1810 = load float, ptr %11, align 4, !tbaa !9
  %1811 = getelementptr inbounds i8, ptr %11, i64 4
  %1812 = load float, ptr %1811, align 4, !tbaa !12
  %1813 = fneg float %1809
  %1814 = fmul float %1812, %1813
  %1815 = call float @llvm.fmuladd.f32(float %1807, float %1810, float %1814)
  %1816 = fmul float %1809, %1810
  %1817 = call float @llvm.fmuladd.f32(float %1807, float %1812, float %1816)
  %1818 = fsub float 1.000000e+00, %1815
  %1819 = fsub float 0.000000e+00, %1817
  %1820 = load i64, ptr %1, align 8, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %5, i64 -8
  %.not43374580 = icmp slt i64 %1820, 1
  br i1 %.not43374580, label %.loopexit, label %.lr.ph4582

.lr.ph4582:                                       ; preds = %1798
  %1821 = fneg float %1819
  %min.iters.check6463 = icmp ult i64 %1820, 8
  br i1 %min.iters.check6463, label %scalar.ph6462.preheader, label %vector.scevcheck6453

vector.scevcheck6453:                             ; preds = %.lr.ph4582
  %1822 = add nsw i64 %1820, -1
  %mul.result6455 = shl i64 %1822, 3
  %1823 = getelementptr i8, ptr %5, i64 %mul.result6455
  %1824 = icmp ult ptr %1823, %5
  %scevgep6457 = getelementptr i8, ptr %5, i64 4
  %mul.result6459 = shl i64 %1822, 3
  %mul.overflow6460 = icmp ugt i64 %1822, 2305843009213693951
  %1825 = getelementptr i8, ptr %scevgep6457, i64 %mul.result6459
  %1826 = icmp ult ptr %1825, %scevgep6457
  %1827 = or i1 %1826, %mul.overflow6460
  %1828 = or i1 %1824, %1827
  br i1 %1828, label %scalar.ph6462.preheader, label %vector.ph6464

vector.ph6464:                                    ; preds = %vector.scevcheck6453
  %n.vec6466 = and i64 %1820, 4611686018427387900
  %ind.end6467 = or disjoint i64 %n.vec6466, 1
  %broadcast.splatinsert6475 = insertelement <4 x float> poison, float %1821, i64 0
  %broadcast.splat6476 = shufflevector <4 x float> %broadcast.splatinsert6475, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6477 = insertelement <4 x float> poison, float %1818, i64 0
  %broadcast.splat6478 = shufflevector <4 x float> %broadcast.splatinsert6477, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6479 = insertelement <4 x float> poison, float %1819, i64 0
  %broadcast.splat6480 = shufflevector <4 x float> %broadcast.splatinsert6479, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6469

vector.body6469:                                  ; preds = %vector.body6469, %vector.ph6464
  %index6470 = phi i64 [ 0, %vector.ph6464 ], [ %index.next6482, %vector.body6469 ]
  %1829 = getelementptr %struct.complex, ptr %5, i64 %index6470
  %wide.vec6472 = load <8 x float>, ptr %1829, align 4, !tbaa !13
  %strided.vec6473 = shufflevector <8 x float> %wide.vec6472, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6474 = shufflevector <8 x float> %wide.vec6472, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %1830 = fmul <4 x float> %strided.vec6474, %broadcast.splat6476
  %1831 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6478, <4 x float> %strided.vec6473, <4 x float> %1830)
  %1832 = fmul <4 x float> %broadcast.splat6480, %strided.vec6473
  %1833 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6478, <4 x float> %strided.vec6474, <4 x float> %1832)
  %interleaved.vec6481 = shufflevector <4 x float> %1831, <4 x float> %1833, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6481, ptr %1829, align 4, !tbaa !13
  %index.next6482 = add nuw i64 %index6470, 4
  %1834 = icmp eq i64 %index.next6482, %n.vec6466
  br i1 %1834, label %middle.block6461, label %vector.body6469, !llvm.loop !25

middle.block6461:                                 ; preds = %vector.body6469
  %cmp.n6483 = icmp eq i64 %1820, %n.vec6466
  br i1 %cmp.n6483, label %.loopexit, label %scalar.ph6462.preheader

scalar.ph6462.preheader:                          ; preds = %middle.block6461, %vector.scevcheck6453, %.lr.ph4582
  %.104581.ph = phi i64 [ 1, %vector.scevcheck6453 ], [ 1, %.lr.ph4582 ], [ %ind.end6467, %middle.block6461 ]
  %xtraiter6549 = and i64 %1820, 1
  %lcmp.mod6550.not = icmp eq i64 %xtraiter6549, 0
  br i1 %lcmp.mod6550.not, label %scalar.ph6462.prol.loopexit, label %scalar.ph6462.prol

scalar.ph6462.prol:                               ; preds = %scalar.ph6462.preheader
  %gep.prol = getelementptr %struct.complex, ptr %invariant.gep, i64 %.104581.ph
  %1835 = load <2 x float>, ptr %gep.prol, align 4, !tbaa !13
  %1836 = insertelement <2 x float> poison, float %1819, i64 0
  %1837 = insertelement <2 x float> %1836, float %1821, i64 1
  %1838 = fmul <2 x float> %1835, %1837
  %1839 = shufflevector <2 x float> %1838, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1840 = insertelement <2 x float> poison, float %1818, i64 0
  %1841 = shufflevector <2 x float> %1840, <2 x float> poison, <2 x i32> zeroinitializer
  %1842 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1841, <2 x float> %1835, <2 x float> %1839)
  store <2 x float> %1842, ptr %gep.prol, align 4, !tbaa !13
  %1843 = add nuw nsw i64 %.104581.ph, 1
  br label %scalar.ph6462.prol.loopexit

scalar.ph6462.prol.loopexit:                      ; preds = %scalar.ph6462.prol, %scalar.ph6462.preheader
  %.104581.unr = phi i64 [ %.104581.ph, %scalar.ph6462.preheader ], [ %1843, %scalar.ph6462.prol ]
  %1844 = icmp eq i64 %1820, %.104581.ph
  br i1 %1844, label %.loopexit, label %scalar.ph6462.preheader.new

scalar.ph6462.preheader.new:                      ; preds = %scalar.ph6462.prol.loopexit
  %1845 = insertelement <2 x float> poison, float %1819, i64 0
  %1846 = insertelement <2 x float> %1845, float %1821, i64 1
  %1847 = insertelement <2 x float> poison, float %1818, i64 0
  %1848 = shufflevector <2 x float> %1847, <2 x float> poison, <2 x i32> zeroinitializer
  %1849 = insertelement <2 x float> poison, float %1819, i64 0
  %1850 = insertelement <2 x float> %1849, float %1821, i64 1
  %1851 = insertelement <2 x float> poison, float %1818, i64 0
  %1852 = shufflevector <2 x float> %1851, <2 x float> poison, <2 x i32> zeroinitializer
  br label %scalar.ph6462

scalar.ph6462:                                    ; preds = %scalar.ph6462, %scalar.ph6462.preheader.new
  %.104581 = phi i64 [ %.104581.unr, %scalar.ph6462.preheader.new ], [ %1862, %scalar.ph6462 ]
  %gep = getelementptr %struct.complex, ptr %invariant.gep, i64 %.104581
  %1853 = load <2 x float>, ptr %gep, align 4, !tbaa !13
  %1854 = fmul <2 x float> %1853, %1846
  %1855 = shufflevector <2 x float> %1854, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1856 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1848, <2 x float> %1853, <2 x float> %1855)
  store <2 x float> %1856, ptr %gep, align 4, !tbaa !13
  %1857 = add nuw i64 %.104581, 1
  %gep.1 = getelementptr %struct.complex, ptr %5, i64 %.104581
  %1858 = load <2 x float>, ptr %gep.1, align 4, !tbaa !13
  %1859 = fmul <2 x float> %1858, %1850
  %1860 = shufflevector <2 x float> %1859, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1861 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1852, <2 x float> %1858, <2 x float> %1860)
  store <2 x float> %1861, ptr %gep.1, align 4, !tbaa !13
  %1862 = add nuw i64 %.104581, 2
  %exitcond4711.not.1 = icmp eq i64 %1857, %1820
  br i1 %exitcond4711.not.1, label %.loopexit, label %scalar.ph6462, !llvm.loop !28

1863:                                             ; preds = %1794
  %1864 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %1864, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %1865 = load float, ptr %4, align 4, !tbaa !9
  %1866 = getelementptr inbounds i8, ptr %4, i64 4
  %1867 = load float, ptr %1866, align 4, !tbaa !12
  %1868 = fneg float %1867
  %1869 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1870 = insertelement <2 x float> poison, float %1867, i64 0
  %1871 = insertelement <2 x float> %1870, float %1868, i64 1
  %1872 = fmul <2 x float> %1869, %1871
  %1873 = shufflevector <2 x float> %1872, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1874 = insertelement <2 x float> poison, float %1865, 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> %1869, <2 x float> %1873)
  store <2 x float> %1876, ptr %9, align 8, !tbaa !13
  %1877 = getelementptr inbounds i8, ptr %3, i64 8
  %1878 = load <2 x float>, ptr %1877, align 4, !tbaa !13
  store <2 x float> %1878, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %1879 = load float, ptr %4, align 4, !tbaa !9
  %1880 = load float, ptr %1866, align 4, !tbaa !12
  %1881 = fneg float %1880
  %1882 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1883 = insertelement <2 x float> poison, float %1880, i64 0
  %1884 = insertelement <2 x float> %1883, float %1881, i64 1
  %1885 = fmul <2 x float> %1882, %1884
  %1886 = shufflevector <2 x float> %1885, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1887 = insertelement <2 x float> poison, float %1879, i64 0
  %1888 = shufflevector <2 x float> %1887, <2 x float> poison, <2 x i32> zeroinitializer
  %1889 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1888, <2 x float> %1882, <2 x float> %1886)
  %1890 = load i64, ptr %1, align 8, !tbaa !5
  %.not43354573 = icmp slt i64 %1890, 1
  br i1 %.not43354573, label %.loopexit, label %.lr.ph4575

.lr.ph4575:                                       ; preds = %1863
  %1891 = getelementptr inbounds i8, ptr %13, i64 4
  %1892 = getelementptr inbounds i8, ptr %12, i64 4
  %1893 = load float, ptr %12, align 8, !tbaa !9
  %1894 = load float, ptr %1892, align 4, !tbaa !12
  %1895 = load float, ptr %13, align 8, !tbaa !9
  %.idx4336 = shl i64 %22, 4
  %1896 = load float, ptr %1891, align 4, !tbaa !12
  %1897 = insertelement <2 x float> poison, float %1894, i64 0
  %1898 = insertelement <2 x float> %1897, float %1896, i64 1
  %1899 = fneg <2 x float> %1898
  %min.iters.check6411 = icmp ult i64 %1890, 8
  br i1 %min.iters.check6411, label %scalar.ph6410.preheader, label %vector.scevcheck6378

vector.scevcheck6378:                             ; preds = %.lr.ph4575
  %1900 = add nsw i64 %1890, -1
  %1901 = shl i64 %22, 3
  %scevgep6379 = getelementptr i8, ptr %5, i64 %1901
  %mul.result6381 = shl i64 %1900, 3
  %1902 = getelementptr i8, ptr %scevgep6379, i64 %mul.result6381
  %1903 = icmp ult ptr %1902, %scevgep6379
  %mul.result6384 = shl i64 %1900, 3
  %mul.overflow6385 = icmp ugt i64 %1900, 2305843009213693951
  %1904 = getelementptr i8, ptr %5, i64 %mul.result6384
  %1905 = icmp ult ptr %1904, %5
  %1906 = or i1 %1905, %mul.overflow6385
  %1907 = or disjoint i64 %1901, 4
  %scevgep6386 = getelementptr i8, ptr %5, i64 %1907
  %mul.result6388 = shl i64 %1900, 3
  %1908 = getelementptr i8, ptr %scevgep6386, i64 %mul.result6388
  %1909 = icmp ult ptr %1908, %scevgep6386
  %scevgep6390 = getelementptr i8, ptr %5, i64 4
  %mul.result6392 = shl i64 %1900, 3
  %1910 = getelementptr i8, ptr %scevgep6390, i64 %mul.result6392
  %1911 = icmp ult ptr %1910, %scevgep6390
  %1912 = or i1 %1903, %1906
  %1913 = or i1 %1909, %1912
  %1914 = or i1 %1911, %1913
  br i1 %1914, label %scalar.ph6410.preheader, label %vector.memcheck6394

vector.memcheck6394:                              ; preds = %vector.scevcheck6378
  %1915 = shl i64 %1890, 3
  %1916 = getelementptr i8, ptr %5, i64 %1915
  %scevgep6395 = getelementptr i8, ptr %1916, i64 -4
  %1917 = shl i64 %22, 3
  %scevgep6396 = getelementptr i8, ptr %5, i64 %1917
  %1918 = getelementptr i8, ptr %5, i64 %1915
  %1919 = getelementptr i8, ptr %1918, i64 %1917
  %scevgep6397 = getelementptr i8, ptr %1919, i64 -4
  %scevgep6398 = getelementptr i8, ptr %5, i64 4
  %scevgep6399 = getelementptr i8, ptr %5, i64 %1915
  %1920 = or disjoint i64 %1917, 4
  %scevgep6400 = getelementptr i8, ptr %5, i64 %1920
  %1921 = getelementptr i8, ptr %5, i64 %1915
  %scevgep6401 = getelementptr i8, ptr %1921, i64 %1917
  %bound06402 = icmp ugt ptr %scevgep6397, %5
  %bound16403 = icmp ult ptr %scevgep6396, %scevgep6395
  %found.conflict6404 = and i1 %bound06402, %bound16403
  %bound06405 = icmp ult ptr %scevgep6398, %scevgep6401
  %bound16406 = icmp ult ptr %scevgep6400, %scevgep6399
  %found.conflict6407 = and i1 %bound06405, %bound16406
  %conflict.rdx6408 = or i1 %found.conflict6404, %found.conflict6407
  br i1 %conflict.rdx6408, label %scalar.ph6410.preheader, label %vector.ph6412

vector.ph6412:                                    ; preds = %vector.memcheck6394
  %n.vec6414 = and i64 %1890, 4611686018427387900
  %ind.end6415 = or disjoint i64 %n.vec6414, 1
  %broadcast.splat6424 = shufflevector <2 x float> %1899, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6425 = insertelement <4 x float> poison, float %1893, i64 0
  %broadcast.splat6426 = shufflevector <4 x float> %broadcast.splatinsert6425, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6427 = insertelement <4 x float> poison, float %1894, i64 0
  %broadcast.splat6428 = shufflevector <4 x float> %broadcast.splatinsert6427, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6433 = shufflevector <2 x float> %1899, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6434 = insertelement <4 x float> poison, float %1895, i64 0
  %broadcast.splat6435 = shufflevector <4 x float> %broadcast.splatinsert6434, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6436 = insertelement <4 x float> poison, float %1896, i64 0
  %broadcast.splat6437 = shufflevector <4 x float> %broadcast.splatinsert6436, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6439 = shufflevector <2 x float> %1876, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6441 = shufflevector <2 x float> %1876, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6444 = shufflevector <2 x float> %1889, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6446 = shufflevector <2 x float> %1889, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6417

vector.body6417:                                  ; preds = %vector.body6417, %vector.ph6412
  %index6418 = phi i64 [ 0, %vector.ph6412 ], [ %index.next6451, %vector.body6417 ]
  %offset.idx6419 = or disjoint i64 %index6418, 1
  %1922 = getelementptr %struct.complex, ptr %24, i64 %offset.idx6419
  %1923 = getelementptr %struct.complex, ptr %1922, i64 %22
  %wide.vec6420 = load <8 x float>, ptr %1923, align 4, !tbaa !13
  %strided.vec6421 = shufflevector <8 x float> %wide.vec6420, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6422 = shufflevector <8 x float> %wide.vec6420, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %1924 = fmul <4 x float> %strided.vec6422, %broadcast.splat6424
  %1925 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6426, <4 x float> %strided.vec6421, <4 x float> %1924)
  %1926 = fmul <4 x float> %strided.vec6421, %broadcast.splat6428
  %1927 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6426, <4 x float> %strided.vec6422, <4 x float> %1926)
  %1928 = getelementptr i8, ptr %1922, i64 %.idx4336
  %wide.vec6429 = load <8 x float>, ptr %1928, align 4, !tbaa !13
  %strided.vec6430 = shufflevector <8 x float> %wide.vec6429, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6431 = shufflevector <8 x float> %wide.vec6429, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %1929 = fmul <4 x float> %strided.vec6431, %broadcast.splat6433
  %1930 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6435, <4 x float> %strided.vec6430, <4 x float> %1929)
  %1931 = fmul <4 x float> %strided.vec6430, %broadcast.splat6437
  %1932 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6435, <4 x float> %strided.vec6431, <4 x float> %1931)
  %1933 = fadd <4 x float> %1925, %1930
  %1934 = fadd <4 x float> %1927, %1932
  %1935 = fneg <4 x float> %1934
  %1936 = fmul <4 x float> %broadcast.splat6439, %1935
  %1937 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1933, <4 x float> %broadcast.splat6441, <4 x float> %1936)
  %1938 = fmul <4 x float> %broadcast.splat6441, %1934
  %1939 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1933, <4 x float> %broadcast.splat6439, <4 x float> %1938)
  %1940 = fsub <4 x float> %strided.vec6421, %1937
  %1941 = fsub <4 x float> %strided.vec6422, %1939
  %interleaved.vec6442 = shufflevector <4 x float> %1940, <4 x float> %1941, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6442, ptr %1923, align 4, !tbaa !13
  %1942 = fmul <4 x float> %broadcast.splat6444, %1935
  %1943 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1933, <4 x float> %broadcast.splat6446, <4 x float> %1942)
  %1944 = fmul <4 x float> %broadcast.splat6446, %1934
  %1945 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %1933, <4 x float> %broadcast.splat6444, <4 x float> %1944)
  %wide.vec6447 = load <8 x float>, ptr %1928, align 4, !tbaa !13
  %strided.vec6448 = shufflevector <8 x float> %wide.vec6447, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6449 = shufflevector <8 x float> %wide.vec6447, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %1946 = fsub <4 x float> %strided.vec6448, %1943
  %1947 = fsub <4 x float> %strided.vec6449, %1945
  %interleaved.vec6450 = shufflevector <4 x float> %1946, <4 x float> %1947, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6450, ptr %1928, align 4, !tbaa !13
  %index.next6451 = add nuw i64 %index6418, 4
  %1948 = icmp eq i64 %index.next6451, %n.vec6414
  br i1 %1948, label %middle.block6409, label %vector.body6417, !llvm.loop !29

middle.block6409:                                 ; preds = %vector.body6417
  %cmp.n6452 = icmp eq i64 %1890, %n.vec6414
  br i1 %cmp.n6452, label %.loopexit, label %scalar.ph6410.preheader

scalar.ph6410.preheader:                          ; preds = %middle.block6409, %vector.memcheck6394, %vector.scevcheck6378, %.lr.ph4575
  %.114574.ph = phi i64 [ 1, %vector.memcheck6394 ], [ 1, %vector.scevcheck6378 ], [ 1, %.lr.ph4575 ], [ %ind.end6415, %middle.block6409 ]
  %1949 = insertelement <2 x float> poison, float %1893, i64 0
  %1950 = insertelement <2 x float> %1949, float %1895, i64 1
  br label %scalar.ph6410

scalar.ph6410:                                    ; preds = %scalar.ph6410.preheader, %scalar.ph6410
  %.114574 = phi i64 [ %1984, %scalar.ph6410 ], [ %.114574.ph, %scalar.ph6410.preheader ]
  %1951 = getelementptr %struct.complex, ptr %24, i64 %.114574
  %1952 = getelementptr %struct.complex, ptr %1951, i64 %22
  %1953 = getelementptr i8, ptr %1951, i64 %.idx4336
  %1954 = load float, ptr %1953, align 4, !tbaa !9
  %1955 = getelementptr inbounds i8, ptr %1953, i64 4
  %1956 = load float, ptr %1955, align 4, !tbaa !12
  %1957 = fmul float %1954, %1896
  %1958 = call float @llvm.fmuladd.f32(float %1895, float %1956, float %1957)
  %1959 = load <2 x float>, ptr %1952, align 4, !tbaa !13
  %1960 = extractelement <2 x float> %1959, i64 1
  %1961 = extractelement <2 x float> %1959, i64 0
  %1962 = shufflevector <2 x float> %1959, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1963 = insertelement <2 x float> %1962, float %1956, i64 1
  %1964 = fmul <2 x float> %1963, %1899
  %1965 = insertelement <2 x float> %1959, float %1954, i64 1
  %1966 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1950, <2 x float> %1965, <2 x float> %1964)
  %1967 = fmul float %1961, %1894
  %1968 = call float @llvm.fmuladd.f32(float %1893, float %1960, float %1967)
  %shift6521 = shufflevector <2 x float> %1966, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1969 = fadd <2 x float> %1966, %shift6521
  %1970 = fadd float %1968, %1958
  %1971 = fneg float %1970
  %1972 = insertelement <2 x float> poison, float %1970, i64 0
  %1973 = insertelement <2 x float> %1972, float %1971, i64 1
  %1974 = fmul <2 x float> %1876, %1973
  %1975 = shufflevector <2 x float> %1974, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1976 = shufflevector <2 x float> %1969, <2 x float> poison, <2 x i32> zeroinitializer
  %1977 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1976, <2 x float> %1876, <2 x float> %1975)
  %1978 = fsub <2 x float> %1959, %1977
  store <2 x float> %1978, ptr %1952, align 4, !tbaa !13
  %1979 = fmul <2 x float> %1889, %1973
  %1980 = shufflevector <2 x float> %1979, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1981 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1976, <2 x float> %1889, <2 x float> %1980)
  %1982 = load <2 x float>, ptr %1953, align 4, !tbaa !13
  %1983 = fsub <2 x float> %1982, %1981
  store <2 x float> %1983, ptr %1953, align 4, !tbaa !13
  %1984 = add nuw i64 %.114574, 1
  %exitcond4710.not = icmp eq i64 %.114574, %1890
  br i1 %exitcond4710.not, label %.loopexit, label %scalar.ph6410, !llvm.loop !30

1985:                                             ; preds = %1794
  %1986 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %1986, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %1987 = load float, ptr %4, align 4, !tbaa !9
  %1988 = getelementptr inbounds i8, ptr %4, i64 4
  %1989 = load float, ptr %1988, align 4, !tbaa !12
  %1990 = fneg float %1989
  %1991 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %1992 = insertelement <2 x float> poison, float %1989, i64 0
  %1993 = insertelement <2 x float> %1992, float %1990, i64 1
  %1994 = fmul <2 x float> %1991, %1993
  %1995 = shufflevector <2 x float> %1994, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %1996 = insertelement <2 x float> poison, float %1987, i64 0
  %1997 = shufflevector <2 x float> %1996, <2 x float> poison, <2 x i32> zeroinitializer
  %1998 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1997, <2 x float> %1991, <2 x float> %1995)
  store <2 x float> %1998, ptr %9, align 8, !tbaa !13
  %1999 = getelementptr inbounds i8, ptr %3, i64 8
  %2000 = load <2 x float>, ptr %1999, align 4, !tbaa !13
  store <2 x float> %2000, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %2001 = load float, ptr %4, align 4, !tbaa !9
  %2002 = load float, ptr %1988, align 4, !tbaa !12
  %2003 = fneg float %2002
  %2004 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2005 = insertelement <2 x float> poison, float %2002, i64 0
  %2006 = insertelement <2 x float> %2005, float %2003, i64 1
  %2007 = fmul <2 x float> %2004, %2006
  %2008 = shufflevector <2 x float> %2007, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2009 = insertelement <2 x float> poison, float %2001, i64 0
  %2010 = shufflevector <2 x float> %2009, <2 x float> poison, <2 x i32> zeroinitializer
  %2011 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2010, <2 x float> %2004, <2 x float> %2008)
  store <2 x float> %2011, ptr %9, align 8, !tbaa !13
  %2012 = getelementptr inbounds i8, ptr %3, i64 16
  %2013 = load <2 x float>, ptr %2012, align 4, !tbaa !13
  store <2 x float> %2013, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %2014 = load float, ptr %4, align 4, !tbaa !9
  %2015 = load float, ptr %1988, align 4, !tbaa !12
  %2016 = fneg float %2015
  %2017 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2018 = insertelement <2 x float> poison, float %2015, i64 0
  %2019 = insertelement <2 x float> %2018, float %2016, i64 1
  %2020 = fmul <2 x float> %2017, %2019
  %2021 = shufflevector <2 x float> %2020, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2022 = insertelement <2 x float> poison, float %2014, i64 0
  %2023 = shufflevector <2 x float> %2022, <2 x float> poison, <2 x i32> zeroinitializer
  %2024 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2023, <2 x float> %2017, <2 x float> %2021)
  %2025 = load i64, ptr %1, align 8, !tbaa !5
  %.not43324564 = icmp slt i64 %2025, 1
  br i1 %.not43324564, label %.loopexit, label %.lr.ph4566

.lr.ph4566:                                       ; preds = %1985
  %2026 = getelementptr inbounds i8, ptr %14, i64 4
  %2027 = getelementptr inbounds i8, ptr %13, i64 4
  %2028 = getelementptr inbounds i8, ptr %12, i64 4
  %2029 = load float, ptr %12, align 8, !tbaa !9
  %2030 = load float, ptr %2028, align 4, !tbaa !12
  %2031 = load float, ptr %13, align 8, !tbaa !9
  %.idx4333 = shl i64 %22, 4
  %2032 = load float, ptr %2027, align 4, !tbaa !12
  %2033 = insertelement <2 x float> poison, float %2030, i64 0
  %2034 = insertelement <2 x float> %2033, float %2032, i64 1
  %2035 = fneg <2 x float> %2034
  %2036 = load float, ptr %14, align 8, !tbaa !9
  %.idx4334 = mul i64 %22, 24
  %2037 = load float, ptr %2026, align 4, !tbaa !12
  %2038 = fneg float %2037
  %min.iters.check6319 = icmp ult i64 %2025, 8
  br i1 %min.iters.check6319, label %scalar.ph6318.preheader, label %vector.scevcheck6258

vector.scevcheck6258:                             ; preds = %.lr.ph4566
  %2039 = add nsw i64 %2025, -1
  %scevgep6259 = getelementptr i8, ptr %5, i64 %.idx4333
  %mul.result6261 = shl i64 %2039, 3
  %2040 = getelementptr i8, ptr %scevgep6259, i64 %mul.result6261
  %2041 = icmp ult ptr %2040, %scevgep6259
  %2042 = shl i64 %22, 3
  %scevgep6263 = getelementptr i8, ptr %5, i64 %2042
  %mul.result6265 = shl i64 %2039, 3
  %mul.overflow6266 = icmp ugt i64 %2039, 2305843009213693951
  %2043 = getelementptr i8, ptr %scevgep6263, i64 %mul.result6265
  %2044 = icmp ult ptr %2043, %scevgep6263
  %2045 = or i1 %2044, %mul.overflow6266
  %mul.result6268 = shl i64 %2039, 3
  %2046 = getelementptr i8, ptr %5, i64 %mul.result6268
  %2047 = icmp ult ptr %2046, %5
  %2048 = or disjoint i64 %.idx4333, 4
  %scevgep6270 = getelementptr i8, ptr %5, i64 %2048
  %mul.result6272 = shl i64 %2039, 3
  %2049 = getelementptr i8, ptr %scevgep6270, i64 %mul.result6272
  %2050 = icmp ult ptr %2049, %scevgep6270
  %2051 = or disjoint i64 %2042, 4
  %scevgep6274 = getelementptr i8, ptr %5, i64 %2051
  %mul.result6276 = shl i64 %2039, 3
  %2052 = getelementptr i8, ptr %scevgep6274, i64 %mul.result6276
  %2053 = icmp ult ptr %2052, %scevgep6274
  %scevgep6278 = getelementptr i8, ptr %5, i64 4
  %mul.result6280 = shl i64 %2039, 3
  %2054 = getelementptr i8, ptr %scevgep6278, i64 %mul.result6280
  %2055 = icmp ult ptr %2054, %scevgep6278
  %2056 = or i1 %2041, %2045
  %2057 = or i1 %2047, %2056
  %2058 = or i1 %2050, %2057
  %2059 = or i1 %2053, %2058
  %2060 = or i1 %2055, %2059
  br i1 %2060, label %scalar.ph6318.preheader, label %vector.memcheck6282

vector.memcheck6282:                              ; preds = %vector.scevcheck6258
  %2061 = shl i64 %2025, 3
  %2062 = getelementptr i8, ptr %5, i64 %2061
  %scevgep6283 = getelementptr i8, ptr %2062, i64 -4
  %2063 = shl i64 %22, 3
  %scevgep6284 = getelementptr i8, ptr %5, i64 %2063
  %2064 = getelementptr i8, ptr %5, i64 %2061
  %2065 = getelementptr i8, ptr %2064, i64 %2063
  %scevgep6285 = getelementptr i8, ptr %2065, i64 -4
  %scevgep6286 = getelementptr i8, ptr %5, i64 %.idx4333
  %2066 = getelementptr i8, ptr %5, i64 %.idx4333
  %2067 = getelementptr i8, ptr %2066, i64 %2061
  %scevgep6287 = getelementptr i8, ptr %2067, i64 -4
  %scevgep6288 = getelementptr i8, ptr %5, i64 4
  %scevgep6289 = getelementptr i8, ptr %5, i64 %2061
  %2068 = or disjoint i64 %2063, 4
  %scevgep6290 = getelementptr i8, ptr %5, i64 %2068
  %2069 = getelementptr i8, ptr %5, i64 %2061
  %scevgep6291 = getelementptr i8, ptr %2069, i64 %2063
  %2070 = or disjoint i64 %.idx4333, 4
  %scevgep6292 = getelementptr i8, ptr %5, i64 %2070
  %2071 = getelementptr i8, ptr %5, i64 %.idx4333
  %scevgep6293 = getelementptr i8, ptr %2071, i64 %2061
  %bound06294 = icmp ugt ptr %scevgep6285, %5
  %bound16295 = icmp ult ptr %scevgep6284, %scevgep6283
  %found.conflict6296 = and i1 %bound06294, %bound16295
  %bound06297 = icmp ugt ptr %scevgep6287, %5
  %bound16298 = icmp ult ptr %scevgep6286, %scevgep6283
  %found.conflict6299 = and i1 %bound06297, %bound16298
  %conflict.rdx6300 = or i1 %found.conflict6296, %found.conflict6299
  %bound06301 = icmp ult ptr %scevgep6284, %scevgep6287
  %bound16302 = icmp ult ptr %scevgep6286, %scevgep6285
  %found.conflict6303 = and i1 %bound06301, %bound16302
  %conflict.rdx6304 = or i1 %conflict.rdx6300, %found.conflict6303
  %bound06305 = icmp ult ptr %scevgep6288, %scevgep6291
  %bound16306 = icmp ult ptr %scevgep6290, %scevgep6289
  %found.conflict6307 = and i1 %bound06305, %bound16306
  %conflict.rdx6308 = or i1 %conflict.rdx6304, %found.conflict6307
  %bound06309 = icmp ult ptr %scevgep6288, %scevgep6293
  %bound16310 = icmp ult ptr %scevgep6292, %scevgep6289
  %found.conflict6311 = and i1 %bound06309, %bound16310
  %conflict.rdx6312 = or i1 %conflict.rdx6308, %found.conflict6311
  %bound06313 = icmp ult ptr %scevgep6290, %scevgep6293
  %bound16314 = icmp ult ptr %scevgep6292, %scevgep6291
  %found.conflict6315 = and i1 %bound06313, %bound16314
  %conflict.rdx6316 = or i1 %conflict.rdx6312, %found.conflict6315
  br i1 %conflict.rdx6316, label %scalar.ph6318.preheader, label %vector.ph6320

vector.ph6320:                                    ; preds = %vector.memcheck6282
  %n.vec6322 = and i64 %2025, 9223372036854775804
  %ind.end6323 = or disjoint i64 %n.vec6322, 1
  %broadcast.splat6332 = shufflevector <2 x float> %2035, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6333 = insertelement <4 x float> poison, float %2029, 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 %2030, i64 0
  %broadcast.splat6336 = shufflevector <4 x float> %broadcast.splatinsert6335, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6341 = shufflevector <2 x float> %2035, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6342 = insertelement <4 x float> poison, float %2031, 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 %2032, i64 0
  %broadcast.splat6345 = shufflevector <4 x float> %broadcast.splatinsert6344, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6349 = insertelement <4 x float> poison, float %2038, i64 0
  %broadcast.splat6350 = shufflevector <4 x float> %broadcast.splatinsert6349, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6351 = insertelement <4 x float> poison, float %2036, 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 %2037, i64 0
  %broadcast.splat6354 = shufflevector <4 x float> %broadcast.splatinsert6353, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6356 = shufflevector <2 x float> %1998, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6358 = shufflevector <2 x float> %1998, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6361 = shufflevector <2 x float> %2011, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6363 = shufflevector <2 x float> %2011, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6369 = shufflevector <2 x float> %2024, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6371 = shufflevector <2 x float> %2024, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6325

vector.body6325:                                  ; preds = %vector.body6325, %vector.ph6320
  %index6326 = phi i64 [ 0, %vector.ph6320 ], [ %index.next6376, %vector.body6325 ]
  %offset.idx6327 = or disjoint i64 %index6326, 1
  %2072 = getelementptr %struct.complex, ptr %24, i64 %offset.idx6327
  %2073 = getelementptr %struct.complex, ptr %2072, i64 %22
  %wide.vec6328 = load <8 x float>, ptr %2073, align 4, !tbaa !13
  %strided.vec6329 = shufflevector <8 x float> %wide.vec6328, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6330 = shufflevector <8 x float> %wide.vec6328, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2074 = fmul <4 x float> %strided.vec6330, %broadcast.splat6332
  %2075 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6334, <4 x float> %strided.vec6329, <4 x float> %2074)
  %2076 = fmul <4 x float> %strided.vec6329, %broadcast.splat6336
  %2077 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6334, <4 x float> %strided.vec6330, <4 x float> %2076)
  %2078 = getelementptr i8, ptr %2072, i64 %.idx4333
  %wide.vec6337 = load <8 x float>, ptr %2078, align 4, !tbaa !13
  %strided.vec6338 = shufflevector <8 x float> %wide.vec6337, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6339 = shufflevector <8 x float> %wide.vec6337, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2079 = fmul <4 x float> %strided.vec6339, %broadcast.splat6341
  %2080 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6343, <4 x float> %strided.vec6338, <4 x float> %2079)
  %2081 = fmul <4 x float> %strided.vec6338, %broadcast.splat6345
  %2082 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6343, <4 x float> %strided.vec6339, <4 x float> %2081)
  %2083 = fadd <4 x float> %2075, %2080
  %2084 = fadd <4 x float> %2077, %2082
  %2085 = getelementptr i8, ptr %2072, i64 %.idx4334
  %wide.vec6346 = load <8 x float>, ptr %2085, align 4, !tbaa !13
  %strided.vec6347 = shufflevector <8 x float> %wide.vec6346, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6348 = shufflevector <8 x float> %wide.vec6346, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2086 = fmul <4 x float> %strided.vec6348, %broadcast.splat6350
  %2087 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6352, <4 x float> %strided.vec6347, <4 x float> %2086)
  %2088 = fmul <4 x float> %strided.vec6347, %broadcast.splat6354
  %2089 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6352, <4 x float> %strided.vec6348, <4 x float> %2088)
  %2090 = fadd <4 x float> %2083, %2087
  %2091 = fadd <4 x float> %2084, %2089
  %2092 = fneg <4 x float> %2091
  %2093 = fmul <4 x float> %broadcast.splat6356, %2092
  %2094 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2090, <4 x float> %broadcast.splat6358, <4 x float> %2093)
  %2095 = fmul <4 x float> %broadcast.splat6358, %2091
  %2096 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2090, <4 x float> %broadcast.splat6356, <4 x float> %2095)
  %2097 = fsub <4 x float> %strided.vec6329, %2094
  %2098 = fsub <4 x float> %strided.vec6330, %2096
  %interleaved.vec6359 = shufflevector <4 x float> %2097, <4 x float> %2098, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6359, ptr %2073, align 4, !tbaa !13
  %2099 = fmul <4 x float> %broadcast.splat6361, %2092
  %2100 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2090, <4 x float> %broadcast.splat6363, <4 x float> %2099)
  %2101 = fmul <4 x float> %broadcast.splat6363, %2091
  %2102 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2090, <4 x float> %broadcast.splat6361, <4 x float> %2101)
  %wide.vec6364 = load <8 x float>, ptr %2078, align 4, !tbaa !13
  %strided.vec6365 = shufflevector <8 x float> %wide.vec6364, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6366 = shufflevector <8 x float> %wide.vec6364, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2103 = fsub <4 x float> %strided.vec6365, %2100
  %2104 = fsub <4 x float> %strided.vec6366, %2102
  %interleaved.vec6367 = shufflevector <4 x float> %2103, <4 x float> %2104, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6367, ptr %2078, align 4, !tbaa !13
  %2105 = fmul <4 x float> %broadcast.splat6369, %2092
  %2106 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2090, <4 x float> %broadcast.splat6371, <4 x float> %2105)
  %2107 = fmul <4 x float> %broadcast.splat6371, %2091
  %2108 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2090, <4 x float> %broadcast.splat6369, <4 x float> %2107)
  %wide.vec6372 = load <8 x float>, ptr %2085, align 4, !tbaa !13
  %strided.vec6373 = shufflevector <8 x float> %wide.vec6372, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6374 = shufflevector <8 x float> %wide.vec6372, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2109 = fsub <4 x float> %strided.vec6373, %2106
  %2110 = fsub <4 x float> %strided.vec6374, %2108
  %interleaved.vec6375 = shufflevector <4 x float> %2109, <4 x float> %2110, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6375, ptr %2085, align 4, !tbaa !13
  %index.next6376 = add nuw i64 %index6326, 4
  %2111 = icmp eq i64 %index.next6376, %n.vec6322
  br i1 %2111, label %middle.block6317, label %vector.body6325, !llvm.loop !31

middle.block6317:                                 ; preds = %vector.body6325
  %cmp.n6377 = icmp eq i64 %2025, %n.vec6322
  br i1 %cmp.n6377, label %.loopexit, label %scalar.ph6318.preheader

scalar.ph6318.preheader:                          ; preds = %middle.block6317, %vector.memcheck6282, %vector.scevcheck6258, %.lr.ph4566
  %.124565.ph = phi i64 [ 1, %vector.memcheck6282 ], [ 1, %vector.scevcheck6258 ], [ 1, %.lr.ph4566 ], [ %ind.end6323, %middle.block6317 ]
  %2112 = insertelement <2 x float> poison, float %2029, i64 0
  %2113 = insertelement <2 x float> %2112, float %2031, i64 1
  br label %scalar.ph6318

scalar.ph6318:                                    ; preds = %scalar.ph6318.preheader, %scalar.ph6318
  %.124565 = phi i64 [ %2164, %scalar.ph6318 ], [ %.124565.ph, %scalar.ph6318.preheader ]
  %2114 = getelementptr %struct.complex, ptr %24, i64 %.124565
  %2115 = getelementptr %struct.complex, ptr %2114, i64 %22
  %2116 = getelementptr i8, ptr %2114, i64 %.idx4333
  %2117 = load float, ptr %2116, align 4, !tbaa !9
  %2118 = getelementptr inbounds i8, ptr %2116, i64 4
  %2119 = load float, ptr %2118, align 4, !tbaa !12
  %2120 = fmul float %2117, %2032
  %2121 = call float @llvm.fmuladd.f32(float %2031, float %2119, float %2120)
  %2122 = getelementptr i8, ptr %2114, i64 %.idx4334
  %2123 = load float, ptr %2122, align 4, !tbaa !9
  %2124 = getelementptr inbounds i8, ptr %2122, i64 4
  %2125 = load float, ptr %2124, align 4, !tbaa !12
  %2126 = fmul float %2125, %2038
  %2127 = call float @llvm.fmuladd.f32(float %2036, float %2123, float %2126)
  %2128 = fmul float %2123, %2037
  %2129 = call float @llvm.fmuladd.f32(float %2036, float %2125, float %2128)
  %2130 = load <2 x float>, ptr %2115, align 4, !tbaa !13
  %2131 = extractelement <2 x float> %2130, i64 1
  %2132 = extractelement <2 x float> %2130, i64 0
  %2133 = shufflevector <2 x float> %2130, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2134 = insertelement <2 x float> %2133, float %2119, i64 1
  %2135 = fmul <2 x float> %2134, %2035
  %2136 = insertelement <2 x float> %2130, float %2117, i64 1
  %2137 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2113, <2 x float> %2136, <2 x float> %2135)
  %2138 = fmul float %2132, %2030
  %2139 = call float @llvm.fmuladd.f32(float %2029, float %2131, float %2138)
  %shift6522 = shufflevector <2 x float> %2137, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2140 = fadd <2 x float> %2137, %shift6522
  %2141 = extractelement <2 x float> %2140, i64 0
  %2142 = fadd float %2139, %2121
  %2143 = fadd float %2141, %2127
  %2144 = fadd float %2142, %2129
  %2145 = fneg float %2144
  %2146 = insertelement <2 x float> poison, float %2144, i64 0
  %2147 = insertelement <2 x float> %2146, float %2145, i64 1
  %2148 = fmul <2 x float> %1998, %2147
  %2149 = shufflevector <2 x float> %2148, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2150 = insertelement <2 x float> poison, float %2143, i64 0
  %2151 = shufflevector <2 x float> %2150, <2 x float> poison, <2 x i32> zeroinitializer
  %2152 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2151, <2 x float> %1998, <2 x float> %2149)
  %2153 = fsub <2 x float> %2130, %2152
  store <2 x float> %2153, ptr %2115, align 4, !tbaa !13
  %2154 = fmul <2 x float> %2011, %2147
  %2155 = shufflevector <2 x float> %2154, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2156 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2151, <2 x float> %2011, <2 x float> %2155)
  %2157 = load <2 x float>, ptr %2116, align 4, !tbaa !13
  %2158 = fsub <2 x float> %2157, %2156
  store <2 x float> %2158, ptr %2116, align 4, !tbaa !13
  %2159 = fmul <2 x float> %2024, %2147
  %2160 = shufflevector <2 x float> %2159, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2161 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2151, <2 x float> %2024, <2 x float> %2160)
  %2162 = load <2 x float>, ptr %2122, align 4, !tbaa !13
  %2163 = fsub <2 x float> %2162, %2161
  store <2 x float> %2163, ptr %2122, align 4, !tbaa !13
  %2164 = add nuw i64 %.124565, 1
  %exitcond4709.not = icmp eq i64 %.124565, %2025
  br i1 %exitcond4709.not, label %.loopexit, label %scalar.ph6318, !llvm.loop !32

2165:                                             ; preds = %1794
  %2166 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %2166, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %2167 = load float, ptr %4, align 4, !tbaa !9
  %2168 = getelementptr inbounds i8, ptr %4, i64 4
  %2169 = load float, ptr %2168, align 4, !tbaa !12
  %2170 = fneg float %2169
  %2171 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2172 = insertelement <2 x float> poison, float %2169, i64 0
  %2173 = insertelement <2 x float> %2172, float %2170, i64 1
  %2174 = fmul <2 x float> %2171, %2173
  %2175 = shufflevector <2 x float> %2174, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2176 = insertelement <2 x float> poison, float %2167, i64 0
  %2177 = shufflevector <2 x float> %2176, <2 x float> poison, <2 x i32> zeroinitializer
  %2178 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2177, <2 x float> %2171, <2 x float> %2175)
  store <2 x float> %2178, ptr %9, align 8, !tbaa !13
  %2179 = getelementptr inbounds i8, ptr %3, i64 8
  %2180 = load <2 x float>, ptr %2179, align 4, !tbaa !13
  store <2 x float> %2180, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %2181 = load float, ptr %4, align 4, !tbaa !9
  %2182 = load float, ptr %2168, align 4, !tbaa !12
  %2183 = fneg float %2182
  %2184 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2185 = insertelement <2 x float> poison, float %2182, i64 0
  %2186 = insertelement <2 x float> %2185, float %2183, i64 1
  %2187 = fmul <2 x float> %2184, %2186
  %2188 = shufflevector <2 x float> %2187, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2189 = insertelement <2 x float> poison, float %2181, i64 0
  %2190 = shufflevector <2 x float> %2189, <2 x float> poison, <2 x i32> zeroinitializer
  %2191 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2190, <2 x float> %2184, <2 x float> %2188)
  store <2 x float> %2191, ptr %9, align 8, !tbaa !13
  %2192 = getelementptr inbounds i8, ptr %3, i64 16
  %2193 = load <2 x float>, ptr %2192, align 4, !tbaa !13
  store <2 x float> %2193, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %2194 = load float, ptr %4, align 4, !tbaa !9
  %2195 = load float, ptr %2168, align 4, !tbaa !12
  %2196 = fneg float %2195
  %2197 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2198 = insertelement <2 x float> poison, float %2195, i64 0
  %2199 = insertelement <2 x float> %2198, float %2196, i64 1
  %2200 = fmul <2 x float> %2197, %2199
  %2201 = shufflevector <2 x float> %2200, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2202 = insertelement <2 x float> poison, float %2194, i64 0
  %2203 = shufflevector <2 x float> %2202, <2 x float> poison, <2 x i32> zeroinitializer
  %2204 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2203, <2 x float> %2197, <2 x float> %2201)
  store <2 x float> %2204, ptr %9, align 8, !tbaa !13
  %2205 = getelementptr inbounds i8, ptr %3, i64 24
  %2206 = load <2 x float>, ptr %2205, align 4, !tbaa !13
  store <2 x float> %2206, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %2207 = load float, ptr %4, align 4, !tbaa !9
  %2208 = load float, ptr %2168, align 4, !tbaa !12
  %2209 = fneg float %2208
  %2210 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2211 = insertelement <2 x float> poison, float %2208, i64 0
  %2212 = insertelement <2 x float> %2211, float %2209, i64 1
  %2213 = fmul <2 x float> %2210, %2212
  %2214 = shufflevector <2 x float> %2213, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2215 = insertelement <2 x float> poison, float %2207, i64 0
  %2216 = shufflevector <2 x float> %2215, <2 x float> poison, <2 x i32> zeroinitializer
  %2217 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2216, <2 x float> %2210, <2 x float> %2214)
  %2218 = load i64, ptr %1, align 8, !tbaa !5
  %.not43284553 = icmp slt i64 %2218, 1
  br i1 %.not43284553, label %.loopexit, label %.lr.ph4555

.lr.ph4555:                                       ; preds = %2165
  %2219 = getelementptr inbounds i8, ptr %15, i64 4
  %2220 = getelementptr inbounds i8, ptr %14, i64 4
  %2221 = getelementptr inbounds i8, ptr %13, i64 4
  %2222 = getelementptr inbounds i8, ptr %12, i64 4
  %2223 = load float, ptr %12, align 8, !tbaa !9
  %2224 = load float, ptr %2222, align 4, !tbaa !12
  %2225 = load float, ptr %13, align 8, !tbaa !9
  %.idx4329 = shl i64 %22, 4
  %2226 = load float, ptr %2221, align 4, !tbaa !12
  %2227 = insertelement <2 x float> poison, float %2224, i64 0
  %2228 = insertelement <2 x float> %2227, float %2226, i64 1
  %2229 = fneg <2 x float> %2228
  %2230 = load float, ptr %14, align 8, !tbaa !9
  %.idx4330 = mul i64 %22, 24
  %2231 = load float, ptr %2220, align 4, !tbaa !12
  %2232 = fneg float %2231
  %2233 = load float, ptr %15, align 8, !tbaa !9
  %.idx4331 = shl i64 %22, 5
  %2234 = load float, ptr %2219, align 4, !tbaa !12
  %2235 = fneg float %2234
  %min.iters.check6182 = icmp ult i64 %2218, 8
  br i1 %min.iters.check6182, label %scalar.ph6181.preheader, label %vector.scevcheck6085

vector.scevcheck6085:                             ; preds = %.lr.ph4555
  %2236 = add nsw i64 %2218, -1
  %scevgep6086 = getelementptr i8, ptr %5, i64 %.idx4330
  %mul.result6088 = shl i64 %2236, 3
  %2237 = getelementptr i8, ptr %scevgep6086, i64 %mul.result6088
  %scevgep6090 = getelementptr i8, ptr %5, i64 %.idx4329
  %mul.result6092 = shl i64 %2236, 3
  %mul.overflow6093 = icmp ugt i64 %2236, 2305843009213693951
  %2238 = getelementptr i8, ptr %scevgep6090, i64 %mul.result6092
  %2239 = shl i64 %22, 3
  %scevgep6094 = getelementptr i8, ptr %5, i64 %2239
  %mul.result6096 = shl i64 %2236, 3
  %2240 = getelementptr i8, ptr %scevgep6094, i64 %mul.result6096
  %mul.result6099 = shl i64 %2236, 3
  %2241 = getelementptr i8, ptr %5, i64 %mul.result6099
  %2242 = or disjoint i64 %.idx4330, 4
  %scevgep6101 = getelementptr i8, ptr %5, i64 %2242
  %mul.result6103 = shl i64 %2236, 3
  %2243 = getelementptr i8, ptr %scevgep6101, i64 %mul.result6103
  %2244 = or disjoint i64 %.idx4329, 4
  %scevgep6105 = getelementptr i8, ptr %5, i64 %2244
  %mul.result6107 = shl i64 %2236, 3
  %2245 = getelementptr i8, ptr %scevgep6105, i64 %mul.result6107
  %2246 = or disjoint i64 %2239, 4
  %scevgep6109 = getelementptr i8, ptr %5, i64 %2246
  %mul.result6111 = shl i64 %2236, 3
  %2247 = getelementptr i8, ptr %scevgep6109, i64 %mul.result6111
  %scevgep6113 = getelementptr i8, ptr %5, i64 4
  %mul.result6115 = shl i64 %2236, 3
  %2248 = getelementptr i8, ptr %scevgep6113, i64 %mul.result6115
  %2249 = insertelement <8 x ptr> poison, ptr %2238, i64 0
  %2250 = insertelement <8 x ptr> %2249, ptr %2237, i64 1
  %2251 = insertelement <8 x ptr> %2250, ptr %2240, i64 2
  %2252 = insertelement <8 x ptr> %2251, ptr %2241, i64 3
  %2253 = insertelement <8 x ptr> %2252, ptr %2243, i64 4
  %2254 = insertelement <8 x ptr> %2253, ptr %2245, i64 5
  %2255 = insertelement <8 x ptr> %2254, ptr %2247, i64 6
  %2256 = insertelement <8 x ptr> %2255, ptr %2248, i64 7
  %2257 = insertelement <8 x ptr> poison, ptr %scevgep6090, i64 0
  %2258 = insertelement <8 x ptr> %2257, ptr %scevgep6086, i64 1
  %2259 = insertelement <8 x ptr> %2258, ptr %scevgep6094, i64 2
  %2260 = insertelement <8 x ptr> %2259, ptr %5, i64 3
  %2261 = insertelement <8 x ptr> %2260, ptr %scevgep6101, i64 4
  %2262 = insertelement <8 x ptr> %2261, ptr %scevgep6105, i64 5
  %2263 = insertelement <8 x ptr> %2262, ptr %scevgep6109, i64 6
  %2264 = insertelement <8 x ptr> %2263, ptr %scevgep6113, i64 7
  %2265 = icmp ult <8 x ptr> %2256, %2264
  %2266 = bitcast <8 x i1> %2265 to i8
  %2267 = icmp ne i8 %2266, 0
  %op.rdx = or i1 %2267, %mul.overflow6093
  br i1 %op.rdx, label %scalar.ph6181.preheader, label %vector.memcheck6117

vector.memcheck6117:                              ; preds = %vector.scevcheck6085
  %2268 = shl i64 %2218, 3
  %2269 = getelementptr i8, ptr %5, i64 %2268
  %scevgep6118 = getelementptr i8, ptr %2269, i64 -4
  %2270 = shl i64 %22, 3
  %scevgep6119 = getelementptr i8, ptr %5, i64 %2270
  %2271 = getelementptr i8, ptr %5, i64 %2268
  %2272 = getelementptr i8, ptr %2271, i64 %2270
  %scevgep6120 = getelementptr i8, ptr %2272, i64 -4
  %scevgep6121 = getelementptr i8, ptr %5, i64 %.idx4329
  %2273 = getelementptr i8, ptr %5, i64 %.idx4329
  %2274 = getelementptr i8, ptr %2273, i64 %2268
  %scevgep6122 = getelementptr i8, ptr %2274, i64 -4
  %scevgep6123 = getelementptr i8, ptr %5, i64 %.idx4330
  %2275 = getelementptr i8, ptr %5, i64 %.idx4330
  %2276 = getelementptr i8, ptr %2275, i64 %2268
  %scevgep6124 = getelementptr i8, ptr %2276, i64 -4
  %scevgep6125 = getelementptr i8, ptr %5, i64 4
  %scevgep6126 = getelementptr i8, ptr %5, i64 %2268
  %2277 = or disjoint i64 %2270, 4
  %scevgep6127 = getelementptr i8, ptr %5, i64 %2277
  %2278 = getelementptr i8, ptr %5, i64 %2268
  %scevgep6128 = getelementptr i8, ptr %2278, i64 %2270
  %2279 = or disjoint i64 %.idx4329, 4
  %scevgep6129 = getelementptr i8, ptr %5, i64 %2279
  %2280 = getelementptr i8, ptr %5, i64 %.idx4329
  %scevgep6130 = getelementptr i8, ptr %2280, i64 %2268
  %2281 = or disjoint i64 %.idx4330, 4
  %scevgep6131 = getelementptr i8, ptr %5, i64 %2281
  %2282 = getelementptr i8, ptr %5, i64 %.idx4330
  %scevgep6132 = getelementptr i8, ptr %2282, i64 %2268
  %bound06133 = icmp ugt ptr %scevgep6120, %5
  %bound16134 = icmp ult ptr %scevgep6119, %scevgep6118
  %found.conflict6135 = and i1 %bound06133, %bound16134
  %bound06136 = icmp ugt ptr %scevgep6122, %5
  %bound16137 = icmp ult ptr %scevgep6121, %scevgep6118
  %found.conflict6138 = and i1 %bound06136, %bound16137
  %conflict.rdx6139 = or i1 %found.conflict6135, %found.conflict6138
  %bound06140 = icmp ugt ptr %scevgep6124, %5
  %bound16141 = icmp ult ptr %scevgep6123, %scevgep6118
  %found.conflict6142 = and i1 %bound06140, %bound16141
  %conflict.rdx6143 = or i1 %conflict.rdx6139, %found.conflict6142
  %bound06144 = icmp ult ptr %scevgep6119, %scevgep6122
  %bound16145 = icmp ult ptr %scevgep6121, %scevgep6120
  %found.conflict6146 = and i1 %bound06144, %bound16145
  %conflict.rdx6147 = or i1 %conflict.rdx6143, %found.conflict6146
  %bound06148 = icmp ult ptr %scevgep6119, %scevgep6124
  %bound16149 = icmp ult ptr %scevgep6123, %scevgep6120
  %found.conflict6150 = and i1 %bound06148, %bound16149
  %conflict.rdx6151 = or i1 %conflict.rdx6147, %found.conflict6150
  %bound06152 = icmp ult ptr %scevgep6121, %scevgep6124
  %bound16153 = icmp ult ptr %scevgep6123, %scevgep6122
  %found.conflict6154 = and i1 %bound06152, %bound16153
  %conflict.rdx6155 = or i1 %conflict.rdx6151, %found.conflict6154
  %bound06156 = icmp ult ptr %scevgep6125, %scevgep6128
  %bound16157 = icmp ult ptr %scevgep6127, %scevgep6126
  %found.conflict6158 = and i1 %bound06156, %bound16157
  %conflict.rdx6159 = or i1 %conflict.rdx6155, %found.conflict6158
  %bound06160 = icmp ult ptr %scevgep6125, %scevgep6130
  %bound16161 = icmp ult ptr %scevgep6129, %scevgep6126
  %found.conflict6162 = and i1 %bound06160, %bound16161
  %conflict.rdx6163 = or i1 %conflict.rdx6159, %found.conflict6162
  %bound06164 = icmp ult ptr %scevgep6125, %scevgep6132
  %bound16165 = icmp ult ptr %scevgep6131, %scevgep6126
  %found.conflict6166 = and i1 %bound06164, %bound16165
  %conflict.rdx6167 = or i1 %conflict.rdx6163, %found.conflict6166
  %bound06168 = icmp ult ptr %scevgep6127, %scevgep6130
  %bound16169 = icmp ult ptr %scevgep6129, %scevgep6128
  %found.conflict6170 = and i1 %bound06168, %bound16169
  %conflict.rdx6171 = or i1 %conflict.rdx6167, %found.conflict6170
  %bound06172 = icmp ult ptr %scevgep6127, %scevgep6132
  %bound16173 = icmp ult ptr %scevgep6131, %scevgep6128
  %found.conflict6174 = and i1 %bound06172, %bound16173
  %conflict.rdx6175 = or i1 %conflict.rdx6171, %found.conflict6174
  %bound06176 = icmp ult ptr %scevgep6129, %scevgep6132
  %bound16177 = icmp ult ptr %scevgep6131, %scevgep6130
  %found.conflict6178 = and i1 %bound06176, %bound16177
  %conflict.rdx6179 = or i1 %conflict.rdx6175, %found.conflict6178
  br i1 %conflict.rdx6179, label %scalar.ph6181.preheader, label %vector.ph6183

vector.ph6183:                                    ; preds = %vector.memcheck6117
  %n.vec6185 = and i64 %2218, 4611686018427387900
  %ind.end6186 = or disjoint i64 %n.vec6185, 1
  %broadcast.splat6195 = shufflevector <2 x float> %2229, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6196 = insertelement <4 x float> poison, float %2223, i64 0
  %broadcast.splat6197 = shufflevector <4 x float> %broadcast.splatinsert6196, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6198 = insertelement <4 x float> poison, float %2224, i64 0
  %broadcast.splat6199 = shufflevector <4 x float> %broadcast.splatinsert6198, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6204 = shufflevector <2 x float> %2229, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6205 = insertelement <4 x float> poison, float %2225, i64 0
  %broadcast.splat6206 = shufflevector <4 x float> %broadcast.splatinsert6205, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6207 = insertelement <4 x float> poison, float %2226, i64 0
  %broadcast.splat6208 = shufflevector <4 x float> %broadcast.splatinsert6207, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6212 = insertelement <4 x float> poison, float %2232, i64 0
  %broadcast.splat6213 = shufflevector <4 x float> %broadcast.splatinsert6212, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6214 = insertelement <4 x float> poison, float %2230, i64 0
  %broadcast.splat6215 = shufflevector <4 x float> %broadcast.splatinsert6214, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6216 = insertelement <4 x float> poison, float %2231, i64 0
  %broadcast.splat6217 = shufflevector <4 x float> %broadcast.splatinsert6216, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6221 = insertelement <4 x float> poison, float %2235, i64 0
  %broadcast.splat6222 = shufflevector <4 x float> %broadcast.splatinsert6221, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6223 = insertelement <4 x float> poison, float %2233, i64 0
  %broadcast.splat6224 = shufflevector <4 x float> %broadcast.splatinsert6223, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6225 = insertelement <4 x float> poison, float %2234, i64 0
  %broadcast.splat6226 = shufflevector <4 x float> %broadcast.splatinsert6225, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6228 = shufflevector <2 x float> %2178, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6230 = shufflevector <2 x float> %2178, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6233 = shufflevector <2 x float> %2191, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6235 = shufflevector <2 x float> %2191, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6241 = shufflevector <2 x float> %2204, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6243 = shufflevector <2 x float> %2204, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6249 = shufflevector <2 x float> %2217, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6251 = shufflevector <2 x float> %2217, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body6188

vector.body6188:                                  ; preds = %vector.body6188, %vector.ph6183
  %index6189 = phi i64 [ 0, %vector.ph6183 ], [ %index.next6256, %vector.body6188 ]
  %offset.idx6190 = or disjoint i64 %index6189, 1
  %2283 = getelementptr %struct.complex, ptr %24, i64 %offset.idx6190
  %2284 = getelementptr %struct.complex, ptr %2283, i64 %22
  %wide.vec6191 = load <8 x float>, ptr %2284, align 4, !tbaa !13
  %strided.vec6192 = shufflevector <8 x float> %wide.vec6191, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6193 = shufflevector <8 x float> %wide.vec6191, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2285 = fmul <4 x float> %strided.vec6193, %broadcast.splat6195
  %2286 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6197, <4 x float> %strided.vec6192, <4 x float> %2285)
  %2287 = fmul <4 x float> %strided.vec6192, %broadcast.splat6199
  %2288 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6197, <4 x float> %strided.vec6193, <4 x float> %2287)
  %2289 = getelementptr i8, ptr %2283, i64 %.idx4329
  %wide.vec6200 = load <8 x float>, ptr %2289, align 4, !tbaa !13
  %strided.vec6201 = shufflevector <8 x float> %wide.vec6200, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6202 = shufflevector <8 x float> %wide.vec6200, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2290 = fmul <4 x float> %strided.vec6202, %broadcast.splat6204
  %2291 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6206, <4 x float> %strided.vec6201, <4 x float> %2290)
  %2292 = fmul <4 x float> %strided.vec6201, %broadcast.splat6208
  %2293 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6206, <4 x float> %strided.vec6202, <4 x float> %2292)
  %2294 = fadd <4 x float> %2286, %2291
  %2295 = fadd <4 x float> %2288, %2293
  %2296 = getelementptr i8, ptr %2283, i64 %.idx4330
  %wide.vec6209 = load <8 x float>, ptr %2296, align 4, !tbaa !13
  %strided.vec6210 = shufflevector <8 x float> %wide.vec6209, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6211 = shufflevector <8 x float> %wide.vec6209, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2297 = fmul <4 x float> %strided.vec6211, %broadcast.splat6213
  %2298 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6215, <4 x float> %strided.vec6210, <4 x float> %2297)
  %2299 = fmul <4 x float> %strided.vec6210, %broadcast.splat6217
  %2300 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6215, <4 x float> %strided.vec6211, <4 x float> %2299)
  %2301 = fadd <4 x float> %2294, %2298
  %2302 = fadd <4 x float> %2295, %2300
  %2303 = getelementptr i8, ptr %2283, i64 %.idx4331
  %wide.vec6218 = load <8 x float>, ptr %2303, align 4, !tbaa !13
  %strided.vec6219 = shufflevector <8 x float> %wide.vec6218, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6220 = shufflevector <8 x float> %wide.vec6218, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2304 = fmul <4 x float> %strided.vec6220, %broadcast.splat6222
  %2305 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6224, <4 x float> %strided.vec6219, <4 x float> %2304)
  %2306 = fmul <4 x float> %strided.vec6219, %broadcast.splat6226
  %2307 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6224, <4 x float> %strided.vec6220, <4 x float> %2306)
  %2308 = fadd <4 x float> %2301, %2305
  %2309 = fadd <4 x float> %2302, %2307
  %2310 = fneg <4 x float> %2309
  %2311 = fmul <4 x float> %broadcast.splat6228, %2310
  %2312 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6230, <4 x float> %2311)
  %2313 = fmul <4 x float> %broadcast.splat6230, %2309
  %2314 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6228, <4 x float> %2313)
  %2315 = fsub <4 x float> %strided.vec6192, %2312
  %2316 = fsub <4 x float> %strided.vec6193, %2314
  %interleaved.vec6231 = shufflevector <4 x float> %2315, <4 x float> %2316, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6231, ptr %2284, align 4, !tbaa !13
  %2317 = fmul <4 x float> %broadcast.splat6233, %2310
  %2318 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6235, <4 x float> %2317)
  %2319 = fmul <4 x float> %broadcast.splat6235, %2309
  %2320 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6233, <4 x float> %2319)
  %wide.vec6236 = load <8 x float>, ptr %2289, align 4, !tbaa !13
  %strided.vec6237 = shufflevector <8 x float> %wide.vec6236, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6238 = shufflevector <8 x float> %wide.vec6236, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2321 = fsub <4 x float> %strided.vec6237, %2318
  %2322 = fsub <4 x float> %strided.vec6238, %2320
  %interleaved.vec6239 = shufflevector <4 x float> %2321, <4 x float> %2322, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6239, ptr %2289, align 4, !tbaa !13
  %2323 = fmul <4 x float> %broadcast.splat6241, %2310
  %2324 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6243, <4 x float> %2323)
  %2325 = fmul <4 x float> %broadcast.splat6243, %2309
  %2326 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6241, <4 x float> %2325)
  %wide.vec6244 = load <8 x float>, ptr %2296, align 4, !tbaa !13
  %strided.vec6245 = shufflevector <8 x float> %wide.vec6244, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6246 = shufflevector <8 x float> %wide.vec6244, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2327 = fsub <4 x float> %strided.vec6245, %2324
  %2328 = fsub <4 x float> %strided.vec6246, %2326
  %interleaved.vec6247 = shufflevector <4 x float> %2327, <4 x float> %2328, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6247, ptr %2296, align 4, !tbaa !13
  %2329 = fmul <4 x float> %broadcast.splat6249, %2310
  %2330 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6251, <4 x float> %2329)
  %2331 = fmul <4 x float> %broadcast.splat6251, %2309
  %2332 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2308, <4 x float> %broadcast.splat6249, <4 x float> %2331)
  %wide.vec6252 = load <8 x float>, ptr %2303, align 4, !tbaa !13
  %strided.vec6253 = shufflevector <8 x float> %wide.vec6252, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6254 = shufflevector <8 x float> %wide.vec6252, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2333 = fsub <4 x float> %strided.vec6253, %2330
  %2334 = fsub <4 x float> %strided.vec6254, %2332
  %interleaved.vec6255 = shufflevector <4 x float> %2333, <4 x float> %2334, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6255, ptr %2303, align 4, !tbaa !13
  %index.next6256 = add nuw i64 %index6189, 4
  %2335 = icmp eq i64 %index.next6256, %n.vec6185
  br i1 %2335, label %middle.block6180, label %vector.body6188, !llvm.loop !33

middle.block6180:                                 ; preds = %vector.body6188
  %cmp.n6257 = icmp eq i64 %2218, %n.vec6185
  br i1 %cmp.n6257, label %.loopexit, label %scalar.ph6181.preheader

scalar.ph6181.preheader:                          ; preds = %middle.block6180, %vector.memcheck6117, %vector.scevcheck6085, %.lr.ph4555
  %.134554.ph = phi i64 [ 1, %vector.memcheck6117 ], [ 1, %vector.scevcheck6085 ], [ 1, %.lr.ph4555 ], [ %ind.end6186, %middle.block6180 ]
  %2336 = insertelement <2 x float> poison, float %2223, i64 0
  %2337 = insertelement <2 x float> %2336, float %2225, i64 1
  br label %scalar.ph6181

scalar.ph6181:                                    ; preds = %scalar.ph6181.preheader, %scalar.ph6181
  %.134554 = phi i64 [ %2403, %scalar.ph6181 ], [ %.134554.ph, %scalar.ph6181.preheader ]
  %2338 = getelementptr %struct.complex, ptr %24, i64 %.134554
  %2339 = getelementptr %struct.complex, ptr %2338, i64 %22
  %2340 = getelementptr i8, ptr %2338, i64 %.idx4329
  %2341 = load float, ptr %2340, align 4, !tbaa !9
  %2342 = getelementptr inbounds i8, ptr %2340, i64 4
  %2343 = load float, ptr %2342, align 4, !tbaa !12
  %2344 = fmul float %2341, %2226
  %2345 = call float @llvm.fmuladd.f32(float %2225, float %2343, float %2344)
  %2346 = getelementptr i8, ptr %2338, i64 %.idx4330
  %2347 = load float, ptr %2346, align 4, !tbaa !9
  %2348 = getelementptr inbounds i8, ptr %2346, i64 4
  %2349 = load float, ptr %2348, align 4, !tbaa !12
  %2350 = fmul float %2349, %2232
  %2351 = call float @llvm.fmuladd.f32(float %2230, float %2347, float %2350)
  %2352 = fmul float %2347, %2231
  %2353 = call float @llvm.fmuladd.f32(float %2230, float %2349, float %2352)
  %2354 = getelementptr i8, ptr %2338, i64 %.idx4331
  %2355 = load float, ptr %2354, align 4, !tbaa !9
  %2356 = getelementptr inbounds i8, ptr %2354, i64 4
  %2357 = load float, ptr %2356, align 4, !tbaa !12
  %2358 = fmul float %2357, %2235
  %2359 = call float @llvm.fmuladd.f32(float %2233, float %2355, float %2358)
  %2360 = fmul float %2355, %2234
  %2361 = call float @llvm.fmuladd.f32(float %2233, float %2357, float %2360)
  %2362 = load <2 x float>, ptr %2339, align 4, !tbaa !13
  %2363 = extractelement <2 x float> %2362, i64 1
  %2364 = extractelement <2 x float> %2362, i64 0
  %2365 = shufflevector <2 x float> %2362, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2366 = insertelement <2 x float> %2365, float %2343, i64 1
  %2367 = fmul <2 x float> %2366, %2229
  %2368 = insertelement <2 x float> %2362, float %2341, i64 1
  %2369 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2337, <2 x float> %2368, <2 x float> %2367)
  %2370 = fmul float %2364, %2224
  %2371 = call float @llvm.fmuladd.f32(float %2223, float %2363, float %2370)
  %shift6523 = shufflevector <2 x float> %2369, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2372 = fadd <2 x float> %2369, %shift6523
  %2373 = extractelement <2 x float> %2372, i64 0
  %2374 = fadd float %2371, %2345
  %2375 = fadd float %2373, %2351
  %2376 = fadd float %2374, %2353
  %2377 = fadd float %2375, %2359
  %2378 = fadd float %2376, %2361
  %2379 = fneg float %2378
  %2380 = insertelement <2 x float> poison, float %2378, i64 0
  %2381 = insertelement <2 x float> %2380, float %2379, i64 1
  %2382 = fmul <2 x float> %2178, %2381
  %2383 = shufflevector <2 x float> %2382, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2384 = insertelement <2 x float> poison, float %2377, i64 0
  %2385 = shufflevector <2 x float> %2384, <2 x float> poison, <2 x i32> zeroinitializer
  %2386 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2385, <2 x float> %2178, <2 x float> %2383)
  %2387 = fsub <2 x float> %2362, %2386
  store <2 x float> %2387, ptr %2339, align 4, !tbaa !13
  %2388 = fmul <2 x float> %2191, %2381
  %2389 = shufflevector <2 x float> %2388, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2390 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2385, <2 x float> %2191, <2 x float> %2389)
  %2391 = load <2 x float>, ptr %2340, align 4, !tbaa !13
  %2392 = fsub <2 x float> %2391, %2390
  store <2 x float> %2392, ptr %2340, align 4, !tbaa !13
  %2393 = fmul <2 x float> %2204, %2381
  %2394 = shufflevector <2 x float> %2393, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2395 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2385, <2 x float> %2204, <2 x float> %2394)
  %2396 = load <2 x float>, ptr %2346, align 4, !tbaa !13
  %2397 = fsub <2 x float> %2396, %2395
  store <2 x float> %2397, ptr %2346, align 4, !tbaa !13
  %2398 = fmul <2 x float> %2217, %2381
  %2399 = shufflevector <2 x float> %2398, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2400 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2385, <2 x float> %2217, <2 x float> %2399)
  %2401 = load <2 x float>, ptr %2354, align 4, !tbaa !13
  %2402 = fsub <2 x float> %2401, %2400
  store <2 x float> %2402, ptr %2354, align 4, !tbaa !13
  %2403 = add nuw i64 %.134554, 1
  %exitcond4708.not = icmp eq i64 %.134554, %2218
  br i1 %exitcond4708.not, label %.loopexit, label %scalar.ph6181, !llvm.loop !34

2404:                                             ; preds = %1794
  %2405 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %2405, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %2406 = load float, ptr %4, align 4, !tbaa !9
  %2407 = getelementptr inbounds i8, ptr %4, i64 4
  %2408 = load float, ptr %2407, align 4, !tbaa !12
  %2409 = fneg float %2408
  %2410 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2411 = insertelement <2 x float> poison, float %2408, i64 0
  %2412 = insertelement <2 x float> %2411, float %2409, i64 1
  %2413 = fmul <2 x float> %2410, %2412
  %2414 = shufflevector <2 x float> %2413, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2415 = insertelement <2 x float> poison, float %2406, i64 0
  %2416 = shufflevector <2 x float> %2415, <2 x float> poison, <2 x i32> zeroinitializer
  %2417 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2416, <2 x float> %2410, <2 x float> %2414)
  store <2 x float> %2417, ptr %9, align 8, !tbaa !13
  %2418 = getelementptr inbounds i8, ptr %3, i64 8
  %2419 = load <2 x float>, ptr %2418, align 4, !tbaa !13
  store <2 x float> %2419, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %2420 = load float, ptr %4, align 4, !tbaa !9
  %2421 = load float, ptr %2407, align 4, !tbaa !12
  %2422 = fneg float %2421
  %2423 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2424 = insertelement <2 x float> poison, float %2421, i64 0
  %2425 = insertelement <2 x float> %2424, float %2422, i64 1
  %2426 = fmul <2 x float> %2423, %2425
  %2427 = shufflevector <2 x float> %2426, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2428 = insertelement <2 x float> poison, float %2420, i64 0
  %2429 = shufflevector <2 x float> %2428, <2 x float> poison, <2 x i32> zeroinitializer
  %2430 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2429, <2 x float> %2423, <2 x float> %2427)
  store <2 x float> %2430, ptr %9, align 8, !tbaa !13
  %2431 = getelementptr inbounds i8, ptr %3, i64 16
  %2432 = load <2 x float>, ptr %2431, align 4, !tbaa !13
  store <2 x float> %2432, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %2433 = load float, ptr %4, align 4, !tbaa !9
  %2434 = load float, ptr %2407, align 4, !tbaa !12
  %2435 = fneg float %2434
  %2436 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2437 = insertelement <2 x float> poison, float %2434, i64 0
  %2438 = insertelement <2 x float> %2437, float %2435, i64 1
  %2439 = fmul <2 x float> %2436, %2438
  %2440 = shufflevector <2 x float> %2439, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2441 = insertelement <2 x float> poison, float %2433, i64 0
  %2442 = shufflevector <2 x float> %2441, <2 x float> poison, <2 x i32> zeroinitializer
  %2443 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2442, <2 x float> %2436, <2 x float> %2440)
  store <2 x float> %2443, ptr %9, align 8, !tbaa !13
  %2444 = getelementptr inbounds i8, ptr %3, i64 24
  %2445 = load <2 x float>, ptr %2444, align 4, !tbaa !13
  store <2 x float> %2445, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %2446 = load float, ptr %4, align 4, !tbaa !9
  %2447 = load float, ptr %2407, align 4, !tbaa !12
  %2448 = fneg float %2447
  %2449 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2450 = insertelement <2 x float> poison, float %2447, i64 0
  %2451 = insertelement <2 x float> %2450, float %2448, i64 1
  %2452 = fmul <2 x float> %2449, %2451
  %2453 = shufflevector <2 x float> %2452, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2454 = insertelement <2 x float> poison, float %2446, i64 0
  %2455 = shufflevector <2 x float> %2454, <2 x float> poison, <2 x i32> zeroinitializer
  %2456 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2455, <2 x float> %2449, <2 x float> %2453)
  store <2 x float> %2456, ptr %9, align 8, !tbaa !13
  %2457 = getelementptr inbounds i8, ptr %3, i64 32
  %2458 = load <2 x float>, ptr %2457, align 4, !tbaa !13
  store <2 x float> %2458, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %2459 = load float, ptr %4, align 4, !tbaa !9
  %2460 = load float, ptr %2407, align 4, !tbaa !12
  %2461 = fneg float %2460
  %2462 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2463 = insertelement <2 x float> poison, float %2460, i64 0
  %2464 = insertelement <2 x float> %2463, float %2461, i64 1
  %2465 = fmul <2 x float> %2462, %2464
  %2466 = shufflevector <2 x float> %2465, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2467 = insertelement <2 x float> poison, float %2459, i64 0
  %2468 = shufflevector <2 x float> %2467, <2 x float> poison, <2 x i32> zeroinitializer
  %2469 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2468, <2 x float> %2462, <2 x float> %2466)
  %2470 = load i64, ptr %1, align 8, !tbaa !5
  %.not43234542 = icmp slt i64 %2470, 1
  br i1 %.not43234542, label %.loopexit, label %.lr.ph4544

.lr.ph4544:                                       ; preds = %2404
  %2471 = getelementptr inbounds i8, ptr %16, i64 4
  %2472 = getelementptr inbounds i8, ptr %15, i64 4
  %2473 = getelementptr inbounds i8, ptr %14, i64 4
  %2474 = getelementptr inbounds i8, ptr %13, i64 4
  %2475 = getelementptr inbounds i8, ptr %12, i64 4
  %2476 = load float, ptr %12, align 8, !tbaa !9
  %2477 = load float, ptr %2475, align 4, !tbaa !12
  %2478 = load float, ptr %13, align 8, !tbaa !9
  %.idx4324 = shl i64 %22, 4
  %2479 = load float, ptr %2474, align 4, !tbaa !12
  %2480 = insertelement <2 x float> poison, float %2477, i64 0
  %2481 = insertelement <2 x float> %2480, float %2479, i64 1
  %2482 = fneg <2 x float> %2481
  %2483 = load float, ptr %14, align 8, !tbaa !9
  %.idx4325 = mul i64 %22, 24
  %2484 = load float, ptr %2473, align 4, !tbaa !12
  %2485 = fneg float %2484
  %2486 = load float, ptr %15, align 8, !tbaa !9
  %.idx4326 = shl i64 %22, 5
  %2487 = load float, ptr %2472, align 4, !tbaa !12
  %2488 = fneg float %2487
  %2489 = load float, ptr %16, align 8, !tbaa !9
  %.idx4327 = mul i64 %22, 40
  %2490 = load float, ptr %2471, align 4, !tbaa !12
  %2491 = fneg float %2490
  %min.iters.check5992 = icmp ult i64 %2470, 12
  br i1 %min.iters.check5992, label %scalar.ph5991.preheader, label %vector.scevcheck5851

vector.scevcheck5851:                             ; preds = %.lr.ph4544
  %2492 = add nsw i64 %2470, -1
  %scevgep5852 = getelementptr i8, ptr %5, i64 %.idx4326
  %mul.result5854 = shl i64 %2492, 3
  %2493 = getelementptr i8, ptr %scevgep5852, i64 %mul.result5854
  %scevgep5856 = getelementptr i8, ptr %5, i64 %.idx4325
  %mul.result5858 = shl i64 %2492, 3
  %mul.overflow5859 = icmp ugt i64 %2492, 2305843009213693951
  %2494 = getelementptr i8, ptr %scevgep5856, i64 %mul.result5858
  %scevgep5860 = getelementptr i8, ptr %5, i64 %.idx4324
  %mul.result5862 = shl i64 %2492, 3
  %2495 = getelementptr i8, ptr %scevgep5860, i64 %mul.result5862
  %2496 = shl i64 %22, 3
  %scevgep5864 = getelementptr i8, ptr %5, i64 %2496
  %mul.result5866 = shl i64 %2492, 3
  %2497 = getelementptr i8, ptr %scevgep5864, i64 %mul.result5866
  %mul.result5869 = shl i64 %2492, 3
  %2498 = getelementptr i8, ptr %5, i64 %mul.result5869
  %2499 = or disjoint i64 %.idx4326, 4
  %scevgep5871 = getelementptr i8, ptr %5, i64 %2499
  %mul.result5873 = shl i64 %2492, 3
  %2500 = getelementptr i8, ptr %scevgep5871, i64 %mul.result5873
  %2501 = or disjoint i64 %.idx4325, 4
  %scevgep5875 = getelementptr i8, ptr %5, i64 %2501
  %mul.result5877 = shl i64 %2492, 3
  %2502 = getelementptr i8, ptr %scevgep5875, i64 %mul.result5877
  %2503 = or disjoint i64 %.idx4324, 4
  %scevgep5879 = getelementptr i8, ptr %5, i64 %2503
  %mul.result5881 = shl i64 %2492, 3
  %2504 = getelementptr i8, ptr %scevgep5879, i64 %mul.result5881
  %2505 = insertelement <8 x ptr> poison, ptr %2494, i64 0
  %2506 = insertelement <8 x ptr> %2505, ptr %2493, i64 1
  %2507 = insertelement <8 x ptr> %2506, ptr %2495, i64 2
  %2508 = insertelement <8 x ptr> %2507, ptr %2497, i64 3
  %2509 = insertelement <8 x ptr> %2508, ptr %2498, i64 4
  %2510 = insertelement <8 x ptr> %2509, ptr %2500, i64 5
  %2511 = insertelement <8 x ptr> %2510, ptr %2502, i64 6
  %2512 = insertelement <8 x ptr> %2511, ptr %2504, i64 7
  %2513 = insertelement <8 x ptr> poison, ptr %scevgep5856, i64 0
  %2514 = insertelement <8 x ptr> %2513, ptr %scevgep5852, i64 1
  %2515 = insertelement <8 x ptr> %2514, ptr %scevgep5860, i64 2
  %2516 = insertelement <8 x ptr> %2515, ptr %scevgep5864, i64 3
  %2517 = insertelement <8 x ptr> %2516, ptr %5, i64 4
  %2518 = insertelement <8 x ptr> %2517, ptr %scevgep5871, i64 5
  %2519 = insertelement <8 x ptr> %2518, ptr %scevgep5875, i64 6
  %2520 = insertelement <8 x ptr> %2519, ptr %scevgep5879, i64 7
  %2521 = icmp ult <8 x ptr> %2512, %2520
  %2522 = or disjoint i64 %2496, 4
  %scevgep5883 = getelementptr i8, ptr %5, i64 %2522
  %mul.result5885 = shl i64 %2492, 3
  %2523 = getelementptr i8, ptr %scevgep5883, i64 %mul.result5885
  %2524 = icmp ult ptr %2523, %scevgep5883
  %scevgep5887 = getelementptr i8, ptr %5, i64 4
  %mul.result5889 = shl i64 %2492, 3
  %2525 = getelementptr i8, ptr %scevgep5887, i64 %mul.result5889
  %2526 = icmp ult ptr %2525, %scevgep5887
  %2527 = bitcast <8 x i1> %2521 to i8
  %2528 = icmp ne i8 %2527, 0
  %op.rdx6484 = or i1 %2528, %2524
  %op.rdx6485 = or i1 %2526, %mul.overflow5859
  %op.rdx6486 = or i1 %op.rdx6484, %op.rdx6485
  br i1 %op.rdx6486, label %scalar.ph5991.preheader, label %vector.memcheck5891

vector.memcheck5891:                              ; preds = %vector.scevcheck5851
  %2529 = shl i64 %2470, 3
  %2530 = getelementptr i8, ptr %5, i64 %2529
  %scevgep5892 = getelementptr i8, ptr %2530, i64 -4
  %2531 = shl i64 %22, 3
  %scevgep5893 = getelementptr i8, ptr %5, i64 %2531
  %2532 = getelementptr i8, ptr %5, i64 %2529
  %2533 = getelementptr i8, ptr %2532, i64 %2531
  %scevgep5894 = getelementptr i8, ptr %2533, i64 -4
  %scevgep5895 = getelementptr i8, ptr %5, i64 %.idx4324
  %2534 = getelementptr i8, ptr %5, i64 %.idx4324
  %2535 = getelementptr i8, ptr %2534, i64 %2529
  %scevgep5896 = getelementptr i8, ptr %2535, i64 -4
  %scevgep5897 = getelementptr i8, ptr %5, i64 %.idx4325
  %2536 = getelementptr i8, ptr %5, i64 %.idx4325
  %2537 = getelementptr i8, ptr %2536, i64 %2529
  %scevgep5898 = getelementptr i8, ptr %2537, i64 -4
  %scevgep5899 = getelementptr i8, ptr %5, i64 %.idx4326
  %2538 = getelementptr i8, ptr %5, i64 %.idx4326
  %2539 = getelementptr i8, ptr %2538, i64 %2529
  %scevgep5900 = getelementptr i8, ptr %2539, i64 -4
  %scevgep5901 = getelementptr i8, ptr %5, i64 4
  %scevgep5902 = getelementptr i8, ptr %5, i64 %2529
  %2540 = or disjoint i64 %2531, 4
  %scevgep5903 = getelementptr i8, ptr %5, i64 %2540
  %2541 = getelementptr i8, ptr %5, i64 %2529
  %scevgep5904 = getelementptr i8, ptr %2541, i64 %2531
  %2542 = or disjoint i64 %.idx4324, 4
  %scevgep5905 = getelementptr i8, ptr %5, i64 %2542
  %2543 = getelementptr i8, ptr %5, i64 %.idx4324
  %scevgep5906 = getelementptr i8, ptr %2543, i64 %2529
  %2544 = or disjoint i64 %.idx4325, 4
  %scevgep5907 = getelementptr i8, ptr %5, i64 %2544
  %2545 = getelementptr i8, ptr %5, i64 %.idx4325
  %scevgep5908 = getelementptr i8, ptr %2545, i64 %2529
  %2546 = or disjoint i64 %.idx4326, 4
  %scevgep5909 = getelementptr i8, ptr %5, i64 %2546
  %2547 = getelementptr i8, ptr %5, i64 %.idx4326
  %scevgep5910 = getelementptr i8, ptr %2547, i64 %2529
  %bound05911 = icmp ugt ptr %scevgep5894, %5
  %bound15912 = icmp ult ptr %scevgep5893, %scevgep5892
  %found.conflict5913 = and i1 %bound05911, %bound15912
  %bound05914 = icmp ugt ptr %scevgep5896, %5
  %bound15915 = icmp ult ptr %scevgep5895, %scevgep5892
  %found.conflict5916 = and i1 %bound05914, %bound15915
  %conflict.rdx5917 = or i1 %found.conflict5913, %found.conflict5916
  %bound05918 = icmp ugt ptr %scevgep5898, %5
  %bound15919 = icmp ult ptr %scevgep5897, %scevgep5892
  %found.conflict5920 = and i1 %bound05918, %bound15919
  %conflict.rdx5921 = or i1 %conflict.rdx5917, %found.conflict5920
  %bound05922 = icmp ugt ptr %scevgep5900, %5
  %bound15923 = icmp ult ptr %scevgep5899, %scevgep5892
  %found.conflict5924 = and i1 %bound05922, %bound15923
  %conflict.rdx5925 = or i1 %conflict.rdx5921, %found.conflict5924
  %bound05926 = icmp ult ptr %scevgep5893, %scevgep5896
  %bound15927 = icmp ult ptr %scevgep5895, %scevgep5894
  %found.conflict5928 = and i1 %bound05926, %bound15927
  %conflict.rdx5929 = or i1 %conflict.rdx5925, %found.conflict5928
  %bound05930 = icmp ult ptr %scevgep5893, %scevgep5898
  %bound15931 = icmp ult ptr %scevgep5897, %scevgep5894
  %found.conflict5932 = and i1 %bound05930, %bound15931
  %conflict.rdx5933 = or i1 %conflict.rdx5929, %found.conflict5932
  %bound05934 = icmp ult ptr %scevgep5893, %scevgep5900
  %bound15935 = icmp ult ptr %scevgep5899, %scevgep5894
  %found.conflict5936 = and i1 %bound05934, %bound15935
  %conflict.rdx5937 = or i1 %conflict.rdx5933, %found.conflict5936
  %bound05938 = icmp ult ptr %scevgep5895, %scevgep5898
  %bound15939 = icmp ult ptr %scevgep5897, %scevgep5896
  %found.conflict5940 = and i1 %bound05938, %bound15939
  %conflict.rdx5941 = or i1 %conflict.rdx5937, %found.conflict5940
  %bound05942 = icmp ult ptr %scevgep5895, %scevgep5900
  %bound15943 = icmp ult ptr %scevgep5899, %scevgep5896
  %found.conflict5944 = and i1 %bound05942, %bound15943
  %conflict.rdx5945 = or i1 %conflict.rdx5941, %found.conflict5944
  %bound05946 = icmp ult ptr %scevgep5897, %scevgep5900
  %bound15947 = icmp ult ptr %scevgep5899, %scevgep5898
  %found.conflict5948 = and i1 %bound05946, %bound15947
  %conflict.rdx5949 = or i1 %conflict.rdx5945, %found.conflict5948
  %bound05950 = icmp ult ptr %scevgep5901, %scevgep5904
  %bound15951 = icmp ult ptr %scevgep5903, %scevgep5902
  %found.conflict5952 = and i1 %bound05950, %bound15951
  %conflict.rdx5953 = or i1 %conflict.rdx5949, %found.conflict5952
  %bound05954 = icmp ult ptr %scevgep5901, %scevgep5906
  %bound15955 = icmp ult ptr %scevgep5905, %scevgep5902
  %found.conflict5956 = and i1 %bound05954, %bound15955
  %conflict.rdx5957 = or i1 %conflict.rdx5953, %found.conflict5956
  %bound05958 = icmp ult ptr %scevgep5901, %scevgep5908
  %bound15959 = icmp ult ptr %scevgep5907, %scevgep5902
  %found.conflict5960 = and i1 %bound05958, %bound15959
  %conflict.rdx5961 = or i1 %conflict.rdx5957, %found.conflict5960
  %bound05962 = icmp ult ptr %scevgep5901, %scevgep5910
  %bound15963 = icmp ult ptr %scevgep5909, %scevgep5902
  %found.conflict5964 = and i1 %bound05962, %bound15963
  %conflict.rdx5965 = or i1 %conflict.rdx5961, %found.conflict5964
  %bound05966 = icmp ult ptr %scevgep5903, %scevgep5906
  %bound15967 = icmp ult ptr %scevgep5905, %scevgep5904
  %found.conflict5968 = and i1 %bound05966, %bound15967
  %conflict.rdx5969 = or i1 %conflict.rdx5965, %found.conflict5968
  %bound05970 = icmp ult ptr %scevgep5903, %scevgep5908
  %bound15971 = icmp ult ptr %scevgep5907, %scevgep5904
  %found.conflict5972 = and i1 %bound05970, %bound15971
  %conflict.rdx5973 = or i1 %conflict.rdx5969, %found.conflict5972
  %bound05974 = icmp ult ptr %scevgep5903, %scevgep5910
  %bound15975 = icmp ult ptr %scevgep5909, %scevgep5904
  %found.conflict5976 = and i1 %bound05974, %bound15975
  %conflict.rdx5977 = or i1 %conflict.rdx5973, %found.conflict5976
  %bound05978 = icmp ult ptr %scevgep5905, %scevgep5908
  %bound15979 = icmp ult ptr %scevgep5907, %scevgep5906
  %found.conflict5980 = and i1 %bound05978, %bound15979
  %conflict.rdx5981 = or i1 %conflict.rdx5977, %found.conflict5980
  %bound05982 = icmp ult ptr %scevgep5905, %scevgep5910
  %bound15983 = icmp ult ptr %scevgep5909, %scevgep5906
  %found.conflict5984 = and i1 %bound05982, %bound15983
  %conflict.rdx5985 = or i1 %conflict.rdx5981, %found.conflict5984
  %bound05986 = icmp ult ptr %scevgep5907, %scevgep5910
  %bound15987 = icmp ult ptr %scevgep5909, %scevgep5908
  %found.conflict5988 = and i1 %bound05986, %bound15987
  %conflict.rdx5989 = or i1 %conflict.rdx5985, %found.conflict5988
  br i1 %conflict.rdx5989, label %scalar.ph5991.preheader, label %vector.ph5993

vector.ph5993:                                    ; preds = %vector.memcheck5891
  %n.vec5995 = and i64 %2470, 4611686018427387900
  %ind.end5996 = or disjoint i64 %n.vec5995, 1
  %broadcast.splat6005 = shufflevector <2 x float> %2482, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6006 = insertelement <4 x float> poison, float %2476, i64 0
  %broadcast.splat6007 = shufflevector <4 x float> %broadcast.splatinsert6006, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6008 = insertelement <4 x float> poison, float %2477, i64 0
  %broadcast.splat6009 = shufflevector <4 x float> %broadcast.splatinsert6008, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6014 = shufflevector <2 x float> %2482, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert6015 = insertelement <4 x float> poison, float %2478, i64 0
  %broadcast.splat6016 = shufflevector <4 x float> %broadcast.splatinsert6015, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6017 = insertelement <4 x float> poison, float %2479, i64 0
  %broadcast.splat6018 = shufflevector <4 x float> %broadcast.splatinsert6017, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6022 = insertelement <4 x float> poison, float %2485, i64 0
  %broadcast.splat6023 = shufflevector <4 x float> %broadcast.splatinsert6022, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6024 = insertelement <4 x float> poison, float %2483, i64 0
  %broadcast.splat6025 = shufflevector <4 x float> %broadcast.splatinsert6024, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6026 = insertelement <4 x float> poison, float %2484, i64 0
  %broadcast.splat6027 = shufflevector <4 x float> %broadcast.splatinsert6026, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6031 = insertelement <4 x float> poison, float %2488, i64 0
  %broadcast.splat6032 = shufflevector <4 x float> %broadcast.splatinsert6031, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6033 = insertelement <4 x float> poison, float %2486, i64 0
  %broadcast.splat6034 = shufflevector <4 x float> %broadcast.splatinsert6033, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6035 = insertelement <4 x float> poison, float %2487, i64 0
  %broadcast.splat6036 = shufflevector <4 x float> %broadcast.splatinsert6035, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6040 = insertelement <4 x float> poison, float %2491, i64 0
  %broadcast.splat6041 = shufflevector <4 x float> %broadcast.splatinsert6040, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6042 = insertelement <4 x float> poison, float %2489, i64 0
  %broadcast.splat6043 = shufflevector <4 x float> %broadcast.splatinsert6042, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert6044 = insertelement <4 x float> poison, float %2490, i64 0
  %broadcast.splat6045 = shufflevector <4 x float> %broadcast.splatinsert6044, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6047 = shufflevector <2 x float> %2417, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6049 = shufflevector <2 x float> %2417, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6052 = shufflevector <2 x float> %2430, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6054 = shufflevector <2 x float> %2430, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6060 = shufflevector <2 x float> %2443, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6062 = shufflevector <2 x float> %2443, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6068 = shufflevector <2 x float> %2456, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6070 = shufflevector <2 x float> %2456, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat6076 = shufflevector <2 x float> %2469, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat6078 = shufflevector <2 x float> %2469, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body5998

vector.body5998:                                  ; preds = %vector.body5998, %vector.ph5993
  %index5999 = phi i64 [ 0, %vector.ph5993 ], [ %index.next6083, %vector.body5998 ]
  %offset.idx6000 = or disjoint i64 %index5999, 1
  %2548 = getelementptr %struct.complex, ptr %24, i64 %offset.idx6000
  %2549 = getelementptr %struct.complex, ptr %2548, i64 %22
  %wide.vec6001 = load <8 x float>, ptr %2549, align 4, !tbaa !13
  %strided.vec6002 = shufflevector <8 x float> %wide.vec6001, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6003 = shufflevector <8 x float> %wide.vec6001, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2550 = fmul <4 x float> %strided.vec6003, %broadcast.splat6005
  %2551 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6007, <4 x float> %strided.vec6002, <4 x float> %2550)
  %2552 = fmul <4 x float> %strided.vec6002, %broadcast.splat6009
  %2553 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6007, <4 x float> %strided.vec6003, <4 x float> %2552)
  %2554 = getelementptr i8, ptr %2548, i64 %.idx4324
  %wide.vec6010 = load <8 x float>, ptr %2554, align 4, !tbaa !13
  %strided.vec6011 = shufflevector <8 x float> %wide.vec6010, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6012 = shufflevector <8 x float> %wide.vec6010, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2555 = fmul <4 x float> %strided.vec6012, %broadcast.splat6014
  %2556 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6016, <4 x float> %strided.vec6011, <4 x float> %2555)
  %2557 = fmul <4 x float> %strided.vec6011, %broadcast.splat6018
  %2558 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6016, <4 x float> %strided.vec6012, <4 x float> %2557)
  %2559 = fadd <4 x float> %2551, %2556
  %2560 = fadd <4 x float> %2553, %2558
  %2561 = getelementptr i8, ptr %2548, i64 %.idx4325
  %wide.vec6019 = load <8 x float>, ptr %2561, align 4, !tbaa !13
  %strided.vec6020 = shufflevector <8 x float> %wide.vec6019, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6021 = shufflevector <8 x float> %wide.vec6019, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2562 = fmul <4 x float> %strided.vec6021, %broadcast.splat6023
  %2563 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6025, <4 x float> %strided.vec6020, <4 x float> %2562)
  %2564 = fmul <4 x float> %strided.vec6020, %broadcast.splat6027
  %2565 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6025, <4 x float> %strided.vec6021, <4 x float> %2564)
  %2566 = fadd <4 x float> %2559, %2563
  %2567 = fadd <4 x float> %2560, %2565
  %2568 = getelementptr i8, ptr %2548, i64 %.idx4326
  %wide.vec6028 = load <8 x float>, ptr %2568, align 4, !tbaa !13
  %strided.vec6029 = shufflevector <8 x float> %wide.vec6028, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6030 = shufflevector <8 x float> %wide.vec6028, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2569 = fmul <4 x float> %strided.vec6030, %broadcast.splat6032
  %2570 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6034, <4 x float> %strided.vec6029, <4 x float> %2569)
  %2571 = fmul <4 x float> %strided.vec6029, %broadcast.splat6036
  %2572 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6034, <4 x float> %strided.vec6030, <4 x float> %2571)
  %2573 = fadd <4 x float> %2566, %2570
  %2574 = fadd <4 x float> %2567, %2572
  %2575 = getelementptr i8, ptr %2548, i64 %.idx4327
  %wide.vec6037 = load <8 x float>, ptr %2575, align 4, !tbaa !13
  %strided.vec6038 = shufflevector <8 x float> %wide.vec6037, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6039 = shufflevector <8 x float> %wide.vec6037, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2576 = fmul <4 x float> %strided.vec6039, %broadcast.splat6041
  %2577 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6043, <4 x float> %strided.vec6038, <4 x float> %2576)
  %2578 = fmul <4 x float> %strided.vec6038, %broadcast.splat6045
  %2579 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat6043, <4 x float> %strided.vec6039, <4 x float> %2578)
  %2580 = fadd <4 x float> %2573, %2577
  %2581 = fadd <4 x float> %2574, %2579
  %2582 = fneg <4 x float> %2581
  %2583 = fmul <4 x float> %broadcast.splat6047, %2582
  %2584 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6049, <4 x float> %2583)
  %2585 = fmul <4 x float> %broadcast.splat6049, %2581
  %2586 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6047, <4 x float> %2585)
  %2587 = fsub <4 x float> %strided.vec6002, %2584
  %2588 = fsub <4 x float> %strided.vec6003, %2586
  %interleaved.vec6050 = shufflevector <4 x float> %2587, <4 x float> %2588, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6050, ptr %2549, align 4, !tbaa !13
  %2589 = fmul <4 x float> %broadcast.splat6052, %2582
  %2590 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6054, <4 x float> %2589)
  %2591 = fmul <4 x float> %broadcast.splat6054, %2581
  %2592 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6052, <4 x float> %2591)
  %wide.vec6055 = load <8 x float>, ptr %2554, align 4, !tbaa !13
  %strided.vec6056 = shufflevector <8 x float> %wide.vec6055, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6057 = shufflevector <8 x float> %wide.vec6055, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2593 = fsub <4 x float> %strided.vec6056, %2590
  %2594 = fsub <4 x float> %strided.vec6057, %2592
  %interleaved.vec6058 = shufflevector <4 x float> %2593, <4 x float> %2594, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6058, ptr %2554, align 4, !tbaa !13
  %2595 = fmul <4 x float> %broadcast.splat6060, %2582
  %2596 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6062, <4 x float> %2595)
  %2597 = fmul <4 x float> %broadcast.splat6062, %2581
  %2598 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6060, <4 x float> %2597)
  %wide.vec6063 = load <8 x float>, ptr %2561, align 4, !tbaa !13
  %strided.vec6064 = shufflevector <8 x float> %wide.vec6063, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6065 = shufflevector <8 x float> %wide.vec6063, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2599 = fsub <4 x float> %strided.vec6064, %2596
  %2600 = fsub <4 x float> %strided.vec6065, %2598
  %interleaved.vec6066 = shufflevector <4 x float> %2599, <4 x float> %2600, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6066, ptr %2561, align 4, !tbaa !13
  %2601 = fmul <4 x float> %broadcast.splat6068, %2582
  %2602 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6070, <4 x float> %2601)
  %2603 = fmul <4 x float> %broadcast.splat6070, %2581
  %2604 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6068, <4 x float> %2603)
  %wide.vec6071 = load <8 x float>, ptr %2568, align 4, !tbaa !13
  %strided.vec6072 = shufflevector <8 x float> %wide.vec6071, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6073 = shufflevector <8 x float> %wide.vec6071, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2605 = fsub <4 x float> %strided.vec6072, %2602
  %2606 = fsub <4 x float> %strided.vec6073, %2604
  %interleaved.vec6074 = shufflevector <4 x float> %2605, <4 x float> %2606, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6074, ptr %2568, align 4, !tbaa !13
  %2607 = fmul <4 x float> %broadcast.splat6076, %2582
  %2608 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6078, <4 x float> %2607)
  %2609 = fmul <4 x float> %broadcast.splat6078, %2581
  %2610 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2580, <4 x float> %broadcast.splat6076, <4 x float> %2609)
  %wide.vec6079 = load <8 x float>, ptr %2575, align 4, !tbaa !13
  %strided.vec6080 = shufflevector <8 x float> %wide.vec6079, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec6081 = shufflevector <8 x float> %wide.vec6079, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2611 = fsub <4 x float> %strided.vec6080, %2608
  %2612 = fsub <4 x float> %strided.vec6081, %2610
  %interleaved.vec6082 = shufflevector <4 x float> %2611, <4 x float> %2612, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec6082, ptr %2575, align 4, !tbaa !13
  %index.next6083 = add nuw i64 %index5999, 4
  %2613 = icmp eq i64 %index.next6083, %n.vec5995
  br i1 %2613, label %middle.block5990, label %vector.body5998, !llvm.loop !35

middle.block5990:                                 ; preds = %vector.body5998
  %cmp.n6084 = icmp eq i64 %2470, %n.vec5995
  br i1 %cmp.n6084, label %.loopexit, label %scalar.ph5991.preheader

scalar.ph5991.preheader:                          ; preds = %middle.block5990, %vector.memcheck5891, %vector.scevcheck5851, %.lr.ph4544
  %.144543.ph = phi i64 [ 1, %vector.memcheck5891 ], [ 1, %vector.scevcheck5851 ], [ 1, %.lr.ph4544 ], [ %ind.end5996, %middle.block5990 ]
  %2614 = insertelement <2 x float> poison, float %2476, i64 0
  %2615 = insertelement <2 x float> %2614, float %2478, i64 1
  br label %scalar.ph5991

scalar.ph5991:                                    ; preds = %scalar.ph5991.preheader, %scalar.ph5991
  %.144543 = phi i64 [ %2696, %scalar.ph5991 ], [ %.144543.ph, %scalar.ph5991.preheader ]
  %2616 = getelementptr %struct.complex, ptr %24, i64 %.144543
  %2617 = getelementptr %struct.complex, ptr %2616, i64 %22
  %2618 = getelementptr i8, ptr %2616, i64 %.idx4324
  %2619 = load float, ptr %2618, align 4, !tbaa !9
  %2620 = getelementptr inbounds i8, ptr %2618, i64 4
  %2621 = load float, ptr %2620, align 4, !tbaa !12
  %2622 = fmul float %2619, %2479
  %2623 = call float @llvm.fmuladd.f32(float %2478, float %2621, float %2622)
  %2624 = getelementptr i8, ptr %2616, i64 %.idx4325
  %2625 = load float, ptr %2624, align 4, !tbaa !9
  %2626 = getelementptr inbounds i8, ptr %2624, i64 4
  %2627 = load float, ptr %2626, align 4, !tbaa !12
  %2628 = fmul float %2627, %2485
  %2629 = call float @llvm.fmuladd.f32(float %2483, float %2625, float %2628)
  %2630 = fmul float %2625, %2484
  %2631 = call float @llvm.fmuladd.f32(float %2483, float %2627, float %2630)
  %2632 = getelementptr i8, ptr %2616, i64 %.idx4326
  %2633 = load float, ptr %2632, align 4, !tbaa !9
  %2634 = getelementptr inbounds i8, ptr %2632, i64 4
  %2635 = load float, ptr %2634, align 4, !tbaa !12
  %2636 = fmul float %2635, %2488
  %2637 = call float @llvm.fmuladd.f32(float %2486, float %2633, float %2636)
  %2638 = fmul float %2633, %2487
  %2639 = call float @llvm.fmuladd.f32(float %2486, float %2635, float %2638)
  %2640 = getelementptr i8, ptr %2616, i64 %.idx4327
  %2641 = load float, ptr %2640, align 4, !tbaa !9
  %2642 = getelementptr inbounds i8, ptr %2640, i64 4
  %2643 = load float, ptr %2642, align 4, !tbaa !12
  %2644 = fmul float %2643, %2491
  %2645 = call float @llvm.fmuladd.f32(float %2489, float %2641, float %2644)
  %2646 = fmul float %2641, %2490
  %2647 = call float @llvm.fmuladd.f32(float %2489, float %2643, float %2646)
  %2648 = load <2 x float>, ptr %2617, align 4, !tbaa !13
  %2649 = extractelement <2 x float> %2648, i64 1
  %2650 = extractelement <2 x float> %2648, i64 0
  %2651 = shufflevector <2 x float> %2648, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2652 = insertelement <2 x float> %2651, float %2621, i64 1
  %2653 = fmul <2 x float> %2652, %2482
  %2654 = insertelement <2 x float> %2648, float %2619, i64 1
  %2655 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2615, <2 x float> %2654, <2 x float> %2653)
  %2656 = fmul float %2650, %2477
  %2657 = call float @llvm.fmuladd.f32(float %2476, float %2649, float %2656)
  %shift6524 = shufflevector <2 x float> %2655, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2658 = fadd <2 x float> %2655, %shift6524
  %2659 = extractelement <2 x float> %2658, i64 0
  %2660 = fadd float %2657, %2623
  %2661 = fadd float %2659, %2629
  %2662 = fadd float %2660, %2631
  %2663 = fadd float %2661, %2637
  %2664 = fadd float %2662, %2639
  %2665 = fadd float %2663, %2645
  %2666 = fadd float %2664, %2647
  %2667 = fneg float %2666
  %2668 = insertelement <2 x float> poison, float %2666, i64 0
  %2669 = insertelement <2 x float> %2668, float %2667, i64 1
  %2670 = fmul <2 x float> %2417, %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 %2665, 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> %2417, <2 x float> %2671)
  %2675 = fsub <2 x float> %2648, %2674
  store <2 x float> %2675, ptr %2617, align 4, !tbaa !13
  %2676 = fmul <2 x float> %2430, %2669
  %2677 = shufflevector <2 x float> %2676, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2678 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2673, <2 x float> %2430, <2 x float> %2677)
  %2679 = load <2 x float>, ptr %2618, align 4, !tbaa !13
  %2680 = fsub <2 x float> %2679, %2678
  store <2 x float> %2680, ptr %2618, align 4, !tbaa !13
  %2681 = fmul <2 x float> %2443, %2669
  %2682 = shufflevector <2 x float> %2681, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2683 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2673, <2 x float> %2443, <2 x float> %2682)
  %2684 = load <2 x float>, ptr %2624, align 4, !tbaa !13
  %2685 = fsub <2 x float> %2684, %2683
  store <2 x float> %2685, ptr %2624, align 4, !tbaa !13
  %2686 = fmul <2 x float> %2456, %2669
  %2687 = shufflevector <2 x float> %2686, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2688 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2673, <2 x float> %2456, <2 x float> %2687)
  %2689 = load <2 x float>, ptr %2632, align 4, !tbaa !13
  %2690 = fsub <2 x float> %2689, %2688
  store <2 x float> %2690, ptr %2632, align 4, !tbaa !13
  %2691 = fmul <2 x float> %2469, %2669
  %2692 = shufflevector <2 x float> %2691, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2693 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2673, <2 x float> %2469, <2 x float> %2692)
  %2694 = load <2 x float>, ptr %2640, align 4, !tbaa !13
  %2695 = fsub <2 x float> %2694, %2693
  store <2 x float> %2695, ptr %2640, align 4, !tbaa !13
  %2696 = add nuw i64 %.144543, 1
  %exitcond4707.not = icmp eq i64 %.144543, %2470
  br i1 %exitcond4707.not, label %.loopexit, label %scalar.ph5991, !llvm.loop !36

2697:                                             ; preds = %1794
  %2698 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %2698, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %2699 = load float, ptr %4, align 4, !tbaa !9
  %2700 = getelementptr inbounds i8, ptr %4, i64 4
  %2701 = load float, ptr %2700, align 4, !tbaa !12
  %2702 = fneg float %2701
  %2703 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2704 = insertelement <2 x float> poison, float %2701, i64 0
  %2705 = insertelement <2 x float> %2704, float %2702, i64 1
  %2706 = fmul <2 x float> %2703, %2705
  %2707 = shufflevector <2 x float> %2706, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2708 = insertelement <2 x float> poison, float %2699, i64 0
  %2709 = shufflevector <2 x float> %2708, <2 x float> poison, <2 x i32> zeroinitializer
  %2710 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2709, <2 x float> %2703, <2 x float> %2707)
  store <2 x float> %2710, ptr %9, align 8, !tbaa !13
  %2711 = getelementptr inbounds i8, ptr %3, i64 8
  %2712 = load <2 x float>, ptr %2711, align 4, !tbaa !13
  store <2 x float> %2712, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %2713 = load float, ptr %4, align 4, !tbaa !9
  %2714 = load float, ptr %2700, align 4, !tbaa !12
  %2715 = fneg float %2714
  %2716 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2717 = insertelement <2 x float> poison, float %2714, i64 0
  %2718 = insertelement <2 x float> %2717, float %2715, i64 1
  %2719 = fmul <2 x float> %2716, %2718
  %2720 = shufflevector <2 x float> %2719, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2721 = insertelement <2 x float> poison, float %2713, i64 0
  %2722 = shufflevector <2 x float> %2721, <2 x float> poison, <2 x i32> zeroinitializer
  %2723 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2722, <2 x float> %2716, <2 x float> %2720)
  store <2 x float> %2723, ptr %9, align 8, !tbaa !13
  %2724 = getelementptr inbounds i8, ptr %3, i64 16
  %2725 = load <2 x float>, ptr %2724, align 4, !tbaa !13
  store <2 x float> %2725, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %2726 = load float, ptr %4, align 4, !tbaa !9
  %2727 = load float, ptr %2700, align 4, !tbaa !12
  %2728 = fneg float %2727
  %2729 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2730 = insertelement <2 x float> poison, float %2727, i64 0
  %2731 = insertelement <2 x float> %2730, float %2728, i64 1
  %2732 = fmul <2 x float> %2729, %2731
  %2733 = shufflevector <2 x float> %2732, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2734 = insertelement <2 x float> poison, float %2726, i64 0
  %2735 = shufflevector <2 x float> %2734, <2 x float> poison, <2 x i32> zeroinitializer
  %2736 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2735, <2 x float> %2729, <2 x float> %2733)
  store <2 x float> %2736, ptr %9, align 8, !tbaa !13
  %2737 = getelementptr inbounds i8, ptr %3, i64 24
  %2738 = load <2 x float>, ptr %2737, align 4, !tbaa !13
  store <2 x float> %2738, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %2739 = load float, ptr %4, align 4, !tbaa !9
  %2740 = load float, ptr %2700, align 4, !tbaa !12
  %2741 = fneg float %2740
  %2742 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2743 = insertelement <2 x float> poison, float %2740, i64 0
  %2744 = insertelement <2 x float> %2743, float %2741, i64 1
  %2745 = fmul <2 x float> %2742, %2744
  %2746 = shufflevector <2 x float> %2745, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2747 = insertelement <2 x float> poison, float %2739, i64 0
  %2748 = shufflevector <2 x float> %2747, <2 x float> poison, <2 x i32> zeroinitializer
  %2749 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2748, <2 x float> %2742, <2 x float> %2746)
  store <2 x float> %2749, ptr %9, align 8, !tbaa !13
  %2750 = getelementptr inbounds i8, ptr %3, i64 32
  %2751 = load <2 x float>, ptr %2750, align 4, !tbaa !13
  store <2 x float> %2751, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %2752 = load float, ptr %4, align 4, !tbaa !9
  %2753 = load float, ptr %2700, align 4, !tbaa !12
  %2754 = fneg float %2753
  %2755 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2756 = insertelement <2 x float> poison, float %2753, i64 0
  %2757 = insertelement <2 x float> %2756, float %2754, i64 1
  %2758 = fmul <2 x float> %2755, %2757
  %2759 = shufflevector <2 x float> %2758, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2760 = insertelement <2 x float> poison, float %2752, i64 0
  %2761 = shufflevector <2 x float> %2760, <2 x float> poison, <2 x i32> zeroinitializer
  %2762 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2761, <2 x float> %2755, <2 x float> %2759)
  store <2 x float> %2762, ptr %9, align 8, !tbaa !13
  %2763 = getelementptr inbounds i8, ptr %3, i64 40
  %2764 = load <2 x float>, ptr %2763, align 4, !tbaa !13
  store <2 x float> %2764, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %2765 = load float, ptr %4, align 4, !tbaa !9
  %2766 = load float, ptr %2700, align 4, !tbaa !12
  %2767 = fneg float %2766
  %2768 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %2769 = insertelement <2 x float> poison, float %2766, i64 0
  %2770 = insertelement <2 x float> %2769, float %2767, i64 1
  %2771 = fmul <2 x float> %2768, %2770
  %2772 = shufflevector <2 x float> %2771, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %2773 = insertelement <2 x float> poison, float %2765, i64 0
  %2774 = shufflevector <2 x float> %2773, <2 x float> poison, <2 x i32> zeroinitializer
  %2775 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2774, <2 x float> %2768, <2 x float> %2772)
  %2776 = load i64, ptr %1, align 8, !tbaa !5
  %.not43174531 = icmp slt i64 %2776, 1
  br i1 %.not43174531, label %.loopexit, label %.lr.ph4533

.lr.ph4533:                                       ; preds = %2697
  %2777 = getelementptr inbounds i8, ptr %17, i64 4
  %2778 = getelementptr inbounds i8, ptr %16, i64 4
  %2779 = getelementptr inbounds i8, ptr %15, i64 4
  %2780 = getelementptr inbounds i8, ptr %14, i64 4
  %2781 = getelementptr inbounds i8, ptr %13, i64 4
  %2782 = getelementptr inbounds i8, ptr %12, i64 4
  %2783 = load float, ptr %12, align 8, !tbaa !9
  %2784 = load float, ptr %2782, align 4, !tbaa !12
  %2785 = load float, ptr %13, align 8, !tbaa !9
  %.idx4318 = shl i64 %22, 4
  %2786 = load float, ptr %2781, align 4, !tbaa !12
  %2787 = insertelement <2 x float> poison, float %2784, i64 0
  %2788 = insertelement <2 x float> %2787, float %2786, i64 1
  %2789 = fneg <2 x float> %2788
  %2790 = load float, ptr %14, align 8, !tbaa !9
  %.idx4319 = mul i64 %22, 24
  %2791 = load float, ptr %2780, align 4, !tbaa !12
  %2792 = fneg float %2791
  %2793 = load float, ptr %15, align 8, !tbaa !9
  %.idx4320 = shl i64 %22, 5
  %2794 = load float, ptr %2779, align 4, !tbaa !12
  %2795 = fneg float %2794
  %2796 = load float, ptr %16, align 8, !tbaa !9
  %.idx4321 = mul i64 %22, 40
  %2797 = load float, ptr %2778, align 4, !tbaa !12
  %2798 = fneg float %2797
  %2799 = load float, ptr %17, align 8, !tbaa !9
  %.idx4322 = mul i64 %22, 48
  %2800 = load float, ptr %2777, align 4, !tbaa !12
  %2801 = fneg float %2800
  %min.iters.check5741 = icmp ult i64 %2776, 12
  br i1 %min.iters.check5741, label %scalar.ph5740.preheader, label %vector.scevcheck5548

vector.scevcheck5548:                             ; preds = %.lr.ph4533
  %2802 = add nsw i64 %2776, -1
  %scevgep5549 = getelementptr i8, ptr %5, i64 %.idx4321
  %mul.result5551 = shl i64 %2802, 3
  %2803 = getelementptr i8, ptr %scevgep5549, i64 %mul.result5551
  %scevgep5553 = getelementptr i8, ptr %5, i64 %.idx4320
  %mul.result5555 = shl i64 %2802, 3
  %mul.overflow5556 = icmp ugt i64 %2802, 2305843009213693951
  %2804 = getelementptr i8, ptr %scevgep5553, i64 %mul.result5555
  %scevgep5557 = getelementptr i8, ptr %5, i64 %.idx4319
  %mul.result5559 = shl i64 %2802, 3
  %2805 = getelementptr i8, ptr %scevgep5557, i64 %mul.result5559
  %scevgep5561 = getelementptr i8, ptr %5, i64 %.idx4318
  %mul.result5563 = shl i64 %2802, 3
  %2806 = getelementptr i8, ptr %scevgep5561, i64 %mul.result5563
  %2807 = shl i64 %22, 3
  %scevgep5565 = getelementptr i8, ptr %5, i64 %2807
  %mul.result5567 = shl i64 %2802, 3
  %2808 = getelementptr i8, ptr %scevgep5565, i64 %mul.result5567
  %mul.result5570 = shl i64 %2802, 3
  %2809 = getelementptr i8, ptr %5, i64 %mul.result5570
  %2810 = or disjoint i64 %.idx4321, 4
  %scevgep5572 = getelementptr i8, ptr %5, i64 %2810
  %mul.result5574 = shl i64 %2802, 3
  %2811 = getelementptr i8, ptr %scevgep5572, i64 %mul.result5574
  %2812 = or disjoint i64 %.idx4320, 4
  %scevgep5576 = getelementptr i8, ptr %5, i64 %2812
  %mul.result5578 = shl i64 %2802, 3
  %2813 = getelementptr i8, ptr %scevgep5576, i64 %mul.result5578
  %2814 = insertelement <8 x ptr> poison, ptr %2804, i64 0
  %2815 = insertelement <8 x ptr> %2814, ptr %2803, i64 1
  %2816 = insertelement <8 x ptr> %2815, ptr %2805, i64 2
  %2817 = insertelement <8 x ptr> %2816, ptr %2806, i64 3
  %2818 = insertelement <8 x ptr> %2817, ptr %2808, i64 4
  %2819 = insertelement <8 x ptr> %2818, ptr %2809, i64 5
  %2820 = insertelement <8 x ptr> %2819, ptr %2811, i64 6
  %2821 = insertelement <8 x ptr> %2820, ptr %2813, i64 7
  %2822 = insertelement <8 x ptr> poison, ptr %scevgep5553, i64 0
  %2823 = insertelement <8 x ptr> %2822, ptr %scevgep5549, i64 1
  %2824 = insertelement <8 x ptr> %2823, ptr %scevgep5557, i64 2
  %2825 = insertelement <8 x ptr> %2824, ptr %scevgep5561, i64 3
  %2826 = insertelement <8 x ptr> %2825, ptr %scevgep5565, i64 4
  %2827 = insertelement <8 x ptr> %2826, ptr %5, i64 5
  %2828 = insertelement <8 x ptr> %2827, ptr %scevgep5572, i64 6
  %2829 = insertelement <8 x ptr> %2828, ptr %scevgep5576, i64 7
  %2830 = icmp ult <8 x ptr> %2821, %2829
  %2831 = or disjoint i64 %.idx4319, 4
  %scevgep5580 = getelementptr i8, ptr %5, i64 %2831
  %mul.result5582 = shl i64 %2802, 3
  %2832 = getelementptr i8, ptr %scevgep5580, i64 %mul.result5582
  %2833 = icmp ult ptr %2832, %scevgep5580
  %2834 = or disjoint i64 %.idx4318, 4
  %scevgep5584 = getelementptr i8, ptr %5, i64 %2834
  %mul.result5586 = shl i64 %2802, 3
  %2835 = getelementptr i8, ptr %scevgep5584, i64 %mul.result5586
  %2836 = icmp ult ptr %2835, %scevgep5584
  %2837 = or disjoint i64 %2807, 4
  %scevgep5588 = getelementptr i8, ptr %5, i64 %2837
  %mul.result5590 = shl i64 %2802, 3
  %2838 = getelementptr i8, ptr %scevgep5588, i64 %mul.result5590
  %2839 = icmp ult ptr %2838, %scevgep5588
  %scevgep5592 = getelementptr i8, ptr %5, i64 4
  %mul.result5594 = shl i64 %2802, 3
  %2840 = getelementptr i8, ptr %scevgep5592, i64 %mul.result5594
  %2841 = icmp ult ptr %2840, %scevgep5592
  %2842 = bitcast <8 x i1> %2830 to i8
  %2843 = icmp ne i8 %2842, 0
  %op.rdx6488 = or i1 %2843, %2833
  %op.rdx6489 = or i1 %2836, %2839
  %op.rdx6490 = or i1 %2841, %mul.overflow5556
  %op.rdx6491 = or i1 %op.rdx6488, %op.rdx6489
  %op.rdx6493 = or i1 %op.rdx6491, %op.rdx6490
  br i1 %op.rdx6493, label %scalar.ph5740.preheader, label %vector.memcheck5596

vector.memcheck5596:                              ; preds = %vector.scevcheck5548
  %2844 = shl i64 %2776, 3
  %2845 = getelementptr i8, ptr %5, i64 %2844
  %scevgep5597 = getelementptr i8, ptr %2845, i64 -4
  %2846 = shl i64 %22, 3
  %scevgep5598 = getelementptr i8, ptr %5, i64 %2846
  %2847 = getelementptr i8, ptr %5, i64 %2844
  %2848 = getelementptr i8, ptr %2847, i64 %2846
  %scevgep5599 = getelementptr i8, ptr %2848, i64 -4
  %scevgep5600 = getelementptr i8, ptr %5, i64 %.idx4318
  %2849 = getelementptr i8, ptr %5, i64 %.idx4318
  %2850 = getelementptr i8, ptr %2849, i64 %2844
  %scevgep5601 = getelementptr i8, ptr %2850, i64 -4
  %scevgep5602 = getelementptr i8, ptr %5, i64 %.idx4319
  %2851 = getelementptr i8, ptr %5, i64 %.idx4319
  %2852 = getelementptr i8, ptr %2851, i64 %2844
  %scevgep5603 = getelementptr i8, ptr %2852, i64 -4
  %scevgep5604 = getelementptr i8, ptr %5, i64 %.idx4320
  %2853 = getelementptr i8, ptr %5, i64 %.idx4320
  %2854 = getelementptr i8, ptr %2853, i64 %2844
  %scevgep5605 = getelementptr i8, ptr %2854, i64 -4
  %scevgep5606 = getelementptr i8, ptr %5, i64 %.idx4321
  %2855 = getelementptr i8, ptr %5, i64 %.idx4321
  %2856 = getelementptr i8, ptr %2855, i64 %2844
  %scevgep5607 = getelementptr i8, ptr %2856, i64 -4
  %scevgep5608 = getelementptr i8, ptr %5, i64 4
  %scevgep5609 = getelementptr i8, ptr %5, i64 %2844
  %2857 = or disjoint i64 %2846, 4
  %scevgep5610 = getelementptr i8, ptr %5, i64 %2857
  %2858 = getelementptr i8, ptr %5, i64 %2844
  %scevgep5611 = getelementptr i8, ptr %2858, i64 %2846
  %2859 = or disjoint i64 %.idx4318, 4
  %scevgep5612 = getelementptr i8, ptr %5, i64 %2859
  %2860 = getelementptr i8, ptr %5, i64 %.idx4318
  %scevgep5613 = getelementptr i8, ptr %2860, i64 %2844
  %2861 = or disjoint i64 %.idx4319, 4
  %scevgep5614 = getelementptr i8, ptr %5, i64 %2861
  %2862 = getelementptr i8, ptr %5, i64 %.idx4319
  %scevgep5615 = getelementptr i8, ptr %2862, i64 %2844
  %2863 = or disjoint i64 %.idx4320, 4
  %scevgep5616 = getelementptr i8, ptr %5, i64 %2863
  %2864 = getelementptr i8, ptr %5, i64 %.idx4320
  %scevgep5617 = getelementptr i8, ptr %2864, i64 %2844
  %2865 = or disjoint i64 %.idx4321, 4
  %scevgep5618 = getelementptr i8, ptr %5, i64 %2865
  %2866 = getelementptr i8, ptr %5, i64 %.idx4321
  %scevgep5619 = getelementptr i8, ptr %2866, i64 %2844
  %bound05620 = icmp ugt ptr %scevgep5599, %5
  %bound15621 = icmp ult ptr %scevgep5598, %scevgep5597
  %found.conflict5622 = and i1 %bound05620, %bound15621
  %bound05623 = icmp ugt ptr %scevgep5601, %5
  %bound15624 = icmp ult ptr %scevgep5600, %scevgep5597
  %found.conflict5625 = and i1 %bound05623, %bound15624
  %conflict.rdx5626 = or i1 %found.conflict5622, %found.conflict5625
  %bound05627 = icmp ugt ptr %scevgep5603, %5
  %bound15628 = icmp ult ptr %scevgep5602, %scevgep5597
  %found.conflict5629 = and i1 %bound05627, %bound15628
  %conflict.rdx5630 = or i1 %conflict.rdx5626, %found.conflict5629
  %bound05631 = icmp ugt ptr %scevgep5605, %5
  %bound15632 = icmp ult ptr %scevgep5604, %scevgep5597
  %found.conflict5633 = and i1 %bound05631, %bound15632
  %conflict.rdx5634 = or i1 %conflict.rdx5630, %found.conflict5633
  %bound05635 = icmp ugt ptr %scevgep5607, %5
  %bound15636 = icmp ult ptr %scevgep5606, %scevgep5597
  %found.conflict5637 = and i1 %bound05635, %bound15636
  %conflict.rdx5638 = or i1 %conflict.rdx5634, %found.conflict5637
  %bound05639 = icmp ult ptr %scevgep5598, %scevgep5601
  %bound15640 = icmp ult ptr %scevgep5600, %scevgep5599
  %found.conflict5641 = and i1 %bound05639, %bound15640
  %conflict.rdx5642 = or i1 %conflict.rdx5638, %found.conflict5641
  %bound05643 = icmp ult ptr %scevgep5598, %scevgep5603
  %bound15644 = icmp ult ptr %scevgep5602, %scevgep5599
  %found.conflict5645 = and i1 %bound05643, %bound15644
  %conflict.rdx5646 = or i1 %conflict.rdx5642, %found.conflict5645
  %bound05647 = icmp ult ptr %scevgep5598, %scevgep5605
  %bound15648 = icmp ult ptr %scevgep5604, %scevgep5599
  %found.conflict5649 = and i1 %bound05647, %bound15648
  %conflict.rdx5650 = or i1 %conflict.rdx5646, %found.conflict5649
  %bound05651 = icmp ult ptr %scevgep5598, %scevgep5607
  %bound15652 = icmp ult ptr %scevgep5606, %scevgep5599
  %found.conflict5653 = and i1 %bound05651, %bound15652
  %conflict.rdx5654 = or i1 %conflict.rdx5650, %found.conflict5653
  %bound05655 = icmp ult ptr %scevgep5600, %scevgep5603
  %bound15656 = icmp ult ptr %scevgep5602, %scevgep5601
  %found.conflict5657 = and i1 %bound05655, %bound15656
  %conflict.rdx5658 = or i1 %conflict.rdx5654, %found.conflict5657
  %bound05659 = icmp ult ptr %scevgep5600, %scevgep5605
  %bound15660 = icmp ult ptr %scevgep5604, %scevgep5601
  %found.conflict5661 = and i1 %bound05659, %bound15660
  %conflict.rdx5662 = or i1 %conflict.rdx5658, %found.conflict5661
  %bound05663 = icmp ult ptr %scevgep5600, %scevgep5607
  %bound15664 = icmp ult ptr %scevgep5606, %scevgep5601
  %found.conflict5665 = and i1 %bound05663, %bound15664
  %conflict.rdx5666 = or i1 %conflict.rdx5662, %found.conflict5665
  %bound05667 = icmp ult ptr %scevgep5602, %scevgep5605
  %bound15668 = icmp ult ptr %scevgep5604, %scevgep5603
  %found.conflict5669 = and i1 %bound05667, %bound15668
  %conflict.rdx5670 = or i1 %conflict.rdx5666, %found.conflict5669
  %bound05671 = icmp ult ptr %scevgep5602, %scevgep5607
  %bound15672 = icmp ult ptr %scevgep5606, %scevgep5603
  %found.conflict5673 = and i1 %bound05671, %bound15672
  %conflict.rdx5674 = or i1 %conflict.rdx5670, %found.conflict5673
  %bound05675 = icmp ult ptr %scevgep5604, %scevgep5607
  %bound15676 = icmp ult ptr %scevgep5606, %scevgep5605
  %found.conflict5677 = and i1 %bound05675, %bound15676
  %conflict.rdx5678 = or i1 %conflict.rdx5674, %found.conflict5677
  %bound05679 = icmp ult ptr %scevgep5608, %scevgep5611
  %bound15680 = icmp ult ptr %scevgep5610, %scevgep5609
  %found.conflict5681 = and i1 %bound05679, %bound15680
  %conflict.rdx5682 = or i1 %conflict.rdx5678, %found.conflict5681
  %bound05683 = icmp ult ptr %scevgep5608, %scevgep5613
  %bound15684 = icmp ult ptr %scevgep5612, %scevgep5609
  %found.conflict5685 = and i1 %bound05683, %bound15684
  %conflict.rdx5686 = or i1 %conflict.rdx5682, %found.conflict5685
  %bound05687 = icmp ult ptr %scevgep5608, %scevgep5615
  %bound15688 = icmp ult ptr %scevgep5614, %scevgep5609
  %found.conflict5689 = and i1 %bound05687, %bound15688
  %conflict.rdx5690 = or i1 %conflict.rdx5686, %found.conflict5689
  %bound05691 = icmp ult ptr %scevgep5608, %scevgep5617
  %bound15692 = icmp ult ptr %scevgep5616, %scevgep5609
  %found.conflict5693 = and i1 %bound05691, %bound15692
  %conflict.rdx5694 = or i1 %conflict.rdx5690, %found.conflict5693
  %bound05695 = icmp ult ptr %scevgep5608, %scevgep5619
  %bound15696 = icmp ult ptr %scevgep5618, %scevgep5609
  %found.conflict5697 = and i1 %bound05695, %bound15696
  %conflict.rdx5698 = or i1 %conflict.rdx5694, %found.conflict5697
  %bound05699 = icmp ult ptr %scevgep5610, %scevgep5613
  %bound15700 = icmp ult ptr %scevgep5612, %scevgep5611
  %found.conflict5701 = and i1 %bound05699, %bound15700
  %conflict.rdx5702 = or i1 %conflict.rdx5698, %found.conflict5701
  %bound05703 = icmp ult ptr %scevgep5610, %scevgep5615
  %bound15704 = icmp ult ptr %scevgep5614, %scevgep5611
  %found.conflict5705 = and i1 %bound05703, %bound15704
  %conflict.rdx5706 = or i1 %conflict.rdx5702, %found.conflict5705
  %bound05707 = icmp ult ptr %scevgep5610, %scevgep5617
  %bound15708 = icmp ult ptr %scevgep5616, %scevgep5611
  %found.conflict5709 = and i1 %bound05707, %bound15708
  %conflict.rdx5710 = or i1 %conflict.rdx5706, %found.conflict5709
  %bound05711 = icmp ult ptr %scevgep5610, %scevgep5619
  %bound15712 = icmp ult ptr %scevgep5618, %scevgep5611
  %found.conflict5713 = and i1 %bound05711, %bound15712
  %conflict.rdx5714 = or i1 %conflict.rdx5710, %found.conflict5713
  %bound05715 = icmp ult ptr %scevgep5612, %scevgep5615
  %bound15716 = icmp ult ptr %scevgep5614, %scevgep5613
  %found.conflict5717 = and i1 %bound05715, %bound15716
  %conflict.rdx5718 = or i1 %conflict.rdx5714, %found.conflict5717
  %bound05719 = icmp ult ptr %scevgep5612, %scevgep5617
  %bound15720 = icmp ult ptr %scevgep5616, %scevgep5613
  %found.conflict5721 = and i1 %bound05719, %bound15720
  %conflict.rdx5722 = or i1 %conflict.rdx5718, %found.conflict5721
  %bound05723 = icmp ult ptr %scevgep5612, %scevgep5619
  %bound15724 = icmp ult ptr %scevgep5618, %scevgep5613
  %found.conflict5725 = and i1 %bound05723, %bound15724
  %conflict.rdx5726 = or i1 %conflict.rdx5722, %found.conflict5725
  %bound05727 = icmp ult ptr %scevgep5614, %scevgep5617
  %bound15728 = icmp ult ptr %scevgep5616, %scevgep5615
  %found.conflict5729 = and i1 %bound05727, %bound15728
  %conflict.rdx5730 = or i1 %conflict.rdx5726, %found.conflict5729
  %bound05731 = icmp ult ptr %scevgep5614, %scevgep5619
  %bound15732 = icmp ult ptr %scevgep5618, %scevgep5615
  %found.conflict5733 = and i1 %bound05731, %bound15732
  %conflict.rdx5734 = or i1 %conflict.rdx5730, %found.conflict5733
  %bound05735 = icmp ult ptr %scevgep5616, %scevgep5619
  %bound15736 = icmp ult ptr %scevgep5618, %scevgep5617
  %found.conflict5737 = and i1 %bound05735, %bound15736
  %conflict.rdx5738 = or i1 %conflict.rdx5734, %found.conflict5737
  br i1 %conflict.rdx5738, label %scalar.ph5740.preheader, label %vector.ph5742

vector.ph5742:                                    ; preds = %vector.memcheck5596
  %n.vec5744 = and i64 %2776, 4611686018427387900
  %ind.end5745 = or disjoint i64 %n.vec5744, 1
  %broadcast.splat5754 = shufflevector <2 x float> %2789, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5755 = insertelement <4 x float> poison, float %2783, i64 0
  %broadcast.splat5756 = shufflevector <4 x float> %broadcast.splatinsert5755, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5757 = insertelement <4 x float> poison, float %2784, i64 0
  %broadcast.splat5758 = shufflevector <4 x float> %broadcast.splatinsert5757, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5763 = shufflevector <2 x float> %2789, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert5764 = insertelement <4 x float> poison, float %2785, i64 0
  %broadcast.splat5765 = shufflevector <4 x float> %broadcast.splatinsert5764, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5766 = insertelement <4 x float> poison, float %2786, i64 0
  %broadcast.splat5767 = shufflevector <4 x float> %broadcast.splatinsert5766, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5771 = insertelement <4 x float> poison, float %2792, i64 0
  %broadcast.splat5772 = shufflevector <4 x float> %broadcast.splatinsert5771, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5773 = insertelement <4 x float> poison, float %2790, i64 0
  %broadcast.splat5774 = shufflevector <4 x float> %broadcast.splatinsert5773, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5775 = insertelement <4 x float> poison, float %2791, i64 0
  %broadcast.splat5776 = shufflevector <4 x float> %broadcast.splatinsert5775, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5780 = insertelement <4 x float> poison, float %2795, i64 0
  %broadcast.splat5781 = shufflevector <4 x float> %broadcast.splatinsert5780, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5782 = insertelement <4 x float> poison, float %2793, i64 0
  %broadcast.splat5783 = shufflevector <4 x float> %broadcast.splatinsert5782, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5784 = insertelement <4 x float> poison, float %2794, i64 0
  %broadcast.splat5785 = shufflevector <4 x float> %broadcast.splatinsert5784, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5789 = insertelement <4 x float> poison, float %2798, i64 0
  %broadcast.splat5790 = shufflevector <4 x float> %broadcast.splatinsert5789, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5791 = insertelement <4 x float> poison, float %2796, i64 0
  %broadcast.splat5792 = shufflevector <4 x float> %broadcast.splatinsert5791, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5793 = insertelement <4 x float> poison, float %2797, i64 0
  %broadcast.splat5794 = shufflevector <4 x float> %broadcast.splatinsert5793, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5798 = insertelement <4 x float> poison, float %2801, i64 0
  %broadcast.splat5799 = shufflevector <4 x float> %broadcast.splatinsert5798, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5800 = insertelement <4 x float> poison, float %2799, i64 0
  %broadcast.splat5801 = shufflevector <4 x float> %broadcast.splatinsert5800, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5802 = insertelement <4 x float> poison, float %2800, i64 0
  %broadcast.splat5803 = shufflevector <4 x float> %broadcast.splatinsert5802, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5805 = shufflevector <2 x float> %2710, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5807 = shufflevector <2 x float> %2710, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5810 = shufflevector <2 x float> %2723, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5812 = shufflevector <2 x float> %2723, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5818 = shufflevector <2 x float> %2736, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5820 = shufflevector <2 x float> %2736, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5826 = shufflevector <2 x float> %2749, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5828 = shufflevector <2 x float> %2749, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5834 = shufflevector <2 x float> %2762, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5836 = shufflevector <2 x float> %2762, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5842 = shufflevector <2 x float> %2775, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5844 = shufflevector <2 x float> %2775, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body5747

vector.body5747:                                  ; preds = %vector.body5747, %vector.ph5742
  %index5748 = phi i64 [ 0, %vector.ph5742 ], [ %index.next5849, %vector.body5747 ]
  %offset.idx5749 = or disjoint i64 %index5748, 1
  %2867 = getelementptr %struct.complex, ptr %24, i64 %offset.idx5749
  %2868 = getelementptr %struct.complex, ptr %2867, i64 %22
  %wide.vec5750 = load <8 x float>, ptr %2868, align 4, !tbaa !13
  %strided.vec5751 = shufflevector <8 x float> %wide.vec5750, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5752 = shufflevector <8 x float> %wide.vec5750, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2869 = fmul <4 x float> %strided.vec5752, %broadcast.splat5754
  %2870 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5756, <4 x float> %strided.vec5751, <4 x float> %2869)
  %2871 = fmul <4 x float> %strided.vec5751, %broadcast.splat5758
  %2872 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5756, <4 x float> %strided.vec5752, <4 x float> %2871)
  %2873 = getelementptr i8, ptr %2867, i64 %.idx4318
  %wide.vec5759 = load <8 x float>, ptr %2873, align 4, !tbaa !13
  %strided.vec5760 = shufflevector <8 x float> %wide.vec5759, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5761 = shufflevector <8 x float> %wide.vec5759, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2874 = fmul <4 x float> %strided.vec5761, %broadcast.splat5763
  %2875 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5765, <4 x float> %strided.vec5760, <4 x float> %2874)
  %2876 = fmul <4 x float> %strided.vec5760, %broadcast.splat5767
  %2877 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5765, <4 x float> %strided.vec5761, <4 x float> %2876)
  %2878 = fadd <4 x float> %2870, %2875
  %2879 = fadd <4 x float> %2872, %2877
  %2880 = getelementptr i8, ptr %2867, i64 %.idx4319
  %wide.vec5768 = load <8 x float>, ptr %2880, align 4, !tbaa !13
  %strided.vec5769 = shufflevector <8 x float> %wide.vec5768, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5770 = shufflevector <8 x float> %wide.vec5768, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2881 = fmul <4 x float> %strided.vec5770, %broadcast.splat5772
  %2882 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5774, <4 x float> %strided.vec5769, <4 x float> %2881)
  %2883 = fmul <4 x float> %strided.vec5769, %broadcast.splat5776
  %2884 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5774, <4 x float> %strided.vec5770, <4 x float> %2883)
  %2885 = fadd <4 x float> %2878, %2882
  %2886 = fadd <4 x float> %2879, %2884
  %2887 = getelementptr i8, ptr %2867, i64 %.idx4320
  %wide.vec5777 = load <8 x float>, ptr %2887, align 4, !tbaa !13
  %strided.vec5778 = shufflevector <8 x float> %wide.vec5777, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5779 = shufflevector <8 x float> %wide.vec5777, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2888 = fmul <4 x float> %strided.vec5779, %broadcast.splat5781
  %2889 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5783, <4 x float> %strided.vec5778, <4 x float> %2888)
  %2890 = fmul <4 x float> %strided.vec5778, %broadcast.splat5785
  %2891 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5783, <4 x float> %strided.vec5779, <4 x float> %2890)
  %2892 = fadd <4 x float> %2885, %2889
  %2893 = fadd <4 x float> %2886, %2891
  %2894 = getelementptr i8, ptr %2867, i64 %.idx4321
  %wide.vec5786 = load <8 x float>, ptr %2894, align 4, !tbaa !13
  %strided.vec5787 = shufflevector <8 x float> %wide.vec5786, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5788 = shufflevector <8 x float> %wide.vec5786, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2895 = fmul <4 x float> %strided.vec5788, %broadcast.splat5790
  %2896 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5792, <4 x float> %strided.vec5787, <4 x float> %2895)
  %2897 = fmul <4 x float> %strided.vec5787, %broadcast.splat5794
  %2898 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5792, <4 x float> %strided.vec5788, <4 x float> %2897)
  %2899 = fadd <4 x float> %2892, %2896
  %2900 = fadd <4 x float> %2893, %2898
  %2901 = getelementptr i8, ptr %2867, i64 %.idx4322
  %wide.vec5795 = load <8 x float>, ptr %2901, align 4, !tbaa !13
  %strided.vec5796 = shufflevector <8 x float> %wide.vec5795, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5797 = shufflevector <8 x float> %wide.vec5795, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2902 = fmul <4 x float> %strided.vec5797, %broadcast.splat5799
  %2903 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5801, <4 x float> %strided.vec5796, <4 x float> %2902)
  %2904 = fmul <4 x float> %strided.vec5796, %broadcast.splat5803
  %2905 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5801, <4 x float> %strided.vec5797, <4 x float> %2904)
  %2906 = fadd <4 x float> %2899, %2903
  %2907 = fadd <4 x float> %2900, %2905
  %2908 = fneg <4 x float> %2907
  %2909 = fmul <4 x float> %broadcast.splat5805, %2908
  %2910 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5807, <4 x float> %2909)
  %2911 = fmul <4 x float> %broadcast.splat5807, %2907
  %2912 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5805, <4 x float> %2911)
  %2913 = fsub <4 x float> %strided.vec5751, %2910
  %2914 = fsub <4 x float> %strided.vec5752, %2912
  %interleaved.vec5808 = shufflevector <4 x float> %2913, <4 x float> %2914, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5808, ptr %2868, align 4, !tbaa !13
  %2915 = fmul <4 x float> %broadcast.splat5810, %2908
  %2916 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5812, <4 x float> %2915)
  %2917 = fmul <4 x float> %broadcast.splat5812, %2907
  %2918 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5810, <4 x float> %2917)
  %wide.vec5813 = load <8 x float>, ptr %2873, align 4, !tbaa !13
  %strided.vec5814 = shufflevector <8 x float> %wide.vec5813, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5815 = shufflevector <8 x float> %wide.vec5813, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2919 = fsub <4 x float> %strided.vec5814, %2916
  %2920 = fsub <4 x float> %strided.vec5815, %2918
  %interleaved.vec5816 = shufflevector <4 x float> %2919, <4 x float> %2920, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5816, ptr %2873, align 4, !tbaa !13
  %2921 = fmul <4 x float> %broadcast.splat5818, %2908
  %2922 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5820, <4 x float> %2921)
  %2923 = fmul <4 x float> %broadcast.splat5820, %2907
  %2924 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5818, <4 x float> %2923)
  %wide.vec5821 = load <8 x float>, ptr %2880, align 4, !tbaa !13
  %strided.vec5822 = shufflevector <8 x float> %wide.vec5821, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5823 = shufflevector <8 x float> %wide.vec5821, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2925 = fsub <4 x float> %strided.vec5822, %2922
  %2926 = fsub <4 x float> %strided.vec5823, %2924
  %interleaved.vec5824 = shufflevector <4 x float> %2925, <4 x float> %2926, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5824, ptr %2880, align 4, !tbaa !13
  %2927 = fmul <4 x float> %broadcast.splat5826, %2908
  %2928 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5828, <4 x float> %2927)
  %2929 = fmul <4 x float> %broadcast.splat5828, %2907
  %2930 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5826, <4 x float> %2929)
  %wide.vec5829 = load <8 x float>, ptr %2887, align 4, !tbaa !13
  %strided.vec5830 = shufflevector <8 x float> %wide.vec5829, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5831 = shufflevector <8 x float> %wide.vec5829, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2931 = fsub <4 x float> %strided.vec5830, %2928
  %2932 = fsub <4 x float> %strided.vec5831, %2930
  %interleaved.vec5832 = shufflevector <4 x float> %2931, <4 x float> %2932, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5832, ptr %2887, align 4, !tbaa !13
  %2933 = fmul <4 x float> %broadcast.splat5834, %2908
  %2934 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5836, <4 x float> %2933)
  %2935 = fmul <4 x float> %broadcast.splat5836, %2907
  %2936 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5834, <4 x float> %2935)
  %wide.vec5837 = load <8 x float>, ptr %2894, align 4, !tbaa !13
  %strided.vec5838 = shufflevector <8 x float> %wide.vec5837, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5839 = shufflevector <8 x float> %wide.vec5837, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2937 = fsub <4 x float> %strided.vec5838, %2934
  %2938 = fsub <4 x float> %strided.vec5839, %2936
  %interleaved.vec5840 = shufflevector <4 x float> %2937, <4 x float> %2938, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5840, ptr %2894, align 4, !tbaa !13
  %2939 = fmul <4 x float> %broadcast.splat5842, %2908
  %2940 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5844, <4 x float> %2939)
  %2941 = fmul <4 x float> %broadcast.splat5844, %2907
  %2942 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %2906, <4 x float> %broadcast.splat5842, <4 x float> %2941)
  %wide.vec5845 = load <8 x float>, ptr %2901, align 4, !tbaa !13
  %strided.vec5846 = shufflevector <8 x float> %wide.vec5845, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5847 = shufflevector <8 x float> %wide.vec5845, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %2943 = fsub <4 x float> %strided.vec5846, %2940
  %2944 = fsub <4 x float> %strided.vec5847, %2942
  %interleaved.vec5848 = shufflevector <4 x float> %2943, <4 x float> %2944, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5848, ptr %2901, align 4, !tbaa !13
  %index.next5849 = add nuw i64 %index5748, 4
  %2945 = icmp eq i64 %index.next5849, %n.vec5744
  br i1 %2945, label %middle.block5739, label %vector.body5747, !llvm.loop !37

middle.block5739:                                 ; preds = %vector.body5747
  %cmp.n5850 = icmp eq i64 %2776, %n.vec5744
  br i1 %cmp.n5850, label %.loopexit, label %scalar.ph5740.preheader

scalar.ph5740.preheader:                          ; preds = %middle.block5739, %vector.memcheck5596, %vector.scevcheck5548, %.lr.ph4533
  %.154532.ph = phi i64 [ 1, %vector.memcheck5596 ], [ 1, %vector.scevcheck5548 ], [ 1, %.lr.ph4533 ], [ %ind.end5745, %middle.block5739 ]
  %2946 = insertelement <2 x float> poison, float %2783, i64 0
  %2947 = insertelement <2 x float> %2946, float %2785, i64 1
  br label %scalar.ph5740

scalar.ph5740:                                    ; preds = %scalar.ph5740.preheader, %scalar.ph5740
  %.154532 = phi i64 [ %3043, %scalar.ph5740 ], [ %.154532.ph, %scalar.ph5740.preheader ]
  %2948 = getelementptr %struct.complex, ptr %24, i64 %.154532
  %2949 = getelementptr %struct.complex, ptr %2948, i64 %22
  %2950 = getelementptr i8, ptr %2948, i64 %.idx4318
  %2951 = load float, ptr %2950, align 4, !tbaa !9
  %2952 = getelementptr inbounds i8, ptr %2950, i64 4
  %2953 = load float, ptr %2952, align 4, !tbaa !12
  %2954 = fmul float %2951, %2786
  %2955 = call float @llvm.fmuladd.f32(float %2785, float %2953, float %2954)
  %2956 = getelementptr i8, ptr %2948, i64 %.idx4319
  %2957 = load float, ptr %2956, align 4, !tbaa !9
  %2958 = getelementptr inbounds i8, ptr %2956, i64 4
  %2959 = load float, ptr %2958, align 4, !tbaa !12
  %2960 = fmul float %2959, %2792
  %2961 = call float @llvm.fmuladd.f32(float %2790, float %2957, float %2960)
  %2962 = fmul float %2957, %2791
  %2963 = call float @llvm.fmuladd.f32(float %2790, float %2959, float %2962)
  %2964 = getelementptr i8, ptr %2948, i64 %.idx4320
  %2965 = load float, ptr %2964, align 4, !tbaa !9
  %2966 = getelementptr inbounds i8, ptr %2964, i64 4
  %2967 = load float, ptr %2966, align 4, !tbaa !12
  %2968 = fmul float %2967, %2795
  %2969 = call float @llvm.fmuladd.f32(float %2793, float %2965, float %2968)
  %2970 = fmul float %2965, %2794
  %2971 = call float @llvm.fmuladd.f32(float %2793, float %2967, float %2970)
  %2972 = getelementptr i8, ptr %2948, i64 %.idx4321
  %2973 = load float, ptr %2972, align 4, !tbaa !9
  %2974 = getelementptr inbounds i8, ptr %2972, i64 4
  %2975 = load float, ptr %2974, align 4, !tbaa !12
  %2976 = fmul float %2975, %2798
  %2977 = call float @llvm.fmuladd.f32(float %2796, float %2973, float %2976)
  %2978 = fmul float %2973, %2797
  %2979 = call float @llvm.fmuladd.f32(float %2796, float %2975, float %2978)
  %2980 = getelementptr i8, ptr %2948, i64 %.idx4322
  %2981 = load float, ptr %2980, align 4, !tbaa !9
  %2982 = getelementptr inbounds i8, ptr %2980, i64 4
  %2983 = load float, ptr %2982, align 4, !tbaa !12
  %2984 = fmul float %2983, %2801
  %2985 = call float @llvm.fmuladd.f32(float %2799, float %2981, float %2984)
  %2986 = fmul float %2981, %2800
  %2987 = call float @llvm.fmuladd.f32(float %2799, float %2983, float %2986)
  %2988 = load <2 x float>, ptr %2949, align 4, !tbaa !13
  %2989 = extractelement <2 x float> %2988, i64 1
  %2990 = extractelement <2 x float> %2988, i64 0
  %2991 = shufflevector <2 x float> %2988, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2992 = insertelement <2 x float> %2991, float %2953, i64 1
  %2993 = fmul <2 x float> %2992, %2789
  %2994 = insertelement <2 x float> %2988, float %2951, i64 1
  %2995 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2947, <2 x float> %2994, <2 x float> %2993)
  %2996 = fmul float %2990, %2784
  %2997 = call float @llvm.fmuladd.f32(float %2783, float %2989, float %2996)
  %shift6525 = shufflevector <2 x float> %2995, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %2998 = fadd <2 x float> %2995, %shift6525
  %2999 = extractelement <2 x float> %2998, i64 0
  %3000 = fadd float %2997, %2955
  %3001 = fadd float %2999, %2961
  %3002 = fadd float %3000, %2963
  %3003 = fadd float %3001, %2969
  %3004 = fadd float %3002, %2971
  %3005 = fadd float %3003, %2977
  %3006 = fadd float %3004, %2979
  %3007 = fadd float %3005, %2985
  %3008 = fadd float %3006, %2987
  %3009 = fneg float %3008
  %3010 = insertelement <2 x float> poison, float %3008, i64 0
  %3011 = insertelement <2 x float> %3010, float %3009, i64 1
  %3012 = fmul <2 x float> %2710, %3011
  %3013 = shufflevector <2 x float> %3012, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3014 = insertelement <2 x float> poison, float %3007, i64 0
  %3015 = shufflevector <2 x float> %3014, <2 x float> poison, <2 x i32> zeroinitializer
  %3016 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3015, <2 x float> %2710, <2 x float> %3013)
  %3017 = fsub <2 x float> %2988, %3016
  store <2 x float> %3017, ptr %2949, align 4, !tbaa !13
  %3018 = fmul <2 x float> %2723, %3011
  %3019 = shufflevector <2 x float> %3018, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3020 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3015, <2 x float> %2723, <2 x float> %3019)
  %3021 = load <2 x float>, ptr %2950, align 4, !tbaa !13
  %3022 = fsub <2 x float> %3021, %3020
  store <2 x float> %3022, ptr %2950, align 4, !tbaa !13
  %3023 = fmul <2 x float> %2736, %3011
  %3024 = shufflevector <2 x float> %3023, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3025 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3015, <2 x float> %2736, <2 x float> %3024)
  %3026 = load <2 x float>, ptr %2956, align 4, !tbaa !13
  %3027 = fsub <2 x float> %3026, %3025
  store <2 x float> %3027, ptr %2956, align 4, !tbaa !13
  %3028 = fmul <2 x float> %2749, %3011
  %3029 = shufflevector <2 x float> %3028, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3030 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3015, <2 x float> %2749, <2 x float> %3029)
  %3031 = load <2 x float>, ptr %2964, align 4, !tbaa !13
  %3032 = fsub <2 x float> %3031, %3030
  store <2 x float> %3032, ptr %2964, align 4, !tbaa !13
  %3033 = fmul <2 x float> %2762, %3011
  %3034 = shufflevector <2 x float> %3033, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3035 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3015, <2 x float> %2762, <2 x float> %3034)
  %3036 = load <2 x float>, ptr %2972, align 4, !tbaa !13
  %3037 = fsub <2 x float> %3036, %3035
  store <2 x float> %3037, ptr %2972, align 4, !tbaa !13
  %3038 = fmul <2 x float> %2775, %3011
  %3039 = shufflevector <2 x float> %3038, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3040 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3015, <2 x float> %2775, <2 x float> %3039)
  %3041 = load <2 x float>, ptr %2980, align 4, !tbaa !13
  %3042 = fsub <2 x float> %3041, %3040
  store <2 x float> %3042, ptr %2980, align 4, !tbaa !13
  %3043 = add nuw i64 %.154532, 1
  %exitcond4706.not = icmp eq i64 %.154532, %2776
  br i1 %exitcond4706.not, label %.loopexit, label %scalar.ph5740, !llvm.loop !38

3044:                                             ; preds = %1794
  %3045 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %3045, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %3046 = load float, ptr %4, align 4, !tbaa !9
  %3047 = getelementptr inbounds i8, ptr %4, i64 4
  %3048 = load float, ptr %3047, align 4, !tbaa !12
  %3049 = fneg float %3048
  %3050 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3051 = insertelement <2 x float> poison, float %3048, i64 0
  %3052 = insertelement <2 x float> %3051, float %3049, i64 1
  %3053 = fmul <2 x float> %3050, %3052
  %3054 = shufflevector <2 x float> %3053, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3055 = insertelement <2 x float> poison, float %3046, i64 0
  %3056 = shufflevector <2 x float> %3055, <2 x float> poison, <2 x i32> zeroinitializer
  %3057 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3056, <2 x float> %3050, <2 x float> %3054)
  store <2 x float> %3057, ptr %9, align 8, !tbaa !13
  %3058 = getelementptr inbounds i8, ptr %3, i64 8
  %3059 = load <2 x float>, ptr %3058, align 4, !tbaa !13
  store <2 x float> %3059, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %3060 = load float, ptr %4, align 4, !tbaa !9
  %3061 = load float, ptr %3047, align 4, !tbaa !12
  %3062 = fneg float %3061
  %3063 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3064 = insertelement <2 x float> poison, float %3061, i64 0
  %3065 = insertelement <2 x float> %3064, float %3062, i64 1
  %3066 = fmul <2 x float> %3063, %3065
  %3067 = shufflevector <2 x float> %3066, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3068 = insertelement <2 x float> poison, float %3060, i64 0
  %3069 = shufflevector <2 x float> %3068, <2 x float> poison, <2 x i32> zeroinitializer
  %3070 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3069, <2 x float> %3063, <2 x float> %3067)
  store <2 x float> %3070, ptr %9, align 8, !tbaa !13
  %3071 = getelementptr inbounds i8, ptr %3, i64 16
  %3072 = load <2 x float>, ptr %3071, align 4, !tbaa !13
  store <2 x float> %3072, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %3073 = load float, ptr %4, align 4, !tbaa !9
  %3074 = load float, ptr %3047, align 4, !tbaa !12
  %3075 = fneg float %3074
  %3076 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3077 = insertelement <2 x float> poison, float %3074, i64 0
  %3078 = insertelement <2 x float> %3077, float %3075, i64 1
  %3079 = fmul <2 x float> %3076, %3078
  %3080 = shufflevector <2 x float> %3079, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3081 = insertelement <2 x float> poison, float %3073, i64 0
  %3082 = shufflevector <2 x float> %3081, <2 x float> poison, <2 x i32> zeroinitializer
  %3083 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3082, <2 x float> %3076, <2 x float> %3080)
  store <2 x float> %3083, ptr %9, align 8, !tbaa !13
  %3084 = getelementptr inbounds i8, ptr %3, i64 24
  %3085 = load <2 x float>, ptr %3084, align 4, !tbaa !13
  store <2 x float> %3085, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %3086 = load float, ptr %4, align 4, !tbaa !9
  %3087 = load float, ptr %3047, align 4, !tbaa !12
  %3088 = fneg float %3087
  %3089 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3090 = insertelement <2 x float> poison, float %3087, i64 0
  %3091 = insertelement <2 x float> %3090, float %3088, i64 1
  %3092 = fmul <2 x float> %3089, %3091
  %3093 = shufflevector <2 x float> %3092, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3094 = insertelement <2 x float> poison, float %3086, i64 0
  %3095 = shufflevector <2 x float> %3094, <2 x float> poison, <2 x i32> zeroinitializer
  %3096 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3095, <2 x float> %3089, <2 x float> %3093)
  store <2 x float> %3096, ptr %9, align 8, !tbaa !13
  %3097 = getelementptr inbounds i8, ptr %3, i64 32
  %3098 = load <2 x float>, ptr %3097, align 4, !tbaa !13
  store <2 x float> %3098, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %3099 = load float, ptr %4, align 4, !tbaa !9
  %3100 = load float, ptr %3047, align 4, !tbaa !12
  %3101 = fneg float %3100
  %3102 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3103 = insertelement <2 x float> poison, float %3100, i64 0
  %3104 = insertelement <2 x float> %3103, float %3101, i64 1
  %3105 = fmul <2 x float> %3102, %3104
  %3106 = shufflevector <2 x float> %3105, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3107 = insertelement <2 x float> poison, float %3099, i64 0
  %3108 = shufflevector <2 x float> %3107, <2 x float> poison, <2 x i32> zeroinitializer
  %3109 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3108, <2 x float> %3102, <2 x float> %3106)
  store <2 x float> %3109, ptr %9, align 8, !tbaa !13
  %3110 = getelementptr inbounds i8, ptr %3, i64 40
  %3111 = load <2 x float>, ptr %3110, align 4, !tbaa !13
  store <2 x float> %3111, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %3112 = load float, ptr %4, align 4, !tbaa !9
  %3113 = load float, ptr %3047, align 4, !tbaa !12
  %3114 = fneg float %3113
  %3115 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3116 = insertelement <2 x float> poison, float %3113, i64 0
  %3117 = insertelement <2 x float> %3116, float %3114, i64 1
  %3118 = fmul <2 x float> %3115, %3117
  %3119 = shufflevector <2 x float> %3118, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3120 = insertelement <2 x float> poison, float %3112, i64 0
  %3121 = shufflevector <2 x float> %3120, <2 x float> poison, <2 x i32> zeroinitializer
  %3122 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3121, <2 x float> %3115, <2 x float> %3119)
  store <2 x float> %3122, ptr %9, align 8, !tbaa !13
  %3123 = getelementptr inbounds i8, ptr %3, i64 48
  %3124 = load <2 x float>, ptr %3123, align 4, !tbaa !13
  store <2 x float> %3124, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %3125 = load float, ptr %4, align 4, !tbaa !9
  %3126 = load float, ptr %3047, align 4, !tbaa !12
  %3127 = fneg float %3126
  %3128 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3129 = insertelement <2 x float> poison, float %3126, i64 0
  %3130 = insertelement <2 x float> %3129, float %3127, i64 1
  %3131 = fmul <2 x float> %3128, %3130
  %3132 = shufflevector <2 x float> %3131, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3133 = insertelement <2 x float> poison, float %3125, i64 0
  %3134 = shufflevector <2 x float> %3133, <2 x float> poison, <2 x i32> zeroinitializer
  %3135 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3134, <2 x float> %3128, <2 x float> %3132)
  %3136 = load i64, ptr %1, align 8, !tbaa !5
  %.not43104520 = icmp slt i64 %3136, 1
  br i1 %.not43104520, label %.loopexit, label %.lr.ph4522

.lr.ph4522:                                       ; preds = %3044
  %3137 = getelementptr inbounds i8, ptr %18, i64 4
  %3138 = getelementptr inbounds i8, ptr %17, i64 4
  %3139 = getelementptr inbounds i8, ptr %16, i64 4
  %3140 = getelementptr inbounds i8, ptr %15, i64 4
  %3141 = getelementptr inbounds i8, ptr %14, i64 4
  %3142 = getelementptr inbounds i8, ptr %13, i64 4
  %3143 = getelementptr inbounds i8, ptr %12, i64 4
  %3144 = load float, ptr %12, align 8, !tbaa !9
  %3145 = load float, ptr %3143, align 4, !tbaa !12
  %3146 = load float, ptr %13, align 8, !tbaa !9
  %.idx4311 = shl i64 %22, 4
  %3147 = load float, ptr %3142, align 4, !tbaa !12
  %3148 = insertelement <2 x float> poison, float %3145, i64 0
  %3149 = insertelement <2 x float> %3148, float %3147, i64 1
  %3150 = fneg <2 x float> %3149
  %3151 = load float, ptr %14, align 8, !tbaa !9
  %.idx4312 = mul i64 %22, 24
  %3152 = load float, ptr %3141, align 4, !tbaa !12
  %3153 = fneg float %3152
  %3154 = load float, ptr %15, align 8, !tbaa !9
  %.idx4313 = shl i64 %22, 5
  %3155 = load float, ptr %3140, align 4, !tbaa !12
  %3156 = fneg float %3155
  %3157 = load float, ptr %16, align 8, !tbaa !9
  %.idx4314 = mul i64 %22, 40
  %3158 = load float, ptr %3139, align 4, !tbaa !12
  %3159 = fneg float %3158
  %3160 = load float, ptr %17, align 8, !tbaa !9
  %.idx4315 = mul i64 %22, 48
  %3161 = load float, ptr %3138, align 4, !tbaa !12
  %3162 = fneg float %3161
  %3163 = load float, ptr %18, align 8, !tbaa !9
  %.idx4316 = mul i64 %22, 56
  %3164 = load float, ptr %3137, align 4, !tbaa !12
  %3165 = fneg float %3164
  %min.iters.check5421 = icmp ult i64 %3136, 12
  br i1 %min.iters.check5421, label %scalar.ph5420.preheader, label %vector.scevcheck5168

vector.scevcheck5168:                             ; preds = %.lr.ph4522
  %3166 = add nsw i64 %3136, -1
  %scevgep5169 = getelementptr i8, ptr %5, i64 %.idx4315
  %mul.result5171 = shl i64 %3166, 3
  %3167 = getelementptr i8, ptr %scevgep5169, i64 %mul.result5171
  %scevgep5173 = getelementptr i8, ptr %5, i64 %.idx4314
  %mul.result5175 = shl i64 %3166, 3
  %mul.overflow5176 = icmp ugt i64 %3166, 2305843009213693951
  %3168 = getelementptr i8, ptr %scevgep5173, i64 %mul.result5175
  %scevgep5177 = getelementptr i8, ptr %5, i64 %.idx4313
  %mul.result5179 = shl i64 %3166, 3
  %3169 = getelementptr i8, ptr %scevgep5177, i64 %mul.result5179
  %scevgep5181 = getelementptr i8, ptr %5, i64 %.idx4312
  %mul.result5183 = shl i64 %3166, 3
  %3170 = getelementptr i8, ptr %scevgep5181, i64 %mul.result5183
  %scevgep5185 = getelementptr i8, ptr %5, i64 %.idx4311
  %mul.result5187 = shl i64 %3166, 3
  %3171 = getelementptr i8, ptr %scevgep5185, i64 %mul.result5187
  %3172 = shl i64 %22, 3
  %scevgep5189 = getelementptr i8, ptr %5, i64 %3172
  %mul.result5191 = shl i64 %3166, 3
  %3173 = getelementptr i8, ptr %scevgep5189, i64 %mul.result5191
  %mul.result5194 = shl i64 %3166, 3
  %3174 = getelementptr i8, ptr %5, i64 %mul.result5194
  %scevgep5196 = getelementptr i8, ptr %5, i64 4
  %mul.result5198 = shl i64 %3166, 3
  %3175 = getelementptr i8, ptr %scevgep5196, i64 %mul.result5198
  %3176 = insertelement <8 x ptr> poison, ptr %3168, i64 0
  %3177 = insertelement <8 x ptr> %3176, ptr %3167, i64 1
  %3178 = insertelement <8 x ptr> %3177, ptr %3169, i64 2
  %3179 = insertelement <8 x ptr> %3178, ptr %3170, i64 3
  %3180 = insertelement <8 x ptr> %3179, ptr %3171, i64 4
  %3181 = insertelement <8 x ptr> %3180, ptr %3173, i64 5
  %3182 = insertelement <8 x ptr> %3181, ptr %3174, i64 6
  %3183 = insertelement <8 x ptr> %3182, ptr %3175, i64 7
  %3184 = insertelement <8 x ptr> poison, ptr %scevgep5173, i64 0
  %3185 = insertelement <8 x ptr> %3184, ptr %scevgep5169, i64 1
  %3186 = insertelement <8 x ptr> %3185, ptr %scevgep5177, i64 2
  %3187 = insertelement <8 x ptr> %3186, ptr %scevgep5181, i64 3
  %3188 = insertelement <8 x ptr> %3187, ptr %scevgep5185, i64 4
  %3189 = insertelement <8 x ptr> %3188, ptr %scevgep5189, i64 5
  %3190 = insertelement <8 x ptr> %3189, ptr %5, i64 6
  %3191 = insertelement <8 x ptr> %3190, ptr %scevgep5196, i64 7
  %3192 = icmp ult <8 x ptr> %3183, %3191
  %3193 = or disjoint i64 %3172, 4
  %scevgep5200 = getelementptr i8, ptr %5, i64 %3193
  %mul.result5202 = shl i64 %3166, 3
  %3194 = getelementptr i8, ptr %scevgep5200, i64 %mul.result5202
  %3195 = icmp ult ptr %3194, %scevgep5200
  %3196 = or disjoint i64 %.idx4311, 4
  %scevgep5204 = getelementptr i8, ptr %5, i64 %3196
  %mul.result5206 = shl i64 %3166, 3
  %3197 = getelementptr i8, ptr %scevgep5204, i64 %mul.result5206
  %3198 = icmp ult ptr %3197, %scevgep5204
  %3199 = or disjoint i64 %.idx4312, 4
  %scevgep5208 = getelementptr i8, ptr %5, i64 %3199
  %mul.result5210 = shl i64 %3166, 3
  %3200 = getelementptr i8, ptr %scevgep5208, i64 %mul.result5210
  %3201 = icmp ult ptr %3200, %scevgep5208
  %3202 = or disjoint i64 %.idx4313, 4
  %scevgep5212 = getelementptr i8, ptr %5, i64 %3202
  %mul.result5214 = shl i64 %3166, 3
  %3203 = getelementptr i8, ptr %scevgep5212, i64 %mul.result5214
  %3204 = icmp ult ptr %3203, %scevgep5212
  %3205 = or disjoint i64 %.idx4314, 4
  %scevgep5216 = getelementptr i8, ptr %5, i64 %3205
  %mul.result5218 = shl i64 %3166, 3
  %3206 = getelementptr i8, ptr %scevgep5216, i64 %mul.result5218
  %3207 = icmp ult ptr %3206, %scevgep5216
  %3208 = or disjoint i64 %.idx4315, 4
  %scevgep5220 = getelementptr i8, ptr %5, i64 %3208
  %mul.result5222 = shl i64 %3166, 3
  %3209 = getelementptr i8, ptr %scevgep5220, i64 %mul.result5222
  %3210 = icmp ult ptr %3209, %scevgep5220
  %3211 = bitcast <8 x i1> %3192 to i8
  %3212 = icmp ne i8 %3211, 0
  %op.rdx6494 = or i1 %3212, %3195
  %op.rdx6495 = or i1 %3198, %3201
  %op.rdx6496 = or i1 %3204, %3207
  %op.rdx6497 = or i1 %3210, %mul.overflow5176
  %op.rdx6498 = or i1 %op.rdx6494, %op.rdx6495
  %op.rdx6499 = or i1 %op.rdx6496, %op.rdx6497
  %op.rdx6500 = or i1 %op.rdx6498, %op.rdx6499
  br i1 %op.rdx6500, label %scalar.ph5420.preheader, label %vector.memcheck5224

vector.memcheck5224:                              ; preds = %vector.scevcheck5168
  %3213 = shl i64 %3136, 3
  %3214 = getelementptr i8, ptr %5, i64 %3213
  %scevgep5225 = getelementptr i8, ptr %3214, i64 -4
  %3215 = shl i64 %22, 3
  %scevgep5226 = getelementptr i8, ptr %5, i64 %3215
  %3216 = getelementptr i8, ptr %5, i64 %3213
  %3217 = getelementptr i8, ptr %3216, i64 %3215
  %scevgep5227 = getelementptr i8, ptr %3217, i64 -4
  %scevgep5228 = getelementptr i8, ptr %5, i64 %.idx4311
  %3218 = getelementptr i8, ptr %5, i64 %.idx4311
  %3219 = getelementptr i8, ptr %3218, i64 %3213
  %scevgep5229 = getelementptr i8, ptr %3219, i64 -4
  %scevgep5230 = getelementptr i8, ptr %5, i64 %.idx4312
  %3220 = getelementptr i8, ptr %5, i64 %.idx4312
  %3221 = getelementptr i8, ptr %3220, i64 %3213
  %scevgep5231 = getelementptr i8, ptr %3221, i64 -4
  %scevgep5232 = getelementptr i8, ptr %5, i64 %.idx4313
  %3222 = getelementptr i8, ptr %5, i64 %.idx4313
  %3223 = getelementptr i8, ptr %3222, i64 %3213
  %scevgep5233 = getelementptr i8, ptr %3223, i64 -4
  %scevgep5234 = getelementptr i8, ptr %5, i64 %.idx4314
  %3224 = getelementptr i8, ptr %5, i64 %.idx4314
  %3225 = getelementptr i8, ptr %3224, i64 %3213
  %scevgep5235 = getelementptr i8, ptr %3225, i64 -4
  %scevgep5236 = getelementptr i8, ptr %5, i64 %.idx4315
  %3226 = getelementptr i8, ptr %5, i64 %.idx4315
  %3227 = getelementptr i8, ptr %3226, i64 %3213
  %scevgep5237 = getelementptr i8, ptr %3227, i64 -4
  %scevgep5238 = getelementptr i8, ptr %5, i64 4
  %scevgep5239 = getelementptr i8, ptr %5, i64 %3213
  %3228 = or disjoint i64 %3215, 4
  %scevgep5240 = getelementptr i8, ptr %5, i64 %3228
  %3229 = getelementptr i8, ptr %5, i64 %3213
  %scevgep5241 = getelementptr i8, ptr %3229, i64 %3215
  %3230 = or disjoint i64 %.idx4311, 4
  %scevgep5242 = getelementptr i8, ptr %5, i64 %3230
  %3231 = getelementptr i8, ptr %5, i64 %.idx4311
  %scevgep5243 = getelementptr i8, ptr %3231, i64 %3213
  %3232 = or disjoint i64 %.idx4312, 4
  %scevgep5244 = getelementptr i8, ptr %5, i64 %3232
  %3233 = getelementptr i8, ptr %5, i64 %.idx4312
  %scevgep5245 = getelementptr i8, ptr %3233, i64 %3213
  %3234 = or disjoint i64 %.idx4313, 4
  %scevgep5246 = getelementptr i8, ptr %5, i64 %3234
  %3235 = getelementptr i8, ptr %5, i64 %.idx4313
  %scevgep5247 = getelementptr i8, ptr %3235, i64 %3213
  %3236 = or disjoint i64 %.idx4314, 4
  %scevgep5248 = getelementptr i8, ptr %5, i64 %3236
  %3237 = getelementptr i8, ptr %5, i64 %.idx4314
  %scevgep5249 = getelementptr i8, ptr %3237, i64 %3213
  %3238 = or disjoint i64 %.idx4315, 4
  %scevgep5250 = getelementptr i8, ptr %5, i64 %3238
  %3239 = getelementptr i8, ptr %5, i64 %.idx4315
  %scevgep5251 = getelementptr i8, ptr %3239, i64 %3213
  %bound05252 = icmp ugt ptr %scevgep5227, %5
  %bound15253 = icmp ult ptr %scevgep5226, %scevgep5225
  %found.conflict5254 = and i1 %bound05252, %bound15253
  %bound05255 = icmp ugt ptr %scevgep5229, %5
  %bound15256 = icmp ult ptr %scevgep5228, %scevgep5225
  %found.conflict5257 = and i1 %bound05255, %bound15256
  %conflict.rdx5258 = or i1 %found.conflict5254, %found.conflict5257
  %bound05259 = icmp ugt ptr %scevgep5231, %5
  %bound15260 = icmp ult ptr %scevgep5230, %scevgep5225
  %found.conflict5261 = and i1 %bound05259, %bound15260
  %conflict.rdx5262 = or i1 %conflict.rdx5258, %found.conflict5261
  %bound05263 = icmp ugt ptr %scevgep5233, %5
  %bound15264 = icmp ult ptr %scevgep5232, %scevgep5225
  %found.conflict5265 = and i1 %bound05263, %bound15264
  %conflict.rdx5266 = or i1 %conflict.rdx5262, %found.conflict5265
  %bound05267 = icmp ugt ptr %scevgep5235, %5
  %bound15268 = icmp ult ptr %scevgep5234, %scevgep5225
  %found.conflict5269 = and i1 %bound05267, %bound15268
  %conflict.rdx5270 = or i1 %conflict.rdx5266, %found.conflict5269
  %bound05271 = icmp ugt ptr %scevgep5237, %5
  %bound15272 = icmp ult ptr %scevgep5236, %scevgep5225
  %found.conflict5273 = and i1 %bound05271, %bound15272
  %conflict.rdx5274 = or i1 %conflict.rdx5270, %found.conflict5273
  %bound05275 = icmp ult ptr %scevgep5226, %scevgep5229
  %bound15276 = icmp ult ptr %scevgep5228, %scevgep5227
  %found.conflict5277 = and i1 %bound05275, %bound15276
  %conflict.rdx5278 = or i1 %conflict.rdx5274, %found.conflict5277
  %bound05279 = icmp ult ptr %scevgep5226, %scevgep5231
  %bound15280 = icmp ult ptr %scevgep5230, %scevgep5227
  %found.conflict5281 = and i1 %bound05279, %bound15280
  %conflict.rdx5282 = or i1 %conflict.rdx5278, %found.conflict5281
  %bound05283 = icmp ult ptr %scevgep5226, %scevgep5233
  %bound15284 = icmp ult ptr %scevgep5232, %scevgep5227
  %found.conflict5285 = and i1 %bound05283, %bound15284
  %conflict.rdx5286 = or i1 %conflict.rdx5282, %found.conflict5285
  %bound05287 = icmp ult ptr %scevgep5226, %scevgep5235
  %bound15288 = icmp ult ptr %scevgep5234, %scevgep5227
  %found.conflict5289 = and i1 %bound05287, %bound15288
  %conflict.rdx5290 = or i1 %conflict.rdx5286, %found.conflict5289
  %bound05291 = icmp ult ptr %scevgep5226, %scevgep5237
  %bound15292 = icmp ult ptr %scevgep5236, %scevgep5227
  %found.conflict5293 = and i1 %bound05291, %bound15292
  %conflict.rdx5294 = or i1 %conflict.rdx5290, %found.conflict5293
  %bound05295 = icmp ult ptr %scevgep5228, %scevgep5231
  %bound15296 = icmp ult ptr %scevgep5230, %scevgep5229
  %found.conflict5297 = and i1 %bound05295, %bound15296
  %conflict.rdx5298 = or i1 %conflict.rdx5294, %found.conflict5297
  %bound05299 = icmp ult ptr %scevgep5228, %scevgep5233
  %bound15300 = icmp ult ptr %scevgep5232, %scevgep5229
  %found.conflict5301 = and i1 %bound05299, %bound15300
  %conflict.rdx5302 = or i1 %conflict.rdx5298, %found.conflict5301
  %bound05303 = icmp ult ptr %scevgep5228, %scevgep5235
  %bound15304 = icmp ult ptr %scevgep5234, %scevgep5229
  %found.conflict5305 = and i1 %bound05303, %bound15304
  %conflict.rdx5306 = or i1 %conflict.rdx5302, %found.conflict5305
  %bound05307 = icmp ult ptr %scevgep5228, %scevgep5237
  %bound15308 = icmp ult ptr %scevgep5236, %scevgep5229
  %found.conflict5309 = and i1 %bound05307, %bound15308
  %conflict.rdx5310 = or i1 %conflict.rdx5306, %found.conflict5309
  %bound05311 = icmp ult ptr %scevgep5230, %scevgep5233
  %bound15312 = icmp ult ptr %scevgep5232, %scevgep5231
  %found.conflict5313 = and i1 %bound05311, %bound15312
  %conflict.rdx5314 = or i1 %conflict.rdx5310, %found.conflict5313
  %bound05315 = icmp ult ptr %scevgep5230, %scevgep5235
  %bound15316 = icmp ult ptr %scevgep5234, %scevgep5231
  %found.conflict5317 = and i1 %bound05315, %bound15316
  %conflict.rdx5318 = or i1 %conflict.rdx5314, %found.conflict5317
  %bound05319 = icmp ult ptr %scevgep5230, %scevgep5237
  %bound15320 = icmp ult ptr %scevgep5236, %scevgep5231
  %found.conflict5321 = and i1 %bound05319, %bound15320
  %conflict.rdx5322 = or i1 %conflict.rdx5318, %found.conflict5321
  %bound05323 = icmp ult ptr %scevgep5232, %scevgep5235
  %bound15324 = icmp ult ptr %scevgep5234, %scevgep5233
  %found.conflict5325 = and i1 %bound05323, %bound15324
  %conflict.rdx5326 = or i1 %conflict.rdx5322, %found.conflict5325
  %bound05327 = icmp ult ptr %scevgep5232, %scevgep5237
  %bound15328 = icmp ult ptr %scevgep5236, %scevgep5233
  %found.conflict5329 = and i1 %bound05327, %bound15328
  %conflict.rdx5330 = or i1 %conflict.rdx5326, %found.conflict5329
  %bound05331 = icmp ult ptr %scevgep5234, %scevgep5237
  %bound15332 = icmp ult ptr %scevgep5236, %scevgep5235
  %found.conflict5333 = and i1 %bound05331, %bound15332
  %conflict.rdx5334 = or i1 %conflict.rdx5330, %found.conflict5333
  %bound05335 = icmp ult ptr %scevgep5238, %scevgep5241
  %bound15336 = icmp ult ptr %scevgep5240, %scevgep5239
  %found.conflict5337 = and i1 %bound05335, %bound15336
  %conflict.rdx5338 = or i1 %conflict.rdx5334, %found.conflict5337
  %bound05339 = icmp ult ptr %scevgep5238, %scevgep5243
  %bound15340 = icmp ult ptr %scevgep5242, %scevgep5239
  %found.conflict5341 = and i1 %bound05339, %bound15340
  %conflict.rdx5342 = or i1 %conflict.rdx5338, %found.conflict5341
  %bound05343 = icmp ult ptr %scevgep5238, %scevgep5245
  %bound15344 = icmp ult ptr %scevgep5244, %scevgep5239
  %found.conflict5345 = and i1 %bound05343, %bound15344
  %conflict.rdx5346 = or i1 %conflict.rdx5342, %found.conflict5345
  %bound05347 = icmp ult ptr %scevgep5238, %scevgep5247
  %bound15348 = icmp ult ptr %scevgep5246, %scevgep5239
  %found.conflict5349 = and i1 %bound05347, %bound15348
  %conflict.rdx5350 = or i1 %conflict.rdx5346, %found.conflict5349
  %bound05351 = icmp ult ptr %scevgep5238, %scevgep5249
  %bound15352 = icmp ult ptr %scevgep5248, %scevgep5239
  %found.conflict5353 = and i1 %bound05351, %bound15352
  %conflict.rdx5354 = or i1 %conflict.rdx5350, %found.conflict5353
  %bound05355 = icmp ult ptr %scevgep5238, %scevgep5251
  %bound15356 = icmp ult ptr %scevgep5250, %scevgep5239
  %found.conflict5357 = and i1 %bound05355, %bound15356
  %conflict.rdx5358 = or i1 %conflict.rdx5354, %found.conflict5357
  %bound05359 = icmp ult ptr %scevgep5240, %scevgep5243
  %bound15360 = icmp ult ptr %scevgep5242, %scevgep5241
  %found.conflict5361 = and i1 %bound05359, %bound15360
  %conflict.rdx5362 = or i1 %conflict.rdx5358, %found.conflict5361
  %bound05363 = icmp ult ptr %scevgep5240, %scevgep5245
  %bound15364 = icmp ult ptr %scevgep5244, %scevgep5241
  %found.conflict5365 = and i1 %bound05363, %bound15364
  %conflict.rdx5366 = or i1 %conflict.rdx5362, %found.conflict5365
  %bound05367 = icmp ult ptr %scevgep5240, %scevgep5247
  %bound15368 = icmp ult ptr %scevgep5246, %scevgep5241
  %found.conflict5369 = and i1 %bound05367, %bound15368
  %conflict.rdx5370 = or i1 %conflict.rdx5366, %found.conflict5369
  %bound05371 = icmp ult ptr %scevgep5240, %scevgep5249
  %bound15372 = icmp ult ptr %scevgep5248, %scevgep5241
  %found.conflict5373 = and i1 %bound05371, %bound15372
  %conflict.rdx5374 = or i1 %conflict.rdx5370, %found.conflict5373
  %bound05375 = icmp ult ptr %scevgep5240, %scevgep5251
  %bound15376 = icmp ult ptr %scevgep5250, %scevgep5241
  %found.conflict5377 = and i1 %bound05375, %bound15376
  %conflict.rdx5378 = or i1 %conflict.rdx5374, %found.conflict5377
  %bound05379 = icmp ult ptr %scevgep5242, %scevgep5245
  %bound15380 = icmp ult ptr %scevgep5244, %scevgep5243
  %found.conflict5381 = and i1 %bound05379, %bound15380
  %conflict.rdx5382 = or i1 %conflict.rdx5378, %found.conflict5381
  %bound05383 = icmp ult ptr %scevgep5242, %scevgep5247
  %bound15384 = icmp ult ptr %scevgep5246, %scevgep5243
  %found.conflict5385 = and i1 %bound05383, %bound15384
  %conflict.rdx5386 = or i1 %conflict.rdx5382, %found.conflict5385
  %bound05387 = icmp ult ptr %scevgep5242, %scevgep5249
  %bound15388 = icmp ult ptr %scevgep5248, %scevgep5243
  %found.conflict5389 = and i1 %bound05387, %bound15388
  %conflict.rdx5390 = or i1 %conflict.rdx5386, %found.conflict5389
  %bound05391 = icmp ult ptr %scevgep5242, %scevgep5251
  %bound15392 = icmp ult ptr %scevgep5250, %scevgep5243
  %found.conflict5393 = and i1 %bound05391, %bound15392
  %conflict.rdx5394 = or i1 %conflict.rdx5390, %found.conflict5393
  %bound05395 = icmp ult ptr %scevgep5244, %scevgep5247
  %bound15396 = icmp ult ptr %scevgep5246, %scevgep5245
  %found.conflict5397 = and i1 %bound05395, %bound15396
  %conflict.rdx5398 = or i1 %conflict.rdx5394, %found.conflict5397
  %bound05399 = icmp ult ptr %scevgep5244, %scevgep5249
  %bound15400 = icmp ult ptr %scevgep5248, %scevgep5245
  %found.conflict5401 = and i1 %bound05399, %bound15400
  %conflict.rdx5402 = or i1 %conflict.rdx5398, %found.conflict5401
  %bound05403 = icmp ult ptr %scevgep5244, %scevgep5251
  %bound15404 = icmp ult ptr %scevgep5250, %scevgep5245
  %found.conflict5405 = and i1 %bound05403, %bound15404
  %conflict.rdx5406 = or i1 %conflict.rdx5402, %found.conflict5405
  %bound05407 = icmp ult ptr %scevgep5246, %scevgep5249
  %bound15408 = icmp ult ptr %scevgep5248, %scevgep5247
  %found.conflict5409 = and i1 %bound05407, %bound15408
  %conflict.rdx5410 = or i1 %conflict.rdx5406, %found.conflict5409
  %bound05411 = icmp ult ptr %scevgep5246, %scevgep5251
  %bound15412 = icmp ult ptr %scevgep5250, %scevgep5247
  %found.conflict5413 = and i1 %bound05411, %bound15412
  %conflict.rdx5414 = or i1 %conflict.rdx5410, %found.conflict5413
  %bound05415 = icmp ult ptr %scevgep5248, %scevgep5251
  %bound15416 = icmp ult ptr %scevgep5250, %scevgep5249
  %found.conflict5417 = and i1 %bound05415, %bound15416
  %conflict.rdx5418 = or i1 %conflict.rdx5414, %found.conflict5417
  br i1 %conflict.rdx5418, label %scalar.ph5420.preheader, label %vector.ph5422

vector.ph5422:                                    ; preds = %vector.memcheck5224
  %n.vec5424 = and i64 %3136, 4611686018427387900
  %ind.end5425 = or disjoint i64 %n.vec5424, 1
  %broadcast.splat5434 = shufflevector <2 x float> %3150, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5435 = insertelement <4 x float> poison, float %3144, i64 0
  %broadcast.splat5436 = shufflevector <4 x float> %broadcast.splatinsert5435, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5437 = insertelement <4 x float> poison, float %3145, i64 0
  %broadcast.splat5438 = shufflevector <4 x float> %broadcast.splatinsert5437, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5443 = shufflevector <2 x float> %3150, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert5444 = insertelement <4 x float> poison, float %3146, i64 0
  %broadcast.splat5445 = shufflevector <4 x float> %broadcast.splatinsert5444, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5446 = insertelement <4 x float> poison, float %3147, i64 0
  %broadcast.splat5447 = shufflevector <4 x float> %broadcast.splatinsert5446, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5451 = insertelement <4 x float> poison, float %3153, i64 0
  %broadcast.splat5452 = shufflevector <4 x float> %broadcast.splatinsert5451, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5453 = insertelement <4 x float> poison, float %3151, i64 0
  %broadcast.splat5454 = shufflevector <4 x float> %broadcast.splatinsert5453, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5455 = insertelement <4 x float> poison, float %3152, i64 0
  %broadcast.splat5456 = shufflevector <4 x float> %broadcast.splatinsert5455, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5460 = insertelement <4 x float> poison, float %3156, i64 0
  %broadcast.splat5461 = shufflevector <4 x float> %broadcast.splatinsert5460, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5462 = insertelement <4 x float> poison, float %3154, i64 0
  %broadcast.splat5463 = shufflevector <4 x float> %broadcast.splatinsert5462, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5464 = insertelement <4 x float> poison, float %3155, i64 0
  %broadcast.splat5465 = shufflevector <4 x float> %broadcast.splatinsert5464, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5469 = insertelement <4 x float> poison, float %3159, i64 0
  %broadcast.splat5470 = shufflevector <4 x float> %broadcast.splatinsert5469, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5471 = insertelement <4 x float> poison, float %3157, i64 0
  %broadcast.splat5472 = shufflevector <4 x float> %broadcast.splatinsert5471, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5473 = insertelement <4 x float> poison, float %3158, i64 0
  %broadcast.splat5474 = shufflevector <4 x float> %broadcast.splatinsert5473, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5478 = insertelement <4 x float> poison, float %3162, i64 0
  %broadcast.splat5479 = shufflevector <4 x float> %broadcast.splatinsert5478, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5480 = insertelement <4 x float> poison, float %3160, i64 0
  %broadcast.splat5481 = shufflevector <4 x float> %broadcast.splatinsert5480, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5482 = insertelement <4 x float> poison, float %3161, i64 0
  %broadcast.splat5483 = shufflevector <4 x float> %broadcast.splatinsert5482, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5487 = insertelement <4 x float> poison, float %3165, i64 0
  %broadcast.splat5488 = shufflevector <4 x float> %broadcast.splatinsert5487, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5489 = insertelement <4 x float> poison, float %3163, i64 0
  %broadcast.splat5490 = shufflevector <4 x float> %broadcast.splatinsert5489, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5491 = insertelement <4 x float> poison, float %3164, i64 0
  %broadcast.splat5492 = shufflevector <4 x float> %broadcast.splatinsert5491, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5494 = shufflevector <2 x float> %3057, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5496 = shufflevector <2 x float> %3057, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5499 = shufflevector <2 x float> %3070, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5501 = shufflevector <2 x float> %3070, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5507 = shufflevector <2 x float> %3083, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5509 = shufflevector <2 x float> %3083, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5515 = shufflevector <2 x float> %3096, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5517 = shufflevector <2 x float> %3096, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5523 = shufflevector <2 x float> %3109, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5525 = shufflevector <2 x float> %3109, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5531 = shufflevector <2 x float> %3122, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5533 = shufflevector <2 x float> %3122, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5539 = shufflevector <2 x float> %3135, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5541 = shufflevector <2 x float> %3135, <2 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body5427

vector.body5427:                                  ; preds = %vector.body5427, %vector.ph5422
  %index5428 = phi i64 [ 0, %vector.ph5422 ], [ %index.next5546, %vector.body5427 ]
  %offset.idx5429 = or disjoint i64 %index5428, 1
  %3240 = getelementptr %struct.complex, ptr %24, i64 %offset.idx5429
  %3241 = getelementptr %struct.complex, ptr %3240, i64 %22
  %wide.vec5430 = load <8 x float>, ptr %3241, align 4, !tbaa !13
  %strided.vec5431 = shufflevector <8 x float> %wide.vec5430, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5432 = shufflevector <8 x float> %wide.vec5430, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3242 = fmul <4 x float> %strided.vec5432, %broadcast.splat5434
  %3243 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5436, <4 x float> %strided.vec5431, <4 x float> %3242)
  %3244 = fmul <4 x float> %strided.vec5431, %broadcast.splat5438
  %3245 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5436, <4 x float> %strided.vec5432, <4 x float> %3244)
  %3246 = getelementptr i8, ptr %3240, i64 %.idx4311
  %wide.vec5439 = load <8 x float>, ptr %3246, align 4, !tbaa !13
  %strided.vec5440 = shufflevector <8 x float> %wide.vec5439, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5441 = shufflevector <8 x float> %wide.vec5439, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3247 = fmul <4 x float> %strided.vec5441, %broadcast.splat5443
  %3248 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5445, <4 x float> %strided.vec5440, <4 x float> %3247)
  %3249 = fmul <4 x float> %strided.vec5440, %broadcast.splat5447
  %3250 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5445, <4 x float> %strided.vec5441, <4 x float> %3249)
  %3251 = fadd <4 x float> %3243, %3248
  %3252 = fadd <4 x float> %3245, %3250
  %3253 = getelementptr i8, ptr %3240, i64 %.idx4312
  %wide.vec5448 = load <8 x float>, ptr %3253, align 4, !tbaa !13
  %strided.vec5449 = shufflevector <8 x float> %wide.vec5448, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5450 = shufflevector <8 x float> %wide.vec5448, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3254 = fmul <4 x float> %strided.vec5450, %broadcast.splat5452
  %3255 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5454, <4 x float> %strided.vec5449, <4 x float> %3254)
  %3256 = fmul <4 x float> %strided.vec5449, %broadcast.splat5456
  %3257 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5454, <4 x float> %strided.vec5450, <4 x float> %3256)
  %3258 = fadd <4 x float> %3251, %3255
  %3259 = fadd <4 x float> %3252, %3257
  %3260 = getelementptr i8, ptr %3240, i64 %.idx4313
  %wide.vec5457 = load <8 x float>, ptr %3260, align 4, !tbaa !13
  %strided.vec5458 = shufflevector <8 x float> %wide.vec5457, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5459 = shufflevector <8 x float> %wide.vec5457, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3261 = fmul <4 x float> %strided.vec5459, %broadcast.splat5461
  %3262 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5463, <4 x float> %strided.vec5458, <4 x float> %3261)
  %3263 = fmul <4 x float> %strided.vec5458, %broadcast.splat5465
  %3264 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5463, <4 x float> %strided.vec5459, <4 x float> %3263)
  %3265 = fadd <4 x float> %3258, %3262
  %3266 = fadd <4 x float> %3259, %3264
  %3267 = getelementptr i8, ptr %3240, i64 %.idx4314
  %wide.vec5466 = load <8 x float>, ptr %3267, align 4, !tbaa !13
  %strided.vec5467 = shufflevector <8 x float> %wide.vec5466, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5468 = shufflevector <8 x float> %wide.vec5466, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3268 = fmul <4 x float> %strided.vec5468, %broadcast.splat5470
  %3269 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5472, <4 x float> %strided.vec5467, <4 x float> %3268)
  %3270 = fmul <4 x float> %strided.vec5467, %broadcast.splat5474
  %3271 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5472, <4 x float> %strided.vec5468, <4 x float> %3270)
  %3272 = fadd <4 x float> %3265, %3269
  %3273 = fadd <4 x float> %3266, %3271
  %3274 = getelementptr i8, ptr %3240, i64 %.idx4315
  %wide.vec5475 = load <8 x float>, ptr %3274, align 4, !tbaa !13
  %strided.vec5476 = shufflevector <8 x float> %wide.vec5475, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5477 = shufflevector <8 x float> %wide.vec5475, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3275 = fmul <4 x float> %strided.vec5477, %broadcast.splat5479
  %3276 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5481, <4 x float> %strided.vec5476, <4 x float> %3275)
  %3277 = fmul <4 x float> %strided.vec5476, %broadcast.splat5483
  %3278 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5481, <4 x float> %strided.vec5477, <4 x float> %3277)
  %3279 = fadd <4 x float> %3272, %3276
  %3280 = fadd <4 x float> %3273, %3278
  %3281 = getelementptr i8, ptr %3240, i64 %.idx4316
  %wide.vec5484 = load <8 x float>, ptr %3281, align 4, !tbaa !13
  %strided.vec5485 = shufflevector <8 x float> %wide.vec5484, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5486 = shufflevector <8 x float> %wide.vec5484, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3282 = fmul <4 x float> %strided.vec5486, %broadcast.splat5488
  %3283 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5490, <4 x float> %strided.vec5485, <4 x float> %3282)
  %3284 = fmul <4 x float> %strided.vec5485, %broadcast.splat5492
  %3285 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5490, <4 x float> %strided.vec5486, <4 x float> %3284)
  %3286 = fadd <4 x float> %3279, %3283
  %3287 = fadd <4 x float> %3280, %3285
  %3288 = fneg <4 x float> %3287
  %3289 = fmul <4 x float> %broadcast.splat5494, %3288
  %3290 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5496, <4 x float> %3289)
  %3291 = fmul <4 x float> %broadcast.splat5496, %3287
  %3292 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5494, <4 x float> %3291)
  %3293 = fsub <4 x float> %strided.vec5431, %3290
  %3294 = fsub <4 x float> %strided.vec5432, %3292
  %interleaved.vec5497 = shufflevector <4 x float> %3293, <4 x float> %3294, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5497, ptr %3241, align 4, !tbaa !13
  %3295 = fmul <4 x float> %broadcast.splat5499, %3288
  %3296 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5501, <4 x float> %3295)
  %3297 = fmul <4 x float> %broadcast.splat5501, %3287
  %3298 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5499, <4 x float> %3297)
  %wide.vec5502 = load <8 x float>, ptr %3246, align 4, !tbaa !13
  %strided.vec5503 = shufflevector <8 x float> %wide.vec5502, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5504 = shufflevector <8 x float> %wide.vec5502, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3299 = fsub <4 x float> %strided.vec5503, %3296
  %3300 = fsub <4 x float> %strided.vec5504, %3298
  %interleaved.vec5505 = shufflevector <4 x float> %3299, <4 x float> %3300, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5505, ptr %3246, align 4, !tbaa !13
  %3301 = fmul <4 x float> %broadcast.splat5507, %3288
  %3302 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5509, <4 x float> %3301)
  %3303 = fmul <4 x float> %broadcast.splat5509, %3287
  %3304 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5507, <4 x float> %3303)
  %wide.vec5510 = load <8 x float>, ptr %3253, align 4, !tbaa !13
  %strided.vec5511 = shufflevector <8 x float> %wide.vec5510, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5512 = shufflevector <8 x float> %wide.vec5510, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3305 = fsub <4 x float> %strided.vec5511, %3302
  %3306 = fsub <4 x float> %strided.vec5512, %3304
  %interleaved.vec5513 = shufflevector <4 x float> %3305, <4 x float> %3306, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5513, ptr %3253, align 4, !tbaa !13
  %3307 = fmul <4 x float> %broadcast.splat5515, %3288
  %3308 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5517, <4 x float> %3307)
  %3309 = fmul <4 x float> %broadcast.splat5517, %3287
  %3310 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5515, <4 x float> %3309)
  %wide.vec5518 = load <8 x float>, ptr %3260, align 4, !tbaa !13
  %strided.vec5519 = shufflevector <8 x float> %wide.vec5518, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5520 = shufflevector <8 x float> %wide.vec5518, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3311 = fsub <4 x float> %strided.vec5519, %3308
  %3312 = fsub <4 x float> %strided.vec5520, %3310
  %interleaved.vec5521 = shufflevector <4 x float> %3311, <4 x float> %3312, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5521, ptr %3260, align 4, !tbaa !13
  %3313 = fmul <4 x float> %broadcast.splat5523, %3288
  %3314 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5525, <4 x float> %3313)
  %3315 = fmul <4 x float> %broadcast.splat5525, %3287
  %3316 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5523, <4 x float> %3315)
  %wide.vec5526 = load <8 x float>, ptr %3267, align 4, !tbaa !13
  %strided.vec5527 = shufflevector <8 x float> %wide.vec5526, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5528 = shufflevector <8 x float> %wide.vec5526, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3317 = fsub <4 x float> %strided.vec5527, %3314
  %3318 = fsub <4 x float> %strided.vec5528, %3316
  %interleaved.vec5529 = shufflevector <4 x float> %3317, <4 x float> %3318, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5529, ptr %3267, align 4, !tbaa !13
  %3319 = fmul <4 x float> %broadcast.splat5531, %3288
  %3320 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5533, <4 x float> %3319)
  %3321 = fmul <4 x float> %broadcast.splat5533, %3287
  %3322 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5531, <4 x float> %3321)
  %wide.vec5534 = load <8 x float>, ptr %3274, align 4, !tbaa !13
  %strided.vec5535 = shufflevector <8 x float> %wide.vec5534, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5536 = shufflevector <8 x float> %wide.vec5534, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3323 = fsub <4 x float> %strided.vec5535, %3320
  %3324 = fsub <4 x float> %strided.vec5536, %3322
  %interleaved.vec5537 = shufflevector <4 x float> %3323, <4 x float> %3324, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5537, ptr %3274, align 4, !tbaa !13
  %3325 = fmul <4 x float> %broadcast.splat5539, %3288
  %3326 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5541, <4 x float> %3325)
  %3327 = fmul <4 x float> %broadcast.splat5541, %3287
  %3328 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3286, <4 x float> %broadcast.splat5539, <4 x float> %3327)
  %wide.vec5542 = load <8 x float>, ptr %3281, align 4, !tbaa !13
  %strided.vec5543 = shufflevector <8 x float> %wide.vec5542, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5544 = shufflevector <8 x float> %wide.vec5542, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3329 = fsub <4 x float> %strided.vec5543, %3326
  %3330 = fsub <4 x float> %strided.vec5544, %3328
  %interleaved.vec5545 = shufflevector <4 x float> %3329, <4 x float> %3330, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5545, ptr %3281, align 4, !tbaa !13
  %index.next5546 = add nuw i64 %index5428, 4
  %3331 = icmp eq i64 %index.next5546, %n.vec5424
  br i1 %3331, label %middle.block5419, label %vector.body5427, !llvm.loop !39

middle.block5419:                                 ; preds = %vector.body5427
  %cmp.n5547 = icmp eq i64 %3136, %n.vec5424
  br i1 %cmp.n5547, label %.loopexit, label %scalar.ph5420.preheader

scalar.ph5420.preheader:                          ; preds = %middle.block5419, %vector.memcheck5224, %vector.scevcheck5168, %.lr.ph4522
  %.164521.ph = phi i64 [ 1, %vector.memcheck5224 ], [ 1, %vector.scevcheck5168 ], [ 1, %.lr.ph4522 ], [ %ind.end5425, %middle.block5419 ]
  %3332 = insertelement <2 x float> poison, float %3144, i64 0
  %3333 = insertelement <2 x float> %3332, float %3146, i64 1
  br label %scalar.ph5420

scalar.ph5420:                                    ; preds = %scalar.ph5420.preheader, %scalar.ph5420
  %.164521 = phi i64 [ %3444, %scalar.ph5420 ], [ %.164521.ph, %scalar.ph5420.preheader ]
  %3334 = getelementptr %struct.complex, ptr %24, i64 %.164521
  %3335 = getelementptr %struct.complex, ptr %3334, i64 %22
  %3336 = getelementptr i8, ptr %3334, i64 %.idx4311
  %3337 = load float, ptr %3336, align 4, !tbaa !9
  %3338 = getelementptr inbounds i8, ptr %3336, i64 4
  %3339 = load float, ptr %3338, align 4, !tbaa !12
  %3340 = fmul float %3337, %3147
  %3341 = call float @llvm.fmuladd.f32(float %3146, float %3339, float %3340)
  %3342 = getelementptr i8, ptr %3334, i64 %.idx4312
  %3343 = load float, ptr %3342, align 4, !tbaa !9
  %3344 = getelementptr inbounds i8, ptr %3342, i64 4
  %3345 = load float, ptr %3344, align 4, !tbaa !12
  %3346 = fmul float %3345, %3153
  %3347 = call float @llvm.fmuladd.f32(float %3151, float %3343, float %3346)
  %3348 = fmul float %3343, %3152
  %3349 = call float @llvm.fmuladd.f32(float %3151, float %3345, float %3348)
  %3350 = getelementptr i8, ptr %3334, i64 %.idx4313
  %3351 = load float, ptr %3350, align 4, !tbaa !9
  %3352 = getelementptr inbounds i8, ptr %3350, i64 4
  %3353 = load float, ptr %3352, align 4, !tbaa !12
  %3354 = fmul float %3353, %3156
  %3355 = call float @llvm.fmuladd.f32(float %3154, float %3351, float %3354)
  %3356 = fmul float %3351, %3155
  %3357 = call float @llvm.fmuladd.f32(float %3154, float %3353, float %3356)
  %3358 = getelementptr i8, ptr %3334, i64 %.idx4314
  %3359 = load float, ptr %3358, align 4, !tbaa !9
  %3360 = getelementptr inbounds i8, ptr %3358, i64 4
  %3361 = load float, ptr %3360, align 4, !tbaa !12
  %3362 = fmul float %3361, %3159
  %3363 = call float @llvm.fmuladd.f32(float %3157, float %3359, float %3362)
  %3364 = fmul float %3359, %3158
  %3365 = call float @llvm.fmuladd.f32(float %3157, float %3361, float %3364)
  %3366 = getelementptr i8, ptr %3334, i64 %.idx4315
  %3367 = load float, ptr %3366, align 4, !tbaa !9
  %3368 = getelementptr inbounds i8, ptr %3366, i64 4
  %3369 = load float, ptr %3368, align 4, !tbaa !12
  %3370 = fmul float %3369, %3162
  %3371 = call float @llvm.fmuladd.f32(float %3160, float %3367, float %3370)
  %3372 = fmul float %3367, %3161
  %3373 = call float @llvm.fmuladd.f32(float %3160, float %3369, float %3372)
  %3374 = getelementptr i8, ptr %3334, i64 %.idx4316
  %3375 = load float, ptr %3374, align 4, !tbaa !9
  %3376 = getelementptr inbounds i8, ptr %3374, i64 4
  %3377 = load float, ptr %3376, align 4, !tbaa !12
  %3378 = fmul float %3377, %3165
  %3379 = call float @llvm.fmuladd.f32(float %3163, float %3375, float %3378)
  %3380 = fmul float %3375, %3164
  %3381 = call float @llvm.fmuladd.f32(float %3163, float %3377, float %3380)
  %3382 = load <2 x float>, ptr %3335, align 4, !tbaa !13
  %3383 = extractelement <2 x float> %3382, i64 1
  %3384 = extractelement <2 x float> %3382, i64 0
  %3385 = shufflevector <2 x float> %3382, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3386 = insertelement <2 x float> %3385, float %3339, i64 1
  %3387 = fmul <2 x float> %3386, %3150
  %3388 = insertelement <2 x float> %3382, float %3337, i64 1
  %3389 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3333, <2 x float> %3388, <2 x float> %3387)
  %3390 = fmul float %3384, %3145
  %3391 = call float @llvm.fmuladd.f32(float %3144, float %3383, float %3390)
  %shift6526 = shufflevector <2 x float> %3389, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3392 = fadd <2 x float> %3389, %shift6526
  %3393 = extractelement <2 x float> %3392, i64 0
  %3394 = fadd float %3391, %3341
  %3395 = fadd float %3393, %3347
  %3396 = fadd float %3394, %3349
  %3397 = fadd float %3395, %3355
  %3398 = fadd float %3396, %3357
  %3399 = fadd float %3397, %3363
  %3400 = fadd float %3398, %3365
  %3401 = fadd float %3399, %3371
  %3402 = fadd float %3400, %3373
  %3403 = fadd float %3401, %3379
  %3404 = fadd float %3402, %3381
  %3405 = fneg float %3404
  %3406 = insertelement <2 x float> poison, float %3404, i64 0
  %3407 = insertelement <2 x float> %3406, float %3405, i64 1
  %3408 = fmul <2 x float> %3057, %3407
  %3409 = shufflevector <2 x float> %3408, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3410 = insertelement <2 x float> poison, float %3403, i64 0
  %3411 = shufflevector <2 x float> %3410, <2 x float> poison, <2 x i32> zeroinitializer
  %3412 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3411, <2 x float> %3057, <2 x float> %3409)
  %3413 = fsub <2 x float> %3382, %3412
  store <2 x float> %3413, ptr %3335, align 4, !tbaa !13
  %3414 = fmul <2 x float> %3070, %3407
  %3415 = shufflevector <2 x float> %3414, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3416 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3411, <2 x float> %3070, <2 x float> %3415)
  %3417 = load <2 x float>, ptr %3336, align 4, !tbaa !13
  %3418 = fsub <2 x float> %3417, %3416
  store <2 x float> %3418, ptr %3336, align 4, !tbaa !13
  %3419 = fmul <2 x float> %3083, %3407
  %3420 = shufflevector <2 x float> %3419, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3421 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3411, <2 x float> %3083, <2 x float> %3420)
  %3422 = load <2 x float>, ptr %3342, align 4, !tbaa !13
  %3423 = fsub <2 x float> %3422, %3421
  store <2 x float> %3423, ptr %3342, align 4, !tbaa !13
  %3424 = fmul <2 x float> %3096, %3407
  %3425 = shufflevector <2 x float> %3424, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3426 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3411, <2 x float> %3096, <2 x float> %3425)
  %3427 = load <2 x float>, ptr %3350, align 4, !tbaa !13
  %3428 = fsub <2 x float> %3427, %3426
  store <2 x float> %3428, ptr %3350, align 4, !tbaa !13
  %3429 = fmul <2 x float> %3109, %3407
  %3430 = shufflevector <2 x float> %3429, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3431 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3411, <2 x float> %3109, <2 x float> %3430)
  %3432 = load <2 x float>, ptr %3358, align 4, !tbaa !13
  %3433 = fsub <2 x float> %3432, %3431
  store <2 x float> %3433, ptr %3358, align 4, !tbaa !13
  %3434 = fmul <2 x float> %3122, %3407
  %3435 = shufflevector <2 x float> %3434, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3436 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3411, <2 x float> %3122, <2 x float> %3435)
  %3437 = load <2 x float>, ptr %3366, align 4, !tbaa !13
  %3438 = fsub <2 x float> %3437, %3436
  store <2 x float> %3438, ptr %3366, align 4, !tbaa !13
  %3439 = fmul <2 x float> %3135, %3407
  %3440 = shufflevector <2 x float> %3439, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3441 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3411, <2 x float> %3135, <2 x float> %3440)
  %3442 = load <2 x float>, ptr %3374, align 4, !tbaa !13
  %3443 = fsub <2 x float> %3442, %3441
  store <2 x float> %3443, ptr %3374, align 4, !tbaa !13
  %3444 = add nuw i64 %.164521, 1
  %exitcond4705.not = icmp eq i64 %.164521, %3136
  br i1 %exitcond4705.not, label %.loopexit, label %scalar.ph5420, !llvm.loop !40

3445:                                             ; preds = %1794
  %3446 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %3446, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %3447 = load float, ptr %4, align 4, !tbaa !9
  %3448 = getelementptr inbounds i8, ptr %4, i64 4
  %3449 = load float, ptr %3448, align 4, !tbaa !12
  %3450 = fneg float %3449
  %3451 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3452 = insertelement <2 x float> poison, float %3449, i64 0
  %3453 = insertelement <2 x float> %3452, float %3450, i64 1
  %3454 = fmul <2 x float> %3451, %3453
  %3455 = shufflevector <2 x float> %3454, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3456 = insertelement <2 x float> poison, float %3447, i64 0
  %3457 = shufflevector <2 x float> %3456, <2 x float> poison, <2 x i32> zeroinitializer
  %3458 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3457, <2 x float> %3451, <2 x float> %3455)
  store <2 x float> %3458, ptr %9, align 8, !tbaa !13
  %3459 = getelementptr inbounds i8, ptr %3, i64 8
  %3460 = load <2 x float>, ptr %3459, align 4, !tbaa !13
  store <2 x float> %3460, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %3461 = load float, ptr %4, align 4, !tbaa !9
  %3462 = load float, ptr %3448, align 4, !tbaa !12
  %3463 = fneg float %3462
  %3464 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3465 = insertelement <2 x float> poison, float %3462, i64 0
  %3466 = insertelement <2 x float> %3465, float %3463, i64 1
  %3467 = fmul <2 x float> %3464, %3466
  %3468 = shufflevector <2 x float> %3467, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3469 = insertelement <2 x float> poison, float %3461, i64 0
  %3470 = shufflevector <2 x float> %3469, <2 x float> poison, <2 x i32> zeroinitializer
  %3471 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3470, <2 x float> %3464, <2 x float> %3468)
  store <2 x float> %3471, ptr %9, align 8, !tbaa !13
  %3472 = getelementptr inbounds i8, ptr %3, i64 16
  %3473 = load <2 x float>, ptr %3472, align 4, !tbaa !13
  store <2 x float> %3473, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %3474 = load float, ptr %4, align 4, !tbaa !9
  %3475 = load float, ptr %3448, align 4, !tbaa !12
  %3476 = fneg float %3475
  %3477 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3478 = insertelement <2 x float> poison, float %3475, i64 0
  %3479 = insertelement <2 x float> %3478, float %3476, i64 1
  %3480 = fmul <2 x float> %3477, %3479
  %3481 = shufflevector <2 x float> %3480, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3482 = insertelement <2 x float> poison, float %3474, i64 0
  %3483 = shufflevector <2 x float> %3482, <2 x float> poison, <2 x i32> zeroinitializer
  %3484 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3483, <2 x float> %3477, <2 x float> %3481)
  store <2 x float> %3484, ptr %9, align 8, !tbaa !13
  %3485 = getelementptr inbounds i8, ptr %3, i64 24
  %3486 = load <2 x float>, ptr %3485, align 4, !tbaa !13
  store <2 x float> %3486, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %3487 = load float, ptr %4, align 4, !tbaa !9
  %3488 = load float, ptr %3448, align 4, !tbaa !12
  %3489 = fneg float %3488
  %3490 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3491 = insertelement <2 x float> poison, float %3488, i64 0
  %3492 = insertelement <2 x float> %3491, float %3489, i64 1
  %3493 = fmul <2 x float> %3490, %3492
  %3494 = shufflevector <2 x float> %3493, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3495 = insertelement <2 x float> poison, float %3487, i64 0
  %3496 = shufflevector <2 x float> %3495, <2 x float> poison, <2 x i32> zeroinitializer
  %3497 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3496, <2 x float> %3490, <2 x float> %3494)
  store <2 x float> %3497, ptr %9, align 8, !tbaa !13
  %3498 = getelementptr inbounds i8, ptr %3, i64 32
  %3499 = load <2 x float>, ptr %3498, align 4, !tbaa !13
  store <2 x float> %3499, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %3500 = load float, ptr %4, align 4, !tbaa !9
  %3501 = load float, ptr %3448, align 4, !tbaa !12
  %3502 = fneg float %3501
  %3503 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3504 = insertelement <2 x float> poison, float %3501, i64 0
  %3505 = insertelement <2 x float> %3504, float %3502, i64 1
  %3506 = fmul <2 x float> %3503, %3505
  %3507 = shufflevector <2 x float> %3506, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3508 = insertelement <2 x float> poison, float %3500, i64 0
  %3509 = shufflevector <2 x float> %3508, <2 x float> poison, <2 x i32> zeroinitializer
  %3510 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3509, <2 x float> %3503, <2 x float> %3507)
  store <2 x float> %3510, ptr %9, align 8, !tbaa !13
  %3511 = getelementptr inbounds i8, ptr %3, i64 40
  %3512 = load <2 x float>, ptr %3511, align 4, !tbaa !13
  store <2 x float> %3512, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %3513 = load float, ptr %4, align 4, !tbaa !9
  %3514 = load float, ptr %3448, align 4, !tbaa !12
  %3515 = fneg float %3514
  %3516 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3517 = insertelement <2 x float> poison, float %3514, i64 0
  %3518 = insertelement <2 x float> %3517, float %3515, i64 1
  %3519 = fmul <2 x float> %3516, %3518
  %3520 = shufflevector <2 x float> %3519, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3521 = insertelement <2 x float> poison, float %3513, i64 0
  %3522 = shufflevector <2 x float> %3521, <2 x float> poison, <2 x i32> zeroinitializer
  %3523 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3522, <2 x float> %3516, <2 x float> %3520)
  store <2 x float> %3523, ptr %9, align 8, !tbaa !13
  %3524 = getelementptr inbounds i8, ptr %3, i64 48
  %3525 = load <2 x float>, ptr %3524, align 4, !tbaa !13
  store <2 x float> %3525, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %3526 = load float, ptr %4, align 4, !tbaa !9
  %3527 = load float, ptr %3448, align 4, !tbaa !12
  %3528 = fneg float %3527
  %3529 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3530 = insertelement <2 x float> poison, float %3527, i64 0
  %3531 = insertelement <2 x float> %3530, float %3528, i64 1
  %3532 = fmul <2 x float> %3529, %3531
  %3533 = shufflevector <2 x float> %3532, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3534 = insertelement <2 x float> poison, float %3526, i64 0
  %3535 = shufflevector <2 x float> %3534, <2 x float> poison, <2 x i32> zeroinitializer
  %3536 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3535, <2 x float> %3529, <2 x float> %3533)
  store <2 x float> %3536, ptr %9, align 8, !tbaa !13
  %3537 = getelementptr inbounds i8, ptr %3, i64 56
  %3538 = load <2 x float>, ptr %3537, align 4, !tbaa !13
  store <2 x float> %3538, ptr %19, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %19) #5
  %3539 = load float, ptr %4, align 4, !tbaa !9
  %3540 = load float, ptr %3448, align 4, !tbaa !12
  %3541 = fneg float %3540
  %3542 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3543 = insertelement <2 x float> poison, float %3540, i64 0
  %3544 = insertelement <2 x float> %3543, float %3541, i64 1
  %3545 = fmul <2 x float> %3542, %3544
  %3546 = shufflevector <2 x float> %3545, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3547 = insertelement <2 x float> poison, float %3539, i64 0
  %3548 = shufflevector <2 x float> %3547, <2 x float> poison, <2 x i32> zeroinitializer
  %3549 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3548, <2 x float> %3542, <2 x float> %3546)
  %3550 = load i64, ptr %1, align 8, !tbaa !5
  %.not43024509 = icmp slt i64 %3550, 1
  br i1 %.not43024509, label %.loopexit, label %.lr.ph4511

.lr.ph4511:                                       ; preds = %3445
  %3551 = getelementptr inbounds i8, ptr %19, i64 4
  %3552 = getelementptr inbounds i8, ptr %18, i64 4
  %3553 = getelementptr inbounds i8, ptr %17, i64 4
  %3554 = getelementptr inbounds i8, ptr %16, i64 4
  %3555 = getelementptr inbounds i8, ptr %15, i64 4
  %3556 = getelementptr inbounds i8, ptr %14, i64 4
  %3557 = getelementptr inbounds i8, ptr %13, i64 4
  %3558 = getelementptr inbounds i8, ptr %12, i64 4
  %3559 = load float, ptr %12, align 8, !tbaa !9
  %3560 = load float, ptr %3558, align 4, !tbaa !12
  %3561 = load float, ptr %13, align 8, !tbaa !9
  %.idx4303 = shl i64 %22, 4
  %3562 = load float, ptr %3557, align 4, !tbaa !12
  %3563 = insertelement <2 x float> poison, float %3560, i64 0
  %3564 = insertelement <2 x float> %3563, float %3562, i64 1
  %3565 = fneg <2 x float> %3564
  %3566 = load float, ptr %14, align 8, !tbaa !9
  %.idx4304 = mul i64 %22, 24
  %3567 = load float, ptr %3556, align 4, !tbaa !12
  %3568 = fneg float %3567
  %3569 = load float, ptr %15, align 8, !tbaa !9
  %.idx4305 = shl i64 %22, 5
  %3570 = load float, ptr %3555, align 4, !tbaa !12
  %3571 = fneg float %3570
  %3572 = load float, ptr %16, align 8, !tbaa !9
  %.idx4306 = mul i64 %22, 40
  %3573 = load float, ptr %3554, align 4, !tbaa !12
  %3574 = fneg float %3573
  %3575 = load float, ptr %17, align 8, !tbaa !9
  %.idx4307 = mul i64 %22, 48
  %3576 = load float, ptr %3553, align 4, !tbaa !12
  %3577 = fneg float %3576
  %3578 = load float, ptr %18, align 8, !tbaa !9
  %.idx4308 = mul i64 %22, 56
  %3579 = load float, ptr %3552, align 4, !tbaa !12
  %3580 = fneg float %3579
  %3581 = load float, ptr %19, align 8, !tbaa !9
  %.idx4309 = shl i64 %22, 6
  %3582 = load float, ptr %3551, align 4, !tbaa !12
  %3583 = fneg float %3582
  %min.iters.check = icmp ult i64 %3550, 12
  br i1 %min.iters.check, label %scalar.ph.preheader, label %vector.scevcheck

vector.scevcheck:                                 ; preds = %.lr.ph4511
  %3584 = add nsw i64 %3550, -1
  %scevgep = getelementptr i8, ptr %5, i64 %.idx4308
  %mul.result = shl i64 %3584, 3
  %3585 = getelementptr i8, ptr %scevgep, i64 %mul.result
  %scevgep4731 = getelementptr i8, ptr %5, i64 %.idx4307
  %mul.result4733 = shl i64 %3584, 3
  %mul.overflow4734 = icmp ugt i64 %3584, 2305843009213693951
  %3586 = getelementptr i8, ptr %scevgep4731, i64 %mul.result4733
  %scevgep4735 = getelementptr i8, ptr %5, i64 %.idx4306
  %mul.result4737 = shl i64 %3584, 3
  %3587 = getelementptr i8, ptr %scevgep4735, i64 %mul.result4737
  %scevgep4739 = getelementptr i8, ptr %5, i64 %.idx4305
  %mul.result4741 = shl i64 %3584, 3
  %3588 = getelementptr i8, ptr %scevgep4739, i64 %mul.result4741
  %scevgep4743 = getelementptr i8, ptr %5, i64 %.idx4304
  %mul.result4745 = shl i64 %3584, 3
  %3589 = getelementptr i8, ptr %scevgep4743, i64 %mul.result4745
  %scevgep4747 = getelementptr i8, ptr %5, i64 %.idx4303
  %mul.result4749 = shl i64 %3584, 3
  %3590 = getelementptr i8, ptr %scevgep4747, i64 %mul.result4749
  %3591 = shl i64 %22, 3
  %scevgep4751 = getelementptr i8, ptr %5, i64 %3591
  %mul.result4753 = shl i64 %3584, 3
  %3592 = getelementptr i8, ptr %scevgep4751, i64 %mul.result4753
  %mul.result4756 = shl i64 %3584, 3
  %3593 = getelementptr i8, ptr %5, i64 %mul.result4756
  %scevgep4758 = getelementptr i8, ptr %5, i64 4
  %mul.result4760 = shl i64 %3584, 3
  %3594 = getelementptr i8, ptr %scevgep4758, i64 %mul.result4760
  %3595 = or disjoint i64 %3591, 4
  %scevgep4762 = getelementptr i8, ptr %5, i64 %3595
  %mul.result4764 = shl i64 %3584, 3
  %3596 = getelementptr i8, ptr %scevgep4762, i64 %mul.result4764
  %3597 = or disjoint i64 %.idx4303, 4
  %scevgep4766 = getelementptr i8, ptr %5, i64 %3597
  %mul.result4768 = shl i64 %3584, 3
  %3598 = getelementptr i8, ptr %scevgep4766, i64 %mul.result4768
  %3599 = or disjoint i64 %.idx4304, 4
  %scevgep4770 = getelementptr i8, ptr %5, i64 %3599
  %mul.result4772 = shl i64 %3584, 3
  %3600 = getelementptr i8, ptr %scevgep4770, i64 %mul.result4772
  %3601 = or disjoint i64 %.idx4305, 4
  %scevgep4774 = getelementptr i8, ptr %5, i64 %3601
  %mul.result4776 = shl i64 %3584, 3
  %3602 = getelementptr i8, ptr %scevgep4774, i64 %mul.result4776
  %3603 = or disjoint i64 %.idx4306, 4
  %scevgep4778 = getelementptr i8, ptr %5, i64 %3603
  %mul.result4780 = shl i64 %3584, 3
  %3604 = getelementptr i8, ptr %scevgep4778, i64 %mul.result4780
  %3605 = or disjoint i64 %.idx4307, 4
  %scevgep4782 = getelementptr i8, ptr %5, i64 %3605
  %mul.result4784 = shl i64 %3584, 3
  %3606 = getelementptr i8, ptr %scevgep4782, i64 %mul.result4784
  %3607 = or disjoint i64 %.idx4308, 4
  %scevgep4786 = getelementptr i8, ptr %5, i64 %3607
  %mul.result4788 = shl i64 %3584, 3
  %3608 = getelementptr i8, ptr %scevgep4786, i64 %mul.result4788
  %3609 = insertelement <16 x ptr> poison, ptr %3586, i64 0
  %3610 = insertelement <16 x ptr> %3609, ptr %3585, i64 1
  %3611 = insertelement <16 x ptr> %3610, ptr %3587, i64 2
  %3612 = insertelement <16 x ptr> %3611, ptr %3588, i64 3
  %3613 = insertelement <16 x ptr> %3612, ptr %3589, i64 4
  %3614 = insertelement <16 x ptr> %3613, ptr %3590, i64 5
  %3615 = insertelement <16 x ptr> %3614, ptr %3592, i64 6
  %3616 = insertelement <16 x ptr> %3615, ptr %3593, i64 7
  %3617 = insertelement <16 x ptr> %3616, ptr %3594, i64 8
  %3618 = insertelement <16 x ptr> %3617, ptr %3596, i64 9
  %3619 = insertelement <16 x ptr> %3618, ptr %3598, i64 10
  %3620 = insertelement <16 x ptr> %3619, ptr %3600, i64 11
  %3621 = insertelement <16 x ptr> %3620, ptr %3602, i64 12
  %3622 = insertelement <16 x ptr> %3621, ptr %3604, i64 13
  %3623 = insertelement <16 x ptr> %3622, ptr %3606, i64 14
  %3624 = insertelement <16 x ptr> %3623, ptr %3608, i64 15
  %3625 = insertelement <16 x ptr> poison, ptr %scevgep4731, i64 0
  %3626 = insertelement <16 x ptr> %3625, ptr %scevgep, i64 1
  %3627 = insertelement <16 x ptr> %3626, ptr %scevgep4735, i64 2
  %3628 = insertelement <16 x ptr> %3627, ptr %scevgep4739, i64 3
  %3629 = insertelement <16 x ptr> %3628, ptr %scevgep4743, i64 4
  %3630 = insertelement <16 x ptr> %3629, ptr %scevgep4747, i64 5
  %3631 = insertelement <16 x ptr> %3630, ptr %scevgep4751, i64 6
  %3632 = insertelement <16 x ptr> %3631, ptr %5, i64 7
  %3633 = insertelement <16 x ptr> %3632, ptr %scevgep4758, i64 8
  %3634 = insertelement <16 x ptr> %3633, ptr %scevgep4762, i64 9
  %3635 = insertelement <16 x ptr> %3634, ptr %scevgep4766, i64 10
  %3636 = insertelement <16 x ptr> %3635, ptr %scevgep4770, i64 11
  %3637 = insertelement <16 x ptr> %3636, ptr %scevgep4774, i64 12
  %3638 = insertelement <16 x ptr> %3637, ptr %scevgep4778, i64 13
  %3639 = insertelement <16 x ptr> %3638, ptr %scevgep4782, i64 14
  %3640 = insertelement <16 x ptr> %3639, ptr %scevgep4786, i64 15
  %3641 = icmp ult <16 x ptr> %3624, %3640
  %3642 = bitcast <16 x i1> %3641 to i16
  %3643 = icmp ne i16 %3642, 0
  %op.rdx6502 = or i1 %3643, %mul.overflow4734
  br i1 %op.rdx6502, label %scalar.ph.preheader, label %vector.memcheck

vector.memcheck:                                  ; preds = %vector.scevcheck
  %3644 = shl i64 %3550, 3
  %3645 = getelementptr i8, ptr %5, i64 %3644
  %scevgep4790 = getelementptr i8, ptr %3645, i64 -4
  %3646 = shl i64 %22, 3
  %scevgep4791 = getelementptr i8, ptr %5, i64 %3646
  %3647 = getelementptr i8, ptr %5, i64 %3644
  %3648 = getelementptr i8, ptr %3647, i64 %3646
  %scevgep4792 = getelementptr i8, ptr %3648, i64 -4
  %scevgep4793 = getelementptr i8, ptr %5, i64 %.idx4303
  %3649 = getelementptr i8, ptr %5, i64 %.idx4303
  %3650 = getelementptr i8, ptr %3649, i64 %3644
  %scevgep4794 = getelementptr i8, ptr %3650, i64 -4
  %scevgep4795 = getelementptr i8, ptr %5, i64 %.idx4304
  %3651 = getelementptr i8, ptr %5, i64 %.idx4304
  %3652 = getelementptr i8, ptr %3651, i64 %3644
  %scevgep4796 = getelementptr i8, ptr %3652, i64 -4
  %scevgep4797 = getelementptr i8, ptr %5, i64 %.idx4305
  %3653 = getelementptr i8, ptr %5, i64 %.idx4305
  %3654 = getelementptr i8, ptr %3653, i64 %3644
  %scevgep4798 = getelementptr i8, ptr %3654, i64 -4
  %scevgep4799 = getelementptr i8, ptr %5, i64 %.idx4306
  %3655 = getelementptr i8, ptr %5, i64 %.idx4306
  %3656 = getelementptr i8, ptr %3655, i64 %3644
  %scevgep4800 = getelementptr i8, ptr %3656, i64 -4
  %scevgep4801 = getelementptr i8, ptr %5, i64 %.idx4307
  %3657 = getelementptr i8, ptr %5, i64 %.idx4307
  %3658 = getelementptr i8, ptr %3657, i64 %3644
  %scevgep4802 = getelementptr i8, ptr %3658, i64 -4
  %scevgep4803 = getelementptr i8, ptr %5, i64 %.idx4308
  %3659 = getelementptr i8, ptr %5, i64 %.idx4308
  %3660 = getelementptr i8, ptr %3659, i64 %3644
  %scevgep4804 = getelementptr i8, ptr %3660, i64 -4
  %scevgep4805 = getelementptr i8, ptr %5, i64 4
  %scevgep4806 = getelementptr i8, ptr %5, i64 %3644
  %3661 = or disjoint i64 %3646, 4
  %scevgep4807 = getelementptr i8, ptr %5, i64 %3661
  %3662 = getelementptr i8, ptr %5, i64 %3644
  %scevgep4808 = getelementptr i8, ptr %3662, i64 %3646
  %3663 = or disjoint i64 %.idx4303, 4
  %scevgep4809 = getelementptr i8, ptr %5, i64 %3663
  %3664 = getelementptr i8, ptr %5, i64 %.idx4303
  %scevgep4810 = getelementptr i8, ptr %3664, i64 %3644
  %3665 = or disjoint i64 %.idx4304, 4
  %scevgep4811 = getelementptr i8, ptr %5, i64 %3665
  %3666 = getelementptr i8, ptr %5, i64 %.idx4304
  %scevgep4812 = getelementptr i8, ptr %3666, i64 %3644
  %3667 = or disjoint i64 %.idx4305, 4
  %scevgep4813 = getelementptr i8, ptr %5, i64 %3667
  %3668 = getelementptr i8, ptr %5, i64 %.idx4305
  %scevgep4814 = getelementptr i8, ptr %3668, i64 %3644
  %3669 = or disjoint i64 %.idx4306, 4
  %scevgep4815 = getelementptr i8, ptr %5, i64 %3669
  %3670 = getelementptr i8, ptr %5, i64 %.idx4306
  %scevgep4816 = getelementptr i8, ptr %3670, i64 %3644
  %3671 = or disjoint i64 %.idx4307, 4
  %scevgep4817 = getelementptr i8, ptr %5, i64 %3671
  %3672 = getelementptr i8, ptr %5, i64 %.idx4307
  %scevgep4818 = getelementptr i8, ptr %3672, i64 %3644
  %3673 = or disjoint i64 %.idx4308, 4
  %scevgep4819 = getelementptr i8, ptr %5, i64 %3673
  %3674 = getelementptr i8, ptr %5, i64 %.idx4308
  %scevgep4820 = getelementptr i8, ptr %3674, i64 %3644
  %bound0 = icmp ugt ptr %scevgep4792, %5
  %bound1 = icmp ult ptr %scevgep4791, %scevgep4790
  %found.conflict = and i1 %bound0, %bound1
  %bound04821 = icmp ugt ptr %scevgep4794, %5
  %bound14822 = icmp ult ptr %scevgep4793, %scevgep4790
  %found.conflict4823 = and i1 %bound04821, %bound14822
  %conflict.rdx = or i1 %found.conflict, %found.conflict4823
  %bound04824 = icmp ugt ptr %scevgep4796, %5
  %bound14825 = icmp ult ptr %scevgep4795, %scevgep4790
  %found.conflict4826 = and i1 %bound04824, %bound14825
  %conflict.rdx4827 = or i1 %conflict.rdx, %found.conflict4826
  %bound04828 = icmp ugt ptr %scevgep4798, %5
  %bound14829 = icmp ult ptr %scevgep4797, %scevgep4790
  %found.conflict4830 = and i1 %bound04828, %bound14829
  %conflict.rdx4831 = or i1 %conflict.rdx4827, %found.conflict4830
  %bound04832 = icmp ugt ptr %scevgep4800, %5
  %bound14833 = icmp ult ptr %scevgep4799, %scevgep4790
  %found.conflict4834 = and i1 %bound04832, %bound14833
  %conflict.rdx4835 = or i1 %conflict.rdx4831, %found.conflict4834
  %bound04836 = icmp ugt ptr %scevgep4802, %5
  %bound14837 = icmp ult ptr %scevgep4801, %scevgep4790
  %found.conflict4838 = and i1 %bound04836, %bound14837
  %conflict.rdx4839 = or i1 %conflict.rdx4835, %found.conflict4838
  %bound04840 = icmp ugt ptr %scevgep4804, %5
  %bound14841 = icmp ult ptr %scevgep4803, %scevgep4790
  %found.conflict4842 = and i1 %bound04840, %bound14841
  %conflict.rdx4843 = or i1 %conflict.rdx4839, %found.conflict4842
  %bound04844 = icmp ult ptr %scevgep4791, %scevgep4794
  %bound14845 = icmp ult ptr %scevgep4793, %scevgep4792
  %found.conflict4846 = and i1 %bound04844, %bound14845
  %conflict.rdx4847 = or i1 %conflict.rdx4843, %found.conflict4846
  %bound04848 = icmp ult ptr %scevgep4791, %scevgep4796
  %bound14849 = icmp ult ptr %scevgep4795, %scevgep4792
  %found.conflict4850 = and i1 %bound04848, %bound14849
  %conflict.rdx4851 = or i1 %conflict.rdx4847, %found.conflict4850
  %bound04852 = icmp ult ptr %scevgep4791, %scevgep4798
  %bound14853 = icmp ult ptr %scevgep4797, %scevgep4792
  %found.conflict4854 = and i1 %bound04852, %bound14853
  %conflict.rdx4855 = or i1 %conflict.rdx4851, %found.conflict4854
  %bound04856 = icmp ult ptr %scevgep4791, %scevgep4800
  %bound14857 = icmp ult ptr %scevgep4799, %scevgep4792
  %found.conflict4858 = and i1 %bound04856, %bound14857
  %conflict.rdx4859 = or i1 %conflict.rdx4855, %found.conflict4858
  %bound04860 = icmp ult ptr %scevgep4791, %scevgep4802
  %bound14861 = icmp ult ptr %scevgep4801, %scevgep4792
  %found.conflict4862 = and i1 %bound04860, %bound14861
  %conflict.rdx4863 = or i1 %conflict.rdx4859, %found.conflict4862
  %bound04864 = icmp ult ptr %scevgep4791, %scevgep4804
  %bound14865 = icmp ult ptr %scevgep4803, %scevgep4792
  %found.conflict4866 = and i1 %bound04864, %bound14865
  %conflict.rdx4867 = or i1 %conflict.rdx4863, %found.conflict4866
  %bound04868 = icmp ult ptr %scevgep4793, %scevgep4796
  %bound14869 = icmp ult ptr %scevgep4795, %scevgep4794
  %found.conflict4870 = and i1 %bound04868, %bound14869
  %conflict.rdx4871 = or i1 %conflict.rdx4867, %found.conflict4870
  %bound04872 = icmp ult ptr %scevgep4793, %scevgep4798
  %bound14873 = icmp ult ptr %scevgep4797, %scevgep4794
  %found.conflict4874 = and i1 %bound04872, %bound14873
  %conflict.rdx4875 = or i1 %conflict.rdx4871, %found.conflict4874
  %bound04876 = icmp ult ptr %scevgep4793, %scevgep4800
  %bound14877 = icmp ult ptr %scevgep4799, %scevgep4794
  %found.conflict4878 = and i1 %bound04876, %bound14877
  %conflict.rdx4879 = or i1 %conflict.rdx4875, %found.conflict4878
  %bound04880 = icmp ult ptr %scevgep4793, %scevgep4802
  %bound14881 = icmp ult ptr %scevgep4801, %scevgep4794
  %found.conflict4882 = and i1 %bound04880, %bound14881
  %conflict.rdx4883 = or i1 %conflict.rdx4879, %found.conflict4882
  %bound04884 = icmp ult ptr %scevgep4793, %scevgep4804
  %bound14885 = icmp ult ptr %scevgep4803, %scevgep4794
  %found.conflict4886 = and i1 %bound04884, %bound14885
  %conflict.rdx4887 = or i1 %conflict.rdx4883, %found.conflict4886
  %bound04888 = icmp ult ptr %scevgep4795, %scevgep4798
  %bound14889 = icmp ult ptr %scevgep4797, %scevgep4796
  %found.conflict4890 = and i1 %bound04888, %bound14889
  %conflict.rdx4891 = or i1 %conflict.rdx4887, %found.conflict4890
  %bound04892 = icmp ult ptr %scevgep4795, %scevgep4800
  %bound14893 = icmp ult ptr %scevgep4799, %scevgep4796
  %found.conflict4894 = and i1 %bound04892, %bound14893
  %conflict.rdx4895 = or i1 %conflict.rdx4891, %found.conflict4894
  %bound04896 = icmp ult ptr %scevgep4795, %scevgep4802
  %bound14897 = icmp ult ptr %scevgep4801, %scevgep4796
  %found.conflict4898 = and i1 %bound04896, %bound14897
  %conflict.rdx4899 = or i1 %conflict.rdx4895, %found.conflict4898
  %bound04900 = icmp ult ptr %scevgep4795, %scevgep4804
  %bound14901 = icmp ult ptr %scevgep4803, %scevgep4796
  %found.conflict4902 = and i1 %bound04900, %bound14901
  %conflict.rdx4903 = or i1 %conflict.rdx4899, %found.conflict4902
  %bound04904 = icmp ult ptr %scevgep4797, %scevgep4800
  %bound14905 = icmp ult ptr %scevgep4799, %scevgep4798
  %found.conflict4906 = and i1 %bound04904, %bound14905
  %conflict.rdx4907 = or i1 %conflict.rdx4903, %found.conflict4906
  %bound04908 = icmp ult ptr %scevgep4797, %scevgep4802
  %bound14909 = icmp ult ptr %scevgep4801, %scevgep4798
  %found.conflict4910 = and i1 %bound04908, %bound14909
  %conflict.rdx4911 = or i1 %conflict.rdx4907, %found.conflict4910
  %bound04912 = icmp ult ptr %scevgep4797, %scevgep4804
  %bound14913 = icmp ult ptr %scevgep4803, %scevgep4798
  %found.conflict4914 = and i1 %bound04912, %bound14913
  %conflict.rdx4915 = or i1 %conflict.rdx4911, %found.conflict4914
  %bound04916 = icmp ult ptr %scevgep4799, %scevgep4802
  %bound14917 = icmp ult ptr %scevgep4801, %scevgep4800
  %found.conflict4918 = and i1 %bound04916, %bound14917
  %conflict.rdx4919 = or i1 %conflict.rdx4915, %found.conflict4918
  %bound04920 = icmp ult ptr %scevgep4799, %scevgep4804
  %bound14921 = icmp ult ptr %scevgep4803, %scevgep4800
  %found.conflict4922 = and i1 %bound04920, %bound14921
  %conflict.rdx4923 = or i1 %conflict.rdx4919, %found.conflict4922
  %bound04924 = icmp ult ptr %scevgep4801, %scevgep4804
  %bound14925 = icmp ult ptr %scevgep4803, %scevgep4802
  %found.conflict4926 = and i1 %bound04924, %bound14925
  %conflict.rdx4927 = or i1 %conflict.rdx4923, %found.conflict4926
  %bound04928 = icmp ult ptr %scevgep4805, %scevgep4808
  %bound14929 = icmp ult ptr %scevgep4807, %scevgep4806
  %found.conflict4930 = and i1 %bound04928, %bound14929
  %conflict.rdx4931 = or i1 %conflict.rdx4927, %found.conflict4930
  %bound04932 = icmp ult ptr %scevgep4805, %scevgep4810
  %bound14933 = icmp ult ptr %scevgep4809, %scevgep4806
  %found.conflict4934 = and i1 %bound04932, %bound14933
  %conflict.rdx4935 = or i1 %conflict.rdx4931, %found.conflict4934
  %bound04936 = icmp ult ptr %scevgep4805, %scevgep4812
  %bound14937 = icmp ult ptr %scevgep4811, %scevgep4806
  %found.conflict4938 = and i1 %bound04936, %bound14937
  %conflict.rdx4939 = or i1 %conflict.rdx4935, %found.conflict4938
  %bound04940 = icmp ult ptr %scevgep4805, %scevgep4814
  %bound14941 = icmp ult ptr %scevgep4813, %scevgep4806
  %found.conflict4942 = and i1 %bound04940, %bound14941
  %conflict.rdx4943 = or i1 %conflict.rdx4939, %found.conflict4942
  %bound04944 = icmp ult ptr %scevgep4805, %scevgep4816
  %bound14945 = icmp ult ptr %scevgep4815, %scevgep4806
  %found.conflict4946 = and i1 %bound04944, %bound14945
  %conflict.rdx4947 = or i1 %conflict.rdx4943, %found.conflict4946
  %bound04948 = icmp ult ptr %scevgep4805, %scevgep4818
  %bound14949 = icmp ult ptr %scevgep4817, %scevgep4806
  %found.conflict4950 = and i1 %bound04948, %bound14949
  %conflict.rdx4951 = or i1 %conflict.rdx4947, %found.conflict4950
  %bound04952 = icmp ult ptr %scevgep4805, %scevgep4820
  %bound14953 = icmp ult ptr %scevgep4819, %scevgep4806
  %found.conflict4954 = and i1 %bound04952, %bound14953
  %conflict.rdx4955 = or i1 %conflict.rdx4951, %found.conflict4954
  %bound04956 = icmp ult ptr %scevgep4807, %scevgep4810
  %bound14957 = icmp ult ptr %scevgep4809, %scevgep4808
  %found.conflict4958 = and i1 %bound04956, %bound14957
  %conflict.rdx4959 = or i1 %conflict.rdx4955, %found.conflict4958
  %bound04960 = icmp ult ptr %scevgep4807, %scevgep4812
  %bound14961 = icmp ult ptr %scevgep4811, %scevgep4808
  %found.conflict4962 = and i1 %bound04960, %bound14961
  %conflict.rdx4963 = or i1 %conflict.rdx4959, %found.conflict4962
  %bound04964 = icmp ult ptr %scevgep4807, %scevgep4814
  %bound14965 = icmp ult ptr %scevgep4813, %scevgep4808
  %found.conflict4966 = and i1 %bound04964, %bound14965
  %conflict.rdx4967 = or i1 %conflict.rdx4963, %found.conflict4966
  %bound04968 = icmp ult ptr %scevgep4807, %scevgep4816
  %bound14969 = icmp ult ptr %scevgep4815, %scevgep4808
  %found.conflict4970 = and i1 %bound04968, %bound14969
  %conflict.rdx4971 = or i1 %conflict.rdx4967, %found.conflict4970
  %bound04972 = icmp ult ptr %scevgep4807, %scevgep4818
  %bound14973 = icmp ult ptr %scevgep4817, %scevgep4808
  %found.conflict4974 = and i1 %bound04972, %bound14973
  %conflict.rdx4975 = or i1 %conflict.rdx4971, %found.conflict4974
  %bound04976 = icmp ult ptr %scevgep4807, %scevgep4820
  %bound14977 = icmp ult ptr %scevgep4819, %scevgep4808
  %found.conflict4978 = and i1 %bound04976, %bound14977
  %conflict.rdx4979 = or i1 %conflict.rdx4975, %found.conflict4978
  %bound04980 = icmp ult ptr %scevgep4809, %scevgep4812
  %bound14981 = icmp ult ptr %scevgep4811, %scevgep4810
  %found.conflict4982 = and i1 %bound04980, %bound14981
  %conflict.rdx4983 = or i1 %conflict.rdx4979, %found.conflict4982
  %bound04984 = icmp ult ptr %scevgep4809, %scevgep4814
  %bound14985 = icmp ult ptr %scevgep4813, %scevgep4810
  %found.conflict4986 = and i1 %bound04984, %bound14985
  %conflict.rdx4987 = or i1 %conflict.rdx4983, %found.conflict4986
  %bound04988 = icmp ult ptr %scevgep4809, %scevgep4816
  %bound14989 = icmp ult ptr %scevgep4815, %scevgep4810
  %found.conflict4990 = and i1 %bound04988, %bound14989
  %conflict.rdx4991 = or i1 %conflict.rdx4987, %found.conflict4990
  %bound04992 = icmp ult ptr %scevgep4809, %scevgep4818
  %bound14993 = icmp ult ptr %scevgep4817, %scevgep4810
  %found.conflict4994 = and i1 %bound04992, %bound14993
  %conflict.rdx4995 = or i1 %conflict.rdx4991, %found.conflict4994
  %bound04996 = icmp ult ptr %scevgep4809, %scevgep4820
  %bound14997 = icmp ult ptr %scevgep4819, %scevgep4810
  %found.conflict4998 = and i1 %bound04996, %bound14997
  %conflict.rdx4999 = or i1 %conflict.rdx4995, %found.conflict4998
  %bound05000 = icmp ult ptr %scevgep4811, %scevgep4814
  %bound15001 = icmp ult ptr %scevgep4813, %scevgep4812
  %found.conflict5002 = and i1 %bound05000, %bound15001
  %conflict.rdx5003 = or i1 %conflict.rdx4999, %found.conflict5002
  %bound05004 = icmp ult ptr %scevgep4811, %scevgep4816
  %bound15005 = icmp ult ptr %scevgep4815, %scevgep4812
  %found.conflict5006 = and i1 %bound05004, %bound15005
  %conflict.rdx5007 = or i1 %conflict.rdx5003, %found.conflict5006
  %bound05008 = icmp ult ptr %scevgep4811, %scevgep4818
  %bound15009 = icmp ult ptr %scevgep4817, %scevgep4812
  %found.conflict5010 = and i1 %bound05008, %bound15009
  %conflict.rdx5011 = or i1 %conflict.rdx5007, %found.conflict5010
  %bound05012 = icmp ult ptr %scevgep4811, %scevgep4820
  %bound15013 = icmp ult ptr %scevgep4819, %scevgep4812
  %found.conflict5014 = and i1 %bound05012, %bound15013
  %conflict.rdx5015 = or i1 %conflict.rdx5011, %found.conflict5014
  %bound05016 = icmp ult ptr %scevgep4813, %scevgep4816
  %bound15017 = icmp ult ptr %scevgep4815, %scevgep4814
  %found.conflict5018 = and i1 %bound05016, %bound15017
  %conflict.rdx5019 = or i1 %conflict.rdx5015, %found.conflict5018
  %bound05020 = icmp ult ptr %scevgep4813, %scevgep4818
  %bound15021 = icmp ult ptr %scevgep4817, %scevgep4814
  %found.conflict5022 = and i1 %bound05020, %bound15021
  %conflict.rdx5023 = or i1 %conflict.rdx5019, %found.conflict5022
  %bound05024 = icmp ult ptr %scevgep4813, %scevgep4820
  %bound15025 = icmp ult ptr %scevgep4819, %scevgep4814
  %found.conflict5026 = and i1 %bound05024, %bound15025
  %conflict.rdx5027 = or i1 %conflict.rdx5023, %found.conflict5026
  %bound05028 = icmp ult ptr %scevgep4815, %scevgep4818
  %bound15029 = icmp ult ptr %scevgep4817, %scevgep4816
  %found.conflict5030 = and i1 %bound05028, %bound15029
  %conflict.rdx5031 = or i1 %conflict.rdx5027, %found.conflict5030
  %bound05032 = icmp ult ptr %scevgep4815, %scevgep4820
  %bound15033 = icmp ult ptr %scevgep4819, %scevgep4816
  %found.conflict5034 = and i1 %bound05032, %bound15033
  %conflict.rdx5035 = or i1 %conflict.rdx5031, %found.conflict5034
  %bound05036 = icmp ult ptr %scevgep4817, %scevgep4820
  %bound15037 = icmp ult ptr %scevgep4819, %scevgep4818
  %found.conflict5038 = and i1 %bound05036, %bound15037
  %conflict.rdx5039 = or i1 %conflict.rdx5035, %found.conflict5038
  br i1 %conflict.rdx5039, label %scalar.ph.preheader, label %vector.ph

vector.ph:                                        ; preds = %vector.memcheck
  %n.vec = and i64 %3550, 4611686018427387900
  %ind.end = or disjoint i64 %n.vec, 1
  %broadcast.splat = shufflevector <2 x float> %3565, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5041 = insertelement <4 x float> poison, float %3559, i64 0
  %broadcast.splat5042 = shufflevector <4 x float> %broadcast.splatinsert5041, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5043 = insertelement <4 x float> poison, float %3560, i64 0
  %broadcast.splat5044 = shufflevector <4 x float> %broadcast.splatinsert5043, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5049 = shufflevector <2 x float> %3565, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splatinsert5050 = insertelement <4 x float> poison, float %3561, i64 0
  %broadcast.splat5051 = shufflevector <4 x float> %broadcast.splatinsert5050, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5052 = insertelement <4 x float> poison, float %3562, i64 0
  %broadcast.splat5053 = shufflevector <4 x float> %broadcast.splatinsert5052, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5057 = insertelement <4 x float> poison, float %3568, i64 0
  %broadcast.splat5058 = shufflevector <4 x float> %broadcast.splatinsert5057, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5059 = insertelement <4 x float> poison, float %3566, i64 0
  %broadcast.splat5060 = shufflevector <4 x float> %broadcast.splatinsert5059, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5061 = insertelement <4 x float> poison, float %3567, i64 0
  %broadcast.splat5062 = shufflevector <4 x float> %broadcast.splatinsert5061, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5066 = insertelement <4 x float> poison, float %3571, i64 0
  %broadcast.splat5067 = shufflevector <4 x float> %broadcast.splatinsert5066, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5068 = insertelement <4 x float> poison, float %3569, i64 0
  %broadcast.splat5069 = shufflevector <4 x float> %broadcast.splatinsert5068, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5070 = insertelement <4 x float> poison, float %3570, i64 0
  %broadcast.splat5071 = shufflevector <4 x float> %broadcast.splatinsert5070, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5075 = insertelement <4 x float> poison, float %3574, i64 0
  %broadcast.splat5076 = shufflevector <4 x float> %broadcast.splatinsert5075, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5077 = insertelement <4 x float> poison, float %3572, i64 0
  %broadcast.splat5078 = shufflevector <4 x float> %broadcast.splatinsert5077, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5079 = insertelement <4 x float> poison, float %3573, i64 0
  %broadcast.splat5080 = shufflevector <4 x float> %broadcast.splatinsert5079, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5084 = insertelement <4 x float> poison, float %3577, i64 0
  %broadcast.splat5085 = shufflevector <4 x float> %broadcast.splatinsert5084, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5086 = insertelement <4 x float> poison, float %3575, i64 0
  %broadcast.splat5087 = shufflevector <4 x float> %broadcast.splatinsert5086, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5088 = insertelement <4 x float> poison, float %3576, i64 0
  %broadcast.splat5089 = shufflevector <4 x float> %broadcast.splatinsert5088, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5093 = insertelement <4 x float> poison, float %3580, i64 0
  %broadcast.splat5094 = shufflevector <4 x float> %broadcast.splatinsert5093, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5095 = insertelement <4 x float> poison, float %3578, i64 0
  %broadcast.splat5096 = shufflevector <4 x float> %broadcast.splatinsert5095, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5097 = insertelement <4 x float> poison, float %3579, i64 0
  %broadcast.splat5098 = shufflevector <4 x float> %broadcast.splatinsert5097, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5102 = insertelement <4 x float> poison, float %3583, i64 0
  %broadcast.splat5103 = shufflevector <4 x float> %broadcast.splatinsert5102, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5104 = insertelement <4 x float> poison, float %3581, i64 0
  %broadcast.splat5105 = shufflevector <4 x float> %broadcast.splatinsert5104, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert5106 = insertelement <4 x float> poison, float %3582, i64 0
  %broadcast.splat5107 = shufflevector <4 x float> %broadcast.splatinsert5106, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5109 = shufflevector <2 x float> %3458, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5111 = shufflevector <2 x float> %3458, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5113 = shufflevector <2 x float> %3471, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5115 = shufflevector <2 x float> %3471, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5121 = shufflevector <2 x float> %3484, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5123 = shufflevector <2 x float> %3484, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5129 = shufflevector <2 x float> %3497, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5131 = shufflevector <2 x float> %3497, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5137 = shufflevector <2 x float> %3510, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5139 = shufflevector <2 x float> %3510, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5145 = shufflevector <2 x float> %3523, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5147 = shufflevector <2 x float> %3523, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5153 = shufflevector <2 x float> %3536, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5155 = shufflevector <2 x float> %3536, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat5161 = shufflevector <2 x float> %3549, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  %broadcast.splat5163 = shufflevector <2 x float> %3549, <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
  %3675 = getelementptr %struct.complex, ptr %24, i64 %offset.idx
  %3676 = getelementptr %struct.complex, ptr %3675, i64 %22
  %wide.vec = load <8 x float>, ptr %3676, 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.vec5040 = shufflevector <8 x float> %wide.vec, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3677 = fmul <4 x float> %strided.vec5040, %broadcast.splat
  %3678 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5042, <4 x float> %strided.vec, <4 x float> %3677)
  %3679 = fmul <4 x float> %strided.vec, %broadcast.splat5044
  %3680 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5042, <4 x float> %strided.vec5040, <4 x float> %3679)
  %3681 = getelementptr i8, ptr %3675, i64 %.idx4303
  %wide.vec5045 = load <8 x float>, ptr %3681, align 4, !tbaa !13
  %strided.vec5046 = shufflevector <8 x float> %wide.vec5045, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5047 = shufflevector <8 x float> %wide.vec5045, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3682 = fmul <4 x float> %strided.vec5047, %broadcast.splat5049
  %3683 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5051, <4 x float> %strided.vec5046, <4 x float> %3682)
  %3684 = fmul <4 x float> %strided.vec5046, %broadcast.splat5053
  %3685 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5051, <4 x float> %strided.vec5047, <4 x float> %3684)
  %3686 = fadd <4 x float> %3678, %3683
  %3687 = fadd <4 x float> %3680, %3685
  %3688 = getelementptr i8, ptr %3675, i64 %.idx4304
  %wide.vec5054 = load <8 x float>, ptr %3688, align 4, !tbaa !13
  %strided.vec5055 = shufflevector <8 x float> %wide.vec5054, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5056 = shufflevector <8 x float> %wide.vec5054, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3689 = fmul <4 x float> %strided.vec5056, %broadcast.splat5058
  %3690 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5060, <4 x float> %strided.vec5055, <4 x float> %3689)
  %3691 = fmul <4 x float> %strided.vec5055, %broadcast.splat5062
  %3692 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5060, <4 x float> %strided.vec5056, <4 x float> %3691)
  %3693 = fadd <4 x float> %3686, %3690
  %3694 = fadd <4 x float> %3687, %3692
  %3695 = getelementptr i8, ptr %3675, i64 %.idx4305
  %wide.vec5063 = load <8 x float>, ptr %3695, align 4, !tbaa !13
  %strided.vec5064 = shufflevector <8 x float> %wide.vec5063, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5065 = shufflevector <8 x float> %wide.vec5063, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3696 = fmul <4 x float> %strided.vec5065, %broadcast.splat5067
  %3697 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5069, <4 x float> %strided.vec5064, <4 x float> %3696)
  %3698 = fmul <4 x float> %strided.vec5064, %broadcast.splat5071
  %3699 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5069, <4 x float> %strided.vec5065, <4 x float> %3698)
  %3700 = fadd <4 x float> %3693, %3697
  %3701 = fadd <4 x float> %3694, %3699
  %3702 = getelementptr i8, ptr %3675, i64 %.idx4306
  %wide.vec5072 = load <8 x float>, ptr %3702, align 4, !tbaa !13
  %strided.vec5073 = shufflevector <8 x float> %wide.vec5072, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5074 = shufflevector <8 x float> %wide.vec5072, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3703 = fmul <4 x float> %strided.vec5074, %broadcast.splat5076
  %3704 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5078, <4 x float> %strided.vec5073, <4 x float> %3703)
  %3705 = fmul <4 x float> %strided.vec5073, %broadcast.splat5080
  %3706 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5078, <4 x float> %strided.vec5074, <4 x float> %3705)
  %3707 = fadd <4 x float> %3700, %3704
  %3708 = fadd <4 x float> %3701, %3706
  %3709 = getelementptr i8, ptr %3675, i64 %.idx4307
  %wide.vec5081 = load <8 x float>, ptr %3709, align 4, !tbaa !13
  %strided.vec5082 = shufflevector <8 x float> %wide.vec5081, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5083 = shufflevector <8 x float> %wide.vec5081, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3710 = fmul <4 x float> %strided.vec5083, %broadcast.splat5085
  %3711 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5087, <4 x float> %strided.vec5082, <4 x float> %3710)
  %3712 = fmul <4 x float> %strided.vec5082, %broadcast.splat5089
  %3713 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5087, <4 x float> %strided.vec5083, <4 x float> %3712)
  %3714 = fadd <4 x float> %3707, %3711
  %3715 = fadd <4 x float> %3708, %3713
  %3716 = getelementptr i8, ptr %3675, i64 %.idx4308
  %wide.vec5090 = load <8 x float>, ptr %3716, align 4, !tbaa !13
  %strided.vec5091 = shufflevector <8 x float> %wide.vec5090, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5092 = shufflevector <8 x float> %wide.vec5090, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3717 = fmul <4 x float> %strided.vec5092, %broadcast.splat5094
  %3718 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5096, <4 x float> %strided.vec5091, <4 x float> %3717)
  %3719 = fmul <4 x float> %strided.vec5091, %broadcast.splat5098
  %3720 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5096, <4 x float> %strided.vec5092, <4 x float> %3719)
  %3721 = fadd <4 x float> %3714, %3718
  %3722 = fadd <4 x float> %3715, %3720
  %3723 = getelementptr i8, ptr %3675, i64 %.idx4309
  %wide.vec5099 = load <8 x float>, ptr %3723, align 4, !tbaa !13
  %strided.vec5100 = shufflevector <8 x float> %wide.vec5099, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5101 = shufflevector <8 x float> %wide.vec5099, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3724 = fmul <4 x float> %strided.vec5101, %broadcast.splat5103
  %3725 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5105, <4 x float> %strided.vec5100, <4 x float> %3724)
  %3726 = fmul <4 x float> %strided.vec5100, %broadcast.splat5107
  %3727 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat5105, <4 x float> %strided.vec5101, <4 x float> %3726)
  %3728 = fadd <4 x float> %3721, %3725
  %3729 = fadd <4 x float> %3722, %3727
  %3730 = fneg <4 x float> %3729
  %3731 = fmul <4 x float> %broadcast.splat5109, %3730
  %3732 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5111, <4 x float> %3731)
  %3733 = fmul <4 x float> %broadcast.splat5111, %3729
  %3734 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5109, <4 x float> %3733)
  %3735 = fsub <4 x float> %strided.vec, %3732
  %3736 = fsub <4 x float> %strided.vec5040, %3734
  %interleaved.vec = shufflevector <4 x float> %3735, <4 x float> %3736, <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 %3676, align 4, !tbaa !13
  %3737 = fmul <4 x float> %broadcast.splat5113, %3730
  %3738 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5115, <4 x float> %3737)
  %3739 = fmul <4 x float> %broadcast.splat5115, %3729
  %3740 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5113, <4 x float> %3739)
  %wide.vec5116 = load <8 x float>, ptr %3681, align 4, !tbaa !13
  %strided.vec5117 = shufflevector <8 x float> %wide.vec5116, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5118 = shufflevector <8 x float> %wide.vec5116, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3741 = fsub <4 x float> %strided.vec5117, %3738
  %3742 = fsub <4 x float> %strided.vec5118, %3740
  %interleaved.vec5119 = shufflevector <4 x float> %3741, <4 x float> %3742, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5119, ptr %3681, align 4, !tbaa !13
  %3743 = fmul <4 x float> %broadcast.splat5121, %3730
  %3744 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5123, <4 x float> %3743)
  %3745 = fmul <4 x float> %broadcast.splat5123, %3729
  %3746 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5121, <4 x float> %3745)
  %wide.vec5124 = load <8 x float>, ptr %3688, align 4, !tbaa !13
  %strided.vec5125 = shufflevector <8 x float> %wide.vec5124, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5126 = shufflevector <8 x float> %wide.vec5124, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3747 = fsub <4 x float> %strided.vec5125, %3744
  %3748 = fsub <4 x float> %strided.vec5126, %3746
  %interleaved.vec5127 = shufflevector <4 x float> %3747, <4 x float> %3748, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5127, ptr %3688, align 4, !tbaa !13
  %3749 = fmul <4 x float> %broadcast.splat5129, %3730
  %3750 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5131, <4 x float> %3749)
  %3751 = fmul <4 x float> %broadcast.splat5131, %3729
  %3752 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5129, <4 x float> %3751)
  %wide.vec5132 = load <8 x float>, ptr %3695, align 4, !tbaa !13
  %strided.vec5133 = shufflevector <8 x float> %wide.vec5132, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5134 = shufflevector <8 x float> %wide.vec5132, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3753 = fsub <4 x float> %strided.vec5133, %3750
  %3754 = fsub <4 x float> %strided.vec5134, %3752
  %interleaved.vec5135 = shufflevector <4 x float> %3753, <4 x float> %3754, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5135, ptr %3695, align 4, !tbaa !13
  %3755 = fmul <4 x float> %broadcast.splat5137, %3730
  %3756 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5139, <4 x float> %3755)
  %3757 = fmul <4 x float> %broadcast.splat5139, %3729
  %3758 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5137, <4 x float> %3757)
  %wide.vec5140 = load <8 x float>, ptr %3702, align 4, !tbaa !13
  %strided.vec5141 = shufflevector <8 x float> %wide.vec5140, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5142 = shufflevector <8 x float> %wide.vec5140, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3759 = fsub <4 x float> %strided.vec5141, %3756
  %3760 = fsub <4 x float> %strided.vec5142, %3758
  %interleaved.vec5143 = shufflevector <4 x float> %3759, <4 x float> %3760, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5143, ptr %3702, align 4, !tbaa !13
  %3761 = fmul <4 x float> %broadcast.splat5145, %3730
  %3762 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5147, <4 x float> %3761)
  %3763 = fmul <4 x float> %broadcast.splat5147, %3729
  %3764 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5145, <4 x float> %3763)
  %wide.vec5148 = load <8 x float>, ptr %3709, align 4, !tbaa !13
  %strided.vec5149 = shufflevector <8 x float> %wide.vec5148, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5150 = shufflevector <8 x float> %wide.vec5148, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3765 = fsub <4 x float> %strided.vec5149, %3762
  %3766 = fsub <4 x float> %strided.vec5150, %3764
  %interleaved.vec5151 = shufflevector <4 x float> %3765, <4 x float> %3766, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5151, ptr %3709, align 4, !tbaa !13
  %3767 = fmul <4 x float> %broadcast.splat5153, %3730
  %3768 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5155, <4 x float> %3767)
  %3769 = fmul <4 x float> %broadcast.splat5155, %3729
  %3770 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5153, <4 x float> %3769)
  %wide.vec5156 = load <8 x float>, ptr %3716, align 4, !tbaa !13
  %strided.vec5157 = shufflevector <8 x float> %wide.vec5156, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5158 = shufflevector <8 x float> %wide.vec5156, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3771 = fsub <4 x float> %strided.vec5157, %3768
  %3772 = fsub <4 x float> %strided.vec5158, %3770
  %interleaved.vec5159 = shufflevector <4 x float> %3771, <4 x float> %3772, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5159, ptr %3716, align 4, !tbaa !13
  %3773 = fmul <4 x float> %broadcast.splat5161, %3730
  %3774 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5163, <4 x float> %3773)
  %3775 = fmul <4 x float> %broadcast.splat5163, %3729
  %3776 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %3728, <4 x float> %broadcast.splat5161, <4 x float> %3775)
  %wide.vec5164 = load <8 x float>, ptr %3723, align 4, !tbaa !13
  %strided.vec5165 = shufflevector <8 x float> %wide.vec5164, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec5166 = shufflevector <8 x float> %wide.vec5164, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %3777 = fsub <4 x float> %strided.vec5165, %3774
  %3778 = fsub <4 x float> %strided.vec5166, %3776
  %interleaved.vec5167 = shufflevector <4 x float> %3777, <4 x float> %3778, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec5167, ptr %3723, align 4, !tbaa !13
  %index.next = add nuw i64 %index, 4
  %3779 = icmp eq i64 %index.next, %n.vec
  br i1 %3779, label %middle.block, label %vector.body, !llvm.loop !41

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

scalar.ph.preheader:                              ; preds = %middle.block, %vector.memcheck, %vector.scevcheck, %.lr.ph4511
  %.174510.ph = phi i64 [ 1, %vector.memcheck ], [ 1, %vector.scevcheck ], [ 1, %.lr.ph4511 ], [ %ind.end, %middle.block ]
  %3780 = insertelement <2 x float> poison, float %3559, i64 0
  %3781 = insertelement <2 x float> %3780, float %3561, i64 1
  br label %scalar.ph

scalar.ph:                                        ; preds = %scalar.ph.preheader, %scalar.ph
  %.174510 = phi i64 [ %3907, %scalar.ph ], [ %.174510.ph, %scalar.ph.preheader ]
  %3782 = getelementptr %struct.complex, ptr %24, i64 %.174510
  %3783 = getelementptr %struct.complex, ptr %3782, i64 %22
  %3784 = getelementptr i8, ptr %3782, i64 %.idx4303
  %3785 = load float, ptr %3784, align 4, !tbaa !9
  %3786 = getelementptr inbounds i8, ptr %3784, i64 4
  %3787 = load float, ptr %3786, align 4, !tbaa !12
  %3788 = fmul float %3785, %3562
  %3789 = call float @llvm.fmuladd.f32(float %3561, float %3787, float %3788)
  %3790 = getelementptr i8, ptr %3782, i64 %.idx4304
  %3791 = load float, ptr %3790, align 4, !tbaa !9
  %3792 = getelementptr inbounds i8, ptr %3790, i64 4
  %3793 = load float, ptr %3792, align 4, !tbaa !12
  %3794 = fmul float %3793, %3568
  %3795 = call float @llvm.fmuladd.f32(float %3566, float %3791, float %3794)
  %3796 = fmul float %3791, %3567
  %3797 = call float @llvm.fmuladd.f32(float %3566, float %3793, float %3796)
  %3798 = getelementptr i8, ptr %3782, i64 %.idx4305
  %3799 = load float, ptr %3798, align 4, !tbaa !9
  %3800 = getelementptr inbounds i8, ptr %3798, i64 4
  %3801 = load float, ptr %3800, align 4, !tbaa !12
  %3802 = fmul float %3801, %3571
  %3803 = call float @llvm.fmuladd.f32(float %3569, float %3799, float %3802)
  %3804 = fmul float %3799, %3570
  %3805 = call float @llvm.fmuladd.f32(float %3569, float %3801, float %3804)
  %3806 = getelementptr i8, ptr %3782, i64 %.idx4306
  %3807 = load float, ptr %3806, align 4, !tbaa !9
  %3808 = getelementptr inbounds i8, ptr %3806, i64 4
  %3809 = load float, ptr %3808, align 4, !tbaa !12
  %3810 = fmul float %3809, %3574
  %3811 = call float @llvm.fmuladd.f32(float %3572, float %3807, float %3810)
  %3812 = fmul float %3807, %3573
  %3813 = call float @llvm.fmuladd.f32(float %3572, float %3809, float %3812)
  %3814 = getelementptr i8, ptr %3782, i64 %.idx4307
  %3815 = load float, ptr %3814, align 4, !tbaa !9
  %3816 = getelementptr inbounds i8, ptr %3814, i64 4
  %3817 = load float, ptr %3816, align 4, !tbaa !12
  %3818 = fmul float %3817, %3577
  %3819 = call float @llvm.fmuladd.f32(float %3575, float %3815, float %3818)
  %3820 = fmul float %3815, %3576
  %3821 = call float @llvm.fmuladd.f32(float %3575, float %3817, float %3820)
  %3822 = getelementptr i8, ptr %3782, i64 %.idx4308
  %3823 = load float, ptr %3822, align 4, !tbaa !9
  %3824 = getelementptr inbounds i8, ptr %3822, i64 4
  %3825 = load float, ptr %3824, align 4, !tbaa !12
  %3826 = fmul float %3825, %3580
  %3827 = call float @llvm.fmuladd.f32(float %3578, float %3823, float %3826)
  %3828 = fmul float %3823, %3579
  %3829 = call float @llvm.fmuladd.f32(float %3578, float %3825, float %3828)
  %3830 = getelementptr i8, ptr %3782, i64 %.idx4309
  %3831 = load float, ptr %3830, align 4, !tbaa !9
  %3832 = getelementptr inbounds i8, ptr %3830, i64 4
  %3833 = load float, ptr %3832, align 4, !tbaa !12
  %3834 = fmul float %3833, %3583
  %3835 = call float @llvm.fmuladd.f32(float %3581, float %3831, float %3834)
  %3836 = fmul float %3831, %3582
  %3837 = call float @llvm.fmuladd.f32(float %3581, float %3833, float %3836)
  %3838 = load <2 x float>, ptr %3783, align 4, !tbaa !13
  %3839 = extractelement <2 x float> %3838, i64 1
  %3840 = extractelement <2 x float> %3838, i64 0
  %3841 = shufflevector <2 x float> %3838, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3842 = insertelement <2 x float> %3841, float %3787, i64 1
  %3843 = fmul <2 x float> %3842, %3565
  %3844 = insertelement <2 x float> %3838, float %3785, i64 1
  %3845 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3781, <2 x float> %3844, <2 x float> %3843)
  %3846 = fmul float %3840, %3560
  %3847 = call float @llvm.fmuladd.f32(float %3559, float %3839, float %3846)
  %shift6527 = shufflevector <2 x float> %3845, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3848 = fadd <2 x float> %3845, %shift6527
  %3849 = extractelement <2 x float> %3848, i64 0
  %3850 = fadd float %3847, %3789
  %3851 = fadd float %3849, %3795
  %3852 = fadd float %3850, %3797
  %3853 = fadd float %3851, %3803
  %3854 = fadd float %3852, %3805
  %3855 = fadd float %3853, %3811
  %3856 = fadd float %3854, %3813
  %3857 = fadd float %3855, %3819
  %3858 = fadd float %3856, %3821
  %3859 = fadd float %3857, %3827
  %3860 = fadd float %3858, %3829
  %3861 = fadd float %3859, %3835
  %3862 = fadd float %3860, %3837
  %3863 = fneg float %3862
  %3864 = insertelement <2 x float> poison, float %3862, i64 0
  %3865 = insertelement <2 x float> %3864, float %3863, i64 1
  %3866 = fmul <2 x float> %3458, %3865
  %3867 = shufflevector <2 x float> %3866, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3868 = insertelement <2 x float> poison, float %3861, i64 0
  %3869 = shufflevector <2 x float> %3868, <2 x float> poison, <2 x i32> zeroinitializer
  %3870 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3458, <2 x float> %3867)
  %3871 = fsub <2 x float> %3838, %3870
  store <2 x float> %3871, ptr %3783, align 4, !tbaa !13
  %3872 = fmul <2 x float> %3471, %3865
  %3873 = shufflevector <2 x float> %3872, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3874 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3471, <2 x float> %3873)
  %3875 = load <2 x float>, ptr %3784, align 4, !tbaa !13
  %3876 = fsub <2 x float> %3875, %3874
  store <2 x float> %3876, ptr %3784, align 4, !tbaa !13
  %3877 = fmul <2 x float> %3484, %3865
  %3878 = shufflevector <2 x float> %3877, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3879 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3484, <2 x float> %3878)
  %3880 = load <2 x float>, ptr %3790, align 4, !tbaa !13
  %3881 = fsub <2 x float> %3880, %3879
  store <2 x float> %3881, ptr %3790, align 4, !tbaa !13
  %3882 = fmul <2 x float> %3497, %3865
  %3883 = shufflevector <2 x float> %3882, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3884 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3497, <2 x float> %3883)
  %3885 = load <2 x float>, ptr %3798, align 4, !tbaa !13
  %3886 = fsub <2 x float> %3885, %3884
  store <2 x float> %3886, ptr %3798, align 4, !tbaa !13
  %3887 = fmul <2 x float> %3510, %3865
  %3888 = shufflevector <2 x float> %3887, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3889 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3510, <2 x float> %3888)
  %3890 = load <2 x float>, ptr %3806, align 4, !tbaa !13
  %3891 = fsub <2 x float> %3890, %3889
  store <2 x float> %3891, ptr %3806, align 4, !tbaa !13
  %3892 = fmul <2 x float> %3523, %3865
  %3893 = shufflevector <2 x float> %3892, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3894 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3523, <2 x float> %3893)
  %3895 = load <2 x float>, ptr %3814, align 4, !tbaa !13
  %3896 = fsub <2 x float> %3895, %3894
  store <2 x float> %3896, ptr %3814, align 4, !tbaa !13
  %3897 = fmul <2 x float> %3536, %3865
  %3898 = shufflevector <2 x float> %3897, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3899 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3536, <2 x float> %3898)
  %3900 = load <2 x float>, ptr %3822, align 4, !tbaa !13
  %3901 = fsub <2 x float> %3900, %3899
  store <2 x float> %3901, ptr %3822, align 4, !tbaa !13
  %3902 = fmul <2 x float> %3549, %3865
  %3903 = shufflevector <2 x float> %3902, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3904 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3869, <2 x float> %3549, <2 x float> %3903)
  %3905 = load <2 x float>, ptr %3830, align 4, !tbaa !13
  %3906 = fsub <2 x float> %3905, %3904
  store <2 x float> %3906, ptr %3830, align 4, !tbaa !13
  %3907 = add nuw i64 %.174510, 1
  %exitcond4704.not = icmp eq i64 %.174510, %3550
  br i1 %exitcond4704.not, label %.loopexit, label %scalar.ph, !llvm.loop !42

3908:                                             ; preds = %1794
  %3909 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %3909, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %3910 = load float, ptr %4, align 4, !tbaa !9
  %3911 = getelementptr inbounds i8, ptr %4, i64 4
  %3912 = load float, ptr %3911, align 4, !tbaa !12
  %3913 = fneg float %3912
  %3914 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3915 = insertelement <2 x float> poison, float %3912, i64 0
  %3916 = insertelement <2 x float> %3915, float %3913, i64 1
  %3917 = fmul <2 x float> %3914, %3916
  %3918 = shufflevector <2 x float> %3917, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3919 = insertelement <2 x float> poison, float %3910, i64 0
  %3920 = shufflevector <2 x float> %3919, <2 x float> poison, <2 x i32> zeroinitializer
  %3921 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3920, <2 x float> %3914, <2 x float> %3918)
  store <2 x float> %3921, ptr %9, align 8, !tbaa !13
  %3922 = getelementptr inbounds i8, ptr %3, i64 8
  %3923 = load <2 x float>, ptr %3922, align 4, !tbaa !13
  store <2 x float> %3923, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %3924 = load float, ptr %4, align 4, !tbaa !9
  %3925 = load float, ptr %3911, align 4, !tbaa !12
  %3926 = fneg float %3925
  %3927 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3928 = insertelement <2 x float> poison, float %3925, i64 0
  %3929 = insertelement <2 x float> %3928, float %3926, i64 1
  %3930 = fmul <2 x float> %3927, %3929
  %3931 = shufflevector <2 x float> %3930, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3932 = insertelement <2 x float> poison, float %3924, i64 0
  %3933 = shufflevector <2 x float> %3932, <2 x float> poison, <2 x i32> zeroinitializer
  %3934 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3933, <2 x float> %3927, <2 x float> %3931)
  store <2 x float> %3934, ptr %9, align 8, !tbaa !13
  %3935 = getelementptr inbounds i8, ptr %3, i64 16
  %3936 = load <2 x float>, ptr %3935, align 4, !tbaa !13
  store <2 x float> %3936, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %3937 = load float, ptr %4, align 4, !tbaa !9
  %3938 = load float, ptr %3911, align 4, !tbaa !12
  %3939 = fneg float %3938
  %3940 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3941 = insertelement <2 x float> poison, float %3938, i64 0
  %3942 = insertelement <2 x float> %3941, float %3939, i64 1
  %3943 = fmul <2 x float> %3940, %3942
  %3944 = shufflevector <2 x float> %3943, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3945 = insertelement <2 x float> poison, float %3937, i64 0
  %3946 = shufflevector <2 x float> %3945, <2 x float> poison, <2 x i32> zeroinitializer
  %3947 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3946, <2 x float> %3940, <2 x float> %3944)
  store <2 x float> %3947, ptr %9, align 8, !tbaa !13
  %3948 = getelementptr inbounds i8, ptr %3, i64 24
  %3949 = load <2 x float>, ptr %3948, align 4, !tbaa !13
  store <2 x float> %3949, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %3950 = load float, ptr %4, align 4, !tbaa !9
  %3951 = load float, ptr %3911, align 4, !tbaa !12
  %3952 = fneg float %3951
  %3953 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3954 = insertelement <2 x float> poison, float %3951, i64 0
  %3955 = insertelement <2 x float> %3954, float %3952, i64 1
  %3956 = fmul <2 x float> %3953, %3955
  %3957 = shufflevector <2 x float> %3956, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3958 = insertelement <2 x float> poison, float %3950, i64 0
  %3959 = shufflevector <2 x float> %3958, <2 x float> poison, <2 x i32> zeroinitializer
  %3960 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3959, <2 x float> %3953, <2 x float> %3957)
  store <2 x float> %3960, ptr %9, align 8, !tbaa !13
  %3961 = getelementptr inbounds i8, ptr %3, i64 32
  %3962 = load <2 x float>, ptr %3961, align 4, !tbaa !13
  store <2 x float> %3962, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %3963 = load float, ptr %4, align 4, !tbaa !9
  %3964 = load float, ptr %3911, align 4, !tbaa !12
  %3965 = fneg float %3964
  %3966 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3967 = insertelement <2 x float> poison, float %3964, i64 0
  %3968 = insertelement <2 x float> %3967, float %3965, i64 1
  %3969 = fmul <2 x float> %3966, %3968
  %3970 = shufflevector <2 x float> %3969, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3971 = insertelement <2 x float> poison, float %3963, i64 0
  %3972 = shufflevector <2 x float> %3971, <2 x float> poison, <2 x i32> zeroinitializer
  %3973 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3972, <2 x float> %3966, <2 x float> %3970)
  store <2 x float> %3973, ptr %9, align 8, !tbaa !13
  %3974 = getelementptr inbounds i8, ptr %3, i64 40
  %3975 = load <2 x float>, ptr %3974, align 4, !tbaa !13
  store <2 x float> %3975, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %3976 = load float, ptr %4, align 4, !tbaa !9
  %3977 = load float, ptr %3911, align 4, !tbaa !12
  %3978 = fneg float %3977
  %3979 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3980 = insertelement <2 x float> poison, float %3977, i64 0
  %3981 = insertelement <2 x float> %3980, float %3978, i64 1
  %3982 = fmul <2 x float> %3979, %3981
  %3983 = shufflevector <2 x float> %3982, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3984 = insertelement <2 x float> poison, float %3976, i64 0
  %3985 = shufflevector <2 x float> %3984, <2 x float> poison, <2 x i32> zeroinitializer
  %3986 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3985, <2 x float> %3979, <2 x float> %3983)
  store <2 x float> %3986, ptr %9, align 8, !tbaa !13
  %3987 = getelementptr inbounds i8, ptr %3, i64 48
  %3988 = load <2 x float>, ptr %3987, align 4, !tbaa !13
  store <2 x float> %3988, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %3989 = load float, ptr %4, align 4, !tbaa !9
  %3990 = load float, ptr %3911, align 4, !tbaa !12
  %3991 = fneg float %3990
  %3992 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %3993 = insertelement <2 x float> poison, float %3990, i64 0
  %3994 = insertelement <2 x float> %3993, float %3991, i64 1
  %3995 = fmul <2 x float> %3992, %3994
  %3996 = shufflevector <2 x float> %3995, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %3997 = insertelement <2 x float> poison, float %3989, i64 0
  %3998 = shufflevector <2 x float> %3997, <2 x float> poison, <2 x i32> zeroinitializer
  %3999 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %3998, <2 x float> %3992, <2 x float> %3996)
  store <2 x float> %3999, ptr %9, align 8, !tbaa !13
  %4000 = getelementptr inbounds i8, ptr %3, i64 56
  %4001 = load <2 x float>, ptr %4000, align 4, !tbaa !13
  store <2 x float> %4001, ptr %19, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %19) #5
  %4002 = load float, ptr %4, align 4, !tbaa !9
  %4003 = load float, ptr %3911, align 4, !tbaa !12
  %4004 = fneg float %4003
  %4005 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4006 = insertelement <2 x float> poison, float %4003, i64 0
  %4007 = insertelement <2 x float> %4006, float %4004, i64 1
  %4008 = fmul <2 x float> %4005, %4007
  %4009 = shufflevector <2 x float> %4008, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4010 = insertelement <2 x float> poison, float %4002, i64 0
  %4011 = shufflevector <2 x float> %4010, <2 x float> poison, <2 x i32> zeroinitializer
  %4012 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4011, <2 x float> %4005, <2 x float> %4009)
  store <2 x float> %4012, ptr %9, align 8, !tbaa !13
  %4013 = getelementptr inbounds i8, ptr %3, i64 64
  %4014 = load <2 x float>, ptr %4013, align 4, !tbaa !13
  store <2 x float> %4014, ptr %20, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %20) #5
  %4015 = load float, ptr %4, align 4, !tbaa !9
  %4016 = load float, ptr %3911, align 4, !tbaa !12
  %4017 = fneg float %4016
  %4018 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4019 = insertelement <2 x float> poison, float %4016, i64 0
  %4020 = insertelement <2 x float> %4019, float %4017, i64 1
  %4021 = fmul <2 x float> %4018, %4020
  %4022 = shufflevector <2 x float> %4021, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4023 = insertelement <2 x float> poison, float %4015, i64 0
  %4024 = shufflevector <2 x float> %4023, <2 x float> poison, <2 x i32> zeroinitializer
  %4025 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4024, <2 x float> %4018, <2 x float> %4022)
  %4026 = load i64, ptr %1, align 8, !tbaa !5
  %.not42934498 = icmp slt i64 %4026, 1
  br i1 %.not42934498, label %.loopexit, label %.lr.ph4500

.lr.ph4500:                                       ; preds = %3908
  %4027 = getelementptr inbounds i8, ptr %20, i64 4
  %4028 = getelementptr inbounds i8, ptr %19, i64 4
  %4029 = getelementptr inbounds i8, ptr %18, i64 4
  %4030 = getelementptr inbounds i8, ptr %17, i64 4
  %4031 = getelementptr inbounds i8, ptr %16, i64 4
  %4032 = getelementptr inbounds i8, ptr %15, i64 4
  %4033 = getelementptr inbounds i8, ptr %14, i64 4
  %4034 = getelementptr inbounds i8, ptr %13, i64 4
  %4035 = getelementptr inbounds i8, ptr %12, i64 4
  %4036 = load float, ptr %12, align 8, !tbaa !9
  %4037 = load float, ptr %4035, align 4, !tbaa !12
  %4038 = fneg float %4037
  %4039 = load float, ptr %13, align 8, !tbaa !9
  %.idx4294 = shl i64 %22, 4
  %4040 = load float, ptr %4034, align 4, !tbaa !12
  %4041 = fneg float %4040
  %4042 = load float, ptr %14, align 8, !tbaa !9
  %.idx4295 = mul i64 %22, 24
  %4043 = load float, ptr %4033, align 4, !tbaa !12
  %4044 = fneg float %4043
  %4045 = load float, ptr %15, align 8, !tbaa !9
  %.idx4296 = shl i64 %22, 5
  %4046 = load float, ptr %4032, align 4, !tbaa !12
  %4047 = fneg float %4046
  %4048 = load float, ptr %16, align 8, !tbaa !9
  %.idx4297 = mul i64 %22, 40
  %4049 = load float, ptr %4031, align 4, !tbaa !12
  %4050 = fneg float %4049
  %4051 = load float, ptr %17, align 8, !tbaa !9
  %.idx4298 = mul i64 %22, 48
  %4052 = load float, ptr %4030, align 4, !tbaa !12
  %4053 = fneg float %4052
  %4054 = load float, ptr %18, align 8, !tbaa !9
  %.idx4299 = mul i64 %22, 56
  %4055 = load float, ptr %4029, align 4, !tbaa !12
  %4056 = fneg float %4055
  %4057 = load float, ptr %19, align 8, !tbaa !9
  %.idx4300 = shl i64 %22, 6
  %4058 = load float, ptr %4028, align 4, !tbaa !12
  %4059 = fneg float %4058
  %4060 = load float, ptr %20, align 8, !tbaa !9
  %.idx4301 = mul i64 %22, 72
  %4061 = load float, ptr %4027, align 4, !tbaa !12
  %4062 = fneg float %4061
  br label %4063

4063:                                             ; preds = %.lr.ph4500, %4063
  %.184499 = phi i64 [ 1, %.lr.ph4500 ], [ %4202, %4063 ]
  %4064 = getelementptr %struct.complex, ptr %24, i64 %.184499
  %4065 = getelementptr %struct.complex, ptr %4064, i64 %22
  %4066 = getelementptr i8, ptr %4064, i64 %.idx4294
  %4067 = load float, ptr %4066, align 4, !tbaa !9
  %4068 = getelementptr inbounds i8, ptr %4066, i64 4
  %4069 = load float, ptr %4068, align 4, !tbaa !12
  %4070 = fmul float %4069, %4041
  %4071 = call float @llvm.fmuladd.f32(float %4039, float %4067, float %4070)
  %4072 = fmul float %4067, %4040
  %4073 = call float @llvm.fmuladd.f32(float %4039, float %4069, float %4072)
  %4074 = getelementptr i8, ptr %4064, i64 %.idx4295
  %4075 = load float, ptr %4074, align 4, !tbaa !9
  %4076 = getelementptr inbounds i8, ptr %4074, i64 4
  %4077 = load float, ptr %4076, align 4, !tbaa !12
  %4078 = fmul float %4077, %4044
  %4079 = call float @llvm.fmuladd.f32(float %4042, float %4075, float %4078)
  %4080 = fmul float %4075, %4043
  %4081 = call float @llvm.fmuladd.f32(float %4042, float %4077, float %4080)
  %4082 = getelementptr i8, ptr %4064, i64 %.idx4296
  %4083 = load float, ptr %4082, align 4, !tbaa !9
  %4084 = getelementptr inbounds i8, ptr %4082, i64 4
  %4085 = load float, ptr %4084, align 4, !tbaa !12
  %4086 = fmul float %4085, %4047
  %4087 = call float @llvm.fmuladd.f32(float %4045, float %4083, float %4086)
  %4088 = fmul float %4083, %4046
  %4089 = call float @llvm.fmuladd.f32(float %4045, float %4085, float %4088)
  %4090 = getelementptr i8, ptr %4064, i64 %.idx4297
  %4091 = load float, ptr %4090, align 4, !tbaa !9
  %4092 = getelementptr inbounds i8, ptr %4090, i64 4
  %4093 = load float, ptr %4092, align 4, !tbaa !12
  %4094 = fmul float %4093, %4050
  %4095 = call float @llvm.fmuladd.f32(float %4048, float %4091, float %4094)
  %4096 = fmul float %4091, %4049
  %4097 = call float @llvm.fmuladd.f32(float %4048, float %4093, float %4096)
  %4098 = getelementptr i8, ptr %4064, i64 %.idx4298
  %4099 = load float, ptr %4098, align 4, !tbaa !9
  %4100 = getelementptr inbounds i8, ptr %4098, i64 4
  %4101 = load float, ptr %4100, align 4, !tbaa !12
  %4102 = fmul float %4101, %4053
  %4103 = call float @llvm.fmuladd.f32(float %4051, float %4099, float %4102)
  %4104 = fmul float %4099, %4052
  %4105 = call float @llvm.fmuladd.f32(float %4051, float %4101, float %4104)
  %4106 = getelementptr i8, ptr %4064, i64 %.idx4299
  %4107 = load float, ptr %4106, align 4, !tbaa !9
  %4108 = getelementptr inbounds i8, ptr %4106, i64 4
  %4109 = load float, ptr %4108, align 4, !tbaa !12
  %4110 = fmul float %4109, %4056
  %4111 = call float @llvm.fmuladd.f32(float %4054, float %4107, float %4110)
  %4112 = fmul float %4107, %4055
  %4113 = call float @llvm.fmuladd.f32(float %4054, float %4109, float %4112)
  %4114 = getelementptr i8, ptr %4064, i64 %.idx4300
  %4115 = load float, ptr %4114, align 4, !tbaa !9
  %4116 = getelementptr inbounds i8, ptr %4114, i64 4
  %4117 = load float, ptr %4116, align 4, !tbaa !12
  %4118 = fmul float %4117, %4059
  %4119 = call float @llvm.fmuladd.f32(float %4057, float %4115, float %4118)
  %4120 = fmul float %4115, %4058
  %4121 = call float @llvm.fmuladd.f32(float %4057, float %4117, float %4120)
  %4122 = getelementptr i8, ptr %4064, i64 %.idx4301
  %4123 = load float, ptr %4122, align 4, !tbaa !9
  %4124 = getelementptr inbounds i8, ptr %4122, i64 4
  %4125 = load float, ptr %4124, align 4, !tbaa !12
  %4126 = fmul float %4125, %4062
  %4127 = call float @llvm.fmuladd.f32(float %4060, float %4123, float %4126)
  %4128 = fmul float %4123, %4061
  %4129 = call float @llvm.fmuladd.f32(float %4060, float %4125, float %4128)
  %4130 = load <2 x float>, ptr %4065, align 4, !tbaa !13
  %4131 = extractelement <2 x float> %4130, i64 1
  %4132 = fmul float %4131, %4038
  %4133 = extractelement <2 x float> %4130, i64 0
  %4134 = call float @llvm.fmuladd.f32(float %4036, float %4133, float %4132)
  %4135 = fmul float %4133, %4037
  %4136 = call float @llvm.fmuladd.f32(float %4036, float %4131, float %4135)
  %4137 = fadd float %4134, %4071
  %4138 = fadd float %4136, %4073
  %4139 = fadd float %4137, %4079
  %4140 = fadd float %4138, %4081
  %4141 = fadd float %4139, %4087
  %4142 = fadd float %4140, %4089
  %4143 = fadd float %4141, %4095
  %4144 = fadd float %4142, %4097
  %4145 = fadd float %4143, %4103
  %4146 = fadd float %4144, %4105
  %4147 = fadd float %4145, %4111
  %4148 = fadd float %4146, %4113
  %4149 = fadd float %4147, %4119
  %4150 = fadd float %4148, %4121
  %4151 = fadd float %4149, %4127
  %4152 = fadd float %4129, %4150
  %4153 = fneg float %4152
  %4154 = insertelement <2 x float> poison, float %4152, i64 0
  %4155 = insertelement <2 x float> %4154, float %4153, i64 1
  %4156 = fmul <2 x float> %3921, %4155
  %4157 = shufflevector <2 x float> %4156, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4158 = insertelement <2 x float> poison, float %4151, i64 0
  %4159 = shufflevector <2 x float> %4158, <2 x float> poison, <2 x i32> zeroinitializer
  %4160 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %3921, <2 x float> %4157)
  %4161 = fsub <2 x float> %4130, %4160
  store <2 x float> %4161, ptr %4065, align 4, !tbaa !13
  %4162 = fmul <2 x float> %3934, %4155
  %4163 = shufflevector <2 x float> %4162, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4164 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %3934, <2 x float> %4163)
  %4165 = load <2 x float>, ptr %4066, align 4, !tbaa !13
  %4166 = fsub <2 x float> %4165, %4164
  store <2 x float> %4166, ptr %4066, align 4, !tbaa !13
  %4167 = fmul <2 x float> %3947, %4155
  %4168 = shufflevector <2 x float> %4167, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4169 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %3947, <2 x float> %4168)
  %4170 = load <2 x float>, ptr %4074, align 4, !tbaa !13
  %4171 = fsub <2 x float> %4170, %4169
  store <2 x float> %4171, ptr %4074, align 4, !tbaa !13
  %4172 = fmul <2 x float> %3960, %4155
  %4173 = shufflevector <2 x float> %4172, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4174 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %3960, <2 x float> %4173)
  %4175 = load <2 x float>, ptr %4082, align 4, !tbaa !13
  %4176 = fsub <2 x float> %4175, %4174
  store <2 x float> %4176, ptr %4082, align 4, !tbaa !13
  %4177 = fmul <2 x float> %3973, %4155
  %4178 = shufflevector <2 x float> %4177, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4179 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %3973, <2 x float> %4178)
  %4180 = load <2 x float>, ptr %4090, align 4, !tbaa !13
  %4181 = fsub <2 x float> %4180, %4179
  store <2 x float> %4181, ptr %4090, align 4, !tbaa !13
  %4182 = fmul <2 x float> %3986, %4155
  %4183 = shufflevector <2 x float> %4182, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4184 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %3986, <2 x float> %4183)
  %4185 = load <2 x float>, ptr %4098, align 4, !tbaa !13
  %4186 = fsub <2 x float> %4185, %4184
  store <2 x float> %4186, ptr %4098, align 4, !tbaa !13
  %4187 = fmul <2 x float> %3999, %4155
  %4188 = shufflevector <2 x float> %4187, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4189 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %3999, <2 x float> %4188)
  %4190 = load <2 x float>, ptr %4106, align 4, !tbaa !13
  %4191 = fsub <2 x float> %4190, %4189
  store <2 x float> %4191, ptr %4106, align 4, !tbaa !13
  %4192 = fmul <2 x float> %4012, %4155
  %4193 = shufflevector <2 x float> %4192, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4194 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %4012, <2 x float> %4193)
  %4195 = load <2 x float>, ptr %4114, align 4, !tbaa !13
  %4196 = fsub <2 x float> %4195, %4194
  store <2 x float> %4196, ptr %4114, align 4, !tbaa !13
  %4197 = fmul <2 x float> %4025, %4155
  %4198 = shufflevector <2 x float> %4197, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4199 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4159, <2 x float> %4025, <2 x float> %4198)
  %4200 = load <2 x float>, ptr %4122, align 4, !tbaa !13
  %4201 = fsub <2 x float> %4200, %4199
  store <2 x float> %4201, ptr %4122, align 4, !tbaa !13
  %4202 = add nuw i64 %.184499, 1
  %exitcond4703.not = icmp eq i64 %.184499, %4026
  br i1 %exitcond4703.not, label %.loopexit, label %4063, !llvm.loop !43

4203:                                             ; preds = %1794
  %4204 = load <2 x float>, ptr %3, align 4, !tbaa !13
  store <2 x float> %4204, ptr %12, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %12) #5
  %4205 = load float, ptr %4, align 4, !tbaa !9
  %4206 = getelementptr inbounds i8, ptr %4, i64 4
  %4207 = load float, ptr %4206, align 4, !tbaa !12
  %4208 = fneg float %4207
  %4209 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4210 = insertelement <2 x float> poison, float %4207, i64 0
  %4211 = insertelement <2 x float> %4210, float %4208, i64 1
  %4212 = fmul <2 x float> %4209, %4211
  %4213 = shufflevector <2 x float> %4212, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4214 = insertelement <2 x float> poison, float %4205, i64 0
  %4215 = shufflevector <2 x float> %4214, <2 x float> poison, <2 x i32> zeroinitializer
  %4216 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4215, <2 x float> %4209, <2 x float> %4213)
  store <2 x float> %4216, ptr %9, align 8, !tbaa !13
  %4217 = getelementptr inbounds i8, ptr %3, i64 8
  %4218 = load <2 x float>, ptr %4217, align 4, !tbaa !13
  store <2 x float> %4218, ptr %13, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %13) #5
  %4219 = load float, ptr %4, align 4, !tbaa !9
  %4220 = load float, ptr %4206, align 4, !tbaa !12
  %4221 = fneg float %4220
  %4222 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4223 = insertelement <2 x float> poison, float %4220, i64 0
  %4224 = insertelement <2 x float> %4223, float %4221, i64 1
  %4225 = fmul <2 x float> %4222, %4224
  %4226 = shufflevector <2 x float> %4225, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4227 = insertelement <2 x float> poison, float %4219, i64 0
  %4228 = shufflevector <2 x float> %4227, <2 x float> poison, <2 x i32> zeroinitializer
  %4229 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4228, <2 x float> %4222, <2 x float> %4226)
  store <2 x float> %4229, ptr %9, align 8, !tbaa !13
  %4230 = getelementptr inbounds i8, ptr %3, i64 16
  %4231 = load <2 x float>, ptr %4230, align 4, !tbaa !13
  store <2 x float> %4231, ptr %14, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %14) #5
  %4232 = load float, ptr %4, align 4, !tbaa !9
  %4233 = load float, ptr %4206, align 4, !tbaa !12
  %4234 = fneg float %4233
  %4235 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4236 = insertelement <2 x float> poison, float %4233, i64 0
  %4237 = insertelement <2 x float> %4236, float %4234, i64 1
  %4238 = fmul <2 x float> %4235, %4237
  %4239 = shufflevector <2 x float> %4238, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4240 = insertelement <2 x float> poison, float %4232, i64 0
  %4241 = shufflevector <2 x float> %4240, <2 x float> poison, <2 x i32> zeroinitializer
  %4242 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4241, <2 x float> %4235, <2 x float> %4239)
  store <2 x float> %4242, ptr %9, align 8, !tbaa !13
  %4243 = getelementptr inbounds i8, ptr %3, i64 24
  %4244 = load <2 x float>, ptr %4243, align 4, !tbaa !13
  store <2 x float> %4244, ptr %15, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %15) #5
  %4245 = load float, ptr %4, align 4, !tbaa !9
  %4246 = load float, ptr %4206, align 4, !tbaa !12
  %4247 = fneg float %4246
  %4248 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4249 = insertelement <2 x float> poison, float %4246, i64 0
  %4250 = insertelement <2 x float> %4249, float %4247, i64 1
  %4251 = fmul <2 x float> %4248, %4250
  %4252 = shufflevector <2 x float> %4251, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4253 = insertelement <2 x float> poison, float %4245, i64 0
  %4254 = shufflevector <2 x float> %4253, <2 x float> poison, <2 x i32> zeroinitializer
  %4255 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4254, <2 x float> %4248, <2 x float> %4252)
  store <2 x float> %4255, ptr %9, align 8, !tbaa !13
  %4256 = getelementptr inbounds i8, ptr %3, i64 32
  %4257 = load <2 x float>, ptr %4256, align 4, !tbaa !13
  store <2 x float> %4257, ptr %16, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %16) #5
  %4258 = load float, ptr %4, align 4, !tbaa !9
  %4259 = load float, ptr %4206, align 4, !tbaa !12
  %4260 = fneg float %4259
  %4261 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4262 = insertelement <2 x float> poison, float %4259, i64 0
  %4263 = insertelement <2 x float> %4262, float %4260, i64 1
  %4264 = fmul <2 x float> %4261, %4263
  %4265 = shufflevector <2 x float> %4264, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4266 = insertelement <2 x float> poison, float %4258, i64 0
  %4267 = shufflevector <2 x float> %4266, <2 x float> poison, <2 x i32> zeroinitializer
  %4268 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4267, <2 x float> %4261, <2 x float> %4265)
  store <2 x float> %4268, ptr %9, align 8, !tbaa !13
  %4269 = getelementptr inbounds i8, ptr %3, i64 40
  %4270 = load <2 x float>, ptr %4269, align 4, !tbaa !13
  store <2 x float> %4270, ptr %17, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %17) #5
  %4271 = load float, ptr %4, align 4, !tbaa !9
  %4272 = load float, ptr %4206, align 4, !tbaa !12
  %4273 = fneg float %4272
  %4274 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4275 = insertelement <2 x float> poison, float %4272, i64 0
  %4276 = insertelement <2 x float> %4275, float %4273, i64 1
  %4277 = fmul <2 x float> %4274, %4276
  %4278 = shufflevector <2 x float> %4277, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4279 = insertelement <2 x float> poison, float %4271, i64 0
  %4280 = shufflevector <2 x float> %4279, <2 x float> poison, <2 x i32> zeroinitializer
  %4281 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4280, <2 x float> %4274, <2 x float> %4278)
  store <2 x float> %4281, ptr %9, align 8, !tbaa !13
  %4282 = getelementptr inbounds i8, ptr %3, i64 48
  %4283 = load <2 x float>, ptr %4282, align 4, !tbaa !13
  store <2 x float> %4283, ptr %18, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %18) #5
  %4284 = load float, ptr %4, align 4, !tbaa !9
  %4285 = load float, ptr %4206, align 4, !tbaa !12
  %4286 = fneg float %4285
  %4287 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4288 = insertelement <2 x float> poison, float %4285, i64 0
  %4289 = insertelement <2 x float> %4288, float %4286, i64 1
  %4290 = fmul <2 x float> %4287, %4289
  %4291 = shufflevector <2 x float> %4290, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4292 = insertelement <2 x float> poison, float %4284, i64 0
  %4293 = shufflevector <2 x float> %4292, <2 x float> poison, <2 x i32> zeroinitializer
  %4294 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4293, <2 x float> %4287, <2 x float> %4291)
  store <2 x float> %4294, ptr %9, align 8, !tbaa !13
  %4295 = getelementptr inbounds i8, ptr %3, i64 56
  %4296 = load <2 x float>, ptr %4295, align 4, !tbaa !13
  store <2 x float> %4296, ptr %19, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %19) #5
  %4297 = load float, ptr %4, align 4, !tbaa !9
  %4298 = load float, ptr %4206, align 4, !tbaa !12
  %4299 = fneg float %4298
  %4300 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4301 = insertelement <2 x float> poison, float %4298, i64 0
  %4302 = insertelement <2 x float> %4301, float %4299, i64 1
  %4303 = fmul <2 x float> %4300, %4302
  %4304 = shufflevector <2 x float> %4303, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4305 = insertelement <2 x float> poison, float %4297, i64 0
  %4306 = shufflevector <2 x float> %4305, <2 x float> poison, <2 x i32> zeroinitializer
  %4307 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4306, <2 x float> %4300, <2 x float> %4304)
  store <2 x float> %4307, ptr %9, align 8, !tbaa !13
  %4308 = getelementptr inbounds i8, ptr %3, i64 64
  %4309 = load <2 x float>, ptr %4308, align 4, !tbaa !13
  store <2 x float> %4309, ptr %20, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %20) #5
  %4310 = load float, ptr %4, align 4, !tbaa !9
  %4311 = load float, ptr %4206, 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 72
  %4322 = load <2 x float>, ptr %4321, align 4, !tbaa !13
  store <2 x float> %4322, ptr %21, align 8, !tbaa !13
  call void @r_cnjg(ptr noundef nonnull %10, ptr noundef nonnull %21) #5
  %4323 = load float, ptr %4, align 4, !tbaa !9
  %4324 = load float, ptr %4206, align 4, !tbaa !12
  %4325 = fneg float %4324
  %4326 = load <2 x float>, ptr %10, align 8, !tbaa !13
  %4327 = insertelement <2 x float> poison, float %4324, i64 0
  %4328 = insertelement <2 x float> %4327, float %4325, i64 1
  %4329 = fmul <2 x float> %4326, %4328
  %4330 = shufflevector <2 x float> %4329, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4331 = insertelement <2 x float> poison, float %4323, i64 0
  %4332 = shufflevector <2 x float> %4331, <2 x float> poison, <2 x i32> zeroinitializer
  %4333 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4332, <2 x float> %4326, <2 x float> %4330)
  %4334 = load i64, ptr %1, align 8, !tbaa !5
  %.not42844485 = icmp slt i64 %4334, 1
  br i1 %.not42844485, label %.loopexit, label %.lr.ph4487

.lr.ph4487:                                       ; preds = %4203
  %4335 = getelementptr inbounds i8, ptr %21, i64 4
  %4336 = getelementptr inbounds i8, ptr %20, i64 4
  %4337 = getelementptr inbounds i8, ptr %19, i64 4
  %4338 = getelementptr inbounds i8, ptr %18, i64 4
  %4339 = getelementptr inbounds i8, ptr %17, i64 4
  %4340 = getelementptr inbounds i8, ptr %16, i64 4
  %4341 = getelementptr inbounds i8, ptr %15, i64 4
  %4342 = getelementptr inbounds i8, ptr %14, i64 4
  %4343 = getelementptr inbounds i8, ptr %13, i64 4
  %4344 = getelementptr inbounds i8, ptr %12, i64 4
  %4345 = load float, ptr %12, align 8, !tbaa !9
  %4346 = load float, ptr %4344, align 4, !tbaa !12
  %4347 = load float, ptr %13, align 8, !tbaa !9
  %.idx = shl i64 %22, 4
  %4348 = load float, ptr %4343, align 4, !tbaa !12
  %4349 = insertelement <2 x float> poison, float %4346, i64 0
  %4350 = insertelement <2 x float> %4349, float %4348, i64 1
  %4351 = fneg <2 x float> %4350
  %4352 = load float, ptr %14, align 8, !tbaa !9
  %.idx4285 = mul i64 %22, 24
  %4353 = load float, ptr %4342, align 4, !tbaa !12
  %4354 = fneg float %4353
  %4355 = load float, ptr %15, align 8, !tbaa !9
  %.idx4286 = shl i64 %22, 5
  %4356 = load float, ptr %4341, align 4, !tbaa !12
  %4357 = fneg float %4356
  %4358 = load float, ptr %16, align 8, !tbaa !9
  %.idx4287 = mul i64 %22, 40
  %4359 = load float, ptr %4340, align 4, !tbaa !12
  %4360 = fneg float %4359
  %4361 = load float, ptr %17, align 8, !tbaa !9
  %.idx4288 = mul i64 %22, 48
  %4362 = load float, ptr %4339, align 4, !tbaa !12
  %4363 = fneg float %4362
  %4364 = load float, ptr %18, align 8, !tbaa !9
  %.idx4289 = mul i64 %22, 56
  %4365 = load float, ptr %4338, align 4, !tbaa !12
  %4366 = fneg float %4365
  %4367 = load float, ptr %19, align 8, !tbaa !9
  %.idx4290 = shl i64 %22, 6
  %4368 = load float, ptr %4337, align 4, !tbaa !12
  %4369 = fneg float %4368
  %4370 = load float, ptr %20, align 8, !tbaa !9
  %.idx4291 = mul i64 %22, 72
  %4371 = load float, ptr %4336, align 4, !tbaa !12
  %4372 = fneg float %4371
  %4373 = load float, ptr %21, align 8, !tbaa !9
  %.idx4292 = mul i64 %22, 80
  %4374 = load float, ptr %4335, align 4, !tbaa !12
  %4375 = fneg float %4374
  %4376 = insertelement <2 x float> poison, float %4345, i64 0
  %4377 = insertelement <2 x float> %4376, float %4347, i64 1
  br label %4378

4378:                                             ; preds = %.lr.ph4487, %4378
  %.194486 = phi i64 [ 1, %.lr.ph4487 ], [ %4535, %4378 ]
  %4379 = getelementptr %struct.complex, ptr %24, i64 %.194486
  %4380 = getelementptr %struct.complex, ptr %4379, i64 %22
  %4381 = load float, ptr %4380, align 4, !tbaa !9
  %4382 = getelementptr inbounds i8, ptr %4380, i64 4
  %4383 = load float, ptr %4382, align 4, !tbaa !12
  %4384 = getelementptr i8, ptr %4379, i64 %.idx
  %4385 = load float, ptr %4384, align 4, !tbaa !9
  %4386 = getelementptr inbounds i8, ptr %4384, i64 4
  %4387 = load float, ptr %4386, align 4, !tbaa !12
  %4388 = insertelement <2 x float> poison, float %4383, i64 0
  %4389 = insertelement <2 x float> %4388, float %4387, i64 1
  %4390 = fmul <2 x float> %4389, %4351
  %4391 = insertelement <2 x float> poison, float %4381, i64 0
  %4392 = insertelement <2 x float> %4391, float %4385, i64 1
  %4393 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4377, <2 x float> %4392, <2 x float> %4390)
  %4394 = fmul <2 x float> %4392, %4350
  %4395 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4377, <2 x float> %4389, <2 x float> %4394)
  %shift6528 = shufflevector <2 x float> %4393, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %4396 = fadd <2 x float> %4393, %shift6528
  %4397 = extractelement <2 x float> %4396, i64 0
  %shift6529 = shufflevector <2 x float> %4395, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %4398 = fadd <2 x float> %4395, %shift6529
  %4399 = extractelement <2 x float> %4398, i64 0
  %4400 = getelementptr i8, ptr %4379, i64 %.idx4285
  %4401 = load float, ptr %4400, align 4, !tbaa !9
  %4402 = getelementptr inbounds i8, ptr %4400, i64 4
  %4403 = load float, ptr %4402, align 4, !tbaa !12
  %4404 = fmul float %4403, %4354
  %4405 = call float @llvm.fmuladd.f32(float %4352, float %4401, float %4404)
  %4406 = fmul float %4401, %4353
  %4407 = call float @llvm.fmuladd.f32(float %4352, float %4403, float %4406)
  %4408 = fadd float %4397, %4405
  %4409 = fadd float %4399, %4407
  %4410 = getelementptr i8, ptr %4379, i64 %.idx4286
  %4411 = load float, ptr %4410, align 4, !tbaa !9
  %4412 = getelementptr inbounds i8, ptr %4410, i64 4
  %4413 = load float, ptr %4412, align 4, !tbaa !12
  %4414 = fmul float %4413, %4357
  %4415 = call float @llvm.fmuladd.f32(float %4355, float %4411, float %4414)
  %4416 = fmul float %4411, %4356
  %4417 = call float @llvm.fmuladd.f32(float %4355, float %4413, float %4416)
  %4418 = fadd float %4408, %4415
  %4419 = fadd float %4409, %4417
  %4420 = getelementptr i8, ptr %4379, i64 %.idx4287
  %4421 = load float, ptr %4420, align 4, !tbaa !9
  %4422 = getelementptr inbounds i8, ptr %4420, i64 4
  %4423 = load float, ptr %4422, align 4, !tbaa !12
  %4424 = fmul float %4423, %4360
  %4425 = call float @llvm.fmuladd.f32(float %4358, float %4421, float %4424)
  %4426 = fmul float %4421, %4359
  %4427 = call float @llvm.fmuladd.f32(float %4358, float %4423, float %4426)
  %4428 = fadd float %4418, %4425
  %4429 = fadd float %4419, %4427
  %4430 = getelementptr i8, ptr %4379, i64 %.idx4288
  %4431 = load float, ptr %4430, align 4, !tbaa !9
  %4432 = getelementptr inbounds i8, ptr %4430, i64 4
  %4433 = load float, ptr %4432, align 4, !tbaa !12
  %4434 = fmul float %4433, %4363
  %4435 = call float @llvm.fmuladd.f32(float %4361, float %4431, float %4434)
  %4436 = fmul float %4431, %4362
  %4437 = call float @llvm.fmuladd.f32(float %4361, float %4433, float %4436)
  %4438 = fadd float %4428, %4435
  %4439 = fadd float %4429, %4437
  %4440 = getelementptr i8, ptr %4379, i64 %.idx4289
  %4441 = load float, ptr %4440, align 4, !tbaa !9
  %4442 = getelementptr inbounds i8, ptr %4440, i64 4
  %4443 = load float, ptr %4442, align 4, !tbaa !12
  %4444 = fmul float %4443, %4366
  %4445 = call float @llvm.fmuladd.f32(float %4364, float %4441, float %4444)
  %4446 = fmul float %4441, %4365
  %4447 = call float @llvm.fmuladd.f32(float %4364, float %4443, float %4446)
  %4448 = fadd float %4438, %4445
  %4449 = fadd float %4439, %4447
  %4450 = getelementptr i8, ptr %4379, i64 %.idx4290
  %4451 = load float, ptr %4450, align 4, !tbaa !9
  %4452 = getelementptr inbounds i8, ptr %4450, i64 4
  %4453 = load float, ptr %4452, align 4, !tbaa !12
  %4454 = fmul float %4453, %4369
  %4455 = call float @llvm.fmuladd.f32(float %4367, float %4451, float %4454)
  %4456 = fmul float %4451, %4368
  %4457 = call float @llvm.fmuladd.f32(float %4367, float %4453, float %4456)
  %4458 = fadd float %4448, %4455
  %4459 = fadd float %4449, %4457
  %4460 = getelementptr i8, ptr %4379, i64 %.idx4291
  %4461 = load float, ptr %4460, align 4, !tbaa !9
  %4462 = getelementptr inbounds i8, ptr %4460, i64 4
  %4463 = load float, ptr %4462, align 4, !tbaa !12
  %4464 = fmul float %4463, %4372
  %4465 = call float @llvm.fmuladd.f32(float %4370, float %4461, float %4464)
  %4466 = fmul float %4461, %4371
  %4467 = call float @llvm.fmuladd.f32(float %4370, float %4463, float %4466)
  %4468 = fadd float %4458, %4465
  %4469 = fadd float %4459, %4467
  %4470 = getelementptr i8, ptr %4379, i64 %.idx4292
  %4471 = load float, ptr %4470, align 4, !tbaa !9
  %4472 = getelementptr inbounds i8, ptr %4470, i64 4
  %4473 = load float, ptr %4472, align 4, !tbaa !12
  %4474 = fmul float %4473, %4375
  %4475 = call float @llvm.fmuladd.f32(float %4373, float %4471, float %4474)
  %4476 = fmul float %4471, %4374
  %4477 = call float @llvm.fmuladd.f32(float %4373, float %4473, float %4476)
  %4478 = fadd float %4468, %4475
  %4479 = fadd float %4477, %4469
  %4480 = fneg float %4479
  %4481 = insertelement <2 x float> poison, float %4479, i64 0
  %4482 = insertelement <2 x float> %4481, float %4480, i64 1
  %4483 = fmul <2 x float> %4216, %4482
  %4484 = shufflevector <2 x float> %4483, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4485 = insertelement <2 x float> poison, float %4478, i64 0
  %4486 = shufflevector <2 x float> %4485, <2 x float> poison, <2 x i32> zeroinitializer
  %4487 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4216, <2 x float> %4484)
  %4488 = load <2 x float>, ptr %4380, align 4, !tbaa !13
  %4489 = fsub <2 x float> %4488, %4487
  store <2 x float> %4489, ptr %4380, align 4, !tbaa !13
  %4490 = fmul <2 x float> %4229, %4482
  %4491 = shufflevector <2 x float> %4490, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4492 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4229, <2 x float> %4491)
  %4493 = load <2 x float>, ptr %4384, align 4, !tbaa !13
  %4494 = fsub <2 x float> %4493, %4492
  store <2 x float> %4494, ptr %4384, align 4, !tbaa !13
  %4495 = fmul <2 x float> %4242, %4482
  %4496 = shufflevector <2 x float> %4495, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4497 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4242, <2 x float> %4496)
  %4498 = load <2 x float>, ptr %4400, align 4, !tbaa !13
  %4499 = fsub <2 x float> %4498, %4497
  store <2 x float> %4499, ptr %4400, align 4, !tbaa !13
  %4500 = fmul <2 x float> %4255, %4482
  %4501 = shufflevector <2 x float> %4500, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4502 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4255, <2 x float> %4501)
  %4503 = load <2 x float>, ptr %4410, align 4, !tbaa !13
  %4504 = fsub <2 x float> %4503, %4502
  store <2 x float> %4504, ptr %4410, align 4, !tbaa !13
  %4505 = fmul <2 x float> %4268, %4482
  %4506 = shufflevector <2 x float> %4505, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4507 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4268, <2 x float> %4506)
  %4508 = load <2 x float>, ptr %4420, align 4, !tbaa !13
  %4509 = fsub <2 x float> %4508, %4507
  store <2 x float> %4509, ptr %4420, align 4, !tbaa !13
  %4510 = fmul <2 x float> %4281, %4482
  %4511 = shufflevector <2 x float> %4510, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4512 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4281, <2 x float> %4511)
  %4513 = load <2 x float>, ptr %4430, align 4, !tbaa !13
  %4514 = fsub <2 x float> %4513, %4512
  store <2 x float> %4514, ptr %4430, align 4, !tbaa !13
  %4515 = fmul <2 x float> %4294, %4482
  %4516 = shufflevector <2 x float> %4515, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4517 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4294, <2 x float> %4516)
  %4518 = load <2 x float>, ptr %4440, align 4, !tbaa !13
  %4519 = fsub <2 x float> %4518, %4517
  store <2 x float> %4519, ptr %4440, align 4, !tbaa !13
  %4520 = fmul <2 x float> %4307, %4482
  %4521 = shufflevector <2 x float> %4520, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4522 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4307, <2 x float> %4521)
  %4523 = load <2 x float>, ptr %4450, align 4, !tbaa !13
  %4524 = fsub <2 x float> %4523, %4522
  store <2 x float> %4524, ptr %4450, align 4, !tbaa !13
  %4525 = fmul <2 x float> %4320, %4482
  %4526 = shufflevector <2 x float> %4525, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4527 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4320, <2 x float> %4526)
  %4528 = load <2 x float>, ptr %4460, align 4, !tbaa !13
  %4529 = fsub <2 x float> %4528, %4527
  store <2 x float> %4529, ptr %4460, align 4, !tbaa !13
  %4530 = fmul <2 x float> %4333, %4482
  %4531 = shufflevector <2 x float> %4530, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4532 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %4486, <2 x float> %4333, <2 x float> %4531)
  %4533 = load <2 x float>, ptr %4470, align 4, !tbaa !13
  %4534 = fsub <2 x float> %4533, %4532
  store <2 x float> %4534, ptr %4470, align 4, !tbaa !13
  %4535 = add nuw i64 %.194486, 1
  %exitcond4702.not = icmp eq i64 %.194486, %4334
  br i1 %exitcond4702.not, label %.loopexit, label %4378, !llvm.loop !44

.loopexit.loopexit6539.unr-lcssa:                 ; preds = %66, %.lr.ph4478
  %.04477.unr = phi i64 [ 1, %.lr.ph4478 ], [ %78, %66 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.loopexit, label %.loopexit.loopexit6539.epilog-lcssa

.loopexit.loopexit6539.epilog-lcssa:              ; preds = %.loopexit.loopexit6539.unr-lcssa
  %4536 = mul nsw i64 %.04477.unr, %22
  %4537 = getelementptr %struct.complex, ptr %24, i64 %4536
  %4538 = getelementptr i8, ptr %4537, i64 8
  %4539 = load <2 x float>, ptr %4538, align 4, !tbaa !13
  %4540 = fmul <2 x float> %4539, %64
  %4541 = shufflevector <2 x float> %4540, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %4542 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %62, <2 x float> %4539, <2 x float> %4541)
  store <2 x float> %4542, ptr %4538, align 4, !tbaa !13
  br label %.loopexit

.loopexit:                                        ; preds = %1664, %1364, %1102, %861, %658, %476, %332, %209, %125, %.loopexit.loopexit6539.epilog-lcssa, %.loopexit.loopexit6539.unr-lcssa, %4378, %4063, %scalar.ph, %scalar.ph5420, %scalar.ph5740, %scalar.ph5991, %scalar.ph6181, %scalar.ph6318, %scalar.ph6410, %scalar.ph6462.prol.loopexit, %scalar.ph6462, %middle.block, %middle.block5419, %middle.block5739, %middle.block5990, %middle.block6180, %middle.block6317, %middle.block6409, %middle.block6461, %1470, %1190, %946, %725, %540, %378, %252, %149, %4203, %3908, %3445, %3044, %2697, %2404, %2165, %1985, %79, %37, %1863, %1798, %35, %1796, %27
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #5
  ret i32 0
}

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

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

declare i32 @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

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

; 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>) #4

; 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>) #4

attributes #0 = { 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 #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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { 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 = !{!"long", !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, !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,PostOrderFunctionAttrsPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass