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

; 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
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [10 x i8], align 1
@c__1 = external hidden global i32, align 4
@c_b36 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local void @clatbs_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11) #0 {
  %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 ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca float, align 4
  %33 = alloca float, align 4
  %34 = alloca float, align 4
  %35 = alloca float, 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 i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca float, align 4
  %43 = alloca i32, align 4
  %44 = alloca float, align 4
  %45 = alloca %struct.complex, align 4
  %46 = alloca float, align 4
  %47 = alloca float, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca float, align 4
  %52 = alloca %struct.complex, align 4
  %53 = alloca i32, align 4
  %54 = alloca %struct.complex, align 4
  %55 = alloca i32, align 4
  %56 = alloca float, align 4
  %57 = alloca float, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca float, align 4
  %61 = alloca i32, align 4
  %62 = alloca float, align 4
  %63 = alloca float, align 4
  %64 = alloca i32, align 4
  %65 = alloca { float, float }, align 4
  %66 = alloca { float, float }, align 4
  %67 = alloca { float, float }, align 4
  %68 = alloca { float, float }, align 4
  %69 = alloca { float, float }, align 4
  %70 = alloca { float, float }, align 4
  %71 = alloca { float, float }, align 4
  %72 = alloca { float, float }, align 4
  %73 = alloca { float, float }, align 4
  %74 = alloca { float, float }, align 4
  %75 = alloca { float, float }, align 4
  %76 = alloca { float, float }, align 4
  %77 = alloca { float, float }, align 4
  %78 = alloca { float, float }, align 4
  %79 = alloca { float, float }, align 4
  %80 = alloca { float, float }, align 4
  %81 = alloca { float, float }, align 4
  %82 = alloca { float, float }, align 4
  %83 = alloca { float, float }, align 4
  %84 = alloca { float, float }, align 4
  %85 = alloca { float, float }, align 4
  %86 = alloca { float, float }, align 4
  %87 = alloca { float, float }, align 4
  store ptr %0, ptr %13, align 8, !tbaa !5
  store ptr %1, ptr %14, align 8, !tbaa !5
  store ptr %2, ptr %15, align 8, !tbaa !5
  store ptr %3, ptr %16, align 8, !tbaa !5
  store ptr %4, ptr %17, align 8, !tbaa !5
  store ptr %5, ptr %18, align 8, !tbaa !5
  store ptr %6, ptr %19, align 8, !tbaa !5
  store ptr %7, ptr %20, align 8, !tbaa !5
  store ptr %8, ptr %21, align 8, !tbaa !5
  store ptr %9, ptr %22, align 8, !tbaa !5
  store ptr %10, ptr %23, align 8, !tbaa !5
  store ptr %11, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #6
  %88 = load ptr, ptr %20, align 8, !tbaa !5
  %89 = load i32, ptr %88, align 4, !tbaa !9
  store i32 %89, ptr %25, align 4, !tbaa !9
  %90 = load i32, ptr %25, align 4, !tbaa !9
  %91 = mul nsw i32 %90, 1
  %92 = add nsw i32 1, %91
  store i32 %92, ptr %26, align 4, !tbaa !9
  %93 = load i32, ptr %26, align 4, !tbaa !9
  %94 = load ptr, ptr %19, align 8, !tbaa !5
  %95 = sext i32 %93 to i64
  %96 = sub i64 0, %95
  %97 = getelementptr inbounds %struct.complex, ptr %94, i64 %96
  store ptr %97, ptr %19, align 8, !tbaa !5
  %98 = load ptr, ptr %21, align 8, !tbaa !5
  %99 = getelementptr inbounds %struct.complex, ptr %98, i32 -1
  store ptr %99, ptr %21, align 8, !tbaa !5
  %100 = load ptr, ptr %23, align 8, !tbaa !5
  %101 = getelementptr inbounds float, ptr %100, i32 -1
  store ptr %101, ptr %23, align 8, !tbaa !5
  %102 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 0, ptr %102, align 4, !tbaa !9
  %103 = load ptr, ptr %13, align 8, !tbaa !5
  %104 = call i32 @lsame_(ptr noundef %103, ptr noundef @.str)
  store i32 %104, ptr %55, align 4, !tbaa !9
  %105 = load ptr, ptr %14, align 8, !tbaa !5
  %106 = call i32 @lsame_(ptr noundef %105, ptr noundef @.str.1)
  store i32 %106, ptr %58, align 4, !tbaa !9
  %107 = load ptr, ptr %15, align 8, !tbaa !5
  %108 = call i32 @lsame_(ptr noundef %107, ptr noundef @.str.1)
  store i32 %108, ptr %61, align 4, !tbaa !9
  %109 = load i32, ptr %55, align 4, !tbaa !9
  %110 = icmp ne i32 %109, 0
  br i1 %110, label %117, label %111

111:                                              ; preds = %12
  %112 = load ptr, ptr %13, align 8, !tbaa !5
  %113 = call i32 @lsame_(ptr noundef %112, ptr noundef @.str.2)
  %114 = icmp ne i32 %113, 0
  br i1 %114, label %117, label %115

115:                                              ; preds = %111
  %116 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 -1, ptr %116, align 4, !tbaa !9
  br label %176

117:                                              ; preds = %111, %12
  %118 = load i32, ptr %58, align 4, !tbaa !9
  %119 = icmp ne i32 %118, 0
  br i1 %119, label %130, label %120

120:                                              ; preds = %117
  %121 = load ptr, ptr %14, align 8, !tbaa !5
  %122 = call i32 @lsame_(ptr noundef %121, ptr noundef @.str.3)
  %123 = icmp ne i32 %122, 0
  br i1 %123, label %130, label %124

124:                                              ; preds = %120
  %125 = load ptr, ptr %14, align 8, !tbaa !5
  %126 = call i32 @lsame_(ptr noundef %125, ptr noundef @.str.4)
  %127 = icmp ne i32 %126, 0
  br i1 %127, label %130, label %128

128:                                              ; preds = %124
  %129 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 -2, ptr %129, align 4, !tbaa !9
  br label %175

130:                                              ; preds = %124, %120, %117
  %131 = load i32, ptr %61, align 4, !tbaa !9
  %132 = icmp ne i32 %131, 0
  br i1 %132, label %139, label %133

133:                                              ; preds = %130
  %134 = load ptr, ptr %15, align 8, !tbaa !5
  %135 = call i32 @lsame_(ptr noundef %134, ptr noundef @.str)
  %136 = icmp ne i32 %135, 0
  br i1 %136, label %139, label %137

137:                                              ; preds = %133
  %138 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 -3, ptr %138, align 4, !tbaa !9
  br label %174

139:                                              ; preds = %133, %130
  %140 = load ptr, ptr %16, align 8, !tbaa !5
  %141 = call i32 @lsame_(ptr noundef %140, ptr noundef @.str.5)
  %142 = icmp ne i32 %141, 0
  br i1 %142, label %149, label %143

143:                                              ; preds = %139
  %144 = load ptr, ptr %16, align 8, !tbaa !5
  %145 = call i32 @lsame_(ptr noundef %144, ptr noundef @.str.1)
  %146 = icmp ne i32 %145, 0
  br i1 %146, label %149, label %147

147:                                              ; preds = %143
  %148 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 -4, ptr %148, align 4, !tbaa !9
  br label %173

149:                                              ; preds = %143, %139
  %150 = load ptr, ptr %17, align 8, !tbaa !5
  %151 = load i32, ptr %150, align 4, !tbaa !9
  %152 = icmp slt i32 %151, 0
  br i1 %152, label %153, label %155

153:                                              ; preds = %149
  %154 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 -5, ptr %154, align 4, !tbaa !9
  br label %172

155:                                              ; preds = %149
  %156 = load ptr, ptr %18, align 8, !tbaa !5
  %157 = load i32, ptr %156, align 4, !tbaa !9
  %158 = icmp slt i32 %157, 0
  br i1 %158, label %159, label %161

159:                                              ; preds = %155
  %160 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 -6, ptr %160, align 4, !tbaa !9
  br label %171

161:                                              ; preds = %155
  %162 = load ptr, ptr %20, align 8, !tbaa !5
  %163 = load i32, ptr %162, align 4, !tbaa !9
  %164 = load ptr, ptr %18, align 8, !tbaa !5
  %165 = load i32, ptr %164, align 4, !tbaa !9
  %166 = add nsw i32 %165, 1
  %167 = icmp slt i32 %163, %166
  br i1 %167, label %168, label %170

168:                                              ; preds = %161
  %169 = load ptr, ptr %24, align 8, !tbaa !5
  store i32 -8, ptr %169, align 4, !tbaa !9
  br label %170

170:                                              ; preds = %168, %161
  br label %171

171:                                              ; preds = %170, %159
  br label %172

172:                                              ; preds = %171, %153
  br label %173

173:                                              ; preds = %172, %147
  br label %174

174:                                              ; preds = %173, %137
  br label %175

175:                                              ; preds = %174, %128
  br label %176

176:                                              ; preds = %175, %115
  %177 = load ptr, ptr %24, align 8, !tbaa !5
  %178 = load i32, ptr %177, align 4, !tbaa !9
  %179 = icmp ne i32 %178, 0
  br i1 %179, label %180, label %185

180:                                              ; preds = %176
  %181 = load ptr, ptr %24, align 8, !tbaa !5
  %182 = load i32, ptr %181, align 4, !tbaa !9
  %183 = sub nsw i32 0, %182
  store i32 %183, ptr %27, align 4, !tbaa !9
  %184 = call i32 @xerbla_(ptr noundef @.str.6, ptr noundef %27, i32 noundef 6)
  store i32 1, ptr %64, align 4
  br label %3292

185:                                              ; preds = %176
  %186 = load ptr, ptr %17, align 8, !tbaa !5
  %187 = load i32, ptr %186, align 4, !tbaa !9
  %188 = icmp eq i32 %187, 0
  br i1 %188, label %189, label %190

189:                                              ; preds = %185
  store i32 1, ptr %64, align 4
  br label %3292

190:                                              ; preds = %185
  %191 = call float @slamch_(ptr noundef @.str.7)
  store float %191, ptr %60, align 4, !tbaa !11
  %192 = load float, ptr %60, align 4, !tbaa !11
  %193 = fdiv float 1.000000e+00, %192
  store float %193, ptr %57, align 4, !tbaa !11
  call void @slabad_(ptr noundef %60, ptr noundef %57)
  %194 = call float @slamch_(ptr noundef @.str.8)
  %195 = load float, ptr %60, align 4, !tbaa !11
  %196 = fdiv float %195, %194
  store float %196, ptr %60, align 4, !tbaa !11
  %197 = load float, ptr %60, align 4, !tbaa !11
  %198 = fdiv float 1.000000e+00, %197
  store float %198, ptr %57, align 4, !tbaa !11
  %199 = load ptr, ptr %22, align 8, !tbaa !5
  store float 1.000000e+00, ptr %199, align 4, !tbaa !11
  %200 = load ptr, ptr %16, align 8, !tbaa !5
  %201 = call i32 @lsame_(ptr noundef %200, ptr noundef @.str.1)
  %202 = icmp ne i32 %201, 0
  br i1 %202, label %203, label %297

203:                                              ; preds = %190
  %204 = load i32, ptr %55, align 4, !tbaa !9
  %205 = icmp ne i32 %204, 0
  br i1 %205, label %206, label %248

206:                                              ; preds = %203
  %207 = load ptr, ptr %17, align 8, !tbaa !5
  %208 = load i32, ptr %207, align 4, !tbaa !9
  store i32 %208, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %209

209:                                              ; preds = %244, %206
  %210 = load i32, ptr %49, align 4, !tbaa !9
  %211 = load i32, ptr %27, align 4, !tbaa !9
  %212 = icmp sle i32 %210, %211
  br i1 %212, label %213, label %247

213:                                              ; preds = %209
  %214 = load ptr, ptr %18, align 8, !tbaa !5
  %215 = load i32, ptr %214, align 4, !tbaa !9
  store i32 %215, ptr %28, align 4, !tbaa !9
  %216 = load i32, ptr %49, align 4, !tbaa !9
  %217 = sub nsw i32 %216, 1
  store i32 %217, ptr %29, align 4, !tbaa !9
  %218 = load i32, ptr %28, align 4, !tbaa !9
  %219 = load i32, ptr %29, align 4, !tbaa !9
  %220 = icmp sle i32 %218, %219
  br i1 %220, label %221, label %223

221:                                              ; preds = %213
  %222 = load i32, ptr %28, align 4, !tbaa !9
  br label %225

223:                                              ; preds = %213
  %224 = load i32, ptr %29, align 4, !tbaa !9
  br label %225

225:                                              ; preds = %223, %221
  %226 = phi i32 [ %222, %221 ], [ %224, %223 ]
  store i32 %226, ptr %41, align 4, !tbaa !9
  %227 = load ptr, ptr %19, align 8, !tbaa !5
  %228 = load ptr, ptr %18, align 8, !tbaa !5
  %229 = load i32, ptr %228, align 4, !tbaa !9
  %230 = add nsw i32 %229, 1
  %231 = load i32, ptr %41, align 4, !tbaa !9
  %232 = sub nsw i32 %230, %231
  %233 = load i32, ptr %49, align 4, !tbaa !9
  %234 = load i32, ptr %25, align 4, !tbaa !9
  %235 = mul nsw i32 %233, %234
  %236 = add nsw i32 %232, %235
  %237 = sext i32 %236 to i64
  %238 = getelementptr inbounds %struct.complex, ptr %227, i64 %237
  %239 = call float @scasum_(ptr noundef %41, ptr noundef %238, ptr noundef @c__1)
  %240 = load ptr, ptr %23, align 8, !tbaa !5
  %241 = load i32, ptr %49, align 4, !tbaa !9
  %242 = sext i32 %241 to i64
  %243 = getelementptr inbounds float, ptr %240, i64 %242
  store float %239, ptr %243, align 4, !tbaa !11
  br label %244

244:                                              ; preds = %225
  %245 = load i32, ptr %49, align 4, !tbaa !9
  %246 = add nsw i32 %245, 1
  store i32 %246, ptr %49, align 4, !tbaa !9
  br label %209, !llvm.loop !13

247:                                              ; preds = %209
  br label %296

248:                                              ; preds = %203
  %249 = load ptr, ptr %17, align 8, !tbaa !5
  %250 = load i32, ptr %249, align 4, !tbaa !9
  store i32 %250, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %251

251:                                              ; preds = %292, %248
  %252 = load i32, ptr %49, align 4, !tbaa !9
  %253 = load i32, ptr %27, align 4, !tbaa !9
  %254 = icmp sle i32 %252, %253
  br i1 %254, label %255, label %295

255:                                              ; preds = %251
  %256 = load ptr, ptr %18, align 8, !tbaa !5
  %257 = load i32, ptr %256, align 4, !tbaa !9
  store i32 %257, ptr %28, align 4, !tbaa !9
  %258 = load ptr, ptr %17, align 8, !tbaa !5
  %259 = load i32, ptr %258, align 4, !tbaa !9
  %260 = load i32, ptr %49, align 4, !tbaa !9
  %261 = sub nsw i32 %259, %260
  store i32 %261, ptr %29, align 4, !tbaa !9
  %262 = load i32, ptr %28, align 4, !tbaa !9
  %263 = load i32, ptr %29, align 4, !tbaa !9
  %264 = icmp sle i32 %262, %263
  br i1 %264, label %265, label %267

265:                                              ; preds = %255
  %266 = load i32, ptr %28, align 4, !tbaa !9
  br label %269

267:                                              ; preds = %255
  %268 = load i32, ptr %29, align 4, !tbaa !9
  br label %269

269:                                              ; preds = %267, %265
  %270 = phi i32 [ %266, %265 ], [ %268, %267 ]
  store i32 %270, ptr %41, align 4, !tbaa !9
  %271 = load i32, ptr %41, align 4, !tbaa !9
  %272 = icmp sgt i32 %271, 0
  br i1 %272, label %273, label %286

273:                                              ; preds = %269
  %274 = load ptr, ptr %19, align 8, !tbaa !5
  %275 = load i32, ptr %49, align 4, !tbaa !9
  %276 = load i32, ptr %25, align 4, !tbaa !9
  %277 = mul nsw i32 %275, %276
  %278 = add nsw i32 %277, 2
  %279 = sext i32 %278 to i64
  %280 = getelementptr inbounds %struct.complex, ptr %274, i64 %279
  %281 = call float @scasum_(ptr noundef %41, ptr noundef %280, ptr noundef @c__1)
  %282 = load ptr, ptr %23, align 8, !tbaa !5
  %283 = load i32, ptr %49, align 4, !tbaa !9
  %284 = sext i32 %283 to i64
  %285 = getelementptr inbounds float, ptr %282, i64 %284
  store float %281, ptr %285, align 4, !tbaa !11
  br label %291

286:                                              ; preds = %269
  %287 = load ptr, ptr %23, align 8, !tbaa !5
  %288 = load i32, ptr %49, align 4, !tbaa !9
  %289 = sext i32 %288 to i64
  %290 = getelementptr inbounds float, ptr %287, i64 %289
  store float 0.000000e+00, ptr %290, align 4, !tbaa !11
  br label %291

291:                                              ; preds = %286, %273
  br label %292

292:                                              ; preds = %291
  %293 = load i32, ptr %49, align 4, !tbaa !9
  %294 = add nsw i32 %293, 1
  store i32 %294, ptr %49, align 4, !tbaa !9
  br label %251, !llvm.loop !15

295:                                              ; preds = %251
  br label %296

296:                                              ; preds = %295, %247
  br label %297

297:                                              ; preds = %296, %190
  %298 = load ptr, ptr %17, align 8, !tbaa !5
  %299 = load ptr, ptr %23, align 8, !tbaa !5
  %300 = getelementptr inbounds float, ptr %299, i64 1
  %301 = call i32 @isamax_(ptr noundef %298, ptr noundef %300, ptr noundef @c__1)
  store i32 %301, ptr %43, align 4, !tbaa !9
  %302 = load ptr, ptr %23, align 8, !tbaa !5
  %303 = load i32, ptr %43, align 4, !tbaa !9
  %304 = sext i32 %303 to i64
  %305 = getelementptr inbounds float, ptr %302, i64 %304
  %306 = load float, ptr %305, align 4, !tbaa !11
  store float %306, ptr %44, align 4, !tbaa !11
  %307 = load float, ptr %44, align 4, !tbaa !11
  %308 = load float, ptr %57, align 4, !tbaa !11
  %309 = fmul float %308, 5.000000e-01
  %310 = fcmp ole float %307, %309
  br i1 %310, label %311, label %312

311:                                              ; preds = %297
  store float 1.000000e+00, ptr %51, align 4, !tbaa !11
  br label %320

312:                                              ; preds = %297
  %313 = load float, ptr %60, align 4, !tbaa !11
  %314 = load float, ptr %44, align 4, !tbaa !11
  %315 = fmul float %313, %314
  %316 = fdiv float 5.000000e-01, %315
  store float %316, ptr %51, align 4, !tbaa !11
  %317 = load ptr, ptr %17, align 8, !tbaa !5
  %318 = load ptr, ptr %23, align 8, !tbaa !5
  %319 = getelementptr inbounds float, ptr %318, i64 1
  call void @sscal_(ptr noundef %317, ptr noundef %51, ptr noundef %319, ptr noundef @c__1)
  br label %320

320:                                              ; preds = %312, %311
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  %321 = load ptr, ptr %17, align 8, !tbaa !5
  %322 = load i32, ptr %321, align 4, !tbaa !9
  store i32 %322, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %323

323:                                              ; preds = %375, %320
  %324 = load i32, ptr %49, align 4, !tbaa !9
  %325 = load i32, ptr %27, align 4, !tbaa !9
  %326 = icmp sle i32 %324, %325
  br i1 %326, label %327, label %378

327:                                              ; preds = %323
  %328 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %328, ptr %28, align 4, !tbaa !9
  %329 = load float, ptr %46, align 4, !tbaa !11
  store float %329, ptr %34, align 4, !tbaa !11
  %330 = load ptr, ptr %21, align 8, !tbaa !5
  %331 = load i32, ptr %28, align 4, !tbaa !9
  %332 = sext i32 %331 to i64
  %333 = getelementptr inbounds %struct.complex, ptr %330, i64 %332
  %334 = getelementptr inbounds %struct.complex, ptr %333, i32 0, i32 0
  %335 = load float, ptr %334, align 4, !tbaa !16
  %336 = fdiv float %335, 2.000000e+00
  store float %336, ptr %32, align 4, !tbaa !11
  %337 = load float, ptr %32, align 4, !tbaa !11
  %338 = fcmp oge float %337, 0.000000e+00
  br i1 %338, label %339, label %341

339:                                              ; preds = %327
  %340 = load float, ptr %32, align 4, !tbaa !11
  br label %344

341:                                              ; preds = %327
  %342 = load float, ptr %32, align 4, !tbaa !11
  %343 = fneg float %342
  br label %344

344:                                              ; preds = %341, %339
  %345 = phi float [ %340, %339 ], [ %343, %341 ]
  %346 = load ptr, ptr %21, align 8, !tbaa !5
  %347 = load i32, ptr %49, align 4, !tbaa !9
  %348 = sext i32 %347 to i64
  %349 = getelementptr inbounds %struct.complex, ptr %346, i64 %348
  %350 = call <2 x float> @Cf(ptr noundef %349)
  store <2 x float> %350, ptr %65, align 4
  %351 = getelementptr inbounds { float, float }, ptr %65, i32 0, i32 0
  %352 = load float, ptr %351, align 4
  %353 = getelementptr inbounds { float, float }, ptr %65, i32 0, i32 1
  %354 = load float, ptr %353, align 4
  %355 = fdiv float %354, 2.000000e+00
  store float %355, ptr %33, align 4, !tbaa !11
  %356 = load float, ptr %33, align 4, !tbaa !11
  %357 = fcmp oge float %356, 0.000000e+00
  br i1 %357, label %358, label %360

358:                                              ; preds = %344
  %359 = load float, ptr %33, align 4, !tbaa !11
  br label %363

360:                                              ; preds = %344
  %361 = load float, ptr %33, align 4, !tbaa !11
  %362 = fneg float %361
  br label %363

363:                                              ; preds = %360, %358
  %364 = phi float [ %359, %358 ], [ %362, %360 ]
  %365 = fadd float %345, %364
  store float %365, ptr %35, align 4, !tbaa !11
  %366 = load float, ptr %34, align 4, !tbaa !11
  %367 = load float, ptr %35, align 4, !tbaa !11
  %368 = fcmp oge float %366, %367
  br i1 %368, label %369, label %371

369:                                              ; preds = %363
  %370 = load float, ptr %34, align 4, !tbaa !11
  br label %373

371:                                              ; preds = %363
  %372 = load float, ptr %35, align 4, !tbaa !11
  br label %373

373:                                              ; preds = %371, %369
  %374 = phi float [ %370, %369 ], [ %372, %371 ]
  store float %374, ptr %46, align 4, !tbaa !11
  br label %375

375:                                              ; preds = %373
  %376 = load i32, ptr %49, align 4, !tbaa !9
  %377 = add nsw i32 %376, 1
  store i32 %377, ptr %49, align 4, !tbaa !9
  br label %323, !llvm.loop !18

378:                                              ; preds = %323
  %379 = load float, ptr %46, align 4, !tbaa !11
  store float %379, ptr %42, align 4, !tbaa !11
  %380 = load i32, ptr %58, align 4, !tbaa !9
  %381 = icmp ne i32 %380, 0
  br i1 %381, label %382, label %598

382:                                              ; preds = %378
  %383 = load i32, ptr %55, align 4, !tbaa !9
  %384 = icmp ne i32 %383, 0
  br i1 %384, label %385, label %391

385:                                              ; preds = %382
  %386 = load ptr, ptr %17, align 8, !tbaa !5
  %387 = load i32, ptr %386, align 4, !tbaa !9
  store i32 %387, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %53, align 4, !tbaa !9
  store i32 -1, ptr %40, align 4, !tbaa !9
  %388 = load ptr, ptr %18, align 8, !tbaa !5
  %389 = load i32, ptr %388, align 4, !tbaa !9
  %390 = add nsw i32 %389, 1
  store i32 %390, ptr %50, align 4, !tbaa !9
  br label %394

391:                                              ; preds = %382
  store i32 1, ptr %59, align 4, !tbaa !9
  %392 = load ptr, ptr %17, align 8, !tbaa !5
  %393 = load i32, ptr %392, align 4, !tbaa !9
  store i32 %393, ptr %53, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %394

394:                                              ; preds = %391, %385
  %395 = load float, ptr %51, align 4, !tbaa !11
  %396 = fcmp une float %395, 1.000000e+00
  br i1 %396, label %397, label %398

397:                                              ; preds = %394
  store float 0.000000e+00, ptr %47, align 4, !tbaa !11
  br label %597

398:                                              ; preds = %394
  %399 = load i32, ptr %61, align 4, !tbaa !9
  %400 = icmp ne i32 %399, 0
  br i1 %400, label %401, label %537

401:                                              ; preds = %398
  %402 = load float, ptr %42, align 4, !tbaa !11
  %403 = load float, ptr %60, align 4, !tbaa !11
  %404 = fcmp oge float %402, %403
  br i1 %404, label %405, label %407

405:                                              ; preds = %401
  %406 = load float, ptr %42, align 4, !tbaa !11
  br label %409

407:                                              ; preds = %401
  %408 = load float, ptr %60, align 4, !tbaa !11
  br label %409

409:                                              ; preds = %407, %405
  %410 = phi float [ %406, %405 ], [ %408, %407 ]
  %411 = fdiv float 5.000000e-01, %410
  store float %411, ptr %47, align 4, !tbaa !11
  %412 = load float, ptr %47, align 4, !tbaa !11
  store float %412, ptr %42, align 4, !tbaa !11
  %413 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %413, ptr %27, align 4, !tbaa !9
  %414 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %414, ptr %28, align 4, !tbaa !9
  %415 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %415, ptr %49, align 4, !tbaa !9
  br label %416

416:                                              ; preds = %531, %409
  %417 = load i32, ptr %28, align 4, !tbaa !9
  %418 = icmp slt i32 %417, 0
  br i1 %418, label %419, label %424

419:                                              ; preds = %416
  %420 = load i32, ptr %49, align 4, !tbaa !9
  %421 = load i32, ptr %27, align 4, !tbaa !9
  %422 = icmp sge i32 %420, %421
  %423 = zext i1 %422 to i32
  br label %429

424:                                              ; preds = %416
  %425 = load i32, ptr %49, align 4, !tbaa !9
  %426 = load i32, ptr %27, align 4, !tbaa !9
  %427 = icmp sle i32 %425, %426
  %428 = zext i1 %427 to i32
  br label %429

429:                                              ; preds = %424, %419
  %430 = phi i32 [ %423, %419 ], [ %428, %424 ]
  %431 = icmp ne i32 %430, 0
  br i1 %431, label %432, label %535

432:                                              ; preds = %429
  %433 = load float, ptr %47, align 4, !tbaa !11
  %434 = load float, ptr %60, align 4, !tbaa !11
  %435 = fcmp ole float %433, %434
  br i1 %435, label %436, label %437

436:                                              ; preds = %432
  br label %597

437:                                              ; preds = %432
  %438 = load i32, ptr %50, align 4, !tbaa !9
  %439 = load i32, ptr %49, align 4, !tbaa !9
  %440 = load i32, ptr %25, align 4, !tbaa !9
  %441 = mul nsw i32 %439, %440
  %442 = add nsw i32 %438, %441
  store i32 %442, ptr %29, align 4, !tbaa !9
  %443 = load ptr, ptr %19, align 8, !tbaa !5
  %444 = load i32, ptr %29, align 4, !tbaa !9
  %445 = sext i32 %444 to i64
  %446 = getelementptr inbounds %struct.complex, ptr %443, i64 %445
  %447 = getelementptr inbounds %struct.complex, ptr %446, i32 0, i32 0
  %448 = load float, ptr %447, align 4, !tbaa !16
  %449 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %448, ptr %449, align 4, !tbaa !16
  %450 = load ptr, ptr %19, align 8, !tbaa !5
  %451 = load i32, ptr %29, align 4, !tbaa !9
  %452 = sext i32 %451 to i64
  %453 = getelementptr inbounds %struct.complex, ptr %450, i64 %452
  %454 = getelementptr inbounds %struct.complex, ptr %453, i32 0, i32 1
  %455 = load float, ptr %454, align 4, !tbaa !19
  %456 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %455, ptr %456, align 4, !tbaa !19
  %457 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %458 = load float, ptr %457, align 4, !tbaa !16
  store float %458, ptr %32, align 4, !tbaa !11
  %459 = load float, ptr %32, align 4, !tbaa !11
  %460 = fcmp oge float %459, 0.000000e+00
  br i1 %460, label %461, label %463

461:                                              ; preds = %437
  %462 = load float, ptr %32, align 4, !tbaa !11
  br label %466

463:                                              ; preds = %437
  %464 = load float, ptr %32, align 4, !tbaa !11
  %465 = fneg float %464
  br label %466

466:                                              ; preds = %463, %461
  %467 = phi float [ %462, %461 ], [ %465, %463 ]
  %468 = call <2 x float> @Cf(ptr noundef %45)
  store <2 x float> %468, ptr %66, align 4
  %469 = getelementptr inbounds { float, float }, ptr %66, i32 0, i32 0
  %470 = load float, ptr %469, align 4
  %471 = getelementptr inbounds { float, float }, ptr %66, i32 0, i32 1
  %472 = load float, ptr %471, align 4
  store float %472, ptr %33, align 4, !tbaa !11
  %473 = load float, ptr %33, align 4, !tbaa !11
  %474 = fcmp oge float %473, 0.000000e+00
  br i1 %474, label %475, label %477

475:                                              ; preds = %466
  %476 = load float, ptr %33, align 4, !tbaa !11
  br label %480

477:                                              ; preds = %466
  %478 = load float, ptr %33, align 4, !tbaa !11
  %479 = fneg float %478
  br label %480

480:                                              ; preds = %477, %475
  %481 = phi float [ %476, %475 ], [ %479, %477 ]
  %482 = fadd float %467, %481
  store float %482, ptr %63, align 4, !tbaa !11
  %483 = load float, ptr %63, align 4, !tbaa !11
  %484 = load float, ptr %60, align 4, !tbaa !11
  %485 = fcmp oge float %483, %484
  br i1 %485, label %486, label %506

486:                                              ; preds = %480
  %487 = load float, ptr %42, align 4, !tbaa !11
  store float %487, ptr %32, align 4, !tbaa !11
  %488 = load float, ptr %63, align 4, !tbaa !11
  %489 = fcmp ole float 1.000000e+00, %488
  br i1 %489, label %490, label %491

490:                                              ; preds = %486
  br label %493

491:                                              ; preds = %486
  %492 = load float, ptr %63, align 4, !tbaa !11
  br label %493

493:                                              ; preds = %491, %490
  %494 = phi float [ 1.000000e+00, %490 ], [ %492, %491 ]
  %495 = load float, ptr %47, align 4, !tbaa !11
  %496 = fmul float %494, %495
  store float %496, ptr %33, align 4, !tbaa !11
  %497 = load float, ptr %32, align 4, !tbaa !11
  %498 = load float, ptr %33, align 4, !tbaa !11
  %499 = fcmp ole float %497, %498
  br i1 %499, label %500, label %502

500:                                              ; preds = %493
  %501 = load float, ptr %32, align 4, !tbaa !11
  br label %504

502:                                              ; preds = %493
  %503 = load float, ptr %33, align 4, !tbaa !11
  br label %504

504:                                              ; preds = %502, %500
  %505 = phi float [ %501, %500 ], [ %503, %502 ]
  store float %505, ptr %42, align 4, !tbaa !11
  br label %507

506:                                              ; preds = %480
  store float 0.000000e+00, ptr %42, align 4, !tbaa !11
  br label %507

507:                                              ; preds = %506, %504
  %508 = load float, ptr %63, align 4, !tbaa !11
  %509 = load ptr, ptr %23, align 8, !tbaa !5
  %510 = load i32, ptr %49, align 4, !tbaa !9
  %511 = sext i32 %510 to i64
  %512 = getelementptr inbounds float, ptr %509, i64 %511
  %513 = load float, ptr %512, align 4, !tbaa !11
  %514 = fadd float %508, %513
  %515 = load float, ptr %60, align 4, !tbaa !11
  %516 = fcmp oge float %514, %515
  br i1 %516, label %517, label %529

517:                                              ; preds = %507
  %518 = load float, ptr %63, align 4, !tbaa !11
  %519 = load float, ptr %63, align 4, !tbaa !11
  %520 = load ptr, ptr %23, align 8, !tbaa !5
  %521 = load i32, ptr %49, align 4, !tbaa !9
  %522 = sext i32 %521 to i64
  %523 = getelementptr inbounds float, ptr %520, i64 %522
  %524 = load float, ptr %523, align 4, !tbaa !11
  %525 = fadd float %519, %524
  %526 = fdiv float %518, %525
  %527 = load float, ptr %47, align 4, !tbaa !11
  %528 = fmul float %527, %526
  store float %528, ptr %47, align 4, !tbaa !11
  br label %530

529:                                              ; preds = %507
  store float 0.000000e+00, ptr %47, align 4, !tbaa !11
  br label %530

530:                                              ; preds = %529, %517
  br label %531

531:                                              ; preds = %530
  %532 = load i32, ptr %28, align 4, !tbaa !9
  %533 = load i32, ptr %49, align 4, !tbaa !9
  %534 = add nsw i32 %533, %532
  store i32 %534, ptr %49, align 4, !tbaa !9
  br label %416, !llvm.loop !20

535:                                              ; preds = %429
  %536 = load float, ptr %42, align 4, !tbaa !11
  store float %536, ptr %47, align 4, !tbaa !11
  br label %596

537:                                              ; preds = %398
  store float 1.000000e+00, ptr %32, align 4, !tbaa !11
  %538 = load float, ptr %42, align 4, !tbaa !11
  %539 = load float, ptr %60, align 4, !tbaa !11
  %540 = fcmp oge float %538, %539
  br i1 %540, label %541, label %543

541:                                              ; preds = %537
  %542 = load float, ptr %42, align 4, !tbaa !11
  br label %545

543:                                              ; preds = %537
  %544 = load float, ptr %60, align 4, !tbaa !11
  br label %545

545:                                              ; preds = %543, %541
  %546 = phi float [ %542, %541 ], [ %544, %543 ]
  %547 = fdiv float 5.000000e-01, %546
  store float %547, ptr %33, align 4, !tbaa !11
  %548 = load float, ptr %32, align 4, !tbaa !11
  %549 = load float, ptr %33, align 4, !tbaa !11
  %550 = fcmp ole float %548, %549
  br i1 %550, label %551, label %553

551:                                              ; preds = %545
  %552 = load float, ptr %32, align 4, !tbaa !11
  br label %555

553:                                              ; preds = %545
  %554 = load float, ptr %33, align 4, !tbaa !11
  br label %555

555:                                              ; preds = %553, %551
  %556 = phi float [ %552, %551 ], [ %554, %553 ]
  store float %556, ptr %47, align 4, !tbaa !11
  %557 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %557, ptr %28, align 4, !tbaa !9
  %558 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %558, ptr %27, align 4, !tbaa !9
  %559 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %559, ptr %49, align 4, !tbaa !9
  br label %560

560:                                              ; preds = %591, %555
  %561 = load i32, ptr %27, align 4, !tbaa !9
  %562 = icmp slt i32 %561, 0
  br i1 %562, label %563, label %568

563:                                              ; preds = %560
  %564 = load i32, ptr %49, align 4, !tbaa !9
  %565 = load i32, ptr %28, align 4, !tbaa !9
  %566 = icmp sge i32 %564, %565
  %567 = zext i1 %566 to i32
  br label %573

568:                                              ; preds = %560
  %569 = load i32, ptr %49, align 4, !tbaa !9
  %570 = load i32, ptr %28, align 4, !tbaa !9
  %571 = icmp sle i32 %569, %570
  %572 = zext i1 %571 to i32
  br label %573

573:                                              ; preds = %568, %563
  %574 = phi i32 [ %567, %563 ], [ %572, %568 ]
  %575 = icmp ne i32 %574, 0
  br i1 %575, label %576, label %595

576:                                              ; preds = %573
  %577 = load float, ptr %47, align 4, !tbaa !11
  %578 = load float, ptr %60, align 4, !tbaa !11
  %579 = fcmp ole float %577, %578
  br i1 %579, label %580, label %581

580:                                              ; preds = %576
  br label %597

581:                                              ; preds = %576
  %582 = load ptr, ptr %23, align 8, !tbaa !5
  %583 = load i32, ptr %49, align 4, !tbaa !9
  %584 = sext i32 %583 to i64
  %585 = getelementptr inbounds float, ptr %582, i64 %584
  %586 = load float, ptr %585, align 4, !tbaa !11
  %587 = fadd float %586, 1.000000e+00
  %588 = fdiv float 1.000000e+00, %587
  %589 = load float, ptr %47, align 4, !tbaa !11
  %590 = fmul float %589, %588
  store float %590, ptr %47, align 4, !tbaa !11
  br label %591

591:                                              ; preds = %581
  %592 = load i32, ptr %27, align 4, !tbaa !9
  %593 = load i32, ptr %49, align 4, !tbaa !9
  %594 = add nsw i32 %593, %592
  store i32 %594, ptr %49, align 4, !tbaa !9
  br label %560, !llvm.loop !21

595:                                              ; preds = %573
  br label %596

596:                                              ; preds = %595, %535
  br label %597

597:                                              ; preds = %596, %580, %436, %397
  br label %809

598:                                              ; preds = %378
  %599 = load i32, ptr %55, align 4, !tbaa !9
  %600 = icmp ne i32 %599, 0
  br i1 %600, label %601, label %607

601:                                              ; preds = %598
  store i32 1, ptr %59, align 4, !tbaa !9
  %602 = load ptr, ptr %17, align 8, !tbaa !5
  %603 = load i32, ptr %602, align 4, !tbaa !9
  store i32 %603, ptr %53, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %604 = load ptr, ptr %18, align 8, !tbaa !5
  %605 = load i32, ptr %604, align 4, !tbaa !9
  %606 = add nsw i32 %605, 1
  store i32 %606, ptr %50, align 4, !tbaa !9
  br label %610

607:                                              ; preds = %598
  %608 = load ptr, ptr %17, align 8, !tbaa !5
  %609 = load i32, ptr %608, align 4, !tbaa !9
  store i32 %609, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %53, align 4, !tbaa !9
  store i32 -1, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %610

610:                                              ; preds = %607, %601
  %611 = load float, ptr %51, align 4, !tbaa !11
  %612 = fcmp une float %611, 1.000000e+00
  br i1 %612, label %613, label %614

613:                                              ; preds = %610
  store float 0.000000e+00, ptr %47, align 4, !tbaa !11
  br label %808

614:                                              ; preds = %610
  %615 = load i32, ptr %61, align 4, !tbaa !9
  %616 = icmp ne i32 %615, 0
  br i1 %616, label %617, label %748

617:                                              ; preds = %614
  %618 = load float, ptr %42, align 4, !tbaa !11
  %619 = load float, ptr %60, align 4, !tbaa !11
  %620 = fcmp oge float %618, %619
  br i1 %620, label %621, label %623

621:                                              ; preds = %617
  %622 = load float, ptr %42, align 4, !tbaa !11
  br label %625

623:                                              ; preds = %617
  %624 = load float, ptr %60, align 4, !tbaa !11
  br label %625

625:                                              ; preds = %623, %621
  %626 = phi float [ %622, %621 ], [ %624, %623 ]
  %627 = fdiv float 5.000000e-01, %626
  store float %627, ptr %47, align 4, !tbaa !11
  %628 = load float, ptr %47, align 4, !tbaa !11
  store float %628, ptr %42, align 4, !tbaa !11
  %629 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %629, ptr %27, align 4, !tbaa !9
  %630 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %630, ptr %28, align 4, !tbaa !9
  %631 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %631, ptr %49, align 4, !tbaa !9
  br label %632

632:                                              ; preds = %734, %625
  %633 = load i32, ptr %28, align 4, !tbaa !9
  %634 = icmp slt i32 %633, 0
  br i1 %634, label %635, label %640

635:                                              ; preds = %632
  %636 = load i32, ptr %49, align 4, !tbaa !9
  %637 = load i32, ptr %27, align 4, !tbaa !9
  %638 = icmp sge i32 %636, %637
  %639 = zext i1 %638 to i32
  br label %645

640:                                              ; preds = %632
  %641 = load i32, ptr %49, align 4, !tbaa !9
  %642 = load i32, ptr %27, align 4, !tbaa !9
  %643 = icmp sle i32 %641, %642
  %644 = zext i1 %643 to i32
  br label %645

645:                                              ; preds = %640, %635
  %646 = phi i32 [ %639, %635 ], [ %644, %640 ]
  %647 = icmp ne i32 %646, 0
  br i1 %647, label %648, label %738

648:                                              ; preds = %645
  %649 = load float, ptr %47, align 4, !tbaa !11
  %650 = load float, ptr %60, align 4, !tbaa !11
  %651 = fcmp ole float %649, %650
  br i1 %651, label %652, label %653

652:                                              ; preds = %648
  br label %808

653:                                              ; preds = %648
  %654 = load ptr, ptr %23, align 8, !tbaa !5
  %655 = load i32, ptr %49, align 4, !tbaa !9
  %656 = sext i32 %655 to i64
  %657 = getelementptr inbounds float, ptr %654, i64 %656
  %658 = load float, ptr %657, align 4, !tbaa !11
  %659 = fadd float %658, 1.000000e+00
  store float %659, ptr %56, align 4, !tbaa !11
  %660 = load float, ptr %47, align 4, !tbaa !11
  store float %660, ptr %32, align 4, !tbaa !11
  %661 = load float, ptr %42, align 4, !tbaa !11
  %662 = load float, ptr %56, align 4, !tbaa !11
  %663 = fdiv float %661, %662
  store float %663, ptr %33, align 4, !tbaa !11
  %664 = load float, ptr %32, align 4, !tbaa !11
  %665 = load float, ptr %33, align 4, !tbaa !11
  %666 = fcmp ole float %664, %665
  br i1 %666, label %667, label %669

667:                                              ; preds = %653
  %668 = load float, ptr %32, align 4, !tbaa !11
  br label %671

669:                                              ; preds = %653
  %670 = load float, ptr %33, align 4, !tbaa !11
  br label %671

671:                                              ; preds = %669, %667
  %672 = phi float [ %668, %667 ], [ %670, %669 ]
  store float %672, ptr %47, align 4, !tbaa !11
  %673 = load i32, ptr %50, align 4, !tbaa !9
  %674 = load i32, ptr %49, align 4, !tbaa !9
  %675 = load i32, ptr %25, align 4, !tbaa !9
  %676 = mul nsw i32 %674, %675
  %677 = add nsw i32 %673, %676
  store i32 %677, ptr %29, align 4, !tbaa !9
  %678 = load ptr, ptr %19, align 8, !tbaa !5
  %679 = load i32, ptr %29, align 4, !tbaa !9
  %680 = sext i32 %679 to i64
  %681 = getelementptr inbounds %struct.complex, ptr %678, i64 %680
  %682 = getelementptr inbounds %struct.complex, ptr %681, i32 0, i32 0
  %683 = load float, ptr %682, align 4, !tbaa !16
  %684 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %683, ptr %684, align 4, !tbaa !16
  %685 = load ptr, ptr %19, align 8, !tbaa !5
  %686 = load i32, ptr %29, align 4, !tbaa !9
  %687 = sext i32 %686 to i64
  %688 = getelementptr inbounds %struct.complex, ptr %685, i64 %687
  %689 = getelementptr inbounds %struct.complex, ptr %688, i32 0, i32 1
  %690 = load float, ptr %689, align 4, !tbaa !19
  %691 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %690, ptr %691, align 4, !tbaa !19
  %692 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %693 = load float, ptr %692, align 4, !tbaa !16
  store float %693, ptr %32, align 4, !tbaa !11
  %694 = load float, ptr %32, align 4, !tbaa !11
  %695 = fcmp oge float %694, 0.000000e+00
  br i1 %695, label %696, label %698

696:                                              ; preds = %671
  %697 = load float, ptr %32, align 4, !tbaa !11
  br label %701

698:                                              ; preds = %671
  %699 = load float, ptr %32, align 4, !tbaa !11
  %700 = fneg float %699
  br label %701

701:                                              ; preds = %698, %696
  %702 = phi float [ %697, %696 ], [ %700, %698 ]
  %703 = call <2 x float> @Cf(ptr noundef %45)
  store <2 x float> %703, ptr %67, align 4
  %704 = getelementptr inbounds { float, float }, ptr %67, i32 0, i32 0
  %705 = load float, ptr %704, align 4
  %706 = getelementptr inbounds { float, float }, ptr %67, i32 0, i32 1
  %707 = load float, ptr %706, align 4
  store float %707, ptr %33, align 4, !tbaa !11
  %708 = load float, ptr %33, align 4, !tbaa !11
  %709 = fcmp oge float %708, 0.000000e+00
  br i1 %709, label %710, label %712

710:                                              ; preds = %701
  %711 = load float, ptr %33, align 4, !tbaa !11
  br label %715

712:                                              ; preds = %701
  %713 = load float, ptr %33, align 4, !tbaa !11
  %714 = fneg float %713
  br label %715

715:                                              ; preds = %712, %710
  %716 = phi float [ %711, %710 ], [ %714, %712 ]
  %717 = fadd float %702, %716
  store float %717, ptr %63, align 4, !tbaa !11
  %718 = load float, ptr %63, align 4, !tbaa !11
  %719 = load float, ptr %60, align 4, !tbaa !11
  %720 = fcmp oge float %718, %719
  br i1 %720, label %721, label %732

721:                                              ; preds = %715
  %722 = load float, ptr %56, align 4, !tbaa !11
  %723 = load float, ptr %63, align 4, !tbaa !11
  %724 = fcmp ogt float %722, %723
  br i1 %724, label %725, label %731

725:                                              ; preds = %721
  %726 = load float, ptr %63, align 4, !tbaa !11
  %727 = load float, ptr %56, align 4, !tbaa !11
  %728 = fdiv float %726, %727
  %729 = load float, ptr %42, align 4, !tbaa !11
  %730 = fmul float %729, %728
  store float %730, ptr %42, align 4, !tbaa !11
  br label %731

731:                                              ; preds = %725, %721
  br label %733

732:                                              ; preds = %715
  store float 0.000000e+00, ptr %42, align 4, !tbaa !11
  br label %733

733:                                              ; preds = %732, %731
  br label %734

734:                                              ; preds = %733
  %735 = load i32, ptr %28, align 4, !tbaa !9
  %736 = load i32, ptr %49, align 4, !tbaa !9
  %737 = add nsw i32 %736, %735
  store i32 %737, ptr %49, align 4, !tbaa !9
  br label %632, !llvm.loop !22

738:                                              ; preds = %645
  %739 = load float, ptr %47, align 4, !tbaa !11
  %740 = load float, ptr %42, align 4, !tbaa !11
  %741 = fcmp ole float %739, %740
  br i1 %741, label %742, label %744

742:                                              ; preds = %738
  %743 = load float, ptr %47, align 4, !tbaa !11
  br label %746

744:                                              ; preds = %738
  %745 = load float, ptr %42, align 4, !tbaa !11
  br label %746

746:                                              ; preds = %744, %742
  %747 = phi float [ %743, %742 ], [ %745, %744 ]
  store float %747, ptr %47, align 4, !tbaa !11
  br label %807

748:                                              ; preds = %614
  store float 1.000000e+00, ptr %32, align 4, !tbaa !11
  %749 = load float, ptr %42, align 4, !tbaa !11
  %750 = load float, ptr %60, align 4, !tbaa !11
  %751 = fcmp oge float %749, %750
  br i1 %751, label %752, label %754

752:                                              ; preds = %748
  %753 = load float, ptr %42, align 4, !tbaa !11
  br label %756

754:                                              ; preds = %748
  %755 = load float, ptr %60, align 4, !tbaa !11
  br label %756

756:                                              ; preds = %754, %752
  %757 = phi float [ %753, %752 ], [ %755, %754 ]
  %758 = fdiv float 5.000000e-01, %757
  store float %758, ptr %33, align 4, !tbaa !11
  %759 = load float, ptr %32, align 4, !tbaa !11
  %760 = load float, ptr %33, align 4, !tbaa !11
  %761 = fcmp ole float %759, %760
  br i1 %761, label %762, label %764

762:                                              ; preds = %756
  %763 = load float, ptr %32, align 4, !tbaa !11
  br label %766

764:                                              ; preds = %756
  %765 = load float, ptr %33, align 4, !tbaa !11
  br label %766

766:                                              ; preds = %764, %762
  %767 = phi float [ %763, %762 ], [ %765, %764 ]
  store float %767, ptr %47, align 4, !tbaa !11
  %768 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %768, ptr %28, align 4, !tbaa !9
  %769 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %769, ptr %27, align 4, !tbaa !9
  %770 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %770, ptr %49, align 4, !tbaa !9
  br label %771

771:                                              ; preds = %802, %766
  %772 = load i32, ptr %27, align 4, !tbaa !9
  %773 = icmp slt i32 %772, 0
  br i1 %773, label %774, label %779

774:                                              ; preds = %771
  %775 = load i32, ptr %49, align 4, !tbaa !9
  %776 = load i32, ptr %28, align 4, !tbaa !9
  %777 = icmp sge i32 %775, %776
  %778 = zext i1 %777 to i32
  br label %784

779:                                              ; preds = %771
  %780 = load i32, ptr %49, align 4, !tbaa !9
  %781 = load i32, ptr %28, align 4, !tbaa !9
  %782 = icmp sle i32 %780, %781
  %783 = zext i1 %782 to i32
  br label %784

784:                                              ; preds = %779, %774
  %785 = phi i32 [ %778, %774 ], [ %783, %779 ]
  %786 = icmp ne i32 %785, 0
  br i1 %786, label %787, label %806

787:                                              ; preds = %784
  %788 = load float, ptr %47, align 4, !tbaa !11
  %789 = load float, ptr %60, align 4, !tbaa !11
  %790 = fcmp ole float %788, %789
  br i1 %790, label %791, label %792

791:                                              ; preds = %787
  br label %808

792:                                              ; preds = %787
  %793 = load ptr, ptr %23, align 8, !tbaa !5
  %794 = load i32, ptr %49, align 4, !tbaa !9
  %795 = sext i32 %794 to i64
  %796 = getelementptr inbounds float, ptr %793, i64 %795
  %797 = load float, ptr %796, align 4, !tbaa !11
  %798 = fadd float %797, 1.000000e+00
  store float %798, ptr %56, align 4, !tbaa !11
  %799 = load float, ptr %56, align 4, !tbaa !11
  %800 = load float, ptr %47, align 4, !tbaa !11
  %801 = fdiv float %800, %799
  store float %801, ptr %47, align 4, !tbaa !11
  br label %802

802:                                              ; preds = %792
  %803 = load i32, ptr %27, align 4, !tbaa !9
  %804 = load i32, ptr %49, align 4, !tbaa !9
  %805 = add nsw i32 %804, %803
  store i32 %805, ptr %49, align 4, !tbaa !9
  br label %771, !llvm.loop !23

806:                                              ; preds = %784
  br label %807

807:                                              ; preds = %806, %746
  br label %808

808:                                              ; preds = %807, %791, %652, %613
  br label %809

809:                                              ; preds = %808, %597
  %810 = load float, ptr %47, align 4, !tbaa !11
  %811 = load float, ptr %51, align 4, !tbaa !11
  %812 = fmul float %810, %811
  %813 = load float, ptr %60, align 4, !tbaa !11
  %814 = fcmp ogt float %812, %813
  br i1 %814, label %815, label %828

815:                                              ; preds = %809
  %816 = load ptr, ptr %13, align 8, !tbaa !5
  %817 = load ptr, ptr %14, align 8, !tbaa !5
  %818 = load ptr, ptr %15, align 8, !tbaa !5
  %819 = load ptr, ptr %17, align 8, !tbaa !5
  %820 = load ptr, ptr %18, align 8, !tbaa !5
  %821 = load ptr, ptr %19, align 8, !tbaa !5
  %822 = load i32, ptr %26, align 4, !tbaa !9
  %823 = sext i32 %822 to i64
  %824 = getelementptr inbounds %struct.complex, ptr %821, i64 %823
  %825 = load ptr, ptr %20, align 8, !tbaa !5
  %826 = load ptr, ptr %21, align 8, !tbaa !5
  %827 = getelementptr inbounds %struct.complex, ptr %826, i64 1
  call void @ctbsv_(ptr noundef %816, ptr noundef %817, ptr noundef %818, ptr noundef %819, ptr noundef %820, ptr noundef %824, ptr noundef %825, ptr noundef %827, ptr noundef @c__1)
  br label %3282

828:                                              ; preds = %809
  %829 = load float, ptr %46, align 4, !tbaa !11
  %830 = load float, ptr %57, align 4, !tbaa !11
  %831 = fmul float %830, 5.000000e-01
  %832 = fcmp ogt float %829, %831
  br i1 %832, label %833, label %844

833:                                              ; preds = %828
  %834 = load float, ptr %57, align 4, !tbaa !11
  %835 = fmul float %834, 5.000000e-01
  %836 = load float, ptr %46, align 4, !tbaa !11
  %837 = fdiv float %835, %836
  %838 = load ptr, ptr %22, align 8, !tbaa !5
  store float %837, ptr %838, align 4, !tbaa !11
  %839 = load ptr, ptr %17, align 8, !tbaa !5
  %840 = load ptr, ptr %22, align 8, !tbaa !5
  %841 = load ptr, ptr %21, align 8, !tbaa !5
  %842 = getelementptr inbounds %struct.complex, ptr %841, i64 1
  call void @csscal_(ptr noundef %839, ptr noundef %840, ptr noundef %842, ptr noundef @c__1)
  %843 = load float, ptr %57, align 4, !tbaa !11
  store float %843, ptr %46, align 4, !tbaa !11
  br label %847

844:                                              ; preds = %828
  %845 = load float, ptr %46, align 4, !tbaa !11
  %846 = fmul float %845, 2.000000e+00
  store float %846, ptr %46, align 4, !tbaa !11
  br label %847

847:                                              ; preds = %844, %833
  %848 = load i32, ptr %58, align 4, !tbaa !9
  %849 = icmp ne i32 %848, 0
  br i1 %849, label %850, label %1458

850:                                              ; preds = %847
  %851 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %851, ptr %27, align 4, !tbaa !9
  %852 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %852, ptr %28, align 4, !tbaa !9
  %853 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %853, ptr %49, align 4, !tbaa !9
  br label %854

854:                                              ; preds = %1453, %850
  %855 = load i32, ptr %28, align 4, !tbaa !9
  %856 = icmp slt i32 %855, 0
  br i1 %856, label %857, label %862

857:                                              ; preds = %854
  %858 = load i32, ptr %49, align 4, !tbaa !9
  %859 = load i32, ptr %27, align 4, !tbaa !9
  %860 = icmp sge i32 %858, %859
  %861 = zext i1 %860 to i32
  br label %867

862:                                              ; preds = %854
  %863 = load i32, ptr %49, align 4, !tbaa !9
  %864 = load i32, ptr %27, align 4, !tbaa !9
  %865 = icmp sle i32 %863, %864
  %866 = zext i1 %865 to i32
  br label %867

867:                                              ; preds = %862, %857
  %868 = phi i32 [ %861, %857 ], [ %866, %862 ]
  %869 = icmp ne i32 %868, 0
  br i1 %869, label %870, label %1457

870:                                              ; preds = %867
  %871 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %871, ptr %29, align 4, !tbaa !9
  %872 = load ptr, ptr %21, align 8, !tbaa !5
  %873 = load i32, ptr %29, align 4, !tbaa !9
  %874 = sext i32 %873 to i64
  %875 = getelementptr inbounds %struct.complex, ptr %872, i64 %874
  %876 = getelementptr inbounds %struct.complex, ptr %875, i32 0, i32 0
  %877 = load float, ptr %876, align 4, !tbaa !16
  store float %877, ptr %32, align 4, !tbaa !11
  %878 = load float, ptr %32, align 4, !tbaa !11
  %879 = fcmp oge float %878, 0.000000e+00
  br i1 %879, label %880, label %882

880:                                              ; preds = %870
  %881 = load float, ptr %32, align 4, !tbaa !11
  br label %885

882:                                              ; preds = %870
  %883 = load float, ptr %32, align 4, !tbaa !11
  %884 = fneg float %883
  br label %885

885:                                              ; preds = %882, %880
  %886 = phi float [ %881, %880 ], [ %884, %882 ]
  %887 = load ptr, ptr %21, align 8, !tbaa !5
  %888 = load i32, ptr %49, align 4, !tbaa !9
  %889 = sext i32 %888 to i64
  %890 = getelementptr inbounds %struct.complex, ptr %887, i64 %889
  %891 = call <2 x float> @Cf(ptr noundef %890)
  store <2 x float> %891, ptr %68, align 4
  %892 = getelementptr inbounds { float, float }, ptr %68, i32 0, i32 0
  %893 = load float, ptr %892, align 4
  %894 = getelementptr inbounds { float, float }, ptr %68, i32 0, i32 1
  %895 = load float, ptr %894, align 4
  store float %895, ptr %33, align 4, !tbaa !11
  %896 = load float, ptr %33, align 4, !tbaa !11
  %897 = fcmp oge float %896, 0.000000e+00
  br i1 %897, label %898, label %900

898:                                              ; preds = %885
  %899 = load float, ptr %33, align 4, !tbaa !11
  br label %903

900:                                              ; preds = %885
  %901 = load float, ptr %33, align 4, !tbaa !11
  %902 = fneg float %901
  br label %903

903:                                              ; preds = %900, %898
  %904 = phi float [ %899, %898 ], [ %902, %900 ]
  %905 = fadd float %886, %904
  store float %905, ptr %56, align 4, !tbaa !11
  %906 = load i32, ptr %61, align 4, !tbaa !9
  %907 = icmp ne i32 %906, 0
  br i1 %907, label %908, label %938

908:                                              ; preds = %903
  %909 = load i32, ptr %50, align 4, !tbaa !9
  %910 = load i32, ptr %49, align 4, !tbaa !9
  %911 = load i32, ptr %25, align 4, !tbaa !9
  %912 = mul nsw i32 %910, %911
  %913 = add nsw i32 %909, %912
  store i32 %913, ptr %29, align 4, !tbaa !9
  %914 = load float, ptr %51, align 4, !tbaa !11
  %915 = load ptr, ptr %19, align 8, !tbaa !5
  %916 = load i32, ptr %29, align 4, !tbaa !9
  %917 = sext i32 %916 to i64
  %918 = getelementptr inbounds %struct.complex, ptr %915, i64 %917
  %919 = getelementptr inbounds %struct.complex, ptr %918, i32 0, i32 0
  %920 = load float, ptr %919, align 4, !tbaa !16
  %921 = fmul float %914, %920
  %922 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %921, ptr %922, align 4, !tbaa !16
  %923 = load float, ptr %51, align 4, !tbaa !11
  %924 = load ptr, ptr %19, align 8, !tbaa !5
  %925 = load i32, ptr %29, align 4, !tbaa !9
  %926 = sext i32 %925 to i64
  %927 = getelementptr inbounds %struct.complex, ptr %924, i64 %926
  %928 = getelementptr inbounds %struct.complex, ptr %927, i32 0, i32 1
  %929 = load float, ptr %928, align 4, !tbaa !19
  %930 = fmul float %923, %929
  %931 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %930, ptr %931, align 4, !tbaa !19
  %932 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %933 = load float, ptr %932, align 4, !tbaa !16
  %934 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %933, ptr %934, align 4, !tbaa !16
  %935 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %936 = load float, ptr %935, align 4, !tbaa !19
  %937 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %936, ptr %937, align 4, !tbaa !19
  br label %946

938:                                              ; preds = %903
  %939 = load float, ptr %51, align 4, !tbaa !11
  %940 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %939, ptr %940, align 4, !tbaa !16
  %941 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float 0.000000e+00, ptr %941, align 4, !tbaa !19
  %942 = load float, ptr %51, align 4, !tbaa !11
  %943 = fcmp oeq float %942, 1.000000e+00
  br i1 %943, label %944, label %945

944:                                              ; preds = %938
  br label %1186

945:                                              ; preds = %938
  br label %946

946:                                              ; preds = %945, %908
  %947 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %948 = load float, ptr %947, align 4, !tbaa !16
  store float %948, ptr %32, align 4, !tbaa !11
  %949 = load float, ptr %32, align 4, !tbaa !11
  %950 = fcmp oge float %949, 0.000000e+00
  br i1 %950, label %951, label %953

951:                                              ; preds = %946
  %952 = load float, ptr %32, align 4, !tbaa !11
  br label %956

953:                                              ; preds = %946
  %954 = load float, ptr %32, align 4, !tbaa !11
  %955 = fneg float %954
  br label %956

956:                                              ; preds = %953, %951
  %957 = phi float [ %952, %951 ], [ %955, %953 ]
  %958 = call <2 x float> @Cf(ptr noundef %45)
  store <2 x float> %958, ptr %69, align 4
  %959 = getelementptr inbounds { float, float }, ptr %69, i32 0, i32 0
  %960 = load float, ptr %959, align 4
  %961 = getelementptr inbounds { float, float }, ptr %69, i32 0, i32 1
  %962 = load float, ptr %961, align 4
  store float %962, ptr %33, align 4, !tbaa !11
  %963 = load float, ptr %33, align 4, !tbaa !11
  %964 = fcmp oge float %963, 0.000000e+00
  br i1 %964, label %965, label %967

965:                                              ; preds = %956
  %966 = load float, ptr %33, align 4, !tbaa !11
  br label %970

967:                                              ; preds = %956
  %968 = load float, ptr %33, align 4, !tbaa !11
  %969 = fneg float %968
  br label %970

970:                                              ; preds = %967, %965
  %971 = phi float [ %966, %965 ], [ %969, %967 ]
  %972 = fadd float %957, %971
  store float %972, ptr %63, align 4, !tbaa !11
  %973 = load float, ptr %63, align 4, !tbaa !11
  %974 = load float, ptr %60, align 4, !tbaa !11
  %975 = fcmp ogt float %973, %974
  br i1 %975, label %976, label %1054

976:                                              ; preds = %970
  %977 = load float, ptr %63, align 4, !tbaa !11
  %978 = fcmp olt float %977, 1.000000e+00
  br i1 %978, label %979, label %999

979:                                              ; preds = %976
  %980 = load float, ptr %56, align 4, !tbaa !11
  %981 = load float, ptr %63, align 4, !tbaa !11
  %982 = load float, ptr %57, align 4, !tbaa !11
  %983 = fmul float %981, %982
  %984 = fcmp ogt float %980, %983
  br i1 %984, label %985, label %998

985:                                              ; preds = %979
  %986 = load float, ptr %56, align 4, !tbaa !11
  %987 = fdiv float 1.000000e+00, %986
  store float %987, ptr %62, align 4, !tbaa !11
  %988 = load ptr, ptr %17, align 8, !tbaa !5
  %989 = load ptr, ptr %21, align 8, !tbaa !5
  %990 = getelementptr inbounds %struct.complex, ptr %989, i64 1
  call void @csscal_(ptr noundef %988, ptr noundef %62, ptr noundef %990, ptr noundef @c__1)
  %991 = load float, ptr %62, align 4, !tbaa !11
  %992 = load ptr, ptr %22, align 8, !tbaa !5
  %993 = load float, ptr %992, align 4, !tbaa !11
  %994 = fmul float %993, %991
  store float %994, ptr %992, align 4, !tbaa !11
  %995 = load float, ptr %62, align 4, !tbaa !11
  %996 = load float, ptr %46, align 4, !tbaa !11
  %997 = fmul float %996, %995
  store float %997, ptr %46, align 4, !tbaa !11
  br label %998

998:                                              ; preds = %985, %979
  br label %999

999:                                              ; preds = %998, %976
  %1000 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1000, ptr %29, align 4, !tbaa !9
  %1001 = load ptr, ptr %21, align 8, !tbaa !5
  %1002 = load i32, ptr %49, align 4, !tbaa !9
  %1003 = sext i32 %1002 to i64
  %1004 = getelementptr inbounds %struct.complex, ptr %1001, i64 %1003
  call void @cladiv_(ptr noundef %36, ptr noundef %1004, ptr noundef %45)
  %1005 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1006 = load float, ptr %1005, align 4, !tbaa !16
  %1007 = load ptr, ptr %21, align 8, !tbaa !5
  %1008 = load i32, ptr %29, align 4, !tbaa !9
  %1009 = sext i32 %1008 to i64
  %1010 = getelementptr inbounds %struct.complex, ptr %1007, i64 %1009
  %1011 = getelementptr inbounds %struct.complex, ptr %1010, i32 0, i32 0
  store float %1006, ptr %1011, align 4, !tbaa !16
  %1012 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1013 = load float, ptr %1012, align 4, !tbaa !19
  %1014 = load ptr, ptr %21, align 8, !tbaa !5
  %1015 = load i32, ptr %29, align 4, !tbaa !9
  %1016 = sext i32 %1015 to i64
  %1017 = getelementptr inbounds %struct.complex, ptr %1014, i64 %1016
  %1018 = getelementptr inbounds %struct.complex, ptr %1017, i32 0, i32 1
  store float %1013, ptr %1018, align 4, !tbaa !19
  %1019 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1019, ptr %29, align 4, !tbaa !9
  %1020 = load ptr, ptr %21, align 8, !tbaa !5
  %1021 = load i32, ptr %29, align 4, !tbaa !9
  %1022 = sext i32 %1021 to i64
  %1023 = getelementptr inbounds %struct.complex, ptr %1020, i64 %1022
  %1024 = getelementptr inbounds %struct.complex, ptr %1023, i32 0, i32 0
  %1025 = load float, ptr %1024, align 4, !tbaa !16
  store float %1025, ptr %32, align 4, !tbaa !11
  %1026 = load float, ptr %32, align 4, !tbaa !11
  %1027 = fcmp oge float %1026, 0.000000e+00
  br i1 %1027, label %1028, label %1030

1028:                                             ; preds = %999
  %1029 = load float, ptr %32, align 4, !tbaa !11
  br label %1033

1030:                                             ; preds = %999
  %1031 = load float, ptr %32, align 4, !tbaa !11
  %1032 = fneg float %1031
  br label %1033

1033:                                             ; preds = %1030, %1028
  %1034 = phi float [ %1029, %1028 ], [ %1032, %1030 ]
  %1035 = load ptr, ptr %21, align 8, !tbaa !5
  %1036 = load i32, ptr %49, align 4, !tbaa !9
  %1037 = sext i32 %1036 to i64
  %1038 = getelementptr inbounds %struct.complex, ptr %1035, i64 %1037
  %1039 = call <2 x float> @Cf(ptr noundef %1038)
  store <2 x float> %1039, ptr %70, align 4
  %1040 = getelementptr inbounds { float, float }, ptr %70, i32 0, i32 0
  %1041 = load float, ptr %1040, align 4
  %1042 = getelementptr inbounds { float, float }, ptr %70, i32 0, i32 1
  %1043 = load float, ptr %1042, align 4
  store float %1043, ptr %33, align 4, !tbaa !11
  %1044 = load float, ptr %33, align 4, !tbaa !11
  %1045 = fcmp oge float %1044, 0.000000e+00
  br i1 %1045, label %1046, label %1048

1046:                                             ; preds = %1033
  %1047 = load float, ptr %33, align 4, !tbaa !11
  br label %1051

1048:                                             ; preds = %1033
  %1049 = load float, ptr %33, align 4, !tbaa !11
  %1050 = fneg float %1049
  br label %1051

1051:                                             ; preds = %1048, %1046
  %1052 = phi float [ %1047, %1046 ], [ %1050, %1048 ]
  %1053 = fadd float %1034, %1052
  store float %1053, ptr %56, align 4, !tbaa !11
  br label %1185

1054:                                             ; preds = %970
  %1055 = load float, ptr %63, align 4, !tbaa !11
  %1056 = fcmp ogt float %1055, 0.000000e+00
  br i1 %1056, label %1057, label %1149

1057:                                             ; preds = %1054
  %1058 = load float, ptr %56, align 4, !tbaa !11
  %1059 = load float, ptr %63, align 4, !tbaa !11
  %1060 = load float, ptr %57, align 4, !tbaa !11
  %1061 = fmul float %1059, %1060
  %1062 = fcmp ogt float %1058, %1061
  br i1 %1062, label %1063, label %1094

1063:                                             ; preds = %1057
  %1064 = load float, ptr %63, align 4, !tbaa !11
  %1065 = load float, ptr %57, align 4, !tbaa !11
  %1066 = fmul float %1064, %1065
  %1067 = load float, ptr %56, align 4, !tbaa !11
  %1068 = fdiv float %1066, %1067
  store float %1068, ptr %62, align 4, !tbaa !11
  %1069 = load ptr, ptr %23, align 8, !tbaa !5
  %1070 = load i32, ptr %49, align 4, !tbaa !9
  %1071 = sext i32 %1070 to i64
  %1072 = getelementptr inbounds float, ptr %1069, i64 %1071
  %1073 = load float, ptr %1072, align 4, !tbaa !11
  %1074 = fcmp ogt float %1073, 1.000000e+00
  br i1 %1074, label %1075, label %1083

1075:                                             ; preds = %1063
  %1076 = load ptr, ptr %23, align 8, !tbaa !5
  %1077 = load i32, ptr %49, align 4, !tbaa !9
  %1078 = sext i32 %1077 to i64
  %1079 = getelementptr inbounds float, ptr %1076, i64 %1078
  %1080 = load float, ptr %1079, align 4, !tbaa !11
  %1081 = load float, ptr %62, align 4, !tbaa !11
  %1082 = fdiv float %1081, %1080
  store float %1082, ptr %62, align 4, !tbaa !11
  br label %1083

1083:                                             ; preds = %1075, %1063
  %1084 = load ptr, ptr %17, align 8, !tbaa !5
  %1085 = load ptr, ptr %21, align 8, !tbaa !5
  %1086 = getelementptr inbounds %struct.complex, ptr %1085, i64 1
  call void @csscal_(ptr noundef %1084, ptr noundef %62, ptr noundef %1086, ptr noundef @c__1)
  %1087 = load float, ptr %62, align 4, !tbaa !11
  %1088 = load ptr, ptr %22, align 8, !tbaa !5
  %1089 = load float, ptr %1088, align 4, !tbaa !11
  %1090 = fmul float %1089, %1087
  store float %1090, ptr %1088, align 4, !tbaa !11
  %1091 = load float, ptr %62, align 4, !tbaa !11
  %1092 = load float, ptr %46, align 4, !tbaa !11
  %1093 = fmul float %1092, %1091
  store float %1093, ptr %46, align 4, !tbaa !11
  br label %1094

1094:                                             ; preds = %1083, %1057
  %1095 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1095, ptr %29, align 4, !tbaa !9
  %1096 = load ptr, ptr %21, align 8, !tbaa !5
  %1097 = load i32, ptr %49, align 4, !tbaa !9
  %1098 = sext i32 %1097 to i64
  %1099 = getelementptr inbounds %struct.complex, ptr %1096, i64 %1098
  call void @cladiv_(ptr noundef %36, ptr noundef %1099, ptr noundef %45)
  %1100 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1101 = load float, ptr %1100, align 4, !tbaa !16
  %1102 = load ptr, ptr %21, align 8, !tbaa !5
  %1103 = load i32, ptr %29, align 4, !tbaa !9
  %1104 = sext i32 %1103 to i64
  %1105 = getelementptr inbounds %struct.complex, ptr %1102, i64 %1104
  %1106 = getelementptr inbounds %struct.complex, ptr %1105, i32 0, i32 0
  store float %1101, ptr %1106, align 4, !tbaa !16
  %1107 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1108 = load float, ptr %1107, align 4, !tbaa !19
  %1109 = load ptr, ptr %21, align 8, !tbaa !5
  %1110 = load i32, ptr %29, align 4, !tbaa !9
  %1111 = sext i32 %1110 to i64
  %1112 = getelementptr inbounds %struct.complex, ptr %1109, i64 %1111
  %1113 = getelementptr inbounds %struct.complex, ptr %1112, i32 0, i32 1
  store float %1108, ptr %1113, align 4, !tbaa !19
  %1114 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1114, ptr %29, align 4, !tbaa !9
  %1115 = load ptr, ptr %21, align 8, !tbaa !5
  %1116 = load i32, ptr %29, align 4, !tbaa !9
  %1117 = sext i32 %1116 to i64
  %1118 = getelementptr inbounds %struct.complex, ptr %1115, i64 %1117
  %1119 = getelementptr inbounds %struct.complex, ptr %1118, i32 0, i32 0
  %1120 = load float, ptr %1119, align 4, !tbaa !16
  store float %1120, ptr %32, align 4, !tbaa !11
  %1121 = load float, ptr %32, align 4, !tbaa !11
  %1122 = fcmp oge float %1121, 0.000000e+00
  br i1 %1122, label %1123, label %1125

1123:                                             ; preds = %1094
  %1124 = load float, ptr %32, align 4, !tbaa !11
  br label %1128

1125:                                             ; preds = %1094
  %1126 = load float, ptr %32, align 4, !tbaa !11
  %1127 = fneg float %1126
  br label %1128

1128:                                             ; preds = %1125, %1123
  %1129 = phi float [ %1124, %1123 ], [ %1127, %1125 ]
  %1130 = load ptr, ptr %21, align 8, !tbaa !5
  %1131 = load i32, ptr %49, align 4, !tbaa !9
  %1132 = sext i32 %1131 to i64
  %1133 = getelementptr inbounds %struct.complex, ptr %1130, i64 %1132
  %1134 = call <2 x float> @Cf(ptr noundef %1133)
  store <2 x float> %1134, ptr %71, align 4
  %1135 = getelementptr inbounds { float, float }, ptr %71, i32 0, i32 0
  %1136 = load float, ptr %1135, align 4
  %1137 = getelementptr inbounds { float, float }, ptr %71, i32 0, i32 1
  %1138 = load float, ptr %1137, align 4
  store float %1138, ptr %33, align 4, !tbaa !11
  %1139 = load float, ptr %33, align 4, !tbaa !11
  %1140 = fcmp oge float %1139, 0.000000e+00
  br i1 %1140, label %1141, label %1143

1141:                                             ; preds = %1128
  %1142 = load float, ptr %33, align 4, !tbaa !11
  br label %1146

1143:                                             ; preds = %1128
  %1144 = load float, ptr %33, align 4, !tbaa !11
  %1145 = fneg float %1144
  br label %1146

1146:                                             ; preds = %1143, %1141
  %1147 = phi float [ %1142, %1141 ], [ %1145, %1143 ]
  %1148 = fadd float %1129, %1147
  store float %1148, ptr %56, align 4, !tbaa !11
  br label %1184

1149:                                             ; preds = %1054
  %1150 = load ptr, ptr %17, align 8, !tbaa !5
  %1151 = load i32, ptr %1150, align 4, !tbaa !9
  store i32 %1151, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %48, align 4, !tbaa !9
  br label %1152

1152:                                             ; preds = %1168, %1149
  %1153 = load i32, ptr %48, align 4, !tbaa !9
  %1154 = load i32, ptr %29, align 4, !tbaa !9
  %1155 = icmp sle i32 %1153, %1154
  br i1 %1155, label %1156, label %1171

1156:                                             ; preds = %1152
  %1157 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %1157, ptr %30, align 4, !tbaa !9
  %1158 = load ptr, ptr %21, align 8, !tbaa !5
  %1159 = load i32, ptr %30, align 4, !tbaa !9
  %1160 = sext i32 %1159 to i64
  %1161 = getelementptr inbounds %struct.complex, ptr %1158, i64 %1160
  %1162 = getelementptr inbounds %struct.complex, ptr %1161, i32 0, i32 0
  store float 0.000000e+00, ptr %1162, align 4, !tbaa !16
  %1163 = load ptr, ptr %21, align 8, !tbaa !5
  %1164 = load i32, ptr %30, align 4, !tbaa !9
  %1165 = sext i32 %1164 to i64
  %1166 = getelementptr inbounds %struct.complex, ptr %1163, i64 %1165
  %1167 = getelementptr inbounds %struct.complex, ptr %1166, i32 0, i32 1
  store float 0.000000e+00, ptr %1167, align 4, !tbaa !19
  br label %1168

1168:                                             ; preds = %1156
  %1169 = load i32, ptr %48, align 4, !tbaa !9
  %1170 = add nsw i32 %1169, 1
  store i32 %1170, ptr %48, align 4, !tbaa !9
  br label %1152, !llvm.loop !24

1171:                                             ; preds = %1152
  %1172 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1172, ptr %29, align 4, !tbaa !9
  %1173 = load ptr, ptr %21, align 8, !tbaa !5
  %1174 = load i32, ptr %29, align 4, !tbaa !9
  %1175 = sext i32 %1174 to i64
  %1176 = getelementptr inbounds %struct.complex, ptr %1173, i64 %1175
  %1177 = getelementptr inbounds %struct.complex, ptr %1176, i32 0, i32 0
  store float 1.000000e+00, ptr %1177, align 4, !tbaa !16
  %1178 = load ptr, ptr %21, align 8, !tbaa !5
  %1179 = load i32, ptr %29, align 4, !tbaa !9
  %1180 = sext i32 %1179 to i64
  %1181 = getelementptr inbounds %struct.complex, ptr %1178, i64 %1180
  %1182 = getelementptr inbounds %struct.complex, ptr %1181, i32 0, i32 1
  store float 0.000000e+00, ptr %1182, align 4, !tbaa !19
  store float 1.000000e+00, ptr %56, align 4, !tbaa !11
  %1183 = load ptr, ptr %22, align 8, !tbaa !5
  store float 0.000000e+00, ptr %1183, align 4, !tbaa !11
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  br label %1184

1184:                                             ; preds = %1171, %1146
  br label %1185

1185:                                             ; preds = %1184, %1051
  br label %1186

1186:                                             ; preds = %1185, %944
  %1187 = load float, ptr %56, align 4, !tbaa !11
  %1188 = fcmp ogt float %1187, 1.000000e+00
  br i1 %1188, label %1189, label %1214

1189:                                             ; preds = %1186
  %1190 = load float, ptr %56, align 4, !tbaa !11
  %1191 = fdiv float 1.000000e+00, %1190
  store float %1191, ptr %62, align 4, !tbaa !11
  %1192 = load ptr, ptr %23, align 8, !tbaa !5
  %1193 = load i32, ptr %49, align 4, !tbaa !9
  %1194 = sext i32 %1193 to i64
  %1195 = getelementptr inbounds float, ptr %1192, i64 %1194
  %1196 = load float, ptr %1195, align 4, !tbaa !11
  %1197 = load float, ptr %57, align 4, !tbaa !11
  %1198 = load float, ptr %46, align 4, !tbaa !11
  %1199 = fsub float %1197, %1198
  %1200 = load float, ptr %62, align 4, !tbaa !11
  %1201 = fmul float %1199, %1200
  %1202 = fcmp ogt float %1196, %1201
  br i1 %1202, label %1203, label %1213

1203:                                             ; preds = %1189
  %1204 = load float, ptr %62, align 4, !tbaa !11
  %1205 = fmul float %1204, 5.000000e-01
  store float %1205, ptr %62, align 4, !tbaa !11
  %1206 = load ptr, ptr %17, align 8, !tbaa !5
  %1207 = load ptr, ptr %21, align 8, !tbaa !5
  %1208 = getelementptr inbounds %struct.complex, ptr %1207, i64 1
  call void @csscal_(ptr noundef %1206, ptr noundef %62, ptr noundef %1208, ptr noundef @c__1)
  %1209 = load float, ptr %62, align 4, !tbaa !11
  %1210 = load ptr, ptr %22, align 8, !tbaa !5
  %1211 = load float, ptr %1210, align 4, !tbaa !11
  %1212 = fmul float %1211, %1209
  store float %1212, ptr %1210, align 4, !tbaa !11
  br label %1213

1213:                                             ; preds = %1203, %1189
  br label %1234

1214:                                             ; preds = %1186
  %1215 = load float, ptr %56, align 4, !tbaa !11
  %1216 = load ptr, ptr %23, align 8, !tbaa !5
  %1217 = load i32, ptr %49, align 4, !tbaa !9
  %1218 = sext i32 %1217 to i64
  %1219 = getelementptr inbounds float, ptr %1216, i64 %1218
  %1220 = load float, ptr %1219, align 4, !tbaa !11
  %1221 = fmul float %1215, %1220
  %1222 = load float, ptr %57, align 4, !tbaa !11
  %1223 = load float, ptr %46, align 4, !tbaa !11
  %1224 = fsub float %1222, %1223
  %1225 = fcmp ogt float %1221, %1224
  br i1 %1225, label %1226, label %1233

1226:                                             ; preds = %1214
  %1227 = load ptr, ptr %17, align 8, !tbaa !5
  %1228 = load ptr, ptr %21, align 8, !tbaa !5
  %1229 = getelementptr inbounds %struct.complex, ptr %1228, i64 1
  call void @csscal_(ptr noundef %1227, ptr noundef @c_b36, ptr noundef %1229, ptr noundef @c__1)
  %1230 = load ptr, ptr %22, align 8, !tbaa !5
  %1231 = load float, ptr %1230, align 4, !tbaa !11
  %1232 = fmul float %1231, 5.000000e-01
  store float %1232, ptr %1230, align 4, !tbaa !11
  br label %1233

1233:                                             ; preds = %1226, %1214
  br label %1234

1234:                                             ; preds = %1233, %1213
  %1235 = load i32, ptr %55, align 4, !tbaa !9
  %1236 = icmp ne i32 %1235, 0
  br i1 %1236, label %1237, label %1340

1237:                                             ; preds = %1234
  %1238 = load i32, ptr %49, align 4, !tbaa !9
  %1239 = icmp sgt i32 %1238, 1
  br i1 %1239, label %1240, label %1339

1240:                                             ; preds = %1237
  %1241 = load ptr, ptr %18, align 8, !tbaa !5
  %1242 = load i32, ptr %1241, align 4, !tbaa !9
  store i32 %1242, ptr %29, align 4, !tbaa !9
  %1243 = load i32, ptr %49, align 4, !tbaa !9
  %1244 = sub nsw i32 %1243, 1
  store i32 %1244, ptr %30, align 4, !tbaa !9
  %1245 = load i32, ptr %29, align 4, !tbaa !9
  %1246 = load i32, ptr %30, align 4, !tbaa !9
  %1247 = icmp sle i32 %1245, %1246
  br i1 %1247, label %1248, label %1250

1248:                                             ; preds = %1240
  %1249 = load i32, ptr %29, align 4, !tbaa !9
  br label %1252

1250:                                             ; preds = %1240
  %1251 = load i32, ptr %30, align 4, !tbaa !9
  br label %1252

1252:                                             ; preds = %1250, %1248
  %1253 = phi i32 [ %1249, %1248 ], [ %1251, %1250 ]
  store i32 %1253, ptr %41, align 4, !tbaa !9
  %1254 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1254, ptr %29, align 4, !tbaa !9
  %1255 = load ptr, ptr %21, align 8, !tbaa !5
  %1256 = load i32, ptr %29, align 4, !tbaa !9
  %1257 = sext i32 %1256 to i64
  %1258 = getelementptr inbounds %struct.complex, ptr %1255, i64 %1257
  %1259 = getelementptr inbounds %struct.complex, ptr %1258, i32 0, i32 0
  %1260 = load float, ptr %1259, align 4, !tbaa !16
  %1261 = fneg float %1260
  %1262 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %1261, ptr %1262, align 4, !tbaa !16
  %1263 = load ptr, ptr %21, align 8, !tbaa !5
  %1264 = load i32, ptr %29, align 4, !tbaa !9
  %1265 = sext i32 %1264 to i64
  %1266 = getelementptr inbounds %struct.complex, ptr %1263, i64 %1265
  %1267 = getelementptr inbounds %struct.complex, ptr %1266, i32 0, i32 1
  %1268 = load float, ptr %1267, align 4, !tbaa !19
  %1269 = fneg float %1268
  %1270 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %1269, ptr %1270, align 4, !tbaa !19
  %1271 = load float, ptr %51, align 4, !tbaa !11
  %1272 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %1273 = load float, ptr %1272, align 4, !tbaa !16
  %1274 = fmul float %1271, %1273
  %1275 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1274, ptr %1275, align 4, !tbaa !16
  %1276 = load float, ptr %51, align 4, !tbaa !11
  %1277 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %1278 = load float, ptr %1277, align 4, !tbaa !19
  %1279 = fmul float %1276, %1278
  %1280 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1279, ptr %1280, align 4, !tbaa !19
  %1281 = load ptr, ptr %19, align 8, !tbaa !5
  %1282 = load ptr, ptr %18, align 8, !tbaa !5
  %1283 = load i32, ptr %1282, align 4, !tbaa !9
  %1284 = add nsw i32 %1283, 1
  %1285 = load i32, ptr %41, align 4, !tbaa !9
  %1286 = sub nsw i32 %1284, %1285
  %1287 = load i32, ptr %49, align 4, !tbaa !9
  %1288 = load i32, ptr %25, align 4, !tbaa !9
  %1289 = mul nsw i32 %1287, %1288
  %1290 = add nsw i32 %1286, %1289
  %1291 = sext i32 %1290 to i64
  %1292 = getelementptr inbounds %struct.complex, ptr %1281, i64 %1291
  %1293 = load ptr, ptr %21, align 8, !tbaa !5
  %1294 = load i32, ptr %49, align 4, !tbaa !9
  %1295 = load i32, ptr %41, align 4, !tbaa !9
  %1296 = sub nsw i32 %1294, %1295
  %1297 = sext i32 %1296 to i64
  %1298 = getelementptr inbounds %struct.complex, ptr %1293, i64 %1297
  call void @caxpy_(ptr noundef %41, ptr noundef %36, ptr noundef %1292, ptr noundef @c__1, ptr noundef %1298, ptr noundef @c__1)
  %1299 = load i32, ptr %49, align 4, !tbaa !9
  %1300 = sub nsw i32 %1299, 1
  store i32 %1300, ptr %29, align 4, !tbaa !9
  %1301 = load ptr, ptr %21, align 8, !tbaa !5
  %1302 = getelementptr inbounds %struct.complex, ptr %1301, i64 1
  %1303 = call i32 @icamax_(ptr noundef %29, ptr noundef %1302, ptr noundef @c__1)
  store i32 %1303, ptr %48, align 4, !tbaa !9
  %1304 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %1304, ptr %29, align 4, !tbaa !9
  %1305 = load ptr, ptr %21, align 8, !tbaa !5
  %1306 = load i32, ptr %29, align 4, !tbaa !9
  %1307 = sext i32 %1306 to i64
  %1308 = getelementptr inbounds %struct.complex, ptr %1305, i64 %1307
  %1309 = getelementptr inbounds %struct.complex, ptr %1308, i32 0, i32 0
  %1310 = load float, ptr %1309, align 4, !tbaa !16
  store float %1310, ptr %32, align 4, !tbaa !11
  %1311 = load float, ptr %32, align 4, !tbaa !11
  %1312 = fcmp oge float %1311, 0.000000e+00
  br i1 %1312, label %1313, label %1315

1313:                                             ; preds = %1252
  %1314 = load float, ptr %32, align 4, !tbaa !11
  br label %1318

1315:                                             ; preds = %1252
  %1316 = load float, ptr %32, align 4, !tbaa !11
  %1317 = fneg float %1316
  br label %1318

1318:                                             ; preds = %1315, %1313
  %1319 = phi float [ %1314, %1313 ], [ %1317, %1315 ]
  %1320 = load ptr, ptr %21, align 8, !tbaa !5
  %1321 = load i32, ptr %48, align 4, !tbaa !9
  %1322 = sext i32 %1321 to i64
  %1323 = getelementptr inbounds %struct.complex, ptr %1320, i64 %1322
  %1324 = call <2 x float> @Cf(ptr noundef %1323)
  store <2 x float> %1324, ptr %72, align 4
  %1325 = getelementptr inbounds { float, float }, ptr %72, i32 0, i32 0
  %1326 = load float, ptr %1325, align 4
  %1327 = getelementptr inbounds { float, float }, ptr %72, i32 0, i32 1
  %1328 = load float, ptr %1327, align 4
  store float %1328, ptr %33, align 4, !tbaa !11
  %1329 = load float, ptr %33, align 4, !tbaa !11
  %1330 = fcmp oge float %1329, 0.000000e+00
  br i1 %1330, label %1331, label %1333

1331:                                             ; preds = %1318
  %1332 = load float, ptr %33, align 4, !tbaa !11
  br label %1336

1333:                                             ; preds = %1318
  %1334 = load float, ptr %33, align 4, !tbaa !11
  %1335 = fneg float %1334
  br label %1336

1336:                                             ; preds = %1333, %1331
  %1337 = phi float [ %1332, %1331 ], [ %1335, %1333 ]
  %1338 = fadd float %1319, %1337
  store float %1338, ptr %46, align 4, !tbaa !11
  br label %1339

1339:                                             ; preds = %1336, %1237
  br label %1452

1340:                                             ; preds = %1234
  %1341 = load i32, ptr %49, align 4, !tbaa !9
  %1342 = load ptr, ptr %17, align 8, !tbaa !5
  %1343 = load i32, ptr %1342, align 4, !tbaa !9
  %1344 = icmp slt i32 %1341, %1343
  br i1 %1344, label %1345, label %1451

1345:                                             ; preds = %1340
  %1346 = load ptr, ptr %18, align 8, !tbaa !5
  %1347 = load i32, ptr %1346, align 4, !tbaa !9
  store i32 %1347, ptr %29, align 4, !tbaa !9
  %1348 = load ptr, ptr %17, align 8, !tbaa !5
  %1349 = load i32, ptr %1348, align 4, !tbaa !9
  %1350 = load i32, ptr %49, align 4, !tbaa !9
  %1351 = sub nsw i32 %1349, %1350
  store i32 %1351, ptr %30, align 4, !tbaa !9
  %1352 = load i32, ptr %29, align 4, !tbaa !9
  %1353 = load i32, ptr %30, align 4, !tbaa !9
  %1354 = icmp sle i32 %1352, %1353
  br i1 %1354, label %1355, label %1357

1355:                                             ; preds = %1345
  %1356 = load i32, ptr %29, align 4, !tbaa !9
  br label %1359

1357:                                             ; preds = %1345
  %1358 = load i32, ptr %30, align 4, !tbaa !9
  br label %1359

1359:                                             ; preds = %1357, %1355
  %1360 = phi i32 [ %1356, %1355 ], [ %1358, %1357 ]
  store i32 %1360, ptr %41, align 4, !tbaa !9
  %1361 = load i32, ptr %41, align 4, !tbaa !9
  %1362 = icmp sgt i32 %1361, 0
  br i1 %1362, label %1363, label %1403

1363:                                             ; preds = %1359
  %1364 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1364, ptr %29, align 4, !tbaa !9
  %1365 = load ptr, ptr %21, align 8, !tbaa !5
  %1366 = load i32, ptr %29, align 4, !tbaa !9
  %1367 = sext i32 %1366 to i64
  %1368 = getelementptr inbounds %struct.complex, ptr %1365, i64 %1367
  %1369 = getelementptr inbounds %struct.complex, ptr %1368, i32 0, i32 0
  %1370 = load float, ptr %1369, align 4, !tbaa !16
  %1371 = fneg float %1370
  %1372 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %1371, ptr %1372, align 4, !tbaa !16
  %1373 = load ptr, ptr %21, align 8, !tbaa !5
  %1374 = load i32, ptr %29, align 4, !tbaa !9
  %1375 = sext i32 %1374 to i64
  %1376 = getelementptr inbounds %struct.complex, ptr %1373, i64 %1375
  %1377 = getelementptr inbounds %struct.complex, ptr %1376, i32 0, i32 1
  %1378 = load float, ptr %1377, align 4, !tbaa !19
  %1379 = fneg float %1378
  %1380 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %1379, ptr %1380, align 4, !tbaa !19
  %1381 = load float, ptr %51, align 4, !tbaa !11
  %1382 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %1383 = load float, ptr %1382, align 4, !tbaa !16
  %1384 = fmul float %1381, %1383
  %1385 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1384, ptr %1385, align 4, !tbaa !16
  %1386 = load float, ptr %51, align 4, !tbaa !11
  %1387 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %1388 = load float, ptr %1387, align 4, !tbaa !19
  %1389 = fmul float %1386, %1388
  %1390 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1389, ptr %1390, align 4, !tbaa !19
  %1391 = load ptr, ptr %19, align 8, !tbaa !5
  %1392 = load i32, ptr %49, align 4, !tbaa !9
  %1393 = load i32, ptr %25, align 4, !tbaa !9
  %1394 = mul nsw i32 %1392, %1393
  %1395 = add nsw i32 %1394, 2
  %1396 = sext i32 %1395 to i64
  %1397 = getelementptr inbounds %struct.complex, ptr %1391, i64 %1396
  %1398 = load ptr, ptr %21, align 8, !tbaa !5
  %1399 = load i32, ptr %49, align 4, !tbaa !9
  %1400 = add nsw i32 %1399, 1
  %1401 = sext i32 %1400 to i64
  %1402 = getelementptr inbounds %struct.complex, ptr %1398, i64 %1401
  call void @caxpy_(ptr noundef %41, ptr noundef %36, ptr noundef %1397, ptr noundef @c__1, ptr noundef %1402, ptr noundef @c__1)
  br label %1403

1403:                                             ; preds = %1363, %1359
  %1404 = load ptr, ptr %17, align 8, !tbaa !5
  %1405 = load i32, ptr %1404, align 4, !tbaa !9
  %1406 = load i32, ptr %49, align 4, !tbaa !9
  %1407 = sub nsw i32 %1405, %1406
  store i32 %1407, ptr %29, align 4, !tbaa !9
  %1408 = load i32, ptr %49, align 4, !tbaa !9
  %1409 = load ptr, ptr %21, align 8, !tbaa !5
  %1410 = load i32, ptr %49, align 4, !tbaa !9
  %1411 = add nsw i32 %1410, 1
  %1412 = sext i32 %1411 to i64
  %1413 = getelementptr inbounds %struct.complex, ptr %1409, i64 %1412
  %1414 = call i32 @icamax_(ptr noundef %29, ptr noundef %1413, ptr noundef @c__1)
  %1415 = add nsw i32 %1408, %1414
  store i32 %1415, ptr %48, align 4, !tbaa !9
  %1416 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %1416, ptr %29, align 4, !tbaa !9
  %1417 = load ptr, ptr %21, align 8, !tbaa !5
  %1418 = load i32, ptr %29, align 4, !tbaa !9
  %1419 = sext i32 %1418 to i64
  %1420 = getelementptr inbounds %struct.complex, ptr %1417, i64 %1419
  %1421 = getelementptr inbounds %struct.complex, ptr %1420, i32 0, i32 0
  %1422 = load float, ptr %1421, align 4, !tbaa !16
  store float %1422, ptr %32, align 4, !tbaa !11
  %1423 = load float, ptr %32, align 4, !tbaa !11
  %1424 = fcmp oge float %1423, 0.000000e+00
  br i1 %1424, label %1425, label %1427

1425:                                             ; preds = %1403
  %1426 = load float, ptr %32, align 4, !tbaa !11
  br label %1430

1427:                                             ; preds = %1403
  %1428 = load float, ptr %32, align 4, !tbaa !11
  %1429 = fneg float %1428
  br label %1430

1430:                                             ; preds = %1427, %1425
  %1431 = phi float [ %1426, %1425 ], [ %1429, %1427 ]
  %1432 = load ptr, ptr %21, align 8, !tbaa !5
  %1433 = load i32, ptr %48, align 4, !tbaa !9
  %1434 = sext i32 %1433 to i64
  %1435 = getelementptr inbounds %struct.complex, ptr %1432, i64 %1434
  %1436 = call <2 x float> @Cf(ptr noundef %1435)
  store <2 x float> %1436, ptr %73, align 4
  %1437 = getelementptr inbounds { float, float }, ptr %73, i32 0, i32 0
  %1438 = load float, ptr %1437, align 4
  %1439 = getelementptr inbounds { float, float }, ptr %73, i32 0, i32 1
  %1440 = load float, ptr %1439, align 4
  store float %1440, ptr %33, align 4, !tbaa !11
  %1441 = load float, ptr %33, align 4, !tbaa !11
  %1442 = fcmp oge float %1441, 0.000000e+00
  br i1 %1442, label %1443, label %1445

1443:                                             ; preds = %1430
  %1444 = load float, ptr %33, align 4, !tbaa !11
  br label %1448

1445:                                             ; preds = %1430
  %1446 = load float, ptr %33, align 4, !tbaa !11
  %1447 = fneg float %1446
  br label %1448

1448:                                             ; preds = %1445, %1443
  %1449 = phi float [ %1444, %1443 ], [ %1447, %1445 ]
  %1450 = fadd float %1431, %1449
  store float %1450, ptr %46, align 4, !tbaa !11
  br label %1451

1451:                                             ; preds = %1448, %1340
  br label %1452

1452:                                             ; preds = %1451, %1339
  br label %1453

1453:                                             ; preds = %1452
  %1454 = load i32, ptr %28, align 4, !tbaa !9
  %1455 = load i32, ptr %49, align 4, !tbaa !9
  %1456 = add nsw i32 %1455, %1454
  store i32 %1456, ptr %49, align 4, !tbaa !9
  br label %854, !llvm.loop !25

1457:                                             ; preds = %867
  br label %3277

1458:                                             ; preds = %847
  %1459 = load ptr, ptr %14, align 8, !tbaa !5
  %1460 = call i32 @lsame_(ptr noundef %1459, ptr noundef @.str.3)
  %1461 = icmp ne i32 %1460, 0
  br i1 %1461, label %1462, label %2369

1462:                                             ; preds = %1458
  %1463 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %1463, ptr %28, align 4, !tbaa !9
  %1464 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1464, ptr %27, align 4, !tbaa !9
  %1465 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %1465, ptr %49, align 4, !tbaa !9
  br label %1466

1466:                                             ; preds = %2364, %1462
  %1467 = load i32, ptr %27, align 4, !tbaa !9
  %1468 = icmp slt i32 %1467, 0
  br i1 %1468, label %1469, label %1474

1469:                                             ; preds = %1466
  %1470 = load i32, ptr %49, align 4, !tbaa !9
  %1471 = load i32, ptr %28, align 4, !tbaa !9
  %1472 = icmp sge i32 %1470, %1471
  %1473 = zext i1 %1472 to i32
  br label %1479

1474:                                             ; preds = %1466
  %1475 = load i32, ptr %49, align 4, !tbaa !9
  %1476 = load i32, ptr %28, align 4, !tbaa !9
  %1477 = icmp sle i32 %1475, %1476
  %1478 = zext i1 %1477 to i32
  br label %1479

1479:                                             ; preds = %1474, %1469
  %1480 = phi i32 [ %1473, %1469 ], [ %1478, %1474 ]
  %1481 = icmp ne i32 %1480, 0
  br i1 %1481, label %1482, label %2368

1482:                                             ; preds = %1479
  %1483 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1483, ptr %29, align 4, !tbaa !9
  %1484 = load ptr, ptr %21, align 8, !tbaa !5
  %1485 = load i32, ptr %29, align 4, !tbaa !9
  %1486 = sext i32 %1485 to i64
  %1487 = getelementptr inbounds %struct.complex, ptr %1484, i64 %1486
  %1488 = getelementptr inbounds %struct.complex, ptr %1487, i32 0, i32 0
  %1489 = load float, ptr %1488, align 4, !tbaa !16
  store float %1489, ptr %32, align 4, !tbaa !11
  %1490 = load float, ptr %32, align 4, !tbaa !11
  %1491 = fcmp oge float %1490, 0.000000e+00
  br i1 %1491, label %1492, label %1494

1492:                                             ; preds = %1482
  %1493 = load float, ptr %32, align 4, !tbaa !11
  br label %1497

1494:                                             ; preds = %1482
  %1495 = load float, ptr %32, align 4, !tbaa !11
  %1496 = fneg float %1495
  br label %1497

1497:                                             ; preds = %1494, %1492
  %1498 = phi float [ %1493, %1492 ], [ %1496, %1494 ]
  %1499 = load ptr, ptr %21, align 8, !tbaa !5
  %1500 = load i32, ptr %49, align 4, !tbaa !9
  %1501 = sext i32 %1500 to i64
  %1502 = getelementptr inbounds %struct.complex, ptr %1499, i64 %1501
  %1503 = call <2 x float> @Cf(ptr noundef %1502)
  store <2 x float> %1503, ptr %74, align 4
  %1504 = getelementptr inbounds { float, float }, ptr %74, i32 0, i32 0
  %1505 = load float, ptr %1504, align 4
  %1506 = getelementptr inbounds { float, float }, ptr %74, i32 0, i32 1
  %1507 = load float, ptr %1506, align 4
  store float %1507, ptr %33, align 4, !tbaa !11
  %1508 = load float, ptr %33, align 4, !tbaa !11
  %1509 = fcmp oge float %1508, 0.000000e+00
  br i1 %1509, label %1510, label %1512

1510:                                             ; preds = %1497
  %1511 = load float, ptr %33, align 4, !tbaa !11
  br label %1515

1512:                                             ; preds = %1497
  %1513 = load float, ptr %33, align 4, !tbaa !11
  %1514 = fneg float %1513
  br label %1515

1515:                                             ; preds = %1512, %1510
  %1516 = phi float [ %1511, %1510 ], [ %1514, %1512 ]
  %1517 = fadd float %1498, %1516
  store float %1517, ptr %56, align 4, !tbaa !11
  %1518 = load float, ptr %51, align 4, !tbaa !11
  %1519 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %1518, ptr %1519, align 4, !tbaa !16
  %1520 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float 0.000000e+00, ptr %1520, align 4, !tbaa !19
  %1521 = load float, ptr %46, align 4, !tbaa !11
  %1522 = fcmp oge float %1521, 1.000000e+00
  br i1 %1522, label %1523, label %1525

1523:                                             ; preds = %1515
  %1524 = load float, ptr %46, align 4, !tbaa !11
  br label %1526

1525:                                             ; preds = %1515
  br label %1526

1526:                                             ; preds = %1525, %1523
  %1527 = phi float [ %1524, %1523 ], [ 1.000000e+00, %1525 ]
  %1528 = fdiv float 1.000000e+00, %1527
  store float %1528, ptr %62, align 4, !tbaa !11
  %1529 = load ptr, ptr %23, align 8, !tbaa !5
  %1530 = load i32, ptr %49, align 4, !tbaa !9
  %1531 = sext i32 %1530 to i64
  %1532 = getelementptr inbounds float, ptr %1529, i64 %1531
  %1533 = load float, ptr %1532, align 4, !tbaa !11
  %1534 = load float, ptr %57, align 4, !tbaa !11
  %1535 = load float, ptr %56, align 4, !tbaa !11
  %1536 = fsub float %1534, %1535
  %1537 = load float, ptr %62, align 4, !tbaa !11
  %1538 = fmul float %1536, %1537
  %1539 = fcmp ogt float %1533, %1538
  br i1 %1539, label %1540, label %1642

1540:                                             ; preds = %1526
  %1541 = load float, ptr %62, align 4, !tbaa !11
  %1542 = fmul float %1541, 5.000000e-01
  store float %1542, ptr %62, align 4, !tbaa !11
  %1543 = load i32, ptr %61, align 4, !tbaa !9
  %1544 = icmp ne i32 %1543, 0
  br i1 %1544, label %1545, label %1575

1545:                                             ; preds = %1540
  %1546 = load i32, ptr %50, align 4, !tbaa !9
  %1547 = load i32, ptr %49, align 4, !tbaa !9
  %1548 = load i32, ptr %25, align 4, !tbaa !9
  %1549 = mul nsw i32 %1547, %1548
  %1550 = add nsw i32 %1546, %1549
  store i32 %1550, ptr %29, align 4, !tbaa !9
  %1551 = load float, ptr %51, align 4, !tbaa !11
  %1552 = load ptr, ptr %19, align 8, !tbaa !5
  %1553 = load i32, ptr %29, align 4, !tbaa !9
  %1554 = sext i32 %1553 to i64
  %1555 = getelementptr inbounds %struct.complex, ptr %1552, i64 %1554
  %1556 = getelementptr inbounds %struct.complex, ptr %1555, i32 0, i32 0
  %1557 = load float, ptr %1556, align 4, !tbaa !16
  %1558 = fmul float %1551, %1557
  %1559 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1558, ptr %1559, align 4, !tbaa !16
  %1560 = load float, ptr %51, align 4, !tbaa !11
  %1561 = load ptr, ptr %19, align 8, !tbaa !5
  %1562 = load i32, ptr %29, align 4, !tbaa !9
  %1563 = sext i32 %1562 to i64
  %1564 = getelementptr inbounds %struct.complex, ptr %1561, i64 %1563
  %1565 = getelementptr inbounds %struct.complex, ptr %1564, i32 0, i32 1
  %1566 = load float, ptr %1565, align 4, !tbaa !19
  %1567 = fmul float %1560, %1566
  %1568 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1567, ptr %1568, align 4, !tbaa !19
  %1569 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1570 = load float, ptr %1569, align 4, !tbaa !16
  %1571 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %1570, ptr %1571, align 4, !tbaa !16
  %1572 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1573 = load float, ptr %1572, align 4, !tbaa !19
  %1574 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %1573, ptr %1574, align 4, !tbaa !19
  br label %1579

1575:                                             ; preds = %1540
  %1576 = load float, ptr %51, align 4, !tbaa !11
  %1577 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %1576, ptr %1577, align 4, !tbaa !16
  %1578 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float 0.000000e+00, ptr %1578, align 4, !tbaa !19
  br label %1579

1579:                                             ; preds = %1575, %1545
  %1580 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %1581 = load float, ptr %1580, align 4, !tbaa !16
  store float %1581, ptr %32, align 4, !tbaa !11
  %1582 = load float, ptr %32, align 4, !tbaa !11
  %1583 = fcmp oge float %1582, 0.000000e+00
  br i1 %1583, label %1584, label %1586

1584:                                             ; preds = %1579
  %1585 = load float, ptr %32, align 4, !tbaa !11
  br label %1589

1586:                                             ; preds = %1579
  %1587 = load float, ptr %32, align 4, !tbaa !11
  %1588 = fneg float %1587
  br label %1589

1589:                                             ; preds = %1586, %1584
  %1590 = phi float [ %1585, %1584 ], [ %1588, %1586 ]
  %1591 = call <2 x float> @Cf(ptr noundef %45)
  store <2 x float> %1591, ptr %75, align 4
  %1592 = getelementptr inbounds { float, float }, ptr %75, i32 0, i32 0
  %1593 = load float, ptr %1592, align 4
  %1594 = getelementptr inbounds { float, float }, ptr %75, i32 0, i32 1
  %1595 = load float, ptr %1594, align 4
  store float %1595, ptr %33, align 4, !tbaa !11
  %1596 = load float, ptr %33, align 4, !tbaa !11
  %1597 = fcmp oge float %1596, 0.000000e+00
  br i1 %1597, label %1598, label %1600

1598:                                             ; preds = %1589
  %1599 = load float, ptr %33, align 4, !tbaa !11
  br label %1603

1600:                                             ; preds = %1589
  %1601 = load float, ptr %33, align 4, !tbaa !11
  %1602 = fneg float %1601
  br label %1603

1603:                                             ; preds = %1600, %1598
  %1604 = phi float [ %1599, %1598 ], [ %1602, %1600 ]
  %1605 = fadd float %1590, %1604
  store float %1605, ptr %63, align 4, !tbaa !11
  %1606 = load float, ptr %63, align 4, !tbaa !11
  %1607 = fcmp ogt float %1606, 1.000000e+00
  br i1 %1607, label %1608, label %1627

1608:                                             ; preds = %1603
  store float 1.000000e+00, ptr %32, align 4, !tbaa !11
  %1609 = load float, ptr %62, align 4, !tbaa !11
  %1610 = load float, ptr %63, align 4, !tbaa !11
  %1611 = fmul float %1609, %1610
  store float %1611, ptr %33, align 4, !tbaa !11
  %1612 = load float, ptr %32, align 4, !tbaa !11
  %1613 = load float, ptr %33, align 4, !tbaa !11
  %1614 = fcmp ole float %1612, %1613
  br i1 %1614, label %1615, label %1617

1615:                                             ; preds = %1608
  %1616 = load float, ptr %32, align 4, !tbaa !11
  br label %1619

1617:                                             ; preds = %1608
  %1618 = load float, ptr %33, align 4, !tbaa !11
  br label %1619

1619:                                             ; preds = %1617, %1615
  %1620 = phi float [ %1616, %1615 ], [ %1618, %1617 ]
  store float %1620, ptr %62, align 4, !tbaa !11
  call void @cladiv_(ptr noundef %36, ptr noundef %52, ptr noundef %45)
  %1621 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1622 = load float, ptr %1621, align 4, !tbaa !16
  %1623 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %1622, ptr %1623, align 4, !tbaa !16
  %1624 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1625 = load float, ptr %1624, align 4, !tbaa !19
  %1626 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %1625, ptr %1626, align 4, !tbaa !19
  br label %1627

1627:                                             ; preds = %1619, %1603
  %1628 = load float, ptr %62, align 4, !tbaa !11
  %1629 = fcmp olt float %1628, 1.000000e+00
  br i1 %1629, label %1630, label %1641

1630:                                             ; preds = %1627
  %1631 = load ptr, ptr %17, align 8, !tbaa !5
  %1632 = load ptr, ptr %21, align 8, !tbaa !5
  %1633 = getelementptr inbounds %struct.complex, ptr %1632, i64 1
  call void @csscal_(ptr noundef %1631, ptr noundef %62, ptr noundef %1633, ptr noundef @c__1)
  %1634 = load float, ptr %62, align 4, !tbaa !11
  %1635 = load ptr, ptr %22, align 8, !tbaa !5
  %1636 = load float, ptr %1635, align 4, !tbaa !11
  %1637 = fmul float %1636, %1634
  store float %1637, ptr %1635, align 4, !tbaa !11
  %1638 = load float, ptr %62, align 4, !tbaa !11
  %1639 = load float, ptr %46, align 4, !tbaa !11
  %1640 = fmul float %1639, %1638
  store float %1640, ptr %46, align 4, !tbaa !11
  br label %1641

1641:                                             ; preds = %1630, %1627
  br label %1642

1642:                                             ; preds = %1641, %1526
  %1643 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float 0.000000e+00, ptr %1643, align 4, !tbaa !16
  %1644 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float 0.000000e+00, ptr %1644, align 4, !tbaa !19
  %1645 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1646 = load float, ptr %1645, align 4, !tbaa !16
  %1647 = fcmp oeq float %1646, 1.000000e+00
  br i1 %1647, label %1648, label %1732

1648:                                             ; preds = %1642
  %1649 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1650 = load float, ptr %1649, align 4, !tbaa !19
  %1651 = fcmp oeq float %1650, 0.000000e+00
  br i1 %1651, label %1652, label %1732

1652:                                             ; preds = %1648
  %1653 = load i32, ptr %55, align 4, !tbaa !9
  %1654 = icmp ne i32 %1653, 0
  br i1 %1654, label %1655, label %1693

1655:                                             ; preds = %1652
  %1656 = load ptr, ptr %18, align 8, !tbaa !5
  %1657 = load i32, ptr %1656, align 4, !tbaa !9
  store i32 %1657, ptr %29, align 4, !tbaa !9
  %1658 = load i32, ptr %49, align 4, !tbaa !9
  %1659 = sub nsw i32 %1658, 1
  store i32 %1659, ptr %30, align 4, !tbaa !9
  %1660 = load i32, ptr %29, align 4, !tbaa !9
  %1661 = load i32, ptr %30, align 4, !tbaa !9
  %1662 = icmp sle i32 %1660, %1661
  br i1 %1662, label %1663, label %1665

1663:                                             ; preds = %1655
  %1664 = load i32, ptr %29, align 4, !tbaa !9
  br label %1667

1665:                                             ; preds = %1655
  %1666 = load i32, ptr %30, align 4, !tbaa !9
  br label %1667

1667:                                             ; preds = %1665, %1663
  %1668 = phi i32 [ %1664, %1663 ], [ %1666, %1665 ]
  store i32 %1668, ptr %41, align 4, !tbaa !9
  %1669 = load ptr, ptr %19, align 8, !tbaa !5
  %1670 = load ptr, ptr %18, align 8, !tbaa !5
  %1671 = load i32, ptr %1670, align 4, !tbaa !9
  %1672 = add nsw i32 %1671, 1
  %1673 = load i32, ptr %41, align 4, !tbaa !9
  %1674 = sub nsw i32 %1672, %1673
  %1675 = load i32, ptr %49, align 4, !tbaa !9
  %1676 = load i32, ptr %25, align 4, !tbaa !9
  %1677 = mul nsw i32 %1675, %1676
  %1678 = add nsw i32 %1674, %1677
  %1679 = sext i32 %1678 to i64
  %1680 = getelementptr inbounds %struct.complex, ptr %1669, i64 %1679
  %1681 = load ptr, ptr %21, align 8, !tbaa !5
  %1682 = load i32, ptr %49, align 4, !tbaa !9
  %1683 = load i32, ptr %41, align 4, !tbaa !9
  %1684 = sub nsw i32 %1682, %1683
  %1685 = sext i32 %1684 to i64
  %1686 = getelementptr inbounds %struct.complex, ptr %1681, i64 %1685
  call void @cdotu_(ptr noundef %36, ptr noundef %41, ptr noundef %1680, ptr noundef @c__1, ptr noundef %1686, ptr noundef @c__1)
  %1687 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1688 = load float, ptr %1687, align 4, !tbaa !16
  %1689 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %1688, ptr %1689, align 4, !tbaa !16
  %1690 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1691 = load float, ptr %1690, align 4, !tbaa !19
  %1692 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %1691, ptr %1692, align 4, !tbaa !19
  br label %1731

1693:                                             ; preds = %1652
  %1694 = load ptr, ptr %18, align 8, !tbaa !5
  %1695 = load i32, ptr %1694, align 4, !tbaa !9
  store i32 %1695, ptr %29, align 4, !tbaa !9
  %1696 = load ptr, ptr %17, align 8, !tbaa !5
  %1697 = load i32, ptr %1696, align 4, !tbaa !9
  %1698 = load i32, ptr %49, align 4, !tbaa !9
  %1699 = sub nsw i32 %1697, %1698
  store i32 %1699, ptr %30, align 4, !tbaa !9
  %1700 = load i32, ptr %29, align 4, !tbaa !9
  %1701 = load i32, ptr %30, align 4, !tbaa !9
  %1702 = icmp sle i32 %1700, %1701
  br i1 %1702, label %1703, label %1705

1703:                                             ; preds = %1693
  %1704 = load i32, ptr %29, align 4, !tbaa !9
  br label %1707

1705:                                             ; preds = %1693
  %1706 = load i32, ptr %30, align 4, !tbaa !9
  br label %1707

1707:                                             ; preds = %1705, %1703
  %1708 = phi i32 [ %1704, %1703 ], [ %1706, %1705 ]
  store i32 %1708, ptr %41, align 4, !tbaa !9
  %1709 = load i32, ptr %41, align 4, !tbaa !9
  %1710 = icmp sgt i32 %1709, 1
  br i1 %1710, label %1711, label %1730

1711:                                             ; preds = %1707
  %1712 = load ptr, ptr %19, align 8, !tbaa !5
  %1713 = load i32, ptr %49, align 4, !tbaa !9
  %1714 = load i32, ptr %25, align 4, !tbaa !9
  %1715 = mul nsw i32 %1713, %1714
  %1716 = add nsw i32 %1715, 2
  %1717 = sext i32 %1716 to i64
  %1718 = getelementptr inbounds %struct.complex, ptr %1712, i64 %1717
  %1719 = load ptr, ptr %21, align 8, !tbaa !5
  %1720 = load i32, ptr %49, align 4, !tbaa !9
  %1721 = add nsw i32 %1720, 1
  %1722 = sext i32 %1721 to i64
  %1723 = getelementptr inbounds %struct.complex, ptr %1719, i64 %1722
  call void @cdotu_(ptr noundef %36, ptr noundef %41, ptr noundef %1718, ptr noundef @c__1, ptr noundef %1723, ptr noundef @c__1)
  %1724 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1725 = load float, ptr %1724, align 4, !tbaa !16
  %1726 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %1725, ptr %1726, align 4, !tbaa !16
  %1727 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1728 = load float, ptr %1727, align 4, !tbaa !19
  %1729 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %1728, ptr %1729, align 4, !tbaa !19
  br label %1730

1730:                                             ; preds = %1711, %1707
  br label %1731

1731:                                             ; preds = %1730, %1667
  br label %2003

1732:                                             ; preds = %1648, %1642
  %1733 = load i32, ptr %55, align 4, !tbaa !9
  %1734 = icmp ne i32 %1733, 0
  br i1 %1734, label %1735, label %1871

1735:                                             ; preds = %1732
  %1736 = load ptr, ptr %18, align 8, !tbaa !5
  %1737 = load i32, ptr %1736, align 4, !tbaa !9
  store i32 %1737, ptr %29, align 4, !tbaa !9
  %1738 = load i32, ptr %49, align 4, !tbaa !9
  %1739 = sub nsw i32 %1738, 1
  store i32 %1739, ptr %30, align 4, !tbaa !9
  %1740 = load i32, ptr %29, align 4, !tbaa !9
  %1741 = load i32, ptr %30, align 4, !tbaa !9
  %1742 = icmp sle i32 %1740, %1741
  br i1 %1742, label %1743, label %1745

1743:                                             ; preds = %1735
  %1744 = load i32, ptr %29, align 4, !tbaa !9
  br label %1747

1745:                                             ; preds = %1735
  %1746 = load i32, ptr %30, align 4, !tbaa !9
  br label %1747

1747:                                             ; preds = %1745, %1743
  %1748 = phi i32 [ %1744, %1743 ], [ %1746, %1745 ]
  store i32 %1748, ptr %41, align 4, !tbaa !9
  %1749 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1749, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %48, align 4, !tbaa !9
  br label %1750

1750:                                             ; preds = %1867, %1747
  %1751 = load i32, ptr %48, align 4, !tbaa !9
  %1752 = load i32, ptr %29, align 4, !tbaa !9
  %1753 = icmp sle i32 %1751, %1752
  br i1 %1753, label %1754, label %1870

1754:                                             ; preds = %1750
  %1755 = load ptr, ptr %18, align 8, !tbaa !5
  %1756 = load i32, ptr %1755, align 4, !tbaa !9
  %1757 = load i32, ptr %48, align 4, !tbaa !9
  %1758 = add nsw i32 %1756, %1757
  %1759 = load i32, ptr %41, align 4, !tbaa !9
  %1760 = sub nsw i32 %1758, %1759
  %1761 = load i32, ptr %49, align 4, !tbaa !9
  %1762 = load i32, ptr %25, align 4, !tbaa !9
  %1763 = mul nsw i32 %1761, %1762
  %1764 = add nsw i32 %1760, %1763
  store i32 %1764, ptr %30, align 4, !tbaa !9
  %1765 = load ptr, ptr %19, align 8, !tbaa !5
  %1766 = load i32, ptr %30, align 4, !tbaa !9
  %1767 = sext i32 %1766 to i64
  %1768 = getelementptr inbounds %struct.complex, ptr %1765, i64 %1767
  %1769 = getelementptr inbounds %struct.complex, ptr %1768, i32 0, i32 0
  %1770 = load float, ptr %1769, align 4, !tbaa !16
  %1771 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1772 = load float, ptr %1771, align 4, !tbaa !16
  %1773 = load ptr, ptr %19, align 8, !tbaa !5
  %1774 = load i32, ptr %30, align 4, !tbaa !9
  %1775 = sext i32 %1774 to i64
  %1776 = getelementptr inbounds %struct.complex, ptr %1773, i64 %1775
  %1777 = getelementptr inbounds %struct.complex, ptr %1776, i32 0, i32 1
  %1778 = load float, ptr %1777, align 4, !tbaa !19
  %1779 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1780 = load float, ptr %1779, align 4, !tbaa !19
  %1781 = fmul float %1778, %1780
  %1782 = fneg float %1781
  %1783 = call float @llvm.fmuladd.f32(float %1770, float %1772, float %1782)
  %1784 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %1783, ptr %1784, align 4, !tbaa !16
  %1785 = load ptr, ptr %19, align 8, !tbaa !5
  %1786 = load i32, ptr %30, align 4, !tbaa !9
  %1787 = sext i32 %1786 to i64
  %1788 = getelementptr inbounds %struct.complex, ptr %1785, i64 %1787
  %1789 = getelementptr inbounds %struct.complex, ptr %1788, i32 0, i32 0
  %1790 = load float, ptr %1789, align 4, !tbaa !16
  %1791 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1792 = load float, ptr %1791, align 4, !tbaa !19
  %1793 = load ptr, ptr %19, align 8, !tbaa !5
  %1794 = load i32, ptr %30, align 4, !tbaa !9
  %1795 = sext i32 %1794 to i64
  %1796 = getelementptr inbounds %struct.complex, ptr %1793, i64 %1795
  %1797 = getelementptr inbounds %struct.complex, ptr %1796, i32 0, i32 1
  %1798 = load float, ptr %1797, align 4, !tbaa !19
  %1799 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1800 = load float, ptr %1799, align 4, !tbaa !16
  %1801 = fmul float %1798, %1800
  %1802 = call float @llvm.fmuladd.f32(float %1790, float %1792, float %1801)
  %1803 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %1802, ptr %1803, align 4, !tbaa !19
  %1804 = load i32, ptr %49, align 4, !tbaa !9
  %1805 = load i32, ptr %41, align 4, !tbaa !9
  %1806 = sub nsw i32 %1804, %1805
  %1807 = sub nsw i32 %1806, 1
  %1808 = load i32, ptr %48, align 4, !tbaa !9
  %1809 = add nsw i32 %1807, %1808
  store i32 %1809, ptr %31, align 4, !tbaa !9
  %1810 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %1811 = load float, ptr %1810, align 4, !tbaa !16
  %1812 = load ptr, ptr %21, align 8, !tbaa !5
  %1813 = load i32, ptr %31, align 4, !tbaa !9
  %1814 = sext i32 %1813 to i64
  %1815 = getelementptr inbounds %struct.complex, ptr %1812, i64 %1814
  %1816 = getelementptr inbounds %struct.complex, ptr %1815, i32 0, i32 0
  %1817 = load float, ptr %1816, align 4, !tbaa !16
  %1818 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %1819 = load float, ptr %1818, align 4, !tbaa !19
  %1820 = load ptr, ptr %21, align 8, !tbaa !5
  %1821 = load i32, ptr %31, align 4, !tbaa !9
  %1822 = sext i32 %1821 to i64
  %1823 = getelementptr inbounds %struct.complex, ptr %1820, i64 %1822
  %1824 = getelementptr inbounds %struct.complex, ptr %1823, i32 0, i32 1
  %1825 = load float, ptr %1824, align 4, !tbaa !19
  %1826 = fmul float %1819, %1825
  %1827 = fneg float %1826
  %1828 = call float @llvm.fmuladd.f32(float %1811, float %1817, float %1827)
  %1829 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %1828, ptr %1829, align 4, !tbaa !16
  %1830 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %1831 = load float, ptr %1830, align 4, !tbaa !16
  %1832 = load ptr, ptr %21, align 8, !tbaa !5
  %1833 = load i32, ptr %31, align 4, !tbaa !9
  %1834 = sext i32 %1833 to i64
  %1835 = getelementptr inbounds %struct.complex, ptr %1832, i64 %1834
  %1836 = getelementptr inbounds %struct.complex, ptr %1835, i32 0, i32 1
  %1837 = load float, ptr %1836, align 4, !tbaa !19
  %1838 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %1839 = load float, ptr %1838, align 4, !tbaa !19
  %1840 = load ptr, ptr %21, align 8, !tbaa !5
  %1841 = load i32, ptr %31, align 4, !tbaa !9
  %1842 = sext i32 %1841 to i64
  %1843 = getelementptr inbounds %struct.complex, ptr %1840, i64 %1842
  %1844 = getelementptr inbounds %struct.complex, ptr %1843, i32 0, i32 0
  %1845 = load float, ptr %1844, align 4, !tbaa !16
  %1846 = fmul float %1839, %1845
  %1847 = call float @llvm.fmuladd.f32(float %1831, float %1837, float %1846)
  %1848 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %1847, ptr %1848, align 4, !tbaa !19
  %1849 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %1850 = load float, ptr %1849, align 4, !tbaa !16
  %1851 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %1852 = load float, ptr %1851, align 4, !tbaa !16
  %1853 = fadd float %1850, %1852
  %1854 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1853, ptr %1854, align 4, !tbaa !16
  %1855 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %1856 = load float, ptr %1855, align 4, !tbaa !19
  %1857 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %1858 = load float, ptr %1857, align 4, !tbaa !19
  %1859 = fadd float %1856, %1858
  %1860 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1859, ptr %1860, align 4, !tbaa !19
  %1861 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1862 = load float, ptr %1861, align 4, !tbaa !16
  %1863 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %1862, ptr %1863, align 4, !tbaa !16
  %1864 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1865 = load float, ptr %1864, align 4, !tbaa !19
  %1866 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %1865, ptr %1866, align 4, !tbaa !19
  br label %1867

1867:                                             ; preds = %1754
  %1868 = load i32, ptr %48, align 4, !tbaa !9
  %1869 = add nsw i32 %1868, 1
  store i32 %1869, ptr %48, align 4, !tbaa !9
  br label %1750, !llvm.loop !26

1870:                                             ; preds = %1750
  br label %2002

1871:                                             ; preds = %1732
  %1872 = load ptr, ptr %18, align 8, !tbaa !5
  %1873 = load i32, ptr %1872, align 4, !tbaa !9
  store i32 %1873, ptr %29, align 4, !tbaa !9
  %1874 = load ptr, ptr %17, align 8, !tbaa !5
  %1875 = load i32, ptr %1874, align 4, !tbaa !9
  %1876 = load i32, ptr %49, align 4, !tbaa !9
  %1877 = sub nsw i32 %1875, %1876
  store i32 %1877, ptr %30, align 4, !tbaa !9
  %1878 = load i32, ptr %29, align 4, !tbaa !9
  %1879 = load i32, ptr %30, align 4, !tbaa !9
  %1880 = icmp sle i32 %1878, %1879
  br i1 %1880, label %1881, label %1883

1881:                                             ; preds = %1871
  %1882 = load i32, ptr %29, align 4, !tbaa !9
  br label %1885

1883:                                             ; preds = %1871
  %1884 = load i32, ptr %30, align 4, !tbaa !9
  br label %1885

1885:                                             ; preds = %1883, %1881
  %1886 = phi i32 [ %1882, %1881 ], [ %1884, %1883 ]
  store i32 %1886, ptr %41, align 4, !tbaa !9
  %1887 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1887, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %48, align 4, !tbaa !9
  br label %1888

1888:                                             ; preds = %1998, %1885
  %1889 = load i32, ptr %48, align 4, !tbaa !9
  %1890 = load i32, ptr %29, align 4, !tbaa !9
  %1891 = icmp sle i32 %1889, %1890
  br i1 %1891, label %1892, label %2001

1892:                                             ; preds = %1888
  %1893 = load i32, ptr %48, align 4, !tbaa !9
  %1894 = add nsw i32 %1893, 1
  %1895 = load i32, ptr %49, align 4, !tbaa !9
  %1896 = load i32, ptr %25, align 4, !tbaa !9
  %1897 = mul nsw i32 %1895, %1896
  %1898 = add nsw i32 %1894, %1897
  store i32 %1898, ptr %30, align 4, !tbaa !9
  %1899 = load ptr, ptr %19, align 8, !tbaa !5
  %1900 = load i32, ptr %30, align 4, !tbaa !9
  %1901 = sext i32 %1900 to i64
  %1902 = getelementptr inbounds %struct.complex, ptr %1899, i64 %1901
  %1903 = getelementptr inbounds %struct.complex, ptr %1902, i32 0, i32 0
  %1904 = load float, ptr %1903, align 4, !tbaa !16
  %1905 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1906 = load float, ptr %1905, align 4, !tbaa !16
  %1907 = load ptr, ptr %19, align 8, !tbaa !5
  %1908 = load i32, ptr %30, align 4, !tbaa !9
  %1909 = sext i32 %1908 to i64
  %1910 = getelementptr inbounds %struct.complex, ptr %1907, i64 %1909
  %1911 = getelementptr inbounds %struct.complex, ptr %1910, i32 0, i32 1
  %1912 = load float, ptr %1911, align 4, !tbaa !19
  %1913 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1914 = load float, ptr %1913, align 4, !tbaa !19
  %1915 = fmul float %1912, %1914
  %1916 = fneg float %1915
  %1917 = call float @llvm.fmuladd.f32(float %1904, float %1906, float %1916)
  %1918 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %1917, ptr %1918, align 4, !tbaa !16
  %1919 = load ptr, ptr %19, align 8, !tbaa !5
  %1920 = load i32, ptr %30, align 4, !tbaa !9
  %1921 = sext i32 %1920 to i64
  %1922 = getelementptr inbounds %struct.complex, ptr %1919, i64 %1921
  %1923 = getelementptr inbounds %struct.complex, ptr %1922, i32 0, i32 0
  %1924 = load float, ptr %1923, align 4, !tbaa !16
  %1925 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %1926 = load float, ptr %1925, align 4, !tbaa !19
  %1927 = load ptr, ptr %19, align 8, !tbaa !5
  %1928 = load i32, ptr %30, align 4, !tbaa !9
  %1929 = sext i32 %1928 to i64
  %1930 = getelementptr inbounds %struct.complex, ptr %1927, i64 %1929
  %1931 = getelementptr inbounds %struct.complex, ptr %1930, i32 0, i32 1
  %1932 = load float, ptr %1931, align 4, !tbaa !19
  %1933 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %1934 = load float, ptr %1933, align 4, !tbaa !16
  %1935 = fmul float %1932, %1934
  %1936 = call float @llvm.fmuladd.f32(float %1924, float %1926, float %1935)
  %1937 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %1936, ptr %1937, align 4, !tbaa !19
  %1938 = load i32, ptr %49, align 4, !tbaa !9
  %1939 = load i32, ptr %48, align 4, !tbaa !9
  %1940 = add nsw i32 %1938, %1939
  store i32 %1940, ptr %31, align 4, !tbaa !9
  %1941 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %1942 = load float, ptr %1941, align 4, !tbaa !16
  %1943 = load ptr, ptr %21, align 8, !tbaa !5
  %1944 = load i32, ptr %31, align 4, !tbaa !9
  %1945 = sext i32 %1944 to i64
  %1946 = getelementptr inbounds %struct.complex, ptr %1943, i64 %1945
  %1947 = getelementptr inbounds %struct.complex, ptr %1946, i32 0, i32 0
  %1948 = load float, ptr %1947, align 4, !tbaa !16
  %1949 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %1950 = load float, ptr %1949, align 4, !tbaa !19
  %1951 = load ptr, ptr %21, align 8, !tbaa !5
  %1952 = load i32, ptr %31, align 4, !tbaa !9
  %1953 = sext i32 %1952 to i64
  %1954 = getelementptr inbounds %struct.complex, ptr %1951, i64 %1953
  %1955 = getelementptr inbounds %struct.complex, ptr %1954, i32 0, i32 1
  %1956 = load float, ptr %1955, align 4, !tbaa !19
  %1957 = fmul float %1950, %1956
  %1958 = fneg float %1957
  %1959 = call float @llvm.fmuladd.f32(float %1942, float %1948, float %1958)
  %1960 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %1959, ptr %1960, align 4, !tbaa !16
  %1961 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %1962 = load float, ptr %1961, align 4, !tbaa !16
  %1963 = load ptr, ptr %21, align 8, !tbaa !5
  %1964 = load i32, ptr %31, align 4, !tbaa !9
  %1965 = sext i32 %1964 to i64
  %1966 = getelementptr inbounds %struct.complex, ptr %1963, i64 %1965
  %1967 = getelementptr inbounds %struct.complex, ptr %1966, i32 0, i32 1
  %1968 = load float, ptr %1967, align 4, !tbaa !19
  %1969 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %1970 = load float, ptr %1969, align 4, !tbaa !19
  %1971 = load ptr, ptr %21, align 8, !tbaa !5
  %1972 = load i32, ptr %31, align 4, !tbaa !9
  %1973 = sext i32 %1972 to i64
  %1974 = getelementptr inbounds %struct.complex, ptr %1971, i64 %1973
  %1975 = getelementptr inbounds %struct.complex, ptr %1974, i32 0, i32 0
  %1976 = load float, ptr %1975, align 4, !tbaa !16
  %1977 = fmul float %1970, %1976
  %1978 = call float @llvm.fmuladd.f32(float %1962, float %1968, float %1977)
  %1979 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %1978, ptr %1979, align 4, !tbaa !19
  %1980 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %1981 = load float, ptr %1980, align 4, !tbaa !16
  %1982 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %1983 = load float, ptr %1982, align 4, !tbaa !16
  %1984 = fadd float %1981, %1983
  %1985 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %1984, ptr %1985, align 4, !tbaa !16
  %1986 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %1987 = load float, ptr %1986, align 4, !tbaa !19
  %1988 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %1989 = load float, ptr %1988, align 4, !tbaa !19
  %1990 = fadd float %1987, %1989
  %1991 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %1990, ptr %1991, align 4, !tbaa !19
  %1992 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %1993 = load float, ptr %1992, align 4, !tbaa !16
  %1994 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %1993, ptr %1994, align 4, !tbaa !16
  %1995 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %1996 = load float, ptr %1995, align 4, !tbaa !19
  %1997 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %1996, ptr %1997, align 4, !tbaa !19
  br label %1998

1998:                                             ; preds = %1892
  %1999 = load i32, ptr %48, align 4, !tbaa !9
  %2000 = add nsw i32 %1999, 1
  store i32 %2000, ptr %48, align 4, !tbaa !9
  br label %1888, !llvm.loop !27

2001:                                             ; preds = %1888
  br label %2002

2002:                                             ; preds = %2001, %1870
  br label %2003

2003:                                             ; preds = %2002, %1731
  %2004 = load float, ptr %51, align 4, !tbaa !11
  %2005 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2004, ptr %2005, align 4, !tbaa !16
  %2006 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float 0.000000e+00, ptr %2006, align 4, !tbaa !19
  %2007 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2008 = load float, ptr %2007, align 4, !tbaa !16
  %2009 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2010 = load float, ptr %2009, align 4, !tbaa !16
  %2011 = fcmp oeq float %2008, %2010
  br i1 %2011, label %2012, label %2286

2012:                                             ; preds = %2003
  %2013 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2014 = load float, ptr %2013, align 4, !tbaa !19
  %2015 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2016 = load float, ptr %2015, align 4, !tbaa !19
  %2017 = fcmp oeq float %2014, %2016
  br i1 %2017, label %2018, label %2286

2018:                                             ; preds = %2012
  %2019 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2019, ptr %29, align 4, !tbaa !9
  %2020 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2020, ptr %30, align 4, !tbaa !9
  %2021 = load ptr, ptr %21, align 8, !tbaa !5
  %2022 = load i32, ptr %30, align 4, !tbaa !9
  %2023 = sext i32 %2022 to i64
  %2024 = getelementptr inbounds %struct.complex, ptr %2021, i64 %2023
  %2025 = getelementptr inbounds %struct.complex, ptr %2024, i32 0, i32 0
  %2026 = load float, ptr %2025, align 4, !tbaa !16
  %2027 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2028 = load float, ptr %2027, align 4, !tbaa !16
  %2029 = fsub float %2026, %2028
  %2030 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2029, ptr %2030, align 4, !tbaa !16
  %2031 = load ptr, ptr %21, align 8, !tbaa !5
  %2032 = load i32, ptr %30, align 4, !tbaa !9
  %2033 = sext i32 %2032 to i64
  %2034 = getelementptr inbounds %struct.complex, ptr %2031, i64 %2033
  %2035 = getelementptr inbounds %struct.complex, ptr %2034, i32 0, i32 1
  %2036 = load float, ptr %2035, align 4, !tbaa !19
  %2037 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2038 = load float, ptr %2037, align 4, !tbaa !19
  %2039 = fsub float %2036, %2038
  %2040 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2039, ptr %2040, align 4, !tbaa !19
  %2041 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2042 = load float, ptr %2041, align 4, !tbaa !16
  %2043 = load ptr, ptr %21, align 8, !tbaa !5
  %2044 = load i32, ptr %29, align 4, !tbaa !9
  %2045 = sext i32 %2044 to i64
  %2046 = getelementptr inbounds %struct.complex, ptr %2043, i64 %2045
  %2047 = getelementptr inbounds %struct.complex, ptr %2046, i32 0, i32 0
  store float %2042, ptr %2047, align 4, !tbaa !16
  %2048 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2049 = load float, ptr %2048, align 4, !tbaa !19
  %2050 = load ptr, ptr %21, align 8, !tbaa !5
  %2051 = load i32, ptr %29, align 4, !tbaa !9
  %2052 = sext i32 %2051 to i64
  %2053 = getelementptr inbounds %struct.complex, ptr %2050, i64 %2052
  %2054 = getelementptr inbounds %struct.complex, ptr %2053, i32 0, i32 1
  store float %2049, ptr %2054, align 4, !tbaa !19
  %2055 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2055, ptr %29, align 4, !tbaa !9
  %2056 = load ptr, ptr %21, align 8, !tbaa !5
  %2057 = load i32, ptr %29, align 4, !tbaa !9
  %2058 = sext i32 %2057 to i64
  %2059 = getelementptr inbounds %struct.complex, ptr %2056, i64 %2058
  %2060 = getelementptr inbounds %struct.complex, ptr %2059, i32 0, i32 0
  %2061 = load float, ptr %2060, align 4, !tbaa !16
  store float %2061, ptr %32, align 4, !tbaa !11
  %2062 = load float, ptr %32, align 4, !tbaa !11
  %2063 = fcmp oge float %2062, 0.000000e+00
  br i1 %2063, label %2064, label %2066

2064:                                             ; preds = %2018
  %2065 = load float, ptr %32, align 4, !tbaa !11
  br label %2069

2066:                                             ; preds = %2018
  %2067 = load float, ptr %32, align 4, !tbaa !11
  %2068 = fneg float %2067
  br label %2069

2069:                                             ; preds = %2066, %2064
  %2070 = phi float [ %2065, %2064 ], [ %2068, %2066 ]
  %2071 = load ptr, ptr %21, align 8, !tbaa !5
  %2072 = load i32, ptr %49, align 4, !tbaa !9
  %2073 = sext i32 %2072 to i64
  %2074 = getelementptr inbounds %struct.complex, ptr %2071, i64 %2073
  %2075 = call <2 x float> @Cf(ptr noundef %2074)
  store <2 x float> %2075, ptr %76, align 4
  %2076 = getelementptr inbounds { float, float }, ptr %76, i32 0, i32 0
  %2077 = load float, ptr %2076, align 4
  %2078 = getelementptr inbounds { float, float }, ptr %76, i32 0, i32 1
  %2079 = load float, ptr %2078, align 4
  store float %2079, ptr %33, align 4, !tbaa !11
  %2080 = load float, ptr %33, align 4, !tbaa !11
  %2081 = fcmp oge float %2080, 0.000000e+00
  br i1 %2081, label %2082, label %2084

2082:                                             ; preds = %2069
  %2083 = load float, ptr %33, align 4, !tbaa !11
  br label %2087

2084:                                             ; preds = %2069
  %2085 = load float, ptr %33, align 4, !tbaa !11
  %2086 = fneg float %2085
  br label %2087

2087:                                             ; preds = %2084, %2082
  %2088 = phi float [ %2083, %2082 ], [ %2086, %2084 ]
  %2089 = fadd float %2070, %2088
  store float %2089, ptr %56, align 4, !tbaa !11
  %2090 = load i32, ptr %61, align 4, !tbaa !9
  %2091 = icmp ne i32 %2090, 0
  br i1 %2091, label %2092, label %2122

2092:                                             ; preds = %2087
  %2093 = load i32, ptr %50, align 4, !tbaa !9
  %2094 = load i32, ptr %49, align 4, !tbaa !9
  %2095 = load i32, ptr %25, align 4, !tbaa !9
  %2096 = mul nsw i32 %2094, %2095
  %2097 = add nsw i32 %2093, %2096
  store i32 %2097, ptr %29, align 4, !tbaa !9
  %2098 = load float, ptr %51, align 4, !tbaa !11
  %2099 = load ptr, ptr %19, align 8, !tbaa !5
  %2100 = load i32, ptr %29, align 4, !tbaa !9
  %2101 = sext i32 %2100 to i64
  %2102 = getelementptr inbounds %struct.complex, ptr %2099, i64 %2101
  %2103 = getelementptr inbounds %struct.complex, ptr %2102, i32 0, i32 0
  %2104 = load float, ptr %2103, align 4, !tbaa !16
  %2105 = fmul float %2098, %2104
  %2106 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2105, ptr %2106, align 4, !tbaa !16
  %2107 = load float, ptr %51, align 4, !tbaa !11
  %2108 = load ptr, ptr %19, align 8, !tbaa !5
  %2109 = load i32, ptr %29, align 4, !tbaa !9
  %2110 = sext i32 %2109 to i64
  %2111 = getelementptr inbounds %struct.complex, ptr %2108, i64 %2110
  %2112 = getelementptr inbounds %struct.complex, ptr %2111, i32 0, i32 1
  %2113 = load float, ptr %2112, align 4, !tbaa !19
  %2114 = fmul float %2107, %2113
  %2115 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2114, ptr %2115, align 4, !tbaa !19
  %2116 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2117 = load float, ptr %2116, align 4, !tbaa !16
  %2118 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %2117, ptr %2118, align 4, !tbaa !16
  %2119 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2120 = load float, ptr %2119, align 4, !tbaa !19
  %2121 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %2120, ptr %2121, align 4, !tbaa !19
  br label %2130

2122:                                             ; preds = %2087
  %2123 = load float, ptr %51, align 4, !tbaa !11
  %2124 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %2123, ptr %2124, align 4, !tbaa !16
  %2125 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float 0.000000e+00, ptr %2125, align 4, !tbaa !19
  %2126 = load float, ptr %51, align 4, !tbaa !11
  %2127 = fcmp oeq float %2126, 1.000000e+00
  br i1 %2127, label %2128, label %2129

2128:                                             ; preds = %2122
  br label %2285

2129:                                             ; preds = %2122
  br label %2130

2130:                                             ; preds = %2129, %2092
  %2131 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %2132 = load float, ptr %2131, align 4, !tbaa !16
  store float %2132, ptr %32, align 4, !tbaa !11
  %2133 = load float, ptr %32, align 4, !tbaa !11
  %2134 = fcmp oge float %2133, 0.000000e+00
  br i1 %2134, label %2135, label %2137

2135:                                             ; preds = %2130
  %2136 = load float, ptr %32, align 4, !tbaa !11
  br label %2140

2137:                                             ; preds = %2130
  %2138 = load float, ptr %32, align 4, !tbaa !11
  %2139 = fneg float %2138
  br label %2140

2140:                                             ; preds = %2137, %2135
  %2141 = phi float [ %2136, %2135 ], [ %2139, %2137 ]
  %2142 = call <2 x float> @Cf(ptr noundef %45)
  store <2 x float> %2142, ptr %77, align 4
  %2143 = getelementptr inbounds { float, float }, ptr %77, i32 0, i32 0
  %2144 = load float, ptr %2143, align 4
  %2145 = getelementptr inbounds { float, float }, ptr %77, i32 0, i32 1
  %2146 = load float, ptr %2145, align 4
  store float %2146, ptr %33, align 4, !tbaa !11
  %2147 = load float, ptr %33, align 4, !tbaa !11
  %2148 = fcmp oge float %2147, 0.000000e+00
  br i1 %2148, label %2149, label %2151

2149:                                             ; preds = %2140
  %2150 = load float, ptr %33, align 4, !tbaa !11
  br label %2154

2151:                                             ; preds = %2140
  %2152 = load float, ptr %33, align 4, !tbaa !11
  %2153 = fneg float %2152
  br label %2154

2154:                                             ; preds = %2151, %2149
  %2155 = phi float [ %2150, %2149 ], [ %2153, %2151 ]
  %2156 = fadd float %2141, %2155
  store float %2156, ptr %63, align 4, !tbaa !11
  %2157 = load float, ptr %63, align 4, !tbaa !11
  %2158 = load float, ptr %60, align 4, !tbaa !11
  %2159 = fcmp ogt float %2157, %2158
  br i1 %2159, label %2160, label %2203

2160:                                             ; preds = %2154
  %2161 = load float, ptr %63, align 4, !tbaa !11
  %2162 = fcmp olt float %2161, 1.000000e+00
  br i1 %2162, label %2163, label %2183

2163:                                             ; preds = %2160
  %2164 = load float, ptr %56, align 4, !tbaa !11
  %2165 = load float, ptr %63, align 4, !tbaa !11
  %2166 = load float, ptr %57, align 4, !tbaa !11
  %2167 = fmul float %2165, %2166
  %2168 = fcmp ogt float %2164, %2167
  br i1 %2168, label %2169, label %2182

2169:                                             ; preds = %2163
  %2170 = load float, ptr %56, align 4, !tbaa !11
  %2171 = fdiv float 1.000000e+00, %2170
  store float %2171, ptr %62, align 4, !tbaa !11
  %2172 = load ptr, ptr %17, align 8, !tbaa !5
  %2173 = load ptr, ptr %21, align 8, !tbaa !5
  %2174 = getelementptr inbounds %struct.complex, ptr %2173, i64 1
  call void @csscal_(ptr noundef %2172, ptr noundef %62, ptr noundef %2174, ptr noundef @c__1)
  %2175 = load float, ptr %62, align 4, !tbaa !11
  %2176 = load ptr, ptr %22, align 8, !tbaa !5
  %2177 = load float, ptr %2176, align 4, !tbaa !11
  %2178 = fmul float %2177, %2175
  store float %2178, ptr %2176, align 4, !tbaa !11
  %2179 = load float, ptr %62, align 4, !tbaa !11
  %2180 = load float, ptr %46, align 4, !tbaa !11
  %2181 = fmul float %2180, %2179
  store float %2181, ptr %46, align 4, !tbaa !11
  br label %2182

2182:                                             ; preds = %2169, %2163
  br label %2183

2183:                                             ; preds = %2182, %2160
  %2184 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2184, ptr %29, align 4, !tbaa !9
  %2185 = load ptr, ptr %21, align 8, !tbaa !5
  %2186 = load i32, ptr %49, align 4, !tbaa !9
  %2187 = sext i32 %2186 to i64
  %2188 = getelementptr inbounds %struct.complex, ptr %2185, i64 %2187
  call void @cladiv_(ptr noundef %36, ptr noundef %2188, ptr noundef %45)
  %2189 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2190 = load float, ptr %2189, align 4, !tbaa !16
  %2191 = load ptr, ptr %21, align 8, !tbaa !5
  %2192 = load i32, ptr %29, align 4, !tbaa !9
  %2193 = sext i32 %2192 to i64
  %2194 = getelementptr inbounds %struct.complex, ptr %2191, i64 %2193
  %2195 = getelementptr inbounds %struct.complex, ptr %2194, i32 0, i32 0
  store float %2190, ptr %2195, align 4, !tbaa !16
  %2196 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2197 = load float, ptr %2196, align 4, !tbaa !19
  %2198 = load ptr, ptr %21, align 8, !tbaa !5
  %2199 = load i32, ptr %29, align 4, !tbaa !9
  %2200 = sext i32 %2199 to i64
  %2201 = getelementptr inbounds %struct.complex, ptr %2198, i64 %2200
  %2202 = getelementptr inbounds %struct.complex, ptr %2201, i32 0, i32 1
  store float %2197, ptr %2202, align 4, !tbaa !19
  br label %2284

2203:                                             ; preds = %2154
  %2204 = load float, ptr %63, align 4, !tbaa !11
  %2205 = fcmp ogt float %2204, 0.000000e+00
  br i1 %2205, label %2206, label %2248

2206:                                             ; preds = %2203
  %2207 = load float, ptr %56, align 4, !tbaa !11
  %2208 = load float, ptr %63, align 4, !tbaa !11
  %2209 = load float, ptr %57, align 4, !tbaa !11
  %2210 = fmul float %2208, %2209
  %2211 = fcmp ogt float %2207, %2210
  br i1 %2211, label %2212, label %2228

2212:                                             ; preds = %2206
  %2213 = load float, ptr %63, align 4, !tbaa !11
  %2214 = load float, ptr %57, align 4, !tbaa !11
  %2215 = fmul float %2213, %2214
  %2216 = load float, ptr %56, align 4, !tbaa !11
  %2217 = fdiv float %2215, %2216
  store float %2217, ptr %62, align 4, !tbaa !11
  %2218 = load ptr, ptr %17, align 8, !tbaa !5
  %2219 = load ptr, ptr %21, align 8, !tbaa !5
  %2220 = getelementptr inbounds %struct.complex, ptr %2219, i64 1
  call void @csscal_(ptr noundef %2218, ptr noundef %62, ptr noundef %2220, ptr noundef @c__1)
  %2221 = load float, ptr %62, align 4, !tbaa !11
  %2222 = load ptr, ptr %22, align 8, !tbaa !5
  %2223 = load float, ptr %2222, align 4, !tbaa !11
  %2224 = fmul float %2223, %2221
  store float %2224, ptr %2222, align 4, !tbaa !11
  %2225 = load float, ptr %62, align 4, !tbaa !11
  %2226 = load float, ptr %46, align 4, !tbaa !11
  %2227 = fmul float %2226, %2225
  store float %2227, ptr %46, align 4, !tbaa !11
  br label %2228

2228:                                             ; preds = %2212, %2206
  %2229 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2229, ptr %29, align 4, !tbaa !9
  %2230 = load ptr, ptr %21, align 8, !tbaa !5
  %2231 = load i32, ptr %49, align 4, !tbaa !9
  %2232 = sext i32 %2231 to i64
  %2233 = getelementptr inbounds %struct.complex, ptr %2230, i64 %2232
  call void @cladiv_(ptr noundef %36, ptr noundef %2233, ptr noundef %45)
  %2234 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2235 = load float, ptr %2234, align 4, !tbaa !16
  %2236 = load ptr, ptr %21, align 8, !tbaa !5
  %2237 = load i32, ptr %29, align 4, !tbaa !9
  %2238 = sext i32 %2237 to i64
  %2239 = getelementptr inbounds %struct.complex, ptr %2236, i64 %2238
  %2240 = getelementptr inbounds %struct.complex, ptr %2239, i32 0, i32 0
  store float %2235, ptr %2240, align 4, !tbaa !16
  %2241 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2242 = load float, ptr %2241, align 4, !tbaa !19
  %2243 = load ptr, ptr %21, align 8, !tbaa !5
  %2244 = load i32, ptr %29, align 4, !tbaa !9
  %2245 = sext i32 %2244 to i64
  %2246 = getelementptr inbounds %struct.complex, ptr %2243, i64 %2245
  %2247 = getelementptr inbounds %struct.complex, ptr %2246, i32 0, i32 1
  store float %2242, ptr %2247, align 4, !tbaa !19
  br label %2283

2248:                                             ; preds = %2203
  %2249 = load ptr, ptr %17, align 8, !tbaa !5
  %2250 = load i32, ptr %2249, align 4, !tbaa !9
  store i32 %2250, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %48, align 4, !tbaa !9
  br label %2251

2251:                                             ; preds = %2267, %2248
  %2252 = load i32, ptr %48, align 4, !tbaa !9
  %2253 = load i32, ptr %29, align 4, !tbaa !9
  %2254 = icmp sle i32 %2252, %2253
  br i1 %2254, label %2255, label %2270

2255:                                             ; preds = %2251
  %2256 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %2256, ptr %30, align 4, !tbaa !9
  %2257 = load ptr, ptr %21, align 8, !tbaa !5
  %2258 = load i32, ptr %30, align 4, !tbaa !9
  %2259 = sext i32 %2258 to i64
  %2260 = getelementptr inbounds %struct.complex, ptr %2257, i64 %2259
  %2261 = getelementptr inbounds %struct.complex, ptr %2260, i32 0, i32 0
  store float 0.000000e+00, ptr %2261, align 4, !tbaa !16
  %2262 = load ptr, ptr %21, align 8, !tbaa !5
  %2263 = load i32, ptr %30, align 4, !tbaa !9
  %2264 = sext i32 %2263 to i64
  %2265 = getelementptr inbounds %struct.complex, ptr %2262, i64 %2264
  %2266 = getelementptr inbounds %struct.complex, ptr %2265, i32 0, i32 1
  store float 0.000000e+00, ptr %2266, align 4, !tbaa !19
  br label %2267

2267:                                             ; preds = %2255
  %2268 = load i32, ptr %48, align 4, !tbaa !9
  %2269 = add nsw i32 %2268, 1
  store i32 %2269, ptr %48, align 4, !tbaa !9
  br label %2251, !llvm.loop !28

2270:                                             ; preds = %2251
  %2271 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2271, ptr %29, align 4, !tbaa !9
  %2272 = load ptr, ptr %21, align 8, !tbaa !5
  %2273 = load i32, ptr %29, align 4, !tbaa !9
  %2274 = sext i32 %2273 to i64
  %2275 = getelementptr inbounds %struct.complex, ptr %2272, i64 %2274
  %2276 = getelementptr inbounds %struct.complex, ptr %2275, i32 0, i32 0
  store float 1.000000e+00, ptr %2276, align 4, !tbaa !16
  %2277 = load ptr, ptr %21, align 8, !tbaa !5
  %2278 = load i32, ptr %29, align 4, !tbaa !9
  %2279 = sext i32 %2278 to i64
  %2280 = getelementptr inbounds %struct.complex, ptr %2277, i64 %2279
  %2281 = getelementptr inbounds %struct.complex, ptr %2280, i32 0, i32 1
  store float 0.000000e+00, ptr %2281, align 4, !tbaa !19
  %2282 = load ptr, ptr %22, align 8, !tbaa !5
  store float 0.000000e+00, ptr %2282, align 4, !tbaa !11
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  br label %2283

2283:                                             ; preds = %2270, %2228
  br label %2284

2284:                                             ; preds = %2283, %2183
  br label %2285

2285:                                             ; preds = %2284, %2128
  br label %2318

2286:                                             ; preds = %2012, %2003
  %2287 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2287, ptr %29, align 4, !tbaa !9
  %2288 = load ptr, ptr %21, align 8, !tbaa !5
  %2289 = load i32, ptr %49, align 4, !tbaa !9
  %2290 = sext i32 %2289 to i64
  %2291 = getelementptr inbounds %struct.complex, ptr %2288, i64 %2290
  call void @cladiv_(ptr noundef %37, ptr noundef %2291, ptr noundef %45)
  %2292 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %2293 = load float, ptr %2292, align 4, !tbaa !16
  %2294 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2295 = load float, ptr %2294, align 4, !tbaa !16
  %2296 = fsub float %2293, %2295
  %2297 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2296, ptr %2297, align 4, !tbaa !16
  %2298 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %2299 = load float, ptr %2298, align 4, !tbaa !19
  %2300 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2301 = load float, ptr %2300, align 4, !tbaa !19
  %2302 = fsub float %2299, %2301
  %2303 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2302, ptr %2303, align 4, !tbaa !19
  %2304 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2305 = load float, ptr %2304, align 4, !tbaa !16
  %2306 = load ptr, ptr %21, align 8, !tbaa !5
  %2307 = load i32, ptr %29, align 4, !tbaa !9
  %2308 = sext i32 %2307 to i64
  %2309 = getelementptr inbounds %struct.complex, ptr %2306, i64 %2308
  %2310 = getelementptr inbounds %struct.complex, ptr %2309, i32 0, i32 0
  store float %2305, ptr %2310, align 4, !tbaa !16
  %2311 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2312 = load float, ptr %2311, align 4, !tbaa !19
  %2313 = load ptr, ptr %21, align 8, !tbaa !5
  %2314 = load i32, ptr %29, align 4, !tbaa !9
  %2315 = sext i32 %2314 to i64
  %2316 = getelementptr inbounds %struct.complex, ptr %2313, i64 %2315
  %2317 = getelementptr inbounds %struct.complex, ptr %2316, i32 0, i32 1
  store float %2312, ptr %2317, align 4, !tbaa !19
  br label %2318

2318:                                             ; preds = %2286, %2285
  %2319 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2319, ptr %29, align 4, !tbaa !9
  %2320 = load float, ptr %46, align 4, !tbaa !11
  store float %2320, ptr %34, align 4, !tbaa !11
  %2321 = load ptr, ptr %21, align 8, !tbaa !5
  %2322 = load i32, ptr %29, align 4, !tbaa !9
  %2323 = sext i32 %2322 to i64
  %2324 = getelementptr inbounds %struct.complex, ptr %2321, i64 %2323
  %2325 = getelementptr inbounds %struct.complex, ptr %2324, i32 0, i32 0
  %2326 = load float, ptr %2325, align 4, !tbaa !16
  store float %2326, ptr %32, align 4, !tbaa !11
  %2327 = load float, ptr %32, align 4, !tbaa !11
  %2328 = fcmp oge float %2327, 0.000000e+00
  br i1 %2328, label %2329, label %2331

2329:                                             ; preds = %2318
  %2330 = load float, ptr %32, align 4, !tbaa !11
  br label %2334

2331:                                             ; preds = %2318
  %2332 = load float, ptr %32, align 4, !tbaa !11
  %2333 = fneg float %2332
  br label %2334

2334:                                             ; preds = %2331, %2329
  %2335 = phi float [ %2330, %2329 ], [ %2333, %2331 ]
  %2336 = load ptr, ptr %21, align 8, !tbaa !5
  %2337 = load i32, ptr %49, align 4, !tbaa !9
  %2338 = sext i32 %2337 to i64
  %2339 = getelementptr inbounds %struct.complex, ptr %2336, i64 %2338
  %2340 = call <2 x float> @Cf(ptr noundef %2339)
  store <2 x float> %2340, ptr %78, align 4
  %2341 = getelementptr inbounds { float, float }, ptr %78, i32 0, i32 0
  %2342 = load float, ptr %2341, align 4
  %2343 = getelementptr inbounds { float, float }, ptr %78, i32 0, i32 1
  %2344 = load float, ptr %2343, align 4
  store float %2344, ptr %33, align 4, !tbaa !11
  %2345 = load float, ptr %33, align 4, !tbaa !11
  %2346 = fcmp oge float %2345, 0.000000e+00
  br i1 %2346, label %2347, label %2349

2347:                                             ; preds = %2334
  %2348 = load float, ptr %33, align 4, !tbaa !11
  br label %2352

2349:                                             ; preds = %2334
  %2350 = load float, ptr %33, align 4, !tbaa !11
  %2351 = fneg float %2350
  br label %2352

2352:                                             ; preds = %2349, %2347
  %2353 = phi float [ %2348, %2347 ], [ %2351, %2349 ]
  %2354 = fadd float %2335, %2353
  store float %2354, ptr %35, align 4, !tbaa !11
  %2355 = load float, ptr %34, align 4, !tbaa !11
  %2356 = load float, ptr %35, align 4, !tbaa !11
  %2357 = fcmp oge float %2355, %2356
  br i1 %2357, label %2358, label %2360

2358:                                             ; preds = %2352
  %2359 = load float, ptr %34, align 4, !tbaa !11
  br label %2362

2360:                                             ; preds = %2352
  %2361 = load float, ptr %35, align 4, !tbaa !11
  br label %2362

2362:                                             ; preds = %2360, %2358
  %2363 = phi float [ %2359, %2358 ], [ %2361, %2360 ]
  store float %2363, ptr %46, align 4, !tbaa !11
  br label %2364

2364:                                             ; preds = %2362
  %2365 = load i32, ptr %27, align 4, !tbaa !9
  %2366 = load i32, ptr %49, align 4, !tbaa !9
  %2367 = add nsw i32 %2366, %2365
  store i32 %2367, ptr %49, align 4, !tbaa !9
  br label %1466, !llvm.loop !29

2368:                                             ; preds = %1479
  br label %3276

2369:                                             ; preds = %1458
  %2370 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %2370, ptr %27, align 4, !tbaa !9
  %2371 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2371, ptr %28, align 4, !tbaa !9
  %2372 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %2372, ptr %49, align 4, !tbaa !9
  br label %2373

2373:                                             ; preds = %3271, %2369
  %2374 = load i32, ptr %28, align 4, !tbaa !9
  %2375 = icmp slt i32 %2374, 0
  br i1 %2375, label %2376, label %2381

2376:                                             ; preds = %2373
  %2377 = load i32, ptr %49, align 4, !tbaa !9
  %2378 = load i32, ptr %27, align 4, !tbaa !9
  %2379 = icmp sge i32 %2377, %2378
  %2380 = zext i1 %2379 to i32
  br label %2386

2381:                                             ; preds = %2373
  %2382 = load i32, ptr %49, align 4, !tbaa !9
  %2383 = load i32, ptr %27, align 4, !tbaa !9
  %2384 = icmp sle i32 %2382, %2383
  %2385 = zext i1 %2384 to i32
  br label %2386

2386:                                             ; preds = %2381, %2376
  %2387 = phi i32 [ %2380, %2376 ], [ %2385, %2381 ]
  %2388 = icmp ne i32 %2387, 0
  br i1 %2388, label %2389, label %3275

2389:                                             ; preds = %2386
  %2390 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2390, ptr %29, align 4, !tbaa !9
  %2391 = load ptr, ptr %21, align 8, !tbaa !5
  %2392 = load i32, ptr %29, align 4, !tbaa !9
  %2393 = sext i32 %2392 to i64
  %2394 = getelementptr inbounds %struct.complex, ptr %2391, i64 %2393
  %2395 = getelementptr inbounds %struct.complex, ptr %2394, i32 0, i32 0
  %2396 = load float, ptr %2395, align 4, !tbaa !16
  store float %2396, ptr %32, align 4, !tbaa !11
  %2397 = load float, ptr %32, align 4, !tbaa !11
  %2398 = fcmp oge float %2397, 0.000000e+00
  br i1 %2398, label %2399, label %2401

2399:                                             ; preds = %2389
  %2400 = load float, ptr %32, align 4, !tbaa !11
  br label %2404

2401:                                             ; preds = %2389
  %2402 = load float, ptr %32, align 4, !tbaa !11
  %2403 = fneg float %2402
  br label %2404

2404:                                             ; preds = %2401, %2399
  %2405 = phi float [ %2400, %2399 ], [ %2403, %2401 ]
  %2406 = load ptr, ptr %21, align 8, !tbaa !5
  %2407 = load i32, ptr %49, align 4, !tbaa !9
  %2408 = sext i32 %2407 to i64
  %2409 = getelementptr inbounds %struct.complex, ptr %2406, i64 %2408
  %2410 = call <2 x float> @Cf(ptr noundef %2409)
  store <2 x float> %2410, ptr %79, align 4
  %2411 = getelementptr inbounds { float, float }, ptr %79, i32 0, i32 0
  %2412 = load float, ptr %2411, align 4
  %2413 = getelementptr inbounds { float, float }, ptr %79, i32 0, i32 1
  %2414 = load float, ptr %2413, align 4
  store float %2414, ptr %33, align 4, !tbaa !11
  %2415 = load float, ptr %33, align 4, !tbaa !11
  %2416 = fcmp oge float %2415, 0.000000e+00
  br i1 %2416, label %2417, label %2419

2417:                                             ; preds = %2404
  %2418 = load float, ptr %33, align 4, !tbaa !11
  br label %2422

2419:                                             ; preds = %2404
  %2420 = load float, ptr %33, align 4, !tbaa !11
  %2421 = fneg float %2420
  br label %2422

2422:                                             ; preds = %2419, %2417
  %2423 = phi float [ %2418, %2417 ], [ %2421, %2419 ]
  %2424 = fadd float %2405, %2423
  store float %2424, ptr %56, align 4, !tbaa !11
  %2425 = load float, ptr %51, align 4, !tbaa !11
  %2426 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %2425, ptr %2426, align 4, !tbaa !16
  %2427 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float 0.000000e+00, ptr %2427, align 4, !tbaa !19
  %2428 = load float, ptr %46, align 4, !tbaa !11
  %2429 = fcmp oge float %2428, 1.000000e+00
  br i1 %2429, label %2430, label %2432

2430:                                             ; preds = %2422
  %2431 = load float, ptr %46, align 4, !tbaa !11
  br label %2433

2432:                                             ; preds = %2422
  br label %2433

2433:                                             ; preds = %2432, %2430
  %2434 = phi float [ %2431, %2430 ], [ 1.000000e+00, %2432 ]
  %2435 = fdiv float 1.000000e+00, %2434
  store float %2435, ptr %62, align 4, !tbaa !11
  %2436 = load ptr, ptr %23, align 8, !tbaa !5
  %2437 = load i32, ptr %49, align 4, !tbaa !9
  %2438 = sext i32 %2437 to i64
  %2439 = getelementptr inbounds float, ptr %2436, i64 %2438
  %2440 = load float, ptr %2439, align 4, !tbaa !11
  %2441 = load float, ptr %57, align 4, !tbaa !11
  %2442 = load float, ptr %56, align 4, !tbaa !11
  %2443 = fsub float %2441, %2442
  %2444 = load float, ptr %62, align 4, !tbaa !11
  %2445 = fmul float %2443, %2444
  %2446 = fcmp ogt float %2440, %2445
  br i1 %2446, label %2447, label %2553

2447:                                             ; preds = %2433
  %2448 = load float, ptr %62, align 4, !tbaa !11
  %2449 = fmul float %2448, 5.000000e-01
  store float %2449, ptr %62, align 4, !tbaa !11
  %2450 = load i32, ptr %61, align 4, !tbaa !9
  %2451 = icmp ne i32 %2450, 0
  br i1 %2451, label %2452, label %2486

2452:                                             ; preds = %2447
  %2453 = load ptr, ptr %19, align 8, !tbaa !5
  %2454 = load i32, ptr %50, align 4, !tbaa !9
  %2455 = load i32, ptr %49, align 4, !tbaa !9
  %2456 = load i32, ptr %25, align 4, !tbaa !9
  %2457 = mul nsw i32 %2455, %2456
  %2458 = add nsw i32 %2454, %2457
  %2459 = sext i32 %2458 to i64
  %2460 = getelementptr inbounds %struct.complex, ptr %2453, i64 %2459
  %2461 = call <2 x float> @Cf(ptr noundef %2460)
  store <2 x float> %2461, ptr %80, align 4
  %2462 = getelementptr inbounds { float, float }, ptr %80, i32 0, i32 0
  %2463 = load float, ptr %2462, align 4
  %2464 = getelementptr inbounds { float, float }, ptr %80, i32 0, i32 1
  %2465 = load float, ptr %2464, align 4
  %2466 = fneg float %2465
  %2467 = call ptr @_pCf(ptr noundef %37)
  %2468 = getelementptr inbounds { float, float }, ptr %2467, i32 0, i32 0
  %2469 = getelementptr inbounds { float, float }, ptr %2467, i32 0, i32 1
  store float %2463, ptr %2468, align 4
  store float %2466, ptr %2469, align 4
  %2470 = load float, ptr %51, align 4, !tbaa !11
  %2471 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %2472 = load float, ptr %2471, align 4, !tbaa !16
  %2473 = fmul float %2470, %2472
  %2474 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2473, ptr %2474, align 4, !tbaa !16
  %2475 = load float, ptr %51, align 4, !tbaa !11
  %2476 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %2477 = load float, ptr %2476, align 4, !tbaa !19
  %2478 = fmul float %2475, %2477
  %2479 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2478, ptr %2479, align 4, !tbaa !19
  %2480 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2481 = load float, ptr %2480, align 4, !tbaa !16
  %2482 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %2481, ptr %2482, align 4, !tbaa !16
  %2483 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2484 = load float, ptr %2483, align 4, !tbaa !19
  %2485 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %2484, ptr %2485, align 4, !tbaa !19
  br label %2490

2486:                                             ; preds = %2447
  %2487 = load float, ptr %51, align 4, !tbaa !11
  %2488 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %2487, ptr %2488, align 4, !tbaa !16
  %2489 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float 0.000000e+00, ptr %2489, align 4, !tbaa !19
  br label %2490

2490:                                             ; preds = %2486, %2452
  %2491 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %2492 = load float, ptr %2491, align 4, !tbaa !16
  store float %2492, ptr %32, align 4, !tbaa !11
  %2493 = load float, ptr %32, align 4, !tbaa !11
  %2494 = fcmp oge float %2493, 0.000000e+00
  br i1 %2494, label %2495, label %2497

2495:                                             ; preds = %2490
  %2496 = load float, ptr %32, align 4, !tbaa !11
  br label %2500

2497:                                             ; preds = %2490
  %2498 = load float, ptr %32, align 4, !tbaa !11
  %2499 = fneg float %2498
  br label %2500

2500:                                             ; preds = %2497, %2495
  %2501 = phi float [ %2496, %2495 ], [ %2499, %2497 ]
  %2502 = call <2 x float> @Cf(ptr noundef %45)
  store <2 x float> %2502, ptr %81, align 4
  %2503 = getelementptr inbounds { float, float }, ptr %81, i32 0, i32 0
  %2504 = load float, ptr %2503, align 4
  %2505 = getelementptr inbounds { float, float }, ptr %81, i32 0, i32 1
  %2506 = load float, ptr %2505, align 4
  store float %2506, ptr %33, align 4, !tbaa !11
  %2507 = load float, ptr %33, align 4, !tbaa !11
  %2508 = fcmp oge float %2507, 0.000000e+00
  br i1 %2508, label %2509, label %2511

2509:                                             ; preds = %2500
  %2510 = load float, ptr %33, align 4, !tbaa !11
  br label %2514

2511:                                             ; preds = %2500
  %2512 = load float, ptr %33, align 4, !tbaa !11
  %2513 = fneg float %2512
  br label %2514

2514:                                             ; preds = %2511, %2509
  %2515 = phi float [ %2510, %2509 ], [ %2513, %2511 ]
  %2516 = fadd float %2501, %2515
  store float %2516, ptr %63, align 4, !tbaa !11
  %2517 = load float, ptr %63, align 4, !tbaa !11
  %2518 = fcmp ogt float %2517, 1.000000e+00
  br i1 %2518, label %2519, label %2538

2519:                                             ; preds = %2514
  store float 1.000000e+00, ptr %32, align 4, !tbaa !11
  %2520 = load float, ptr %62, align 4, !tbaa !11
  %2521 = load float, ptr %63, align 4, !tbaa !11
  %2522 = fmul float %2520, %2521
  store float %2522, ptr %33, align 4, !tbaa !11
  %2523 = load float, ptr %32, align 4, !tbaa !11
  %2524 = load float, ptr %33, align 4, !tbaa !11
  %2525 = fcmp ole float %2523, %2524
  br i1 %2525, label %2526, label %2528

2526:                                             ; preds = %2519
  %2527 = load float, ptr %32, align 4, !tbaa !11
  br label %2530

2528:                                             ; preds = %2519
  %2529 = load float, ptr %33, align 4, !tbaa !11
  br label %2530

2530:                                             ; preds = %2528, %2526
  %2531 = phi float [ %2527, %2526 ], [ %2529, %2528 ]
  store float %2531, ptr %62, align 4, !tbaa !11
  call void @cladiv_(ptr noundef %36, ptr noundef %52, ptr noundef %45)
  %2532 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2533 = load float, ptr %2532, align 4, !tbaa !16
  %2534 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  store float %2533, ptr %2534, align 4, !tbaa !16
  %2535 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2536 = load float, ptr %2535, align 4, !tbaa !19
  %2537 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  store float %2536, ptr %2537, align 4, !tbaa !19
  br label %2538

2538:                                             ; preds = %2530, %2514
  %2539 = load float, ptr %62, align 4, !tbaa !11
  %2540 = fcmp olt float %2539, 1.000000e+00
  br i1 %2540, label %2541, label %2552

2541:                                             ; preds = %2538
  %2542 = load ptr, ptr %17, align 8, !tbaa !5
  %2543 = load ptr, ptr %21, align 8, !tbaa !5
  %2544 = getelementptr inbounds %struct.complex, ptr %2543, i64 1
  call void @csscal_(ptr noundef %2542, ptr noundef %62, ptr noundef %2544, ptr noundef @c__1)
  %2545 = load float, ptr %62, align 4, !tbaa !11
  %2546 = load ptr, ptr %22, align 8, !tbaa !5
  %2547 = load float, ptr %2546, align 4, !tbaa !11
  %2548 = fmul float %2547, %2545
  store float %2548, ptr %2546, align 4, !tbaa !11
  %2549 = load float, ptr %62, align 4, !tbaa !11
  %2550 = load float, ptr %46, align 4, !tbaa !11
  %2551 = fmul float %2550, %2549
  store float %2551, ptr %46, align 4, !tbaa !11
  br label %2552

2552:                                             ; preds = %2541, %2538
  br label %2553

2553:                                             ; preds = %2552, %2433
  %2554 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float 0.000000e+00, ptr %2554, align 4, !tbaa !16
  %2555 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float 0.000000e+00, ptr %2555, align 4, !tbaa !19
  %2556 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2557 = load float, ptr %2556, align 4, !tbaa !16
  %2558 = fcmp oeq float %2557, 1.000000e+00
  br i1 %2558, label %2559, label %2643

2559:                                             ; preds = %2553
  %2560 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2561 = load float, ptr %2560, align 4, !tbaa !19
  %2562 = fcmp oeq float %2561, 0.000000e+00
  br i1 %2562, label %2563, label %2643

2563:                                             ; preds = %2559
  %2564 = load i32, ptr %55, align 4, !tbaa !9
  %2565 = icmp ne i32 %2564, 0
  br i1 %2565, label %2566, label %2604

2566:                                             ; preds = %2563
  %2567 = load ptr, ptr %18, align 8, !tbaa !5
  %2568 = load i32, ptr %2567, align 4, !tbaa !9
  store i32 %2568, ptr %29, align 4, !tbaa !9
  %2569 = load i32, ptr %49, align 4, !tbaa !9
  %2570 = sub nsw i32 %2569, 1
  store i32 %2570, ptr %30, align 4, !tbaa !9
  %2571 = load i32, ptr %29, align 4, !tbaa !9
  %2572 = load i32, ptr %30, align 4, !tbaa !9
  %2573 = icmp sle i32 %2571, %2572
  br i1 %2573, label %2574, label %2576

2574:                                             ; preds = %2566
  %2575 = load i32, ptr %29, align 4, !tbaa !9
  br label %2578

2576:                                             ; preds = %2566
  %2577 = load i32, ptr %30, align 4, !tbaa !9
  br label %2578

2578:                                             ; preds = %2576, %2574
  %2579 = phi i32 [ %2575, %2574 ], [ %2577, %2576 ]
  store i32 %2579, ptr %41, align 4, !tbaa !9
  %2580 = load ptr, ptr %19, align 8, !tbaa !5
  %2581 = load ptr, ptr %18, align 8, !tbaa !5
  %2582 = load i32, ptr %2581, align 4, !tbaa !9
  %2583 = add nsw i32 %2582, 1
  %2584 = load i32, ptr %41, align 4, !tbaa !9
  %2585 = sub nsw i32 %2583, %2584
  %2586 = load i32, ptr %49, align 4, !tbaa !9
  %2587 = load i32, ptr %25, align 4, !tbaa !9
  %2588 = mul nsw i32 %2586, %2587
  %2589 = add nsw i32 %2585, %2588
  %2590 = sext i32 %2589 to i64
  %2591 = getelementptr inbounds %struct.complex, ptr %2580, i64 %2590
  %2592 = load ptr, ptr %21, align 8, !tbaa !5
  %2593 = load i32, ptr %49, align 4, !tbaa !9
  %2594 = load i32, ptr %41, align 4, !tbaa !9
  %2595 = sub nsw i32 %2593, %2594
  %2596 = sext i32 %2595 to i64
  %2597 = getelementptr inbounds %struct.complex, ptr %2592, i64 %2596
  call void @cdotc_(ptr noundef %36, ptr noundef %41, ptr noundef %2591, ptr noundef @c__1, ptr noundef %2597, ptr noundef @c__1)
  %2598 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2599 = load float, ptr %2598, align 4, !tbaa !16
  %2600 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %2599, ptr %2600, align 4, !tbaa !16
  %2601 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2602 = load float, ptr %2601, align 4, !tbaa !19
  %2603 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %2602, ptr %2603, align 4, !tbaa !19
  br label %2642

2604:                                             ; preds = %2563
  %2605 = load ptr, ptr %18, align 8, !tbaa !5
  %2606 = load i32, ptr %2605, align 4, !tbaa !9
  store i32 %2606, ptr %29, align 4, !tbaa !9
  %2607 = load ptr, ptr %17, align 8, !tbaa !5
  %2608 = load i32, ptr %2607, align 4, !tbaa !9
  %2609 = load i32, ptr %49, align 4, !tbaa !9
  %2610 = sub nsw i32 %2608, %2609
  store i32 %2610, ptr %30, align 4, !tbaa !9
  %2611 = load i32, ptr %29, align 4, !tbaa !9
  %2612 = load i32, ptr %30, align 4, !tbaa !9
  %2613 = icmp sle i32 %2611, %2612
  br i1 %2613, label %2614, label %2616

2614:                                             ; preds = %2604
  %2615 = load i32, ptr %29, align 4, !tbaa !9
  br label %2618

2616:                                             ; preds = %2604
  %2617 = load i32, ptr %30, align 4, !tbaa !9
  br label %2618

2618:                                             ; preds = %2616, %2614
  %2619 = phi i32 [ %2615, %2614 ], [ %2617, %2616 ]
  store i32 %2619, ptr %41, align 4, !tbaa !9
  %2620 = load i32, ptr %41, align 4, !tbaa !9
  %2621 = icmp sgt i32 %2620, 1
  br i1 %2621, label %2622, label %2641

2622:                                             ; preds = %2618
  %2623 = load ptr, ptr %19, align 8, !tbaa !5
  %2624 = load i32, ptr %49, align 4, !tbaa !9
  %2625 = load i32, ptr %25, align 4, !tbaa !9
  %2626 = mul nsw i32 %2624, %2625
  %2627 = add nsw i32 %2626, 2
  %2628 = sext i32 %2627 to i64
  %2629 = getelementptr inbounds %struct.complex, ptr %2623, i64 %2628
  %2630 = load ptr, ptr %21, align 8, !tbaa !5
  %2631 = load i32, ptr %49, align 4, !tbaa !9
  %2632 = add nsw i32 %2631, 1
  %2633 = sext i32 %2632 to i64
  %2634 = getelementptr inbounds %struct.complex, ptr %2630, i64 %2633
  call void @cdotc_(ptr noundef %36, ptr noundef %41, ptr noundef %2629, ptr noundef @c__1, ptr noundef %2634, ptr noundef @c__1)
  %2635 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2636 = load float, ptr %2635, align 4, !tbaa !16
  %2637 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %2636, ptr %2637, align 4, !tbaa !16
  %2638 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2639 = load float, ptr %2638, align 4, !tbaa !19
  %2640 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %2639, ptr %2640, align 4, !tbaa !19
  br label %2641

2641:                                             ; preds = %2622, %2618
  br label %2642

2642:                                             ; preds = %2641, %2578
  br label %2906

2643:                                             ; preds = %2559, %2553
  %2644 = load i32, ptr %55, align 4, !tbaa !9
  %2645 = icmp ne i32 %2644, 0
  br i1 %2645, label %2646, label %2778

2646:                                             ; preds = %2643
  %2647 = load ptr, ptr %18, align 8, !tbaa !5
  %2648 = load i32, ptr %2647, align 4, !tbaa !9
  store i32 %2648, ptr %29, align 4, !tbaa !9
  %2649 = load i32, ptr %49, align 4, !tbaa !9
  %2650 = sub nsw i32 %2649, 1
  store i32 %2650, ptr %30, align 4, !tbaa !9
  %2651 = load i32, ptr %29, align 4, !tbaa !9
  %2652 = load i32, ptr %30, align 4, !tbaa !9
  %2653 = icmp sle i32 %2651, %2652
  br i1 %2653, label %2654, label %2656

2654:                                             ; preds = %2646
  %2655 = load i32, ptr %29, align 4, !tbaa !9
  br label %2658

2656:                                             ; preds = %2646
  %2657 = load i32, ptr %30, align 4, !tbaa !9
  br label %2658

2658:                                             ; preds = %2656, %2654
  %2659 = phi i32 [ %2655, %2654 ], [ %2657, %2656 ]
  store i32 %2659, ptr %41, align 4, !tbaa !9
  %2660 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2660, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %48, align 4, !tbaa !9
  br label %2661

2661:                                             ; preds = %2774, %2658
  %2662 = load i32, ptr %48, align 4, !tbaa !9
  %2663 = load i32, ptr %29, align 4, !tbaa !9
  %2664 = icmp sle i32 %2662, %2663
  br i1 %2664, label %2665, label %2777

2665:                                             ; preds = %2661
  %2666 = load ptr, ptr %19, align 8, !tbaa !5
  %2667 = load ptr, ptr %18, align 8, !tbaa !5
  %2668 = load i32, ptr %2667, align 4, !tbaa !9
  %2669 = load i32, ptr %48, align 4, !tbaa !9
  %2670 = add nsw i32 %2668, %2669
  %2671 = load i32, ptr %41, align 4, !tbaa !9
  %2672 = sub nsw i32 %2670, %2671
  %2673 = load i32, ptr %49, align 4, !tbaa !9
  %2674 = load i32, ptr %25, align 4, !tbaa !9
  %2675 = mul nsw i32 %2673, %2674
  %2676 = add nsw i32 %2672, %2675
  %2677 = sext i32 %2676 to i64
  %2678 = getelementptr inbounds %struct.complex, ptr %2666, i64 %2677
  %2679 = call <2 x float> @Cf(ptr noundef %2678)
  store <2 x float> %2679, ptr %82, align 4
  %2680 = getelementptr inbounds { float, float }, ptr %82, i32 0, i32 0
  %2681 = load float, ptr %2680, align 4
  %2682 = getelementptr inbounds { float, float }, ptr %82, i32 0, i32 1
  %2683 = load float, ptr %2682, align 4
  %2684 = fneg float %2683
  %2685 = call ptr @_pCf(ptr noundef %39)
  %2686 = getelementptr inbounds { float, float }, ptr %2685, i32 0, i32 0
  %2687 = getelementptr inbounds { float, float }, ptr %2685, i32 0, i32 1
  store float %2681, ptr %2686, align 4
  store float %2684, ptr %2687, align 4
  %2688 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %2689 = load float, ptr %2688, align 4, !tbaa !16
  %2690 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2691 = load float, ptr %2690, align 4, !tbaa !16
  %2692 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %2693 = load float, ptr %2692, align 4, !tbaa !19
  %2694 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2695 = load float, ptr %2694, align 4, !tbaa !19
  %2696 = fmul float %2693, %2695
  %2697 = fneg float %2696
  %2698 = call float @llvm.fmuladd.f32(float %2689, float %2691, float %2697)
  %2699 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %2698, ptr %2699, align 4, !tbaa !16
  %2700 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %2701 = load float, ptr %2700, align 4, !tbaa !16
  %2702 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2703 = load float, ptr %2702, align 4, !tbaa !19
  %2704 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %2705 = load float, ptr %2704, align 4, !tbaa !19
  %2706 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2707 = load float, ptr %2706, align 4, !tbaa !16
  %2708 = fmul float %2705, %2707
  %2709 = call float @llvm.fmuladd.f32(float %2701, float %2703, float %2708)
  %2710 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %2709, ptr %2710, align 4, !tbaa !19
  %2711 = load i32, ptr %49, align 4, !tbaa !9
  %2712 = load i32, ptr %41, align 4, !tbaa !9
  %2713 = sub nsw i32 %2711, %2712
  %2714 = sub nsw i32 %2713, 1
  %2715 = load i32, ptr %48, align 4, !tbaa !9
  %2716 = add nsw i32 %2714, %2715
  store i32 %2716, ptr %30, align 4, !tbaa !9
  %2717 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %2718 = load float, ptr %2717, align 4, !tbaa !16
  %2719 = load ptr, ptr %21, align 8, !tbaa !5
  %2720 = load i32, ptr %30, align 4, !tbaa !9
  %2721 = sext i32 %2720 to i64
  %2722 = getelementptr inbounds %struct.complex, ptr %2719, i64 %2721
  %2723 = getelementptr inbounds %struct.complex, ptr %2722, i32 0, i32 0
  %2724 = load float, ptr %2723, align 4, !tbaa !16
  %2725 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %2726 = load float, ptr %2725, align 4, !tbaa !19
  %2727 = load ptr, ptr %21, align 8, !tbaa !5
  %2728 = load i32, ptr %30, align 4, !tbaa !9
  %2729 = sext i32 %2728 to i64
  %2730 = getelementptr inbounds %struct.complex, ptr %2727, i64 %2729
  %2731 = getelementptr inbounds %struct.complex, ptr %2730, i32 0, i32 1
  %2732 = load float, ptr %2731, align 4, !tbaa !19
  %2733 = fmul float %2726, %2732
  %2734 = fneg float %2733
  %2735 = call float @llvm.fmuladd.f32(float %2718, float %2724, float %2734)
  %2736 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %2735, ptr %2736, align 4, !tbaa !16
  %2737 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %2738 = load float, ptr %2737, align 4, !tbaa !16
  %2739 = load ptr, ptr %21, align 8, !tbaa !5
  %2740 = load i32, ptr %30, align 4, !tbaa !9
  %2741 = sext i32 %2740 to i64
  %2742 = getelementptr inbounds %struct.complex, ptr %2739, i64 %2741
  %2743 = getelementptr inbounds %struct.complex, ptr %2742, i32 0, i32 1
  %2744 = load float, ptr %2743, align 4, !tbaa !19
  %2745 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %2746 = load float, ptr %2745, align 4, !tbaa !19
  %2747 = load ptr, ptr %21, align 8, !tbaa !5
  %2748 = load i32, ptr %30, align 4, !tbaa !9
  %2749 = sext i32 %2748 to i64
  %2750 = getelementptr inbounds %struct.complex, ptr %2747, i64 %2749
  %2751 = getelementptr inbounds %struct.complex, ptr %2750, i32 0, i32 0
  %2752 = load float, ptr %2751, align 4, !tbaa !16
  %2753 = fmul float %2746, %2752
  %2754 = call float @llvm.fmuladd.f32(float %2738, float %2744, float %2753)
  %2755 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %2754, ptr %2755, align 4, !tbaa !19
  %2756 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2757 = load float, ptr %2756, align 4, !tbaa !16
  %2758 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %2759 = load float, ptr %2758, align 4, !tbaa !16
  %2760 = fadd float %2757, %2759
  %2761 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2760, ptr %2761, align 4, !tbaa !16
  %2762 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2763 = load float, ptr %2762, align 4, !tbaa !19
  %2764 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %2765 = load float, ptr %2764, align 4, !tbaa !19
  %2766 = fadd float %2763, %2765
  %2767 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2766, ptr %2767, align 4, !tbaa !19
  %2768 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2769 = load float, ptr %2768, align 4, !tbaa !16
  %2770 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %2769, ptr %2770, align 4, !tbaa !16
  %2771 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2772 = load float, ptr %2771, align 4, !tbaa !19
  %2773 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %2772, ptr %2773, align 4, !tbaa !19
  br label %2774

2774:                                             ; preds = %2665
  %2775 = load i32, ptr %48, align 4, !tbaa !9
  %2776 = add nsw i32 %2775, 1
  store i32 %2776, ptr %48, align 4, !tbaa !9
  br label %2661, !llvm.loop !30

2777:                                             ; preds = %2661
  br label %2905

2778:                                             ; preds = %2643
  %2779 = load ptr, ptr %18, align 8, !tbaa !5
  %2780 = load i32, ptr %2779, align 4, !tbaa !9
  store i32 %2780, ptr %29, align 4, !tbaa !9
  %2781 = load ptr, ptr %17, align 8, !tbaa !5
  %2782 = load i32, ptr %2781, align 4, !tbaa !9
  %2783 = load i32, ptr %49, align 4, !tbaa !9
  %2784 = sub nsw i32 %2782, %2783
  store i32 %2784, ptr %30, align 4, !tbaa !9
  %2785 = load i32, ptr %29, align 4, !tbaa !9
  %2786 = load i32, ptr %30, align 4, !tbaa !9
  %2787 = icmp sle i32 %2785, %2786
  br i1 %2787, label %2788, label %2790

2788:                                             ; preds = %2778
  %2789 = load i32, ptr %29, align 4, !tbaa !9
  br label %2792

2790:                                             ; preds = %2778
  %2791 = load i32, ptr %30, align 4, !tbaa !9
  br label %2792

2792:                                             ; preds = %2790, %2788
  %2793 = phi i32 [ %2789, %2788 ], [ %2791, %2790 ]
  store i32 %2793, ptr %41, align 4, !tbaa !9
  %2794 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2794, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %48, align 4, !tbaa !9
  br label %2795

2795:                                             ; preds = %2901, %2792
  %2796 = load i32, ptr %48, align 4, !tbaa !9
  %2797 = load i32, ptr %29, align 4, !tbaa !9
  %2798 = icmp sle i32 %2796, %2797
  br i1 %2798, label %2799, label %2904

2799:                                             ; preds = %2795
  %2800 = load ptr, ptr %19, align 8, !tbaa !5
  %2801 = load i32, ptr %48, align 4, !tbaa !9
  %2802 = add nsw i32 %2801, 1
  %2803 = load i32, ptr %49, align 4, !tbaa !9
  %2804 = load i32, ptr %25, align 4, !tbaa !9
  %2805 = mul nsw i32 %2803, %2804
  %2806 = add nsw i32 %2802, %2805
  %2807 = sext i32 %2806 to i64
  %2808 = getelementptr inbounds %struct.complex, ptr %2800, i64 %2807
  %2809 = call <2 x float> @Cf(ptr noundef %2808)
  store <2 x float> %2809, ptr %83, align 4
  %2810 = getelementptr inbounds { float, float }, ptr %83, i32 0, i32 0
  %2811 = load float, ptr %2810, align 4
  %2812 = getelementptr inbounds { float, float }, ptr %83, i32 0, i32 1
  %2813 = load float, ptr %2812, align 4
  %2814 = fneg float %2813
  %2815 = call ptr @_pCf(ptr noundef %39)
  %2816 = getelementptr inbounds { float, float }, ptr %2815, i32 0, i32 0
  %2817 = getelementptr inbounds { float, float }, ptr %2815, i32 0, i32 1
  store float %2811, ptr %2816, align 4
  store float %2814, ptr %2817, align 4
  %2818 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %2819 = load float, ptr %2818, align 4, !tbaa !16
  %2820 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2821 = load float, ptr %2820, align 4, !tbaa !16
  %2822 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %2823 = load float, ptr %2822, align 4, !tbaa !19
  %2824 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2825 = load float, ptr %2824, align 4, !tbaa !19
  %2826 = fmul float %2823, %2825
  %2827 = fneg float %2826
  %2828 = call float @llvm.fmuladd.f32(float %2819, float %2821, float %2827)
  %2829 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  store float %2828, ptr %2829, align 4, !tbaa !16
  %2830 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 0
  %2831 = load float, ptr %2830, align 4, !tbaa !16
  %2832 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2833 = load float, ptr %2832, align 4, !tbaa !19
  %2834 = getelementptr inbounds %struct.complex, ptr %39, i32 0, i32 1
  %2835 = load float, ptr %2834, align 4, !tbaa !19
  %2836 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2837 = load float, ptr %2836, align 4, !tbaa !16
  %2838 = fmul float %2835, %2837
  %2839 = call float @llvm.fmuladd.f32(float %2831, float %2833, float %2838)
  %2840 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  store float %2839, ptr %2840, align 4, !tbaa !19
  %2841 = load i32, ptr %49, align 4, !tbaa !9
  %2842 = load i32, ptr %48, align 4, !tbaa !9
  %2843 = add nsw i32 %2841, %2842
  store i32 %2843, ptr %30, align 4, !tbaa !9
  %2844 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %2845 = load float, ptr %2844, align 4, !tbaa !16
  %2846 = load ptr, ptr %21, align 8, !tbaa !5
  %2847 = load i32, ptr %30, align 4, !tbaa !9
  %2848 = sext i32 %2847 to i64
  %2849 = getelementptr inbounds %struct.complex, ptr %2846, i64 %2848
  %2850 = getelementptr inbounds %struct.complex, ptr %2849, i32 0, i32 0
  %2851 = load float, ptr %2850, align 4, !tbaa !16
  %2852 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %2853 = load float, ptr %2852, align 4, !tbaa !19
  %2854 = load ptr, ptr %21, align 8, !tbaa !5
  %2855 = load i32, ptr %30, align 4, !tbaa !9
  %2856 = sext i32 %2855 to i64
  %2857 = getelementptr inbounds %struct.complex, ptr %2854, i64 %2856
  %2858 = getelementptr inbounds %struct.complex, ptr %2857, i32 0, i32 1
  %2859 = load float, ptr %2858, align 4, !tbaa !19
  %2860 = fmul float %2853, %2859
  %2861 = fneg float %2860
  %2862 = call float @llvm.fmuladd.f32(float %2845, float %2851, float %2861)
  %2863 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  store float %2862, ptr %2863, align 4, !tbaa !16
  %2864 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 0
  %2865 = load float, ptr %2864, align 4, !tbaa !16
  %2866 = load ptr, ptr %21, align 8, !tbaa !5
  %2867 = load i32, ptr %30, align 4, !tbaa !9
  %2868 = sext i32 %2867 to i64
  %2869 = getelementptr inbounds %struct.complex, ptr %2866, i64 %2868
  %2870 = getelementptr inbounds %struct.complex, ptr %2869, i32 0, i32 1
  %2871 = load float, ptr %2870, align 4, !tbaa !19
  %2872 = getelementptr inbounds %struct.complex, ptr %38, i32 0, i32 1
  %2873 = load float, ptr %2872, align 4, !tbaa !19
  %2874 = load ptr, ptr %21, align 8, !tbaa !5
  %2875 = load i32, ptr %30, align 4, !tbaa !9
  %2876 = sext i32 %2875 to i64
  %2877 = getelementptr inbounds %struct.complex, ptr %2874, i64 %2876
  %2878 = getelementptr inbounds %struct.complex, ptr %2877, i32 0, i32 0
  %2879 = load float, ptr %2878, align 4, !tbaa !16
  %2880 = fmul float %2873, %2879
  %2881 = call float @llvm.fmuladd.f32(float %2865, float %2871, float %2880)
  %2882 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  store float %2881, ptr %2882, align 4, !tbaa !19
  %2883 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2884 = load float, ptr %2883, align 4, !tbaa !16
  %2885 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %2886 = load float, ptr %2885, align 4, !tbaa !16
  %2887 = fadd float %2884, %2886
  %2888 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2887, ptr %2888, align 4, !tbaa !16
  %2889 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2890 = load float, ptr %2889, align 4, !tbaa !19
  %2891 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %2892 = load float, ptr %2891, align 4, !tbaa !19
  %2893 = fadd float %2890, %2892
  %2894 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2893, ptr %2894, align 4, !tbaa !19
  %2895 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2896 = load float, ptr %2895, align 4, !tbaa !16
  %2897 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  store float %2896, ptr %2897, align 4, !tbaa !16
  %2898 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2899 = load float, ptr %2898, align 4, !tbaa !19
  %2900 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  store float %2899, ptr %2900, align 4, !tbaa !19
  br label %2901

2901:                                             ; preds = %2799
  %2902 = load i32, ptr %48, align 4, !tbaa !9
  %2903 = add nsw i32 %2902, 1
  store i32 %2903, ptr %48, align 4, !tbaa !9
  br label %2795, !llvm.loop !31

2904:                                             ; preds = %2795
  br label %2905

2905:                                             ; preds = %2904, %2777
  br label %2906

2906:                                             ; preds = %2905, %2642
  %2907 = load float, ptr %51, align 4, !tbaa !11
  %2908 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2907, ptr %2908, align 4, !tbaa !16
  %2909 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float 0.000000e+00, ptr %2909, align 4, !tbaa !19
  %2910 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 0
  %2911 = load float, ptr %2910, align 4, !tbaa !16
  %2912 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2913 = load float, ptr %2912, align 4, !tbaa !16
  %2914 = fcmp oeq float %2911, %2913
  br i1 %2914, label %2915, label %3193

2915:                                             ; preds = %2906
  %2916 = getelementptr inbounds %struct.complex, ptr %52, i32 0, i32 1
  %2917 = load float, ptr %2916, align 4, !tbaa !19
  %2918 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2919 = load float, ptr %2918, align 4, !tbaa !19
  %2920 = fcmp oeq float %2917, %2919
  br i1 %2920, label %2921, label %3193

2921:                                             ; preds = %2915
  %2922 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2922, ptr %29, align 4, !tbaa !9
  %2923 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2923, ptr %30, align 4, !tbaa !9
  %2924 = load ptr, ptr %21, align 8, !tbaa !5
  %2925 = load i32, ptr %30, align 4, !tbaa !9
  %2926 = sext i32 %2925 to i64
  %2927 = getelementptr inbounds %struct.complex, ptr %2924, i64 %2926
  %2928 = getelementptr inbounds %struct.complex, ptr %2927, i32 0, i32 0
  %2929 = load float, ptr %2928, align 4, !tbaa !16
  %2930 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %2931 = load float, ptr %2930, align 4, !tbaa !16
  %2932 = fsub float %2929, %2931
  %2933 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %2932, ptr %2933, align 4, !tbaa !16
  %2934 = load ptr, ptr %21, align 8, !tbaa !5
  %2935 = load i32, ptr %30, align 4, !tbaa !9
  %2936 = sext i32 %2935 to i64
  %2937 = getelementptr inbounds %struct.complex, ptr %2934, i64 %2936
  %2938 = getelementptr inbounds %struct.complex, ptr %2937, i32 0, i32 1
  %2939 = load float, ptr %2938, align 4, !tbaa !19
  %2940 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %2941 = load float, ptr %2940, align 4, !tbaa !19
  %2942 = fsub float %2939, %2941
  %2943 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %2942, ptr %2943, align 4, !tbaa !19
  %2944 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %2945 = load float, ptr %2944, align 4, !tbaa !16
  %2946 = load ptr, ptr %21, align 8, !tbaa !5
  %2947 = load i32, ptr %29, align 4, !tbaa !9
  %2948 = sext i32 %2947 to i64
  %2949 = getelementptr inbounds %struct.complex, ptr %2946, i64 %2948
  %2950 = getelementptr inbounds %struct.complex, ptr %2949, i32 0, i32 0
  store float %2945, ptr %2950, align 4, !tbaa !16
  %2951 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %2952 = load float, ptr %2951, align 4, !tbaa !19
  %2953 = load ptr, ptr %21, align 8, !tbaa !5
  %2954 = load i32, ptr %29, align 4, !tbaa !9
  %2955 = sext i32 %2954 to i64
  %2956 = getelementptr inbounds %struct.complex, ptr %2953, i64 %2955
  %2957 = getelementptr inbounds %struct.complex, ptr %2956, i32 0, i32 1
  store float %2952, ptr %2957, align 4, !tbaa !19
  %2958 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %2958, ptr %29, align 4, !tbaa !9
  %2959 = load ptr, ptr %21, align 8, !tbaa !5
  %2960 = load i32, ptr %29, align 4, !tbaa !9
  %2961 = sext i32 %2960 to i64
  %2962 = getelementptr inbounds %struct.complex, ptr %2959, i64 %2961
  %2963 = getelementptr inbounds %struct.complex, ptr %2962, i32 0, i32 0
  %2964 = load float, ptr %2963, align 4, !tbaa !16
  store float %2964, ptr %32, align 4, !tbaa !11
  %2965 = load float, ptr %32, align 4, !tbaa !11
  %2966 = fcmp oge float %2965, 0.000000e+00
  br i1 %2966, label %2967, label %2969

2967:                                             ; preds = %2921
  %2968 = load float, ptr %32, align 4, !tbaa !11
  br label %2972

2969:                                             ; preds = %2921
  %2970 = load float, ptr %32, align 4, !tbaa !11
  %2971 = fneg float %2970
  br label %2972

2972:                                             ; preds = %2969, %2967
  %2973 = phi float [ %2968, %2967 ], [ %2971, %2969 ]
  %2974 = load ptr, ptr %21, align 8, !tbaa !5
  %2975 = load i32, ptr %49, align 4, !tbaa !9
  %2976 = sext i32 %2975 to i64
  %2977 = getelementptr inbounds %struct.complex, ptr %2974, i64 %2976
  %2978 = call <2 x float> @Cf(ptr noundef %2977)
  store <2 x float> %2978, ptr %84, align 4
  %2979 = getelementptr inbounds { float, float }, ptr %84, i32 0, i32 0
  %2980 = load float, ptr %2979, align 4
  %2981 = getelementptr inbounds { float, float }, ptr %84, i32 0, i32 1
  %2982 = load float, ptr %2981, align 4
  store float %2982, ptr %33, align 4, !tbaa !11
  %2983 = load float, ptr %33, align 4, !tbaa !11
  %2984 = fcmp oge float %2983, 0.000000e+00
  br i1 %2984, label %2985, label %2987

2985:                                             ; preds = %2972
  %2986 = load float, ptr %33, align 4, !tbaa !11
  br label %2990

2987:                                             ; preds = %2972
  %2988 = load float, ptr %33, align 4, !tbaa !11
  %2989 = fneg float %2988
  br label %2990

2990:                                             ; preds = %2987, %2985
  %2991 = phi float [ %2986, %2985 ], [ %2989, %2987 ]
  %2992 = fadd float %2973, %2991
  store float %2992, ptr %56, align 4, !tbaa !11
  %2993 = load i32, ptr %61, align 4, !tbaa !9
  %2994 = icmp ne i32 %2993, 0
  br i1 %2994, label %2995, label %3029

2995:                                             ; preds = %2990
  %2996 = load ptr, ptr %19, align 8, !tbaa !5
  %2997 = load i32, ptr %50, align 4, !tbaa !9
  %2998 = load i32, ptr %49, align 4, !tbaa !9
  %2999 = load i32, ptr %25, align 4, !tbaa !9
  %3000 = mul nsw i32 %2998, %2999
  %3001 = add nsw i32 %2997, %3000
  %3002 = sext i32 %3001 to i64
  %3003 = getelementptr inbounds %struct.complex, ptr %2996, i64 %3002
  %3004 = call <2 x float> @Cf(ptr noundef %3003)
  store <2 x float> %3004, ptr %85, align 4
  %3005 = getelementptr inbounds { float, float }, ptr %85, i32 0, i32 0
  %3006 = load float, ptr %3005, align 4
  %3007 = getelementptr inbounds { float, float }, ptr %85, i32 0, i32 1
  %3008 = load float, ptr %3007, align 4
  %3009 = fneg float %3008
  %3010 = call ptr @_pCf(ptr noundef %37)
  %3011 = getelementptr inbounds { float, float }, ptr %3010, i32 0, i32 0
  %3012 = getelementptr inbounds { float, float }, ptr %3010, i32 0, i32 1
  store float %3006, ptr %3011, align 4
  store float %3009, ptr %3012, align 4
  %3013 = load float, ptr %51, align 4, !tbaa !11
  %3014 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %3015 = load float, ptr %3014, align 4, !tbaa !16
  %3016 = fmul float %3013, %3015
  %3017 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %3016, ptr %3017, align 4, !tbaa !16
  %3018 = load float, ptr %51, align 4, !tbaa !11
  %3019 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %3020 = load float, ptr %3019, align 4, !tbaa !19
  %3021 = fmul float %3018, %3020
  %3022 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %3021, ptr %3022, align 4, !tbaa !19
  %3023 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %3024 = load float, ptr %3023, align 4, !tbaa !16
  %3025 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %3024, ptr %3025, align 4, !tbaa !16
  %3026 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %3027 = load float, ptr %3026, align 4, !tbaa !19
  %3028 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float %3027, ptr %3028, align 4, !tbaa !19
  br label %3037

3029:                                             ; preds = %2990
  %3030 = load float, ptr %51, align 4, !tbaa !11
  %3031 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  store float %3030, ptr %3031, align 4, !tbaa !16
  %3032 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 1
  store float 0.000000e+00, ptr %3032, align 4, !tbaa !19
  %3033 = load float, ptr %51, align 4, !tbaa !11
  %3034 = fcmp oeq float %3033, 1.000000e+00
  br i1 %3034, label %3035, label %3036

3035:                                             ; preds = %3029
  br label %3192

3036:                                             ; preds = %3029
  br label %3037

3037:                                             ; preds = %3036, %2995
  %3038 = getelementptr inbounds %struct.complex, ptr %45, i32 0, i32 0
  %3039 = load float, ptr %3038, align 4, !tbaa !16
  store float %3039, ptr %32, align 4, !tbaa !11
  %3040 = load float, ptr %32, align 4, !tbaa !11
  %3041 = fcmp oge float %3040, 0.000000e+00
  br i1 %3041, label %3042, label %3044

3042:                                             ; preds = %3037
  %3043 = load float, ptr %32, align 4, !tbaa !11
  br label %3047

3044:                                             ; preds = %3037
  %3045 = load float, ptr %32, align 4, !tbaa !11
  %3046 = fneg float %3045
  br label %3047

3047:                                             ; preds = %3044, %3042
  %3048 = phi float [ %3043, %3042 ], [ %3046, %3044 ]
  %3049 = call <2 x float> @Cf(ptr noundef %45)
  store <2 x float> %3049, ptr %86, align 4
  %3050 = getelementptr inbounds { float, float }, ptr %86, i32 0, i32 0
  %3051 = load float, ptr %3050, align 4
  %3052 = getelementptr inbounds { float, float }, ptr %86, i32 0, i32 1
  %3053 = load float, ptr %3052, align 4
  store float %3053, ptr %33, align 4, !tbaa !11
  %3054 = load float, ptr %33, align 4, !tbaa !11
  %3055 = fcmp oge float %3054, 0.000000e+00
  br i1 %3055, label %3056, label %3058

3056:                                             ; preds = %3047
  %3057 = load float, ptr %33, align 4, !tbaa !11
  br label %3061

3058:                                             ; preds = %3047
  %3059 = load float, ptr %33, align 4, !tbaa !11
  %3060 = fneg float %3059
  br label %3061

3061:                                             ; preds = %3058, %3056
  %3062 = phi float [ %3057, %3056 ], [ %3060, %3058 ]
  %3063 = fadd float %3048, %3062
  store float %3063, ptr %63, align 4, !tbaa !11
  %3064 = load float, ptr %63, align 4, !tbaa !11
  %3065 = load float, ptr %60, align 4, !tbaa !11
  %3066 = fcmp ogt float %3064, %3065
  br i1 %3066, label %3067, label %3110

3067:                                             ; preds = %3061
  %3068 = load float, ptr %63, align 4, !tbaa !11
  %3069 = fcmp olt float %3068, 1.000000e+00
  br i1 %3069, label %3070, label %3090

3070:                                             ; preds = %3067
  %3071 = load float, ptr %56, align 4, !tbaa !11
  %3072 = load float, ptr %63, align 4, !tbaa !11
  %3073 = load float, ptr %57, align 4, !tbaa !11
  %3074 = fmul float %3072, %3073
  %3075 = fcmp ogt float %3071, %3074
  br i1 %3075, label %3076, label %3089

3076:                                             ; preds = %3070
  %3077 = load float, ptr %56, align 4, !tbaa !11
  %3078 = fdiv float 1.000000e+00, %3077
  store float %3078, ptr %62, align 4, !tbaa !11
  %3079 = load ptr, ptr %17, align 8, !tbaa !5
  %3080 = load ptr, ptr %21, align 8, !tbaa !5
  %3081 = getelementptr inbounds %struct.complex, ptr %3080, i64 1
  call void @csscal_(ptr noundef %3079, ptr noundef %62, ptr noundef %3081, ptr noundef @c__1)
  %3082 = load float, ptr %62, align 4, !tbaa !11
  %3083 = load ptr, ptr %22, align 8, !tbaa !5
  %3084 = load float, ptr %3083, align 4, !tbaa !11
  %3085 = fmul float %3084, %3082
  store float %3085, ptr %3083, align 4, !tbaa !11
  %3086 = load float, ptr %62, align 4, !tbaa !11
  %3087 = load float, ptr %46, align 4, !tbaa !11
  %3088 = fmul float %3087, %3086
  store float %3088, ptr %46, align 4, !tbaa !11
  br label %3089

3089:                                             ; preds = %3076, %3070
  br label %3090

3090:                                             ; preds = %3089, %3067
  %3091 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %3091, ptr %29, align 4, !tbaa !9
  %3092 = load ptr, ptr %21, align 8, !tbaa !5
  %3093 = load i32, ptr %49, align 4, !tbaa !9
  %3094 = sext i32 %3093 to i64
  %3095 = getelementptr inbounds %struct.complex, ptr %3092, i64 %3094
  call void @cladiv_(ptr noundef %36, ptr noundef %3095, ptr noundef %45)
  %3096 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %3097 = load float, ptr %3096, align 4, !tbaa !16
  %3098 = load ptr, ptr %21, align 8, !tbaa !5
  %3099 = load i32, ptr %29, align 4, !tbaa !9
  %3100 = sext i32 %3099 to i64
  %3101 = getelementptr inbounds %struct.complex, ptr %3098, i64 %3100
  %3102 = getelementptr inbounds %struct.complex, ptr %3101, i32 0, i32 0
  store float %3097, ptr %3102, align 4, !tbaa !16
  %3103 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %3104 = load float, ptr %3103, align 4, !tbaa !19
  %3105 = load ptr, ptr %21, align 8, !tbaa !5
  %3106 = load i32, ptr %29, align 4, !tbaa !9
  %3107 = sext i32 %3106 to i64
  %3108 = getelementptr inbounds %struct.complex, ptr %3105, i64 %3107
  %3109 = getelementptr inbounds %struct.complex, ptr %3108, i32 0, i32 1
  store float %3104, ptr %3109, align 4, !tbaa !19
  br label %3191

3110:                                             ; preds = %3061
  %3111 = load float, ptr %63, align 4, !tbaa !11
  %3112 = fcmp ogt float %3111, 0.000000e+00
  br i1 %3112, label %3113, label %3155

3113:                                             ; preds = %3110
  %3114 = load float, ptr %56, align 4, !tbaa !11
  %3115 = load float, ptr %63, align 4, !tbaa !11
  %3116 = load float, ptr %57, align 4, !tbaa !11
  %3117 = fmul float %3115, %3116
  %3118 = fcmp ogt float %3114, %3117
  br i1 %3118, label %3119, label %3135

3119:                                             ; preds = %3113
  %3120 = load float, ptr %63, align 4, !tbaa !11
  %3121 = load float, ptr %57, align 4, !tbaa !11
  %3122 = fmul float %3120, %3121
  %3123 = load float, ptr %56, align 4, !tbaa !11
  %3124 = fdiv float %3122, %3123
  store float %3124, ptr %62, align 4, !tbaa !11
  %3125 = load ptr, ptr %17, align 8, !tbaa !5
  %3126 = load ptr, ptr %21, align 8, !tbaa !5
  %3127 = getelementptr inbounds %struct.complex, ptr %3126, i64 1
  call void @csscal_(ptr noundef %3125, ptr noundef %62, ptr noundef %3127, ptr noundef @c__1)
  %3128 = load float, ptr %62, align 4, !tbaa !11
  %3129 = load ptr, ptr %22, align 8, !tbaa !5
  %3130 = load float, ptr %3129, align 4, !tbaa !11
  %3131 = fmul float %3130, %3128
  store float %3131, ptr %3129, align 4, !tbaa !11
  %3132 = load float, ptr %62, align 4, !tbaa !11
  %3133 = load float, ptr %46, align 4, !tbaa !11
  %3134 = fmul float %3133, %3132
  store float %3134, ptr %46, align 4, !tbaa !11
  br label %3135

3135:                                             ; preds = %3119, %3113
  %3136 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %3136, ptr %29, align 4, !tbaa !9
  %3137 = load ptr, ptr %21, align 8, !tbaa !5
  %3138 = load i32, ptr %49, align 4, !tbaa !9
  %3139 = sext i32 %3138 to i64
  %3140 = getelementptr inbounds %struct.complex, ptr %3137, i64 %3139
  call void @cladiv_(ptr noundef %36, ptr noundef %3140, ptr noundef %45)
  %3141 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %3142 = load float, ptr %3141, align 4, !tbaa !16
  %3143 = load ptr, ptr %21, align 8, !tbaa !5
  %3144 = load i32, ptr %29, align 4, !tbaa !9
  %3145 = sext i32 %3144 to i64
  %3146 = getelementptr inbounds %struct.complex, ptr %3143, i64 %3145
  %3147 = getelementptr inbounds %struct.complex, ptr %3146, i32 0, i32 0
  store float %3142, ptr %3147, align 4, !tbaa !16
  %3148 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %3149 = load float, ptr %3148, align 4, !tbaa !19
  %3150 = load ptr, ptr %21, align 8, !tbaa !5
  %3151 = load i32, ptr %29, align 4, !tbaa !9
  %3152 = sext i32 %3151 to i64
  %3153 = getelementptr inbounds %struct.complex, ptr %3150, i64 %3152
  %3154 = getelementptr inbounds %struct.complex, ptr %3153, i32 0, i32 1
  store float %3149, ptr %3154, align 4, !tbaa !19
  br label %3190

3155:                                             ; preds = %3110
  %3156 = load ptr, ptr %17, align 8, !tbaa !5
  %3157 = load i32, ptr %3156, align 4, !tbaa !9
  store i32 %3157, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %48, align 4, !tbaa !9
  br label %3158

3158:                                             ; preds = %3174, %3155
  %3159 = load i32, ptr %48, align 4, !tbaa !9
  %3160 = load i32, ptr %29, align 4, !tbaa !9
  %3161 = icmp sle i32 %3159, %3160
  br i1 %3161, label %3162, label %3177

3162:                                             ; preds = %3158
  %3163 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %3163, ptr %30, align 4, !tbaa !9
  %3164 = load ptr, ptr %21, align 8, !tbaa !5
  %3165 = load i32, ptr %30, align 4, !tbaa !9
  %3166 = sext i32 %3165 to i64
  %3167 = getelementptr inbounds %struct.complex, ptr %3164, i64 %3166
  %3168 = getelementptr inbounds %struct.complex, ptr %3167, i32 0, i32 0
  store float 0.000000e+00, ptr %3168, align 4, !tbaa !16
  %3169 = load ptr, ptr %21, align 8, !tbaa !5
  %3170 = load i32, ptr %30, align 4, !tbaa !9
  %3171 = sext i32 %3170 to i64
  %3172 = getelementptr inbounds %struct.complex, ptr %3169, i64 %3171
  %3173 = getelementptr inbounds %struct.complex, ptr %3172, i32 0, i32 1
  store float 0.000000e+00, ptr %3173, align 4, !tbaa !19
  br label %3174

3174:                                             ; preds = %3162
  %3175 = load i32, ptr %48, align 4, !tbaa !9
  %3176 = add nsw i32 %3175, 1
  store i32 %3176, ptr %48, align 4, !tbaa !9
  br label %3158, !llvm.loop !32

3177:                                             ; preds = %3158
  %3178 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %3178, ptr %29, align 4, !tbaa !9
  %3179 = load ptr, ptr %21, align 8, !tbaa !5
  %3180 = load i32, ptr %29, align 4, !tbaa !9
  %3181 = sext i32 %3180 to i64
  %3182 = getelementptr inbounds %struct.complex, ptr %3179, i64 %3181
  %3183 = getelementptr inbounds %struct.complex, ptr %3182, i32 0, i32 0
  store float 1.000000e+00, ptr %3183, align 4, !tbaa !16
  %3184 = load ptr, ptr %21, align 8, !tbaa !5
  %3185 = load i32, ptr %29, align 4, !tbaa !9
  %3186 = sext i32 %3185 to i64
  %3187 = getelementptr inbounds %struct.complex, ptr %3184, i64 %3186
  %3188 = getelementptr inbounds %struct.complex, ptr %3187, i32 0, i32 1
  store float 0.000000e+00, ptr %3188, align 4, !tbaa !19
  %3189 = load ptr, ptr %22, align 8, !tbaa !5
  store float 0.000000e+00, ptr %3189, align 4, !tbaa !11
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  br label %3190

3190:                                             ; preds = %3177, %3135
  br label %3191

3191:                                             ; preds = %3190, %3090
  br label %3192

3192:                                             ; preds = %3191, %3035
  br label %3225

3193:                                             ; preds = %2915, %2906
  %3194 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %3194, ptr %29, align 4, !tbaa !9
  %3195 = load ptr, ptr %21, align 8, !tbaa !5
  %3196 = load i32, ptr %49, align 4, !tbaa !9
  %3197 = sext i32 %3196 to i64
  %3198 = getelementptr inbounds %struct.complex, ptr %3195, i64 %3197
  call void @cladiv_(ptr noundef %37, ptr noundef %3198, ptr noundef %45)
  %3199 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 0
  %3200 = load float, ptr %3199, align 4, !tbaa !16
  %3201 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 0
  %3202 = load float, ptr %3201, align 4, !tbaa !16
  %3203 = fsub float %3200, %3202
  %3204 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  store float %3203, ptr %3204, align 4, !tbaa !16
  %3205 = getelementptr inbounds %struct.complex, ptr %37, i32 0, i32 1
  %3206 = load float, ptr %3205, align 4, !tbaa !19
  %3207 = getelementptr inbounds %struct.complex, ptr %54, i32 0, i32 1
  %3208 = load float, ptr %3207, align 4, !tbaa !19
  %3209 = fsub float %3206, %3208
  %3210 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  store float %3209, ptr %3210, align 4, !tbaa !19
  %3211 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 0
  %3212 = load float, ptr %3211, align 4, !tbaa !16
  %3213 = load ptr, ptr %21, align 8, !tbaa !5
  %3214 = load i32, ptr %29, align 4, !tbaa !9
  %3215 = sext i32 %3214 to i64
  %3216 = getelementptr inbounds %struct.complex, ptr %3213, i64 %3215
  %3217 = getelementptr inbounds %struct.complex, ptr %3216, i32 0, i32 0
  store float %3212, ptr %3217, align 4, !tbaa !16
  %3218 = getelementptr inbounds %struct.complex, ptr %36, i32 0, i32 1
  %3219 = load float, ptr %3218, align 4, !tbaa !19
  %3220 = load ptr, ptr %21, align 8, !tbaa !5
  %3221 = load i32, ptr %29, align 4, !tbaa !9
  %3222 = sext i32 %3221 to i64
  %3223 = getelementptr inbounds %struct.complex, ptr %3220, i64 %3222
  %3224 = getelementptr inbounds %struct.complex, ptr %3223, i32 0, i32 1
  store float %3219, ptr %3224, align 4, !tbaa !19
  br label %3225

3225:                                             ; preds = %3193, %3192
  %3226 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %3226, ptr %29, align 4, !tbaa !9
  %3227 = load float, ptr %46, align 4, !tbaa !11
  store float %3227, ptr %34, align 4, !tbaa !11
  %3228 = load ptr, ptr %21, align 8, !tbaa !5
  %3229 = load i32, ptr %29, align 4, !tbaa !9
  %3230 = sext i32 %3229 to i64
  %3231 = getelementptr inbounds %struct.complex, ptr %3228, i64 %3230
  %3232 = getelementptr inbounds %struct.complex, ptr %3231, i32 0, i32 0
  %3233 = load float, ptr %3232, align 4, !tbaa !16
  store float %3233, ptr %32, align 4, !tbaa !11
  %3234 = load float, ptr %32, align 4, !tbaa !11
  %3235 = fcmp oge float %3234, 0.000000e+00
  br i1 %3235, label %3236, label %3238

3236:                                             ; preds = %3225
  %3237 = load float, ptr %32, align 4, !tbaa !11
  br label %3241

3238:                                             ; preds = %3225
  %3239 = load float, ptr %32, align 4, !tbaa !11
  %3240 = fneg float %3239
  br label %3241

3241:                                             ; preds = %3238, %3236
  %3242 = phi float [ %3237, %3236 ], [ %3240, %3238 ]
  %3243 = load ptr, ptr %21, align 8, !tbaa !5
  %3244 = load i32, ptr %49, align 4, !tbaa !9
  %3245 = sext i32 %3244 to i64
  %3246 = getelementptr inbounds %struct.complex, ptr %3243, i64 %3245
  %3247 = call <2 x float> @Cf(ptr noundef %3246)
  store <2 x float> %3247, ptr %87, align 4
  %3248 = getelementptr inbounds { float, float }, ptr %87, i32 0, i32 0
  %3249 = load float, ptr %3248, align 4
  %3250 = getelementptr inbounds { float, float }, ptr %87, i32 0, i32 1
  %3251 = load float, ptr %3250, align 4
  store float %3251, ptr %33, align 4, !tbaa !11
  %3252 = load float, ptr %33, align 4, !tbaa !11
  %3253 = fcmp oge float %3252, 0.000000e+00
  br i1 %3253, label %3254, label %3256

3254:                                             ; preds = %3241
  %3255 = load float, ptr %33, align 4, !tbaa !11
  br label %3259

3256:                                             ; preds = %3241
  %3257 = load float, ptr %33, align 4, !tbaa !11
  %3258 = fneg float %3257
  br label %3259

3259:                                             ; preds = %3256, %3254
  %3260 = phi float [ %3255, %3254 ], [ %3258, %3256 ]
  %3261 = fadd float %3242, %3260
  store float %3261, ptr %35, align 4, !tbaa !11
  %3262 = load float, ptr %34, align 4, !tbaa !11
  %3263 = load float, ptr %35, align 4, !tbaa !11
  %3264 = fcmp oge float %3262, %3263
  br i1 %3264, label %3265, label %3267

3265:                                             ; preds = %3259
  %3266 = load float, ptr %34, align 4, !tbaa !11
  br label %3269

3267:                                             ; preds = %3259
  %3268 = load float, ptr %35, align 4, !tbaa !11
  br label %3269

3269:                                             ; preds = %3267, %3265
  %3270 = phi float [ %3266, %3265 ], [ %3268, %3267 ]
  store float %3270, ptr %46, align 4, !tbaa !11
  br label %3271

3271:                                             ; preds = %3269
  %3272 = load i32, ptr %28, align 4, !tbaa !9
  %3273 = load i32, ptr %49, align 4, !tbaa !9
  %3274 = add nsw i32 %3273, %3272
  store i32 %3274, ptr %49, align 4, !tbaa !9
  br label %2373, !llvm.loop !33

3275:                                             ; preds = %2386
  br label %3276

3276:                                             ; preds = %3275, %2368
  br label %3277

3277:                                             ; preds = %3276, %1457
  %3278 = load float, ptr %51, align 4, !tbaa !11
  %3279 = load ptr, ptr %22, align 8, !tbaa !5
  %3280 = load float, ptr %3279, align 4, !tbaa !11
  %3281 = fdiv float %3280, %3278
  store float %3281, ptr %3279, align 4, !tbaa !11
  br label %3282

3282:                                             ; preds = %3277, %815
  %3283 = load float, ptr %51, align 4, !tbaa !11
  %3284 = fcmp une float %3283, 1.000000e+00
  br i1 %3284, label %3285, label %3291

3285:                                             ; preds = %3282
  %3286 = load float, ptr %51, align 4, !tbaa !11
  %3287 = fdiv float 1.000000e+00, %3286
  store float %3287, ptr %32, align 4, !tbaa !11
  %3288 = load ptr, ptr %17, align 8, !tbaa !5
  %3289 = load ptr, ptr %23, align 8, !tbaa !5
  %3290 = getelementptr inbounds float, ptr %3289, i64 1
  call void @sscal_(ptr noundef %3288, ptr noundef %32, ptr noundef %3290, ptr noundef @c__1)
  br label %3291

3291:                                             ; preds = %3285, %3282
  store i32 1, ptr %64, align 4
  br label %3292

3292:                                             ; preds = %3291, %189, %180
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  ret void
}

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

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

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

declare float @slamch_(ptr noundef) #2

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

declare float @scasum_(ptr noundef, ptr noundef, ptr noundef) #2

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @cdotu_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #3

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @cdotc_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #3

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

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

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

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


; 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
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [10 x i8], align 1
@c__1 = external hidden global i32, align 4
@c_b36 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local void @clatbs_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr nocapture noundef %11) local_unnamed_addr #0 {
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca float, align 4
  %16 = alloca %struct.complex, align 8
  %17 = alloca %struct.complex, align 8
  %18 = alloca %struct.complex, align 4
  %19 = alloca i32, align 4
  %20 = alloca %struct.complex, align 8
  %21 = alloca float, align 4
  %22 = alloca %struct.complex, align 8
  %23 = alloca float, align 4
  %24 = alloca float, align 4
  %25 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #8
  %26 = load i32, ptr %7, align 4, !tbaa !5
  %narrow = xor i32 %26, -1
  %27 = sext i32 %narrow to i64
  %28 = getelementptr inbounds %struct.complex, ptr %6, i64 %27
  %29 = getelementptr inbounds i8, ptr %8, i64 -8
  %30 = getelementptr inbounds i8, ptr %10, i64 -4
  store i32 0, ptr %11, align 4, !tbaa !5
  %31 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #8
  %32 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.1) #8
  %33 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.1) #8
  %.not.not.not = icmp eq i32 %31, 0
  br i1 %.not.not.not, label %34, label %36

34:                                               ; preds = %12
  %35 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.2) #8
  %.not875 = icmp eq i32 %35, 0
  br i1 %.not875, label %.thread.sink.split, label %36

36:                                               ; preds = %34, %12
  %.not876 = icmp eq i32 %32, 0
  br i1 %.not876, label %37, label %41

37:                                               ; preds = %36
  %38 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.3) #8
  %.not877 = icmp eq i32 %38, 0
  br i1 %.not877, label %39, label %41

39:                                               ; preds = %37
  %40 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #8
  %.not878 = icmp eq i32 %40, 0
  br i1 %.not878, label %.thread.sink.split, label %41

41:                                               ; preds = %39, %37, %36
  %.not879 = icmp eq i32 %33, 0
  br i1 %.not879, label %42, label %44

42:                                               ; preds = %41
  %43 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str) #8
  %.not880 = icmp eq i32 %43, 0
  br i1 %.not880, label %.thread.sink.split, label %44

44:                                               ; preds = %42, %41
  %45 = tail call i32 @lsame_(ptr noundef %3, ptr noundef nonnull @.str.5) #8
  %.not881 = icmp eq i32 %45, 0
  br i1 %.not881, label %46, label %48

46:                                               ; preds = %44
  %47 = tail call i32 @lsame_(ptr noundef %3, ptr noundef nonnull @.str.1) #8
  %.not882 = icmp eq i32 %47, 0
  br i1 %.not882, label %.thread.sink.split, label %48

48:                                               ; preds = %46, %44
  %49 = load i32, ptr %4, align 4, !tbaa !5
  %50 = icmp slt i32 %49, 0
  br i1 %50, label %.thread.sink.split, label %51

51:                                               ; preds = %48
  %52 = load i32, ptr %5, align 4, !tbaa !5
  %53 = icmp slt i32 %52, 0
  br i1 %53, label %.thread.sink.split, label %54

54:                                               ; preds = %51
  %55 = load i32, ptr %7, align 4, !tbaa !5
  %.not883 = icmp sgt i32 %55, %52
  br i1 %.not883, label %56, label %.thread.sink.split

56:                                               ; preds = %54
  %.pr = load i32, ptr %11, align 4, !tbaa !5
  %.not884 = icmp eq i32 %.pr, 0
  br i1 %.not884, label %60, label %.thread

.thread.sink.split:                               ; preds = %54, %51, %48, %46, %42, %39, %34
  %.sink1183 = phi i32 [ -1, %34 ], [ -2, %39 ], [ -3, %42 ], [ -4, %46 ], [ -5, %48 ], [ -6, %51 ], [ -8, %54 ]
  store i32 %.sink1183, ptr %11, align 4, !tbaa !5
  br label %.thread

.thread:                                          ; preds = %.thread.sink.split, %56
  %57 = phi i32 [ %.pr, %56 ], [ %.sink1183, %.thread.sink.split ]
  %58 = sub nsw i32 0, %57
  store i32 %58, ptr %13, align 4, !tbaa !5
  %59 = call i32 @xerbla_(ptr noundef nonnull @.str.6, ptr noundef nonnull %13, i32 noundef 6) #8
  br label %1020

60:                                               ; preds = %56
  %61 = icmp eq i32 %49, 0
  br i1 %61, label %1020, label %62

62:                                               ; preds = %60
  %63 = tail call float @slamch_(ptr noundef nonnull @.str.7) #8
  store float %63, ptr %24, align 4, !tbaa !9
  %64 = fdiv float 1.000000e+00, %63
  store float %64, ptr %23, align 4, !tbaa !9
  call void @slabad_(ptr noundef nonnull %24, ptr noundef nonnull %23) #8
  %65 = call float @slamch_(ptr noundef nonnull @.str.8) #8
  %66 = load float, ptr %24, align 4, !tbaa !9
  %67 = fdiv float %66, %65
  store float %67, ptr %24, align 4, !tbaa !9
  %68 = fdiv float 1.000000e+00, %67
  store float %68, ptr %23, align 4, !tbaa !9
  store float 1.000000e+00, ptr %9, align 4, !tbaa !9
  %69 = call i32 @lsame_(ptr noundef %3, ptr noundef nonnull @.str.1) #8
  %.not885 = icmp eq i32 %69, 0
  br i1 %.not885, label %.loopexit953, label %70

70:                                               ; preds = %62
  %71 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %71, ptr %13, align 4, !tbaa !5
  br i1 %.not.not.not, label %87, label %72

72:                                               ; preds = %70
  %.not888957 = icmp slt i32 %71, 1
  br i1 %.not888957, label %.loopexit953, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %72
  %73 = zext nneg i32 %71 to i64
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader, %.lr.ph
  %indvars.iv = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next, %.lr.ph ]
  %74 = load i32, ptr %5, align 4, !tbaa !5
  %75 = trunc i64 %indvars.iv to i32
  %76 = add i32 %75, -1
  store i32 %76, ptr %14, align 4, !tbaa !5
  %77 = call i32 @llvm.smin.i32(i32 %74, i32 %76)
  store i32 %77, ptr %19, align 4, !tbaa !5
  %78 = trunc i64 %indvars.iv to i32
  %79 = mul i32 %26, %78
  %80 = add i32 %79, 1
  %81 = add i32 %80, %74
  %82 = sub i32 %81, %77
  %83 = sext i32 %82 to i64
  %84 = getelementptr inbounds %struct.complex, ptr %28, i64 %83
  %85 = call float @scasum_(ptr noundef nonnull %19, ptr noundef %84, ptr noundef nonnull @c__1) #8
  %86 = getelementptr inbounds float, ptr %30, i64 %indvars.iv
  store float %85, ptr %86, align 4, !tbaa !9
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %.not888.not = icmp ult i64 %indvars.iv, %73
  br i1 %.not888.not, label %.lr.ph, label %.loopexit953, !llvm.loop !11

87:                                               ; preds = %70
  %invariant.gep = getelementptr i8, ptr %28, i64 16
  %.not886959 = icmp slt i32 %71, 1
  br i1 %.not886959, label %.loopexit953, label %.lr.ph961.preheader

.lr.ph961.preheader:                              ; preds = %87
  %88 = sext i32 %26 to i64
  %89 = zext nneg i32 %71 to i64
  br label %.lr.ph961

.lr.ph961:                                        ; preds = %.lr.ph961.preheader, %99
  %indvars.iv1098 = phi i64 [ 1, %.lr.ph961.preheader ], [ %indvars.iv.next1099, %99 ]
  %90 = load i32, ptr %5, align 4, !tbaa !5
  %91 = load i32, ptr %4, align 4, !tbaa !5
  %92 = trunc nuw nsw i64 %indvars.iv1098 to i32
  %93 = sub nsw i32 %91, %92
  store i32 %93, ptr %14, align 4, !tbaa !5
  %94 = call i32 @llvm.smin.i32(i32 %90, i32 %93)
  store i32 %94, ptr %19, align 4, !tbaa !5
  %95 = icmp sgt i32 %94, 0
  br i1 %95, label %96, label %99

96:                                               ; preds = %.lr.ph961
  %97 = mul nsw i64 %indvars.iv1098, %88
  %gep = getelementptr %struct.complex, ptr %invariant.gep, i64 %97
  %98 = call float @scasum_(ptr noundef nonnull %19, ptr noundef %gep, ptr noundef nonnull @c__1) #8
  br label %99

99:                                               ; preds = %.lr.ph961, %96
  %.sink = phi float [ %98, %96 ], [ 0.000000e+00, %.lr.ph961 ]
  %100 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1098
  store float %.sink, ptr %100, align 4
  %indvars.iv.next1099 = add nuw nsw i64 %indvars.iv1098, 1
  %.not886.not = icmp ult i64 %indvars.iv1098, %89
  br i1 %.not886.not, label %.lr.ph961, label %.loopexit953, !llvm.loop !13

.loopexit953:                                     ; preds = %.lr.ph, %99, %72, %87, %62
  %101 = call i32 @isamax_(ptr noundef nonnull %4, ptr noundef %10, ptr noundef nonnull @c__1) #8
  %102 = sext i32 %101 to i64
  %103 = getelementptr inbounds float, ptr %30, i64 %102
  %104 = load float, ptr %103, align 4, !tbaa !9
  %105 = load float, ptr %23, align 4, !tbaa !9
  %106 = fmul float %105, 5.000000e-01
  %107 = fcmp ugt float %104, %106
  br i1 %107, label %109, label %108

108:                                              ; preds = %.loopexit953
  store float 1.000000e+00, ptr %21, align 4, !tbaa !9
  br label %113

109:                                              ; preds = %.loopexit953
  %110 = load float, ptr %24, align 4, !tbaa !9
  %111 = fmul float %104, %110
  %112 = fdiv float 5.000000e-01, %111
  store float %112, ptr %21, align 4, !tbaa !9
  call void @sscal_(ptr noundef nonnull %4, ptr noundef nonnull %21, ptr noundef nonnull %10, ptr noundef nonnull @c__1) #8
  br label %113

113:                                              ; preds = %109, %108
  %114 = load i32, ptr %4, align 4, !tbaa !5
  %.not889962 = icmp slt i32 %114, 1
  br i1 %.not889962, label %._crit_edge, label %.lr.ph965.preheader

.lr.ph965.preheader:                              ; preds = %113
  %115 = zext nneg i32 %114 to i64
  br label %.lr.ph965

.lr.ph965:                                        ; preds = %.lr.ph965.preheader, %.lr.ph965
  %indvars.iv1101 = phi i64 [ 1, %.lr.ph965.preheader ], [ %indvars.iv.next1102, %.lr.ph965 ]
  %.0811964 = phi float [ 0.000000e+00, %.lr.ph965.preheader ], [ %127, %.lr.ph965 ]
  %116 = getelementptr inbounds %struct.complex, ptr %29, i64 %indvars.iv1101
  %117 = load float, ptr %116, align 4, !tbaa !14
  %118 = call <2 x float> @Cf(ptr noundef nonnull %116)
  %119 = insertelement <2 x float> %118, float %117, i64 0
  %120 = fmul <2 x float> %119, <float 5.000000e-01, float 5.000000e-01>
  %121 = fcmp oge <2 x float> %120, zeroinitializer
  %122 = fneg <2 x float> %120
  %123 = select <2 x i1> %121, <2 x float> %120, <2 x float> %122
  %shift = shufflevector <2 x float> %123, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %124 = fadd <2 x float> %123, %shift
  %125 = extractelement <2 x float> %124, i64 0
  %126 = fcmp oge float %.0811964, %125
  %127 = select i1 %126, float %.0811964, float %125
  %indvars.iv.next1102 = add nuw nsw i64 %indvars.iv1101, 1
  %.not889.not = icmp ult i64 %indvars.iv1101, %115
  br i1 %.not889.not, label %.lr.ph965, label %._crit_edge, !llvm.loop !16

._crit_edge:                                      ; preds = %.lr.ph965, %113
  %.0811.lcssa = phi float [ 0.000000e+00, %113 ], [ %127, %.lr.ph965 ]
  %128 = load i32, ptr %4, align 4, !tbaa !5
  br i1 %.not876, label %200, label %129

129:                                              ; preds = %._crit_edge
  br i1 %.not.not.not, label %133, label %130

130:                                              ; preds = %129
  %131 = load i32, ptr %5, align 4, !tbaa !5
  %132 = add nsw i32 %131, 1
  br label %133

133:                                              ; preds = %129, %130
  %.0845 = phi i32 [ %128, %130 ], [ 1, %129 ]
  %134 = phi i32 [ 1, %130 ], [ %128, %129 ]
  %.0838 = phi i32 [ %132, %130 ], [ 1, %129 ]
  %.0 = phi i32 [ -1, %130 ], [ 1, %129 ]
  %135 = load float, ptr %21, align 4, !tbaa !9
  %136 = fcmp une float %135, 1.000000e+00
  br i1 %136, label %.loopexit949, label %137

137:                                              ; preds = %133
  %138 = load float, ptr %24, align 4
  %139 = fcmp oge float %.0811.lcssa, %138
  %140 = select i1 %139, float %.0811.lcssa, float %138
  %141 = fdiv float 5.000000e-01, %140
  br i1 %.not879, label %183, label %142

142:                                              ; preds = %137
  %143 = icmp sge i32 %.0845, %134
  %144 = icmp sle i32 %.0845, %134
  %.in895966 = select i1 %.not.not.not, i1 %144, i1 %143
  br i1 %.in895966, label %.lr.ph971, label %.loopexit949

.lr.ph971:                                        ; preds = %142
  %145 = sext i32 %.0845 to i64
  %146 = sext i32 %.0 to i64
  %147 = sext i32 %26 to i64
  %148 = sext i32 %.0838 to i64
  %149 = sext i32 %134 to i64
  br label %150

150:                                              ; preds = %.lr.ph971, %174
  %151 = phi float [ %138, %.lr.ph971 ], [ %166, %174 ]
  %indvars.iv1104 = phi i64 [ %145, %.lr.ph971 ], [ %indvars.iv.next1105, %174 ]
  %.0808969 = phi float [ %141, %.lr.ph971 ], [ %.1809, %174 ]
  %.0815968 = phi float [ %141, %.lr.ph971 ], [ %.1816, %174 ]
  %152 = fcmp ugt float %.0815968, %151
  br i1 %152, label %153, label %.loopexit949

153:                                              ; preds = %150
  %154 = mul nsw i64 %indvars.iv1104, %147
  %155 = add nsw i64 %154, %148
  %156 = trunc nsw i64 %155 to i32
  store i32 %156, ptr %14, align 4, !tbaa !5
  %157 = getelementptr inbounds %struct.complex, ptr %28, i64 %155
  %158 = load <2 x float>, ptr %157, align 4, !tbaa !9
  store <2 x float> %158, ptr %20, align 8, !tbaa !9
  %159 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %160 = shufflevector <2 x float> %158, <2 x float> %159, <2 x i32> <i32 0, i32 3>
  %161 = fcmp oge <2 x float> %160, zeroinitializer
  %162 = fneg <2 x float> %160
  %163 = select <2 x i1> %161, <2 x float> %160, <2 x float> %162
  %shift1245 = shufflevector <2 x float> %163, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %164 = fadd <2 x float> %163, %shift1245
  %165 = extractelement <2 x float> %164, i64 0
  %166 = load float, ptr %24, align 4, !tbaa !9
  %167 = fcmp ult float %165, %166
  br i1 %167, label %174, label %168

168:                                              ; preds = %153
  store float %.0808969, ptr %15, align 4, !tbaa !9
  %169 = fcmp oge float %165, 1.000000e+00
  %170 = select i1 %169, float 1.000000e+00, float %165
  %171 = fmul float %.0815968, %170
  %172 = fcmp ole float %.0808969, %171
  %173 = select i1 %172, float %.0808969, float %171
  br label %174

174:                                              ; preds = %153, %168
  %.1809 = phi float [ %173, %168 ], [ 0.000000e+00, %153 ]
  %175 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1104
  %176 = load float, ptr %175, align 4, !tbaa !9
  %177 = fadd float %165, %176
  %178 = fcmp ult float %177, %166
  %179 = fdiv float %165, %177
  %180 = fmul float %.0815968, %179
  %.1816 = select i1 %178, float 0.000000e+00, float %180
  %indvars.iv.next1105 = add nsw i64 %indvars.iv1104, %146
  %181 = icmp sge i64 %indvars.iv.next1105, %149
  %182 = icmp sle i64 %indvars.iv.next1105, %149
  %.in895 = select i1 %.not.not.not, i1 %182, i1 %181
  br i1 %.in895, label %150, label %.loopexit949, !llvm.loop !17

183:                                              ; preds = %137
  %184 = fcmp oge float %141, 1.000000e+00
  %185 = select i1 %184, float 1.000000e+00, float %141
  %186 = icmp sge i32 %.0845, %134
  %187 = icmp sle i32 %.0845, %134
  %.in894975 = select i1 %.not.not.not, i1 %187, i1 %186
  %188 = fcmp ugt float %185, %138
  %or.cond923976 = select i1 %.in894975, i1 %188, i1 false
  br i1 %or.cond923976, label %.lr.ph980.preheader, label %.loopexit949

.lr.ph980.preheader:                              ; preds = %183
  %189 = sext i32 %.0845 to i64
  %190 = sext i32 %.0 to i64
  %191 = sext i32 %134 to i64
  br label %.lr.ph980

.lr.ph980:                                        ; preds = %.lr.ph980.preheader, %.lr.ph980
  %indvars.iv1107 = phi i64 [ %189, %.lr.ph980.preheader ], [ %indvars.iv.next1108, %.lr.ph980 ]
  %.2817978 = phi float [ %185, %.lr.ph980.preheader ], [ %196, %.lr.ph980 ]
  %192 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1107
  %193 = load float, ptr %192, align 4, !tbaa !9
  %194 = fadd float %193, 1.000000e+00
  %195 = fdiv float 1.000000e+00, %194
  %196 = fmul float %.2817978, %195
  %indvars.iv.next1108 = add nsw i64 %indvars.iv1107, %190
  %197 = icmp sge i64 %indvars.iv.next1108, %191
  %198 = icmp sle i64 %indvars.iv.next1108, %191
  %.in894 = select i1 %.not.not.not, i1 %198, i1 %197
  %199 = fcmp ugt float %196, %138
  %or.cond923 = select i1 %.in894, i1 %199, i1 false
  br i1 %or.cond923, label %.lr.ph980, label %.loopexit949, !llvm.loop !18

200:                                              ; preds = %._crit_edge
  br i1 %.not.not.not, label %204, label %201

201:                                              ; preds = %200
  %202 = load i32, ptr %5, align 4, !tbaa !5
  %203 = add nsw i32 %202, 1
  br label %204

204:                                              ; preds = %200, %201
  %.1846 = phi i32 [ 1, %201 ], [ %128, %200 ]
  %205 = phi i32 [ %128, %201 ], [ 1, %200 ]
  %.1839 = phi i32 [ %203, %201 ], [ 1, %200 ]
  %.1 = phi i32 [ 1, %201 ], [ -1, %200 ]
  %206 = load float, ptr %21, align 4, !tbaa !9
  %207 = fcmp une float %206, 1.000000e+00
  br i1 %207, label %.loopexit949, label %208

208:                                              ; preds = %204
  %209 = load float, ptr %24, align 4
  %210 = fcmp oge float %.0811.lcssa, %209
  %211 = select i1 %210, float %.0811.lcssa, float %209
  %212 = fdiv float 5.000000e-01, %211
  br i1 %.not879, label %256, label %213

213:                                              ; preds = %208
  %214 = icmp sge i32 %.1846, %205
  %215 = icmp sle i32 %.1846, %205
  %.in892982 = select i1 %.not.not.not, i1 %214, i1 %215
  br i1 %.in892982, label %.lr.ph987, label %._crit_edge988

.lr.ph987:                                        ; preds = %213
  %216 = sext i32 %.1846 to i64
  %217 = sext i32 %.1 to i64
  %218 = sext i32 %26 to i64
  %219 = sext i32 %.1839 to i64
  %220 = sext i32 %205 to i64
  br label %221

221:                                              ; preds = %.lr.ph987, %251
  %222 = phi float [ %209, %.lr.ph987 ], [ %244, %251 ]
  %indvars.iv1110 = phi i64 [ %216, %.lr.ph987 ], [ %indvars.iv.next1111, %251 ]
  %.2810985 = phi float [ %212, %.lr.ph987 ], [ %.3, %251 ]
  %.3818984 = phi float [ %212, %.lr.ph987 ], [ %230, %251 ]
  %223 = fcmp ugt float %.3818984, %222
  br i1 %223, label %224, label %.loopexit949

224:                                              ; preds = %221
  %225 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1110
  %226 = load float, ptr %225, align 4, !tbaa !9
  %227 = fadd float %226, 1.000000e+00
  %228 = fdiv float %.2810985, %227
  %229 = fcmp ole float %.3818984, %228
  %230 = select i1 %229, float %.3818984, float %228
  %231 = mul nsw i64 %indvars.iv1110, %218
  %232 = add nsw i64 %231, %219
  %233 = trunc nsw i64 %232 to i32
  store i32 %233, ptr %14, align 4, !tbaa !5
  %234 = getelementptr inbounds %struct.complex, ptr %28, i64 %232
  %235 = load <2 x float>, ptr %234, align 4, !tbaa !9
  store <2 x float> %235, ptr %20, align 8, !tbaa !9
  %236 = extractelement <2 x float> %235, i64 0
  store float %236, ptr %15, align 4, !tbaa !9
  %237 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %238 = shufflevector <2 x float> %235, <2 x float> %237, <2 x i32> <i32 0, i32 3>
  %239 = fcmp oge <2 x float> %238, zeroinitializer
  %240 = fneg <2 x float> %238
  %241 = select <2 x i1> %239, <2 x float> %238, <2 x float> %240
  %shift1246 = shufflevector <2 x float> %241, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %242 = fadd <2 x float> %241, %shift1246
  %243 = extractelement <2 x float> %242, i64 0
  %244 = load float, ptr %24, align 4, !tbaa !9
  %245 = fcmp ult float %243, %244
  br i1 %245, label %251, label %246

246:                                              ; preds = %224
  %247 = fcmp ogt float %227, %243
  br i1 %247, label %248, label %251

248:                                              ; preds = %246
  %249 = fdiv float %243, %227
  %250 = fmul float %.2810985, %249
  br label %251

251:                                              ; preds = %224, %248, %246
  %.3 = phi float [ %250, %248 ], [ %.2810985, %246 ], [ 0.000000e+00, %224 ]
  %indvars.iv.next1111 = add nsw i64 %indvars.iv1110, %217
  %252 = icmp sge i64 %indvars.iv.next1111, %220
  %253 = icmp sle i64 %indvars.iv.next1111, %220
  %.in892 = select i1 %.not.not.not, i1 %252, i1 %253
  br i1 %.in892, label %221, label %._crit_edge988, !llvm.loop !19

._crit_edge988:                                   ; preds = %251, %213
  %.3818.lcssa = phi float [ %212, %213 ], [ %230, %251 ]
  %.2810.lcssa = phi float [ %212, %213 ], [ %.3, %251 ]
  %254 = fcmp ole float %.3818.lcssa, %.2810.lcssa
  %255 = select i1 %254, float %.3818.lcssa, float %.2810.lcssa
  br label %.loopexit949

256:                                              ; preds = %208
  %257 = fcmp oge float %212, 1.000000e+00
  %258 = select i1 %257, float 1.000000e+00, float %212
  %259 = icmp sge i32 %.1846, %205
  %260 = icmp sle i32 %.1846, %205
  %.in991 = select i1 %.not.not.not, i1 %259, i1 %260
  %261 = fcmp ugt float %258, %209
  %or.cond925992 = select i1 %.in991, i1 %261, i1 false
  br i1 %or.cond925992, label %.lr.ph996.preheader, label %.loopexit949

.lr.ph996.preheader:                              ; preds = %256
  %262 = sext i32 %.1846 to i64
  %263 = sext i32 %.1 to i64
  %264 = sext i32 %205 to i64
  br label %.lr.ph996

.lr.ph996:                                        ; preds = %.lr.ph996.preheader, %.lr.ph996
  %indvars.iv1113 = phi i64 [ %262, %.lr.ph996.preheader ], [ %indvars.iv.next1114, %.lr.ph996 ]
  %.4819994 = phi float [ %258, %.lr.ph996.preheader ], [ %268, %.lr.ph996 ]
  %265 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1113
  %266 = load float, ptr %265, align 4, !tbaa !9
  %267 = fadd float %266, 1.000000e+00
  %268 = fdiv float %.4819994, %267
  %indvars.iv.next1114 = add nsw i64 %indvars.iv1113, %263
  %269 = icmp sge i64 %indvars.iv.next1114, %264
  %270 = icmp sle i64 %indvars.iv.next1114, %264
  %.in = select i1 %.not.not.not, i1 %269, i1 %270
  %271 = fcmp ugt float %268, %209
  %or.cond925 = select i1 %.in, i1 %271, i1 false
  br i1 %or.cond925, label %.lr.ph996, label %.loopexit949, !llvm.loop !20

.loopexit949:                                     ; preds = %150, %174, %.lr.ph980, %221, %.lr.ph996, %142, %183, %256, %204, %133, %._crit_edge988
  %.2847 = phi i32 [ %.1846, %._crit_edge988 ], [ %.0845, %133 ], [ %.1846, %204 ], [ %.1846, %256 ], [ %.0845, %183 ], [ %.0845, %142 ], [ %.1846, %.lr.ph996 ], [ %.1846, %221 ], [ %.0845, %.lr.ph980 ], [ %.0845, %174 ], [ %.0845, %150 ]
  %272 = phi i32 [ %205, %._crit_edge988 ], [ %134, %133 ], [ %205, %204 ], [ %205, %256 ], [ %134, %183 ], [ %134, %142 ], [ %205, %.lr.ph996 ], [ %205, %221 ], [ %134, %.lr.ph980 ], [ %134, %174 ], [ %134, %150 ]
  %.2840 = phi i32 [ %.1839, %._crit_edge988 ], [ %.0838, %133 ], [ %.1839, %204 ], [ %.1839, %256 ], [ %.0838, %183 ], [ %.0838, %142 ], [ %.1839, %.lr.ph996 ], [ %.1839, %221 ], [ %.0838, %.lr.ph980 ], [ %.0838, %174 ], [ %.0838, %150 ]
  %.5820 = phi float [ %255, %._crit_edge988 ], [ 0.000000e+00, %133 ], [ 0.000000e+00, %204 ], [ %258, %256 ], [ %185, %183 ], [ %141, %142 ], [ %268, %.lr.ph996 ], [ %.3818984, %221 ], [ %196, %.lr.ph980 ], [ %.0815968, %150 ], [ %.1809, %174 ]
  %273 = phi i32 [ %.1, %._crit_edge988 ], [ %.0, %133 ], [ %.1, %204 ], [ %.1, %256 ], [ %.0, %183 ], [ %.0, %142 ], [ %.1, %.lr.ph996 ], [ %.1, %221 ], [ %.0, %.lr.ph980 ], [ %.0, %174 ], [ %.0, %150 ]
  %274 = load float, ptr %21, align 4, !tbaa !9
  %275 = fmul float %.5820, %274
  %276 = load float, ptr %24, align 4, !tbaa !9
  %277 = fcmp ogt float %275, %276
  br i1 %277, label %278, label %279

278:                                              ; preds = %.loopexit949
  call void @ctbsv_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef %6, ptr noundef nonnull %7, ptr noundef %8, ptr noundef nonnull @c__1) #8
  %.pr937 = load float, ptr %21, align 4, !tbaa !9
  br label %1015

279:                                              ; preds = %.loopexit949
  %280 = load float, ptr %23, align 4, !tbaa !9
  %281 = fmul float %280, 5.000000e-01
  %282 = fcmp ogt float %.0811.lcssa, %281
  br i1 %282, label %283, label %286

283:                                              ; preds = %279
  %284 = fdiv float %281, %.0811.lcssa
  store float %284, ptr %9, align 4, !tbaa !9
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %9, ptr noundef %8, ptr noundef nonnull @c__1) #8
  %285 = load float, ptr %23, align 4, !tbaa !9
  br label %288

286:                                              ; preds = %279
  %287 = fmul float %.0811.lcssa, 2.000000e+00
  br label %288

288:                                              ; preds = %286, %283
  %.1812 = phi float [ %285, %283 ], [ %287, %286 ]
  %289 = icmp sge i32 %.2847, %272
  %290 = icmp sle i32 %.2847, %272
  br i1 %.not876, label %469, label %291

291:                                              ; preds = %288
  %292 = icmp slt i32 %273, 0
  %invariant.gep1002 = getelementptr i8, ptr %28, i64 16
  %.in9161004 = select i1 %292, i1 %289, i1 %290
  br i1 %.in9161004, label %.lr.ph1008, label %.loopexit944

.lr.ph1008:                                       ; preds = %291
  %293 = getelementptr inbounds i8, ptr %16, i64 4
  %294 = getelementptr inbounds i8, ptr %20, i64 4
  %295 = sext i32 %.2847 to i64
  %296 = sext i32 %273 to i64
  %297 = sext i32 %26 to i64
  %298 = sext i32 %.2840 to i64
  %299 = sext i32 %272 to i64
  br label %300

300:                                              ; preds = %.lr.ph1008, %466
  %indvars.iv1119 = phi i64 [ %295, %.lr.ph1008 ], [ %indvars.iv.next1120, %466 ]
  %.28131006 = phi float [ %.1812, %.lr.ph1008 ], [ %.6, %466 ]
  %301 = trunc nsw i64 %indvars.iv1119 to i32
  store i32 %301, ptr %14, align 4, !tbaa !5
  %302 = getelementptr inbounds %struct.complex, ptr %29, i64 %indvars.iv1119
  %303 = load float, ptr %302, align 4, !tbaa !14
  %304 = fcmp oge float %303, 0.000000e+00
  %305 = fneg float %303
  %306 = select i1 %304, float %303, float %305
  %307 = call <2 x float> @Cf(ptr noundef nonnull %302)
  %.sroa.024.4.vec.extract = extractelement <2 x float> %307, i64 1
  %308 = fcmp oge float %.sroa.024.4.vec.extract, 0.000000e+00
  %309 = fneg float %.sroa.024.4.vec.extract
  %310 = select i1 %308, float %.sroa.024.4.vec.extract, float %309
  %311 = fadd float %306, %310
  br i1 %.not879, label %323, label %312

312:                                              ; preds = %300
  %313 = mul nsw i64 %indvars.iv1119, %297
  %314 = add nsw i64 %313, %298
  %315 = trunc nsw i64 %314 to i32
  store i32 %315, ptr %14, align 4, !tbaa !5
  %316 = load float, ptr %21, align 4, !tbaa !9
  %317 = getelementptr inbounds %struct.complex, ptr %28, i64 %314
  %318 = load <2 x float>, ptr %317, align 4, !tbaa !9
  %319 = insertelement <2 x float> poison, float %316, i64 0
  %320 = shufflevector <2 x float> %319, <2 x float> poison, <2 x i32> zeroinitializer
  %321 = fmul <2 x float> %320, %318
  store <2 x float> %321, ptr %16, align 8, !tbaa !9
  store <2 x float> %321, ptr %20, align 8, !tbaa !9
  %322 = extractelement <2 x float> %321, i64 0
  br label %326

323:                                              ; preds = %300
  %324 = load float, ptr %21, align 4, !tbaa !9
  store float %324, ptr %20, align 8, !tbaa !14
  store float 0.000000e+00, ptr %294, align 4, !tbaa !21
  %325 = fcmp oeq float %324, 1.000000e+00
  br i1 %325, label %386, label %326

326:                                              ; preds = %323, %312
  %327 = phi float [ %324, %323 ], [ %322, %312 ]
  store float %327, ptr %15, align 4, !tbaa !9
  %328 = fcmp oge float %327, 0.000000e+00
  %329 = fneg float %327
  %330 = select i1 %328, float %327, float %329
  %331 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %.sroa.023.4.vec.extract = extractelement <2 x float> %331, i64 1
  %332 = fcmp oge float %.sroa.023.4.vec.extract, 0.000000e+00
  %333 = fneg float %.sroa.023.4.vec.extract
  %334 = select i1 %332, float %.sroa.023.4.vec.extract, float %333
  %335 = fadd float %330, %334
  %336 = load float, ptr %24, align 4, !tbaa !9
  %337 = fcmp ogt float %335, %336
  br i1 %337, label %338, label %351

338:                                              ; preds = %326
  %339 = fcmp olt float %335, 1.000000e+00
  br i1 %339, label %340, label %350

340:                                              ; preds = %338
  %341 = load float, ptr %23, align 4, !tbaa !9
  %342 = fmul float %335, %341
  %343 = fcmp ogt float %311, %342
  br i1 %343, label %344, label %350

344:                                              ; preds = %340
  %345 = fdiv float 1.000000e+00, %311
  store float %345, ptr %25, align 4, !tbaa !9
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %346 = load float, ptr %25, align 4, !tbaa !9
  %347 = load float, ptr %9, align 4, !tbaa !9
  %348 = fmul float %346, %347
  store float %348, ptr %9, align 4, !tbaa !9
  %349 = fmul float %.28131006, %346
  br label %350

350:                                              ; preds = %340, %344, %338
  %.3814 = phi float [ %349, %344 ], [ %.28131006, %340 ], [ %.28131006, %338 ]
  store i32 %301, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %302, ptr noundef nonnull %20) #8
  br label %.sink.split

351:                                              ; preds = %326
  %352 = fcmp ogt float %335, 0.000000e+00
  br i1 %352, label %353, label %370

353:                                              ; preds = %351
  %354 = load float, ptr %23, align 4, !tbaa !9
  %355 = fmul float %335, %354
  %356 = fcmp ogt float %311, %355
  br i1 %356, label %357, label %369

357:                                              ; preds = %353
  %358 = fdiv float %355, %311
  store float %358, ptr %25, align 4, !tbaa !9
  %359 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1119
  %360 = load float, ptr %359, align 4, !tbaa !9
  %361 = fcmp ogt float %360, 1.000000e+00
  br i1 %361, label %362, label %364

362:                                              ; preds = %357
  %363 = fdiv float %358, %360
  store float %363, ptr %25, align 4, !tbaa !9
  br label %364

364:                                              ; preds = %362, %357
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %365 = load float, ptr %25, align 4, !tbaa !9
  %366 = load float, ptr %9, align 4, !tbaa !9
  %367 = fmul float %365, %366
  store float %367, ptr %9, align 4, !tbaa !9
  %368 = fmul float %.28131006, %365
  br label %369

369:                                              ; preds = %364, %353
  %.4 = phi float [ %368, %364 ], [ %.28131006, %353 ]
  store i32 %301, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %302, ptr noundef nonnull %20) #8
  br label %.sink.split

370:                                              ; preds = %351
  %371 = load i32, ptr %4, align 4, !tbaa !5
  %.not918998 = icmp slt i32 %371, 1
  br i1 %.not918998, label %.thread931, label %.lr.ph1001.preheader

.lr.ph1001.preheader:                             ; preds = %370
  %372 = zext nneg i32 %371 to i64
  %373 = shl nuw nsw i64 %372, 3
  call void @llvm.memset.p0.i64(ptr nonnull align 4 %8, i8 0, i64 %373, i1 false), !tbaa !9
  br label %.thread931

.thread931:                                       ; preds = %.lr.ph1001.preheader, %370
  store i32 %301, ptr %14, align 4, !tbaa !5
  store <2 x float> <float 1.000000e+00, float 0.000000e+00>, ptr %302, align 4, !tbaa !9
  store float 0.000000e+00, ptr %9, align 4, !tbaa !9
  br label %401

.sink.split:                                      ; preds = %369, %350
  %.5.ph = phi float [ %.4, %369 ], [ %.3814, %350 ]
  %.sink1241 = load float, ptr %16, align 8, !tbaa !14
  %.sink1244 = load i32, ptr %14, align 4, !tbaa !5
  %374 = sext i32 %.sink1244 to i64
  %375 = getelementptr inbounds %struct.complex, ptr %29, i64 %374
  store float %.sink1241, ptr %375, align 4, !tbaa !14
  %376 = load float, ptr %293, align 4, !tbaa !21
  %377 = getelementptr inbounds %struct.complex, ptr %29, i64 %374, i32 1
  store float %376, ptr %377, align 4, !tbaa !21
  store i32 %301, ptr %14, align 4, !tbaa !5
  %storemerge1212 = load float, ptr %302, align 4, !tbaa !14
  store float %storemerge1212, ptr %15, align 4, !tbaa !9
  %378 = fcmp oge float %storemerge1212, 0.000000e+00
  %379 = fneg float %storemerge1212
  %380 = select i1 %378, float %storemerge1212, float %379
  %381 = call <2 x float> @Cf(ptr noundef nonnull %302)
  %.sroa.022.4.vec.extract = extractelement <2 x float> %381, i64 1
  %382 = fcmp oge float %.sroa.022.4.vec.extract, 0.000000e+00
  %383 = fneg float %.sroa.022.4.vec.extract
  %384 = select i1 %382, float %.sroa.022.4.vec.extract, float %383
  %385 = fadd float %380, %384
  br label %386

386:                                              ; preds = %.sink.split, %323
  %.0844 = phi float [ %311, %323 ], [ %385, %.sink.split ]
  %.5 = phi float [ %.28131006, %323 ], [ %.5.ph, %.sink.split ]
  %387 = fcmp ogt float %.0844, 1.000000e+00
  br i1 %387, label %388, label %401

388:                                              ; preds = %386
  %389 = fdiv float 1.000000e+00, %.0844
  store float %389, ptr %25, align 4, !tbaa !9
  %390 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1119
  %391 = load float, ptr %390, align 4, !tbaa !9
  %392 = load float, ptr %23, align 4, !tbaa !9
  %393 = fsub float %392, %.5
  %394 = fmul float %389, %393
  %395 = fcmp ogt float %391, %394
  br i1 %395, label %396, label %411

396:                                              ; preds = %388
  %397 = fmul float %389, 5.000000e-01
  store float %397, ptr %25, align 4, !tbaa !9
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %398 = load float, ptr %25, align 4, !tbaa !9
  %399 = load float, ptr %9, align 4, !tbaa !9
  %400 = fmul float %398, %399
  br label %.sink.split1196

401:                                              ; preds = %.thread931, %386
  %.5936 = phi float [ 0.000000e+00, %.thread931 ], [ %.5, %386 ]
  %.0844934 = phi float [ 1.000000e+00, %.thread931 ], [ %.0844, %386 ]
  %402 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1119
  %403 = load float, ptr %402, align 4, !tbaa !9
  %404 = fmul float %.0844934, %403
  %405 = load float, ptr %23, align 4, !tbaa !9
  %406 = fsub float %405, %.5936
  %407 = fcmp ogt float %404, %406
  br i1 %407, label %408, label %411

408:                                              ; preds = %401
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull @c_b36, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %409 = load float, ptr %9, align 4, !tbaa !9
  %410 = fmul float %409, 5.000000e-01
  br label %.sink.split1196

.sink.split1196:                                  ; preds = %396, %408
  %.sink1197 = phi float [ %410, %408 ], [ %400, %396 ]
  %.5935.ph = phi float [ %.5936, %408 ], [ %.5, %396 ]
  store float %.sink1197, ptr %9, align 4, !tbaa !9
  br label %411

411:                                              ; preds = %.sink.split1196, %401, %388
  %.5935 = phi float [ %.5936, %401 ], [ %.5, %388 ], [ %.5935.ph, %.sink.split1196 ]
  br i1 %.not.not.not, label %436, label %412

412:                                              ; preds = %411
  %413 = icmp sgt i64 %indvars.iv1119, 1
  br i1 %413, label %414, label %466

414:                                              ; preds = %412
  %415 = load i32, ptr %5, align 4, !tbaa !5
  %416 = trunc i64 %indvars.iv1119 to i32
  %417 = add i32 %416, -1
  %418 = call i32 @llvm.smin.i32(i32 %415, i32 %417)
  store i32 %418, ptr %19, align 4, !tbaa !5
  store i32 %301, ptr %14, align 4, !tbaa !5
  %419 = load <2 x float>, ptr %302, align 4, !tbaa !9
  %420 = fneg <2 x float> %419
  store <2 x float> %420, ptr %17, align 8, !tbaa !9
  %421 = load float, ptr %21, align 4, !tbaa !9
  %422 = insertelement <2 x float> poison, float %421, i64 0
  %423 = shufflevector <2 x float> %422, <2 x float> poison, <2 x i32> zeroinitializer
  %424 = fmul <2 x float> %423, %420
  store <2 x float> %424, ptr %16, align 8, !tbaa !9
  %425 = trunc i64 %indvars.iv1119 to i32
  %426 = mul i32 %26, %425
  %427 = add i32 %426, 1
  %428 = add i32 %427, %415
  %429 = sub i32 %428, %418
  %430 = sext i32 %429 to i64
  %431 = getelementptr inbounds %struct.complex, ptr %28, i64 %430
  %432 = sext i32 %418 to i64
  %433 = sub nsw i64 %indvars.iv1119, %432
  %434 = getelementptr inbounds %struct.complex, ptr %29, i64 %433
  call void @caxpy_(ptr noundef nonnull %19, ptr noundef nonnull %16, ptr noundef %431, ptr noundef nonnull @c__1, ptr noundef nonnull %434, ptr noundef nonnull @c__1) #8
  store i32 %417, ptr %14, align 4, !tbaa !5
  %435 = call i32 @icamax_(ptr noundef nonnull %14, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  br label %.sink.split1198

436:                                              ; preds = %411
  %437 = load i32, ptr %4, align 4, !tbaa !5
  %438 = sext i32 %437 to i64
  %439 = icmp slt i64 %indvars.iv1119, %438
  br i1 %439, label %440, label %466

440:                                              ; preds = %436
  %441 = load i32, ptr %5, align 4, !tbaa !5
  %442 = sub nsw i32 %437, %301
  %443 = call i32 @llvm.smin.i32(i32 %441, i32 %442)
  store i32 %443, ptr %19, align 4, !tbaa !5
  %444 = icmp sgt i32 %443, 0
  br i1 %444, label %445, label %454

445:                                              ; preds = %440
  store i32 %301, ptr %14, align 4, !tbaa !5
  %446 = load <2 x float>, ptr %302, align 4, !tbaa !9
  %447 = fneg <2 x float> %446
  store <2 x float> %447, ptr %17, align 8, !tbaa !9
  %448 = load float, ptr %21, align 4, !tbaa !9
  %449 = insertelement <2 x float> poison, float %448, i64 0
  %450 = shufflevector <2 x float> %449, <2 x float> poison, <2 x i32> zeroinitializer
  %451 = fmul <2 x float> %450, %447
  store <2 x float> %451, ptr %16, align 8, !tbaa !9
  %452 = mul nsw i64 %indvars.iv1119, %297
  %gep1003 = getelementptr %struct.complex, ptr %invariant.gep1002, i64 %452
  %453 = getelementptr i8, ptr %302, i64 8
  call void @caxpy_(ptr noundef nonnull %19, ptr noundef nonnull %16, ptr noundef %gep1003, ptr noundef nonnull @c__1, ptr noundef %453, ptr noundef nonnull @c__1) #8
  %.pre = load i32, ptr %4, align 4, !tbaa !5
  %.pre1142 = sub nsw i32 %.pre, %301
  br label %454

454:                                              ; preds = %445, %440
  %.pre-phi = phi i32 [ %.pre1142, %445 ], [ %442, %440 ]
  store i32 %.pre-phi, ptr %14, align 4, !tbaa !5
  %455 = getelementptr i8, ptr %302, i64 8
  %456 = call i32 @icamax_(ptr noundef nonnull %14, ptr noundef %455, ptr noundef nonnull @c__1) #8
  %457 = add nsw i32 %456, %301
  br label %.sink.split1198

.sink.split1198:                                  ; preds = %454, %414
  %.pn.in = phi i32 [ %435, %414 ], [ %457, %454 ]
  store i32 %.pn.in, ptr %14, align 4, !tbaa !5
  %.pn = sext i32 %.pn.in to i64
  %.sink1206 = getelementptr inbounds %struct.complex, ptr %29, i64 %.pn
  %.sink1211 = load float, ptr %.sink1206, align 4, !tbaa !14
  store float %.sink1211, ptr %15, align 4, !tbaa !9
  %458 = fcmp oge float %.sink1211, 0.000000e+00
  %459 = fneg float %.sink1211
  %460 = select i1 %458, float %.sink1211, float %459
  %461 = call <2 x float> @Cf(ptr noundef nonnull %.sink1206)
  %.sroa.020.4.vec.extract = extractelement <2 x float> %461, i64 1
  %462 = fcmp oge float %.sroa.020.4.vec.extract, 0.000000e+00
  %463 = fneg float %.sroa.020.4.vec.extract
  %464 = select i1 %462, float %.sroa.020.4.vec.extract, float %463
  %465 = fadd float %460, %464
  br label %466

466:                                              ; preds = %.sink.split1198, %412, %436
  %.6 = phi float [ %.5935, %412 ], [ %.5935, %436 ], [ %465, %.sink.split1198 ]
  %indvars.iv.next1120 = add nsw i64 %indvars.iv1119, %296
  %467 = icmp sge i64 %indvars.iv.next1120, %299
  %468 = icmp sle i64 %indvars.iv.next1120, %299
  %.in916 = select i1 %292, i1 %467, i1 %468
  br i1 %.in916, label %300, label %.loopexit944, !llvm.loop !22

469:                                              ; preds = %288
  %470 = call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.3) #8
  %.not = icmp eq i32 %470, 0
  br i1 %.not, label %728, label %471

471:                                              ; preds = %469
  store i32 %273, ptr %13, align 4, !tbaa !5
  %invariant.gep1037 = getelementptr i8, ptr %28, i64 16
  %472 = icmp slt i32 %273, 0
  %.in9061039 = select i1 %472, i1 %289, i1 %290
  br i1 %.in9061039, label %.lr.ph1044, label %.loopexit944

.lr.ph1044:                                       ; preds = %471
  %473 = getelementptr inbounds i8, ptr %22, i64 4
  %474 = getelementptr inbounds i8, ptr %16, i64 4
  %475 = getelementptr inbounds i8, ptr %20, i64 4
  br label %476

476:                                              ; preds = %.lr.ph1044, %713
  %.71042 = phi float [ %.1812, %.lr.ph1044 ], [ %724, %713 ]
  %.88361040 = phi i32 [ %.2847, %.lr.ph1044 ], [ %725, %713 ]
  %477 = sext i32 %.88361040 to i64
  %478 = getelementptr inbounds %struct.complex, ptr %29, i64 %477
  %479 = load float, ptr %478, align 4, !tbaa !14
  store float %479, ptr %15, align 4, !tbaa !9
  %480 = fcmp oge float %479, 0.000000e+00
  %481 = fneg float %479
  %482 = select i1 %480, float %479, float %481
  %483 = call <2 x float> @Cf(ptr noundef nonnull %478)
  %.sroa.018.4.vec.extract = extractelement <2 x float> %483, i64 1
  %484 = fcmp oge float %.sroa.018.4.vec.extract, 0.000000e+00
  %485 = fneg float %.sroa.018.4.vec.extract
  %486 = select i1 %484, float %.sroa.018.4.vec.extract, float %485
  %487 = fadd float %482, %486
  %488 = load float, ptr %21, align 4, !tbaa !9
  store float %488, ptr %22, align 8, !tbaa !14
  store float 0.000000e+00, ptr %473, align 4, !tbaa !21
  %489 = fcmp oge float %.71042, 1.000000e+00
  %490 = select i1 %489, float %.71042, float 1.000000e+00
  %491 = fdiv float 1.000000e+00, %490
  store float %491, ptr %25, align 4, !tbaa !9
  %492 = getelementptr inbounds float, ptr %30, i64 %477
  %493 = load float, ptr %492, align 4, !tbaa !9
  %494 = load float, ptr %23, align 4, !tbaa !9
  %495 = fsub float %494, %487
  %496 = fmul float %491, %495
  %497 = fcmp ogt float %493, %496
  br i1 %497, label %498, label %533

498:                                              ; preds = %476
  %499 = fmul float %491, 5.000000e-01
  store float %499, ptr %25, align 4, !tbaa !9
  %500 = insertelement <2 x float> <float poison, float 0.000000e+00>, float %488, i64 0
  br i1 %.not879, label %509, label %501

501:                                              ; preds = %498
  %502 = mul nsw i32 %.88361040, %26
  %503 = add nsw i32 %502, %.2840
  store i32 %503, ptr %14, align 4, !tbaa !5
  %504 = sext i32 %503 to i64
  %505 = getelementptr inbounds %struct.complex, ptr %28, i64 %504
  %506 = load <2 x float>, ptr %505, align 4, !tbaa !9
  %507 = shufflevector <2 x float> %500, <2 x float> poison, <2 x i32> zeroinitializer
  %508 = fmul <2 x float> %507, %506
  store <2 x float> %508, ptr %16, align 8, !tbaa !9
  br label %509

509:                                              ; preds = %498, %501
  %510 = phi <2 x float> [ %508, %501 ], [ %500, %498 ]
  store <2 x float> %510, ptr %20, align 8, !tbaa !9
  %511 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %512 = shufflevector <2 x float> %510, <2 x float> %511, <2 x i32> <i32 0, i32 3>
  %513 = fcmp oge <2 x float> %512, zeroinitializer
  %514 = fneg <2 x float> %512
  %515 = select <2 x i1> %513, <2 x float> %512, <2 x float> %514
  %shift1247 = shufflevector <2 x float> %515, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %516 = fadd <2 x float> %515, %shift1247
  %517 = extractelement <2 x float> %516, i64 0
  %518 = fcmp ogt float %517, 1.000000e+00
  br i1 %518, label %519, label %525

519:                                              ; preds = %509
  store float 1.000000e+00, ptr %15, align 4, !tbaa !9
  %520 = load float, ptr %25, align 4, !tbaa !9
  %521 = fmul float %517, %520
  %522 = fcmp oge float %521, 1.000000e+00
  %523 = select i1 %522, float 1.000000e+00, float %521
  store float %523, ptr %25, align 4, !tbaa !9
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %22, ptr noundef nonnull %20) #8
  %524 = load <2 x float>, ptr %16, align 8, !tbaa !9
  store <2 x float> %524, ptr %22, align 8, !tbaa !9
  br label %525

525:                                              ; preds = %519, %509
  %526 = load float, ptr %25, align 4, !tbaa !9
  %527 = fcmp olt float %526, 1.000000e+00
  br i1 %527, label %528, label %533

528:                                              ; preds = %525
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %529 = load float, ptr %25, align 4, !tbaa !9
  %530 = load float, ptr %9, align 4, !tbaa !9
  %531 = fmul float %529, %530
  store float %531, ptr %9, align 4, !tbaa !9
  %532 = fmul float %.71042, %529
  br label %533

533:                                              ; preds = %525, %528, %476
  %.8 = phi float [ %532, %528 ], [ %.71042, %525 ], [ %.71042, %476 ]
  %534 = load float, ptr %22, align 8, !tbaa !14
  %535 = fcmp oeq float %534, 1.000000e+00
  %536 = load float, ptr %473, align 4
  %537 = fcmp oeq float %536, 0.000000e+00
  %or.cond = select i1 %535, i1 %537, i1 false
  %538 = load i32, ptr %5, align 4, !tbaa !5
  br i1 %or.cond, label %539, label %563

539:                                              ; preds = %533
  br i1 %.not.not.not, label %553, label %540

540:                                              ; preds = %539
  %541 = add nsw i32 %.88361040, -1
  %542 = call i32 @llvm.smin.i32(i32 %538, i32 %541)
  store i32 %542, ptr %19, align 4, !tbaa !5
  %543 = mul nsw i32 %.88361040, %26
  %544 = add i32 %543, 1
  %545 = add i32 %544, %538
  %546 = sub i32 %545, %542
  %547 = sext i32 %546 to i64
  %548 = getelementptr inbounds %struct.complex, ptr %28, i64 %547
  %549 = sub nsw i32 %.88361040, %542
  %550 = sext i32 %549 to i64
  %551 = getelementptr inbounds %struct.complex, ptr %29, i64 %550
  call void @cdotu_(ptr noundef nonnull %16, ptr noundef nonnull %19, ptr noundef %548, ptr noundef nonnull @c__1, ptr noundef nonnull %551, ptr noundef nonnull @c__1)
  %552 = load <2 x float>, ptr %16, align 8, !tbaa !9
  br label %.loopexit945

553:                                              ; preds = %539
  %554 = load i32, ptr %4, align 4, !tbaa !5
  %555 = sub nsw i32 %554, %.88361040
  %556 = call i32 @llvm.smin.i32(i32 %538, i32 %555)
  store i32 %556, ptr %19, align 4, !tbaa !5
  %557 = icmp sgt i32 %556, 1
  br i1 %557, label %558, label %.loopexit945

558:                                              ; preds = %553
  %559 = mul nsw i32 %.88361040, %26
  %560 = sext i32 %559 to i64
  %gep1038 = getelementptr %struct.complex, ptr %invariant.gep1037, i64 %560
  %561 = getelementptr i8, ptr %478, i64 8
  call void @cdotu_(ptr noundef nonnull %16, ptr noundef nonnull %19, ptr noundef %gep1038, ptr noundef nonnull @c__1, ptr noundef %561, ptr noundef nonnull @c__1)
  %562 = load <2 x float>, ptr %16, align 8, !tbaa !9
  br label %.loopexit945

563:                                              ; preds = %533
  br i1 %.not.not.not, label %598, label %564

564:                                              ; preds = %563
  %565 = add nsw i32 %.88361040, -1
  %566 = call i32 @llvm.smin.i32(i32 %538, i32 %565)
  store i32 %566, ptr %19, align 4, !tbaa !5
  store i32 %566, ptr %14, align 4, !tbaa !5
  %.not9111009 = icmp slt i32 %566, 1
  br i1 %.not9111009, label %.loopexit945, label %.lr.ph1014

.lr.ph1014:                                       ; preds = %564
  %567 = mul nsw i32 %.88361040, %26
  %568 = add i32 %538, %567
  %569 = sub i32 %568, %566
  %570 = xor i32 %566, -1
  %571 = add i32 %.88361040, %570
  %572 = sext i32 %571 to i64
  %573 = add nuw nsw i32 %566, 1
  %wide.trip.count = zext nneg i32 %573 to i64
  %invariant.gep1169 = getelementptr %struct.complex, ptr %29, i64 %572
  br label %574

574:                                              ; preds = %.lr.ph1014, %574
  %indvars.iv1122 = phi i64 [ 1, %.lr.ph1014 ], [ %indvars.iv.next1123, %574 ]
  %575 = phi <2 x float> [ zeroinitializer, %.lr.ph1014 ], [ %597, %574 ]
  %576 = trunc nuw nsw i64 %indvars.iv1122 to i32
  %577 = add i32 %569, %576
  %578 = sext i32 %577 to i64
  %579 = getelementptr inbounds %struct.complex, ptr %28, i64 %578
  %580 = load float, ptr %579, align 4, !tbaa !14
  %581 = getelementptr inbounds i8, ptr %579, i64 4
  %582 = load float, ptr %581, align 4, !tbaa !21
  %583 = fneg float %582
  %584 = fmul float %536, %583
  %585 = call float @llvm.fmuladd.f32(float %580, float %534, float %584)
  %586 = fmul float %534, %582
  %587 = call float @llvm.fmuladd.f32(float %580, float %536, float %586)
  %gep1170 = getelementptr %struct.complex, ptr %invariant.gep1169, i64 %indvars.iv1122
  %588 = fneg float %587
  %589 = load <2 x float>, ptr %gep1170, align 4, !tbaa !9
  %590 = insertelement <2 x float> poison, float %587, i64 0
  %591 = insertelement <2 x float> %590, float %588, i64 1
  %592 = fmul <2 x float> %589, %591
  %593 = shufflevector <2 x float> %592, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %594 = insertelement <2 x float> poison, float %585, i64 0
  %595 = shufflevector <2 x float> %594, <2 x float> poison, <2 x i32> zeroinitializer
  %596 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %595, <2 x float> %589, <2 x float> %593)
  %597 = fadd <2 x float> %575, %596
  %indvars.iv.next1123 = add nuw nsw i64 %indvars.iv1122, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next1123, %wide.trip.count
  br i1 %exitcond.not, label %..loopexit946_crit_edge, label %574, !llvm.loop !23

598:                                              ; preds = %563
  %599 = load i32, ptr %4, align 4, !tbaa !5
  %600 = sub nsw i32 %599, %.88361040
  %601 = call i32 @llvm.smin.i32(i32 %538, i32 %600)
  store i32 %601, ptr %19, align 4, !tbaa !5
  %.not9091020 = icmp slt i32 %601, 1
  br i1 %.not9091020, label %.loopexit945, label %.lr.ph1025

.lr.ph1025:                                       ; preds = %598
  %602 = mul nsw i32 %.88361040, %26
  %603 = sext i32 %602 to i64
  %604 = add nuw i32 %601, 1
  %wide.trip.count1128 = zext i32 %604 to i64
  %invariant.gep1171 = getelementptr %struct.complex, ptr %28, i64 %603
  %invariant.gep1173 = getelementptr %struct.complex, ptr %29, i64 %477
  br label %605

605:                                              ; preds = %.lr.ph1025, %605
  %indvars.iv1125 = phi i64 [ 1, %.lr.ph1025 ], [ %indvars.iv.next1126, %605 ]
  %606 = phi <2 x float> [ zeroinitializer, %.lr.ph1025 ], [ %624, %605 ]
  %indvars.iv.next1126 = add nuw nsw i64 %indvars.iv1125, 1
  %gep1172 = getelementptr %struct.complex, ptr %invariant.gep1171, i64 %indvars.iv.next1126
  %607 = load float, ptr %gep1172, align 4, !tbaa !14
  %608 = getelementptr inbounds i8, ptr %gep1172, i64 4
  %609 = load float, ptr %608, align 4, !tbaa !21
  %610 = fneg float %609
  %611 = fmul float %536, %610
  %612 = call float @llvm.fmuladd.f32(float %607, float %534, float %611)
  %613 = fmul float %534, %609
  %614 = call float @llvm.fmuladd.f32(float %607, float %536, float %613)
  %gep1174 = getelementptr %struct.complex, ptr %invariant.gep1173, i64 %indvars.iv1125
  %615 = fneg float %614
  %616 = load <2 x float>, ptr %gep1174, align 4, !tbaa !9
  %617 = insertelement <2 x float> poison, float %614, i64 0
  %618 = insertelement <2 x float> %617, float %615, i64 1
  %619 = fmul <2 x float> %616, %618
  %620 = shufflevector <2 x float> %619, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %621 = insertelement <2 x float> poison, float %612, 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> %616, <2 x float> %620)
  %624 = fadd <2 x float> %606, %623
  %exitcond1129.not = icmp eq i64 %indvars.iv.next1126, %wide.trip.count1128
  br i1 %exitcond1129.not, label %..loopexit945_crit_edge, label %605, !llvm.loop !24

..loopexit945_crit_edge:                          ; preds = %605
  store <2 x float> %623, ptr %17, align 8, !tbaa !9
  br label %.loopexit945

..loopexit946_crit_edge:                          ; preds = %574
  store <2 x float> %596, ptr %17, align 8, !tbaa !9
  br label %.loopexit945

.loopexit945:                                     ; preds = %564, %..loopexit946_crit_edge, %598, %..loopexit945_crit_edge, %540, %558, %553
  %625 = phi <2 x float> [ %552, %540 ], [ %562, %558 ], [ zeroinitializer, %553 ], [ %624, %..loopexit945_crit_edge ], [ zeroinitializer, %598 ], [ %597, %..loopexit946_crit_edge ], [ zeroinitializer, %564 ]
  %626 = load float, ptr %21, align 4, !tbaa !9
  store float %626, ptr %16, align 8, !tbaa !14
  store float 0.000000e+00, ptr %474, align 4, !tbaa !21
  %627 = load float, ptr %22, align 8, !tbaa !14
  %628 = fcmp oeq float %627, %626
  %629 = load float, ptr %473, align 4
  %630 = fcmp oeq float %629, 0.000000e+00
  %or.cond927 = select i1 %628, i1 %630, i1 false
  br i1 %or.cond927, label %631, label %707

631:                                              ; preds = %.loopexit945
  %632 = load <2 x float>, ptr %478, align 4, !tbaa !9
  %633 = fsub <2 x float> %632, %625
  store <2 x float> %633, ptr %16, align 8, !tbaa !9
  store <2 x float> %633, ptr %478, align 4, !tbaa !9
  %634 = extractelement <2 x float> %633, i64 0
  %635 = fcmp oge float %634, 0.000000e+00
  %636 = fneg float %634
  %637 = select i1 %635, float %634, float %636
  %638 = call <2 x float> @Cf(ptr noundef nonnull %478)
  %.sroa.016.4.vec.extract = extractelement <2 x float> %638, i64 1
  %639 = fcmp oge float %.sroa.016.4.vec.extract, 0.000000e+00
  %640 = fneg float %.sroa.016.4.vec.extract
  %641 = select i1 %639, float %.sroa.016.4.vec.extract, float %640
  %642 = fadd float %637, %641
  br i1 %.not879, label %654, label %643

643:                                              ; preds = %631
  %644 = mul nsw i32 %.88361040, %26
  %645 = add nsw i32 %644, %.2840
  store i32 %645, ptr %14, align 4, !tbaa !5
  %646 = load float, ptr %21, align 4, !tbaa !9
  %647 = sext i32 %645 to i64
  %648 = getelementptr inbounds %struct.complex, ptr %28, i64 %647
  %649 = load <2 x float>, ptr %648, align 4, !tbaa !9
  %650 = insertelement <2 x float> poison, float %646, i64 0
  %651 = shufflevector <2 x float> %650, <2 x float> poison, <2 x i32> zeroinitializer
  %652 = fmul <2 x float> %651, %649
  store <2 x float> %652, ptr %16, align 8, !tbaa !9
  store <2 x float> %652, ptr %20, align 8, !tbaa !9
  %653 = extractelement <2 x float> %652, i64 0
  br label %657

654:                                              ; preds = %631
  %655 = load float, ptr %21, align 4, !tbaa !9
  store float %655, ptr %20, align 8, !tbaa !14
  store float 0.000000e+00, ptr %475, align 4, !tbaa !21
  %656 = fcmp oeq float %655, 1.000000e+00
  br i1 %656, label %713, label %657

657:                                              ; preds = %654, %643
  %658 = phi float [ %655, %654 ], [ %653, %643 ]
  store float %658, ptr %15, align 4, !tbaa !9
  %659 = fcmp oge float %658, 0.000000e+00
  %660 = fneg float %658
  %661 = select i1 %659, float %658, float %660
  %662 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %.sroa.015.4.vec.extract = extractelement <2 x float> %662, i64 1
  %663 = fcmp oge float %.sroa.015.4.vec.extract, 0.000000e+00
  %664 = fneg float %.sroa.015.4.vec.extract
  %665 = select i1 %663, float %.sroa.015.4.vec.extract, float %664
  %666 = fadd float %661, %665
  %667 = load float, ptr %24, align 4, !tbaa !9
  %668 = fcmp ogt float %666, %667
  br i1 %668, label %669, label %686

669:                                              ; preds = %657
  %670 = fcmp olt float %666, 1.000000e+00
  br i1 %670, label %671, label %681

671:                                              ; preds = %669
  %672 = load float, ptr %23, align 4, !tbaa !9
  %673 = fmul float %666, %672
  %674 = fcmp ogt float %642, %673
  br i1 %674, label %675, label %681

675:                                              ; preds = %671
  %676 = fdiv float 1.000000e+00, %642
  store float %676, ptr %25, align 4, !tbaa !9
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %677 = load float, ptr %25, align 4, !tbaa !9
  %678 = load float, ptr %9, align 4, !tbaa !9
  %679 = fmul float %677, %678
  store float %679, ptr %9, align 4, !tbaa !9
  %680 = fmul float %.8, %677
  br label %681

681:                                              ; preds = %671, %675, %669
  %.9 = phi float [ %680, %675 ], [ %.8, %671 ], [ %.8, %669 ]
  store i32 %.88361040, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %478, ptr noundef nonnull %20) #8
  %682 = load i32, ptr %14, align 4, !tbaa !5
  %683 = sext i32 %682 to i64
  %684 = getelementptr inbounds %struct.complex, ptr %29, i64 %683
  %685 = load <2 x float>, ptr %16, align 8, !tbaa !9
  store <2 x float> %685, ptr %684, align 4, !tbaa !9
  br label %713

686:                                              ; preds = %657
  %687 = fcmp ogt float %666, 0.000000e+00
  br i1 %687, label %688, label %703

688:                                              ; preds = %686
  %689 = load float, ptr %23, align 4, !tbaa !9
  %690 = fmul float %666, %689
  %691 = fcmp ogt float %642, %690
  br i1 %691, label %692, label %698

692:                                              ; preds = %688
  %693 = fdiv float %690, %642
  store float %693, ptr %25, align 4, !tbaa !9
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %694 = load float, ptr %25, align 4, !tbaa !9
  %695 = load float, ptr %9, align 4, !tbaa !9
  %696 = fmul float %694, %695
  store float %696, ptr %9, align 4, !tbaa !9
  %697 = fmul float %.8, %694
  br label %698

698:                                              ; preds = %692, %688
  %.10 = phi float [ %697, %692 ], [ %.8, %688 ]
  store i32 %.88361040, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %478, ptr noundef nonnull %20) #8
  %699 = load i32, ptr %14, align 4, !tbaa !5
  %700 = sext i32 %699 to i64
  %701 = getelementptr inbounds %struct.complex, ptr %29, i64 %700
  %702 = load <2 x float>, ptr %16, align 8, !tbaa !9
  store <2 x float> %702, ptr %701, align 4, !tbaa !9
  br label %713

703:                                              ; preds = %686
  %704 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %704, ptr %14, align 4, !tbaa !5
  %.not9151032 = icmp slt i32 %704, 1
  br i1 %.not9151032, label %._crit_edge1036, label %.lr.ph1035.preheader

.lr.ph1035.preheader:                             ; preds = %703
  %705 = zext nneg i32 %704 to i64
  %706 = shl nuw nsw i64 %705, 3
  call void @llvm.memset.p0.i64(ptr nonnull align 4 %8, i8 0, i64 %706, i1 false), !tbaa !9
  br label %._crit_edge1036

._crit_edge1036:                                  ; preds = %.lr.ph1035.preheader, %703
  store <2 x float> <float 1.000000e+00, float 0.000000e+00>, ptr %478, align 4, !tbaa !9
  store float 0.000000e+00, ptr %9, align 4, !tbaa !9
  br label %713

707:                                              ; preds = %.loopexit945
  store i32 %.88361040, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %17, ptr noundef nonnull %478, ptr noundef nonnull %20) #8
  %708 = load <2 x float>, ptr %17, align 8, !tbaa !9
  %709 = fsub <2 x float> %708, %625
  store <2 x float> %709, ptr %16, align 8, !tbaa !9
  %710 = load i32, ptr %14, align 4, !tbaa !5
  %711 = sext i32 %710 to i64
  %712 = getelementptr inbounds %struct.complex, ptr %29, i64 %711
  store <2 x float> %709, ptr %712, align 4, !tbaa !9
  br label %713

713:                                              ; preds = %654, %698, %._crit_edge1036, %681, %707
  %.11 = phi float [ %.9, %681 ], [ %.10, %698 ], [ 0.000000e+00, %._crit_edge1036 ], [ %.8, %654 ], [ %.8, %707 ]
  store i32 %.88361040, ptr %14, align 4, !tbaa !5
  %714 = load float, ptr %478, align 4, !tbaa !14
  store float %714, ptr %15, align 4, !tbaa !9
  %715 = fcmp oge float %714, 0.000000e+00
  %716 = fneg float %714
  %717 = select i1 %715, float %714, float %716
  %718 = call <2 x float> @Cf(ptr noundef nonnull %478)
  %.sroa.014.4.vec.extract = extractelement <2 x float> %718, i64 1
  %719 = fcmp oge float %.sroa.014.4.vec.extract, 0.000000e+00
  %720 = fneg float %.sroa.014.4.vec.extract
  %721 = select i1 %719, float %.sroa.014.4.vec.extract, float %720
  %722 = fadd float %717, %721
  %723 = fcmp oge float %.11, %722
  %724 = select i1 %723, float %.11, float %722
  %725 = add nsw i32 %273, %.88361040
  %726 = icmp sge i32 %725, %272
  %727 = icmp sle i32 %725, %272
  %.in906 = select i1 %472, i1 %726, i1 %727
  br i1 %.in906, label %476, label %.loopexit944, !llvm.loop !25

728:                                              ; preds = %469
  store i32 %272, ptr %13, align 4, !tbaa !5
  %729 = icmp slt i32 %273, 0
  %invariant.gep1066 = getelementptr i8, ptr %28, i64 16
  %.in8961068 = select i1 %729, i1 %289, i1 %290
  br i1 %.in8961068, label %.lr.ph1073, label %.loopexit944

.lr.ph1073:                                       ; preds = %728
  %730 = getelementptr inbounds i8, ptr %22, i64 4
  %731 = getelementptr inbounds i8, ptr %16, i64 4
  %732 = getelementptr inbounds i8, ptr %20, i64 4
  %733 = getelementptr inbounds i8, ptr %18, i64 4
  %734 = sext i32 %.2847 to i64
  %735 = sext i32 %273 to i64
  %736 = sext i32 %26 to i64
  %737 = sext i32 %.2840 to i64
  %invariant.gep1179 = getelementptr %struct.complex, ptr %28, i64 %737
  %invariant.gep1181 = getelementptr %struct.complex, ptr %28, i64 %737
  %738 = sext i32 %272 to i64
  br label %739

739:                                              ; preds = %.lr.ph1073, %998
  %indvars.iv1139 = phi i64 [ %734, %.lr.ph1073 ], [ %indvars.iv.next1140, %998 ]
  %.121071 = phi float [ %.1812, %.lr.ph1073 ], [ %1009, %998 ]
  %740 = trunc nsw i64 %indvars.iv1139 to i32
  %741 = getelementptr inbounds %struct.complex, ptr %29, i64 %indvars.iv1139
  %742 = load float, ptr %741, align 4, !tbaa !14
  store float %742, ptr %15, align 4, !tbaa !9
  %743 = fcmp oge float %742, 0.000000e+00
  %744 = fneg float %742
  %745 = select i1 %743, float %742, float %744
  %746 = call <2 x float> @Cf(ptr noundef nonnull %741)
  %.sroa.013.4.vec.extract = extractelement <2 x float> %746, i64 1
  %747 = fcmp oge float %.sroa.013.4.vec.extract, 0.000000e+00
  %748 = fneg float %.sroa.013.4.vec.extract
  %749 = select i1 %747, float %.sroa.013.4.vec.extract, float %748
  %750 = fadd float %745, %749
  %751 = load float, ptr %21, align 4, !tbaa !9
  store float %751, ptr %22, align 8, !tbaa !14
  store float 0.000000e+00, ptr %730, align 4, !tbaa !21
  %752 = fcmp oge float %.121071, 1.000000e+00
  %753 = select i1 %752, float %.121071, float 1.000000e+00
  %754 = fdiv float 1.000000e+00, %753
  store float %754, ptr %25, align 4, !tbaa !9
  %755 = getelementptr inbounds float, ptr %30, i64 %indvars.iv1139
  %756 = load float, ptr %755, align 4, !tbaa !9
  %757 = load float, ptr %23, align 4, !tbaa !9
  %758 = fsub float %757, %750
  %759 = fmul float %754, %758
  %760 = fcmp ogt float %756, %759
  br i1 %760, label %761, label %799

761:                                              ; preds = %739
  %762 = fmul float %754, 5.000000e-01
  store float %762, ptr %25, align 4, !tbaa !9
  %763 = insertelement <2 x float> <float poison, float 0.000000e+00>, float %751, i64 0
  br i1 %.not879, label %775, label %764

764:                                              ; preds = %761
  %765 = mul nsw i64 %indvars.iv1139, %736
  %gep1180 = getelementptr %struct.complex, ptr %invariant.gep1179, i64 %765
  %766 = call <2 x float> @Cf(ptr noundef %gep1180)
  %.sroa.012.0.vec.extract = extractelement <2 x float> %766, i64 0
  %.sroa.012.4.vec.extract = extractelement <2 x float> %766, i64 1
  %767 = fneg float %.sroa.012.4.vec.extract
  %768 = call ptr @_pCf(ptr noundef nonnull %17)
  %769 = getelementptr inbounds i8, ptr %768, i64 4
  store float %.sroa.012.0.vec.extract, ptr %768, align 4
  store float %767, ptr %769, align 4
  %770 = load float, ptr %21, align 4, !tbaa !9
  %771 = load <2 x float>, ptr %17, align 8, !tbaa !9
  %772 = insertelement <2 x float> poison, float %770, i64 0
  %773 = shufflevector <2 x float> %772, <2 x float> poison, <2 x i32> zeroinitializer
  %774 = fmul <2 x float> %773, %771
  store <2 x float> %774, ptr %16, align 8, !tbaa !9
  br label %775

775:                                              ; preds = %761, %764
  %776 = phi <2 x float> [ %774, %764 ], [ %763, %761 ]
  store <2 x float> %776, ptr %20, align 8, !tbaa !9
  %777 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %778 = shufflevector <2 x float> %776, <2 x float> %777, <2 x i32> <i32 0, i32 3>
  %779 = fcmp oge <2 x float> %778, zeroinitializer
  %780 = fneg <2 x float> %778
  %781 = select <2 x i1> %779, <2 x float> %778, <2 x float> %780
  %shift1248 = shufflevector <2 x float> %781, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %782 = fadd <2 x float> %781, %shift1248
  %783 = extractelement <2 x float> %782, i64 0
  %784 = fcmp ogt float %783, 1.000000e+00
  br i1 %784, label %785, label %791

785:                                              ; preds = %775
  store float 1.000000e+00, ptr %15, align 4, !tbaa !9
  %786 = load float, ptr %25, align 4, !tbaa !9
  %787 = fmul float %783, %786
  %788 = fcmp oge float %787, 1.000000e+00
  %789 = select i1 %788, float 1.000000e+00, float %787
  store float %789, ptr %25, align 4, !tbaa !9
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %22, ptr noundef nonnull %20) #8
  %790 = load <2 x float>, ptr %16, align 8, !tbaa !9
  store <2 x float> %790, ptr %22, align 8, !tbaa !9
  br label %791

791:                                              ; preds = %785, %775
  %792 = load float, ptr %25, align 4, !tbaa !9
  %793 = fcmp olt float %792, 1.000000e+00
  br i1 %793, label %794, label %799

794:                                              ; preds = %791
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %795 = load float, ptr %25, align 4, !tbaa !9
  %796 = load float, ptr %9, align 4, !tbaa !9
  %797 = fmul float %795, %796
  store float %797, ptr %9, align 4, !tbaa !9
  %798 = fmul float %.121071, %795
  br label %799

799:                                              ; preds = %791, %794, %739
  %.13 = phi float [ %798, %794 ], [ %.121071, %791 ], [ %.121071, %739 ]
  %800 = load float, ptr %22, align 8, !tbaa !14
  %801 = fcmp oeq float %800, 1.000000e+00
  %802 = load float, ptr %730, align 4
  %803 = fcmp oeq float %802, 0.000000e+00
  %or.cond5 = select i1 %801, i1 %803, i1 false
  %804 = load i32, ptr %5, align 4, !tbaa !5
  br i1 %or.cond5, label %805, label %830

805:                                              ; preds = %799
  br i1 %.not.not.not, label %821, label %806

806:                                              ; preds = %805
  %807 = trunc i64 %indvars.iv1139 to i32
  %808 = add i32 %807, -1
  %809 = call i32 @llvm.smin.i32(i32 %804, i32 %808)
  store i32 %809, ptr %19, align 4, !tbaa !5
  %810 = trunc i64 %indvars.iv1139 to i32
  %811 = mul i32 %26, %810
  %812 = add i32 %811, 1
  %813 = add i32 %812, %804
  %814 = sub i32 %813, %809
  %815 = sext i32 %814 to i64
  %816 = getelementptr inbounds %struct.complex, ptr %28, i64 %815
  %817 = sext i32 %809 to i64
  %818 = sub nsw i64 %indvars.iv1139, %817
  %819 = getelementptr inbounds %struct.complex, ptr %29, i64 %818
  call void @cdotc_(ptr noundef nonnull %16, ptr noundef nonnull %19, ptr noundef %816, ptr noundef nonnull @c__1, ptr noundef nonnull %819, ptr noundef nonnull @c__1)
  %820 = load <2 x float>, ptr %16, align 8, !tbaa !9
  br label %.loopexit

821:                                              ; preds = %805
  %822 = load i32, ptr %4, align 4, !tbaa !5
  %823 = sub nsw i32 %822, %740
  %824 = call i32 @llvm.smin.i32(i32 %804, i32 %823)
  store i32 %824, ptr %19, align 4, !tbaa !5
  %825 = icmp sgt i32 %824, 1
  br i1 %825, label %826, label %.loopexit

826:                                              ; preds = %821
  %827 = mul nsw i64 %indvars.iv1139, %736
  %gep1067 = getelementptr %struct.complex, ptr %invariant.gep1066, i64 %827
  %828 = getelementptr i8, ptr %741, i64 8
  call void @cdotc_(ptr noundef nonnull %16, ptr noundef nonnull %19, ptr noundef %gep1067, ptr noundef nonnull @c__1, ptr noundef %828, ptr noundef nonnull @c__1)
  %829 = load <2 x float>, ptr %16, align 8, !tbaa !9
  br label %.loopexit

830:                                              ; preds = %799
  br i1 %.not.not.not, label %877, label %831

831:                                              ; preds = %830
  %832 = trunc i64 %indvars.iv1139 to i32
  %833 = add i32 %832, -1
  %834 = call i32 @llvm.smin.i32(i32 %804, i32 %833)
  store i32 %834, ptr %19, align 4, !tbaa !5
  store i32 %834, ptr %14, align 4, !tbaa !5
  %.not9011045 = icmp slt i32 %834, 1
  br i1 %.not9011045, label %.loopexit, label %.lr.ph1050

.lr.ph1050:                                       ; preds = %831
  %835 = trunc i64 %indvars.iv1139 to i32
  %836 = mul i32 %26, %835
  br label %837

837:                                              ; preds = %.lr.ph1050, %837
  %838 = phi i32 [ %834, %.lr.ph1050 ], [ %859, %837 ]
  %.48251048 = phi i32 [ 1, %.lr.ph1050 ], [ %875, %837 ]
  %839 = phi <2 x float> [ zeroinitializer, %.lr.ph1050 ], [ %874, %837 ]
  %840 = load i32, ptr %5, align 4, !tbaa !5
  %841 = add i32 %.48251048, %836
  %842 = add i32 %841, %840
  %843 = sub i32 %842, %838
  %844 = sext i32 %843 to i64
  %845 = getelementptr inbounds %struct.complex, ptr %28, i64 %844
  %846 = call <2 x float> @Cf(ptr noundef %845)
  %.sroa.010.0.vec.extract = extractelement <2 x float> %846, i64 0
  %.sroa.010.4.vec.extract = extractelement <2 x float> %846, i64 1
  %847 = fneg float %.sroa.010.4.vec.extract
  %848 = call ptr @_pCf(ptr noundef nonnull %18)
  %849 = getelementptr inbounds i8, ptr %848, i64 4
  store float %.sroa.010.0.vec.extract, ptr %848, align 4
  store float %847, ptr %849, align 4
  %850 = load float, ptr %18, align 4, !tbaa !14
  %851 = load float, ptr %22, align 8, !tbaa !14
  %852 = load float, ptr %733, align 4, !tbaa !21
  %853 = load float, ptr %730, align 4, !tbaa !21
  %854 = fneg float %852
  %855 = fmul float %853, %854
  %856 = call float @llvm.fmuladd.f32(float %850, float %851, float %855)
  %857 = fmul float %851, %852
  %858 = call float @llvm.fmuladd.f32(float %850, float %853, float %857)
  %859 = load i32, ptr %19, align 4, !tbaa !5
  %860 = xor i32 %859, -1
  %861 = add i32 %.48251048, %740
  %862 = add i32 %861, %860
  %863 = sext i32 %862 to i64
  %864 = getelementptr inbounds %struct.complex, ptr %29, i64 %863
  %865 = fneg float %858
  %866 = load <2 x float>, ptr %864, align 4, !tbaa !9
  %867 = insertelement <2 x float> poison, float %858, i64 0
  %868 = insertelement <2 x float> %867, float %865, i64 1
  %869 = fmul <2 x float> %866, %868
  %870 = shufflevector <2 x float> %869, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %871 = insertelement <2 x float> poison, float %856, i64 0
  %872 = shufflevector <2 x float> %871, <2 x float> poison, <2 x i32> zeroinitializer
  %873 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %872, <2 x float> %866, <2 x float> %870)
  store <2 x float> %873, ptr %17, align 8, !tbaa !9
  %874 = fadd <2 x float> %839, %873
  store <2 x float> %874, ptr %16, align 8, !tbaa !9
  %875 = add nuw nsw i32 %.48251048, 1
  %876 = load i32, ptr %14, align 4, !tbaa !5
  %.not901.not = icmp slt i32 %.48251048, %876
  br i1 %.not901.not, label %837, label %.loopexit, !llvm.loop !26

877:                                              ; preds = %830
  %878 = load i32, ptr %4, align 4, !tbaa !5
  %879 = sub nsw i32 %878, %740
  %880 = call i32 @llvm.smin.i32(i32 %804, i32 %879)
  store i32 %880, ptr %19, align 4, !tbaa !5
  store i32 %880, ptr %14, align 4, !tbaa !5
  %.not8991053 = icmp slt i32 %880, 1
  br i1 %.not8991053, label %.loopexit, label %.lr.ph1058

.lr.ph1058:                                       ; preds = %877
  %881 = mul nsw i64 %indvars.iv1139, %736
  %invariant.gep1175 = getelementptr %struct.complex, ptr %28, i64 %881
  %invariant.gep1177 = getelementptr %struct.complex, ptr %29, i64 %indvars.iv1139
  br label %882

882:                                              ; preds = %.lr.ph1058, %882
  %indvars.iv1133 = phi i64 [ 1, %.lr.ph1058 ], [ %indvars.iv.next1134, %882 ]
  %883 = phi <2 x float> [ zeroinitializer, %.lr.ph1058 ], [ %906, %882 ]
  %indvars.iv.next1134 = add nuw nsw i64 %indvars.iv1133, 1
  %gep1176 = getelementptr %struct.complex, ptr %invariant.gep1175, i64 %indvars.iv.next1134
  %884 = call <2 x float> @Cf(ptr noundef %gep1176)
  %.sroa.09.0.vec.extract = extractelement <2 x float> %884, i64 0
  %.sroa.09.4.vec.extract = extractelement <2 x float> %884, i64 1
  %885 = fneg float %.sroa.09.4.vec.extract
  %886 = call ptr @_pCf(ptr noundef nonnull %18)
  %887 = getelementptr inbounds i8, ptr %886, i64 4
  store float %.sroa.09.0.vec.extract, ptr %886, align 4
  store float %885, ptr %887, align 4
  %888 = load float, ptr %18, align 4, !tbaa !14
  %889 = load float, ptr %22, align 8, !tbaa !14
  %890 = load float, ptr %733, align 4, !tbaa !21
  %891 = load float, ptr %730, align 4, !tbaa !21
  %892 = fneg float %890
  %893 = fmul float %891, %892
  %894 = call float @llvm.fmuladd.f32(float %888, float %889, float %893)
  %895 = fmul float %889, %890
  %896 = call float @llvm.fmuladd.f32(float %888, float %891, float %895)
  %gep1178 = getelementptr %struct.complex, ptr %invariant.gep1177, i64 %indvars.iv1133
  %897 = fneg float %896
  %898 = load <2 x float>, ptr %gep1178, align 4, !tbaa !9
  %899 = insertelement <2 x float> poison, float %896, i64 0
  %900 = insertelement <2 x float> %899, float %897, i64 1
  %901 = fmul <2 x float> %898, %900
  %902 = shufflevector <2 x float> %901, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %903 = insertelement <2 x float> poison, float %894, i64 0
  %904 = shufflevector <2 x float> %903, <2 x float> poison, <2 x i32> zeroinitializer
  %905 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %904, <2 x float> %898, <2 x float> %902)
  store <2 x float> %905, ptr %17, align 8, !tbaa !9
  %906 = fadd <2 x float> %883, %905
  store <2 x float> %906, ptr %16, align 8, !tbaa !9
  %907 = load i32, ptr %14, align 4, !tbaa !5
  %908 = sext i32 %907 to i64
  %.not899.not = icmp slt i64 %indvars.iv1133, %908
  br i1 %.not899.not, label %882, label %.loopexit, !llvm.loop !27

.loopexit:                                        ; preds = %837, %882, %831, %877, %806, %826, %821
  %909 = phi <2 x float> [ %820, %806 ], [ %829, %826 ], [ zeroinitializer, %821 ], [ zeroinitializer, %877 ], [ zeroinitializer, %831 ], [ %906, %882 ], [ %874, %837 ]
  %910 = load float, ptr %21, align 4, !tbaa !9
  store float %910, ptr %16, align 8, !tbaa !14
  store float 0.000000e+00, ptr %731, align 4, !tbaa !21
  %911 = load float, ptr %22, align 8, !tbaa !14
  %912 = fcmp oeq float %911, %910
  %913 = load float, ptr %730, align 4
  %914 = fcmp oeq float %913, 0.000000e+00
  %or.cond929 = select i1 %912, i1 %914, i1 false
  br i1 %or.cond929, label %915, label %992

915:                                              ; preds = %.loopexit
  %916 = load <2 x float>, ptr %741, align 4, !tbaa !9
  %917 = fsub <2 x float> %916, %909
  store <2 x float> %917, ptr %16, align 8, !tbaa !9
  store <2 x float> %917, ptr %741, align 4, !tbaa !9
  %918 = extractelement <2 x float> %917, i64 0
  %919 = fcmp oge float %918, 0.000000e+00
  %920 = fneg float %918
  %921 = select i1 %919, float %918, float %920
  %922 = call <2 x float> @Cf(ptr noundef nonnull %741)
  %.sroa.08.4.vec.extract = extractelement <2 x float> %922, i64 1
  %923 = fcmp oge float %.sroa.08.4.vec.extract, 0.000000e+00
  %924 = fneg float %.sroa.08.4.vec.extract
  %925 = select i1 %923, float %.sroa.08.4.vec.extract, float %924
  %926 = fadd float %921, %925
  br i1 %.not879, label %939, label %927

927:                                              ; preds = %915
  %928 = mul nsw i64 %indvars.iv1139, %736
  %gep1182 = getelementptr %struct.complex, ptr %invariant.gep1181, i64 %928
  %929 = call <2 x float> @Cf(ptr noundef %gep1182)
  %.sroa.07.0.vec.extract = extractelement <2 x float> %929, i64 0
  %.sroa.07.4.vec.extract = extractelement <2 x float> %929, i64 1
  %930 = fneg float %.sroa.07.4.vec.extract
  %931 = call ptr @_pCf(ptr noundef nonnull %17)
  %932 = getelementptr inbounds i8, ptr %931, i64 4
  store float %.sroa.07.0.vec.extract, ptr %931, align 4
  store float %930, ptr %932, align 4
  %933 = load float, ptr %21, align 4, !tbaa !9
  %934 = load <2 x float>, ptr %17, align 8, !tbaa !9
  %935 = insertelement <2 x float> poison, float %933, i64 0
  %936 = shufflevector <2 x float> %935, <2 x float> poison, <2 x i32> zeroinitializer
  %937 = fmul <2 x float> %936, %934
  store <2 x float> %937, ptr %16, align 8, !tbaa !9
  store <2 x float> %937, ptr %20, align 8, !tbaa !9
  %938 = extractelement <2 x float> %937, i64 0
  br label %942

939:                                              ; preds = %915
  %940 = load float, ptr %21, align 4, !tbaa !9
  store float %940, ptr %20, align 8, !tbaa !14
  store float 0.000000e+00, ptr %732, align 4, !tbaa !21
  %941 = fcmp oeq float %940, 1.000000e+00
  br i1 %941, label %998, label %942

942:                                              ; preds = %939, %927
  %943 = phi float [ %940, %939 ], [ %938, %927 ]
  store float %943, ptr %15, align 4, !tbaa !9
  %944 = fcmp oge float %943, 0.000000e+00
  %945 = fneg float %943
  %946 = select i1 %944, float %943, float %945
  %947 = call <2 x float> @Cf(ptr noundef nonnull %20)
  %.sroa.06.4.vec.extract = extractelement <2 x float> %947, i64 1
  %948 = fcmp oge float %.sroa.06.4.vec.extract, 0.000000e+00
  %949 = fneg float %.sroa.06.4.vec.extract
  %950 = select i1 %948, float %.sroa.06.4.vec.extract, float %949
  %951 = fadd float %946, %950
  %952 = load float, ptr %24, align 4, !tbaa !9
  %953 = fcmp ogt float %951, %952
  br i1 %953, label %954, label %971

954:                                              ; preds = %942
  %955 = fcmp olt float %951, 1.000000e+00
  br i1 %955, label %956, label %966

956:                                              ; preds = %954
  %957 = load float, ptr %23, align 4, !tbaa !9
  %958 = fmul float %951, %957
  %959 = fcmp ogt float %926, %958
  br i1 %959, label %960, label %966

960:                                              ; preds = %956
  %961 = fdiv float 1.000000e+00, %926
  store float %961, ptr %25, align 4, !tbaa !9
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %962 = load float, ptr %25, align 4, !tbaa !9
  %963 = load float, ptr %9, align 4, !tbaa !9
  %964 = fmul float %962, %963
  store float %964, ptr %9, align 4, !tbaa !9
  %965 = fmul float %.13, %962
  br label %966

966:                                              ; preds = %956, %960, %954
  %.14 = phi float [ %965, %960 ], [ %.13, %956 ], [ %.13, %954 ]
  store i32 %740, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %741, ptr noundef nonnull %20) #8
  %967 = load i32, ptr %14, align 4, !tbaa !5
  %968 = sext i32 %967 to i64
  %969 = getelementptr inbounds %struct.complex, ptr %29, i64 %968
  %970 = load <2 x float>, ptr %16, align 8, !tbaa !9
  store <2 x float> %970, ptr %969, align 4, !tbaa !9
  br label %998

971:                                              ; preds = %942
  %972 = fcmp ogt float %951, 0.000000e+00
  br i1 %972, label %973, label %988

973:                                              ; preds = %971
  %974 = load float, ptr %23, align 4, !tbaa !9
  %975 = fmul float %951, %974
  %976 = fcmp ogt float %926, %975
  br i1 %976, label %977, label %983

977:                                              ; preds = %973
  %978 = fdiv float %975, %926
  store float %978, ptr %25, align 4, !tbaa !9
  call void @csscal_(ptr noundef nonnull %4, ptr noundef nonnull %25, ptr noundef nonnull %8, ptr noundef nonnull @c__1) #8
  %979 = load float, ptr %25, align 4, !tbaa !9
  %980 = load float, ptr %9, align 4, !tbaa !9
  %981 = fmul float %979, %980
  store float %981, ptr %9, align 4, !tbaa !9
  %982 = fmul float %.13, %979
  br label %983

983:                                              ; preds = %977, %973
  %.15 = phi float [ %982, %977 ], [ %.13, %973 ]
  store i32 %740, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %16, ptr noundef nonnull %741, ptr noundef nonnull %20) #8
  %984 = load i32, ptr %14, align 4, !tbaa !5
  %985 = sext i32 %984 to i64
  %986 = getelementptr inbounds %struct.complex, ptr %29, i64 %985
  %987 = load <2 x float>, ptr %16, align 8, !tbaa !9
  store <2 x float> %987, ptr %986, align 4, !tbaa !9
  br label %998

988:                                              ; preds = %971
  %989 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %989, ptr %14, align 4, !tbaa !5
  %.not9051061 = icmp slt i32 %989, 1
  br i1 %.not9051061, label %._crit_edge1065, label %.lr.ph1064.preheader

.lr.ph1064.preheader:                             ; preds = %988
  %990 = zext nneg i32 %989 to i64
  %991 = shl nuw nsw i64 %990, 3
  call void @llvm.memset.p0.i64(ptr nonnull align 4 %8, i8 0, i64 %991, i1 false), !tbaa !9
  br label %._crit_edge1065

._crit_edge1065:                                  ; preds = %.lr.ph1064.preheader, %988
  store <2 x float> <float 1.000000e+00, float 0.000000e+00>, ptr %741, align 4, !tbaa !9
  store float 0.000000e+00, ptr %9, align 4, !tbaa !9
  br label %998

992:                                              ; preds = %.loopexit
  store i32 %740, ptr %14, align 4, !tbaa !5
  call void @cladiv_(ptr noundef nonnull %17, ptr noundef nonnull %741, ptr noundef nonnull %20) #8
  %993 = load <2 x float>, ptr %17, align 8, !tbaa !9
  %994 = fsub <2 x float> %993, %909
  store <2 x float> %994, ptr %16, align 8, !tbaa !9
  %995 = load i32, ptr %14, align 4, !tbaa !5
  %996 = sext i32 %995 to i64
  %997 = getelementptr inbounds %struct.complex, ptr %29, i64 %996
  store <2 x float> %994, ptr %997, align 4, !tbaa !9
  br label %998

998:                                              ; preds = %939, %983, %._crit_edge1065, %966, %992
  %.16 = phi float [ %.14, %966 ], [ %.15, %983 ], [ 0.000000e+00, %._crit_edge1065 ], [ %.13, %939 ], [ %.13, %992 ]
  store i32 %740, ptr %14, align 4, !tbaa !5
  %999 = load float, ptr %741, align 4, !tbaa !14
  store float %999, ptr %15, align 4, !tbaa !9
  %1000 = fcmp oge float %999, 0.000000e+00
  %1001 = fneg float %999
  %1002 = select i1 %1000, float %999, float %1001
  %1003 = call <2 x float> @Cf(ptr noundef nonnull %741)
  %.sroa.0.4.vec.extract = extractelement <2 x float> %1003, i64 1
  %1004 = fcmp oge float %.sroa.0.4.vec.extract, 0.000000e+00
  %1005 = fneg float %.sroa.0.4.vec.extract
  %1006 = select i1 %1004, float %.sroa.0.4.vec.extract, float %1005
  %1007 = fadd float %1002, %1006
  %1008 = fcmp oge float %.16, %1007
  %1009 = select i1 %1008, float %.16, float %1007
  %indvars.iv.next1140 = add nsw i64 %indvars.iv1139, %735
  %1010 = icmp sge i64 %indvars.iv.next1140, %738
  %1011 = icmp sle i64 %indvars.iv.next1140, %738
  %.in896 = select i1 %729, i1 %1010, i1 %1011
  br i1 %.in896, label %739, label %.loopexit944, !llvm.loop !28

.loopexit944:                                     ; preds = %466, %713, %998, %291, %471, %728
  %1012 = load float, ptr %21, align 4, !tbaa !9
  %1013 = load float, ptr %9, align 4, !tbaa !9
  %1014 = fdiv float %1013, %1012
  store float %1014, ptr %9, align 4, !tbaa !9
  br label %1015

1015:                                             ; preds = %.loopexit944, %278
  %1016 = phi float [ %1012, %.loopexit944 ], [ %.pr937, %278 ]
  %1017 = fcmp une float %1016, 1.000000e+00
  br i1 %1017, label %1018, label %1020

1018:                                             ; preds = %1015
  %1019 = fdiv float 1.000000e+00, %1016
  store float %1019, ptr %15, align 4, !tbaa !9
  call void @sscal_(ptr noundef nonnull %4, ptr noundef nonnull %15, ptr noundef %10, ptr noundef nonnull @c__1) #8
  br label %1020

1020:                                             ; preds = %1015, %1018, %60, %.thread
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #8
  ret void
}

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

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

declare float @scasum_(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @cdotu_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @cdotc_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

; 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 i32 @llvm.smin.i32(i32, i32) #6

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

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

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

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

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


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopIdiomRecognizePass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MergedLoadStoreMotionPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass