; LLVM IR from OpenMathLib/OpenBLAS :: lapack-netlib/TESTING/MATGEN (clatmr)

; 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 [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [7 x i8], align 1
@c__0 = external hidden global i32, align 4
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4

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

139:                                              ; preds = %28
  %140 = load ptr, ptr %30, align 8, !tbaa !5
  %141 = load i32, ptr %140, align 4, !tbaa !9
  %142 = icmp eq i32 %141, 0
  br i1 %142, label %143, label %144

143:                                              ; preds = %139, %28
  store i32 1, ptr %94, align 4
  br label %4303

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

148:                                              ; preds = %144
  store i32 1, ptr %78, align 4, !tbaa !9
  br label %168

149:                                              ; preds = %144
  %150 = load ptr, ptr %31, align 8, !tbaa !5
  %151 = call i32 @lsame_(ptr noundef %150, ptr noundef @.str.1)
  %152 = icmp ne i32 %151, 0
  br i1 %152, label %153, label %154

153:                                              ; preds = %149
  store i32 2, ptr %78, align 4, !tbaa !9
  br label %167

154:                                              ; preds = %149
  %155 = load ptr, ptr %31, align 8, !tbaa !5
  %156 = call i32 @lsame_(ptr noundef %155, ptr noundef @.str.2)
  %157 = icmp ne i32 %156, 0
  br i1 %157, label %158, label %159

158:                                              ; preds = %154
  store i32 3, ptr %78, align 4, !tbaa !9
  br label %166

159:                                              ; preds = %154
  %160 = load ptr, ptr %31, align 8, !tbaa !5
  %161 = call i32 @lsame_(ptr noundef %160, ptr noundef @.str.3)
  %162 = icmp ne i32 %161, 0
  br i1 %162, label %163, label %164

163:                                              ; preds = %159
  store i32 4, ptr %78, align 4, !tbaa !9
  br label %165

164:                                              ; preds = %159
  store i32 -1, ptr %78, align 4, !tbaa !9
  br label %165

165:                                              ; preds = %164, %163
  br label %166

166:                                              ; preds = %165, %158
  br label %167

167:                                              ; preds = %166, %153
  br label %168

168:                                              ; preds = %167, %148
  %169 = load ptr, ptr %33, align 8, !tbaa !5
  %170 = call i32 @lsame_(ptr noundef %169, ptr noundef @.str.4)
  %171 = icmp ne i32 %170, 0
  br i1 %171, label %172, label %173

172:                                              ; preds = %168
  store i32 0, ptr %70, align 4, !tbaa !9
  br label %186

173:                                              ; preds = %168
  %174 = load ptr, ptr %33, align 8, !tbaa !5
  %175 = call i32 @lsame_(ptr noundef %174, ptr noundef @.str.2)
  %176 = icmp ne i32 %175, 0
  br i1 %176, label %177, label %178

177:                                              ; preds = %173
  store i32 1, ptr %70, align 4, !tbaa !9
  br label %185

178:                                              ; preds = %173
  %179 = load ptr, ptr %33, align 8, !tbaa !5
  %180 = call i32 @lsame_(ptr noundef %179, ptr noundef @.str.1)
  %181 = icmp ne i32 %180, 0
  br i1 %181, label %182, label %183

182:                                              ; preds = %178
  store i32 2, ptr %70, align 4, !tbaa !9
  br label %184

183:                                              ; preds = %178
  store i32 -1, ptr %70, align 4, !tbaa !9
  br label %184

184:                                              ; preds = %183, %182
  br label %185

185:                                              ; preds = %184, %177
  br label %186

186:                                              ; preds = %185, %172
  %187 = load ptr, ptr %38, align 8, !tbaa !5
  %188 = call i32 @lsame_(ptr noundef %187, ptr noundef @.str.5)
  %189 = icmp ne i32 %188, 0
  br i1 %189, label %190, label %191

190:                                              ; preds = %186
  store i32 0, ptr %90, align 4, !tbaa !9
  br label %198

191:                                              ; preds = %186
  %192 = load ptr, ptr %38, align 8, !tbaa !5
  %193 = call i32 @lsame_(ptr noundef %192, ptr noundef @.str.6)
  %194 = icmp ne i32 %193, 0
  br i1 %194, label %195, label %196

195:                                              ; preds = %191
  store i32 1, ptr %90, align 4, !tbaa !9
  br label %197

196:                                              ; preds = %191
  store i32 -1, ptr %90, align 4, !tbaa !9
  br label %197

197:                                              ; preds = %196, %195
  br label %198

198:                                              ; preds = %197, %190
  %199 = load ptr, ptr %46, align 8, !tbaa !5
  %200 = call i32 @lsame_(ptr noundef %199, ptr noundef @.str.2)
  %201 = icmp ne i32 %200, 0
  br i1 %201, label %202, label %203

202:                                              ; preds = %198
  store i32 0, ptr %91, align 4, !tbaa !9
  br label %264

203:                                              ; preds = %198
  %204 = load ptr, ptr %46, align 8, !tbaa !5
  %205 = call i32 @lsame_(ptr noundef %204, ptr noundef @.str.7)
  %206 = icmp ne i32 %205, 0
  br i1 %206, label %207, label %208

207:                                              ; preds = %203
  store i32 0, ptr %91, align 4, !tbaa !9
  br label %263

208:                                              ; preds = %203
  %209 = load ptr, ptr %46, align 8, !tbaa !5
  %210 = call i32 @lsame_(ptr noundef %209, ptr noundef @.str.8)
  %211 = icmp ne i32 %210, 0
  br i1 %211, label %212, label %215

212:                                              ; preds = %208
  store i32 1, ptr %91, align 4, !tbaa !9
  %213 = load ptr, ptr %29, align 8, !tbaa !5
  %214 = load i32, ptr %213, align 4, !tbaa !9
  store i32 %214, ptr %85, align 4, !tbaa !9
  br label %262

215:                                              ; preds = %208
  %216 = load ptr, ptr %46, align 8, !tbaa !5
  %217 = call i32 @lsame_(ptr noundef %216, ptr noundef @.str.9)
  %218 = icmp ne i32 %217, 0
  br i1 %218, label %219, label %222

219:                                              ; preds = %215
  store i32 2, ptr %91, align 4, !tbaa !9
  %220 = load ptr, ptr %30, align 8, !tbaa !5
  %221 = load i32, ptr %220, align 4, !tbaa !9
  store i32 %221, ptr %85, align 4, !tbaa !9
  br label %261

222:                                              ; preds = %215
  %223 = load ptr, ptr %46, align 8, !tbaa !5
  %224 = call i32 @lsame_(ptr noundef %223, ptr noundef @.str.10)
  %225 = icmp ne i32 %224, 0
  br i1 %225, label %226, label %240

226:                                              ; preds = %222
  store i32 3, ptr %91, align 4, !tbaa !9
  %227 = load ptr, ptr %30, align 8, !tbaa !5
  %228 = load i32, ptr %227, align 4, !tbaa !9
  %229 = load ptr, ptr %29, align 8, !tbaa !5
  %230 = load i32, ptr %229, align 4, !tbaa !9
  %231 = icmp sle i32 %228, %230
  br i1 %231, label %232, label %235

232:                                              ; preds = %226
  %233 = load ptr, ptr %30, align 8, !tbaa !5
  %234 = load i32, ptr %233, align 4, !tbaa !9
  br label %238

235:                                              ; preds = %226
  %236 = load ptr, ptr %29, align 8, !tbaa !5
  %237 = load i32, ptr %236, align 4, !tbaa !9
  br label %238

238:                                              ; preds = %235, %232
  %239 = phi i32 [ %234, %232 ], [ %237, %235 ]
  store i32 %239, ptr %85, align 4, !tbaa !9
  br label %260

240:                                              ; preds = %222
  %241 = load ptr, ptr %46, align 8, !tbaa !5
  %242 = call i32 @lsame_(ptr noundef %241, ptr noundef @.str.5)
  %243 = icmp ne i32 %242, 0
  br i1 %243, label %244, label %258

244:                                              ; preds = %240
  store i32 3, ptr %91, align 4, !tbaa !9
  %245 = load ptr, ptr %30, align 8, !tbaa !5
  %246 = load i32, ptr %245, align 4, !tbaa !9
  %247 = load ptr, ptr %29, align 8, !tbaa !5
  %248 = load i32, ptr %247, align 4, !tbaa !9
  %249 = icmp sle i32 %246, %248
  br i1 %249, label %250, label %253

250:                                              ; preds = %244
  %251 = load ptr, ptr %30, align 8, !tbaa !5
  %252 = load i32, ptr %251, align 4, !tbaa !9
  br label %256

253:                                              ; preds = %244
  %254 = load ptr, ptr %29, align 8, !tbaa !5
  %255 = load i32, ptr %254, align 4, !tbaa !9
  br label %256

256:                                              ; preds = %253, %250
  %257 = phi i32 [ %252, %250 ], [ %255, %253 ]
  store i32 %257, ptr %85, align 4, !tbaa !9
  br label %259

258:                                              ; preds = %240
  store i32 -1, ptr %91, align 4, !tbaa !9
  br label %259

259:                                              ; preds = %258, %256
  br label %260

260:                                              ; preds = %259, %238
  br label %261

261:                                              ; preds = %260, %219
  br label %262

262:                                              ; preds = %261, %212
  br label %263

263:                                              ; preds = %262, %207
  br label %264

264:                                              ; preds = %263, %202
  %265 = load ptr, ptr %39, align 8, !tbaa !5
  %266 = call i32 @lsame_(ptr noundef %265, ptr noundef @.str.2)
  %267 = icmp ne i32 %266, 0
  br i1 %267, label %268, label %269

268:                                              ; preds = %264
  store i32 0, ptr %87, align 4, !tbaa !9
  br label %306

269:                                              ; preds = %264
  %270 = load ptr, ptr %39, align 8, !tbaa !5
  %271 = call i32 @lsame_(ptr noundef %270, ptr noundef @.str.8)
  %272 = icmp ne i32 %271, 0
  br i1 %272, label %273, label %274

273:                                              ; preds = %269
  store i32 1, ptr %87, align 4, !tbaa !9
  br label %305

274:                                              ; preds = %269
  %275 = load ptr, ptr %39, align 8, !tbaa !5
  %276 = call i32 @lsame_(ptr noundef %275, ptr noundef @.str.9)
  %277 = icmp ne i32 %276, 0
  br i1 %277, label %278, label %279

278:                                              ; preds = %274
  store i32 2, ptr %87, align 4, !tbaa !9
  br label %304

279:                                              ; preds = %274
  %280 = load ptr, ptr %39, align 8, !tbaa !5
  %281 = call i32 @lsame_(ptr noundef %280, ptr noundef @.str.10)
  %282 = icmp ne i32 %281, 0
  br i1 %282, label %283, label %284

283:                                              ; preds = %279
  store i32 3, ptr %87, align 4, !tbaa !9
  br label %303

284:                                              ; preds = %279
  %285 = load ptr, ptr %39, align 8, !tbaa !5
  %286 = call i32 @lsame_(ptr noundef %285, ptr noundef @.str.11)
  %287 = icmp ne i32 %286, 0
  br i1 %287, label %288, label %289

288:                                              ; preds = %284
  store i32 4, ptr %87, align 4, !tbaa !9
  br label %302

289:                                              ; preds = %284
  %290 = load ptr, ptr %39, align 8, !tbaa !5
  %291 = call i32 @lsame_(ptr noundef %290, ptr noundef @.str.4)
  %292 = icmp ne i32 %291, 0
  br i1 %292, label %293, label %294

293:                                              ; preds = %289
  store i32 5, ptr %87, align 4, !tbaa !9
  br label %301

294:                                              ; preds = %289
  %295 = load ptr, ptr %39, align 8, !tbaa !5
  %296 = call i32 @lsame_(ptr noundef %295, ptr noundef @.str.1)
  %297 = icmp ne i32 %296, 0
  br i1 %297, label %298, label %299

298:                                              ; preds = %294
  store i32 6, ptr %87, align 4, !tbaa !9
  br label %300

299:                                              ; preds = %294
  store i32 -1, ptr %87, align 4, !tbaa !9
  br label %300

300:                                              ; preds = %299, %298
  br label %301

301:                                              ; preds = %300, %293
  br label %302

302:                                              ; preds = %301, %288
  br label %303

303:                                              ; preds = %302, %283
  br label %304

304:                                              ; preds = %303, %278
  br label %305

305:                                              ; preds = %304, %273
  br label %306

306:                                              ; preds = %305, %268
  %307 = load ptr, ptr %52, align 8, !tbaa !5
  %308 = call i32 @lsame_(ptr noundef %307, ptr noundef @.str.2)
  %309 = icmp ne i32 %308, 0
  br i1 %309, label %310, label %311

310:                                              ; preds = %306
  store i32 0, ptr %74, align 4, !tbaa !9
  br label %354

311:                                              ; preds = %306
  %312 = load ptr, ptr %52, align 8, !tbaa !5
  %313 = call i32 @lsame_(ptr noundef %312, ptr noundef @.str)
  %314 = icmp ne i32 %313, 0
  br i1 %314, label %315, label %316

315:                                              ; preds = %311
  store i32 1, ptr %74, align 4, !tbaa !9
  br label %353

316:                                              ; preds = %311
  %317 = load ptr, ptr %52, align 8, !tbaa !5
  %318 = call i32 @lsame_(ptr noundef %317, ptr noundef @.str.8)
  %319 = icmp ne i32 %318, 0
  br i1 %319, label %320, label %321

320:                                              ; preds = %316
  store i32 2, ptr %74, align 4, !tbaa !9
  br label %352

321:                                              ; preds = %316
  %322 = load ptr, ptr %52, align 8, !tbaa !5
  %323 = call i32 @lsame_(ptr noundef %322, ptr noundef @.str.12)
  %324 = icmp ne i32 %323, 0
  br i1 %324, label %325, label %326

325:                                              ; preds = %321
  store i32 3, ptr %74, align 4, !tbaa !9
  br label %351

326:                                              ; preds = %321
  %327 = load ptr, ptr %52, align 8, !tbaa !5
  %328 = call i32 @lsame_(ptr noundef %327, ptr noundef @.str.9)
  %329 = icmp ne i32 %328, 0
  br i1 %329, label %330, label %331

330:                                              ; preds = %326
  store i32 4, ptr %74, align 4, !tbaa !9
  br label %350

331:                                              ; preds = %326
  %332 = load ptr, ptr %52, align 8, !tbaa !5
  %333 = call i32 @lsame_(ptr noundef %332, ptr noundef @.str.10)
  %334 = icmp ne i32 %333, 0
  br i1 %334, label %335, label %336

335:                                              ; preds = %331
  store i32 5, ptr %74, align 4, !tbaa !9
  br label %349

336:                                              ; preds = %331
  %337 = load ptr, ptr %52, align 8, !tbaa !5
  %338 = call i32 @lsame_(ptr noundef %337, ptr noundef @.str.13)
  %339 = icmp ne i32 %338, 0
  br i1 %339, label %340, label %341

340:                                              ; preds = %336
  store i32 6, ptr %74, align 4, !tbaa !9
  br label %348

341:                                              ; preds = %336
  %342 = load ptr, ptr %52, align 8, !tbaa !5
  %343 = call i32 @lsame_(ptr noundef %342, ptr noundef @.str.14)
  %344 = icmp ne i32 %343, 0
  br i1 %344, label %345, label %346

345:                                              ; preds = %341
  store i32 7, ptr %74, align 4, !tbaa !9
  br label %347

346:                                              ; preds = %341
  store i32 -1, ptr %74, align 4, !tbaa !9
  br label %347

347:                                              ; preds = %346, %345
  br label %348

348:                                              ; preds = %347, %340
  br label %349

349:                                              ; preds = %348, %335
  br label %350

350:                                              ; preds = %349, %330
  br label %351

351:                                              ; preds = %350, %325
  br label %352

352:                                              ; preds = %351, %320
  br label %353

353:                                              ; preds = %352, %315
  br label %354

354:                                              ; preds = %353, %310
  %355 = load ptr, ptr %29, align 8, !tbaa !5
  %356 = load i32, ptr %355, align 4, !tbaa !9
  %357 = load ptr, ptr %30, align 8, !tbaa !5
  %358 = load i32, ptr %357, align 4, !tbaa !9
  %359 = icmp sle i32 %356, %358
  br i1 %359, label %360, label %363

360:                                              ; preds = %354
  %361 = load ptr, ptr %29, align 8, !tbaa !5
  %362 = load i32, ptr %361, align 4, !tbaa !9
  br label %366

363:                                              ; preds = %354
  %364 = load ptr, ptr %30, align 8, !tbaa !5
  %365 = load i32, ptr %364, align 4, !tbaa !9
  br label %366

366:                                              ; preds = %363, %360
  %367 = phi i32 [ %362, %360 ], [ %365, %363 ]
  store i32 %367, ptr %80, align 4, !tbaa !9
  %368 = load ptr, ptr %48, align 8, !tbaa !5
  %369 = load i32, ptr %368, align 4, !tbaa !9
  store i32 %369, ptr %59, align 4, !tbaa !9
  %370 = load ptr, ptr %29, align 8, !tbaa !5
  %371 = load i32, ptr %370, align 4, !tbaa !9
  %372 = sub nsw i32 %371, 1
  store i32 %372, ptr %60, align 4, !tbaa !9
  %373 = load i32, ptr %59, align 4, !tbaa !9
  %374 = load i32, ptr %60, align 4, !tbaa !9
  %375 = icmp sle i32 %373, %374
  br i1 %375, label %376, label %378

376:                                              ; preds = %366
  %377 = load i32, ptr %59, align 4, !tbaa !9
  br label %380

378:                                              ; preds = %366
  %379 = load i32, ptr %60, align 4, !tbaa !9
  br label %380

380:                                              ; preds = %378, %376
  %381 = phi i32 [ %377, %376 ], [ %379, %378 ]
  store i32 %381, ptr %92, align 4, !tbaa !9
  %382 = load ptr, ptr %49, align 8, !tbaa !5
  %383 = load i32, ptr %382, align 4, !tbaa !9
  store i32 %383, ptr %59, align 4, !tbaa !9
  %384 = load ptr, ptr %30, align 8, !tbaa !5
  %385 = load i32, ptr %384, align 4, !tbaa !9
  %386 = sub nsw i32 %385, 1
  store i32 %386, ptr %60, align 4, !tbaa !9
  %387 = load i32, ptr %59, align 4, !tbaa !9
  %388 = load i32, ptr %60, align 4, !tbaa !9
  %389 = icmp sle i32 %387, %388
  br i1 %389, label %390, label %392

390:                                              ; preds = %380
  %391 = load i32, ptr %59, align 4, !tbaa !9
  br label %394

392:                                              ; preds = %380
  %393 = load i32, ptr %60, align 4, !tbaa !9
  br label %394

394:                                              ; preds = %392, %390
  %395 = phi i32 [ %391, %390 ], [ %393, %392 ]
  store i32 %395, ptr %93, align 4, !tbaa !9
  store i32 0, ptr %81, align 4, !tbaa !9
  %396 = load i32, ptr %87, align 4, !tbaa !9
  %397 = icmp eq i32 %396, 4
  br i1 %397, label %398, label %432

398:                                              ; preds = %394
  %399 = load ptr, ptr %41, align 8, !tbaa !5
  %400 = load i32, ptr %399, align 4, !tbaa !9
  %401 = icmp eq i32 %400, 0
  br i1 %401, label %402, label %432

402:                                              ; preds = %398
  %403 = load ptr, ptr %29, align 8, !tbaa !5
  %404 = load i32, ptr %403, align 4, !tbaa !9
  store i32 %404, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %405

405:                                              ; preds = %428, %402
  %406 = load i32, ptr %71, align 4, !tbaa !9
  %407 = load i32, ptr %59, align 4, !tbaa !9
  %408 = icmp sle i32 %406, %407
  br i1 %408, label %409, label %431

409:                                              ; preds = %405
  %410 = load i32, ptr %71, align 4, !tbaa !9
  store i32 %410, ptr %60, align 4, !tbaa !9
  %411 = load ptr, ptr %40, align 8, !tbaa !5
  %412 = load i32, ptr %60, align 4, !tbaa !9
  %413 = sext i32 %412 to i64
  %414 = getelementptr inbounds %struct.complex, ptr %411, i64 %413
  %415 = getelementptr inbounds %struct.complex, ptr %414, i32 0, i32 0
  %416 = load float, ptr %415, align 4, !tbaa !11
  %417 = fcmp oeq float %416, 0.000000e+00
  br i1 %417, label %418, label %427

418:                                              ; preds = %409
  %419 = load ptr, ptr %40, align 8, !tbaa !5
  %420 = load i32, ptr %60, align 4, !tbaa !9
  %421 = sext i32 %420 to i64
  %422 = getelementptr inbounds %struct.complex, ptr %419, i64 %421
  %423 = getelementptr inbounds %struct.complex, ptr %422, i32 0, i32 1
  %424 = load float, ptr %423, align 4, !tbaa !14
  %425 = fcmp oeq float %424, 0.000000e+00
  br i1 %425, label %426, label %427

426:                                              ; preds = %418
  store i32 1, ptr %81, align 4, !tbaa !9
  br label %427

427:                                              ; preds = %426, %418, %409
  br label %428

428:                                              ; preds = %427
  %429 = load i32, ptr %71, align 4, !tbaa !9
  %430 = add nsw i32 %429, 1
  store i32 %430, ptr %71, align 4, !tbaa !9
  br label %405, !llvm.loop !15

431:                                              ; preds = %405
  br label %432

432:                                              ; preds = %431, %398, %394
  store i32 0, ptr %89, align 4, !tbaa !9
  %433 = load i32, ptr %91, align 4, !tbaa !9
  %434 = icmp sgt i32 %433, 0
  br i1 %434, label %435, label %462

435:                                              ; preds = %432
  %436 = load i32, ptr %85, align 4, !tbaa !9
  store i32 %436, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %437

437:                                              ; preds = %458, %435
  %438 = load i32, ptr %72, align 4, !tbaa !9
  %439 = load i32, ptr %59, align 4, !tbaa !9
  %440 = icmp sle i32 %438, %439
  br i1 %440, label %441, label %461

441:                                              ; preds = %437
  %442 = load ptr, ptr %47, align 8, !tbaa !5
  %443 = load i32, ptr %72, align 4, !tbaa !9
  %444 = sext i32 %443 to i64
  %445 = getelementptr inbounds i32, ptr %442, i64 %444
  %446 = load i32, ptr %445, align 4, !tbaa !9
  %447 = icmp sle i32 %446, 0
  br i1 %447, label %456, label %448

448:                                              ; preds = %441
  %449 = load ptr, ptr %47, align 8, !tbaa !5
  %450 = load i32, ptr %72, align 4, !tbaa !9
  %451 = sext i32 %450 to i64
  %452 = getelementptr inbounds i32, ptr %449, i64 %451
  %453 = load i32, ptr %452, align 4, !tbaa !9
  %454 = load i32, ptr %85, align 4, !tbaa !9
  %455 = icmp sgt i32 %453, %454
  br i1 %455, label %456, label %457

456:                                              ; preds = %448, %441
  store i32 1, ptr %89, align 4, !tbaa !9
  br label %457

457:                                              ; preds = %456, %448
  br label %458

458:                                              ; preds = %457
  %459 = load i32, ptr %72, align 4, !tbaa !9
  %460 = add nsw i32 %459, 1
  store i32 %460, ptr %72, align 4, !tbaa !9
  br label %437, !llvm.loop !17

461:                                              ; preds = %437
  br label %462

462:                                              ; preds = %461, %432
  %463 = load ptr, ptr %29, align 8, !tbaa !5
  %464 = load i32, ptr %463, align 4, !tbaa !9
  %465 = icmp slt i32 %464, 0
  br i1 %465, label %466, label %468

466:                                              ; preds = %462
  %467 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -1, ptr %467, align 4, !tbaa !9
  br label %896

468:                                              ; preds = %462
  %469 = load ptr, ptr %29, align 8, !tbaa !5
  %470 = load i32, ptr %469, align 4, !tbaa !9
  %471 = load ptr, ptr %30, align 8, !tbaa !5
  %472 = load i32, ptr %471, align 4, !tbaa !9
  %473 = icmp ne i32 %470, %472
  br i1 %473, label %474, label %482

474:                                              ; preds = %468
  %475 = load i32, ptr %70, align 4, !tbaa !9
  %476 = icmp eq i32 %475, 0
  br i1 %476, label %480, label %477

477:                                              ; preds = %474
  %478 = load i32, ptr %70, align 4, !tbaa !9
  %479 = icmp eq i32 %478, 2
  br i1 %479, label %480, label %482

480:                                              ; preds = %477, %474
  %481 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -1, ptr %481, align 4, !tbaa !9
  br label %895

482:                                              ; preds = %477, %468
  %483 = load ptr, ptr %30, align 8, !tbaa !5
  %484 = load i32, ptr %483, align 4, !tbaa !9
  %485 = icmp slt i32 %484, 0
  br i1 %485, label %486, label %488

486:                                              ; preds = %482
  %487 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -2, ptr %487, align 4, !tbaa !9
  br label %894

488:                                              ; preds = %482
  %489 = load i32, ptr %78, align 4, !tbaa !9
  %490 = icmp eq i32 %489, -1
  br i1 %490, label %491, label %493

491:                                              ; preds = %488
  %492 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -3, ptr %492, align 4, !tbaa !9
  br label %893

493:                                              ; preds = %488
  %494 = load i32, ptr %70, align 4, !tbaa !9
  %495 = icmp eq i32 %494, -1
  br i1 %495, label %496, label %498

496:                                              ; preds = %493
  %497 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -5, ptr %497, align 4, !tbaa !9
  br label %892

498:                                              ; preds = %493
  %499 = load ptr, ptr %35, align 8, !tbaa !5
  %500 = load i32, ptr %499, align 4, !tbaa !9
  %501 = icmp slt i32 %500, -6
  br i1 %501, label %506, label %502

502:                                              ; preds = %498
  %503 = load ptr, ptr %35, align 8, !tbaa !5
  %504 = load i32, ptr %503, align 4, !tbaa !9
  %505 = icmp sgt i32 %504, 6
  br i1 %505, label %506, label %508

506:                                              ; preds = %502, %498
  %507 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -7, ptr %507, align 4, !tbaa !9
  br label %891

508:                                              ; preds = %502
  %509 = load ptr, ptr %35, align 8, !tbaa !5
  %510 = load i32, ptr %509, align 4, !tbaa !9
  %511 = icmp ne i32 %510, -6
  br i1 %511, label %512, label %526

512:                                              ; preds = %508
  %513 = load ptr, ptr %35, align 8, !tbaa !5
  %514 = load i32, ptr %513, align 4, !tbaa !9
  %515 = icmp ne i32 %514, 0
  br i1 %515, label %516, label %526

516:                                              ; preds = %512
  %517 = load ptr, ptr %35, align 8, !tbaa !5
  %518 = load i32, ptr %517, align 4, !tbaa !9
  %519 = icmp ne i32 %518, 6
  br i1 %519, label %520, label %526

520:                                              ; preds = %516
  %521 = load ptr, ptr %36, align 8, !tbaa !5
  %522 = load float, ptr %521, align 4, !tbaa !18
  %523 = fcmp olt float %522, 1.000000e+00
  br i1 %523, label %524, label %526

524:                                              ; preds = %520
  %525 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -8, ptr %525, align 4, !tbaa !9
  br label %890

526:                                              ; preds = %520, %516, %512, %508
  %527 = load ptr, ptr %35, align 8, !tbaa !5
  %528 = load i32, ptr %527, align 4, !tbaa !9
  %529 = icmp ne i32 %528, -6
  br i1 %529, label %530, label %543

530:                                              ; preds = %526
  %531 = load ptr, ptr %35, align 8, !tbaa !5
  %532 = load i32, ptr %531, align 4, !tbaa !9
  %533 = icmp ne i32 %532, 0
  br i1 %533, label %534, label %543

534:                                              ; preds = %530
  %535 = load ptr, ptr %35, align 8, !tbaa !5
  %536 = load i32, ptr %535, align 4, !tbaa !9
  %537 = icmp ne i32 %536, 6
  br i1 %537, label %538, label %543

538:                                              ; preds = %534
  %539 = load i32, ptr %90, align 4, !tbaa !9
  %540 = icmp eq i32 %539, -1
  br i1 %540, label %541, label %543

541:                                              ; preds = %538
  %542 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -10, ptr %542, align 4, !tbaa !9
  br label %889

543:                                              ; preds = %538, %534, %530, %526
  %544 = load i32, ptr %87, align 4, !tbaa !9
  %545 = icmp eq i32 %544, -1
  br i1 %545, label %591, label %546

546:                                              ; preds = %543
  %547 = load i32, ptr %87, align 4, !tbaa !9
  %548 = icmp eq i32 %547, 4
  br i1 %548, label %549, label %555

549:                                              ; preds = %546
  %550 = load ptr, ptr %29, align 8, !tbaa !5
  %551 = load i32, ptr %550, align 4, !tbaa !9
  %552 = load ptr, ptr %30, align 8, !tbaa !5
  %553 = load i32, ptr %552, align 4, !tbaa !9
  %554 = icmp ne i32 %551, %553
  br i1 %554, label %591, label %555

555:                                              ; preds = %549, %546
  %556 = load i32, ptr %87, align 4, !tbaa !9
  %557 = icmp eq i32 %556, 1
  br i1 %557, label %570, label %558

558:                                              ; preds = %555
  %559 = load i32, ptr %87, align 4, !tbaa !9
  %560 = icmp eq i32 %559, 2
  br i1 %560, label %570, label %561

561:                                              ; preds = %558
  %562 = load i32, ptr %87, align 4, !tbaa !9
  %563 = icmp eq i32 %562, 3
  br i1 %563, label %570, label %564

564:                                              ; preds = %561
  %565 = load i32, ptr %87, align 4, !tbaa !9
  %566 = icmp eq i32 %565, 4
  br i1 %566, label %570, label %567

567:                                              ; preds = %564
  %568 = load i32, ptr %87, align 4, !tbaa !9
  %569 = icmp eq i32 %568, 6
  br i1 %569, label %570, label %573

570:                                              ; preds = %567, %564, %561, %558, %555
  %571 = load i32, ptr %70, align 4, !tbaa !9
  %572 = icmp eq i32 %571, 0
  br i1 %572, label %591, label %573

573:                                              ; preds = %570, %567
  %574 = load i32, ptr %87, align 4, !tbaa !9
  %575 = icmp eq i32 %574, 1
  br i1 %575, label %588, label %576

576:                                              ; preds = %573
  %577 = load i32, ptr %87, align 4, !tbaa !9
  %578 = icmp eq i32 %577, 2
  br i1 %578, label %588, label %579

579:                                              ; preds = %576
  %580 = load i32, ptr %87, align 4, !tbaa !9
  %581 = icmp eq i32 %580, 3
  br i1 %581, label %588, label %582

582:                                              ; preds = %579
  %583 = load i32, ptr %87, align 4, !tbaa !9
  %584 = icmp eq i32 %583, 4
  br i1 %584, label %588, label %585

585:                                              ; preds = %582
  %586 = load i32, ptr %87, align 4, !tbaa !9
  %587 = icmp eq i32 %586, 5
  br i1 %587, label %588, label %593

588:                                              ; preds = %585, %582, %579, %576, %573
  %589 = load i32, ptr %70, align 4, !tbaa !9
  %590 = icmp eq i32 %589, 2
  br i1 %590, label %591, label %593

591:                                              ; preds = %588, %570, %549, %543
  %592 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -11, ptr %592, align 4, !tbaa !9
  br label %888

593:                                              ; preds = %588, %585
  %594 = load i32, ptr %87, align 4, !tbaa !9
  %595 = icmp eq i32 %594, 4
  br i1 %595, label %596, label %601

596:                                              ; preds = %593
  %597 = load i32, ptr %81, align 4, !tbaa !9
  %598 = icmp ne i32 %597, 0
  br i1 %598, label %599, label %601

599:                                              ; preds = %596
  %600 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -12, ptr %600, align 4, !tbaa !9
  br label %887

601:                                              ; preds = %596, %593
  %602 = load i32, ptr %87, align 4, !tbaa !9
  %603 = icmp eq i32 %602, 1
  br i1 %603, label %616, label %604

604:                                              ; preds = %601
  %605 = load i32, ptr %87, align 4, !tbaa !9
  %606 = icmp eq i32 %605, 3
  br i1 %606, label %616, label %607

607:                                              ; preds = %604
  %608 = load i32, ptr %87, align 4, !tbaa !9
  %609 = icmp eq i32 %608, 4
  br i1 %609, label %616, label %610

610:                                              ; preds = %607
  %611 = load i32, ptr %87, align 4, !tbaa !9
  %612 = icmp eq i32 %611, 5
  br i1 %612, label %616, label %613

613:                                              ; preds = %610
  %614 = load i32, ptr %87, align 4, !tbaa !9
  %615 = icmp eq i32 %614, 6
  br i1 %615, label %616, label %626

616:                                              ; preds = %613, %610, %607, %604, %601
  %617 = load ptr, ptr %41, align 8, !tbaa !5
  %618 = load i32, ptr %617, align 4, !tbaa !9
  %619 = icmp slt i32 %618, -6
  br i1 %619, label %624, label %620

620:                                              ; preds = %616
  %621 = load ptr, ptr %41, align 8, !tbaa !5
  %622 = load i32, ptr %621, align 4, !tbaa !9
  %623 = icmp sgt i32 %622, 6
  br i1 %623, label %624, label %626

624:                                              ; preds = %620, %616
  %625 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -13, ptr %625, align 4, !tbaa !9
  br label %886

626:                                              ; preds = %620, %613
  %627 = load i32, ptr %87, align 4, !tbaa !9
  %628 = icmp eq i32 %627, 1
  br i1 %628, label %641, label %629

629:                                              ; preds = %626
  %630 = load i32, ptr %87, align 4, !tbaa !9
  %631 = icmp eq i32 %630, 3
  br i1 %631, label %641, label %632

632:                                              ; preds = %629
  %633 = load i32, ptr %87, align 4, !tbaa !9
  %634 = icmp eq i32 %633, 4
  br i1 %634, label %641, label %635

635:                                              ; preds = %632
  %636 = load i32, ptr %87, align 4, !tbaa !9
  %637 = icmp eq i32 %636, 5
  br i1 %637, label %641, label %638

638:                                              ; preds = %635
  %639 = load i32, ptr %87, align 4, !tbaa !9
  %640 = icmp eq i32 %639, 6
  br i1 %640, label %641, label %659

641:                                              ; preds = %638, %635, %632, %629, %626
  %642 = load ptr, ptr %41, align 8, !tbaa !5
  %643 = load i32, ptr %642, align 4, !tbaa !9
  %644 = icmp ne i32 %643, -6
  br i1 %644, label %645, label %659

645:                                              ; preds = %641
  %646 = load ptr, ptr %41, align 8, !tbaa !5
  %647 = load i32, ptr %646, align 4, !tbaa !9
  %648 = icmp ne i32 %647, 0
  br i1 %648, label %649, label %659

649:                                              ; preds = %645
  %650 = load ptr, ptr %41, align 8, !tbaa !5
  %651 = load i32, ptr %650, align 4, !tbaa !9
  %652 = icmp ne i32 %651, 6
  br i1 %652, label %653, label %659

653:                                              ; preds = %649
  %654 = load ptr, ptr %42, align 8, !tbaa !5
  %655 = load float, ptr %654, align 4, !tbaa !18
  %656 = fcmp olt float %655, 1.000000e+00
  br i1 %656, label %657, label %659

657:                                              ; preds = %653
  %658 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -14, ptr %658, align 4, !tbaa !9
  br label %885

659:                                              ; preds = %653, %649, %645, %641, %638
  %660 = load i32, ptr %87, align 4, !tbaa !9
  %661 = icmp eq i32 %660, 2
  br i1 %661, label %665, label %662

662:                                              ; preds = %659
  %663 = load i32, ptr %87, align 4, !tbaa !9
  %664 = icmp eq i32 %663, 3
  br i1 %664, label %665, label %675

665:                                              ; preds = %662, %659
  %666 = load ptr, ptr %44, align 8, !tbaa !5
  %667 = load i32, ptr %666, align 4, !tbaa !9
  %668 = icmp slt i32 %667, -6
  br i1 %668, label %673, label %669

669:                                              ; preds = %665
  %670 = load ptr, ptr %44, align 8, !tbaa !5
  %671 = load i32, ptr %670, align 4, !tbaa !9
  %672 = icmp sgt i32 %671, 6
  br i1 %672, label %673, label %675

673:                                              ; preds = %669, %665
  %674 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -16, ptr %674, align 4, !tbaa !9
  br label %884

675:                                              ; preds = %669, %662
  %676 = load i32, ptr %87, align 4, !tbaa !9
  %677 = icmp eq i32 %676, 2
  br i1 %677, label %681, label %678

678:                                              ; preds = %675
  %679 = load i32, ptr %87, align 4, !tbaa !9
  %680 = icmp eq i32 %679, 3
  br i1 %680, label %681, label %699

681:                                              ; preds = %678, %675
  %682 = load ptr, ptr %44, align 8, !tbaa !5
  %683 = load i32, ptr %682, align 4, !tbaa !9
  %684 = icmp ne i32 %683, -6
  br i1 %684, label %685, label %699

685:                                              ; preds = %681
  %686 = load ptr, ptr %44, align 8, !tbaa !5
  %687 = load i32, ptr %686, align 4, !tbaa !9
  %688 = icmp ne i32 %687, 0
  br i1 %688, label %689, label %699

689:                                              ; preds = %685
  %690 = load ptr, ptr %44, align 8, !tbaa !5
  %691 = load i32, ptr %690, align 4, !tbaa !9
  %692 = icmp ne i32 %691, 6
  br i1 %692, label %693, label %699

693:                                              ; preds = %689
  %694 = load ptr, ptr %45, align 8, !tbaa !5
  %695 = load float, ptr %694, align 4, !tbaa !18
  %696 = fcmp olt float %695, 1.000000e+00
  br i1 %696, label %697, label %699

697:                                              ; preds = %693
  %698 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -17, ptr %698, align 4, !tbaa !9
  br label %883

699:                                              ; preds = %693, %689, %685, %681, %678
  %700 = load i32, ptr %91, align 4, !tbaa !9
  %701 = icmp eq i32 %700, -1
  br i1 %701, label %723, label %702

702:                                              ; preds = %699
  %703 = load i32, ptr %91, align 4, !tbaa !9
  %704 = icmp eq i32 %703, 3
  br i1 %704, label %705, label %711

705:                                              ; preds = %702
  %706 = load ptr, ptr %29, align 8, !tbaa !5
  %707 = load i32, ptr %706, align 4, !tbaa !9
  %708 = load ptr, ptr %30, align 8, !tbaa !5
  %709 = load i32, ptr %708, align 4, !tbaa !9
  %710 = icmp ne i32 %707, %709
  br i1 %710, label %723, label %711

711:                                              ; preds = %705, %702
  %712 = load i32, ptr %91, align 4, !tbaa !9
  %713 = icmp eq i32 %712, 1
  br i1 %713, label %717, label %714

714:                                              ; preds = %711
  %715 = load i32, ptr %91, align 4, !tbaa !9
  %716 = icmp eq i32 %715, 2
  br i1 %716, label %717, label %725

717:                                              ; preds = %714, %711
  %718 = load i32, ptr %70, align 4, !tbaa !9
  %719 = icmp eq i32 %718, 0
  br i1 %719, label %723, label %720

720:                                              ; preds = %717
  %721 = load i32, ptr %70, align 4, !tbaa !9
  %722 = icmp eq i32 %721, 2
  br i1 %722, label %723, label %725

723:                                              ; preds = %720, %717, %705, %699
  %724 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -18, ptr %724, align 4, !tbaa !9
  br label %882

725:                                              ; preds = %720, %714
  %726 = load i32, ptr %91, align 4, !tbaa !9
  %727 = icmp ne i32 %726, 0
  br i1 %727, label %728, label %733

728:                                              ; preds = %725
  %729 = load i32, ptr %89, align 4, !tbaa !9
  %730 = icmp ne i32 %729, 0
  br i1 %730, label %731, label %733

731:                                              ; preds = %728
  %732 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -19, ptr %732, align 4, !tbaa !9
  br label %881

733:                                              ; preds = %728, %725
  %734 = load ptr, ptr %48, align 8, !tbaa !5
  %735 = load i32, ptr %734, align 4, !tbaa !9
  %736 = icmp slt i32 %735, 0
  br i1 %736, label %737, label %739

737:                                              ; preds = %733
  %738 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -20, ptr %738, align 4, !tbaa !9
  br label %880

739:                                              ; preds = %733
  %740 = load ptr, ptr %49, align 8, !tbaa !5
  %741 = load i32, ptr %740, align 4, !tbaa !9
  %742 = icmp slt i32 %741, 0
  br i1 %742, label %755, label %743

743:                                              ; preds = %739
  %744 = load i32, ptr %70, align 4, !tbaa !9
  %745 = icmp eq i32 %744, 0
  br i1 %745, label %749, label %746

746:                                              ; preds = %743
  %747 = load i32, ptr %70, align 4, !tbaa !9
  %748 = icmp eq i32 %747, 2
  br i1 %748, label %749, label %757

749:                                              ; preds = %746, %743
  %750 = load ptr, ptr %48, align 8, !tbaa !5
  %751 = load i32, ptr %750, align 4, !tbaa !9
  %752 = load ptr, ptr %49, align 8, !tbaa !5
  %753 = load i32, ptr %752, align 4, !tbaa !9
  %754 = icmp ne i32 %751, %753
  br i1 %754, label %755, label %757

755:                                              ; preds = %749, %739
  %756 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -21, ptr %756, align 4, !tbaa !9
  br label %879

757:                                              ; preds = %749, %746
  %758 = load ptr, ptr %50, align 8, !tbaa !5
  %759 = load float, ptr %758, align 4, !tbaa !18
  %760 = fcmp olt float %759, 0.000000e+00
  br i1 %760, label %765, label %761

761:                                              ; preds = %757
  %762 = load ptr, ptr %50, align 8, !tbaa !5
  %763 = load float, ptr %762, align 4, !tbaa !18
  %764 = fcmp ogt float %763, 1.000000e+00
  br i1 %764, label %765, label %767

765:                                              ; preds = %761, %757
  %766 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -22, ptr %766, align 4, !tbaa !9
  br label %878

767:                                              ; preds = %761
  %768 = load i32, ptr %74, align 4, !tbaa !9
  %769 = icmp eq i32 %768, -1
  br i1 %769, label %817, label %770

770:                                              ; preds = %767
  %771 = load i32, ptr %74, align 4, !tbaa !9
  %772 = icmp eq i32 %771, 1
  br i1 %772, label %782, label %773

773:                                              ; preds = %770
  %774 = load i32, ptr %74, align 4, !tbaa !9
  %775 = icmp eq i32 %774, 2
  br i1 %775, label %782, label %776

776:                                              ; preds = %773
  %777 = load i32, ptr %74, align 4, !tbaa !9
  %778 = icmp eq i32 %777, 5
  br i1 %778, label %782, label %779

779:                                              ; preds = %776
  %780 = load i32, ptr %74, align 4, !tbaa !9
  %781 = icmp eq i32 %780, 6
  br i1 %781, label %782, label %785

782:                                              ; preds = %779, %776, %773, %770
  %783 = load i32, ptr %70, align 4, !tbaa !9
  %784 = icmp eq i32 %783, 1
  br i1 %784, label %817, label %785

785:                                              ; preds = %782, %779
  %786 = load i32, ptr %74, align 4, !tbaa !9
  %787 = icmp eq i32 %786, 3
  br i1 %787, label %788, label %801

788:                                              ; preds = %785
  %789 = load i32, ptr %70, align 4, !tbaa !9
  %790 = icmp eq i32 %789, 1
  br i1 %790, label %791, label %801

791:                                              ; preds = %788
  %792 = load ptr, ptr %48, align 8, !tbaa !5
  %793 = load i32, ptr %792, align 4, !tbaa !9
  %794 = icmp ne i32 %793, 0
  br i1 %794, label %817, label %795

795:                                              ; preds = %791
  %796 = load ptr, ptr %29, align 8, !tbaa !5
  %797 = load i32, ptr %796, align 4, !tbaa !9
  %798 = load ptr, ptr %30, align 8, !tbaa !5
  %799 = load i32, ptr %798, align 4, !tbaa !9
  %800 = icmp ne i32 %797, %799
  br i1 %800, label %817, label %801

801:                                              ; preds = %795, %788, %785
  %802 = load i32, ptr %74, align 4, !tbaa !9
  %803 = icmp eq i32 %802, 4
  br i1 %803, label %804, label %819

804:                                              ; preds = %801
  %805 = load i32, ptr %70, align 4, !tbaa !9
  %806 = icmp eq i32 %805, 1
  br i1 %806, label %807, label %819

807:                                              ; preds = %804
  %808 = load ptr, ptr %49, align 8, !tbaa !5
  %809 = load i32, ptr %808, align 4, !tbaa !9
  %810 = icmp ne i32 %809, 0
  br i1 %810, label %817, label %811

811:                                              ; preds = %807
  %812 = load ptr, ptr %29, align 8, !tbaa !5
  %813 = load i32, ptr %812, align 4, !tbaa !9
  %814 = load ptr, ptr %30, align 8, !tbaa !5
  %815 = load i32, ptr %814, align 4, !tbaa !9
  %816 = icmp ne i32 %813, %815
  br i1 %816, label %817, label %819

817:                                              ; preds = %811, %807, %795, %791, %782, %767
  %818 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -24, ptr %818, align 4, !tbaa !9
  br label %877

819:                                              ; preds = %811, %804, %801
  %820 = load i32, ptr %74, align 4, !tbaa !9
  %821 = icmp eq i32 %820, 0
  br i1 %821, label %828, label %822

822:                                              ; preds = %819
  %823 = load i32, ptr %74, align 4, !tbaa !9
  %824 = icmp eq i32 %823, 1
  br i1 %824, label %828, label %825

825:                                              ; preds = %822
  %826 = load i32, ptr %74, align 4, !tbaa !9
  %827 = icmp eq i32 %826, 2
  br i1 %827, label %828, label %841

828:                                              ; preds = %825, %822, %819
  %829 = load ptr, ptr %54, align 8, !tbaa !5
  %830 = load i32, ptr %829, align 4, !tbaa !9
  %831 = load ptr, ptr %29, align 8, !tbaa !5
  %832 = load i32, ptr %831, align 4, !tbaa !9
  %833 = icmp sge i32 1, %832
  br i1 %833, label %834, label %835

834:                                              ; preds = %828
  br label %838

835:                                              ; preds = %828
  %836 = load ptr, ptr %29, align 8, !tbaa !5
  %837 = load i32, ptr %836, align 4, !tbaa !9
  br label %838

838:                                              ; preds = %835, %834
  %839 = phi i32 [ 1, %834 ], [ %837, %835 ]
  %840 = icmp slt i32 %830, %839
  br i1 %840, label %874, label %841

841:                                              ; preds = %838, %825
  %842 = load i32, ptr %74, align 4, !tbaa !9
  %843 = icmp eq i32 %842, 3
  br i1 %843, label %847, label %844

844:                                              ; preds = %841
  %845 = load i32, ptr %74, align 4, !tbaa !9
  %846 = icmp eq i32 %845, 4
  br i1 %846, label %847, label %851

847:                                              ; preds = %844, %841
  %848 = load ptr, ptr %54, align 8, !tbaa !5
  %849 = load i32, ptr %848, align 4, !tbaa !9
  %850 = icmp slt i32 %849, 1
  br i1 %850, label %874, label %851

851:                                              ; preds = %847, %844
  %852 = load i32, ptr %74, align 4, !tbaa !9
  %853 = icmp eq i32 %852, 5
  br i1 %853, label %857, label %854

854:                                              ; preds = %851
  %855 = load i32, ptr %74, align 4, !tbaa !9
  %856 = icmp eq i32 %855, 6
  br i1 %856, label %857, label %863

857:                                              ; preds = %854, %851
  %858 = load ptr, ptr %54, align 8, !tbaa !5
  %859 = load i32, ptr %858, align 4, !tbaa !9
  %860 = load i32, ptr %93, align 4, !tbaa !9
  %861 = add nsw i32 %860, 1
  %862 = icmp slt i32 %859, %861
  br i1 %862, label %874, label %863

863:                                              ; preds = %857, %854
  %864 = load i32, ptr %74, align 4, !tbaa !9
  %865 = icmp eq i32 %864, 7
  br i1 %865, label %866, label %876

866:                                              ; preds = %863
  %867 = load ptr, ptr %54, align 8, !tbaa !5
  %868 = load i32, ptr %867, align 4, !tbaa !9
  %869 = load i32, ptr %92, align 4, !tbaa !9
  %870 = load i32, ptr %93, align 4, !tbaa !9
  %871 = add nsw i32 %869, %870
  %872 = add nsw i32 %871, 1
  %873 = icmp slt i32 %868, %872
  br i1 %873, label %874, label %876

874:                                              ; preds = %866, %857, %847, %838
  %875 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 -26, ptr %875, align 4, !tbaa !9
  br label %876

876:                                              ; preds = %874, %866, %863
  br label %877

877:                                              ; preds = %876, %817
  br label %878

878:                                              ; preds = %877, %765
  br label %879

879:                                              ; preds = %878, %755
  br label %880

880:                                              ; preds = %879, %737
  br label %881

881:                                              ; preds = %880, %731
  br label %882

882:                                              ; preds = %881, %723
  br label %883

883:                                              ; preds = %882, %697
  br label %884

884:                                              ; preds = %883, %673
  br label %885

885:                                              ; preds = %884, %657
  br label %886

886:                                              ; preds = %885, %624
  br label %887

887:                                              ; preds = %886, %599
  br label %888

888:                                              ; preds = %887, %591
  br label %889

889:                                              ; preds = %888, %541
  br label %890

890:                                              ; preds = %889, %524
  br label %891

891:                                              ; preds = %890, %506
  br label %892

892:                                              ; preds = %891, %496
  br label %893

893:                                              ; preds = %892, %491
  br label %894

894:                                              ; preds = %893, %486
  br label %895

895:                                              ; preds = %894, %480
  br label %896

896:                                              ; preds = %895, %466
  %897 = load ptr, ptr %56, align 8, !tbaa !5
  %898 = load i32, ptr %897, align 4, !tbaa !9
  %899 = icmp ne i32 %898, 0
  br i1 %899, label %900, label %905

900:                                              ; preds = %896
  %901 = load ptr, ptr %56, align 8, !tbaa !5
  %902 = load i32, ptr %901, align 4, !tbaa !9
  %903 = sub nsw i32 0, %902
  store i32 %903, ptr %59, align 4, !tbaa !9
  %904 = call i32 @xerbla_(ptr noundef @.str.15, ptr noundef %59, i32 noundef 6)
  store i32 1, ptr %94, align 4
  br label %4303

905:                                              ; preds = %896
  store i32 0, ptr %88, align 4, !tbaa !9
  %906 = load i32, ptr %93, align 4, !tbaa !9
  %907 = load ptr, ptr %30, align 8, !tbaa !5
  %908 = load i32, ptr %907, align 4, !tbaa !9
  %909 = sub nsw i32 %908, 1
  %910 = icmp eq i32 %906, %909
  br i1 %910, label %911, label %918

911:                                              ; preds = %905
  %912 = load i32, ptr %92, align 4, !tbaa !9
  %913 = load ptr, ptr %29, align 8, !tbaa !5
  %914 = load i32, ptr %913, align 4, !tbaa !9
  %915 = sub nsw i32 %914, 1
  %916 = icmp eq i32 %912, %915
  br i1 %916, label %917, label %918

917:                                              ; preds = %911
  store i32 1, ptr %88, align 4, !tbaa !9
  br label %918

918:                                              ; preds = %917, %911, %905
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %919

919:                                              ; preds = %942, %918
  %920 = load i32, ptr %71, align 4, !tbaa !9
  %921 = icmp sle i32 %920, 4
  br i1 %921, label %922, label %945

922:                                              ; preds = %919
  %923 = load ptr, ptr %32, align 8, !tbaa !5
  %924 = load i32, ptr %71, align 4, !tbaa !9
  %925 = sext i32 %924 to i64
  %926 = getelementptr inbounds i32, ptr %923, i64 %925
  %927 = load i32, ptr %926, align 4, !tbaa !9
  store i32 %927, ptr %59, align 4, !tbaa !9
  %928 = load i32, ptr %59, align 4, !tbaa !9
  %929 = icmp sge i32 %928, 0
  br i1 %929, label %930, label %932

930:                                              ; preds = %922
  %931 = load i32, ptr %59, align 4, !tbaa !9
  br label %935

932:                                              ; preds = %922
  %933 = load i32, ptr %59, align 4, !tbaa !9
  %934 = sub nsw i32 0, %933
  br label %935

935:                                              ; preds = %932, %930
  %936 = phi i32 [ %931, %930 ], [ %934, %932 ]
  %937 = srem i32 %936, 4096
  %938 = load ptr, ptr %32, align 8, !tbaa !5
  %939 = load i32, ptr %71, align 4, !tbaa !9
  %940 = sext i32 %939 to i64
  %941 = getelementptr inbounds i32, ptr %938, i64 %940
  store i32 %937, ptr %941, align 4, !tbaa !9
  br label %942

942:                                              ; preds = %935
  %943 = load i32, ptr %71, align 4, !tbaa !9
  %944 = add nsw i32 %943, 1
  store i32 %944, ptr %71, align 4, !tbaa !9
  br label %919, !llvm.loop !19

945:                                              ; preds = %919
  %946 = load ptr, ptr %32, align 8, !tbaa !5
  %947 = getelementptr inbounds i32, ptr %946, i64 4
  %948 = load i32, ptr %947, align 4, !tbaa !9
  %949 = sdiv i32 %948, 2
  %950 = shl i32 %949, 1
  %951 = add nsw i32 %950, 1
  %952 = load ptr, ptr %32, align 8, !tbaa !5
  %953 = getelementptr inbounds i32, ptr %952, i64 4
  store i32 %951, ptr %953, align 4, !tbaa !9
  %954 = load ptr, ptr %35, align 8, !tbaa !5
  %955 = load ptr, ptr %36, align 8, !tbaa !5
  %956 = load ptr, ptr %32, align 8, !tbaa !5
  %957 = getelementptr inbounds i32, ptr %956, i64 1
  %958 = load ptr, ptr %34, align 8, !tbaa !5
  %959 = getelementptr inbounds %struct.complex, ptr %958, i64 1
  %960 = load ptr, ptr %56, align 8, !tbaa !5
  call void @clatm1_(ptr noundef %954, ptr noundef %955, ptr noundef %90, ptr noundef %78, ptr noundef %957, ptr noundef %959, ptr noundef %80, ptr noundef %960)
  %961 = load ptr, ptr %56, align 8, !tbaa !5
  %962 = load i32, ptr %961, align 4, !tbaa !9
  %963 = icmp ne i32 %962, 0
  br i1 %963, label %964, label %966

964:                                              ; preds = %945
  %965 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 1, ptr %965, align 4, !tbaa !9
  store i32 1, ptr %94, align 4
  br label %4303

966:                                              ; preds = %945
  %967 = load ptr, ptr %35, align 8, !tbaa !5
  %968 = load i32, ptr %967, align 4, !tbaa !9
  %969 = icmp ne i32 %968, 0
  br i1 %969, label %970, label %1128

970:                                              ; preds = %966
  %971 = load ptr, ptr %35, align 8, !tbaa !5
  %972 = load i32, ptr %971, align 4, !tbaa !9
  %973 = icmp ne i32 %972, -6
  br i1 %973, label %974, label %1128

974:                                              ; preds = %970
  %975 = load ptr, ptr %35, align 8, !tbaa !5
  %976 = load i32, ptr %975, align 4, !tbaa !9
  %977 = icmp ne i32 %976, 6
  br i1 %977, label %978, label %1128

978:                                              ; preds = %974
  %979 = load ptr, ptr %34, align 8, !tbaa !5
  %980 = getelementptr inbounds %struct.complex, ptr %979, i64 1
  %981 = call <2 x float> @Cf(ptr noundef %980)
  store <2 x float> %981, ptr %95, align 4
  %982 = getelementptr inbounds { float, float }, ptr %95, i32 0, i32 0
  %983 = load float, ptr %982, align 4
  %984 = getelementptr inbounds { float, float }, ptr %95, i32 0, i32 1
  %985 = load float, ptr %984, align 4
  %986 = getelementptr inbounds { float, float }, ptr %96, i32 0, i32 0
  %987 = getelementptr inbounds { float, float }, ptr %96, i32 0, i32 1
  store float %983, ptr %986, align 4
  store float %985, ptr %987, align 4
  %988 = load <2 x float>, ptr %96, align 4
  %989 = call float @cabsf(<2 x float> noundef %988) #7
  store float %989, ptr %69, align 4, !tbaa !18
  %990 = load i32, ptr %80, align 4, !tbaa !9
  store i32 %990, ptr %59, align 4, !tbaa !9
  store i32 2, ptr %71, align 4, !tbaa !9
  br label %991

991:                                              ; preds = %1019, %978
  %992 = load i32, ptr %71, align 4, !tbaa !9
  %993 = load i32, ptr %59, align 4, !tbaa !9
  %994 = icmp sle i32 %992, %993
  br i1 %994, label %995, label %1022

995:                                              ; preds = %991
  %996 = load float, ptr %69, align 4, !tbaa !18
  store float %996, ptr %63, align 4, !tbaa !18
  %997 = load ptr, ptr %34, align 8, !tbaa !5
  %998 = load i32, ptr %71, align 4, !tbaa !9
  %999 = sext i32 %998 to i64
  %1000 = getelementptr inbounds %struct.complex, ptr %997, i64 %999
  %1001 = call <2 x float> @Cf(ptr noundef %1000)
  store <2 x float> %1001, ptr %97, align 4
  %1002 = getelementptr inbounds { float, float }, ptr %97, i32 0, i32 0
  %1003 = load float, ptr %1002, align 4
  %1004 = getelementptr inbounds { float, float }, ptr %97, i32 0, i32 1
  %1005 = load float, ptr %1004, align 4
  %1006 = getelementptr inbounds { float, float }, ptr %98, i32 0, i32 0
  %1007 = getelementptr inbounds { float, float }, ptr %98, i32 0, i32 1
  store float %1003, ptr %1006, align 4
  store float %1005, ptr %1007, align 4
  %1008 = load <2 x float>, ptr %98, align 4
  %1009 = call float @cabsf(<2 x float> noundef %1008) #7
  store float %1009, ptr %64, align 4, !tbaa !18
  %1010 = load float, ptr %63, align 4, !tbaa !18
  %1011 = load float, ptr %64, align 4, !tbaa !18
  %1012 = fcmp oge float %1010, %1011
  br i1 %1012, label %1013, label %1015

1013:                                             ; preds = %995
  %1014 = load float, ptr %63, align 4, !tbaa !18
  br label %1017

1015:                                             ; preds = %995
  %1016 = load float, ptr %64, align 4, !tbaa !18
  br label %1017

1017:                                             ; preds = %1015, %1013
  %1018 = phi float [ %1014, %1013 ], [ %1016, %1015 ]
  store float %1018, ptr %69, align 4, !tbaa !18
  br label %1019

1019:                                             ; preds = %1017
  %1020 = load i32, ptr %71, align 4, !tbaa !9
  %1021 = add nsw i32 %1020, 1
  store i32 %1021, ptr %71, align 4, !tbaa !9
  br label %991, !llvm.loop !20

1022:                                             ; preds = %991
  %1023 = load float, ptr %69, align 4, !tbaa !18
  %1024 = fcmp oeq float %1023, 0.000000e+00
  br i1 %1024, label %1025, label %1037

1025:                                             ; preds = %1022
  %1026 = load ptr, ptr %37, align 8, !tbaa !5
  %1027 = getelementptr inbounds %struct.complex, ptr %1026, i32 0, i32 0
  %1028 = load float, ptr %1027, align 4, !tbaa !11
  %1029 = fcmp une float %1028, 0.000000e+00
  br i1 %1029, label %1035, label %1030

1030:                                             ; preds = %1025
  %1031 = load ptr, ptr %37, align 8, !tbaa !5
  %1032 = getelementptr inbounds %struct.complex, ptr %1031, i32 0, i32 1
  %1033 = load float, ptr %1032, align 4, !tbaa !14
  %1034 = fcmp une float %1033, 0.000000e+00
  br i1 %1034, label %1035, label %1037

1035:                                             ; preds = %1030, %1025
  %1036 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 2, ptr %1036, align 4, !tbaa !9
  store i32 1, ptr %94, align 4
  br label %4303

1037:                                             ; preds = %1030, %1022
  %1038 = load float, ptr %69, align 4, !tbaa !18
  %1039 = fcmp une float %1038, 0.000000e+00
  br i1 %1039, label %1040, label %1059

1040:                                             ; preds = %1037
  %1041 = load ptr, ptr %37, align 8, !tbaa !5
  %1042 = getelementptr inbounds %struct.complex, ptr %1041, i32 0, i32 0
  %1043 = load float, ptr %1042, align 4, !tbaa !11
  %1044 = load float, ptr %69, align 4, !tbaa !18
  %1045 = fdiv float %1043, %1044
  %1046 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %1045, ptr %1046, align 4, !tbaa !11
  %1047 = load ptr, ptr %37, align 8, !tbaa !5
  %1048 = getelementptr inbounds %struct.complex, ptr %1047, i32 0, i32 1
  %1049 = load float, ptr %1048, align 4, !tbaa !14
  %1050 = load float, ptr %69, align 4, !tbaa !18
  %1051 = fdiv float %1049, %1050
  %1052 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %1051, ptr %1052, align 4, !tbaa !14
  %1053 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1054 = load float, ptr %1053, align 4, !tbaa !11
  %1055 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 0
  store float %1054, ptr %1055, align 4, !tbaa !11
  %1056 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1057 = load float, ptr %1056, align 4, !tbaa !14
  %1058 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 1
  store float %1057, ptr %1058, align 4, !tbaa !14
  br label %1062

1059:                                             ; preds = %1037
  %1060 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 0
  store float 1.000000e+00, ptr %1060, align 4, !tbaa !11
  %1061 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 1
  store float 0.000000e+00, ptr %1061, align 4, !tbaa !14
  br label %1062

1062:                                             ; preds = %1059, %1040
  %1063 = load i32, ptr %80, align 4, !tbaa !9
  store i32 %1063, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1064

1064:                                             ; preds = %1124, %1062
  %1065 = load i32, ptr %71, align 4, !tbaa !9
  %1066 = load i32, ptr %59, align 4, !tbaa !9
  %1067 = icmp sle i32 %1065, %1066
  br i1 %1067, label %1068, label %1127

1068:                                             ; preds = %1064
  %1069 = load i32, ptr %71, align 4, !tbaa !9
  store i32 %1069, ptr %60, align 4, !tbaa !9
  %1070 = load i32, ptr %71, align 4, !tbaa !9
  store i32 %1070, ptr %61, align 4, !tbaa !9
  %1071 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 0
  %1072 = load float, ptr %1071, align 4, !tbaa !11
  %1073 = load ptr, ptr %34, align 8, !tbaa !5
  %1074 = load i32, ptr %61, align 4, !tbaa !9
  %1075 = sext i32 %1074 to i64
  %1076 = getelementptr inbounds %struct.complex, ptr %1073, i64 %1075
  %1077 = getelementptr inbounds %struct.complex, ptr %1076, i32 0, i32 0
  %1078 = load float, ptr %1077, align 4, !tbaa !11
  %1079 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 1
  %1080 = load float, ptr %1079, align 4, !tbaa !14
  %1081 = load ptr, ptr %34, align 8, !tbaa !5
  %1082 = load i32, ptr %61, align 4, !tbaa !9
  %1083 = sext i32 %1082 to i64
  %1084 = getelementptr inbounds %struct.complex, ptr %1081, i64 %1083
  %1085 = getelementptr inbounds %struct.complex, ptr %1084, i32 0, i32 1
  %1086 = load float, ptr %1085, align 4, !tbaa !14
  %1087 = fmul float %1080, %1086
  %1088 = fneg float %1087
  %1089 = call float @llvm.fmuladd.f32(float %1072, float %1078, float %1088)
  %1090 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  store float %1089, ptr %1090, align 4, !tbaa !11
  %1091 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 0
  %1092 = load float, ptr %1091, align 4, !tbaa !11
  %1093 = load ptr, ptr %34, align 8, !tbaa !5
  %1094 = load i32, ptr %61, align 4, !tbaa !9
  %1095 = sext i32 %1094 to i64
  %1096 = getelementptr inbounds %struct.complex, ptr %1093, i64 %1095
  %1097 = getelementptr inbounds %struct.complex, ptr %1096, i32 0, i32 1
  %1098 = load float, ptr %1097, align 4, !tbaa !14
  %1099 = getelementptr inbounds %struct.complex, ptr %86, i32 0, i32 1
  %1100 = load float, ptr %1099, align 4, !tbaa !14
  %1101 = load ptr, ptr %34, align 8, !tbaa !5
  %1102 = load i32, ptr %61, align 4, !tbaa !9
  %1103 = sext i32 %1102 to i64
  %1104 = getelementptr inbounds %struct.complex, ptr %1101, i64 %1103
  %1105 = getelementptr inbounds %struct.complex, ptr %1104, i32 0, i32 0
  %1106 = load float, ptr %1105, align 4, !tbaa !11
  %1107 = fmul float %1100, %1106
  %1108 = call float @llvm.fmuladd.f32(float %1092, float %1098, float %1107)
  %1109 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  store float %1108, ptr %1109, align 4, !tbaa !14
  %1110 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1111 = load float, ptr %1110, align 4, !tbaa !11
  %1112 = load ptr, ptr %34, align 8, !tbaa !5
  %1113 = load i32, ptr %60, align 4, !tbaa !9
  %1114 = sext i32 %1113 to i64
  %1115 = getelementptr inbounds %struct.complex, ptr %1112, i64 %1114
  %1116 = getelementptr inbounds %struct.complex, ptr %1115, i32 0, i32 0
  store float %1111, ptr %1116, align 4, !tbaa !11
  %1117 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1118 = load float, ptr %1117, align 4, !tbaa !14
  %1119 = load ptr, ptr %34, align 8, !tbaa !5
  %1120 = load i32, ptr %60, align 4, !tbaa !9
  %1121 = sext i32 %1120 to i64
  %1122 = getelementptr inbounds %struct.complex, ptr %1119, i64 %1121
  %1123 = getelementptr inbounds %struct.complex, ptr %1122, i32 0, i32 1
  store float %1118, ptr %1123, align 4, !tbaa !14
  br label %1124

1124:                                             ; preds = %1068
  %1125 = load i32, ptr %71, align 4, !tbaa !9
  %1126 = add nsw i32 %1125, 1
  store i32 %1126, ptr %71, align 4, !tbaa !9
  br label %1064, !llvm.loop !21

1127:                                             ; preds = %1064
  br label %1128

1128:                                             ; preds = %1127, %974, %970, %966
  %1129 = load i32, ptr %70, align 4, !tbaa !9
  %1130 = icmp eq i32 %1129, 0
  br i1 %1130, label %1131, label %1161

1131:                                             ; preds = %1128
  %1132 = load i32, ptr %80, align 4, !tbaa !9
  store i32 %1132, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1133

1133:                                             ; preds = %1157, %1131
  %1134 = load i32, ptr %71, align 4, !tbaa !9
  %1135 = load i32, ptr %59, align 4, !tbaa !9
  %1136 = icmp sle i32 %1134, %1135
  br i1 %1136, label %1137, label %1160

1137:                                             ; preds = %1133
  %1138 = load i32, ptr %71, align 4, !tbaa !9
  store i32 %1138, ptr %60, align 4, !tbaa !9
  %1139 = load i32, ptr %71, align 4, !tbaa !9
  store i32 %1139, ptr %61, align 4, !tbaa !9
  %1140 = load ptr, ptr %34, align 8, !tbaa !5
  %1141 = load i32, ptr %61, align 4, !tbaa !9
  %1142 = sext i32 %1141 to i64
  %1143 = getelementptr inbounds %struct.complex, ptr %1140, i64 %1142
  %1144 = getelementptr inbounds %struct.complex, ptr %1143, i32 0, i32 0
  %1145 = load float, ptr %1144, align 4, !tbaa !11
  store float %1145, ptr %63, align 4, !tbaa !18
  %1146 = load float, ptr %63, align 4, !tbaa !18
  %1147 = load ptr, ptr %34, align 8, !tbaa !5
  %1148 = load i32, ptr %60, align 4, !tbaa !9
  %1149 = sext i32 %1148 to i64
  %1150 = getelementptr inbounds %struct.complex, ptr %1147, i64 %1149
  %1151 = getelementptr inbounds %struct.complex, ptr %1150, i32 0, i32 0
  store float %1146, ptr %1151, align 4, !tbaa !11
  %1152 = load ptr, ptr %34, align 8, !tbaa !5
  %1153 = load i32, ptr %60, align 4, !tbaa !9
  %1154 = sext i32 %1153 to i64
  %1155 = getelementptr inbounds %struct.complex, ptr %1152, i64 %1154
  %1156 = getelementptr inbounds %struct.complex, ptr %1155, i32 0, i32 1
  store float 0.000000e+00, ptr %1156, align 4, !tbaa !14
  br label %1157

1157:                                             ; preds = %1137
  %1158 = load i32, ptr %71, align 4, !tbaa !9
  %1159 = add nsw i32 %1158, 1
  store i32 %1159, ptr %71, align 4, !tbaa !9
  br label %1133, !llvm.loop !22

1160:                                             ; preds = %1133
  br label %1161

1161:                                             ; preds = %1160, %1128
  %1162 = load i32, ptr %87, align 4, !tbaa !9
  %1163 = icmp eq i32 %1162, 1
  br i1 %1163, label %1176, label %1164

1164:                                             ; preds = %1161
  %1165 = load i32, ptr %87, align 4, !tbaa !9
  %1166 = icmp eq i32 %1165, 3
  br i1 %1166, label %1176, label %1167

1167:                                             ; preds = %1164
  %1168 = load i32, ptr %87, align 4, !tbaa !9
  %1169 = icmp eq i32 %1168, 4
  br i1 %1169, label %1176, label %1170

1170:                                             ; preds = %1167
  %1171 = load i32, ptr %87, align 4, !tbaa !9
  %1172 = icmp eq i32 %1171, 5
  br i1 %1172, label %1176, label %1173

1173:                                             ; preds = %1170
  %1174 = load i32, ptr %87, align 4, !tbaa !9
  %1175 = icmp eq i32 %1174, 6
  br i1 %1175, label %1176, label %1191

1176:                                             ; preds = %1173, %1170, %1167, %1164, %1161
  %1177 = load ptr, ptr %41, align 8, !tbaa !5
  %1178 = load ptr, ptr %42, align 8, !tbaa !5
  %1179 = load ptr, ptr %32, align 8, !tbaa !5
  %1180 = getelementptr inbounds i32, ptr %1179, i64 1
  %1181 = load ptr, ptr %40, align 8, !tbaa !5
  %1182 = getelementptr inbounds %struct.complex, ptr %1181, i64 1
  %1183 = load ptr, ptr %29, align 8, !tbaa !5
  %1184 = load ptr, ptr %56, align 8, !tbaa !5
  call void @clatm1_(ptr noundef %1177, ptr noundef %1178, ptr noundef @c__0, ptr noundef %78, ptr noundef %1180, ptr noundef %1182, ptr noundef %1183, ptr noundef %1184)
  %1185 = load ptr, ptr %56, align 8, !tbaa !5
  %1186 = load i32, ptr %1185, align 4, !tbaa !9
  %1187 = icmp ne i32 %1186, 0
  br i1 %1187, label %1188, label %1190

1188:                                             ; preds = %1176
  %1189 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 3, ptr %1189, align 4, !tbaa !9
  store i32 1, ptr %94, align 4
  br label %4303

1190:                                             ; preds = %1176
  br label %1191

1191:                                             ; preds = %1190, %1173
  %1192 = load i32, ptr %87, align 4, !tbaa !9
  %1193 = icmp eq i32 %1192, 2
  br i1 %1193, label %1197, label %1194

1194:                                             ; preds = %1191
  %1195 = load i32, ptr %87, align 4, !tbaa !9
  %1196 = icmp eq i32 %1195, 3
  br i1 %1196, label %1197, label %1212

1197:                                             ; preds = %1194, %1191
  %1198 = load ptr, ptr %44, align 8, !tbaa !5
  %1199 = load ptr, ptr %45, align 8, !tbaa !5
  %1200 = load ptr, ptr %32, align 8, !tbaa !5
  %1201 = getelementptr inbounds i32, ptr %1200, i64 1
  %1202 = load ptr, ptr %43, align 8, !tbaa !5
  %1203 = getelementptr inbounds %struct.complex, ptr %1202, i64 1
  %1204 = load ptr, ptr %30, align 8, !tbaa !5
  %1205 = load ptr, ptr %56, align 8, !tbaa !5
  call void @clatm1_(ptr noundef %1198, ptr noundef %1199, ptr noundef @c__0, ptr noundef %78, ptr noundef %1201, ptr noundef %1203, ptr noundef %1204, ptr noundef %1205)
  %1206 = load ptr, ptr %56, align 8, !tbaa !5
  %1207 = load i32, ptr %1206, align 4, !tbaa !9
  %1208 = icmp ne i32 %1207, 0
  br i1 %1208, label %1209, label %1211

1209:                                             ; preds = %1197
  %1210 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 4, ptr %1210, align 4, !tbaa !9
  store i32 1, ptr %94, align 4
  br label %4303

1211:                                             ; preds = %1197
  br label %1212

1212:                                             ; preds = %1211, %1194
  %1213 = load i32, ptr %91, align 4, !tbaa !9
  %1214 = icmp sgt i32 %1213, 0
  br i1 %1214, label %1215, label %1303

1215:                                             ; preds = %1212
  %1216 = load i32, ptr %85, align 4, !tbaa !9
  store i32 %1216, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1217

1217:                                             ; preds = %1227, %1215
  %1218 = load i32, ptr %71, align 4, !tbaa !9
  %1219 = load i32, ptr %59, align 4, !tbaa !9
  %1220 = icmp sle i32 %1218, %1219
  br i1 %1220, label %1221, label %1230

1221:                                             ; preds = %1217
  %1222 = load i32, ptr %71, align 4, !tbaa !9
  %1223 = load ptr, ptr %55, align 8, !tbaa !5
  %1224 = load i32, ptr %71, align 4, !tbaa !9
  %1225 = sext i32 %1224 to i64
  %1226 = getelementptr inbounds i32, ptr %1223, i64 %1225
  store i32 %1222, ptr %1226, align 4, !tbaa !9
  br label %1227

1227:                                             ; preds = %1221
  %1228 = load i32, ptr %71, align 4, !tbaa !9
  %1229 = add nsw i32 %1228, 1
  store i32 %1229, ptr %71, align 4, !tbaa !9
  br label %1217, !llvm.loop !23

1230:                                             ; preds = %1217
  %1231 = load i32, ptr %88, align 4, !tbaa !9
  %1232 = icmp ne i32 %1231, 0
  br i1 %1232, label %1233, label %1268

1233:                                             ; preds = %1230
  %1234 = load i32, ptr %85, align 4, !tbaa !9
  store i32 %1234, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1235

1235:                                             ; preds = %1264, %1233
  %1236 = load i32, ptr %71, align 4, !tbaa !9
  %1237 = load i32, ptr %59, align 4, !tbaa !9
  %1238 = icmp sle i32 %1236, %1237
  br i1 %1238, label %1239, label %1267

1239:                                             ; preds = %1235
  %1240 = load ptr, ptr %47, align 8, !tbaa !5
  %1241 = load i32, ptr %71, align 4, !tbaa !9
  %1242 = sext i32 %1241 to i64
  %1243 = getelementptr inbounds i32, ptr %1240, i64 %1242
  %1244 = load i32, ptr %1243, align 4, !tbaa !9
  store i32 %1244, ptr %73, align 4, !tbaa !9
  %1245 = load ptr, ptr %55, align 8, !tbaa !5
  %1246 = load i32, ptr %71, align 4, !tbaa !9
  %1247 = sext i32 %1246 to i64
  %1248 = getelementptr inbounds i32, ptr %1245, i64 %1247
  %1249 = load i32, ptr %1248, align 4, !tbaa !9
  store i32 %1249, ptr %72, align 4, !tbaa !9
  %1250 = load ptr, ptr %55, align 8, !tbaa !5
  %1251 = load i32, ptr %73, align 4, !tbaa !9
  %1252 = sext i32 %1251 to i64
  %1253 = getelementptr inbounds i32, ptr %1250, i64 %1252
  %1254 = load i32, ptr %1253, align 4, !tbaa !9
  %1255 = load ptr, ptr %55, align 8, !tbaa !5
  %1256 = load i32, ptr %71, align 4, !tbaa !9
  %1257 = sext i32 %1256 to i64
  %1258 = getelementptr inbounds i32, ptr %1255, i64 %1257
  store i32 %1254, ptr %1258, align 4, !tbaa !9
  %1259 = load i32, ptr %72, align 4, !tbaa !9
  %1260 = load ptr, ptr %55, align 8, !tbaa !5
  %1261 = load i32, ptr %73, align 4, !tbaa !9
  %1262 = sext i32 %1261 to i64
  %1263 = getelementptr inbounds i32, ptr %1260, i64 %1262
  store i32 %1259, ptr %1263, align 4, !tbaa !9
  br label %1264

1264:                                             ; preds = %1239
  %1265 = load i32, ptr %71, align 4, !tbaa !9
  %1266 = add nsw i32 %1265, 1
  store i32 %1266, ptr %71, align 4, !tbaa !9
  br label %1235, !llvm.loop !24

1267:                                             ; preds = %1235
  br label %1302

1268:                                             ; preds = %1230
  %1269 = load i32, ptr %85, align 4, !tbaa !9
  store i32 %1269, ptr %71, align 4, !tbaa !9
  br label %1270

1270:                                             ; preds = %1298, %1268
  %1271 = load i32, ptr %71, align 4, !tbaa !9
  %1272 = icmp sge i32 %1271, 1
  br i1 %1272, label %1273, label %1301

1273:                                             ; preds = %1270
  %1274 = load ptr, ptr %47, align 8, !tbaa !5
  %1275 = load i32, ptr %71, align 4, !tbaa !9
  %1276 = sext i32 %1275 to i64
  %1277 = getelementptr inbounds i32, ptr %1274, i64 %1276
  %1278 = load i32, ptr %1277, align 4, !tbaa !9
  store i32 %1278, ptr %73, align 4, !tbaa !9
  %1279 = load ptr, ptr %55, align 8, !tbaa !5
  %1280 = load i32, ptr %71, align 4, !tbaa !9
  %1281 = sext i32 %1280 to i64
  %1282 = getelementptr inbounds i32, ptr %1279, i64 %1281
  %1283 = load i32, ptr %1282, align 4, !tbaa !9
  store i32 %1283, ptr %72, align 4, !tbaa !9
  %1284 = load ptr, ptr %55, align 8, !tbaa !5
  %1285 = load i32, ptr %73, align 4, !tbaa !9
  %1286 = sext i32 %1285 to i64
  %1287 = getelementptr inbounds i32, ptr %1284, i64 %1286
  %1288 = load i32, ptr %1287, align 4, !tbaa !9
  %1289 = load ptr, ptr %55, align 8, !tbaa !5
  %1290 = load i32, ptr %71, align 4, !tbaa !9
  %1291 = sext i32 %1290 to i64
  %1292 = getelementptr inbounds i32, ptr %1289, i64 %1291
  store i32 %1288, ptr %1292, align 4, !tbaa !9
  %1293 = load i32, ptr %72, align 4, !tbaa !9
  %1294 = load ptr, ptr %55, align 8, !tbaa !5
  %1295 = load i32, ptr %73, align 4, !tbaa !9
  %1296 = sext i32 %1295 to i64
  %1297 = getelementptr inbounds i32, ptr %1294, i64 %1296
  store i32 %1293, ptr %1297, align 4, !tbaa !9
  br label %1298

1298:                                             ; preds = %1273
  %1299 = load i32, ptr %71, align 4, !tbaa !9
  %1300 = add nsw i32 %1299, -1
  store i32 %1300, ptr %71, align 4, !tbaa !9
  br label %1270, !llvm.loop !25

1301:                                             ; preds = %1270
  br label %1302

1302:                                             ; preds = %1301, %1267
  br label %1303

1303:                                             ; preds = %1302, %1212
  %1304 = load i32, ptr %88, align 4, !tbaa !9
  %1305 = icmp ne i32 %1304, 0
  br i1 %1305, label %1306, label %2749

1306:                                             ; preds = %1303
  %1307 = load i32, ptr %74, align 4, !tbaa !9
  %1308 = icmp eq i32 %1307, 0
  br i1 %1308, label %1309, label %1555

1309:                                             ; preds = %1306
  %1310 = load i32, ptr %70, align 4, !tbaa !9
  %1311 = icmp eq i32 %1310, 0
  br i1 %1311, label %1312, label %1402

1312:                                             ; preds = %1309
  %1313 = load ptr, ptr %30, align 8, !tbaa !5
  %1314 = load i32, ptr %1313, align 4, !tbaa !9
  store i32 %1314, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %1315

1315:                                             ; preds = %1398, %1312
  %1316 = load i32, ptr %72, align 4, !tbaa !9
  %1317 = load i32, ptr %59, align 4, !tbaa !9
  %1318 = icmp sle i32 %1316, %1317
  br i1 %1318, label %1319, label %1401

1319:                                             ; preds = %1315
  %1320 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1320, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1321

1321:                                             ; preds = %1394, %1319
  %1322 = load i32, ptr %71, align 4, !tbaa !9
  %1323 = load i32, ptr %60, align 4, !tbaa !9
  %1324 = icmp sle i32 %1322, %1323
  br i1 %1324, label %1325, label %1397

1325:                                             ; preds = %1321
  %1326 = load ptr, ptr %29, align 8, !tbaa !5
  %1327 = load ptr, ptr %30, align 8, !tbaa !5
  %1328 = load ptr, ptr %48, align 8, !tbaa !5
  %1329 = load ptr, ptr %49, align 8, !tbaa !5
  %1330 = load ptr, ptr %32, align 8, !tbaa !5
  %1331 = getelementptr inbounds i32, ptr %1330, i64 1
  %1332 = load ptr, ptr %34, align 8, !tbaa !5
  %1333 = getelementptr inbounds %struct.complex, ptr %1332, i64 1
  %1334 = load ptr, ptr %40, align 8, !tbaa !5
  %1335 = getelementptr inbounds %struct.complex, ptr %1334, i64 1
  %1336 = load ptr, ptr %43, align 8, !tbaa !5
  %1337 = getelementptr inbounds %struct.complex, ptr %1336, i64 1
  %1338 = load ptr, ptr %55, align 8, !tbaa !5
  %1339 = getelementptr inbounds i32, ptr %1338, i64 1
  %1340 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %1326, ptr noundef %1327, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %1328, ptr noundef %1329, ptr noundef %78, ptr noundef %1331, ptr noundef %1333, ptr noundef %87, ptr noundef %1335, ptr noundef %1337, ptr noundef %91, ptr noundef %1339, ptr noundef %1340)
  %1341 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1342 = load float, ptr %1341, align 4, !tbaa !11
  %1343 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %1342, ptr %1343, align 4, !tbaa !11
  %1344 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1345 = load float, ptr %1344, align 4, !tbaa !14
  %1346 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %1345, ptr %1346, align 4, !tbaa !14
  %1347 = load i32, ptr %67, align 4, !tbaa !9
  %1348 = load i32, ptr %68, align 4, !tbaa !9
  %1349 = load i32, ptr %57, align 4, !tbaa !9
  %1350 = mul nsw i32 %1348, %1349
  %1351 = add nsw i32 %1347, %1350
  store i32 %1351, ptr %61, align 4, !tbaa !9
  %1352 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %1353 = load float, ptr %1352, align 4, !tbaa !11
  %1354 = load ptr, ptr %53, align 8, !tbaa !5
  %1355 = load i32, ptr %61, align 4, !tbaa !9
  %1356 = sext i32 %1355 to i64
  %1357 = getelementptr inbounds %struct.complex, ptr %1354, i64 %1356
  %1358 = getelementptr inbounds %struct.complex, ptr %1357, i32 0, i32 0
  store float %1353, ptr %1358, align 4, !tbaa !11
  %1359 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %1360 = load float, ptr %1359, align 4, !tbaa !14
  %1361 = load ptr, ptr %53, align 8, !tbaa !5
  %1362 = load i32, ptr %61, align 4, !tbaa !9
  %1363 = sext i32 %1362 to i64
  %1364 = getelementptr inbounds %struct.complex, ptr %1361, i64 %1363
  %1365 = getelementptr inbounds %struct.complex, ptr %1364, i32 0, i32 1
  store float %1360, ptr %1365, align 4, !tbaa !14
  %1366 = load i32, ptr %68, align 4, !tbaa !9
  %1367 = load i32, ptr %67, align 4, !tbaa !9
  %1368 = load i32, ptr %57, align 4, !tbaa !9
  %1369 = mul nsw i32 %1367, %1368
  %1370 = add nsw i32 %1366, %1369
  store i32 %1370, ptr %61, align 4, !tbaa !9
  %1371 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %1371, ptr %99, align 4
  %1372 = getelementptr inbounds { float, float }, ptr %99, i32 0, i32 0
  %1373 = load float, ptr %1372, align 4
  %1374 = getelementptr inbounds { float, float }, ptr %99, i32 0, i32 1
  %1375 = load float, ptr %1374, align 4
  %1376 = fneg float %1375
  %1377 = call ptr @_pCf(ptr noundef %65)
  %1378 = getelementptr inbounds { float, float }, ptr %1377, i32 0, i32 0
  %1379 = getelementptr inbounds { float, float }, ptr %1377, i32 0, i32 1
  store float %1373, ptr %1378, align 4
  store float %1376, ptr %1379, align 4
  %1380 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1381 = load float, ptr %1380, align 4, !tbaa !11
  %1382 = load ptr, ptr %53, align 8, !tbaa !5
  %1383 = load i32, ptr %61, align 4, !tbaa !9
  %1384 = sext i32 %1383 to i64
  %1385 = getelementptr inbounds %struct.complex, ptr %1382, i64 %1384
  %1386 = getelementptr inbounds %struct.complex, ptr %1385, i32 0, i32 0
  store float %1381, ptr %1386, align 4, !tbaa !11
  %1387 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1388 = load float, ptr %1387, align 4, !tbaa !14
  %1389 = load ptr, ptr %53, align 8, !tbaa !5
  %1390 = load i32, ptr %61, align 4, !tbaa !9
  %1391 = sext i32 %1390 to i64
  %1392 = getelementptr inbounds %struct.complex, ptr %1389, i64 %1391
  %1393 = getelementptr inbounds %struct.complex, ptr %1392, i32 0, i32 1
  store float %1388, ptr %1393, align 4, !tbaa !14
  br label %1394

1394:                                             ; preds = %1325
  %1395 = load i32, ptr %71, align 4, !tbaa !9
  %1396 = add nsw i32 %1395, 1
  store i32 %1396, ptr %71, align 4, !tbaa !9
  br label %1321, !llvm.loop !26

1397:                                             ; preds = %1321
  br label %1398

1398:                                             ; preds = %1397
  %1399 = load i32, ptr %72, align 4, !tbaa !9
  %1400 = add nsw i32 %1399, 1
  store i32 %1400, ptr %72, align 4, !tbaa !9
  br label %1315, !llvm.loop !27

1401:                                             ; preds = %1315
  br label %1554

1402:                                             ; preds = %1309
  %1403 = load i32, ptr %70, align 4, !tbaa !9
  %1404 = icmp eq i32 %1403, 1
  br i1 %1404, label %1405, label %1468

1405:                                             ; preds = %1402
  %1406 = load ptr, ptr %30, align 8, !tbaa !5
  %1407 = load i32, ptr %1406, align 4, !tbaa !9
  store i32 %1407, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %1408

1408:                                             ; preds = %1464, %1405
  %1409 = load i32, ptr %72, align 4, !tbaa !9
  %1410 = load i32, ptr %59, align 4, !tbaa !9
  %1411 = icmp sle i32 %1409, %1410
  br i1 %1411, label %1412, label %1467

1412:                                             ; preds = %1408
  %1413 = load ptr, ptr %29, align 8, !tbaa !5
  %1414 = load i32, ptr %1413, align 4, !tbaa !9
  store i32 %1414, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1415

1415:                                             ; preds = %1460, %1412
  %1416 = load i32, ptr %71, align 4, !tbaa !9
  %1417 = load i32, ptr %60, align 4, !tbaa !9
  %1418 = icmp sle i32 %1416, %1417
  br i1 %1418, label %1419, label %1463

1419:                                             ; preds = %1415
  %1420 = load ptr, ptr %29, align 8, !tbaa !5
  %1421 = load ptr, ptr %30, align 8, !tbaa !5
  %1422 = load ptr, ptr %48, align 8, !tbaa !5
  %1423 = load ptr, ptr %49, align 8, !tbaa !5
  %1424 = load ptr, ptr %32, align 8, !tbaa !5
  %1425 = getelementptr inbounds i32, ptr %1424, i64 1
  %1426 = load ptr, ptr %34, align 8, !tbaa !5
  %1427 = getelementptr inbounds %struct.complex, ptr %1426, i64 1
  %1428 = load ptr, ptr %40, align 8, !tbaa !5
  %1429 = getelementptr inbounds %struct.complex, ptr %1428, i64 1
  %1430 = load ptr, ptr %43, align 8, !tbaa !5
  %1431 = getelementptr inbounds %struct.complex, ptr %1430, i64 1
  %1432 = load ptr, ptr %55, align 8, !tbaa !5
  %1433 = getelementptr inbounds i32, ptr %1432, i64 1
  %1434 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %1420, ptr noundef %1421, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %1422, ptr noundef %1423, ptr noundef %78, ptr noundef %1425, ptr noundef %1427, ptr noundef %87, ptr noundef %1429, ptr noundef %1431, ptr noundef %91, ptr noundef %1433, ptr noundef %1434)
  %1435 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1436 = load float, ptr %1435, align 4, !tbaa !11
  %1437 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %1436, ptr %1437, align 4, !tbaa !11
  %1438 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1439 = load float, ptr %1438, align 4, !tbaa !14
  %1440 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %1439, ptr %1440, align 4, !tbaa !14
  %1441 = load i32, ptr %67, align 4, !tbaa !9
  %1442 = load i32, ptr %68, align 4, !tbaa !9
  %1443 = load i32, ptr %57, align 4, !tbaa !9
  %1444 = mul nsw i32 %1442, %1443
  %1445 = add nsw i32 %1441, %1444
  store i32 %1445, ptr %61, align 4, !tbaa !9
  %1446 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %1447 = load float, ptr %1446, align 4, !tbaa !11
  %1448 = load ptr, ptr %53, align 8, !tbaa !5
  %1449 = load i32, ptr %61, align 4, !tbaa !9
  %1450 = sext i32 %1449 to i64
  %1451 = getelementptr inbounds %struct.complex, ptr %1448, i64 %1450
  %1452 = getelementptr inbounds %struct.complex, ptr %1451, i32 0, i32 0
  store float %1447, ptr %1452, align 4, !tbaa !11
  %1453 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %1454 = load float, ptr %1453, align 4, !tbaa !14
  %1455 = load ptr, ptr %53, align 8, !tbaa !5
  %1456 = load i32, ptr %61, align 4, !tbaa !9
  %1457 = sext i32 %1456 to i64
  %1458 = getelementptr inbounds %struct.complex, ptr %1455, i64 %1457
  %1459 = getelementptr inbounds %struct.complex, ptr %1458, i32 0, i32 1
  store float %1454, ptr %1459, align 4, !tbaa !14
  br label %1460

1460:                                             ; preds = %1419
  %1461 = load i32, ptr %71, align 4, !tbaa !9
  %1462 = add nsw i32 %1461, 1
  store i32 %1462, ptr %71, align 4, !tbaa !9
  br label %1415, !llvm.loop !28

1463:                                             ; preds = %1415
  br label %1464

1464:                                             ; preds = %1463
  %1465 = load i32, ptr %72, align 4, !tbaa !9
  %1466 = add nsw i32 %1465, 1
  store i32 %1466, ptr %72, align 4, !tbaa !9
  br label %1408, !llvm.loop !29

1467:                                             ; preds = %1408
  br label %1553

1468:                                             ; preds = %1402
  %1469 = load i32, ptr %70, align 4, !tbaa !9
  %1470 = icmp eq i32 %1469, 2
  br i1 %1470, label %1471, label %1552

1471:                                             ; preds = %1468
  %1472 = load ptr, ptr %30, align 8, !tbaa !5
  %1473 = load i32, ptr %1472, align 4, !tbaa !9
  store i32 %1473, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %1474

1474:                                             ; preds = %1548, %1471
  %1475 = load i32, ptr %72, align 4, !tbaa !9
  %1476 = load i32, ptr %59, align 4, !tbaa !9
  %1477 = icmp sle i32 %1475, %1476
  br i1 %1477, label %1478, label %1551

1478:                                             ; preds = %1474
  %1479 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1479, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1480

1480:                                             ; preds = %1544, %1478
  %1481 = load i32, ptr %71, align 4, !tbaa !9
  %1482 = load i32, ptr %60, align 4, !tbaa !9
  %1483 = icmp sle i32 %1481, %1482
  br i1 %1483, label %1484, label %1547

1484:                                             ; preds = %1480
  %1485 = load ptr, ptr %29, align 8, !tbaa !5
  %1486 = load ptr, ptr %30, align 8, !tbaa !5
  %1487 = load ptr, ptr %48, align 8, !tbaa !5
  %1488 = load ptr, ptr %49, align 8, !tbaa !5
  %1489 = load ptr, ptr %32, align 8, !tbaa !5
  %1490 = getelementptr inbounds i32, ptr %1489, i64 1
  %1491 = load ptr, ptr %34, align 8, !tbaa !5
  %1492 = getelementptr inbounds %struct.complex, ptr %1491, i64 1
  %1493 = load ptr, ptr %40, align 8, !tbaa !5
  %1494 = getelementptr inbounds %struct.complex, ptr %1493, i64 1
  %1495 = load ptr, ptr %43, align 8, !tbaa !5
  %1496 = getelementptr inbounds %struct.complex, ptr %1495, i64 1
  %1497 = load ptr, ptr %55, align 8, !tbaa !5
  %1498 = getelementptr inbounds i32, ptr %1497, i64 1
  %1499 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %1485, ptr noundef %1486, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %1487, ptr noundef %1488, ptr noundef %78, ptr noundef %1490, ptr noundef %1492, ptr noundef %87, ptr noundef %1494, ptr noundef %1496, ptr noundef %91, ptr noundef %1498, ptr noundef %1499)
  %1500 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1501 = load float, ptr %1500, align 4, !tbaa !11
  %1502 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %1501, ptr %1502, align 4, !tbaa !11
  %1503 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1504 = load float, ptr %1503, align 4, !tbaa !14
  %1505 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %1504, ptr %1505, align 4, !tbaa !14
  %1506 = load i32, ptr %67, align 4, !tbaa !9
  %1507 = load i32, ptr %68, align 4, !tbaa !9
  %1508 = load i32, ptr %57, align 4, !tbaa !9
  %1509 = mul nsw i32 %1507, %1508
  %1510 = add nsw i32 %1506, %1509
  store i32 %1510, ptr %61, align 4, !tbaa !9
  %1511 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %1512 = load float, ptr %1511, align 4, !tbaa !11
  %1513 = load ptr, ptr %53, align 8, !tbaa !5
  %1514 = load i32, ptr %61, align 4, !tbaa !9
  %1515 = sext i32 %1514 to i64
  %1516 = getelementptr inbounds %struct.complex, ptr %1513, i64 %1515
  %1517 = getelementptr inbounds %struct.complex, ptr %1516, i32 0, i32 0
  store float %1512, ptr %1517, align 4, !tbaa !11
  %1518 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %1519 = load float, ptr %1518, align 4, !tbaa !14
  %1520 = load ptr, ptr %53, align 8, !tbaa !5
  %1521 = load i32, ptr %61, align 4, !tbaa !9
  %1522 = sext i32 %1521 to i64
  %1523 = getelementptr inbounds %struct.complex, ptr %1520, i64 %1522
  %1524 = getelementptr inbounds %struct.complex, ptr %1523, i32 0, i32 1
  store float %1519, ptr %1524, align 4, !tbaa !14
  %1525 = load i32, ptr %68, align 4, !tbaa !9
  %1526 = load i32, ptr %67, align 4, !tbaa !9
  %1527 = load i32, ptr %57, align 4, !tbaa !9
  %1528 = mul nsw i32 %1526, %1527
  %1529 = add nsw i32 %1525, %1528
  store i32 %1529, ptr %61, align 4, !tbaa !9
  %1530 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %1531 = load float, ptr %1530, align 4, !tbaa !11
  %1532 = load ptr, ptr %53, align 8, !tbaa !5
  %1533 = load i32, ptr %61, align 4, !tbaa !9
  %1534 = sext i32 %1533 to i64
  %1535 = getelementptr inbounds %struct.complex, ptr %1532, i64 %1534
  %1536 = getelementptr inbounds %struct.complex, ptr %1535, i32 0, i32 0
  store float %1531, ptr %1536, align 4, !tbaa !11
  %1537 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %1538 = load float, ptr %1537, align 4, !tbaa !14
  %1539 = load ptr, ptr %53, align 8, !tbaa !5
  %1540 = load i32, ptr %61, align 4, !tbaa !9
  %1541 = sext i32 %1540 to i64
  %1542 = getelementptr inbounds %struct.complex, ptr %1539, i64 %1541
  %1543 = getelementptr inbounds %struct.complex, ptr %1542, i32 0, i32 1
  store float %1538, ptr %1543, align 4, !tbaa !14
  br label %1544

1544:                                             ; preds = %1484
  %1545 = load i32, ptr %71, align 4, !tbaa !9
  %1546 = add nsw i32 %1545, 1
  store i32 %1546, ptr %71, align 4, !tbaa !9
  br label %1480, !llvm.loop !30

1547:                                             ; preds = %1480
  br label %1548

1548:                                             ; preds = %1547
  %1549 = load i32, ptr %72, align 4, !tbaa !9
  %1550 = add nsw i32 %1549, 1
  store i32 %1550, ptr %72, align 4, !tbaa !9
  br label %1474, !llvm.loop !31

1551:                                             ; preds = %1474
  br label %1552

1552:                                             ; preds = %1551, %1468
  br label %1553

1553:                                             ; preds = %1552, %1467
  br label %1554

1554:                                             ; preds = %1553, %1401
  br label %2748

1555:                                             ; preds = %1306
  %1556 = load i32, ptr %74, align 4, !tbaa !9
  %1557 = icmp eq i32 %1556, 1
  br i1 %1557, label %1558, label %1695

1558:                                             ; preds = %1555
  %1559 = load ptr, ptr %30, align 8, !tbaa !5
  %1560 = load i32, ptr %1559, align 4, !tbaa !9
  store i32 %1560, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %1561

1561:                                             ; preds = %1691, %1558
  %1562 = load i32, ptr %72, align 4, !tbaa !9
  %1563 = load i32, ptr %59, align 4, !tbaa !9
  %1564 = icmp sle i32 %1562, %1563
  br i1 %1564, label %1565, label %1694

1565:                                             ; preds = %1561
  %1566 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1566, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1567

1567:                                             ; preds = %1687, %1565
  %1568 = load i32, ptr %71, align 4, !tbaa !9
  %1569 = load i32, ptr %60, align 4, !tbaa !9
  %1570 = icmp sle i32 %1568, %1569
  br i1 %1570, label %1571, label %1690

1571:                                             ; preds = %1567
  %1572 = load ptr, ptr %29, align 8, !tbaa !5
  %1573 = load ptr, ptr %30, align 8, !tbaa !5
  %1574 = load ptr, ptr %48, align 8, !tbaa !5
  %1575 = load ptr, ptr %49, align 8, !tbaa !5
  %1576 = load ptr, ptr %32, align 8, !tbaa !5
  %1577 = getelementptr inbounds i32, ptr %1576, i64 1
  %1578 = load ptr, ptr %34, align 8, !tbaa !5
  %1579 = getelementptr inbounds %struct.complex, ptr %1578, i64 1
  %1580 = load ptr, ptr %40, align 8, !tbaa !5
  %1581 = getelementptr inbounds %struct.complex, ptr %1580, i64 1
  %1582 = load ptr, ptr %43, align 8, !tbaa !5
  %1583 = getelementptr inbounds %struct.complex, ptr %1582, i64 1
  %1584 = load ptr, ptr %55, align 8, !tbaa !5
  %1585 = getelementptr inbounds i32, ptr %1584, i64 1
  %1586 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %1572, ptr noundef %1573, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %1574, ptr noundef %1575, ptr noundef %78, ptr noundef %1577, ptr noundef %1579, ptr noundef %87, ptr noundef %1581, ptr noundef %1583, ptr noundef %91, ptr noundef %1585, ptr noundef %1586)
  %1587 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1588 = load float, ptr %1587, align 4, !tbaa !11
  %1589 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %1588, ptr %1589, align 4, !tbaa !11
  %1590 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1591 = load float, ptr %1590, align 4, !tbaa !14
  %1592 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %1591, ptr %1592, align 4, !tbaa !14
  %1593 = load i32, ptr %67, align 4, !tbaa !9
  %1594 = load i32, ptr %68, align 4, !tbaa !9
  %1595 = icmp sle i32 %1593, %1594
  br i1 %1595, label %1596, label %1598

1596:                                             ; preds = %1571
  %1597 = load i32, ptr %67, align 4, !tbaa !9
  br label %1600

1598:                                             ; preds = %1571
  %1599 = load i32, ptr %68, align 4, !tbaa !9
  br label %1600

1600:                                             ; preds = %1598, %1596
  %1601 = phi i32 [ %1597, %1596 ], [ %1599, %1598 ]
  store i32 %1601, ptr %82, align 4, !tbaa !9
  %1602 = load i32, ptr %67, align 4, !tbaa !9
  %1603 = load i32, ptr %68, align 4, !tbaa !9
  %1604 = icmp sge i32 %1602, %1603
  br i1 %1604, label %1605, label %1607

1605:                                             ; preds = %1600
  %1606 = load i32, ptr %67, align 4, !tbaa !9
  br label %1609

1607:                                             ; preds = %1600
  %1608 = load i32, ptr %68, align 4, !tbaa !9
  br label %1609

1609:                                             ; preds = %1607, %1605
  %1610 = phi i32 [ %1606, %1605 ], [ %1608, %1607 ]
  store i32 %1610, ptr %84, align 4, !tbaa !9
  %1611 = load i32, ptr %84, align 4, !tbaa !9
  %1612 = load i32, ptr %67, align 4, !tbaa !9
  %1613 = icmp eq i32 %1611, %1612
  br i1 %1613, label %1614, label %1646

1614:                                             ; preds = %1609
  %1615 = load i32, ptr %70, align 4, !tbaa !9
  %1616 = icmp eq i32 %1615, 0
  br i1 %1616, label %1617, label %1646

1617:                                             ; preds = %1614
  %1618 = load i32, ptr %82, align 4, !tbaa !9
  %1619 = load i32, ptr %84, align 4, !tbaa !9
  %1620 = load i32, ptr %57, align 4, !tbaa !9
  %1621 = mul nsw i32 %1619, %1620
  %1622 = add nsw i32 %1618, %1621
  store i32 %1622, ptr %61, align 4, !tbaa !9
  %1623 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %1623, ptr %100, align 4
  %1624 = getelementptr inbounds { float, float }, ptr %100, i32 0, i32 0
  %1625 = load float, ptr %1624, align 4
  %1626 = getelementptr inbounds { float, float }, ptr %100, i32 0, i32 1
  %1627 = load float, ptr %1626, align 4
  %1628 = fneg float %1627
  %1629 = call ptr @_pCf(ptr noundef %65)
  %1630 = getelementptr inbounds { float, float }, ptr %1629, i32 0, i32 0
  %1631 = getelementptr inbounds { float, float }, ptr %1629, i32 0, i32 1
  store float %1625, ptr %1630, align 4
  store float %1628, ptr %1631, align 4
  %1632 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1633 = load float, ptr %1632, align 4, !tbaa !11
  %1634 = load ptr, ptr %53, align 8, !tbaa !5
  %1635 = load i32, ptr %61, align 4, !tbaa !9
  %1636 = sext i32 %1635 to i64
  %1637 = getelementptr inbounds %struct.complex, ptr %1634, i64 %1636
  %1638 = getelementptr inbounds %struct.complex, ptr %1637, i32 0, i32 0
  store float %1633, ptr %1638, align 4, !tbaa !11
  %1639 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1640 = load float, ptr %1639, align 4, !tbaa !14
  %1641 = load ptr, ptr %53, align 8, !tbaa !5
  %1642 = load i32, ptr %61, align 4, !tbaa !9
  %1643 = sext i32 %1642 to i64
  %1644 = getelementptr inbounds %struct.complex, ptr %1641, i64 %1643
  %1645 = getelementptr inbounds %struct.complex, ptr %1644, i32 0, i32 1
  store float %1640, ptr %1645, align 4, !tbaa !14
  br label %1666

1646:                                             ; preds = %1614, %1609
  %1647 = load i32, ptr %82, align 4, !tbaa !9
  %1648 = load i32, ptr %84, align 4, !tbaa !9
  %1649 = load i32, ptr %57, align 4, !tbaa !9
  %1650 = mul nsw i32 %1648, %1649
  %1651 = add nsw i32 %1647, %1650
  store i32 %1651, ptr %61, align 4, !tbaa !9
  %1652 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %1653 = load float, ptr %1652, align 4, !tbaa !11
  %1654 = load ptr, ptr %53, align 8, !tbaa !5
  %1655 = load i32, ptr %61, align 4, !tbaa !9
  %1656 = sext i32 %1655 to i64
  %1657 = getelementptr inbounds %struct.complex, ptr %1654, i64 %1656
  %1658 = getelementptr inbounds %struct.complex, ptr %1657, i32 0, i32 0
  store float %1653, ptr %1658, align 4, !tbaa !11
  %1659 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %1660 = load float, ptr %1659, align 4, !tbaa !14
  %1661 = load ptr, ptr %53, align 8, !tbaa !5
  %1662 = load i32, ptr %61, align 4, !tbaa !9
  %1663 = sext i32 %1662 to i64
  %1664 = getelementptr inbounds %struct.complex, ptr %1661, i64 %1663
  %1665 = getelementptr inbounds %struct.complex, ptr %1664, i32 0, i32 1
  store float %1660, ptr %1665, align 4, !tbaa !14
  br label %1666

1666:                                             ; preds = %1646, %1617
  %1667 = load i32, ptr %82, align 4, !tbaa !9
  %1668 = load i32, ptr %84, align 4, !tbaa !9
  %1669 = icmp ne i32 %1667, %1668
  br i1 %1669, label %1670, label %1686

1670:                                             ; preds = %1666
  %1671 = load i32, ptr %84, align 4, !tbaa !9
  %1672 = load i32, ptr %82, align 4, !tbaa !9
  %1673 = load i32, ptr %57, align 4, !tbaa !9
  %1674 = mul nsw i32 %1672, %1673
  %1675 = add nsw i32 %1671, %1674
  store i32 %1675, ptr %61, align 4, !tbaa !9
  %1676 = load ptr, ptr %53, align 8, !tbaa !5
  %1677 = load i32, ptr %61, align 4, !tbaa !9
  %1678 = sext i32 %1677 to i64
  %1679 = getelementptr inbounds %struct.complex, ptr %1676, i64 %1678
  %1680 = getelementptr inbounds %struct.complex, ptr %1679, i32 0, i32 0
  store float 0.000000e+00, ptr %1680, align 4, !tbaa !11
  %1681 = load ptr, ptr %53, align 8, !tbaa !5
  %1682 = load i32, ptr %61, align 4, !tbaa !9
  %1683 = sext i32 %1682 to i64
  %1684 = getelementptr inbounds %struct.complex, ptr %1681, i64 %1683
  %1685 = getelementptr inbounds %struct.complex, ptr %1684, i32 0, i32 1
  store float 0.000000e+00, ptr %1685, align 4, !tbaa !14
  br label %1686

1686:                                             ; preds = %1670, %1666
  br label %1687

1687:                                             ; preds = %1686
  %1688 = load i32, ptr %71, align 4, !tbaa !9
  %1689 = add nsw i32 %1688, 1
  store i32 %1689, ptr %71, align 4, !tbaa !9
  br label %1567, !llvm.loop !32

1690:                                             ; preds = %1567
  br label %1691

1691:                                             ; preds = %1690
  %1692 = load i32, ptr %72, align 4, !tbaa !9
  %1693 = add nsw i32 %1692, 1
  store i32 %1693, ptr %72, align 4, !tbaa !9
  br label %1561, !llvm.loop !33

1694:                                             ; preds = %1561
  br label %2747

1695:                                             ; preds = %1555
  %1696 = load i32, ptr %74, align 4, !tbaa !9
  %1697 = icmp eq i32 %1696, 2
  br i1 %1697, label %1698, label %1835

1698:                                             ; preds = %1695
  %1699 = load ptr, ptr %30, align 8, !tbaa !5
  %1700 = load i32, ptr %1699, align 4, !tbaa !9
  store i32 %1700, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %1701

1701:                                             ; preds = %1831, %1698
  %1702 = load i32, ptr %72, align 4, !tbaa !9
  %1703 = load i32, ptr %59, align 4, !tbaa !9
  %1704 = icmp sle i32 %1702, %1703
  br i1 %1704, label %1705, label %1834

1705:                                             ; preds = %1701
  %1706 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1706, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1707

1707:                                             ; preds = %1827, %1705
  %1708 = load i32, ptr %71, align 4, !tbaa !9
  %1709 = load i32, ptr %60, align 4, !tbaa !9
  %1710 = icmp sle i32 %1708, %1709
  br i1 %1710, label %1711, label %1830

1711:                                             ; preds = %1707
  %1712 = load ptr, ptr %29, align 8, !tbaa !5
  %1713 = load ptr, ptr %30, align 8, !tbaa !5
  %1714 = load ptr, ptr %48, align 8, !tbaa !5
  %1715 = load ptr, ptr %49, align 8, !tbaa !5
  %1716 = load ptr, ptr %32, align 8, !tbaa !5
  %1717 = getelementptr inbounds i32, ptr %1716, i64 1
  %1718 = load ptr, ptr %34, align 8, !tbaa !5
  %1719 = getelementptr inbounds %struct.complex, ptr %1718, i64 1
  %1720 = load ptr, ptr %40, align 8, !tbaa !5
  %1721 = getelementptr inbounds %struct.complex, ptr %1720, i64 1
  %1722 = load ptr, ptr %43, align 8, !tbaa !5
  %1723 = getelementptr inbounds %struct.complex, ptr %1722, i64 1
  %1724 = load ptr, ptr %55, align 8, !tbaa !5
  %1725 = getelementptr inbounds i32, ptr %1724, i64 1
  %1726 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %1712, ptr noundef %1713, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %1714, ptr noundef %1715, ptr noundef %78, ptr noundef %1717, ptr noundef %1719, ptr noundef %87, ptr noundef %1721, ptr noundef %1723, ptr noundef %91, ptr noundef %1725, ptr noundef %1726)
  %1727 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1728 = load float, ptr %1727, align 4, !tbaa !11
  %1729 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %1728, ptr %1729, align 4, !tbaa !11
  %1730 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1731 = load float, ptr %1730, align 4, !tbaa !14
  %1732 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %1731, ptr %1732, align 4, !tbaa !14
  %1733 = load i32, ptr %67, align 4, !tbaa !9
  %1734 = load i32, ptr %68, align 4, !tbaa !9
  %1735 = icmp sle i32 %1733, %1734
  br i1 %1735, label %1736, label %1738

1736:                                             ; preds = %1711
  %1737 = load i32, ptr %67, align 4, !tbaa !9
  br label %1740

1738:                                             ; preds = %1711
  %1739 = load i32, ptr %68, align 4, !tbaa !9
  br label %1740

1740:                                             ; preds = %1738, %1736
  %1741 = phi i32 [ %1737, %1736 ], [ %1739, %1738 ]
  store i32 %1741, ptr %82, align 4, !tbaa !9
  %1742 = load i32, ptr %67, align 4, !tbaa !9
  %1743 = load i32, ptr %68, align 4, !tbaa !9
  %1744 = icmp sge i32 %1742, %1743
  br i1 %1744, label %1745, label %1747

1745:                                             ; preds = %1740
  %1746 = load i32, ptr %67, align 4, !tbaa !9
  br label %1749

1747:                                             ; preds = %1740
  %1748 = load i32, ptr %68, align 4, !tbaa !9
  br label %1749

1749:                                             ; preds = %1747, %1745
  %1750 = phi i32 [ %1746, %1745 ], [ %1748, %1747 ]
  store i32 %1750, ptr %84, align 4, !tbaa !9
  %1751 = load i32, ptr %84, align 4, !tbaa !9
  %1752 = load i32, ptr %68, align 4, !tbaa !9
  %1753 = icmp eq i32 %1751, %1752
  br i1 %1753, label %1754, label %1786

1754:                                             ; preds = %1749
  %1755 = load i32, ptr %70, align 4, !tbaa !9
  %1756 = icmp eq i32 %1755, 0
  br i1 %1756, label %1757, label %1786

1757:                                             ; preds = %1754
  %1758 = load i32, ptr %84, align 4, !tbaa !9
  %1759 = load i32, ptr %82, align 4, !tbaa !9
  %1760 = load i32, ptr %57, align 4, !tbaa !9
  %1761 = mul nsw i32 %1759, %1760
  %1762 = add nsw i32 %1758, %1761
  store i32 %1762, ptr %61, align 4, !tbaa !9
  %1763 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %1763, ptr %101, align 4
  %1764 = getelementptr inbounds { float, float }, ptr %101, i32 0, i32 0
  %1765 = load float, ptr %1764, align 4
  %1766 = getelementptr inbounds { float, float }, ptr %101, i32 0, i32 1
  %1767 = load float, ptr %1766, align 4
  %1768 = fneg float %1767
  %1769 = call ptr @_pCf(ptr noundef %65)
  %1770 = getelementptr inbounds { float, float }, ptr %1769, i32 0, i32 0
  %1771 = getelementptr inbounds { float, float }, ptr %1769, i32 0, i32 1
  store float %1765, ptr %1770, align 4
  store float %1768, ptr %1771, align 4
  %1772 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1773 = load float, ptr %1772, align 4, !tbaa !11
  %1774 = load ptr, ptr %53, align 8, !tbaa !5
  %1775 = load i32, ptr %61, align 4, !tbaa !9
  %1776 = sext i32 %1775 to i64
  %1777 = getelementptr inbounds %struct.complex, ptr %1774, i64 %1776
  %1778 = getelementptr inbounds %struct.complex, ptr %1777, i32 0, i32 0
  store float %1773, ptr %1778, align 4, !tbaa !11
  %1779 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1780 = load float, ptr %1779, align 4, !tbaa !14
  %1781 = load ptr, ptr %53, align 8, !tbaa !5
  %1782 = load i32, ptr %61, align 4, !tbaa !9
  %1783 = sext i32 %1782 to i64
  %1784 = getelementptr inbounds %struct.complex, ptr %1781, i64 %1783
  %1785 = getelementptr inbounds %struct.complex, ptr %1784, i32 0, i32 1
  store float %1780, ptr %1785, align 4, !tbaa !14
  br label %1806

1786:                                             ; preds = %1754, %1749
  %1787 = load i32, ptr %84, align 4, !tbaa !9
  %1788 = load i32, ptr %82, align 4, !tbaa !9
  %1789 = load i32, ptr %57, align 4, !tbaa !9
  %1790 = mul nsw i32 %1788, %1789
  %1791 = add nsw i32 %1787, %1790
  store i32 %1791, ptr %61, align 4, !tbaa !9
  %1792 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %1793 = load float, ptr %1792, align 4, !tbaa !11
  %1794 = load ptr, ptr %53, align 8, !tbaa !5
  %1795 = load i32, ptr %61, align 4, !tbaa !9
  %1796 = sext i32 %1795 to i64
  %1797 = getelementptr inbounds %struct.complex, ptr %1794, i64 %1796
  %1798 = getelementptr inbounds %struct.complex, ptr %1797, i32 0, i32 0
  store float %1793, ptr %1798, align 4, !tbaa !11
  %1799 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %1800 = load float, ptr %1799, align 4, !tbaa !14
  %1801 = load ptr, ptr %53, align 8, !tbaa !5
  %1802 = load i32, ptr %61, align 4, !tbaa !9
  %1803 = sext i32 %1802 to i64
  %1804 = getelementptr inbounds %struct.complex, ptr %1801, i64 %1803
  %1805 = getelementptr inbounds %struct.complex, ptr %1804, i32 0, i32 1
  store float %1800, ptr %1805, align 4, !tbaa !14
  br label %1806

1806:                                             ; preds = %1786, %1757
  %1807 = load i32, ptr %82, align 4, !tbaa !9
  %1808 = load i32, ptr %84, align 4, !tbaa !9
  %1809 = icmp ne i32 %1807, %1808
  br i1 %1809, label %1810, label %1826

1810:                                             ; preds = %1806
  %1811 = load i32, ptr %82, align 4, !tbaa !9
  %1812 = load i32, ptr %84, align 4, !tbaa !9
  %1813 = load i32, ptr %57, align 4, !tbaa !9
  %1814 = mul nsw i32 %1812, %1813
  %1815 = add nsw i32 %1811, %1814
  store i32 %1815, ptr %61, align 4, !tbaa !9
  %1816 = load ptr, ptr %53, align 8, !tbaa !5
  %1817 = load i32, ptr %61, align 4, !tbaa !9
  %1818 = sext i32 %1817 to i64
  %1819 = getelementptr inbounds %struct.complex, ptr %1816, i64 %1818
  %1820 = getelementptr inbounds %struct.complex, ptr %1819, i32 0, i32 0
  store float 0.000000e+00, ptr %1820, align 4, !tbaa !11
  %1821 = load ptr, ptr %53, align 8, !tbaa !5
  %1822 = load i32, ptr %61, align 4, !tbaa !9
  %1823 = sext i32 %1822 to i64
  %1824 = getelementptr inbounds %struct.complex, ptr %1821, i64 %1823
  %1825 = getelementptr inbounds %struct.complex, ptr %1824, i32 0, i32 1
  store float 0.000000e+00, ptr %1825, align 4, !tbaa !14
  br label %1826

1826:                                             ; preds = %1810, %1806
  br label %1827

1827:                                             ; preds = %1826
  %1828 = load i32, ptr %71, align 4, !tbaa !9
  %1829 = add nsw i32 %1828, 1
  store i32 %1829, ptr %71, align 4, !tbaa !9
  br label %1707, !llvm.loop !34

1830:                                             ; preds = %1707
  br label %1831

1831:                                             ; preds = %1830
  %1832 = load i32, ptr %72, align 4, !tbaa !9
  %1833 = add nsw i32 %1832, 1
  store i32 %1833, ptr %72, align 4, !tbaa !9
  br label %1701, !llvm.loop !35

1834:                                             ; preds = %1701
  br label %2746

1835:                                             ; preds = %1695
  %1836 = load i32, ptr %74, align 4, !tbaa !9
  %1837 = icmp eq i32 %1836, 3
  br i1 %1837, label %1838, label %1975

1838:                                             ; preds = %1835
  %1839 = load ptr, ptr %30, align 8, !tbaa !5
  %1840 = load i32, ptr %1839, align 4, !tbaa !9
  store i32 %1840, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %1841

1841:                                             ; preds = %1971, %1838
  %1842 = load i32, ptr %72, align 4, !tbaa !9
  %1843 = load i32, ptr %59, align 4, !tbaa !9
  %1844 = icmp sle i32 %1842, %1843
  br i1 %1844, label %1845, label %1974

1845:                                             ; preds = %1841
  %1846 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1846, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1847

1847:                                             ; preds = %1967, %1845
  %1848 = load i32, ptr %71, align 4, !tbaa !9
  %1849 = load i32, ptr %60, align 4, !tbaa !9
  %1850 = icmp sle i32 %1848, %1849
  br i1 %1850, label %1851, label %1970

1851:                                             ; preds = %1847
  %1852 = load ptr, ptr %29, align 8, !tbaa !5
  %1853 = load ptr, ptr %30, align 8, !tbaa !5
  %1854 = load ptr, ptr %48, align 8, !tbaa !5
  %1855 = load ptr, ptr %49, align 8, !tbaa !5
  %1856 = load ptr, ptr %32, align 8, !tbaa !5
  %1857 = getelementptr inbounds i32, ptr %1856, i64 1
  %1858 = load ptr, ptr %34, align 8, !tbaa !5
  %1859 = getelementptr inbounds %struct.complex, ptr %1858, i64 1
  %1860 = load ptr, ptr %40, align 8, !tbaa !5
  %1861 = getelementptr inbounds %struct.complex, ptr %1860, i64 1
  %1862 = load ptr, ptr %43, align 8, !tbaa !5
  %1863 = getelementptr inbounds %struct.complex, ptr %1862, i64 1
  %1864 = load ptr, ptr %55, align 8, !tbaa !5
  %1865 = getelementptr inbounds i32, ptr %1864, i64 1
  %1866 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %1852, ptr noundef %1853, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %1854, ptr noundef %1855, ptr noundef %78, ptr noundef %1857, ptr noundef %1859, ptr noundef %87, ptr noundef %1861, ptr noundef %1863, ptr noundef %91, ptr noundef %1865, ptr noundef %1866)
  %1867 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1868 = load float, ptr %1867, align 4, !tbaa !11
  %1869 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %1868, ptr %1869, align 4, !tbaa !11
  %1870 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1871 = load float, ptr %1870, align 4, !tbaa !14
  %1872 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %1871, ptr %1872, align 4, !tbaa !14
  %1873 = load i32, ptr %67, align 4, !tbaa !9
  %1874 = load i32, ptr %68, align 4, !tbaa !9
  %1875 = icmp sle i32 %1873, %1874
  br i1 %1875, label %1876, label %1878

1876:                                             ; preds = %1851
  %1877 = load i32, ptr %67, align 4, !tbaa !9
  br label %1880

1878:                                             ; preds = %1851
  %1879 = load i32, ptr %68, align 4, !tbaa !9
  br label %1880

1880:                                             ; preds = %1878, %1876
  %1881 = phi i32 [ %1877, %1876 ], [ %1879, %1878 ]
  store i32 %1881, ptr %82, align 4, !tbaa !9
  %1882 = load i32, ptr %67, align 4, !tbaa !9
  %1883 = load i32, ptr %68, align 4, !tbaa !9
  %1884 = icmp sge i32 %1882, %1883
  br i1 %1884, label %1885, label %1887

1885:                                             ; preds = %1880
  %1886 = load i32, ptr %67, align 4, !tbaa !9
  br label %1889

1887:                                             ; preds = %1880
  %1888 = load i32, ptr %68, align 4, !tbaa !9
  br label %1889

1889:                                             ; preds = %1887, %1885
  %1890 = phi i32 [ %1886, %1885 ], [ %1888, %1887 ]
  store i32 %1890, ptr %84, align 4, !tbaa !9
  %1891 = load i32, ptr %84, align 4, !tbaa !9
  %1892 = load i32, ptr %84, align 4, !tbaa !9
  %1893 = sub nsw i32 %1892, 1
  %1894 = mul nsw i32 %1891, %1893
  %1895 = sdiv i32 %1894, 2
  %1896 = load i32, ptr %82, align 4, !tbaa !9
  %1897 = add nsw i32 %1895, %1896
  store i32 %1897, ptr %73, align 4, !tbaa !9
  %1898 = load i32, ptr %73, align 4, !tbaa !9
  %1899 = sub nsw i32 %1898, 1
  %1900 = load ptr, ptr %54, align 8, !tbaa !5
  %1901 = load i32, ptr %1900, align 4, !tbaa !9
  %1902 = sdiv i32 %1899, %1901
  %1903 = add nsw i32 %1902, 1
  store i32 %1903, ptr %79, align 4, !tbaa !9
  %1904 = load i32, ptr %73, align 4, !tbaa !9
  %1905 = load ptr, ptr %54, align 8, !tbaa !5
  %1906 = load i32, ptr %1905, align 4, !tbaa !9
  %1907 = load i32, ptr %79, align 4, !tbaa !9
  %1908 = sub nsw i32 %1907, 1
  %1909 = mul nsw i32 %1906, %1908
  %1910 = sub nsw i32 %1904, %1909
  store i32 %1910, ptr %77, align 4, !tbaa !9
  %1911 = load i32, ptr %84, align 4, !tbaa !9
  %1912 = load i32, ptr %67, align 4, !tbaa !9
  %1913 = icmp eq i32 %1911, %1912
  br i1 %1913, label %1914, label %1946

1914:                                             ; preds = %1889
  %1915 = load i32, ptr %70, align 4, !tbaa !9
  %1916 = icmp eq i32 %1915, 0
  br i1 %1916, label %1917, label %1946

1917:                                             ; preds = %1914
  %1918 = load i32, ptr %77, align 4, !tbaa !9
  %1919 = load i32, ptr %79, align 4, !tbaa !9
  %1920 = load i32, ptr %57, align 4, !tbaa !9
  %1921 = mul nsw i32 %1919, %1920
  %1922 = add nsw i32 %1918, %1921
  store i32 %1922, ptr %61, align 4, !tbaa !9
  %1923 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %1923, ptr %102, align 4
  %1924 = getelementptr inbounds { float, float }, ptr %102, i32 0, i32 0
  %1925 = load float, ptr %1924, align 4
  %1926 = getelementptr inbounds { float, float }, ptr %102, i32 0, i32 1
  %1927 = load float, ptr %1926, align 4
  %1928 = fneg float %1927
  %1929 = call ptr @_pCf(ptr noundef %65)
  %1930 = getelementptr inbounds { float, float }, ptr %1929, i32 0, i32 0
  %1931 = getelementptr inbounds { float, float }, ptr %1929, i32 0, i32 1
  store float %1925, ptr %1930, align 4
  store float %1928, ptr %1931, align 4
  %1932 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %1933 = load float, ptr %1932, align 4, !tbaa !11
  %1934 = load ptr, ptr %53, align 8, !tbaa !5
  %1935 = load i32, ptr %61, align 4, !tbaa !9
  %1936 = sext i32 %1935 to i64
  %1937 = getelementptr inbounds %struct.complex, ptr %1934, i64 %1936
  %1938 = getelementptr inbounds %struct.complex, ptr %1937, i32 0, i32 0
  store float %1933, ptr %1938, align 4, !tbaa !11
  %1939 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %1940 = load float, ptr %1939, align 4, !tbaa !14
  %1941 = load ptr, ptr %53, align 8, !tbaa !5
  %1942 = load i32, ptr %61, align 4, !tbaa !9
  %1943 = sext i32 %1942 to i64
  %1944 = getelementptr inbounds %struct.complex, ptr %1941, i64 %1943
  %1945 = getelementptr inbounds %struct.complex, ptr %1944, i32 0, i32 1
  store float %1940, ptr %1945, align 4, !tbaa !14
  br label %1966

1946:                                             ; preds = %1914, %1889
  %1947 = load i32, ptr %77, align 4, !tbaa !9
  %1948 = load i32, ptr %79, align 4, !tbaa !9
  %1949 = load i32, ptr %57, align 4, !tbaa !9
  %1950 = mul nsw i32 %1948, %1949
  %1951 = add nsw i32 %1947, %1950
  store i32 %1951, ptr %61, align 4, !tbaa !9
  %1952 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %1953 = load float, ptr %1952, align 4, !tbaa !11
  %1954 = load ptr, ptr %53, align 8, !tbaa !5
  %1955 = load i32, ptr %61, align 4, !tbaa !9
  %1956 = sext i32 %1955 to i64
  %1957 = getelementptr inbounds %struct.complex, ptr %1954, i64 %1956
  %1958 = getelementptr inbounds %struct.complex, ptr %1957, i32 0, i32 0
  store float %1953, ptr %1958, align 4, !tbaa !11
  %1959 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %1960 = load float, ptr %1959, align 4, !tbaa !14
  %1961 = load ptr, ptr %53, align 8, !tbaa !5
  %1962 = load i32, ptr %61, align 4, !tbaa !9
  %1963 = sext i32 %1962 to i64
  %1964 = getelementptr inbounds %struct.complex, ptr %1961, i64 %1963
  %1965 = getelementptr inbounds %struct.complex, ptr %1964, i32 0, i32 1
  store float %1960, ptr %1965, align 4, !tbaa !14
  br label %1966

1966:                                             ; preds = %1946, %1917
  br label %1967

1967:                                             ; preds = %1966
  %1968 = load i32, ptr %71, align 4, !tbaa !9
  %1969 = add nsw i32 %1968, 1
  store i32 %1969, ptr %71, align 4, !tbaa !9
  br label %1847, !llvm.loop !36

1970:                                             ; preds = %1847
  br label %1971

1971:                                             ; preds = %1970
  %1972 = load i32, ptr %72, align 4, !tbaa !9
  %1973 = add nsw i32 %1972, 1
  store i32 %1973, ptr %72, align 4, !tbaa !9
  br label %1841, !llvm.loop !37

1974:                                             ; preds = %1841
  br label %2745

1975:                                             ; preds = %1835
  %1976 = load i32, ptr %74, align 4, !tbaa !9
  %1977 = icmp eq i32 %1976, 4
  br i1 %1977, label %1978, label %2139

1978:                                             ; preds = %1975
  %1979 = load ptr, ptr %30, align 8, !tbaa !5
  %1980 = load i32, ptr %1979, align 4, !tbaa !9
  store i32 %1980, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %1981

1981:                                             ; preds = %2135, %1978
  %1982 = load i32, ptr %72, align 4, !tbaa !9
  %1983 = load i32, ptr %59, align 4, !tbaa !9
  %1984 = icmp sle i32 %1982, %1983
  br i1 %1984, label %1985, label %2138

1985:                                             ; preds = %1981
  %1986 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1986, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %1987

1987:                                             ; preds = %2131, %1985
  %1988 = load i32, ptr %71, align 4, !tbaa !9
  %1989 = load i32, ptr %60, align 4, !tbaa !9
  %1990 = icmp sle i32 %1988, %1989
  br i1 %1990, label %1991, label %2134

1991:                                             ; preds = %1987
  %1992 = load ptr, ptr %29, align 8, !tbaa !5
  %1993 = load ptr, ptr %30, align 8, !tbaa !5
  %1994 = load ptr, ptr %48, align 8, !tbaa !5
  %1995 = load ptr, ptr %49, align 8, !tbaa !5
  %1996 = load ptr, ptr %32, align 8, !tbaa !5
  %1997 = getelementptr inbounds i32, ptr %1996, i64 1
  %1998 = load ptr, ptr %34, align 8, !tbaa !5
  %1999 = getelementptr inbounds %struct.complex, ptr %1998, i64 1
  %2000 = load ptr, ptr %40, align 8, !tbaa !5
  %2001 = getelementptr inbounds %struct.complex, ptr %2000, i64 1
  %2002 = load ptr, ptr %43, align 8, !tbaa !5
  %2003 = getelementptr inbounds %struct.complex, ptr %2002, i64 1
  %2004 = load ptr, ptr %55, align 8, !tbaa !5
  %2005 = getelementptr inbounds i32, ptr %2004, i64 1
  %2006 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %1992, ptr noundef %1993, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %1994, ptr noundef %1995, ptr noundef %78, ptr noundef %1997, ptr noundef %1999, ptr noundef %87, ptr noundef %2001, ptr noundef %2003, ptr noundef %91, ptr noundef %2005, ptr noundef %2006)
  %2007 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2008 = load float, ptr %2007, align 4, !tbaa !11
  %2009 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %2008, ptr %2009, align 4, !tbaa !11
  %2010 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2011 = load float, ptr %2010, align 4, !tbaa !14
  %2012 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %2011, ptr %2012, align 4, !tbaa !14
  %2013 = load i32, ptr %67, align 4, !tbaa !9
  %2014 = load i32, ptr %68, align 4, !tbaa !9
  %2015 = icmp sle i32 %2013, %2014
  br i1 %2015, label %2016, label %2018

2016:                                             ; preds = %1991
  %2017 = load i32, ptr %67, align 4, !tbaa !9
  br label %2020

2018:                                             ; preds = %1991
  %2019 = load i32, ptr %68, align 4, !tbaa !9
  br label %2020

2020:                                             ; preds = %2018, %2016
  %2021 = phi i32 [ %2017, %2016 ], [ %2019, %2018 ]
  store i32 %2021, ptr %82, align 4, !tbaa !9
  %2022 = load i32, ptr %67, align 4, !tbaa !9
  %2023 = load i32, ptr %68, align 4, !tbaa !9
  %2024 = icmp sge i32 %2022, %2023
  br i1 %2024, label %2025, label %2027

2025:                                             ; preds = %2020
  %2026 = load i32, ptr %67, align 4, !tbaa !9
  br label %2029

2027:                                             ; preds = %2020
  %2028 = load i32, ptr %68, align 4, !tbaa !9
  br label %2029

2029:                                             ; preds = %2027, %2025
  %2030 = phi i32 [ %2026, %2025 ], [ %2028, %2027 ]
  store i32 %2030, ptr %84, align 4, !tbaa !9
  %2031 = load i32, ptr %82, align 4, !tbaa !9
  %2032 = icmp eq i32 %2031, 1
  br i1 %2032, label %2033, label %2035

2033:                                             ; preds = %2029
  %2034 = load i32, ptr %84, align 4, !tbaa !9
  store i32 %2034, ptr %73, align 4, !tbaa !9
  br label %2061

2035:                                             ; preds = %2029
  %2036 = load ptr, ptr %30, align 8, !tbaa !5
  %2037 = load i32, ptr %2036, align 4, !tbaa !9
  %2038 = load ptr, ptr %30, align 8, !tbaa !5
  %2039 = load i32, ptr %2038, align 4, !tbaa !9
  %2040 = add nsw i32 %2039, 1
  %2041 = mul nsw i32 %2037, %2040
  %2042 = sdiv i32 %2041, 2
  %2043 = load ptr, ptr %30, align 8, !tbaa !5
  %2044 = load i32, ptr %2043, align 4, !tbaa !9
  %2045 = load i32, ptr %82, align 4, !tbaa !9
  %2046 = sub nsw i32 %2044, %2045
  %2047 = add nsw i32 %2046, 1
  %2048 = load ptr, ptr %30, align 8, !tbaa !5
  %2049 = load i32, ptr %2048, align 4, !tbaa !9
  %2050 = load i32, ptr %82, align 4, !tbaa !9
  %2051 = sub nsw i32 %2049, %2050
  %2052 = add nsw i32 %2051, 2
  %2053 = mul nsw i32 %2047, %2052
  %2054 = sdiv i32 %2053, 2
  %2055 = sub nsw i32 %2042, %2054
  %2056 = load i32, ptr %84, align 4, !tbaa !9
  %2057 = add nsw i32 %2055, %2056
  %2058 = load i32, ptr %82, align 4, !tbaa !9
  %2059 = sub nsw i32 %2057, %2058
  %2060 = add nsw i32 %2059, 1
  store i32 %2060, ptr %73, align 4, !tbaa !9
  br label %2061

2061:                                             ; preds = %2035, %2033
  %2062 = load i32, ptr %73, align 4, !tbaa !9
  %2063 = sub nsw i32 %2062, 1
  %2064 = load ptr, ptr %54, align 8, !tbaa !5
  %2065 = load i32, ptr %2064, align 4, !tbaa !9
  %2066 = sdiv i32 %2063, %2065
  %2067 = add nsw i32 %2066, 1
  store i32 %2067, ptr %79, align 4, !tbaa !9
  %2068 = load i32, ptr %73, align 4, !tbaa !9
  %2069 = load ptr, ptr %54, align 8, !tbaa !5
  %2070 = load i32, ptr %2069, align 4, !tbaa !9
  %2071 = load i32, ptr %79, align 4, !tbaa !9
  %2072 = sub nsw i32 %2071, 1
  %2073 = mul nsw i32 %2070, %2072
  %2074 = sub nsw i32 %2068, %2073
  store i32 %2074, ptr %77, align 4, !tbaa !9
  %2075 = load i32, ptr %84, align 4, !tbaa !9
  %2076 = load i32, ptr %68, align 4, !tbaa !9
  %2077 = icmp eq i32 %2075, %2076
  br i1 %2077, label %2078, label %2110

2078:                                             ; preds = %2061
  %2079 = load i32, ptr %70, align 4, !tbaa !9
  %2080 = icmp eq i32 %2079, 0
  br i1 %2080, label %2081, label %2110

2081:                                             ; preds = %2078
  %2082 = load i32, ptr %77, align 4, !tbaa !9
  %2083 = load i32, ptr %79, align 4, !tbaa !9
  %2084 = load i32, ptr %57, align 4, !tbaa !9
  %2085 = mul nsw i32 %2083, %2084
  %2086 = add nsw i32 %2082, %2085
  store i32 %2086, ptr %61, align 4, !tbaa !9
  %2087 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %2087, ptr %103, align 4
  %2088 = getelementptr inbounds { float, float }, ptr %103, i32 0, i32 0
  %2089 = load float, ptr %2088, align 4
  %2090 = getelementptr inbounds { float, float }, ptr %103, i32 0, i32 1
  %2091 = load float, ptr %2090, align 4
  %2092 = fneg float %2091
  %2093 = call ptr @_pCf(ptr noundef %65)
  %2094 = getelementptr inbounds { float, float }, ptr %2093, i32 0, i32 0
  %2095 = getelementptr inbounds { float, float }, ptr %2093, i32 0, i32 1
  store float %2089, ptr %2094, align 4
  store float %2092, ptr %2095, align 4
  %2096 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2097 = load float, ptr %2096, align 4, !tbaa !11
  %2098 = load ptr, ptr %53, align 8, !tbaa !5
  %2099 = load i32, ptr %61, align 4, !tbaa !9
  %2100 = sext i32 %2099 to i64
  %2101 = getelementptr inbounds %struct.complex, ptr %2098, i64 %2100
  %2102 = getelementptr inbounds %struct.complex, ptr %2101, i32 0, i32 0
  store float %2097, ptr %2102, align 4, !tbaa !11
  %2103 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2104 = load float, ptr %2103, align 4, !tbaa !14
  %2105 = load ptr, ptr %53, align 8, !tbaa !5
  %2106 = load i32, ptr %61, align 4, !tbaa !9
  %2107 = sext i32 %2106 to i64
  %2108 = getelementptr inbounds %struct.complex, ptr %2105, i64 %2107
  %2109 = getelementptr inbounds %struct.complex, ptr %2108, i32 0, i32 1
  store float %2104, ptr %2109, align 4, !tbaa !14
  br label %2130

2110:                                             ; preds = %2078, %2061
  %2111 = load i32, ptr %77, align 4, !tbaa !9
  %2112 = load i32, ptr %79, align 4, !tbaa !9
  %2113 = load i32, ptr %57, align 4, !tbaa !9
  %2114 = mul nsw i32 %2112, %2113
  %2115 = add nsw i32 %2111, %2114
  store i32 %2115, ptr %61, align 4, !tbaa !9
  %2116 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %2117 = load float, ptr %2116, align 4, !tbaa !11
  %2118 = load ptr, ptr %53, align 8, !tbaa !5
  %2119 = load i32, ptr %61, align 4, !tbaa !9
  %2120 = sext i32 %2119 to i64
  %2121 = getelementptr inbounds %struct.complex, ptr %2118, i64 %2120
  %2122 = getelementptr inbounds %struct.complex, ptr %2121, i32 0, i32 0
  store float %2117, ptr %2122, align 4, !tbaa !11
  %2123 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %2124 = load float, ptr %2123, align 4, !tbaa !14
  %2125 = load ptr, ptr %53, align 8, !tbaa !5
  %2126 = load i32, ptr %61, align 4, !tbaa !9
  %2127 = sext i32 %2126 to i64
  %2128 = getelementptr inbounds %struct.complex, ptr %2125, i64 %2127
  %2129 = getelementptr inbounds %struct.complex, ptr %2128, i32 0, i32 1
  store float %2124, ptr %2129, align 4, !tbaa !14
  br label %2130

2130:                                             ; preds = %2110, %2081
  br label %2131

2131:                                             ; preds = %2130
  %2132 = load i32, ptr %71, align 4, !tbaa !9
  %2133 = add nsw i32 %2132, 1
  store i32 %2133, ptr %71, align 4, !tbaa !9
  br label %1987, !llvm.loop !38

2134:                                             ; preds = %1987
  br label %2135

2135:                                             ; preds = %2134
  %2136 = load i32, ptr %72, align 4, !tbaa !9
  %2137 = add nsw i32 %2136, 1
  store i32 %2137, ptr %72, align 4, !tbaa !9
  br label %1981, !llvm.loop !39

2138:                                             ; preds = %1981
  br label %2744

2139:                                             ; preds = %1975
  %2140 = load i32, ptr %74, align 4, !tbaa !9
  %2141 = icmp eq i32 %2140, 5
  br i1 %2141, label %2142, label %2294

2142:                                             ; preds = %2139
  %2143 = load ptr, ptr %30, align 8, !tbaa !5
  %2144 = load i32, ptr %2143, align 4, !tbaa !9
  store i32 %2144, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %2145

2145:                                             ; preds = %2290, %2142
  %2146 = load i32, ptr %72, align 4, !tbaa !9
  %2147 = load i32, ptr %59, align 4, !tbaa !9
  %2148 = icmp sle i32 %2146, %2147
  br i1 %2148, label %2149, label %2293

2149:                                             ; preds = %2145
  %2150 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %2150, ptr %60, align 4, !tbaa !9
  %2151 = load i32, ptr %72, align 4, !tbaa !9
  %2152 = load i32, ptr %93, align 4, !tbaa !9
  %2153 = sub nsw i32 %2151, %2152
  store i32 %2153, ptr %71, align 4, !tbaa !9
  br label %2154

2154:                                             ; preds = %2286, %2149
  %2155 = load i32, ptr %71, align 4, !tbaa !9
  %2156 = load i32, ptr %60, align 4, !tbaa !9
  %2157 = icmp sle i32 %2155, %2156
  br i1 %2157, label %2158, label %2289

2158:                                             ; preds = %2154
  %2159 = load i32, ptr %71, align 4, !tbaa !9
  %2160 = icmp slt i32 %2159, 1
  br i1 %2160, label %2161, label %2183

2161:                                             ; preds = %2158
  %2162 = load i32, ptr %72, align 4, !tbaa !9
  %2163 = load i32, ptr %71, align 4, !tbaa !9
  %2164 = sub nsw i32 %2162, %2163
  %2165 = add nsw i32 %2164, 1
  %2166 = load i32, ptr %71, align 4, !tbaa !9
  %2167 = load ptr, ptr %30, align 8, !tbaa !5
  %2168 = load i32, ptr %2167, align 4, !tbaa !9
  %2169 = add nsw i32 %2166, %2168
  %2170 = load i32, ptr %57, align 4, !tbaa !9
  %2171 = mul nsw i32 %2169, %2170
  %2172 = add nsw i32 %2165, %2171
  store i32 %2172, ptr %61, align 4, !tbaa !9
  %2173 = load ptr, ptr %53, align 8, !tbaa !5
  %2174 = load i32, ptr %61, align 4, !tbaa !9
  %2175 = sext i32 %2174 to i64
  %2176 = getelementptr inbounds %struct.complex, ptr %2173, i64 %2175
  %2177 = getelementptr inbounds %struct.complex, ptr %2176, i32 0, i32 0
  store float 0.000000e+00, ptr %2177, align 4, !tbaa !11
  %2178 = load ptr, ptr %53, align 8, !tbaa !5
  %2179 = load i32, ptr %61, align 4, !tbaa !9
  %2180 = sext i32 %2179 to i64
  %2181 = getelementptr inbounds %struct.complex, ptr %2178, i64 %2180
  %2182 = getelementptr inbounds %struct.complex, ptr %2181, i32 0, i32 1
  store float 0.000000e+00, ptr %2182, align 4, !tbaa !14
  br label %2285

2183:                                             ; preds = %2158
  %2184 = load ptr, ptr %29, align 8, !tbaa !5
  %2185 = load ptr, ptr %30, align 8, !tbaa !5
  %2186 = load ptr, ptr %48, align 8, !tbaa !5
  %2187 = load ptr, ptr %49, align 8, !tbaa !5
  %2188 = load ptr, ptr %32, align 8, !tbaa !5
  %2189 = getelementptr inbounds i32, ptr %2188, i64 1
  %2190 = load ptr, ptr %34, align 8, !tbaa !5
  %2191 = getelementptr inbounds %struct.complex, ptr %2190, i64 1
  %2192 = load ptr, ptr %40, align 8, !tbaa !5
  %2193 = getelementptr inbounds %struct.complex, ptr %2192, i64 1
  %2194 = load ptr, ptr %43, align 8, !tbaa !5
  %2195 = getelementptr inbounds %struct.complex, ptr %2194, i64 1
  %2196 = load ptr, ptr %55, align 8, !tbaa !5
  %2197 = getelementptr inbounds i32, ptr %2196, i64 1
  %2198 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %2184, ptr noundef %2185, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %2186, ptr noundef %2187, ptr noundef %78, ptr noundef %2189, ptr noundef %2191, ptr noundef %87, ptr noundef %2193, ptr noundef %2195, ptr noundef %91, ptr noundef %2197, ptr noundef %2198)
  %2199 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2200 = load float, ptr %2199, align 4, !tbaa !11
  %2201 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %2200, ptr %2201, align 4, !tbaa !11
  %2202 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2203 = load float, ptr %2202, align 4, !tbaa !14
  %2204 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %2203, ptr %2204, align 4, !tbaa !14
  %2205 = load i32, ptr %67, align 4, !tbaa !9
  %2206 = load i32, ptr %68, align 4, !tbaa !9
  %2207 = icmp sle i32 %2205, %2206
  br i1 %2207, label %2208, label %2210

2208:                                             ; preds = %2183
  %2209 = load i32, ptr %67, align 4, !tbaa !9
  br label %2212

2210:                                             ; preds = %2183
  %2211 = load i32, ptr %68, align 4, !tbaa !9
  br label %2212

2212:                                             ; preds = %2210, %2208
  %2213 = phi i32 [ %2209, %2208 ], [ %2211, %2210 ]
  store i32 %2213, ptr %82, align 4, !tbaa !9
  %2214 = load i32, ptr %67, align 4, !tbaa !9
  %2215 = load i32, ptr %68, align 4, !tbaa !9
  %2216 = icmp sge i32 %2214, %2215
  br i1 %2216, label %2217, label %2219

2217:                                             ; preds = %2212
  %2218 = load i32, ptr %67, align 4, !tbaa !9
  br label %2221

2219:                                             ; preds = %2212
  %2220 = load i32, ptr %68, align 4, !tbaa !9
  br label %2221

2221:                                             ; preds = %2219, %2217
  %2222 = phi i32 [ %2218, %2217 ], [ %2220, %2219 ]
  store i32 %2222, ptr %84, align 4, !tbaa !9
  %2223 = load i32, ptr %84, align 4, !tbaa !9
  %2224 = load i32, ptr %68, align 4, !tbaa !9
  %2225 = icmp eq i32 %2223, %2224
  br i1 %2225, label %2226, label %2261

2226:                                             ; preds = %2221
  %2227 = load i32, ptr %70, align 4, !tbaa !9
  %2228 = icmp eq i32 %2227, 0
  br i1 %2228, label %2229, label %2261

2229:                                             ; preds = %2226
  %2230 = load i32, ptr %84, align 4, !tbaa !9
  %2231 = load i32, ptr %82, align 4, !tbaa !9
  %2232 = sub nsw i32 %2230, %2231
  %2233 = add nsw i32 %2232, 1
  %2234 = load i32, ptr %82, align 4, !tbaa !9
  %2235 = load i32, ptr %57, align 4, !tbaa !9
  %2236 = mul nsw i32 %2234, %2235
  %2237 = add nsw i32 %2233, %2236
  store i32 %2237, ptr %61, align 4, !tbaa !9
  %2238 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %2238, ptr %104, align 4
  %2239 = getelementptr inbounds { float, float }, ptr %104, i32 0, i32 0
  %2240 = load float, ptr %2239, align 4
  %2241 = getelementptr inbounds { float, float }, ptr %104, i32 0, i32 1
  %2242 = load float, ptr %2241, align 4
  %2243 = fneg float %2242
  %2244 = call ptr @_pCf(ptr noundef %65)
  %2245 = getelementptr inbounds { float, float }, ptr %2244, i32 0, i32 0
  %2246 = getelementptr inbounds { float, float }, ptr %2244, i32 0, i32 1
  store float %2240, ptr %2245, align 4
  store float %2243, ptr %2246, align 4
  %2247 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2248 = load float, ptr %2247, align 4, !tbaa !11
  %2249 = load ptr, ptr %53, align 8, !tbaa !5
  %2250 = load i32, ptr %61, align 4, !tbaa !9
  %2251 = sext i32 %2250 to i64
  %2252 = getelementptr inbounds %struct.complex, ptr %2249, i64 %2251
  %2253 = getelementptr inbounds %struct.complex, ptr %2252, i32 0, i32 0
  store float %2248, ptr %2253, align 4, !tbaa !11
  %2254 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2255 = load float, ptr %2254, align 4, !tbaa !14
  %2256 = load ptr, ptr %53, align 8, !tbaa !5
  %2257 = load i32, ptr %61, align 4, !tbaa !9
  %2258 = sext i32 %2257 to i64
  %2259 = getelementptr inbounds %struct.complex, ptr %2256, i64 %2258
  %2260 = getelementptr inbounds %struct.complex, ptr %2259, i32 0, i32 1
  store float %2255, ptr %2260, align 4, !tbaa !14
  br label %2284

2261:                                             ; preds = %2226, %2221
  %2262 = load i32, ptr %84, align 4, !tbaa !9
  %2263 = load i32, ptr %82, align 4, !tbaa !9
  %2264 = sub nsw i32 %2262, %2263
  %2265 = add nsw i32 %2264, 1
  %2266 = load i32, ptr %82, align 4, !tbaa !9
  %2267 = load i32, ptr %57, align 4, !tbaa !9
  %2268 = mul nsw i32 %2266, %2267
  %2269 = add nsw i32 %2265, %2268
  store i32 %2269, ptr %61, align 4, !tbaa !9
  %2270 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %2271 = load float, ptr %2270, align 4, !tbaa !11
  %2272 = load ptr, ptr %53, align 8, !tbaa !5
  %2273 = load i32, ptr %61, 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 %2271, ptr %2276, align 4, !tbaa !11
  %2277 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %2278 = load float, ptr %2277, align 4, !tbaa !14
  %2279 = load ptr, ptr %53, align 8, !tbaa !5
  %2280 = load i32, ptr %61, align 4, !tbaa !9
  %2281 = sext i32 %2280 to i64
  %2282 = getelementptr inbounds %struct.complex, ptr %2279, i64 %2281
  %2283 = getelementptr inbounds %struct.complex, ptr %2282, i32 0, i32 1
  store float %2278, ptr %2283, align 4, !tbaa !14
  br label %2284

2284:                                             ; preds = %2261, %2229
  br label %2285

2285:                                             ; preds = %2284, %2161
  br label %2286

2286:                                             ; preds = %2285
  %2287 = load i32, ptr %71, align 4, !tbaa !9
  %2288 = add nsw i32 %2287, 1
  store i32 %2288, ptr %71, align 4, !tbaa !9
  br label %2154, !llvm.loop !40

2289:                                             ; preds = %2154
  br label %2290

2290:                                             ; preds = %2289
  %2291 = load i32, ptr %72, align 4, !tbaa !9
  %2292 = add nsw i32 %2291, 1
  store i32 %2292, ptr %72, align 4, !tbaa !9
  br label %2145, !llvm.loop !41

2293:                                             ; preds = %2145
  br label %2743

2294:                                             ; preds = %2139
  %2295 = load i32, ptr %74, align 4, !tbaa !9
  %2296 = icmp eq i32 %2295, 6
  br i1 %2296, label %2297, label %2427

2297:                                             ; preds = %2294
  %2298 = load ptr, ptr %30, align 8, !tbaa !5
  %2299 = load i32, ptr %2298, align 4, !tbaa !9
  store i32 %2299, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %2300

2300:                                             ; preds = %2423, %2297
  %2301 = load i32, ptr %72, align 4, !tbaa !9
  %2302 = load i32, ptr %59, align 4, !tbaa !9
  %2303 = icmp sle i32 %2301, %2302
  br i1 %2303, label %2304, label %2426

2304:                                             ; preds = %2300
  %2305 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %2305, ptr %60, align 4, !tbaa !9
  %2306 = load i32, ptr %72, align 4, !tbaa !9
  %2307 = load i32, ptr %93, align 4, !tbaa !9
  %2308 = sub nsw i32 %2306, %2307
  store i32 %2308, ptr %71, align 4, !tbaa !9
  br label %2309

2309:                                             ; preds = %2419, %2304
  %2310 = load i32, ptr %71, align 4, !tbaa !9
  %2311 = load i32, ptr %60, align 4, !tbaa !9
  %2312 = icmp sle i32 %2310, %2311
  br i1 %2312, label %2313, label %2422

2313:                                             ; preds = %2309
  %2314 = load ptr, ptr %29, align 8, !tbaa !5
  %2315 = load ptr, ptr %30, align 8, !tbaa !5
  %2316 = load ptr, ptr %48, align 8, !tbaa !5
  %2317 = load ptr, ptr %49, align 8, !tbaa !5
  %2318 = load ptr, ptr %32, align 8, !tbaa !5
  %2319 = getelementptr inbounds i32, ptr %2318, i64 1
  %2320 = load ptr, ptr %34, align 8, !tbaa !5
  %2321 = getelementptr inbounds %struct.complex, ptr %2320, i64 1
  %2322 = load ptr, ptr %40, align 8, !tbaa !5
  %2323 = getelementptr inbounds %struct.complex, ptr %2322, i64 1
  %2324 = load ptr, ptr %43, align 8, !tbaa !5
  %2325 = getelementptr inbounds %struct.complex, ptr %2324, i64 1
  %2326 = load ptr, ptr %55, align 8, !tbaa !5
  %2327 = getelementptr inbounds i32, ptr %2326, i64 1
  %2328 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %2314, ptr noundef %2315, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %2316, ptr noundef %2317, ptr noundef %78, ptr noundef %2319, ptr noundef %2321, ptr noundef %87, ptr noundef %2323, ptr noundef %2325, ptr noundef %91, ptr noundef %2327, ptr noundef %2328)
  %2329 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2330 = load float, ptr %2329, align 4, !tbaa !11
  %2331 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %2330, ptr %2331, align 4, !tbaa !11
  %2332 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2333 = load float, ptr %2332, align 4, !tbaa !14
  %2334 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %2333, ptr %2334, align 4, !tbaa !14
  %2335 = load i32, ptr %67, align 4, !tbaa !9
  %2336 = load i32, ptr %68, align 4, !tbaa !9
  %2337 = icmp sle i32 %2335, %2336
  br i1 %2337, label %2338, label %2340

2338:                                             ; preds = %2313
  %2339 = load i32, ptr %67, align 4, !tbaa !9
  br label %2342

2340:                                             ; preds = %2313
  %2341 = load i32, ptr %68, align 4, !tbaa !9
  br label %2342

2342:                                             ; preds = %2340, %2338
  %2343 = phi i32 [ %2339, %2338 ], [ %2341, %2340 ]
  store i32 %2343, ptr %82, align 4, !tbaa !9
  %2344 = load i32, ptr %67, align 4, !tbaa !9
  %2345 = load i32, ptr %68, align 4, !tbaa !9
  %2346 = icmp sge i32 %2344, %2345
  br i1 %2346, label %2347, label %2349

2347:                                             ; preds = %2342
  %2348 = load i32, ptr %67, align 4, !tbaa !9
  br label %2351

2349:                                             ; preds = %2342
  %2350 = load i32, ptr %68, align 4, !tbaa !9
  br label %2351

2351:                                             ; preds = %2349, %2347
  %2352 = phi i32 [ %2348, %2347 ], [ %2350, %2349 ]
  store i32 %2352, ptr %84, align 4, !tbaa !9
  %2353 = load i32, ptr %84, align 4, !tbaa !9
  %2354 = load i32, ptr %67, align 4, !tbaa !9
  %2355 = icmp eq i32 %2353, %2354
  br i1 %2355, label %2356, label %2393

2356:                                             ; preds = %2351
  %2357 = load i32, ptr %70, align 4, !tbaa !9
  %2358 = icmp eq i32 %2357, 0
  br i1 %2358, label %2359, label %2393

2359:                                             ; preds = %2356
  %2360 = load i32, ptr %82, align 4, !tbaa !9
  %2361 = load i32, ptr %84, align 4, !tbaa !9
  %2362 = sub nsw i32 %2360, %2361
  %2363 = load i32, ptr %93, align 4, !tbaa !9
  %2364 = add nsw i32 %2362, %2363
  %2365 = add nsw i32 %2364, 1
  %2366 = load i32, ptr %84, align 4, !tbaa !9
  %2367 = load i32, ptr %57, align 4, !tbaa !9
  %2368 = mul nsw i32 %2366, %2367
  %2369 = add nsw i32 %2365, %2368
  store i32 %2369, ptr %61, align 4, !tbaa !9
  %2370 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %2370, ptr %105, align 4
  %2371 = getelementptr inbounds { float, float }, ptr %105, i32 0, i32 0
  %2372 = load float, ptr %2371, align 4
  %2373 = getelementptr inbounds { float, float }, ptr %105, i32 0, i32 1
  %2374 = load float, ptr %2373, align 4
  %2375 = fneg float %2374
  %2376 = call ptr @_pCf(ptr noundef %65)
  %2377 = getelementptr inbounds { float, float }, ptr %2376, i32 0, i32 0
  %2378 = getelementptr inbounds { float, float }, ptr %2376, i32 0, i32 1
  store float %2372, ptr %2377, align 4
  store float %2375, ptr %2378, align 4
  %2379 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2380 = load float, ptr %2379, align 4, !tbaa !11
  %2381 = load ptr, ptr %53, align 8, !tbaa !5
  %2382 = load i32, ptr %61, align 4, !tbaa !9
  %2383 = sext i32 %2382 to i64
  %2384 = getelementptr inbounds %struct.complex, ptr %2381, i64 %2383
  %2385 = getelementptr inbounds %struct.complex, ptr %2384, i32 0, i32 0
  store float %2380, ptr %2385, align 4, !tbaa !11
  %2386 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2387 = load float, ptr %2386, align 4, !tbaa !14
  %2388 = load ptr, ptr %53, align 8, !tbaa !5
  %2389 = load i32, ptr %61, align 4, !tbaa !9
  %2390 = sext i32 %2389 to i64
  %2391 = getelementptr inbounds %struct.complex, ptr %2388, i64 %2390
  %2392 = getelementptr inbounds %struct.complex, ptr %2391, i32 0, i32 1
  store float %2387, ptr %2392, align 4, !tbaa !14
  br label %2418

2393:                                             ; preds = %2356, %2351
  %2394 = load i32, ptr %82, align 4, !tbaa !9
  %2395 = load i32, ptr %84, align 4, !tbaa !9
  %2396 = sub nsw i32 %2394, %2395
  %2397 = load i32, ptr %93, align 4, !tbaa !9
  %2398 = add nsw i32 %2396, %2397
  %2399 = add nsw i32 %2398, 1
  %2400 = load i32, ptr %84, align 4, !tbaa !9
  %2401 = load i32, ptr %57, align 4, !tbaa !9
  %2402 = mul nsw i32 %2400, %2401
  %2403 = add nsw i32 %2399, %2402
  store i32 %2403, ptr %61, align 4, !tbaa !9
  %2404 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %2405 = load float, ptr %2404, align 4, !tbaa !11
  %2406 = load ptr, ptr %53, align 8, !tbaa !5
  %2407 = load i32, ptr %61, align 4, !tbaa !9
  %2408 = sext i32 %2407 to i64
  %2409 = getelementptr inbounds %struct.complex, ptr %2406, i64 %2408
  %2410 = getelementptr inbounds %struct.complex, ptr %2409, i32 0, i32 0
  store float %2405, ptr %2410, align 4, !tbaa !11
  %2411 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %2412 = load float, ptr %2411, align 4, !tbaa !14
  %2413 = load ptr, ptr %53, align 8, !tbaa !5
  %2414 = load i32, ptr %61, align 4, !tbaa !9
  %2415 = sext i32 %2414 to i64
  %2416 = getelementptr inbounds %struct.complex, ptr %2413, i64 %2415
  %2417 = getelementptr inbounds %struct.complex, ptr %2416, i32 0, i32 1
  store float %2412, ptr %2417, align 4, !tbaa !14
  br label %2418

2418:                                             ; preds = %2393, %2359
  br label %2419

2419:                                             ; preds = %2418
  %2420 = load i32, ptr %71, align 4, !tbaa !9
  %2421 = add nsw i32 %2420, 1
  store i32 %2421, ptr %71, align 4, !tbaa !9
  br label %2309, !llvm.loop !42

2422:                                             ; preds = %2309
  br label %2423

2423:                                             ; preds = %2422
  %2424 = load i32, ptr %72, align 4, !tbaa !9
  %2425 = add nsw i32 %2424, 1
  store i32 %2425, ptr %72, align 4, !tbaa !9
  br label %2300, !llvm.loop !43

2426:                                             ; preds = %2300
  br label %2742

2427:                                             ; preds = %2294
  %2428 = load i32, ptr %74, align 4, !tbaa !9
  %2429 = icmp eq i32 %2428, 7
  br i1 %2429, label %2430, label %2741

2430:                                             ; preds = %2427
  %2431 = load i32, ptr %70, align 4, !tbaa !9
  %2432 = icmp ne i32 %2431, 1
  br i1 %2432, label %2433, label %2664

2433:                                             ; preds = %2430
  %2434 = load ptr, ptr %30, align 8, !tbaa !5
  %2435 = load i32, ptr %2434, align 4, !tbaa !9
  store i32 %2435, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %2436

2436:                                             ; preds = %2660, %2433
  %2437 = load i32, ptr %72, align 4, !tbaa !9
  %2438 = load i32, ptr %59, align 4, !tbaa !9
  %2439 = icmp sle i32 %2437, %2438
  br i1 %2439, label %2440, label %2663

2440:                                             ; preds = %2436
  %2441 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %2441, ptr %60, align 4, !tbaa !9
  %2442 = load i32, ptr %72, align 4, !tbaa !9
  %2443 = load i32, ptr %93, align 4, !tbaa !9
  %2444 = sub nsw i32 %2442, %2443
  store i32 %2444, ptr %71, align 4, !tbaa !9
  br label %2445

2445:                                             ; preds = %2656, %2440
  %2446 = load i32, ptr %71, align 4, !tbaa !9
  %2447 = load i32, ptr %60, align 4, !tbaa !9
  %2448 = icmp sle i32 %2446, %2447
  br i1 %2448, label %2449, label %2659

2449:                                             ; preds = %2445
  %2450 = load ptr, ptr %29, align 8, !tbaa !5
  %2451 = load ptr, ptr %30, align 8, !tbaa !5
  %2452 = load ptr, ptr %48, align 8, !tbaa !5
  %2453 = load ptr, ptr %49, align 8, !tbaa !5
  %2454 = load ptr, ptr %32, align 8, !tbaa !5
  %2455 = getelementptr inbounds i32, ptr %2454, i64 1
  %2456 = load ptr, ptr %34, align 8, !tbaa !5
  %2457 = getelementptr inbounds %struct.complex, ptr %2456, i64 1
  %2458 = load ptr, ptr %40, align 8, !tbaa !5
  %2459 = getelementptr inbounds %struct.complex, ptr %2458, i64 1
  %2460 = load ptr, ptr %43, align 8, !tbaa !5
  %2461 = getelementptr inbounds %struct.complex, ptr %2460, i64 1
  %2462 = load ptr, ptr %55, align 8, !tbaa !5
  %2463 = getelementptr inbounds i32, ptr %2462, i64 1
  %2464 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %2450, ptr noundef %2451, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %2452, ptr noundef %2453, ptr noundef %78, ptr noundef %2455, ptr noundef %2457, ptr noundef %87, ptr noundef %2459, ptr noundef %2461, ptr noundef %91, ptr noundef %2463, ptr noundef %2464)
  %2465 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2466 = load float, ptr %2465, align 4, !tbaa !11
  %2467 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %2466, ptr %2467, align 4, !tbaa !11
  %2468 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2469 = load float, ptr %2468, align 4, !tbaa !14
  %2470 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %2469, ptr %2470, align 4, !tbaa !14
  %2471 = load i32, ptr %67, align 4, !tbaa !9
  %2472 = load i32, ptr %68, align 4, !tbaa !9
  %2473 = icmp sle i32 %2471, %2472
  br i1 %2473, label %2474, label %2476

2474:                                             ; preds = %2449
  %2475 = load i32, ptr %67, align 4, !tbaa !9
  br label %2478

2476:                                             ; preds = %2449
  %2477 = load i32, ptr %68, align 4, !tbaa !9
  br label %2478

2478:                                             ; preds = %2476, %2474
  %2479 = phi i32 [ %2475, %2474 ], [ %2477, %2476 ]
  store i32 %2479, ptr %82, align 4, !tbaa !9
  %2480 = load i32, ptr %67, align 4, !tbaa !9
  %2481 = load i32, ptr %68, align 4, !tbaa !9
  %2482 = icmp sge i32 %2480, %2481
  br i1 %2482, label %2483, label %2485

2483:                                             ; preds = %2478
  %2484 = load i32, ptr %67, align 4, !tbaa !9
  br label %2487

2485:                                             ; preds = %2478
  %2486 = load i32, ptr %68, align 4, !tbaa !9
  br label %2487

2487:                                             ; preds = %2485, %2483
  %2488 = phi i32 [ %2484, %2483 ], [ %2486, %2485 ]
  store i32 %2488, ptr %84, align 4, !tbaa !9
  %2489 = load i32, ptr %71, align 4, !tbaa !9
  %2490 = icmp slt i32 %2489, 1
  br i1 %2490, label %2491, label %2515

2491:                                             ; preds = %2487
  %2492 = load i32, ptr %72, align 4, !tbaa !9
  %2493 = load i32, ptr %71, align 4, !tbaa !9
  %2494 = sub nsw i32 %2492, %2493
  %2495 = add nsw i32 %2494, 1
  %2496 = load i32, ptr %93, align 4, !tbaa !9
  %2497 = add nsw i32 %2495, %2496
  %2498 = load i32, ptr %71, align 4, !tbaa !9
  %2499 = load ptr, ptr %30, align 8, !tbaa !5
  %2500 = load i32, ptr %2499, align 4, !tbaa !9
  %2501 = add nsw i32 %2498, %2500
  %2502 = load i32, ptr %57, align 4, !tbaa !9
  %2503 = mul nsw i32 %2501, %2502
  %2504 = add nsw i32 %2497, %2503
  store i32 %2504, ptr %61, align 4, !tbaa !9
  %2505 = load ptr, ptr %53, align 8, !tbaa !5
  %2506 = load i32, ptr %61, align 4, !tbaa !9
  %2507 = sext i32 %2506 to i64
  %2508 = getelementptr inbounds %struct.complex, ptr %2505, i64 %2507
  %2509 = getelementptr inbounds %struct.complex, ptr %2508, i32 0, i32 0
  store float 0.000000e+00, ptr %2509, align 4, !tbaa !11
  %2510 = load ptr, ptr %53, align 8, !tbaa !5
  %2511 = load i32, ptr %61, align 4, !tbaa !9
  %2512 = sext i32 %2511 to i64
  %2513 = getelementptr inbounds %struct.complex, ptr %2510, i64 %2512
  %2514 = getelementptr inbounds %struct.complex, ptr %2513, i32 0, i32 1
  store float 0.000000e+00, ptr %2514, align 4, !tbaa !14
  br label %2515

2515:                                             ; preds = %2491, %2487
  %2516 = load i32, ptr %84, align 4, !tbaa !9
  %2517 = load i32, ptr %67, align 4, !tbaa !9
  %2518 = icmp eq i32 %2516, %2517
  br i1 %2518, label %2519, label %2556

2519:                                             ; preds = %2515
  %2520 = load i32, ptr %70, align 4, !tbaa !9
  %2521 = icmp eq i32 %2520, 0
  br i1 %2521, label %2522, label %2556

2522:                                             ; preds = %2519
  %2523 = load i32, ptr %82, align 4, !tbaa !9
  %2524 = load i32, ptr %84, align 4, !tbaa !9
  %2525 = sub nsw i32 %2523, %2524
  %2526 = load i32, ptr %93, align 4, !tbaa !9
  %2527 = add nsw i32 %2525, %2526
  %2528 = add nsw i32 %2527, 1
  %2529 = load i32, ptr %84, align 4, !tbaa !9
  %2530 = load i32, ptr %57, align 4, !tbaa !9
  %2531 = mul nsw i32 %2529, %2530
  %2532 = add nsw i32 %2528, %2531
  store i32 %2532, ptr %61, align 4, !tbaa !9
  %2533 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %2533, ptr %106, align 4
  %2534 = getelementptr inbounds { float, float }, ptr %106, i32 0, i32 0
  %2535 = load float, ptr %2534, align 4
  %2536 = getelementptr inbounds { float, float }, ptr %106, i32 0, i32 1
  %2537 = load float, ptr %2536, align 4
  %2538 = fneg float %2537
  %2539 = call ptr @_pCf(ptr noundef %65)
  %2540 = getelementptr inbounds { float, float }, ptr %2539, i32 0, i32 0
  %2541 = getelementptr inbounds { float, float }, ptr %2539, i32 0, i32 1
  store float %2535, ptr %2540, align 4
  store float %2538, ptr %2541, align 4
  %2542 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2543 = load float, ptr %2542, align 4, !tbaa !11
  %2544 = load ptr, ptr %53, align 8, !tbaa !5
  %2545 = load i32, ptr %61, align 4, !tbaa !9
  %2546 = sext i32 %2545 to i64
  %2547 = getelementptr inbounds %struct.complex, ptr %2544, i64 %2546
  %2548 = getelementptr inbounds %struct.complex, ptr %2547, i32 0, i32 0
  store float %2543, ptr %2548, align 4, !tbaa !11
  %2549 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2550 = load float, ptr %2549, align 4, !tbaa !14
  %2551 = load ptr, ptr %53, align 8, !tbaa !5
  %2552 = load i32, ptr %61, align 4, !tbaa !9
  %2553 = sext i32 %2552 to i64
  %2554 = getelementptr inbounds %struct.complex, ptr %2551, i64 %2553
  %2555 = getelementptr inbounds %struct.complex, ptr %2554, i32 0, i32 1
  store float %2550, ptr %2555, align 4, !tbaa !14
  br label %2581

2556:                                             ; preds = %2519, %2515
  %2557 = load i32, ptr %82, align 4, !tbaa !9
  %2558 = load i32, ptr %84, align 4, !tbaa !9
  %2559 = sub nsw i32 %2557, %2558
  %2560 = load i32, ptr %93, align 4, !tbaa !9
  %2561 = add nsw i32 %2559, %2560
  %2562 = add nsw i32 %2561, 1
  %2563 = load i32, ptr %84, align 4, !tbaa !9
  %2564 = load i32, ptr %57, align 4, !tbaa !9
  %2565 = mul nsw i32 %2563, %2564
  %2566 = add nsw i32 %2562, %2565
  store i32 %2566, ptr %61, align 4, !tbaa !9
  %2567 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %2568 = load float, ptr %2567, align 4, !tbaa !11
  %2569 = load ptr, ptr %53, align 8, !tbaa !5
  %2570 = load i32, ptr %61, align 4, !tbaa !9
  %2571 = sext i32 %2570 to i64
  %2572 = getelementptr inbounds %struct.complex, ptr %2569, i64 %2571
  %2573 = getelementptr inbounds %struct.complex, ptr %2572, i32 0, i32 0
  store float %2568, ptr %2573, align 4, !tbaa !11
  %2574 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %2575 = load float, ptr %2574, align 4, !tbaa !14
  %2576 = load ptr, ptr %53, align 8, !tbaa !5
  %2577 = load i32, ptr %61, align 4, !tbaa !9
  %2578 = sext i32 %2577 to i64
  %2579 = getelementptr inbounds %struct.complex, ptr %2576, i64 %2578
  %2580 = getelementptr inbounds %struct.complex, ptr %2579, i32 0, i32 1
  store float %2575, ptr %2580, align 4, !tbaa !14
  br label %2581

2581:                                             ; preds = %2556, %2522
  %2582 = load i32, ptr %71, align 4, !tbaa !9
  %2583 = icmp sge i32 %2582, 1
  br i1 %2583, label %2584, label %2655

2584:                                             ; preds = %2581
  %2585 = load i32, ptr %82, align 4, !tbaa !9
  %2586 = load i32, ptr %84, align 4, !tbaa !9
  %2587 = icmp ne i32 %2585, %2586
  br i1 %2587, label %2588, label %2655

2588:                                             ; preds = %2584
  %2589 = load i32, ptr %82, align 4, !tbaa !9
  %2590 = load i32, ptr %67, align 4, !tbaa !9
  %2591 = icmp eq i32 %2589, %2590
  br i1 %2591, label %2592, label %2629

2592:                                             ; preds = %2588
  %2593 = load i32, ptr %70, align 4, !tbaa !9
  %2594 = icmp eq i32 %2593, 0
  br i1 %2594, label %2595, label %2629

2595:                                             ; preds = %2592
  %2596 = load i32, ptr %84, align 4, !tbaa !9
  %2597 = load i32, ptr %82, align 4, !tbaa !9
  %2598 = sub nsw i32 %2596, %2597
  %2599 = add nsw i32 %2598, 1
  %2600 = load i32, ptr %93, align 4, !tbaa !9
  %2601 = add nsw i32 %2599, %2600
  %2602 = load i32, ptr %82, align 4, !tbaa !9
  %2603 = load i32, ptr %57, align 4, !tbaa !9
  %2604 = mul nsw i32 %2602, %2603
  %2605 = add nsw i32 %2601, %2604
  store i32 %2605, ptr %61, align 4, !tbaa !9
  %2606 = call <2 x float> @Cf(ptr noundef %76)
  store <2 x float> %2606, ptr %107, align 4
  %2607 = getelementptr inbounds { float, float }, ptr %107, i32 0, i32 0
  %2608 = load float, ptr %2607, align 4
  %2609 = getelementptr inbounds { float, float }, ptr %107, i32 0, i32 1
  %2610 = load float, ptr %2609, align 4
  %2611 = fneg float %2610
  %2612 = call ptr @_pCf(ptr noundef %65)
  %2613 = getelementptr inbounds { float, float }, ptr %2612, i32 0, i32 0
  %2614 = getelementptr inbounds { float, float }, ptr %2612, i32 0, i32 1
  store float %2608, ptr %2613, align 4
  store float %2611, ptr %2614, align 4
  %2615 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2616 = load float, ptr %2615, align 4, !tbaa !11
  %2617 = load ptr, ptr %53, align 8, !tbaa !5
  %2618 = load i32, ptr %61, align 4, !tbaa !9
  %2619 = sext i32 %2618 to i64
  %2620 = getelementptr inbounds %struct.complex, ptr %2617, i64 %2619
  %2621 = getelementptr inbounds %struct.complex, ptr %2620, i32 0, i32 0
  store float %2616, ptr %2621, align 4, !tbaa !11
  %2622 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2623 = load float, ptr %2622, align 4, !tbaa !14
  %2624 = load ptr, ptr %53, align 8, !tbaa !5
  %2625 = load i32, ptr %61, align 4, !tbaa !9
  %2626 = sext i32 %2625 to i64
  %2627 = getelementptr inbounds %struct.complex, ptr %2624, i64 %2626
  %2628 = getelementptr inbounds %struct.complex, ptr %2627, i32 0, i32 1
  store float %2623, ptr %2628, align 4, !tbaa !14
  br label %2654

2629:                                             ; preds = %2592, %2588
  %2630 = load i32, ptr %84, align 4, !tbaa !9
  %2631 = load i32, ptr %82, align 4, !tbaa !9
  %2632 = sub nsw i32 %2630, %2631
  %2633 = add nsw i32 %2632, 1
  %2634 = load i32, ptr %93, align 4, !tbaa !9
  %2635 = add nsw i32 %2633, %2634
  %2636 = load i32, ptr %82, align 4, !tbaa !9
  %2637 = load i32, ptr %57, align 4, !tbaa !9
  %2638 = mul nsw i32 %2636, %2637
  %2639 = add nsw i32 %2635, %2638
  store i32 %2639, ptr %61, align 4, !tbaa !9
  %2640 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %2641 = load float, ptr %2640, align 4, !tbaa !11
  %2642 = load ptr, ptr %53, align 8, !tbaa !5
  %2643 = load i32, ptr %61, align 4, !tbaa !9
  %2644 = sext i32 %2643 to i64
  %2645 = getelementptr inbounds %struct.complex, ptr %2642, i64 %2644
  %2646 = getelementptr inbounds %struct.complex, ptr %2645, i32 0, i32 0
  store float %2641, ptr %2646, align 4, !tbaa !11
  %2647 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %2648 = load float, ptr %2647, align 4, !tbaa !14
  %2649 = load ptr, ptr %53, align 8, !tbaa !5
  %2650 = load i32, ptr %61, align 4, !tbaa !9
  %2651 = sext i32 %2650 to i64
  %2652 = getelementptr inbounds %struct.complex, ptr %2649, i64 %2651
  %2653 = getelementptr inbounds %struct.complex, ptr %2652, i32 0, i32 1
  store float %2648, ptr %2653, align 4, !tbaa !14
  br label %2654

2654:                                             ; preds = %2629, %2595
  br label %2655

2655:                                             ; preds = %2654, %2584, %2581
  br label %2656

2656:                                             ; preds = %2655
  %2657 = load i32, ptr %71, align 4, !tbaa !9
  %2658 = add nsw i32 %2657, 1
  store i32 %2658, ptr %71, align 4, !tbaa !9
  br label %2445, !llvm.loop !44

2659:                                             ; preds = %2445
  br label %2660

2660:                                             ; preds = %2659
  %2661 = load i32, ptr %72, align 4, !tbaa !9
  %2662 = add nsw i32 %2661, 1
  store i32 %2662, ptr %72, align 4, !tbaa !9
  br label %2436, !llvm.loop !45

2663:                                             ; preds = %2436
  br label %2740

2664:                                             ; preds = %2430
  %2665 = load i32, ptr %70, align 4, !tbaa !9
  %2666 = icmp eq i32 %2665, 1
  br i1 %2666, label %2667, label %2739

2667:                                             ; preds = %2664
  %2668 = load ptr, ptr %30, align 8, !tbaa !5
  %2669 = load i32, ptr %2668, align 4, !tbaa !9
  store i32 %2669, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %2670

2670:                                             ; preds = %2735, %2667
  %2671 = load i32, ptr %72, align 4, !tbaa !9
  %2672 = load i32, ptr %59, align 4, !tbaa !9
  %2673 = icmp sle i32 %2671, %2672
  br i1 %2673, label %2674, label %2738

2674:                                             ; preds = %2670
  %2675 = load i32, ptr %72, align 4, !tbaa !9
  %2676 = load i32, ptr %92, align 4, !tbaa !9
  %2677 = add nsw i32 %2675, %2676
  store i32 %2677, ptr %60, align 4, !tbaa !9
  %2678 = load i32, ptr %72, align 4, !tbaa !9
  %2679 = load i32, ptr %93, align 4, !tbaa !9
  %2680 = sub nsw i32 %2678, %2679
  store i32 %2680, ptr %71, align 4, !tbaa !9
  br label %2681

2681:                                             ; preds = %2731, %2674
  %2682 = load i32, ptr %71, align 4, !tbaa !9
  %2683 = load i32, ptr %60, align 4, !tbaa !9
  %2684 = icmp sle i32 %2682, %2683
  br i1 %2684, label %2685, label %2734

2685:                                             ; preds = %2681
  %2686 = load ptr, ptr %29, align 8, !tbaa !5
  %2687 = load ptr, ptr %30, align 8, !tbaa !5
  %2688 = load ptr, ptr %48, align 8, !tbaa !5
  %2689 = load ptr, ptr %49, align 8, !tbaa !5
  %2690 = load ptr, ptr %32, align 8, !tbaa !5
  %2691 = getelementptr inbounds i32, ptr %2690, i64 1
  %2692 = load ptr, ptr %34, align 8, !tbaa !5
  %2693 = getelementptr inbounds %struct.complex, ptr %2692, i64 1
  %2694 = load ptr, ptr %40, align 8, !tbaa !5
  %2695 = getelementptr inbounds %struct.complex, ptr %2694, i64 1
  %2696 = load ptr, ptr %43, align 8, !tbaa !5
  %2697 = getelementptr inbounds %struct.complex, ptr %2696, i64 1
  %2698 = load ptr, ptr %55, align 8, !tbaa !5
  %2699 = getelementptr inbounds i32, ptr %2698, i64 1
  %2700 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm3_(ptr noundef %65, ptr noundef %2686, ptr noundef %2687, ptr noundef %71, ptr noundef %72, ptr noundef %67, ptr noundef %68, ptr noundef %2688, ptr noundef %2689, ptr noundef %78, ptr noundef %2691, ptr noundef %2693, ptr noundef %87, ptr noundef %2695, ptr noundef %2697, ptr noundef %91, ptr noundef %2699, ptr noundef %2700)
  %2701 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2702 = load float, ptr %2701, align 4, !tbaa !11
  %2703 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  store float %2702, ptr %2703, align 4, !tbaa !11
  %2704 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2705 = load float, ptr %2704, align 4, !tbaa !14
  %2706 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  store float %2705, ptr %2706, align 4, !tbaa !14
  %2707 = load i32, ptr %67, align 4, !tbaa !9
  %2708 = load i32, ptr %68, align 4, !tbaa !9
  %2709 = sub nsw i32 %2707, %2708
  %2710 = load i32, ptr %93, align 4, !tbaa !9
  %2711 = add nsw i32 %2709, %2710
  %2712 = add nsw i32 %2711, 1
  %2713 = load i32, ptr %68, align 4, !tbaa !9
  %2714 = load i32, ptr %57, align 4, !tbaa !9
  %2715 = mul nsw i32 %2713, %2714
  %2716 = add nsw i32 %2712, %2715
  store i32 %2716, ptr %61, align 4, !tbaa !9
  %2717 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 0
  %2718 = load float, ptr %2717, align 4, !tbaa !11
  %2719 = load ptr, ptr %53, align 8, !tbaa !5
  %2720 = load i32, ptr %61, 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
  store float %2718, ptr %2723, align 4, !tbaa !11
  %2724 = getelementptr inbounds %struct.complex, ptr %76, i32 0, i32 1
  %2725 = load float, ptr %2724, align 4, !tbaa !14
  %2726 = load ptr, ptr %53, align 8, !tbaa !5
  %2727 = load i32, ptr %61, align 4, !tbaa !9
  %2728 = sext i32 %2727 to i64
  %2729 = getelementptr inbounds %struct.complex, ptr %2726, i64 %2728
  %2730 = getelementptr inbounds %struct.complex, ptr %2729, i32 0, i32 1
  store float %2725, ptr %2730, align 4, !tbaa !14
  br label %2731

2731:                                             ; preds = %2685
  %2732 = load i32, ptr %71, align 4, !tbaa !9
  %2733 = add nsw i32 %2732, 1
  store i32 %2733, ptr %71, align 4, !tbaa !9
  br label %2681, !llvm.loop !46

2734:                                             ; preds = %2681
  br label %2735

2735:                                             ; preds = %2734
  %2736 = load i32, ptr %72, align 4, !tbaa !9
  %2737 = add nsw i32 %2736, 1
  store i32 %2737, ptr %72, align 4, !tbaa !9
  br label %2670, !llvm.loop !47

2738:                                             ; preds = %2670
  br label %2739

2739:                                             ; preds = %2738, %2664
  br label %2740

2740:                                             ; preds = %2739, %2663
  br label %2741

2741:                                             ; preds = %2740, %2427
  br label %2742

2742:                                             ; preds = %2741, %2426
  br label %2743

2743:                                             ; preds = %2742, %2293
  br label %2744

2744:                                             ; preds = %2743, %2138
  br label %2745

2745:                                             ; preds = %2744, %1974
  br label %2746

2746:                                             ; preds = %2745, %1834
  br label %2747

2747:                                             ; preds = %2746, %1694
  br label %2748

2748:                                             ; preds = %2747, %1554
  br label %3980

2749:                                             ; preds = %1303
  %2750 = load i32, ptr %74, align 4, !tbaa !9
  %2751 = icmp eq i32 %2750, 0
  br i1 %2751, label %2752, label %3001

2752:                                             ; preds = %2749
  %2753 = load i32, ptr %70, align 4, !tbaa !9
  %2754 = icmp eq i32 %2753, 0
  br i1 %2754, label %2755, label %2847

2755:                                             ; preds = %2752
  %2756 = load ptr, ptr %30, align 8, !tbaa !5
  %2757 = load i32, ptr %2756, align 4, !tbaa !9
  store i32 %2757, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %2758

2758:                                             ; preds = %2843, %2755
  %2759 = load i32, ptr %72, align 4, !tbaa !9
  %2760 = load i32, ptr %59, align 4, !tbaa !9
  %2761 = icmp sle i32 %2759, %2760
  br i1 %2761, label %2762, label %2846

2762:                                             ; preds = %2758
  %2763 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %2763, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %2764

2764:                                             ; preds = %2839, %2762
  %2765 = load i32, ptr %71, align 4, !tbaa !9
  %2766 = load i32, ptr %60, align 4, !tbaa !9
  %2767 = icmp sle i32 %2765, %2766
  br i1 %2767, label %2768, label %2842

2768:                                             ; preds = %2764
  %2769 = load i32, ptr %71, align 4, !tbaa !9
  %2770 = load i32, ptr %72, align 4, !tbaa !9
  %2771 = load i32, ptr %57, align 4, !tbaa !9
  %2772 = mul nsw i32 %2770, %2771
  %2773 = add nsw i32 %2769, %2772
  store i32 %2773, ptr %61, align 4, !tbaa !9
  %2774 = load ptr, ptr %29, align 8, !tbaa !5
  %2775 = load ptr, ptr %30, align 8, !tbaa !5
  %2776 = load ptr, ptr %48, align 8, !tbaa !5
  %2777 = load ptr, ptr %49, align 8, !tbaa !5
  %2778 = load ptr, ptr %32, align 8, !tbaa !5
  %2779 = getelementptr inbounds i32, ptr %2778, i64 1
  %2780 = load ptr, ptr %34, align 8, !tbaa !5
  %2781 = getelementptr inbounds %struct.complex, ptr %2780, i64 1
  %2782 = load ptr, ptr %40, align 8, !tbaa !5
  %2783 = getelementptr inbounds %struct.complex, ptr %2782, i64 1
  %2784 = load ptr, ptr %43, align 8, !tbaa !5
  %2785 = getelementptr inbounds %struct.complex, ptr %2784, i64 1
  %2786 = load ptr, ptr %55, align 8, !tbaa !5
  %2787 = getelementptr inbounds i32, ptr %2786, i64 1
  %2788 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %2774, ptr noundef %2775, ptr noundef %71, ptr noundef %72, ptr noundef %2776, ptr noundef %2777, ptr noundef %78, ptr noundef %2779, ptr noundef %2781, ptr noundef %87, ptr noundef %2783, ptr noundef %2785, ptr noundef %91, ptr noundef %2787, ptr noundef %2788)
  %2789 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2790 = load float, ptr %2789, align 4, !tbaa !11
  %2791 = load ptr, ptr %53, align 8, !tbaa !5
  %2792 = load i32, ptr %61, align 4, !tbaa !9
  %2793 = sext i32 %2792 to i64
  %2794 = getelementptr inbounds %struct.complex, ptr %2791, i64 %2793
  %2795 = getelementptr inbounds %struct.complex, ptr %2794, i32 0, i32 0
  store float %2790, ptr %2795, align 4, !tbaa !11
  %2796 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2797 = load float, ptr %2796, align 4, !tbaa !14
  %2798 = load ptr, ptr %53, align 8, !tbaa !5
  %2799 = load i32, ptr %61, align 4, !tbaa !9
  %2800 = sext i32 %2799 to i64
  %2801 = getelementptr inbounds %struct.complex, ptr %2798, i64 %2800
  %2802 = getelementptr inbounds %struct.complex, ptr %2801, i32 0, i32 1
  store float %2797, ptr %2802, align 4, !tbaa !14
  %2803 = load i32, ptr %72, align 4, !tbaa !9
  %2804 = load i32, ptr %71, align 4, !tbaa !9
  %2805 = load i32, ptr %57, align 4, !tbaa !9
  %2806 = mul nsw i32 %2804, %2805
  %2807 = add nsw i32 %2803, %2806
  store i32 %2807, ptr %61, align 4, !tbaa !9
  %2808 = load ptr, ptr %53, align 8, !tbaa !5
  %2809 = load i32, ptr %71, align 4, !tbaa !9
  %2810 = load i32, ptr %72, align 4, !tbaa !9
  %2811 = load i32, ptr %57, align 4, !tbaa !9
  %2812 = mul nsw i32 %2810, %2811
  %2813 = add nsw i32 %2809, %2812
  %2814 = sext i32 %2813 to i64
  %2815 = getelementptr inbounds %struct.complex, ptr %2808, i64 %2814
  %2816 = call <2 x float> @Cf(ptr noundef %2815)
  store <2 x float> %2816, ptr %108, align 4
  %2817 = getelementptr inbounds { float, float }, ptr %108, i32 0, i32 0
  %2818 = load float, ptr %2817, align 4
  %2819 = getelementptr inbounds { float, float }, ptr %108, i32 0, i32 1
  %2820 = load float, ptr %2819, align 4
  %2821 = fneg float %2820
  %2822 = call ptr @_pCf(ptr noundef %65)
  %2823 = getelementptr inbounds { float, float }, ptr %2822, i32 0, i32 0
  %2824 = getelementptr inbounds { float, float }, ptr %2822, i32 0, i32 1
  store float %2818, ptr %2823, align 4
  store float %2821, ptr %2824, align 4
  %2825 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2826 = load float, ptr %2825, align 4, !tbaa !11
  %2827 = load ptr, ptr %53, align 8, !tbaa !5
  %2828 = load i32, ptr %61, align 4, !tbaa !9
  %2829 = sext i32 %2828 to i64
  %2830 = getelementptr inbounds %struct.complex, ptr %2827, i64 %2829
  %2831 = getelementptr inbounds %struct.complex, ptr %2830, i32 0, i32 0
  store float %2826, ptr %2831, align 4, !tbaa !11
  %2832 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2833 = load float, ptr %2832, align 4, !tbaa !14
  %2834 = load ptr, ptr %53, align 8, !tbaa !5
  %2835 = load i32, ptr %61, align 4, !tbaa !9
  %2836 = sext i32 %2835 to i64
  %2837 = getelementptr inbounds %struct.complex, ptr %2834, i64 %2836
  %2838 = getelementptr inbounds %struct.complex, ptr %2837, i32 0, i32 1
  store float %2833, ptr %2838, align 4, !tbaa !14
  br label %2839

2839:                                             ; preds = %2768
  %2840 = load i32, ptr %71, align 4, !tbaa !9
  %2841 = add nsw i32 %2840, 1
  store i32 %2841, ptr %71, align 4, !tbaa !9
  br label %2764, !llvm.loop !48

2842:                                             ; preds = %2764
  br label %2843

2843:                                             ; preds = %2842
  %2844 = load i32, ptr %72, align 4, !tbaa !9
  %2845 = add nsw i32 %2844, 1
  store i32 %2845, ptr %72, align 4, !tbaa !9
  br label %2758, !llvm.loop !49

2846:                                             ; preds = %2758
  br label %3000

2847:                                             ; preds = %2752
  %2848 = load i32, ptr %70, align 4, !tbaa !9
  %2849 = icmp eq i32 %2848, 1
  br i1 %2849, label %2850, label %2907

2850:                                             ; preds = %2847
  %2851 = load ptr, ptr %30, align 8, !tbaa !5
  %2852 = load i32, ptr %2851, align 4, !tbaa !9
  store i32 %2852, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %2853

2853:                                             ; preds = %2903, %2850
  %2854 = load i32, ptr %72, align 4, !tbaa !9
  %2855 = load i32, ptr %59, align 4, !tbaa !9
  %2856 = icmp sle i32 %2854, %2855
  br i1 %2856, label %2857, label %2906

2857:                                             ; preds = %2853
  %2858 = load ptr, ptr %29, align 8, !tbaa !5
  %2859 = load i32, ptr %2858, align 4, !tbaa !9
  store i32 %2859, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %2860

2860:                                             ; preds = %2899, %2857
  %2861 = load i32, ptr %71, align 4, !tbaa !9
  %2862 = load i32, ptr %60, align 4, !tbaa !9
  %2863 = icmp sle i32 %2861, %2862
  br i1 %2863, label %2864, label %2902

2864:                                             ; preds = %2860
  %2865 = load i32, ptr %71, align 4, !tbaa !9
  %2866 = load i32, ptr %72, align 4, !tbaa !9
  %2867 = load i32, ptr %57, align 4, !tbaa !9
  %2868 = mul nsw i32 %2866, %2867
  %2869 = add nsw i32 %2865, %2868
  store i32 %2869, ptr %61, align 4, !tbaa !9
  %2870 = load ptr, ptr %29, align 8, !tbaa !5
  %2871 = load ptr, ptr %30, align 8, !tbaa !5
  %2872 = load ptr, ptr %48, align 8, !tbaa !5
  %2873 = load ptr, ptr %49, align 8, !tbaa !5
  %2874 = load ptr, ptr %32, align 8, !tbaa !5
  %2875 = getelementptr inbounds i32, ptr %2874, i64 1
  %2876 = load ptr, ptr %34, align 8, !tbaa !5
  %2877 = getelementptr inbounds %struct.complex, ptr %2876, i64 1
  %2878 = load ptr, ptr %40, align 8, !tbaa !5
  %2879 = getelementptr inbounds %struct.complex, ptr %2878, i64 1
  %2880 = load ptr, ptr %43, align 8, !tbaa !5
  %2881 = getelementptr inbounds %struct.complex, ptr %2880, i64 1
  %2882 = load ptr, ptr %55, align 8, !tbaa !5
  %2883 = getelementptr inbounds i32, ptr %2882, i64 1
  %2884 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %2870, ptr noundef %2871, ptr noundef %71, ptr noundef %72, ptr noundef %2872, ptr noundef %2873, ptr noundef %78, ptr noundef %2875, ptr noundef %2877, ptr noundef %87, ptr noundef %2879, ptr noundef %2881, ptr noundef %91, ptr noundef %2883, ptr noundef %2884)
  %2885 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2886 = load float, ptr %2885, align 4, !tbaa !11
  %2887 = load ptr, ptr %53, align 8, !tbaa !5
  %2888 = load i32, ptr %61, align 4, !tbaa !9
  %2889 = sext i32 %2888 to i64
  %2890 = getelementptr inbounds %struct.complex, ptr %2887, i64 %2889
  %2891 = getelementptr inbounds %struct.complex, ptr %2890, i32 0, i32 0
  store float %2886, ptr %2891, align 4, !tbaa !11
  %2892 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2893 = load float, ptr %2892, align 4, !tbaa !14
  %2894 = load ptr, ptr %53, align 8, !tbaa !5
  %2895 = load i32, ptr %61, align 4, !tbaa !9
  %2896 = sext i32 %2895 to i64
  %2897 = getelementptr inbounds %struct.complex, ptr %2894, i64 %2896
  %2898 = getelementptr inbounds %struct.complex, ptr %2897, i32 0, i32 1
  store float %2893, ptr %2898, align 4, !tbaa !14
  br label %2899

2899:                                             ; preds = %2864
  %2900 = load i32, ptr %71, align 4, !tbaa !9
  %2901 = add nsw i32 %2900, 1
  store i32 %2901, ptr %71, align 4, !tbaa !9
  br label %2860, !llvm.loop !50

2902:                                             ; preds = %2860
  br label %2903

2903:                                             ; preds = %2902
  %2904 = load i32, ptr %72, align 4, !tbaa !9
  %2905 = add nsw i32 %2904, 1
  store i32 %2905, ptr %72, align 4, !tbaa !9
  br label %2853, !llvm.loop !51

2906:                                             ; preds = %2853
  br label %2999

2907:                                             ; preds = %2847
  %2908 = load i32, ptr %70, align 4, !tbaa !9
  %2909 = icmp eq i32 %2908, 2
  br i1 %2909, label %2910, label %2998

2910:                                             ; preds = %2907
  %2911 = load ptr, ptr %30, align 8, !tbaa !5
  %2912 = load i32, ptr %2911, align 4, !tbaa !9
  store i32 %2912, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %2913

2913:                                             ; preds = %2994, %2910
  %2914 = load i32, ptr %72, align 4, !tbaa !9
  %2915 = load i32, ptr %59, align 4, !tbaa !9
  %2916 = icmp sle i32 %2914, %2915
  br i1 %2916, label %2917, label %2997

2917:                                             ; preds = %2913
  %2918 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %2918, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %2919

2919:                                             ; preds = %2990, %2917
  %2920 = load i32, ptr %71, align 4, !tbaa !9
  %2921 = load i32, ptr %60, align 4, !tbaa !9
  %2922 = icmp sle i32 %2920, %2921
  br i1 %2922, label %2923, label %2993

2923:                                             ; preds = %2919
  %2924 = load i32, ptr %71, align 4, !tbaa !9
  %2925 = load i32, ptr %72, align 4, !tbaa !9
  %2926 = load i32, ptr %57, align 4, !tbaa !9
  %2927 = mul nsw i32 %2925, %2926
  %2928 = add nsw i32 %2924, %2927
  store i32 %2928, ptr %61, align 4, !tbaa !9
  %2929 = load ptr, ptr %29, align 8, !tbaa !5
  %2930 = load ptr, ptr %30, align 8, !tbaa !5
  %2931 = load ptr, ptr %48, align 8, !tbaa !5
  %2932 = load ptr, ptr %49, align 8, !tbaa !5
  %2933 = load ptr, ptr %32, align 8, !tbaa !5
  %2934 = getelementptr inbounds i32, ptr %2933, i64 1
  %2935 = load ptr, ptr %34, align 8, !tbaa !5
  %2936 = getelementptr inbounds %struct.complex, ptr %2935, i64 1
  %2937 = load ptr, ptr %40, align 8, !tbaa !5
  %2938 = getelementptr inbounds %struct.complex, ptr %2937, i64 1
  %2939 = load ptr, ptr %43, align 8, !tbaa !5
  %2940 = getelementptr inbounds %struct.complex, ptr %2939, i64 1
  %2941 = load ptr, ptr %55, align 8, !tbaa !5
  %2942 = getelementptr inbounds i32, ptr %2941, i64 1
  %2943 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %2929, ptr noundef %2930, ptr noundef %71, ptr noundef %72, ptr noundef %2931, ptr noundef %2932, ptr noundef %78, ptr noundef %2934, ptr noundef %2936, ptr noundef %87, ptr noundef %2938, ptr noundef %2940, ptr noundef %91, ptr noundef %2942, ptr noundef %2943)
  %2944 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %2945 = load float, ptr %2944, align 4, !tbaa !11
  %2946 = load ptr, ptr %53, align 8, !tbaa !5
  %2947 = load i32, ptr %61, 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 !11
  %2951 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %2952 = load float, ptr %2951, align 4, !tbaa !14
  %2953 = load ptr, ptr %53, align 8, !tbaa !5
  %2954 = load i32, ptr %61, 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 !14
  %2958 = load i32, ptr %72, align 4, !tbaa !9
  %2959 = load i32, ptr %71, align 4, !tbaa !9
  %2960 = load i32, ptr %57, align 4, !tbaa !9
  %2961 = mul nsw i32 %2959, %2960
  %2962 = add nsw i32 %2958, %2961
  store i32 %2962, ptr %61, align 4, !tbaa !9
  %2963 = load i32, ptr %71, align 4, !tbaa !9
  %2964 = load i32, ptr %72, align 4, !tbaa !9
  %2965 = load i32, ptr %57, align 4, !tbaa !9
  %2966 = mul nsw i32 %2964, %2965
  %2967 = add nsw i32 %2963, %2966
  store i32 %2967, ptr %62, align 4, !tbaa !9
  %2968 = load ptr, ptr %53, align 8, !tbaa !5
  %2969 = load i32, ptr %62, align 4, !tbaa !9
  %2970 = sext i32 %2969 to i64
  %2971 = getelementptr inbounds %struct.complex, ptr %2968, i64 %2970
  %2972 = getelementptr inbounds %struct.complex, ptr %2971, i32 0, i32 0
  %2973 = load float, ptr %2972, align 4, !tbaa !11
  %2974 = load ptr, ptr %53, align 8, !tbaa !5
  %2975 = load i32, ptr %61, align 4, !tbaa !9
  %2976 = sext i32 %2975 to i64
  %2977 = getelementptr inbounds %struct.complex, ptr %2974, i64 %2976
  %2978 = getelementptr inbounds %struct.complex, ptr %2977, i32 0, i32 0
  store float %2973, ptr %2978, align 4, !tbaa !11
  %2979 = load ptr, ptr %53, align 8, !tbaa !5
  %2980 = load i32, ptr %62, align 4, !tbaa !9
  %2981 = sext i32 %2980 to i64
  %2982 = getelementptr inbounds %struct.complex, ptr %2979, i64 %2981
  %2983 = getelementptr inbounds %struct.complex, ptr %2982, i32 0, i32 1
  %2984 = load float, ptr %2983, align 4, !tbaa !14
  %2985 = load ptr, ptr %53, align 8, !tbaa !5
  %2986 = load i32, ptr %61, align 4, !tbaa !9
  %2987 = sext i32 %2986 to i64
  %2988 = getelementptr inbounds %struct.complex, ptr %2985, i64 %2987
  %2989 = getelementptr inbounds %struct.complex, ptr %2988, i32 0, i32 1
  store float %2984, ptr %2989, align 4, !tbaa !14
  br label %2990

2990:                                             ; preds = %2923
  %2991 = load i32, ptr %71, align 4, !tbaa !9
  %2992 = add nsw i32 %2991, 1
  store i32 %2992, ptr %71, align 4, !tbaa !9
  br label %2919, !llvm.loop !52

2993:                                             ; preds = %2919
  br label %2994

2994:                                             ; preds = %2993
  %2995 = load i32, ptr %72, align 4, !tbaa !9
  %2996 = add nsw i32 %2995, 1
  store i32 %2996, ptr %72, align 4, !tbaa !9
  br label %2913, !llvm.loop !53

2997:                                             ; preds = %2913
  br label %2998

2998:                                             ; preds = %2997, %2907
  br label %2999

2999:                                             ; preds = %2998, %2906
  br label %3000

3000:                                             ; preds = %2999, %2846
  br label %3979

3001:                                             ; preds = %2749
  %3002 = load i32, ptr %74, align 4, !tbaa !9
  %3003 = icmp eq i32 %3002, 1
  br i1 %3003, label %3004, label %3080

3004:                                             ; preds = %3001
  %3005 = load ptr, ptr %30, align 8, !tbaa !5
  %3006 = load i32, ptr %3005, align 4, !tbaa !9
  store i32 %3006, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3007

3007:                                             ; preds = %3076, %3004
  %3008 = load i32, ptr %72, align 4, !tbaa !9
  %3009 = load i32, ptr %59, align 4, !tbaa !9
  %3010 = icmp sle i32 %3008, %3009
  br i1 %3010, label %3011, label %3079

3011:                                             ; preds = %3007
  %3012 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3012, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %3013

3013:                                             ; preds = %3072, %3011
  %3014 = load i32, ptr %71, align 4, !tbaa !9
  %3015 = load i32, ptr %60, align 4, !tbaa !9
  %3016 = icmp sle i32 %3014, %3015
  br i1 %3016, label %3017, label %3075

3017:                                             ; preds = %3013
  %3018 = load i32, ptr %71, align 4, !tbaa !9
  %3019 = load i32, ptr %72, align 4, !tbaa !9
  %3020 = load i32, ptr %57, align 4, !tbaa !9
  %3021 = mul nsw i32 %3019, %3020
  %3022 = add nsw i32 %3018, %3021
  store i32 %3022, ptr %61, align 4, !tbaa !9
  %3023 = load ptr, ptr %29, align 8, !tbaa !5
  %3024 = load ptr, ptr %30, align 8, !tbaa !5
  %3025 = load ptr, ptr %48, align 8, !tbaa !5
  %3026 = load ptr, ptr %49, align 8, !tbaa !5
  %3027 = load ptr, ptr %32, align 8, !tbaa !5
  %3028 = getelementptr inbounds i32, ptr %3027, i64 1
  %3029 = load ptr, ptr %34, align 8, !tbaa !5
  %3030 = getelementptr inbounds %struct.complex, ptr %3029, i64 1
  %3031 = load ptr, ptr %40, align 8, !tbaa !5
  %3032 = getelementptr inbounds %struct.complex, ptr %3031, i64 1
  %3033 = load ptr, ptr %43, align 8, !tbaa !5
  %3034 = getelementptr inbounds %struct.complex, ptr %3033, i64 1
  %3035 = load ptr, ptr %55, align 8, !tbaa !5
  %3036 = getelementptr inbounds i32, ptr %3035, i64 1
  %3037 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3023, ptr noundef %3024, ptr noundef %71, ptr noundef %72, ptr noundef %3025, ptr noundef %3026, ptr noundef %78, ptr noundef %3028, ptr noundef %3030, ptr noundef %87, ptr noundef %3032, ptr noundef %3034, ptr noundef %91, ptr noundef %3036, ptr noundef %3037)
  %3038 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3039 = load float, ptr %3038, align 4, !tbaa !11
  %3040 = load ptr, ptr %53, align 8, !tbaa !5
  %3041 = load i32, ptr %61, align 4, !tbaa !9
  %3042 = sext i32 %3041 to i64
  %3043 = getelementptr inbounds %struct.complex, ptr %3040, i64 %3042
  %3044 = getelementptr inbounds %struct.complex, ptr %3043, i32 0, i32 0
  store float %3039, ptr %3044, align 4, !tbaa !11
  %3045 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3046 = load float, ptr %3045, align 4, !tbaa !14
  %3047 = load ptr, ptr %53, align 8, !tbaa !5
  %3048 = load i32, ptr %61, align 4, !tbaa !9
  %3049 = sext i32 %3048 to i64
  %3050 = getelementptr inbounds %struct.complex, ptr %3047, i64 %3049
  %3051 = getelementptr inbounds %struct.complex, ptr %3050, i32 0, i32 1
  store float %3046, ptr %3051, align 4, !tbaa !14
  %3052 = load i32, ptr %71, align 4, !tbaa !9
  %3053 = load i32, ptr %72, align 4, !tbaa !9
  %3054 = icmp ne i32 %3052, %3053
  br i1 %3054, label %3055, label %3071

3055:                                             ; preds = %3017
  %3056 = load i32, ptr %72, align 4, !tbaa !9
  %3057 = load i32, ptr %71, align 4, !tbaa !9
  %3058 = load i32, ptr %57, align 4, !tbaa !9
  %3059 = mul nsw i32 %3057, %3058
  %3060 = add nsw i32 %3056, %3059
  store i32 %3060, ptr %61, align 4, !tbaa !9
  %3061 = load ptr, ptr %53, align 8, !tbaa !5
  %3062 = load i32, ptr %61, align 4, !tbaa !9
  %3063 = sext i32 %3062 to i64
  %3064 = getelementptr inbounds %struct.complex, ptr %3061, i64 %3063
  %3065 = getelementptr inbounds %struct.complex, ptr %3064, i32 0, i32 0
  store float 0.000000e+00, ptr %3065, align 4, !tbaa !11
  %3066 = load ptr, ptr %53, align 8, !tbaa !5
  %3067 = load i32, ptr %61, align 4, !tbaa !9
  %3068 = sext i32 %3067 to i64
  %3069 = getelementptr inbounds %struct.complex, ptr %3066, i64 %3068
  %3070 = getelementptr inbounds %struct.complex, ptr %3069, i32 0, i32 1
  store float 0.000000e+00, ptr %3070, align 4, !tbaa !14
  br label %3071

3071:                                             ; preds = %3055, %3017
  br label %3072

3072:                                             ; preds = %3071
  %3073 = load i32, ptr %71, align 4, !tbaa !9
  %3074 = add nsw i32 %3073, 1
  store i32 %3074, ptr %71, align 4, !tbaa !9
  br label %3013, !llvm.loop !54

3075:                                             ; preds = %3013
  br label %3076

3076:                                             ; preds = %3075
  %3077 = load i32, ptr %72, align 4, !tbaa !9
  %3078 = add nsw i32 %3077, 1
  store i32 %3078, ptr %72, align 4, !tbaa !9
  br label %3007, !llvm.loop !55

3079:                                             ; preds = %3007
  br label %3978

3080:                                             ; preds = %3001
  %3081 = load i32, ptr %74, align 4, !tbaa !9
  %3082 = icmp eq i32 %3081, 2
  br i1 %3082, label %3083, label %3207

3083:                                             ; preds = %3080
  %3084 = load ptr, ptr %30, align 8, !tbaa !5
  %3085 = load i32, ptr %3084, align 4, !tbaa !9
  store i32 %3085, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3086

3086:                                             ; preds = %3203, %3083
  %3087 = load i32, ptr %72, align 4, !tbaa !9
  %3088 = load i32, ptr %59, align 4, !tbaa !9
  %3089 = icmp sle i32 %3087, %3088
  br i1 %3089, label %3090, label %3206

3090:                                             ; preds = %3086
  %3091 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3091, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %3092

3092:                                             ; preds = %3199, %3090
  %3093 = load i32, ptr %71, align 4, !tbaa !9
  %3094 = load i32, ptr %60, align 4, !tbaa !9
  %3095 = icmp sle i32 %3093, %3094
  br i1 %3095, label %3096, label %3202

3096:                                             ; preds = %3092
  %3097 = load i32, ptr %70, align 4, !tbaa !9
  %3098 = icmp eq i32 %3097, 0
  br i1 %3098, label %3099, label %3143

3099:                                             ; preds = %3096
  %3100 = load i32, ptr %72, align 4, !tbaa !9
  %3101 = load i32, ptr %71, align 4, !tbaa !9
  %3102 = load i32, ptr %57, align 4, !tbaa !9
  %3103 = mul nsw i32 %3101, %3102
  %3104 = add nsw i32 %3100, %3103
  store i32 %3104, ptr %61, align 4, !tbaa !9
  %3105 = load ptr, ptr %29, align 8, !tbaa !5
  %3106 = load ptr, ptr %30, align 8, !tbaa !5
  %3107 = load ptr, ptr %48, align 8, !tbaa !5
  %3108 = load ptr, ptr %49, align 8, !tbaa !5
  %3109 = load ptr, ptr %32, align 8, !tbaa !5
  %3110 = getelementptr inbounds i32, ptr %3109, i64 1
  %3111 = load ptr, ptr %34, align 8, !tbaa !5
  %3112 = getelementptr inbounds %struct.complex, ptr %3111, i64 1
  %3113 = load ptr, ptr %40, align 8, !tbaa !5
  %3114 = getelementptr inbounds %struct.complex, ptr %3113, i64 1
  %3115 = load ptr, ptr %43, align 8, !tbaa !5
  %3116 = getelementptr inbounds %struct.complex, ptr %3115, i64 1
  %3117 = load ptr, ptr %55, align 8, !tbaa !5
  %3118 = getelementptr inbounds i32, ptr %3117, i64 1
  %3119 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %66, ptr noundef %3105, ptr noundef %3106, ptr noundef %71, ptr noundef %72, ptr noundef %3107, ptr noundef %3108, ptr noundef %78, ptr noundef %3110, ptr noundef %3112, ptr noundef %87, ptr noundef %3114, ptr noundef %3116, ptr noundef %91, ptr noundef %3118, ptr noundef %3119)
  %3120 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %3120, ptr %109, align 4
  %3121 = getelementptr inbounds { float, float }, ptr %109, i32 0, i32 0
  %3122 = load float, ptr %3121, align 4
  %3123 = getelementptr inbounds { float, float }, ptr %109, i32 0, i32 1
  %3124 = load float, ptr %3123, align 4
  %3125 = fneg float %3124
  %3126 = call ptr @_pCf(ptr noundef %65)
  %3127 = getelementptr inbounds { float, float }, ptr %3126, i32 0, i32 0
  %3128 = getelementptr inbounds { float, float }, ptr %3126, i32 0, i32 1
  store float %3122, ptr %3127, align 4
  store float %3125, ptr %3128, align 4
  %3129 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3130 = load float, ptr %3129, align 4, !tbaa !11
  %3131 = load ptr, ptr %53, align 8, !tbaa !5
  %3132 = load i32, ptr %61, align 4, !tbaa !9
  %3133 = sext i32 %3132 to i64
  %3134 = getelementptr inbounds %struct.complex, ptr %3131, i64 %3133
  %3135 = getelementptr inbounds %struct.complex, ptr %3134, i32 0, i32 0
  store float %3130, ptr %3135, align 4, !tbaa !11
  %3136 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3137 = load float, ptr %3136, align 4, !tbaa !14
  %3138 = load ptr, ptr %53, align 8, !tbaa !5
  %3139 = load i32, ptr %61, align 4, !tbaa !9
  %3140 = sext i32 %3139 to i64
  %3141 = getelementptr inbounds %struct.complex, ptr %3138, i64 %3140
  %3142 = getelementptr inbounds %struct.complex, ptr %3141, i32 0, i32 1
  store float %3137, ptr %3142, align 4, !tbaa !14
  br label %3178

3143:                                             ; preds = %3096
  %3144 = load i32, ptr %72, align 4, !tbaa !9
  %3145 = load i32, ptr %71, align 4, !tbaa !9
  %3146 = load i32, ptr %57, align 4, !tbaa !9
  %3147 = mul nsw i32 %3145, %3146
  %3148 = add nsw i32 %3144, %3147
  store i32 %3148, ptr %61, align 4, !tbaa !9
  %3149 = load ptr, ptr %29, align 8, !tbaa !5
  %3150 = load ptr, ptr %30, align 8, !tbaa !5
  %3151 = load ptr, ptr %48, align 8, !tbaa !5
  %3152 = load ptr, ptr %49, align 8, !tbaa !5
  %3153 = load ptr, ptr %32, align 8, !tbaa !5
  %3154 = getelementptr inbounds i32, ptr %3153, i64 1
  %3155 = load ptr, ptr %34, align 8, !tbaa !5
  %3156 = getelementptr inbounds %struct.complex, ptr %3155, i64 1
  %3157 = load ptr, ptr %40, align 8, !tbaa !5
  %3158 = getelementptr inbounds %struct.complex, ptr %3157, i64 1
  %3159 = load ptr, ptr %43, align 8, !tbaa !5
  %3160 = getelementptr inbounds %struct.complex, ptr %3159, i64 1
  %3161 = load ptr, ptr %55, align 8, !tbaa !5
  %3162 = getelementptr inbounds i32, ptr %3161, i64 1
  %3163 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3149, ptr noundef %3150, ptr noundef %71, ptr noundef %72, ptr noundef %3151, ptr noundef %3152, ptr noundef %78, ptr noundef %3154, ptr noundef %3156, ptr noundef %87, ptr noundef %3158, ptr noundef %3160, ptr noundef %91, ptr noundef %3162, ptr noundef %3163)
  %3164 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3165 = load float, ptr %3164, align 4, !tbaa !11
  %3166 = load ptr, ptr %53, align 8, !tbaa !5
  %3167 = load i32, ptr %61, align 4, !tbaa !9
  %3168 = sext i32 %3167 to i64
  %3169 = getelementptr inbounds %struct.complex, ptr %3166, i64 %3168
  %3170 = getelementptr inbounds %struct.complex, ptr %3169, i32 0, i32 0
  store float %3165, ptr %3170, align 4, !tbaa !11
  %3171 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3172 = load float, ptr %3171, align 4, !tbaa !14
  %3173 = load ptr, ptr %53, align 8, !tbaa !5
  %3174 = load i32, ptr %61, align 4, !tbaa !9
  %3175 = sext i32 %3174 to i64
  %3176 = getelementptr inbounds %struct.complex, ptr %3173, i64 %3175
  %3177 = getelementptr inbounds %struct.complex, ptr %3176, i32 0, i32 1
  store float %3172, ptr %3177, align 4, !tbaa !14
  br label %3178

3178:                                             ; preds = %3143, %3099
  %3179 = load i32, ptr %71, align 4, !tbaa !9
  %3180 = load i32, ptr %72, align 4, !tbaa !9
  %3181 = icmp ne i32 %3179, %3180
  br i1 %3181, label %3182, label %3198

3182:                                             ; preds = %3178
  %3183 = load i32, ptr %71, align 4, !tbaa !9
  %3184 = load i32, ptr %72, align 4, !tbaa !9
  %3185 = load i32, ptr %57, align 4, !tbaa !9
  %3186 = mul nsw i32 %3184, %3185
  %3187 = add nsw i32 %3183, %3186
  store i32 %3187, ptr %61, align 4, !tbaa !9
  %3188 = load ptr, ptr %53, align 8, !tbaa !5
  %3189 = load i32, ptr %61, align 4, !tbaa !9
  %3190 = sext i32 %3189 to i64
  %3191 = getelementptr inbounds %struct.complex, ptr %3188, i64 %3190
  %3192 = getelementptr inbounds %struct.complex, ptr %3191, i32 0, i32 0
  store float 0.000000e+00, ptr %3192, align 4, !tbaa !11
  %3193 = load ptr, ptr %53, align 8, !tbaa !5
  %3194 = load i32, ptr %61, align 4, !tbaa !9
  %3195 = sext i32 %3194 to i64
  %3196 = getelementptr inbounds %struct.complex, ptr %3193, i64 %3195
  %3197 = getelementptr inbounds %struct.complex, ptr %3196, i32 0, i32 1
  store float 0.000000e+00, ptr %3197, align 4, !tbaa !14
  br label %3198

3198:                                             ; preds = %3182, %3178
  br label %3199

3199:                                             ; preds = %3198
  %3200 = load i32, ptr %71, align 4, !tbaa !9
  %3201 = add nsw i32 %3200, 1
  store i32 %3201, ptr %71, align 4, !tbaa !9
  br label %3092, !llvm.loop !56

3202:                                             ; preds = %3092
  br label %3203

3203:                                             ; preds = %3202
  %3204 = load i32, ptr %72, align 4, !tbaa !9
  %3205 = add nsw i32 %3204, 1
  store i32 %3205, ptr %72, align 4, !tbaa !9
  br label %3086, !llvm.loop !57

3206:                                             ; preds = %3086
  br label %3977

3207:                                             ; preds = %3080
  %3208 = load i32, ptr %74, align 4, !tbaa !9
  %3209 = icmp eq i32 %3208, 3
  br i1 %3209, label %3210, label %3276

3210:                                             ; preds = %3207
  store i32 0, ptr %67, align 4, !tbaa !9
  store i32 1, ptr %68, align 4, !tbaa !9
  %3211 = load ptr, ptr %30, align 8, !tbaa !5
  %3212 = load i32, ptr %3211, align 4, !tbaa !9
  store i32 %3212, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3213

3213:                                             ; preds = %3272, %3210
  %3214 = load i32, ptr %72, align 4, !tbaa !9
  %3215 = load i32, ptr %59, align 4, !tbaa !9
  %3216 = icmp sle i32 %3214, %3215
  br i1 %3216, label %3217, label %3275

3217:                                             ; preds = %3213
  %3218 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3218, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %3219

3219:                                             ; preds = %3268, %3217
  %3220 = load i32, ptr %71, align 4, !tbaa !9
  %3221 = load i32, ptr %60, align 4, !tbaa !9
  %3222 = icmp sle i32 %3220, %3221
  br i1 %3222, label %3223, label %3271

3223:                                             ; preds = %3219
  %3224 = load i32, ptr %67, align 4, !tbaa !9
  %3225 = add nsw i32 %3224, 1
  store i32 %3225, ptr %67, align 4, !tbaa !9
  %3226 = load i32, ptr %67, align 4, !tbaa !9
  %3227 = load ptr, ptr %54, align 8, !tbaa !5
  %3228 = load i32, ptr %3227, align 4, !tbaa !9
  %3229 = icmp sgt i32 %3226, %3228
  br i1 %3229, label %3230, label %3233

3230:                                             ; preds = %3223
  store i32 1, ptr %67, align 4, !tbaa !9
  %3231 = load i32, ptr %68, align 4, !tbaa !9
  %3232 = add nsw i32 %3231, 1
  store i32 %3232, ptr %68, align 4, !tbaa !9
  br label %3233

3233:                                             ; preds = %3230, %3223
  %3234 = load i32, ptr %67, align 4, !tbaa !9
  %3235 = load i32, ptr %68, align 4, !tbaa !9
  %3236 = load i32, ptr %57, align 4, !tbaa !9
  %3237 = mul nsw i32 %3235, %3236
  %3238 = add nsw i32 %3234, %3237
  store i32 %3238, ptr %61, align 4, !tbaa !9
  %3239 = load ptr, ptr %29, align 8, !tbaa !5
  %3240 = load ptr, ptr %30, align 8, !tbaa !5
  %3241 = load ptr, ptr %48, align 8, !tbaa !5
  %3242 = load ptr, ptr %49, align 8, !tbaa !5
  %3243 = load ptr, ptr %32, align 8, !tbaa !5
  %3244 = getelementptr inbounds i32, ptr %3243, i64 1
  %3245 = load ptr, ptr %34, align 8, !tbaa !5
  %3246 = getelementptr inbounds %struct.complex, ptr %3245, i64 1
  %3247 = load ptr, ptr %40, align 8, !tbaa !5
  %3248 = getelementptr inbounds %struct.complex, ptr %3247, i64 1
  %3249 = load ptr, ptr %43, align 8, !tbaa !5
  %3250 = getelementptr inbounds %struct.complex, ptr %3249, i64 1
  %3251 = load ptr, ptr %55, align 8, !tbaa !5
  %3252 = getelementptr inbounds i32, ptr %3251, i64 1
  %3253 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3239, ptr noundef %3240, ptr noundef %71, ptr noundef %72, ptr noundef %3241, ptr noundef %3242, ptr noundef %78, ptr noundef %3244, ptr noundef %3246, ptr noundef %87, ptr noundef %3248, ptr noundef %3250, ptr noundef %91, ptr noundef %3252, ptr noundef %3253)
  %3254 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3255 = load float, ptr %3254, align 4, !tbaa !11
  %3256 = load ptr, ptr %53, align 8, !tbaa !5
  %3257 = load i32, ptr %61, align 4, !tbaa !9
  %3258 = sext i32 %3257 to i64
  %3259 = getelementptr inbounds %struct.complex, ptr %3256, i64 %3258
  %3260 = getelementptr inbounds %struct.complex, ptr %3259, i32 0, i32 0
  store float %3255, ptr %3260, align 4, !tbaa !11
  %3261 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3262 = load float, ptr %3261, align 4, !tbaa !14
  %3263 = load ptr, ptr %53, align 8, !tbaa !5
  %3264 = load i32, ptr %61, align 4, !tbaa !9
  %3265 = sext i32 %3264 to i64
  %3266 = getelementptr inbounds %struct.complex, ptr %3263, i64 %3265
  %3267 = getelementptr inbounds %struct.complex, ptr %3266, i32 0, i32 1
  store float %3262, ptr %3267, align 4, !tbaa !14
  br label %3268

3268:                                             ; preds = %3233
  %3269 = load i32, ptr %71, align 4, !tbaa !9
  %3270 = add nsw i32 %3269, 1
  store i32 %3270, ptr %71, align 4, !tbaa !9
  br label %3219, !llvm.loop !58

3271:                                             ; preds = %3219
  br label %3272

3272:                                             ; preds = %3271
  %3273 = load i32, ptr %72, align 4, !tbaa !9
  %3274 = add nsw i32 %3273, 1
  store i32 %3274, ptr %72, align 4, !tbaa !9
  br label %3213, !llvm.loop !59

3275:                                             ; preds = %3213
  br label %3976

3276:                                             ; preds = %3207
  %3277 = load i32, ptr %74, align 4, !tbaa !9
  %3278 = icmp eq i32 %3277, 4
  br i1 %3278, label %3279, label %3494

3279:                                             ; preds = %3276
  %3280 = load i32, ptr %70, align 4, !tbaa !9
  %3281 = icmp eq i32 %3280, 0
  br i1 %3281, label %3285, label %3282

3282:                                             ; preds = %3279
  %3283 = load i32, ptr %70, align 4, !tbaa !9
  %3284 = icmp eq i32 %3283, 2
  br i1 %3284, label %3285, label %3425

3285:                                             ; preds = %3282, %3279
  %3286 = load ptr, ptr %30, align 8, !tbaa !5
  %3287 = load i32, ptr %3286, align 4, !tbaa !9
  store i32 %3287, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3288

3288:                                             ; preds = %3421, %3285
  %3289 = load i32, ptr %72, align 4, !tbaa !9
  %3290 = load i32, ptr %59, align 4, !tbaa !9
  %3291 = icmp sle i32 %3289, %3290
  br i1 %3291, label %3292, label %3424

3292:                                             ; preds = %3288
  %3293 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3293, ptr %60, align 4, !tbaa !9
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %3294

3294:                                             ; preds = %3417, %3292
  %3295 = load i32, ptr %71, align 4, !tbaa !9
  %3296 = load i32, ptr %60, align 4, !tbaa !9
  %3297 = icmp sle i32 %3295, %3296
  br i1 %3297, label %3298, label %3420

3298:                                             ; preds = %3294
  %3299 = load i32, ptr %71, align 4, !tbaa !9
  %3300 = icmp eq i32 %3299, 1
  br i1 %3300, label %3301, label %3303

3301:                                             ; preds = %3298
  %3302 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3302, ptr %73, align 4, !tbaa !9
  br label %3329

3303:                                             ; preds = %3298
  %3304 = load ptr, ptr %30, align 8, !tbaa !5
  %3305 = load i32, ptr %3304, align 4, !tbaa !9
  %3306 = load ptr, ptr %30, align 8, !tbaa !5
  %3307 = load i32, ptr %3306, align 4, !tbaa !9
  %3308 = add nsw i32 %3307, 1
  %3309 = mul nsw i32 %3305, %3308
  %3310 = sdiv i32 %3309, 2
  %3311 = load ptr, ptr %30, align 8, !tbaa !5
  %3312 = load i32, ptr %3311, align 4, !tbaa !9
  %3313 = load i32, ptr %71, align 4, !tbaa !9
  %3314 = sub nsw i32 %3312, %3313
  %3315 = add nsw i32 %3314, 1
  %3316 = load ptr, ptr %30, align 8, !tbaa !5
  %3317 = load i32, ptr %3316, align 4, !tbaa !9
  %3318 = load i32, ptr %71, align 4, !tbaa !9
  %3319 = sub nsw i32 %3317, %3318
  %3320 = add nsw i32 %3319, 2
  %3321 = mul nsw i32 %3315, %3320
  %3322 = sdiv i32 %3321, 2
  %3323 = sub nsw i32 %3310, %3322
  %3324 = load i32, ptr %72, align 4, !tbaa !9
  %3325 = add nsw i32 %3323, %3324
  %3326 = load i32, ptr %71, align 4, !tbaa !9
  %3327 = sub nsw i32 %3325, %3326
  %3328 = add nsw i32 %3327, 1
  store i32 %3328, ptr %73, align 4, !tbaa !9
  br label %3329

3329:                                             ; preds = %3303, %3301
  %3330 = load i32, ptr %73, align 4, !tbaa !9
  %3331 = sub nsw i32 %3330, 1
  %3332 = load ptr, ptr %54, align 8, !tbaa !5
  %3333 = load i32, ptr %3332, align 4, !tbaa !9
  %3334 = sdiv i32 %3331, %3333
  %3335 = add nsw i32 %3334, 1
  store i32 %3335, ptr %68, align 4, !tbaa !9
  %3336 = load i32, ptr %73, align 4, !tbaa !9
  %3337 = load ptr, ptr %54, align 8, !tbaa !5
  %3338 = load i32, ptr %3337, align 4, !tbaa !9
  %3339 = load i32, ptr %68, align 4, !tbaa !9
  %3340 = sub nsw i32 %3339, 1
  %3341 = mul nsw i32 %3338, %3340
  %3342 = sub nsw i32 %3336, %3341
  store i32 %3342, ptr %67, align 4, !tbaa !9
  %3343 = load i32, ptr %67, align 4, !tbaa !9
  %3344 = load i32, ptr %68, align 4, !tbaa !9
  %3345 = load i32, ptr %57, align 4, !tbaa !9
  %3346 = mul nsw i32 %3344, %3345
  %3347 = add nsw i32 %3343, %3346
  store i32 %3347, ptr %61, align 4, !tbaa !9
  %3348 = load ptr, ptr %29, align 8, !tbaa !5
  %3349 = load ptr, ptr %30, align 8, !tbaa !5
  %3350 = load ptr, ptr %48, align 8, !tbaa !5
  %3351 = load ptr, ptr %49, align 8, !tbaa !5
  %3352 = load ptr, ptr %32, align 8, !tbaa !5
  %3353 = getelementptr inbounds i32, ptr %3352, i64 1
  %3354 = load ptr, ptr %34, align 8, !tbaa !5
  %3355 = getelementptr inbounds %struct.complex, ptr %3354, i64 1
  %3356 = load ptr, ptr %40, align 8, !tbaa !5
  %3357 = getelementptr inbounds %struct.complex, ptr %3356, i64 1
  %3358 = load ptr, ptr %43, align 8, !tbaa !5
  %3359 = getelementptr inbounds %struct.complex, ptr %3358, i64 1
  %3360 = load ptr, ptr %55, align 8, !tbaa !5
  %3361 = getelementptr inbounds i32, ptr %3360, i64 1
  %3362 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3348, ptr noundef %3349, ptr noundef %71, ptr noundef %72, ptr noundef %3350, ptr noundef %3351, ptr noundef %78, ptr noundef %3353, ptr noundef %3355, ptr noundef %87, ptr noundef %3357, ptr noundef %3359, ptr noundef %91, ptr noundef %3361, ptr noundef %3362)
  %3363 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3364 = load float, ptr %3363, align 4, !tbaa !11
  %3365 = load ptr, ptr %53, align 8, !tbaa !5
  %3366 = load i32, ptr %61, align 4, !tbaa !9
  %3367 = sext i32 %3366 to i64
  %3368 = getelementptr inbounds %struct.complex, ptr %3365, i64 %3367
  %3369 = getelementptr inbounds %struct.complex, ptr %3368, i32 0, i32 0
  store float %3364, ptr %3369, align 4, !tbaa !11
  %3370 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3371 = load float, ptr %3370, align 4, !tbaa !14
  %3372 = load ptr, ptr %53, align 8, !tbaa !5
  %3373 = load i32, ptr %61, align 4, !tbaa !9
  %3374 = sext i32 %3373 to i64
  %3375 = getelementptr inbounds %struct.complex, ptr %3372, i64 %3374
  %3376 = getelementptr inbounds %struct.complex, ptr %3375, i32 0, i32 1
  store float %3371, ptr %3376, align 4, !tbaa !14
  %3377 = load i32, ptr %70, align 4, !tbaa !9
  %3378 = icmp eq i32 %3377, 0
  br i1 %3378, label %3379, label %3416

3379:                                             ; preds = %3329
  %3380 = load i32, ptr %67, align 4, !tbaa !9
  %3381 = load i32, ptr %68, align 4, !tbaa !9
  %3382 = load i32, ptr %57, align 4, !tbaa !9
  %3383 = mul nsw i32 %3381, %3382
  %3384 = add nsw i32 %3380, %3383
  store i32 %3384, ptr %61, align 4, !tbaa !9
  %3385 = load ptr, ptr %53, align 8, !tbaa !5
  %3386 = load i32, ptr %67, align 4, !tbaa !9
  %3387 = load i32, ptr %68, align 4, !tbaa !9
  %3388 = load i32, ptr %57, align 4, !tbaa !9
  %3389 = mul nsw i32 %3387, %3388
  %3390 = add nsw i32 %3386, %3389
  %3391 = sext i32 %3390 to i64
  %3392 = getelementptr inbounds %struct.complex, ptr %3385, i64 %3391
  %3393 = call <2 x float> @Cf(ptr noundef %3392)
  store <2 x float> %3393, ptr %110, align 4
  %3394 = getelementptr inbounds { float, float }, ptr %110, i32 0, i32 0
  %3395 = load float, ptr %3394, align 4
  %3396 = getelementptr inbounds { float, float }, ptr %110, i32 0, i32 1
  %3397 = load float, ptr %3396, align 4
  %3398 = fneg float %3397
  %3399 = call ptr @_pCf(ptr noundef %65)
  %3400 = getelementptr inbounds { float, float }, ptr %3399, i32 0, i32 0
  %3401 = getelementptr inbounds { float, float }, ptr %3399, i32 0, i32 1
  store float %3395, ptr %3400, align 4
  store float %3398, ptr %3401, align 4
  %3402 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3403 = load float, ptr %3402, align 4, !tbaa !11
  %3404 = load ptr, ptr %53, align 8, !tbaa !5
  %3405 = load i32, ptr %61, align 4, !tbaa !9
  %3406 = sext i32 %3405 to i64
  %3407 = getelementptr inbounds %struct.complex, ptr %3404, i64 %3406
  %3408 = getelementptr inbounds %struct.complex, ptr %3407, i32 0, i32 0
  store float %3403, ptr %3408, align 4, !tbaa !11
  %3409 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3410 = load float, ptr %3409, align 4, !tbaa !14
  %3411 = load ptr, ptr %53, align 8, !tbaa !5
  %3412 = load i32, ptr %61, align 4, !tbaa !9
  %3413 = sext i32 %3412 to i64
  %3414 = getelementptr inbounds %struct.complex, ptr %3411, i64 %3413
  %3415 = getelementptr inbounds %struct.complex, ptr %3414, i32 0, i32 1
  store float %3410, ptr %3415, align 4, !tbaa !14
  br label %3416

3416:                                             ; preds = %3379, %3329
  br label %3417

3417:                                             ; preds = %3416
  %3418 = load i32, ptr %71, align 4, !tbaa !9
  %3419 = add nsw i32 %3418, 1
  store i32 %3419, ptr %71, align 4, !tbaa !9
  br label %3294, !llvm.loop !60

3420:                                             ; preds = %3294
  br label %3421

3421:                                             ; preds = %3420
  %3422 = load i32, ptr %72, align 4, !tbaa !9
  %3423 = add nsw i32 %3422, 1
  store i32 %3423, ptr %72, align 4, !tbaa !9
  br label %3288, !llvm.loop !61

3424:                                             ; preds = %3288
  br label %3493

3425:                                             ; preds = %3282
  store i32 0, ptr %67, align 4, !tbaa !9
  store i32 1, ptr %68, align 4, !tbaa !9
  %3426 = load ptr, ptr %30, align 8, !tbaa !5
  %3427 = load i32, ptr %3426, align 4, !tbaa !9
  store i32 %3427, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3428

3428:                                             ; preds = %3489, %3425
  %3429 = load i32, ptr %72, align 4, !tbaa !9
  %3430 = load i32, ptr %59, align 4, !tbaa !9
  %3431 = icmp sle i32 %3429, %3430
  br i1 %3431, label %3432, label %3492

3432:                                             ; preds = %3428
  %3433 = load ptr, ptr %29, align 8, !tbaa !5
  %3434 = load i32, ptr %3433, align 4, !tbaa !9
  store i32 %3434, ptr %60, align 4, !tbaa !9
  %3435 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3435, ptr %71, align 4, !tbaa !9
  br label %3436

3436:                                             ; preds = %3485, %3432
  %3437 = load i32, ptr %71, align 4, !tbaa !9
  %3438 = load i32, ptr %60, align 4, !tbaa !9
  %3439 = icmp sle i32 %3437, %3438
  br i1 %3439, label %3440, label %3488

3440:                                             ; preds = %3436
  %3441 = load i32, ptr %67, align 4, !tbaa !9
  %3442 = add nsw i32 %3441, 1
  store i32 %3442, ptr %67, align 4, !tbaa !9
  %3443 = load i32, ptr %67, align 4, !tbaa !9
  %3444 = load ptr, ptr %54, align 8, !tbaa !5
  %3445 = load i32, ptr %3444, align 4, !tbaa !9
  %3446 = icmp sgt i32 %3443, %3445
  br i1 %3446, label %3447, label %3450

3447:                                             ; preds = %3440
  store i32 1, ptr %67, align 4, !tbaa !9
  %3448 = load i32, ptr %68, align 4, !tbaa !9
  %3449 = add nsw i32 %3448, 1
  store i32 %3449, ptr %68, align 4, !tbaa !9
  br label %3450

3450:                                             ; preds = %3447, %3440
  %3451 = load i32, ptr %67, align 4, !tbaa !9
  %3452 = load i32, ptr %68, align 4, !tbaa !9
  %3453 = load i32, ptr %57, align 4, !tbaa !9
  %3454 = mul nsw i32 %3452, %3453
  %3455 = add nsw i32 %3451, %3454
  store i32 %3455, ptr %61, align 4, !tbaa !9
  %3456 = load ptr, ptr %29, align 8, !tbaa !5
  %3457 = load ptr, ptr %30, align 8, !tbaa !5
  %3458 = load ptr, ptr %48, align 8, !tbaa !5
  %3459 = load ptr, ptr %49, align 8, !tbaa !5
  %3460 = load ptr, ptr %32, align 8, !tbaa !5
  %3461 = getelementptr inbounds i32, ptr %3460, i64 1
  %3462 = load ptr, ptr %34, align 8, !tbaa !5
  %3463 = getelementptr inbounds %struct.complex, ptr %3462, i64 1
  %3464 = load ptr, ptr %40, align 8, !tbaa !5
  %3465 = getelementptr inbounds %struct.complex, ptr %3464, i64 1
  %3466 = load ptr, ptr %43, align 8, !tbaa !5
  %3467 = getelementptr inbounds %struct.complex, ptr %3466, i64 1
  %3468 = load ptr, ptr %55, align 8, !tbaa !5
  %3469 = getelementptr inbounds i32, ptr %3468, i64 1
  %3470 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3456, ptr noundef %3457, ptr noundef %71, ptr noundef %72, ptr noundef %3458, ptr noundef %3459, ptr noundef %78, ptr noundef %3461, ptr noundef %3463, ptr noundef %87, ptr noundef %3465, ptr noundef %3467, ptr noundef %91, ptr noundef %3469, ptr noundef %3470)
  %3471 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3472 = load float, ptr %3471, align 4, !tbaa !11
  %3473 = load ptr, ptr %53, align 8, !tbaa !5
  %3474 = load i32, ptr %61, align 4, !tbaa !9
  %3475 = sext i32 %3474 to i64
  %3476 = getelementptr inbounds %struct.complex, ptr %3473, i64 %3475
  %3477 = getelementptr inbounds %struct.complex, ptr %3476, i32 0, i32 0
  store float %3472, ptr %3477, align 4, !tbaa !11
  %3478 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3479 = load float, ptr %3478, align 4, !tbaa !14
  %3480 = load ptr, ptr %53, align 8, !tbaa !5
  %3481 = load i32, ptr %61, align 4, !tbaa !9
  %3482 = sext i32 %3481 to i64
  %3483 = getelementptr inbounds %struct.complex, ptr %3480, i64 %3482
  %3484 = getelementptr inbounds %struct.complex, ptr %3483, i32 0, i32 1
  store float %3479, ptr %3484, align 4, !tbaa !14
  br label %3485

3485:                                             ; preds = %3450
  %3486 = load i32, ptr %71, align 4, !tbaa !9
  %3487 = add nsw i32 %3486, 1
  store i32 %3487, ptr %71, align 4, !tbaa !9
  br label %3436, !llvm.loop !62

3488:                                             ; preds = %3436
  br label %3489

3489:                                             ; preds = %3488
  %3490 = load i32, ptr %72, align 4, !tbaa !9
  %3491 = add nsw i32 %3490, 1
  store i32 %3491, ptr %72, align 4, !tbaa !9
  br label %3428, !llvm.loop !63

3492:                                             ; preds = %3428
  br label %3493

3493:                                             ; preds = %3492, %3424
  br label %3975

3494:                                             ; preds = %3276
  %3495 = load i32, ptr %74, align 4, !tbaa !9
  %3496 = icmp eq i32 %3495, 5
  br i1 %3496, label %3497, label %3636

3497:                                             ; preds = %3494
  %3498 = load ptr, ptr %30, align 8, !tbaa !5
  %3499 = load i32, ptr %3498, align 4, !tbaa !9
  store i32 %3499, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3500

3500:                                             ; preds = %3632, %3497
  %3501 = load i32, ptr %72, align 4, !tbaa !9
  %3502 = load i32, ptr %59, align 4, !tbaa !9
  %3503 = icmp sle i32 %3501, %3502
  br i1 %3503, label %3504, label %3635

3504:                                             ; preds = %3500
  %3505 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3505, ptr %60, align 4, !tbaa !9
  %3506 = load i32, ptr %72, align 4, !tbaa !9
  %3507 = load i32, ptr %93, align 4, !tbaa !9
  %3508 = sub nsw i32 %3506, %3507
  store i32 %3508, ptr %71, align 4, !tbaa !9
  br label %3509

3509:                                             ; preds = %3628, %3504
  %3510 = load i32, ptr %71, align 4, !tbaa !9
  %3511 = load i32, ptr %60, align 4, !tbaa !9
  %3512 = icmp sle i32 %3510, %3511
  br i1 %3512, label %3513, label %3631

3513:                                             ; preds = %3509
  %3514 = load i32, ptr %71, align 4, !tbaa !9
  %3515 = icmp slt i32 %3514, 1
  br i1 %3515, label %3516, label %3538

3516:                                             ; preds = %3513
  %3517 = load i32, ptr %72, align 4, !tbaa !9
  %3518 = load i32, ptr %71, align 4, !tbaa !9
  %3519 = sub nsw i32 %3517, %3518
  %3520 = add nsw i32 %3519, 1
  %3521 = load i32, ptr %71, align 4, !tbaa !9
  %3522 = load ptr, ptr %30, align 8, !tbaa !5
  %3523 = load i32, ptr %3522, align 4, !tbaa !9
  %3524 = add nsw i32 %3521, %3523
  %3525 = load i32, ptr %57, align 4, !tbaa !9
  %3526 = mul nsw i32 %3524, %3525
  %3527 = add nsw i32 %3520, %3526
  store i32 %3527, ptr %61, align 4, !tbaa !9
  %3528 = load ptr, ptr %53, align 8, !tbaa !5
  %3529 = load i32, ptr %61, align 4, !tbaa !9
  %3530 = sext i32 %3529 to i64
  %3531 = getelementptr inbounds %struct.complex, ptr %3528, i64 %3530
  %3532 = getelementptr inbounds %struct.complex, ptr %3531, i32 0, i32 0
  store float 0.000000e+00, ptr %3532, align 4, !tbaa !11
  %3533 = load ptr, ptr %53, align 8, !tbaa !5
  %3534 = load i32, ptr %61, align 4, !tbaa !9
  %3535 = sext i32 %3534 to i64
  %3536 = getelementptr inbounds %struct.complex, ptr %3533, i64 %3535
  %3537 = getelementptr inbounds %struct.complex, ptr %3536, i32 0, i32 1
  store float 0.000000e+00, ptr %3537, align 4, !tbaa !14
  br label %3627

3538:                                             ; preds = %3513
  %3539 = load i32, ptr %70, align 4, !tbaa !9
  %3540 = icmp eq i32 %3539, 0
  br i1 %3540, label %3541, label %3588

3541:                                             ; preds = %3538
  %3542 = load i32, ptr %72, align 4, !tbaa !9
  %3543 = load i32, ptr %71, align 4, !tbaa !9
  %3544 = sub nsw i32 %3542, %3543
  %3545 = add nsw i32 %3544, 1
  %3546 = load i32, ptr %71, align 4, !tbaa !9
  %3547 = load i32, ptr %57, align 4, !tbaa !9
  %3548 = mul nsw i32 %3546, %3547
  %3549 = add nsw i32 %3545, %3548
  store i32 %3549, ptr %61, align 4, !tbaa !9
  %3550 = load ptr, ptr %29, align 8, !tbaa !5
  %3551 = load ptr, ptr %30, align 8, !tbaa !5
  %3552 = load ptr, ptr %48, align 8, !tbaa !5
  %3553 = load ptr, ptr %49, align 8, !tbaa !5
  %3554 = load ptr, ptr %32, align 8, !tbaa !5
  %3555 = getelementptr inbounds i32, ptr %3554, i64 1
  %3556 = load ptr, ptr %34, align 8, !tbaa !5
  %3557 = getelementptr inbounds %struct.complex, ptr %3556, i64 1
  %3558 = load ptr, ptr %40, align 8, !tbaa !5
  %3559 = getelementptr inbounds %struct.complex, ptr %3558, i64 1
  %3560 = load ptr, ptr %43, align 8, !tbaa !5
  %3561 = getelementptr inbounds %struct.complex, ptr %3560, i64 1
  %3562 = load ptr, ptr %55, align 8, !tbaa !5
  %3563 = getelementptr inbounds i32, ptr %3562, i64 1
  %3564 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %66, ptr noundef %3550, ptr noundef %3551, ptr noundef %71, ptr noundef %72, ptr noundef %3552, ptr noundef %3553, ptr noundef %78, ptr noundef %3555, ptr noundef %3557, ptr noundef %87, ptr noundef %3559, ptr noundef %3561, ptr noundef %91, ptr noundef %3563, ptr noundef %3564)
  %3565 = call <2 x float> @Cf(ptr noundef %66)
  store <2 x float> %3565, ptr %111, align 4
  %3566 = getelementptr inbounds { float, float }, ptr %111, i32 0, i32 0
  %3567 = load float, ptr %3566, align 4
  %3568 = getelementptr inbounds { float, float }, ptr %111, i32 0, i32 1
  %3569 = load float, ptr %3568, align 4
  %3570 = fneg float %3569
  %3571 = call ptr @_pCf(ptr noundef %65)
  %3572 = getelementptr inbounds { float, float }, ptr %3571, i32 0, i32 0
  %3573 = getelementptr inbounds { float, float }, ptr %3571, i32 0, i32 1
  store float %3567, ptr %3572, align 4
  store float %3570, ptr %3573, align 4
  %3574 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3575 = load float, ptr %3574, align 4, !tbaa !11
  %3576 = load ptr, ptr %53, align 8, !tbaa !5
  %3577 = load i32, ptr %61, align 4, !tbaa !9
  %3578 = sext i32 %3577 to i64
  %3579 = getelementptr inbounds %struct.complex, ptr %3576, i64 %3578
  %3580 = getelementptr inbounds %struct.complex, ptr %3579, i32 0, i32 0
  store float %3575, ptr %3580, align 4, !tbaa !11
  %3581 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3582 = load float, ptr %3581, align 4, !tbaa !14
  %3583 = load ptr, ptr %53, align 8, !tbaa !5
  %3584 = load i32, ptr %61, align 4, !tbaa !9
  %3585 = sext i32 %3584 to i64
  %3586 = getelementptr inbounds %struct.complex, ptr %3583, i64 %3585
  %3587 = getelementptr inbounds %struct.complex, ptr %3586, i32 0, i32 1
  store float %3582, ptr %3587, align 4, !tbaa !14
  br label %3626

3588:                                             ; preds = %3538
  %3589 = load i32, ptr %72, align 4, !tbaa !9
  %3590 = load i32, ptr %71, align 4, !tbaa !9
  %3591 = sub nsw i32 %3589, %3590
  %3592 = add nsw i32 %3591, 1
  %3593 = load i32, ptr %71, align 4, !tbaa !9
  %3594 = load i32, ptr %57, align 4, !tbaa !9
  %3595 = mul nsw i32 %3593, %3594
  %3596 = add nsw i32 %3592, %3595
  store i32 %3596, ptr %61, align 4, !tbaa !9
  %3597 = load ptr, ptr %29, align 8, !tbaa !5
  %3598 = load ptr, ptr %30, align 8, !tbaa !5
  %3599 = load ptr, ptr %48, align 8, !tbaa !5
  %3600 = load ptr, ptr %49, align 8, !tbaa !5
  %3601 = load ptr, ptr %32, align 8, !tbaa !5
  %3602 = getelementptr inbounds i32, ptr %3601, i64 1
  %3603 = load ptr, ptr %34, align 8, !tbaa !5
  %3604 = getelementptr inbounds %struct.complex, ptr %3603, i64 1
  %3605 = load ptr, ptr %40, align 8, !tbaa !5
  %3606 = getelementptr inbounds %struct.complex, ptr %3605, i64 1
  %3607 = load ptr, ptr %43, align 8, !tbaa !5
  %3608 = getelementptr inbounds %struct.complex, ptr %3607, i64 1
  %3609 = load ptr, ptr %55, align 8, !tbaa !5
  %3610 = getelementptr inbounds i32, ptr %3609, i64 1
  %3611 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3597, ptr noundef %3598, ptr noundef %71, ptr noundef %72, ptr noundef %3599, ptr noundef %3600, ptr noundef %78, ptr noundef %3602, ptr noundef %3604, ptr noundef %87, ptr noundef %3606, ptr noundef %3608, ptr noundef %91, ptr noundef %3610, ptr noundef %3611)
  %3612 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3613 = load float, ptr %3612, align 4, !tbaa !11
  %3614 = load ptr, ptr %53, align 8, !tbaa !5
  %3615 = load i32, ptr %61, align 4, !tbaa !9
  %3616 = sext i32 %3615 to i64
  %3617 = getelementptr inbounds %struct.complex, ptr %3614, i64 %3616
  %3618 = getelementptr inbounds %struct.complex, ptr %3617, i32 0, i32 0
  store float %3613, ptr %3618, align 4, !tbaa !11
  %3619 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3620 = load float, ptr %3619, align 4, !tbaa !14
  %3621 = load ptr, ptr %53, align 8, !tbaa !5
  %3622 = load i32, ptr %61, align 4, !tbaa !9
  %3623 = sext i32 %3622 to i64
  %3624 = getelementptr inbounds %struct.complex, ptr %3621, i64 %3623
  %3625 = getelementptr inbounds %struct.complex, ptr %3624, i32 0, i32 1
  store float %3620, ptr %3625, align 4, !tbaa !14
  br label %3626

3626:                                             ; preds = %3588, %3541
  br label %3627

3627:                                             ; preds = %3626, %3516
  br label %3628

3628:                                             ; preds = %3627
  %3629 = load i32, ptr %71, align 4, !tbaa !9
  %3630 = add nsw i32 %3629, 1
  store i32 %3630, ptr %71, align 4, !tbaa !9
  br label %3509, !llvm.loop !64

3631:                                             ; preds = %3509
  br label %3632

3632:                                             ; preds = %3631
  %3633 = load i32, ptr %72, align 4, !tbaa !9
  %3634 = add nsw i32 %3633, 1
  store i32 %3634, ptr %72, align 4, !tbaa !9
  br label %3500, !llvm.loop !65

3635:                                             ; preds = %3500
  br label %3974

3636:                                             ; preds = %3494
  %3637 = load i32, ptr %74, align 4, !tbaa !9
  %3638 = icmp eq i32 %3637, 6
  br i1 %3638, label %3639, label %3703

3639:                                             ; preds = %3636
  %3640 = load ptr, ptr %30, align 8, !tbaa !5
  %3641 = load i32, ptr %3640, align 4, !tbaa !9
  store i32 %3641, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3642

3642:                                             ; preds = %3699, %3639
  %3643 = load i32, ptr %72, align 4, !tbaa !9
  %3644 = load i32, ptr %59, align 4, !tbaa !9
  %3645 = icmp sle i32 %3643, %3644
  br i1 %3645, label %3646, label %3702

3646:                                             ; preds = %3642
  %3647 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3647, ptr %60, align 4, !tbaa !9
  %3648 = load i32, ptr %72, align 4, !tbaa !9
  %3649 = load i32, ptr %93, align 4, !tbaa !9
  %3650 = sub nsw i32 %3648, %3649
  store i32 %3650, ptr %71, align 4, !tbaa !9
  br label %3651

3651:                                             ; preds = %3695, %3646
  %3652 = load i32, ptr %71, align 4, !tbaa !9
  %3653 = load i32, ptr %60, align 4, !tbaa !9
  %3654 = icmp sle i32 %3652, %3653
  br i1 %3654, label %3655, label %3698

3655:                                             ; preds = %3651
  %3656 = load i32, ptr %71, align 4, !tbaa !9
  %3657 = load i32, ptr %72, align 4, !tbaa !9
  %3658 = sub nsw i32 %3656, %3657
  %3659 = load i32, ptr %93, align 4, !tbaa !9
  %3660 = add nsw i32 %3658, %3659
  %3661 = add nsw i32 %3660, 1
  %3662 = load i32, ptr %72, align 4, !tbaa !9
  %3663 = load i32, ptr %57, align 4, !tbaa !9
  %3664 = mul nsw i32 %3662, %3663
  %3665 = add nsw i32 %3661, %3664
  store i32 %3665, ptr %61, align 4, !tbaa !9
  %3666 = load ptr, ptr %29, align 8, !tbaa !5
  %3667 = load ptr, ptr %30, align 8, !tbaa !5
  %3668 = load ptr, ptr %48, align 8, !tbaa !5
  %3669 = load ptr, ptr %49, align 8, !tbaa !5
  %3670 = load ptr, ptr %32, align 8, !tbaa !5
  %3671 = getelementptr inbounds i32, ptr %3670, i64 1
  %3672 = load ptr, ptr %34, align 8, !tbaa !5
  %3673 = getelementptr inbounds %struct.complex, ptr %3672, i64 1
  %3674 = load ptr, ptr %40, align 8, !tbaa !5
  %3675 = getelementptr inbounds %struct.complex, ptr %3674, i64 1
  %3676 = load ptr, ptr %43, align 8, !tbaa !5
  %3677 = getelementptr inbounds %struct.complex, ptr %3676, i64 1
  %3678 = load ptr, ptr %55, align 8, !tbaa !5
  %3679 = getelementptr inbounds i32, ptr %3678, i64 1
  %3680 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3666, ptr noundef %3667, ptr noundef %71, ptr noundef %72, ptr noundef %3668, ptr noundef %3669, ptr noundef %78, ptr noundef %3671, ptr noundef %3673, ptr noundef %87, ptr noundef %3675, ptr noundef %3677, ptr noundef %91, ptr noundef %3679, ptr noundef %3680)
  %3681 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3682 = load float, ptr %3681, align 4, !tbaa !11
  %3683 = load ptr, ptr %53, align 8, !tbaa !5
  %3684 = load i32, ptr %61, align 4, !tbaa !9
  %3685 = sext i32 %3684 to i64
  %3686 = getelementptr inbounds %struct.complex, ptr %3683, i64 %3685
  %3687 = getelementptr inbounds %struct.complex, ptr %3686, i32 0, i32 0
  store float %3682, ptr %3687, align 4, !tbaa !11
  %3688 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3689 = load float, ptr %3688, align 4, !tbaa !14
  %3690 = load ptr, ptr %53, align 8, !tbaa !5
  %3691 = load i32, ptr %61, align 4, !tbaa !9
  %3692 = sext i32 %3691 to i64
  %3693 = getelementptr inbounds %struct.complex, ptr %3690, i64 %3692
  %3694 = getelementptr inbounds %struct.complex, ptr %3693, i32 0, i32 1
  store float %3689, ptr %3694, align 4, !tbaa !14
  br label %3695

3695:                                             ; preds = %3655
  %3696 = load i32, ptr %71, align 4, !tbaa !9
  %3697 = add nsw i32 %3696, 1
  store i32 %3697, ptr %71, align 4, !tbaa !9
  br label %3651, !llvm.loop !66

3698:                                             ; preds = %3651
  br label %3699

3699:                                             ; preds = %3698
  %3700 = load i32, ptr %72, align 4, !tbaa !9
  %3701 = add nsw i32 %3700, 1
  store i32 %3701, ptr %72, align 4, !tbaa !9
  br label %3642, !llvm.loop !67

3702:                                             ; preds = %3642
  br label %3973

3703:                                             ; preds = %3636
  %3704 = load i32, ptr %74, align 4, !tbaa !9
  %3705 = icmp eq i32 %3704, 7
  br i1 %3705, label %3706, label %3972

3706:                                             ; preds = %3703
  %3707 = load i32, ptr %70, align 4, !tbaa !9
  %3708 = icmp ne i32 %3707, 1
  br i1 %3708, label %3709, label %3901

3709:                                             ; preds = %3706
  %3710 = load ptr, ptr %30, align 8, !tbaa !5
  %3711 = load i32, ptr %3710, align 4, !tbaa !9
  store i32 %3711, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3712

3712:                                             ; preds = %3897, %3709
  %3713 = load i32, ptr %72, align 4, !tbaa !9
  %3714 = load i32, ptr %59, align 4, !tbaa !9
  %3715 = icmp sle i32 %3713, %3714
  br i1 %3715, label %3716, label %3900

3716:                                             ; preds = %3712
  %3717 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %3717, ptr %60, align 4, !tbaa !9
  %3718 = load i32, ptr %72, align 4, !tbaa !9
  %3719 = load i32, ptr %93, align 4, !tbaa !9
  %3720 = sub nsw i32 %3718, %3719
  store i32 %3720, ptr %71, align 4, !tbaa !9
  br label %3721

3721:                                             ; preds = %3893, %3716
  %3722 = load i32, ptr %71, align 4, !tbaa !9
  %3723 = load i32, ptr %60, align 4, !tbaa !9
  %3724 = icmp sle i32 %3722, %3723
  br i1 %3724, label %3725, label %3896

3725:                                             ; preds = %3721
  %3726 = load i32, ptr %71, align 4, !tbaa !9
  %3727 = load i32, ptr %72, align 4, !tbaa !9
  %3728 = sub nsw i32 %3726, %3727
  %3729 = load i32, ptr %93, align 4, !tbaa !9
  %3730 = add nsw i32 %3728, %3729
  %3731 = add nsw i32 %3730, 1
  %3732 = load i32, ptr %72, align 4, !tbaa !9
  %3733 = load i32, ptr %57, align 4, !tbaa !9
  %3734 = mul nsw i32 %3732, %3733
  %3735 = add nsw i32 %3731, %3734
  store i32 %3735, ptr %61, align 4, !tbaa !9
  %3736 = load ptr, ptr %29, align 8, !tbaa !5
  %3737 = load ptr, ptr %30, align 8, !tbaa !5
  %3738 = load ptr, ptr %48, align 8, !tbaa !5
  %3739 = load ptr, ptr %49, align 8, !tbaa !5
  %3740 = load ptr, ptr %32, align 8, !tbaa !5
  %3741 = getelementptr inbounds i32, ptr %3740, i64 1
  %3742 = load ptr, ptr %34, align 8, !tbaa !5
  %3743 = getelementptr inbounds %struct.complex, ptr %3742, i64 1
  %3744 = load ptr, ptr %40, align 8, !tbaa !5
  %3745 = getelementptr inbounds %struct.complex, ptr %3744, i64 1
  %3746 = load ptr, ptr %43, align 8, !tbaa !5
  %3747 = getelementptr inbounds %struct.complex, ptr %3746, i64 1
  %3748 = load ptr, ptr %55, align 8, !tbaa !5
  %3749 = getelementptr inbounds i32, ptr %3748, i64 1
  %3750 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3736, ptr noundef %3737, ptr noundef %71, ptr noundef %72, ptr noundef %3738, ptr noundef %3739, ptr noundef %78, ptr noundef %3741, ptr noundef %3743, ptr noundef %87, ptr noundef %3745, ptr noundef %3747, ptr noundef %91, ptr noundef %3749, ptr noundef %3750)
  %3751 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3752 = load float, ptr %3751, align 4, !tbaa !11
  %3753 = load ptr, ptr %53, align 8, !tbaa !5
  %3754 = load i32, ptr %61, align 4, !tbaa !9
  %3755 = sext i32 %3754 to i64
  %3756 = getelementptr inbounds %struct.complex, ptr %3753, i64 %3755
  %3757 = getelementptr inbounds %struct.complex, ptr %3756, i32 0, i32 0
  store float %3752, ptr %3757, align 4, !tbaa !11
  %3758 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3759 = load float, ptr %3758, align 4, !tbaa !14
  %3760 = load ptr, ptr %53, align 8, !tbaa !5
  %3761 = load i32, ptr %61, align 4, !tbaa !9
  %3762 = sext i32 %3761 to i64
  %3763 = getelementptr inbounds %struct.complex, ptr %3760, i64 %3762
  %3764 = getelementptr inbounds %struct.complex, ptr %3763, i32 0, i32 1
  store float %3759, ptr %3764, align 4, !tbaa !14
  %3765 = load i32, ptr %71, align 4, !tbaa !9
  %3766 = icmp slt i32 %3765, 1
  br i1 %3766, label %3767, label %3791

3767:                                             ; preds = %3725
  %3768 = load i32, ptr %72, align 4, !tbaa !9
  %3769 = load i32, ptr %71, align 4, !tbaa !9
  %3770 = sub nsw i32 %3768, %3769
  %3771 = add nsw i32 %3770, 1
  %3772 = load i32, ptr %93, align 4, !tbaa !9
  %3773 = add nsw i32 %3771, %3772
  %3774 = load i32, ptr %71, align 4, !tbaa !9
  %3775 = load ptr, ptr %30, align 8, !tbaa !5
  %3776 = load i32, ptr %3775, align 4, !tbaa !9
  %3777 = add nsw i32 %3774, %3776
  %3778 = load i32, ptr %57, align 4, !tbaa !9
  %3779 = mul nsw i32 %3777, %3778
  %3780 = add nsw i32 %3773, %3779
  store i32 %3780, ptr %61, align 4, !tbaa !9
  %3781 = load ptr, ptr %53, align 8, !tbaa !5
  %3782 = load i32, ptr %61, align 4, !tbaa !9
  %3783 = sext i32 %3782 to i64
  %3784 = getelementptr inbounds %struct.complex, ptr %3781, i64 %3783
  %3785 = getelementptr inbounds %struct.complex, ptr %3784, i32 0, i32 0
  store float 0.000000e+00, ptr %3785, align 4, !tbaa !11
  %3786 = load ptr, ptr %53, align 8, !tbaa !5
  %3787 = load i32, ptr %61, align 4, !tbaa !9
  %3788 = sext i32 %3787 to i64
  %3789 = getelementptr inbounds %struct.complex, ptr %3786, i64 %3788
  %3790 = getelementptr inbounds %struct.complex, ptr %3789, i32 0, i32 1
  store float 0.000000e+00, ptr %3790, align 4, !tbaa !14
  br label %3791

3791:                                             ; preds = %3767, %3725
  %3792 = load i32, ptr %71, align 4, !tbaa !9
  %3793 = icmp sge i32 %3792, 1
  br i1 %3793, label %3794, label %3892

3794:                                             ; preds = %3791
  %3795 = load i32, ptr %71, align 4, !tbaa !9
  %3796 = load i32, ptr %72, align 4, !tbaa !9
  %3797 = icmp ne i32 %3795, %3796
  br i1 %3797, label %3798, label %3892

3798:                                             ; preds = %3794
  %3799 = load i32, ptr %70, align 4, !tbaa !9
  %3800 = icmp eq i32 %3799, 0
  br i1 %3800, label %3801, label %3848

3801:                                             ; preds = %3798
  %3802 = load i32, ptr %72, align 4, !tbaa !9
  %3803 = load i32, ptr %71, align 4, !tbaa !9
  %3804 = sub nsw i32 %3802, %3803
  %3805 = add nsw i32 %3804, 1
  %3806 = load i32, ptr %93, align 4, !tbaa !9
  %3807 = add nsw i32 %3805, %3806
  %3808 = load i32, ptr %71, align 4, !tbaa !9
  %3809 = load i32, ptr %57, align 4, !tbaa !9
  %3810 = mul nsw i32 %3808, %3809
  %3811 = add nsw i32 %3807, %3810
  store i32 %3811, ptr %61, align 4, !tbaa !9
  %3812 = load ptr, ptr %53, align 8, !tbaa !5
  %3813 = load i32, ptr %71, align 4, !tbaa !9
  %3814 = load i32, ptr %72, align 4, !tbaa !9
  %3815 = sub nsw i32 %3813, %3814
  %3816 = load i32, ptr %93, align 4, !tbaa !9
  %3817 = add nsw i32 %3815, %3816
  %3818 = add nsw i32 %3817, 1
  %3819 = load i32, ptr %72, align 4, !tbaa !9
  %3820 = load i32, ptr %57, align 4, !tbaa !9
  %3821 = mul nsw i32 %3819, %3820
  %3822 = add nsw i32 %3818, %3821
  %3823 = sext i32 %3822 to i64
  %3824 = getelementptr inbounds %struct.complex, ptr %3812, i64 %3823
  %3825 = call <2 x float> @Cf(ptr noundef %3824)
  store <2 x float> %3825, ptr %112, align 4
  %3826 = getelementptr inbounds { float, float }, ptr %112, i32 0, i32 0
  %3827 = load float, ptr %3826, align 4
  %3828 = getelementptr inbounds { float, float }, ptr %112, i32 0, i32 1
  %3829 = load float, ptr %3828, align 4
  %3830 = fneg float %3829
  %3831 = call ptr @_pCf(ptr noundef %65)
  %3832 = getelementptr inbounds { float, float }, ptr %3831, i32 0, i32 0
  %3833 = getelementptr inbounds { float, float }, ptr %3831, i32 0, i32 1
  store float %3827, ptr %3832, align 4
  store float %3830, ptr %3833, align 4
  %3834 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3835 = load float, ptr %3834, align 4, !tbaa !11
  %3836 = load ptr, ptr %53, align 8, !tbaa !5
  %3837 = load i32, ptr %61, align 4, !tbaa !9
  %3838 = sext i32 %3837 to i64
  %3839 = getelementptr inbounds %struct.complex, ptr %3836, i64 %3838
  %3840 = getelementptr inbounds %struct.complex, ptr %3839, i32 0, i32 0
  store float %3835, ptr %3840, align 4, !tbaa !11
  %3841 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3842 = load float, ptr %3841, align 4, !tbaa !14
  %3843 = load ptr, ptr %53, align 8, !tbaa !5
  %3844 = load i32, ptr %61, align 4, !tbaa !9
  %3845 = sext i32 %3844 to i64
  %3846 = getelementptr inbounds %struct.complex, ptr %3843, i64 %3845
  %3847 = getelementptr inbounds %struct.complex, ptr %3846, i32 0, i32 1
  store float %3842, ptr %3847, align 4, !tbaa !14
  br label %3891

3848:                                             ; preds = %3798
  %3849 = load i32, ptr %72, align 4, !tbaa !9
  %3850 = load i32, ptr %71, align 4, !tbaa !9
  %3851 = sub nsw i32 %3849, %3850
  %3852 = add nsw i32 %3851, 1
  %3853 = load i32, ptr %93, align 4, !tbaa !9
  %3854 = add nsw i32 %3852, %3853
  %3855 = load i32, ptr %71, align 4, !tbaa !9
  %3856 = load i32, ptr %57, align 4, !tbaa !9
  %3857 = mul nsw i32 %3855, %3856
  %3858 = add nsw i32 %3854, %3857
  store i32 %3858, ptr %61, align 4, !tbaa !9
  %3859 = load i32, ptr %71, align 4, !tbaa !9
  %3860 = load i32, ptr %72, align 4, !tbaa !9
  %3861 = sub nsw i32 %3859, %3860
  %3862 = load i32, ptr %93, align 4, !tbaa !9
  %3863 = add nsw i32 %3861, %3862
  %3864 = add nsw i32 %3863, 1
  %3865 = load i32, ptr %72, align 4, !tbaa !9
  %3866 = load i32, ptr %57, align 4, !tbaa !9
  %3867 = mul nsw i32 %3865, %3866
  %3868 = add nsw i32 %3864, %3867
  store i32 %3868, ptr %62, align 4, !tbaa !9
  %3869 = load ptr, ptr %53, align 8, !tbaa !5
  %3870 = load i32, ptr %62, align 4, !tbaa !9
  %3871 = sext i32 %3870 to i64
  %3872 = getelementptr inbounds %struct.complex, ptr %3869, i64 %3871
  %3873 = getelementptr inbounds %struct.complex, ptr %3872, i32 0, i32 0
  %3874 = load float, ptr %3873, align 4, !tbaa !11
  %3875 = load ptr, ptr %53, align 8, !tbaa !5
  %3876 = load i32, ptr %61, align 4, !tbaa !9
  %3877 = sext i32 %3876 to i64
  %3878 = getelementptr inbounds %struct.complex, ptr %3875, i64 %3877
  %3879 = getelementptr inbounds %struct.complex, ptr %3878, i32 0, i32 0
  store float %3874, ptr %3879, align 4, !tbaa !11
  %3880 = load ptr, ptr %53, align 8, !tbaa !5
  %3881 = load i32, ptr %62, align 4, !tbaa !9
  %3882 = sext i32 %3881 to i64
  %3883 = getelementptr inbounds %struct.complex, ptr %3880, i64 %3882
  %3884 = getelementptr inbounds %struct.complex, ptr %3883, i32 0, i32 1
  %3885 = load float, ptr %3884, align 4, !tbaa !14
  %3886 = load ptr, ptr %53, align 8, !tbaa !5
  %3887 = load i32, ptr %61, align 4, !tbaa !9
  %3888 = sext i32 %3887 to i64
  %3889 = getelementptr inbounds %struct.complex, ptr %3886, i64 %3888
  %3890 = getelementptr inbounds %struct.complex, ptr %3889, i32 0, i32 1
  store float %3885, ptr %3890, align 4, !tbaa !14
  br label %3891

3891:                                             ; preds = %3848, %3801
  br label %3892

3892:                                             ; preds = %3891, %3794, %3791
  br label %3893

3893:                                             ; preds = %3892
  %3894 = load i32, ptr %71, align 4, !tbaa !9
  %3895 = add nsw i32 %3894, 1
  store i32 %3895, ptr %71, align 4, !tbaa !9
  br label %3721, !llvm.loop !68

3896:                                             ; preds = %3721
  br label %3897

3897:                                             ; preds = %3896
  %3898 = load i32, ptr %72, align 4, !tbaa !9
  %3899 = add nsw i32 %3898, 1
  store i32 %3899, ptr %72, align 4, !tbaa !9
  br label %3712, !llvm.loop !69

3900:                                             ; preds = %3712
  br label %3971

3901:                                             ; preds = %3706
  %3902 = load i32, ptr %70, align 4, !tbaa !9
  %3903 = icmp eq i32 %3902, 1
  br i1 %3903, label %3904, label %3970

3904:                                             ; preds = %3901
  %3905 = load ptr, ptr %30, align 8, !tbaa !5
  %3906 = load i32, ptr %3905, align 4, !tbaa !9
  store i32 %3906, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %3907

3907:                                             ; preds = %3966, %3904
  %3908 = load i32, ptr %72, align 4, !tbaa !9
  %3909 = load i32, ptr %59, align 4, !tbaa !9
  %3910 = icmp sle i32 %3908, %3909
  br i1 %3910, label %3911, label %3969

3911:                                             ; preds = %3907
  %3912 = load i32, ptr %72, align 4, !tbaa !9
  %3913 = load i32, ptr %92, align 4, !tbaa !9
  %3914 = add nsw i32 %3912, %3913
  store i32 %3914, ptr %60, align 4, !tbaa !9
  %3915 = load i32, ptr %72, align 4, !tbaa !9
  %3916 = load i32, ptr %93, align 4, !tbaa !9
  %3917 = sub nsw i32 %3915, %3916
  store i32 %3917, ptr %71, align 4, !tbaa !9
  br label %3918

3918:                                             ; preds = %3962, %3911
  %3919 = load i32, ptr %71, align 4, !tbaa !9
  %3920 = load i32, ptr %60, align 4, !tbaa !9
  %3921 = icmp sle i32 %3919, %3920
  br i1 %3921, label %3922, label %3965

3922:                                             ; preds = %3918
  %3923 = load i32, ptr %71, align 4, !tbaa !9
  %3924 = load i32, ptr %72, align 4, !tbaa !9
  %3925 = sub nsw i32 %3923, %3924
  %3926 = load i32, ptr %93, align 4, !tbaa !9
  %3927 = add nsw i32 %3925, %3926
  %3928 = add nsw i32 %3927, 1
  %3929 = load i32, ptr %72, align 4, !tbaa !9
  %3930 = load i32, ptr %57, align 4, !tbaa !9
  %3931 = mul nsw i32 %3929, %3930
  %3932 = add nsw i32 %3928, %3931
  store i32 %3932, ptr %61, align 4, !tbaa !9
  %3933 = load ptr, ptr %29, align 8, !tbaa !5
  %3934 = load ptr, ptr %30, align 8, !tbaa !5
  %3935 = load ptr, ptr %48, align 8, !tbaa !5
  %3936 = load ptr, ptr %49, align 8, !tbaa !5
  %3937 = load ptr, ptr %32, align 8, !tbaa !5
  %3938 = getelementptr inbounds i32, ptr %3937, i64 1
  %3939 = load ptr, ptr %34, align 8, !tbaa !5
  %3940 = getelementptr inbounds %struct.complex, ptr %3939, i64 1
  %3941 = load ptr, ptr %40, align 8, !tbaa !5
  %3942 = getelementptr inbounds %struct.complex, ptr %3941, i64 1
  %3943 = load ptr, ptr %43, align 8, !tbaa !5
  %3944 = getelementptr inbounds %struct.complex, ptr %3943, i64 1
  %3945 = load ptr, ptr %55, align 8, !tbaa !5
  %3946 = getelementptr inbounds i32, ptr %3945, i64 1
  %3947 = load ptr, ptr %50, align 8, !tbaa !5
  call void @clatm2_(ptr noundef %65, ptr noundef %3933, ptr noundef %3934, ptr noundef %71, ptr noundef %72, ptr noundef %3935, ptr noundef %3936, ptr noundef %78, ptr noundef %3938, ptr noundef %3940, ptr noundef %87, ptr noundef %3942, ptr noundef %3944, ptr noundef %91, ptr noundef %3946, ptr noundef %3947)
  %3948 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 0
  %3949 = load float, ptr %3948, align 4, !tbaa !11
  %3950 = load ptr, ptr %53, align 8, !tbaa !5
  %3951 = load i32, ptr %61, align 4, !tbaa !9
  %3952 = sext i32 %3951 to i64
  %3953 = getelementptr inbounds %struct.complex, ptr %3950, i64 %3952
  %3954 = getelementptr inbounds %struct.complex, ptr %3953, i32 0, i32 0
  store float %3949, ptr %3954, align 4, !tbaa !11
  %3955 = getelementptr inbounds %struct.complex, ptr %65, i32 0, i32 1
  %3956 = load float, ptr %3955, align 4, !tbaa !14
  %3957 = load ptr, ptr %53, align 8, !tbaa !5
  %3958 = load i32, ptr %61, align 4, !tbaa !9
  %3959 = sext i32 %3958 to i64
  %3960 = getelementptr inbounds %struct.complex, ptr %3957, i64 %3959
  %3961 = getelementptr inbounds %struct.complex, ptr %3960, i32 0, i32 1
  store float %3956, ptr %3961, align 4, !tbaa !14
  br label %3962

3962:                                             ; preds = %3922
  %3963 = load i32, ptr %71, align 4, !tbaa !9
  %3964 = add nsw i32 %3963, 1
  store i32 %3964, ptr %71, align 4, !tbaa !9
  br label %3918, !llvm.loop !70

3965:                                             ; preds = %3918
  br label %3966

3966:                                             ; preds = %3965
  %3967 = load i32, ptr %72, align 4, !tbaa !9
  %3968 = add nsw i32 %3967, 1
  store i32 %3968, ptr %72, align 4, !tbaa !9
  br label %3907, !llvm.loop !71

3969:                                             ; preds = %3907
  br label %3970

3970:                                             ; preds = %3969, %3901
  br label %3971

3971:                                             ; preds = %3970, %3900
  br label %3972

3972:                                             ; preds = %3971, %3703
  br label %3973

3973:                                             ; preds = %3972, %3702
  br label %3974

3974:                                             ; preds = %3973, %3635
  br label %3975

3975:                                             ; preds = %3974, %3493
  br label %3976

3976:                                             ; preds = %3975, %3275
  br label %3977

3977:                                             ; preds = %3976, %3206
  br label %3978

3978:                                             ; preds = %3977, %3079
  br label %3979

3979:                                             ; preds = %3978, %3000
  br label %3980

3980:                                             ; preds = %3979, %2748
  %3981 = load i32, ptr %74, align 4, !tbaa !9
  %3982 = icmp eq i32 %3981, 0
  br i1 %3982, label %3983, label %3993

3983:                                             ; preds = %3980
  %3984 = load ptr, ptr %29, align 8, !tbaa !5
  %3985 = load ptr, ptr %30, align 8, !tbaa !5
  %3986 = load ptr, ptr %53, align 8, !tbaa !5
  %3987 = load i32, ptr %58, align 4, !tbaa !9
  %3988 = sext i32 %3987 to i64
  %3989 = getelementptr inbounds %struct.complex, ptr %3986, i64 %3988
  %3990 = load ptr, ptr %54, align 8, !tbaa !5
  %3991 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %3992 = call float @clange_(ptr noundef @.str.16, ptr noundef %3984, ptr noundef %3985, ptr noundef %3989, ptr noundef %3990, ptr noundef %3991)
  store float %3992, ptr %83, align 4, !tbaa !18
  br label %4082

3993:                                             ; preds = %3980
  %3994 = load i32, ptr %74, align 4, !tbaa !9
  %3995 = icmp eq i32 %3994, 1
  br i1 %3995, label %3996, label %4005

3996:                                             ; preds = %3993
  %3997 = load ptr, ptr %30, align 8, !tbaa !5
  %3998 = load ptr, ptr %53, align 8, !tbaa !5
  %3999 = load i32, ptr %58, align 4, !tbaa !9
  %4000 = sext i32 %3999 to i64
  %4001 = getelementptr inbounds %struct.complex, ptr %3998, i64 %4000
  %4002 = load ptr, ptr %54, align 8, !tbaa !5
  %4003 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %4004 = call float @clansy_(ptr noundef @.str.16, ptr noundef @.str, ptr noundef %3997, ptr noundef %4001, ptr noundef %4002, ptr noundef %4003)
  store float %4004, ptr %83, align 4, !tbaa !18
  br label %4081

4005:                                             ; preds = %3993
  %4006 = load i32, ptr %74, align 4, !tbaa !9
  %4007 = icmp eq i32 %4006, 2
  br i1 %4007, label %4008, label %4017

4008:                                             ; preds = %4005
  %4009 = load ptr, ptr %30, align 8, !tbaa !5
  %4010 = load ptr, ptr %53, align 8, !tbaa !5
  %4011 = load i32, ptr %58, align 4, !tbaa !9
  %4012 = sext i32 %4011 to i64
  %4013 = getelementptr inbounds %struct.complex, ptr %4010, i64 %4012
  %4014 = load ptr, ptr %54, align 8, !tbaa !5
  %4015 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %4016 = call float @clansy_(ptr noundef @.str.16, ptr noundef @.str.8, ptr noundef %4009, ptr noundef %4013, ptr noundef %4014, ptr noundef %4015)
  store float %4016, ptr %83, align 4, !tbaa !18
  br label %4080

4017:                                             ; preds = %4005
  %4018 = load i32, ptr %74, align 4, !tbaa !9
  %4019 = icmp eq i32 %4018, 3
  br i1 %4019, label %4020, label %4028

4020:                                             ; preds = %4017
  %4021 = load ptr, ptr %30, align 8, !tbaa !5
  %4022 = load ptr, ptr %53, align 8, !tbaa !5
  %4023 = load i32, ptr %58, align 4, !tbaa !9
  %4024 = sext i32 %4023 to i64
  %4025 = getelementptr inbounds %struct.complex, ptr %4022, i64 %4024
  %4026 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %4027 = call float @clansp_(ptr noundef @.str.16, ptr noundef @.str, ptr noundef %4021, ptr noundef %4025, ptr noundef %4026)
  store float %4027, ptr %83, align 4, !tbaa !18
  br label %4079

4028:                                             ; preds = %4017
  %4029 = load i32, ptr %74, align 4, !tbaa !9
  %4030 = icmp eq i32 %4029, 4
  br i1 %4030, label %4031, label %4039

4031:                                             ; preds = %4028
  %4032 = load ptr, ptr %30, align 8, !tbaa !5
  %4033 = load ptr, ptr %53, align 8, !tbaa !5
  %4034 = load i32, ptr %58, align 4, !tbaa !9
  %4035 = sext i32 %4034 to i64
  %4036 = getelementptr inbounds %struct.complex, ptr %4033, i64 %4035
  %4037 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %4038 = call float @clansp_(ptr noundef @.str.16, ptr noundef @.str.8, ptr noundef %4032, ptr noundef %4036, ptr noundef %4037)
  store float %4038, ptr %83, align 4, !tbaa !18
  br label %4078

4039:                                             ; preds = %4028
  %4040 = load i32, ptr %74, align 4, !tbaa !9
  %4041 = icmp eq i32 %4040, 5
  br i1 %4041, label %4042, label %4051

4042:                                             ; preds = %4039
  %4043 = load ptr, ptr %30, align 8, !tbaa !5
  %4044 = load ptr, ptr %53, align 8, !tbaa !5
  %4045 = load i32, ptr %58, align 4, !tbaa !9
  %4046 = sext i32 %4045 to i64
  %4047 = getelementptr inbounds %struct.complex, ptr %4044, i64 %4046
  %4048 = load ptr, ptr %54, align 8, !tbaa !5
  %4049 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %4050 = call float @clansb_(ptr noundef @.str.16, ptr noundef @.str.8, ptr noundef %4043, ptr noundef %92, ptr noundef %4047, ptr noundef %4048, ptr noundef %4049)
  store float %4050, ptr %83, align 4, !tbaa !18
  br label %4077

4051:                                             ; preds = %4039
  %4052 = load i32, ptr %74, align 4, !tbaa !9
  %4053 = icmp eq i32 %4052, 6
  br i1 %4053, label %4054, label %4063

4054:                                             ; preds = %4051
  %4055 = load ptr, ptr %30, align 8, !tbaa !5
  %4056 = load ptr, ptr %53, align 8, !tbaa !5
  %4057 = load i32, ptr %58, align 4, !tbaa !9
  %4058 = sext i32 %4057 to i64
  %4059 = getelementptr inbounds %struct.complex, ptr %4056, i64 %4058
  %4060 = load ptr, ptr %54, align 8, !tbaa !5
  %4061 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %4062 = call float @clansb_(ptr noundef @.str.16, ptr noundef @.str, ptr noundef %4055, ptr noundef %93, ptr noundef %4059, ptr noundef %4060, ptr noundef %4061)
  store float %4062, ptr %83, align 4, !tbaa !18
  br label %4076

4063:                                             ; preds = %4051
  %4064 = load i32, ptr %74, align 4, !tbaa !9
  %4065 = icmp eq i32 %4064, 7
  br i1 %4065, label %4066, label %4075

4066:                                             ; preds = %4063
  %4067 = load ptr, ptr %30, align 8, !tbaa !5
  %4068 = load ptr, ptr %53, align 8, !tbaa !5
  %4069 = load i32, ptr %58, align 4, !tbaa !9
  %4070 = sext i32 %4069 to i64
  %4071 = getelementptr inbounds %struct.complex, ptr %4068, i64 %4070
  %4072 = load ptr, ptr %54, align 8, !tbaa !5
  %4073 = getelementptr inbounds [1 x float], ptr %75, i64 0, i64 0
  %4074 = call float @clangb_(ptr noundef @.str.16, ptr noundef %4067, ptr noundef %92, ptr noundef %93, ptr noundef %4071, ptr noundef %4072, ptr noundef %4073)
  store float %4074, ptr %83, align 4, !tbaa !18
  br label %4075

4075:                                             ; preds = %4066, %4063
  br label %4076

4076:                                             ; preds = %4075, %4054
  br label %4077

4077:                                             ; preds = %4076, %4042
  br label %4078

4078:                                             ; preds = %4077, %4031
  br label %4079

4079:                                             ; preds = %4078, %4020
  br label %4080

4080:                                             ; preds = %4079, %4008
  br label %4081

4081:                                             ; preds = %4080, %3996
  br label %4082

4082:                                             ; preds = %4081, %3983
  %4083 = load ptr, ptr %51, align 8, !tbaa !5
  %4084 = load float, ptr %4083, align 4, !tbaa !18
  %4085 = fcmp oge float %4084, 0.000000e+00
  br i1 %4085, label %4086, label %4302

4086:                                             ; preds = %4082
  %4087 = load ptr, ptr %51, align 8, !tbaa !5
  %4088 = load float, ptr %4087, align 4, !tbaa !18
  %4089 = fcmp ogt float %4088, 0.000000e+00
  br i1 %4089, label %4090, label %4095

4090:                                             ; preds = %4086
  %4091 = load float, ptr %83, align 4, !tbaa !18
  %4092 = fcmp oeq float %4091, 0.000000e+00
  br i1 %4092, label %4093, label %4095

4093:                                             ; preds = %4090
  %4094 = load ptr, ptr %56, align 8, !tbaa !5
  store i32 5, ptr %4094, align 4, !tbaa !9
  store i32 1, ptr %94, align 4
  br label %4303

4095:                                             ; preds = %4090, %4086
  %4096 = load ptr, ptr %51, align 8, !tbaa !5
  %4097 = load float, ptr %4096, align 4, !tbaa !18
  %4098 = fcmp ogt float %4097, 1.000000e+00
  br i1 %4098, label %4099, label %4102

4099:                                             ; preds = %4095
  %4100 = load float, ptr %83, align 4, !tbaa !18
  %4101 = fcmp olt float %4100, 1.000000e+00
  br i1 %4101, label %4109, label %4102

4102:                                             ; preds = %4099, %4095
  %4103 = load ptr, ptr %51, align 8, !tbaa !5
  %4104 = load float, ptr %4103, align 4, !tbaa !18
  %4105 = fcmp olt float %4104, 1.000000e+00
  br i1 %4105, label %4106, label %4218

4106:                                             ; preds = %4102
  %4107 = load float, ptr %83, align 4, !tbaa !18
  %4108 = fcmp ogt float %4107, 1.000000e+00
  br i1 %4108, label %4109, label %4218

4109:                                             ; preds = %4106, %4099
  %4110 = load i32, ptr %74, align 4, !tbaa !9
  %4111 = icmp sle i32 %4110, 2
  br i1 %4111, label %4112, label %4143

4112:                                             ; preds = %4109
  %4113 = load ptr, ptr %30, align 8, !tbaa !5
  %4114 = load i32, ptr %4113, align 4, !tbaa !9
  store i32 %4114, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %4115

4115:                                             ; preds = %4139, %4112
  %4116 = load i32, ptr %72, align 4, !tbaa !9
  %4117 = load i32, ptr %59, align 4, !tbaa !9
  %4118 = icmp sle i32 %4116, %4117
  br i1 %4118, label %4119, label %4142

4119:                                             ; preds = %4115
  %4120 = load float, ptr %83, align 4, !tbaa !18
  %4121 = fdiv float 1.000000e+00, %4120
  store float %4121, ptr %63, align 4, !tbaa !18
  %4122 = load ptr, ptr %29, align 8, !tbaa !5
  %4123 = load ptr, ptr %53, align 8, !tbaa !5
  %4124 = load i32, ptr %72, align 4, !tbaa !9
  %4125 = load i32, ptr %57, align 4, !tbaa !9
  %4126 = mul nsw i32 %4124, %4125
  %4127 = add nsw i32 %4126, 1
  %4128 = sext i32 %4127 to i64
  %4129 = getelementptr inbounds %struct.complex, ptr %4123, i64 %4128
  call void @csscal_(ptr noundef %4122, ptr noundef %63, ptr noundef %4129, ptr noundef @c__1)
  %4130 = load ptr, ptr %29, align 8, !tbaa !5
  %4131 = load ptr, ptr %51, align 8, !tbaa !5
  %4132 = load ptr, ptr %53, align 8, !tbaa !5
  %4133 = load i32, ptr %72, align 4, !tbaa !9
  %4134 = load i32, ptr %57, align 4, !tbaa !9
  %4135 = mul nsw i32 %4133, %4134
  %4136 = add nsw i32 %4135, 1
  %4137 = sext i32 %4136 to i64
  %4138 = getelementptr inbounds %struct.complex, ptr %4132, i64 %4137
  call void @csscal_(ptr noundef %4130, ptr noundef %4131, ptr noundef %4138, ptr noundef @c__1)
  br label %4139

4139:                                             ; preds = %4119
  %4140 = load i32, ptr %72, align 4, !tbaa !9
  %4141 = add nsw i32 %4140, 1
  store i32 %4141, ptr %72, align 4, !tbaa !9
  br label %4115, !llvm.loop !72

4142:                                             ; preds = %4115
  br label %4217

4143:                                             ; preds = %4109
  %4144 = load i32, ptr %74, align 4, !tbaa !9
  %4145 = icmp eq i32 %4144, 3
  br i1 %4145, label %4149, label %4146

4146:                                             ; preds = %4143
  %4147 = load i32, ptr %74, align 4, !tbaa !9
  %4148 = icmp eq i32 %4147, 4
  br i1 %4148, label %4149, label %4175

4149:                                             ; preds = %4146, %4143
  %4150 = load ptr, ptr %30, align 8, !tbaa !5
  %4151 = load i32, ptr %4150, align 4, !tbaa !9
  %4152 = load ptr, ptr %30, align 8, !tbaa !5
  %4153 = load i32, ptr %4152, align 4, !tbaa !9
  %4154 = add nsw i32 %4153, 1
  %4155 = mul nsw i32 %4151, %4154
  %4156 = sdiv i32 %4155, 2
  store i32 %4156, ptr %59, align 4, !tbaa !9
  %4157 = load float, ptr %83, align 4, !tbaa !18
  %4158 = fdiv float 1.000000e+00, %4157
  store float %4158, ptr %63, align 4, !tbaa !18
  %4159 = load ptr, ptr %53, align 8, !tbaa !5
  %4160 = load i32, ptr %58, align 4, !tbaa !9
  %4161 = sext i32 %4160 to i64
  %4162 = getelementptr inbounds %struct.complex, ptr %4159, i64 %4161
  call void @csscal_(ptr noundef %59, ptr noundef %63, ptr noundef %4162, ptr noundef @c__1)
  %4163 = load ptr, ptr %30, align 8, !tbaa !5
  %4164 = load i32, ptr %4163, align 4, !tbaa !9
  %4165 = load ptr, ptr %30, align 8, !tbaa !5
  %4166 = load i32, ptr %4165, align 4, !tbaa !9
  %4167 = add nsw i32 %4166, 1
  %4168 = mul nsw i32 %4164, %4167
  %4169 = sdiv i32 %4168, 2
  store i32 %4169, ptr %59, align 4, !tbaa !9
  %4170 = load ptr, ptr %51, align 8, !tbaa !5
  %4171 = load ptr, ptr %53, align 8, !tbaa !5
  %4172 = load i32, ptr %58, align 4, !tbaa !9
  %4173 = sext i32 %4172 to i64
  %4174 = getelementptr inbounds %struct.complex, ptr %4171, i64 %4173
  call void @csscal_(ptr noundef %59, ptr noundef %4170, ptr noundef %4174, ptr noundef @c__1)
  br label %4216

4175:                                             ; preds = %4146
  %4176 = load i32, ptr %74, align 4, !tbaa !9
  %4177 = icmp sge i32 %4176, 5
  br i1 %4177, label %4178, label %4215

4178:                                             ; preds = %4175
  %4179 = load ptr, ptr %30, align 8, !tbaa !5
  %4180 = load i32, ptr %4179, align 4, !tbaa !9
  store i32 %4180, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %4181

4181:                                             ; preds = %4211, %4178
  %4182 = load i32, ptr %72, align 4, !tbaa !9
  %4183 = load i32, ptr %59, align 4, !tbaa !9
  %4184 = icmp sle i32 %4182, %4183
  br i1 %4184, label %4185, label %4214

4185:                                             ; preds = %4181
  %4186 = load i32, ptr %92, align 4, !tbaa !9
  %4187 = load i32, ptr %93, align 4, !tbaa !9
  %4188 = add nsw i32 %4186, %4187
  %4189 = add nsw i32 %4188, 1
  store i32 %4189, ptr %60, align 4, !tbaa !9
  %4190 = load float, ptr %83, align 4, !tbaa !18
  %4191 = fdiv float 1.000000e+00, %4190
  store float %4191, ptr %63, align 4, !tbaa !18
  %4192 = load ptr, ptr %53, align 8, !tbaa !5
  %4193 = load i32, ptr %72, align 4, !tbaa !9
  %4194 = load i32, ptr %57, align 4, !tbaa !9
  %4195 = mul nsw i32 %4193, %4194
  %4196 = add nsw i32 %4195, 1
  %4197 = sext i32 %4196 to i64
  %4198 = getelementptr inbounds %struct.complex, ptr %4192, i64 %4197
  call void @csscal_(ptr noundef %60, ptr noundef %63, ptr noundef %4198, ptr noundef @c__1)
  %4199 = load i32, ptr %92, align 4, !tbaa !9
  %4200 = load i32, ptr %93, align 4, !tbaa !9
  %4201 = add nsw i32 %4199, %4200
  %4202 = add nsw i32 %4201, 1
  store i32 %4202, ptr %60, align 4, !tbaa !9
  %4203 = load ptr, ptr %51, align 8, !tbaa !5
  %4204 = load ptr, ptr %53, align 8, !tbaa !5
  %4205 = load i32, ptr %72, align 4, !tbaa !9
  %4206 = load i32, ptr %57, align 4, !tbaa !9
  %4207 = mul nsw i32 %4205, %4206
  %4208 = add nsw i32 %4207, 1
  %4209 = sext i32 %4208 to i64
  %4210 = getelementptr inbounds %struct.complex, ptr %4204, i64 %4209
  call void @csscal_(ptr noundef %60, ptr noundef %4203, ptr noundef %4210, ptr noundef @c__1)
  br label %4211

4211:                                             ; preds = %4185
  %4212 = load i32, ptr %72, align 4, !tbaa !9
  %4213 = add nsw i32 %4212, 1
  store i32 %4213, ptr %72, align 4, !tbaa !9
  br label %4181, !llvm.loop !73

4214:                                             ; preds = %4181
  br label %4215

4215:                                             ; preds = %4214, %4175
  br label %4216

4216:                                             ; preds = %4215, %4149
  br label %4217

4217:                                             ; preds = %4216, %4142
  br label %4300

4218:                                             ; preds = %4106, %4102
  %4219 = load i32, ptr %74, align 4, !tbaa !9
  %4220 = icmp sle i32 %4219, 2
  br i1 %4220, label %4221, label %4245

4221:                                             ; preds = %4218
  %4222 = load ptr, ptr %30, align 8, !tbaa !5
  %4223 = load i32, ptr %4222, align 4, !tbaa !9
  store i32 %4223, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %4224

4224:                                             ; preds = %4241, %4221
  %4225 = load i32, ptr %72, align 4, !tbaa !9
  %4226 = load i32, ptr %59, align 4, !tbaa !9
  %4227 = icmp sle i32 %4225, %4226
  br i1 %4227, label %4228, label %4244

4228:                                             ; preds = %4224
  %4229 = load ptr, ptr %51, align 8, !tbaa !5
  %4230 = load float, ptr %4229, align 4, !tbaa !18
  %4231 = load float, ptr %83, align 4, !tbaa !18
  %4232 = fdiv float %4230, %4231
  store float %4232, ptr %63, align 4, !tbaa !18
  %4233 = load ptr, ptr %29, align 8, !tbaa !5
  %4234 = load ptr, ptr %53, align 8, !tbaa !5
  %4235 = load i32, ptr %72, align 4, !tbaa !9
  %4236 = load i32, ptr %57, align 4, !tbaa !9
  %4237 = mul nsw i32 %4235, %4236
  %4238 = add nsw i32 %4237, 1
  %4239 = sext i32 %4238 to i64
  %4240 = getelementptr inbounds %struct.complex, ptr %4234, i64 %4239
  call void @csscal_(ptr noundef %4233, ptr noundef %63, ptr noundef %4240, ptr noundef @c__1)
  br label %4241

4241:                                             ; preds = %4228
  %4242 = load i32, ptr %72, align 4, !tbaa !9
  %4243 = add nsw i32 %4242, 1
  store i32 %4243, ptr %72, align 4, !tbaa !9
  br label %4224, !llvm.loop !74

4244:                                             ; preds = %4224
  br label %4299

4245:                                             ; preds = %4218
  %4246 = load i32, ptr %74, align 4, !tbaa !9
  %4247 = icmp eq i32 %4246, 3
  br i1 %4247, label %4251, label %4248

4248:                                             ; preds = %4245
  %4249 = load i32, ptr %74, align 4, !tbaa !9
  %4250 = icmp eq i32 %4249, 4
  br i1 %4250, label %4251, label %4267

4251:                                             ; preds = %4248, %4245
  %4252 = load ptr, ptr %30, align 8, !tbaa !5
  %4253 = load i32, ptr %4252, align 4, !tbaa !9
  %4254 = load ptr, ptr %30, align 8, !tbaa !5
  %4255 = load i32, ptr %4254, align 4, !tbaa !9
  %4256 = add nsw i32 %4255, 1
  %4257 = mul nsw i32 %4253, %4256
  %4258 = sdiv i32 %4257, 2
  store i32 %4258, ptr %59, align 4, !tbaa !9
  %4259 = load ptr, ptr %51, align 8, !tbaa !5
  %4260 = load float, ptr %4259, align 4, !tbaa !18
  %4261 = load float, ptr %83, align 4, !tbaa !18
  %4262 = fdiv float %4260, %4261
  store float %4262, ptr %63, align 4, !tbaa !18
  %4263 = load ptr, ptr %53, align 8, !tbaa !5
  %4264 = load i32, ptr %58, align 4, !tbaa !9
  %4265 = sext i32 %4264 to i64
  %4266 = getelementptr inbounds %struct.complex, ptr %4263, i64 %4265
  call void @csscal_(ptr noundef %59, ptr noundef %63, ptr noundef %4266, ptr noundef @c__1)
  br label %4298

4267:                                             ; preds = %4248
  %4268 = load i32, ptr %74, align 4, !tbaa !9
  %4269 = icmp sge i32 %4268, 5
  br i1 %4269, label %4270, label %4297

4270:                                             ; preds = %4267
  %4271 = load ptr, ptr %30, align 8, !tbaa !5
  %4272 = load i32, ptr %4271, align 4, !tbaa !9
  store i32 %4272, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %72, align 4, !tbaa !9
  br label %4273

4273:                                             ; preds = %4293, %4270
  %4274 = load i32, ptr %72, align 4, !tbaa !9
  %4275 = load i32, ptr %59, align 4, !tbaa !9
  %4276 = icmp sle i32 %4274, %4275
  br i1 %4276, label %4277, label %4296

4277:                                             ; preds = %4273
  %4278 = load i32, ptr %92, align 4, !tbaa !9
  %4279 = load i32, ptr %93, align 4, !tbaa !9
  %4280 = add nsw i32 %4278, %4279
  %4281 = add nsw i32 %4280, 1
  store i32 %4281, ptr %60, align 4, !tbaa !9
  %4282 = load ptr, ptr %51, align 8, !tbaa !5
  %4283 = load float, ptr %4282, align 4, !tbaa !18
  %4284 = load float, ptr %83, align 4, !tbaa !18
  %4285 = fdiv float %4283, %4284
  store float %4285, ptr %63, align 4, !tbaa !18
  %4286 = load ptr, ptr %53, align 8, !tbaa !5
  %4287 = load i32, ptr %72, align 4, !tbaa !9
  %4288 = load i32, ptr %57, align 4, !tbaa !9
  %4289 = mul nsw i32 %4287, %4288
  %4290 = add nsw i32 %4289, 1
  %4291 = sext i32 %4290 to i64
  %4292 = getelementptr inbounds %struct.complex, ptr %4286, i64 %4291
  call void @csscal_(ptr noundef %60, ptr noundef %63, ptr noundef %4292, ptr noundef @c__1)
  br label %4293

4293:                                             ; preds = %4277
  %4294 = load i32, ptr %72, align 4, !tbaa !9
  %4295 = add nsw i32 %4294, 1
  store i32 %4295, ptr %72, align 4, !tbaa !9
  br label %4273, !llvm.loop !75

4296:                                             ; preds = %4273
  br label %4297

4297:                                             ; preds = %4296, %4267
  br label %4298

4298:                                             ; preds = %4297, %4251
  br label %4299

4299:                                             ; preds = %4298, %4244
  br label %4300

4300:                                             ; preds = %4299, %4217
  br label %4301

4301:                                             ; preds = %4300
  br label %4302

4302:                                             ; preds = %4301, %4082
  store i32 1, ptr %94, align 4
  br label %4303

4303:                                             ; preds = %4302, %4093, %1209, %1188, %1035, %964, %900, %143
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  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 void @clatm1_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nounwind
declare float @cabsf(<2 x float> noundef) #3

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

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

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

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

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

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

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

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

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

declare float @clangb_(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

; 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 = { nounwind "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 = { inlinehint nounwind uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { 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 #7 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"", !13, i64 0, !13, i64 4}
!13 = !{!"float", !7, i64 0}
!14 = !{!12, !13, i64 4}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = !{!13, !13, i64 0}
!19 = distinct !{!19, !16}
!20 = distinct !{!20, !16}
!21 = distinct !{!21, !16}
!22 = distinct !{!22, !16}
!23 = distinct !{!23, !16}
!24 = distinct !{!24, !16}
!25 = distinct !{!25, !16}
!26 = distinct !{!26, !16}
!27 = distinct !{!27, !16}
!28 = distinct !{!28, !16}
!29 = distinct !{!29, !16}
!30 = distinct !{!30, !16}
!31 = distinct !{!31, !16}
!32 = distinct !{!32, !16}
!33 = distinct !{!33, !16}
!34 = distinct !{!34, !16}
!35 = distinct !{!35, !16}
!36 = distinct !{!36, !16}
!37 = distinct !{!37, !16}
!38 = distinct !{!38, !16}
!39 = distinct !{!39, !16}
!40 = distinct !{!40, !16}
!41 = distinct !{!41, !16}
!42 = distinct !{!42, !16}
!43 = distinct !{!43, !16}
!44 = distinct !{!44, !16}
!45 = distinct !{!45, !16}
!46 = distinct !{!46, !16}
!47 = distinct !{!47, !16}
!48 = distinct !{!48, !16}
!49 = distinct !{!49, !16}
!50 = distinct !{!50, !16}
!51 = distinct !{!51, !16}
!52 = distinct !{!52, !16}
!53 = distinct !{!53, !16}
!54 = distinct !{!54, !16}
!55 = distinct !{!55, !16}
!56 = distinct !{!56, !16}
!57 = distinct !{!57, !16}
!58 = distinct !{!58, !16}
!59 = distinct !{!59, !16}
!60 = distinct !{!60, !16}
!61 = distinct !{!61, !16}
!62 = distinct !{!62, !16}
!63 = distinct !{!63, !16}
!64 = distinct !{!64, !16}
!65 = distinct !{!65, !16}
!66 = distinct !{!66, !16}
!67 = distinct !{!67, !16}
!68 = distinct !{!68, !16}
!69 = distinct !{!69, !16}
!70 = distinct !{!70, !16}
!71 = distinct !{!71, !16}
!72 = distinct !{!72, !16}
!73 = distinct !{!73, !16}
!74 = distinct !{!74, !16}
!75 = distinct !{!75, !16}


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

%struct.complex = type { float, float }

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.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 [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [7 x i8], align 1
@c__0 = external hidden global i32, align 4
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4

; Function Attrs: nounwind uwtable
define dso_local void @clatmr_(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 nocapture noundef readonly %8, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr nocapture noundef readonly %18, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24, ptr noundef %25, ptr noundef %26, ptr noundef %27) local_unnamed_addr #0 {
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca float, align 4
  %32 = alloca %struct.complex, align 8
  %33 = alloca %struct.complex, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca [1 x float], align 4
  %39 = alloca %struct.complex, align 8
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #7
  %47 = getelementptr inbounds i8, ptr %5, i64 -8
  %48 = getelementptr inbounds i8, ptr %11, i64 -8
  %49 = getelementptr inbounds i8, ptr %18, i64 -4
  %50 = load i32, ptr %25, align 4, !tbaa !5
  %narrow = xor i32 %50, -1
  %51 = sext i32 %narrow to i64
  %52 = getelementptr inbounds %struct.complex, ptr %24, i64 %51
  %53 = getelementptr inbounds i8, ptr %26, i64 -4
  store i32 0, ptr %27, align 4, !tbaa !5
  %54 = load i32, ptr %0, align 4, !tbaa !5
  %55 = icmp eq i32 %54, 0
  br i1 %55, label %.loopexit, label %56

56:                                               ; preds = %28
  %57 = load i32, ptr %1, align 4, !tbaa !5
  %58 = icmp eq i32 %57, 0
  br i1 %58, label %.loopexit, label %59

59:                                               ; preds = %56
  %60 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str) #7
  %.not = icmp eq i32 %60, 0
  br i1 %.not, label %62, label %61

61:                                               ; preds = %59
  store i32 1, ptr %40, align 4, !tbaa !5
  br label %72

62:                                               ; preds = %59
  %63 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.1) #7
  %.not1242 = icmp eq i32 %63, 0
  br i1 %.not1242, label %65, label %64

64:                                               ; preds = %62
  store i32 2, ptr %40, align 4, !tbaa !5
  br label %72

65:                                               ; preds = %62
  %66 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.2) #7
  %.not1243 = icmp eq i32 %66, 0
  br i1 %.not1243, label %68, label %67

67:                                               ; preds = %65
  store i32 3, ptr %40, align 4, !tbaa !5
  br label %72

68:                                               ; preds = %65
  %69 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.3) #7
  %.not1244 = icmp eq i32 %69, 0
  br i1 %.not1244, label %71, label %70

70:                                               ; preds = %68
  store i32 4, ptr %40, align 4, !tbaa !5
  br label %72

71:                                               ; preds = %68
  store i32 -1, ptr %40, align 4, !tbaa !5
  br label %72

72:                                               ; preds = %64, %70, %71, %67, %61
  %73 = phi i1 [ false, %64 ], [ false, %70 ], [ true, %71 ], [ false, %67 ], [ false, %61 ]
  %74 = tail call i32 @lsame_(ptr noundef %4, ptr noundef nonnull @.str.4) #7
  %.not1245 = icmp ne i32 %74, 0
  br i1 %.not1245, label %79, label %75

75:                                               ; preds = %72
  %76 = tail call i32 @lsame_(ptr noundef %4, ptr noundef nonnull @.str.2) #7
  %.not1246 = icmp eq i32 %76, 0
  br i1 %.not1246, label %77, label %79

77:                                               ; preds = %75
  %78 = tail call i32 @lsame_(ptr noundef %4, ptr noundef nonnull @.str.1) #7
  %.not1247 = icmp eq i32 %78, 0
  %not..not1247 = xor i1 %.not1247, true
  br label %79

79:                                               ; preds = %77, %75, %72
  %80 = phi i1 [ false, %72 ], [ false, %75 ], [ %not..not1247, %77 ]
  %81 = phi i1 [ false, %72 ], [ false, %75 ], [ %.not1247, %77 ]
  %82 = phi i1 [ false, %72 ], [ true, %75 ], [ false, %77 ]
  %83 = tail call i32 @lsame_(ptr noundef %9, ptr noundef nonnull @.str.5) #7
  %.not1248 = icmp eq i32 %83, 0
  br i1 %.not1248, label %85, label %84

84:                                               ; preds = %79
  store i32 0, ptr %43, align 4, !tbaa !5
  br label %89

85:                                               ; preds = %79
  %86 = tail call i32 @lsame_(ptr noundef %9, ptr noundef nonnull @.str.6) #7
  %.not1249 = icmp eq i32 %86, 0
  br i1 %.not1249, label %88, label %87

87:                                               ; preds = %85
  store i32 1, ptr %43, align 4, !tbaa !5
  br label %89

88:                                               ; preds = %85
  store i32 -1, ptr %43, align 4, !tbaa !5
  br label %89

89:                                               ; preds = %87, %88, %84
  %90 = phi i1 [ false, %87 ], [ true, %88 ], [ false, %84 ]
  %91 = tail call i32 @lsame_(ptr noundef %17, ptr noundef nonnull @.str.2) #7
  %.not1250 = icmp eq i32 %91, 0
  br i1 %.not1250, label %93, label %92

92:                                               ; preds = %89
  store i32 0, ptr %44, align 4, !tbaa !5
  br label %115

93:                                               ; preds = %89
  %94 = tail call i32 @lsame_(ptr noundef %17, ptr noundef nonnull @.str.7) #7
  %.not1251 = icmp eq i32 %94, 0
  br i1 %.not1251, label %96, label %95

95:                                               ; preds = %93
  store i32 0, ptr %44, align 4, !tbaa !5
  br label %115

96:                                               ; preds = %93
  %97 = tail call i32 @lsame_(ptr noundef %17, ptr noundef nonnull @.str.8) #7
  %.not1252 = icmp eq i32 %97, 0
  br i1 %.not1252, label %100, label %98

98:                                               ; preds = %96
  store i32 1, ptr %44, align 4, !tbaa !5
  %99 = load i32, ptr %0, align 4, !tbaa !5
  br label %115

100:                                              ; preds = %96
  %101 = tail call i32 @lsame_(ptr noundef %17, ptr noundef nonnull @.str.9) #7
  %.not1253 = icmp eq i32 %101, 0
  br i1 %.not1253, label %104, label %102

102:                                              ; preds = %100
  store i32 2, ptr %44, align 4, !tbaa !5
  %103 = load i32, ptr %1, align 4, !tbaa !5
  br label %115

104:                                              ; preds = %100
  %105 = tail call i32 @lsame_(ptr noundef %17, ptr noundef nonnull @.str.10) #7
  %.not1254 = icmp eq i32 %105, 0
  br i1 %.not1254, label %109, label %106

106:                                              ; preds = %104
  store i32 3, ptr %44, align 4, !tbaa !5
  %107 = load i32, ptr %1, align 4, !tbaa !5
  %108 = load i32, ptr %0, align 4, !tbaa !5
  %.1444 = tail call i32 @llvm.smin.i32(i32 %107, i32 %108)
  br label %115

109:                                              ; preds = %104
  %110 = tail call i32 @lsame_(ptr noundef %17, ptr noundef nonnull @.str.5) #7
  %.not1255 = icmp eq i32 %110, 0
  br i1 %.not1255, label %114, label %111

111:                                              ; preds = %109
  store i32 3, ptr %44, align 4, !tbaa !5
  %112 = load i32, ptr %1, align 4, !tbaa !5
  %113 = load i32, ptr %0, align 4, !tbaa !5
  %.1445 = tail call i32 @llvm.smin.i32(i32 %112, i32 %113)
  br label %115

114:                                              ; preds = %109
  store i32 -1, ptr %44, align 4, !tbaa !5
  br label %115

115:                                              ; preds = %95, %102, %111, %114, %106, %98, %92
  %116 = phi i1 [ false, %92 ], [ false, %95 ], [ true, %98 ], [ true, %102 ], [ true, %106 ], [ true, %111 ], [ false, %114 ]
  %117 = phi i1 [ false, %92 ], [ false, %95 ], [ true, %98 ], [ true, %102 ], [ true, %106 ], [ true, %111 ], [ true, %114 ]
  %118 = phi i32 [ 0, %92 ], [ 0, %95 ], [ 1, %98 ], [ 2, %102 ], [ 3, %106 ], [ 3, %111 ], [ -1, %114 ]
  %.01160 = phi i32 [ undef, %92 ], [ undef, %95 ], [ %99, %98 ], [ %103, %102 ], [ %.1444, %106 ], [ %.1445, %111 ], [ undef, %114 ]
  %119 = tail call i32 @lsame_(ptr noundef %10, ptr noundef nonnull @.str.2) #7
  %.not1258 = icmp eq i32 %119, 0
  br i1 %.not1258, label %121, label %120

120:                                              ; preds = %115
  store i32 0, ptr %42, align 4, !tbaa !5
  br label %140

121:                                              ; preds = %115
  %122 = tail call i32 @lsame_(ptr noundef %10, ptr noundef nonnull @.str.8) #7
  %.not1259 = icmp eq i32 %122, 0
  br i1 %.not1259, label %124, label %123

123:                                              ; preds = %121
  store i32 1, ptr %42, align 4, !tbaa !5
  br label %140

124:                                              ; preds = %121
  %125 = tail call i32 @lsame_(ptr noundef %10, ptr noundef nonnull @.str.9) #7
  %.not1260 = icmp eq i32 %125, 0
  br i1 %.not1260, label %127, label %126

126:                                              ; preds = %124
  store i32 2, ptr %42, align 4, !tbaa !5
  br label %140

127:                                              ; preds = %124
  %128 = tail call i32 @lsame_(ptr noundef %10, ptr noundef nonnull @.str.10) #7
  %.not1261 = icmp eq i32 %128, 0
  br i1 %.not1261, label %130, label %129

129:                                              ; preds = %127
  store i32 3, ptr %42, align 4, !tbaa !5
  br label %140

130:                                              ; preds = %127
  %131 = tail call i32 @lsame_(ptr noundef %10, ptr noundef nonnull @.str.11) #7
  %.not1262 = icmp eq i32 %131, 0
  br i1 %.not1262, label %133, label %132

132:                                              ; preds = %130
  store i32 4, ptr %42, align 4, !tbaa !5
  br label %140

133:                                              ; preds = %130
  %134 = tail call i32 @lsame_(ptr noundef %10, ptr noundef nonnull @.str.4) #7
  %.not1263 = icmp eq i32 %134, 0
  br i1 %.not1263, label %136, label %135

135:                                              ; preds = %133
  store i32 5, ptr %42, align 4, !tbaa !5
  br label %140

136:                                              ; preds = %133
  %137 = tail call i32 @lsame_(ptr noundef %10, ptr noundef nonnull @.str.1) #7
  %.not1264 = icmp eq i32 %137, 0
  br i1 %.not1264, label %139, label %138

138:                                              ; preds = %136
  store i32 6, ptr %42, align 4, !tbaa !5
  br label %140

139:                                              ; preds = %136
  store i32 -1, ptr %42, align 4, !tbaa !5
  br label %140

140:                                              ; preds = %123, %129, %135, %139, %138, %132, %126, %120
  %141 = phi i1 [ false, %123 ], [ false, %129 ], [ false, %135 ], [ false, %139 ], [ false, %138 ], [ true, %132 ], [ false, %126 ], [ false, %120 ]
  %142 = phi i1 [ false, %123 ], [ false, %129 ], [ false, %135 ], [ false, %139 ], [ true, %138 ], [ false, %132 ], [ false, %126 ], [ false, %120 ]
  %143 = phi i32 [ 1, %123 ], [ 3, %129 ], [ 5, %135 ], [ -1, %139 ], [ 6, %138 ], [ 4, %132 ], [ 2, %126 ], [ 0, %120 ]
  %144 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str.2) #7
  %.not1265 = icmp ne i32 %144, 0
  br i1 %.not1265, label %159, label %145

145:                                              ; preds = %140
  %146 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str) #7
  %.not1266 = icmp eq i32 %146, 0
  br i1 %.not1266, label %147, label %159

147:                                              ; preds = %145
  %148 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str.8) #7
  %.not1267 = icmp eq i32 %148, 0
  br i1 %.not1267, label %149, label %159

149:                                              ; preds = %147
  %150 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str.12) #7
  %.not1268 = icmp eq i32 %150, 0
  br i1 %.not1268, label %151, label %159

151:                                              ; preds = %149
  %152 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str.9) #7
  %.not1269 = icmp eq i32 %152, 0
  br i1 %.not1269, label %153, label %159

153:                                              ; preds = %151
  %154 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str.10) #7
  %.not1270 = icmp eq i32 %154, 0
  br i1 %.not1270, label %155, label %159

155:                                              ; preds = %153
  %156 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str.13) #7
  %.not1271 = icmp eq i32 %156, 0
  br i1 %.not1271, label %157, label %159

157:                                              ; preds = %155
  %158 = tail call i32 @lsame_(ptr noundef %23, ptr noundef nonnull @.str.14) #7
  %.not1272 = icmp eq i32 %158, 0
  %not..not1272 = xor i1 %.not1272, true
  br label %159

159:                                              ; preds = %157, %155, %153, %151, %149, %147, %145, %140
  %160 = phi i1 [ false, %140 ], [ false, %145 ], [ false, %147 ], [ false, %149 ], [ false, %151 ], [ false, %153 ], [ false, %155 ], [ %.not1272, %157 ]
  %161 = phi i1 [ false, %140 ], [ true, %145 ], [ false, %147 ], [ false, %149 ], [ false, %151 ], [ false, %153 ], [ false, %155 ], [ false, %157 ]
  %162 = phi i1 [ false, %140 ], [ false, %145 ], [ true, %147 ], [ false, %149 ], [ false, %151 ], [ false, %153 ], [ false, %155 ], [ false, %157 ]
  %163 = phi i1 [ false, %140 ], [ false, %145 ], [ false, %147 ], [ false, %149 ], [ false, %151 ], [ true, %153 ], [ false, %155 ], [ false, %157 ]
  %164 = phi i1 [ false, %140 ], [ false, %145 ], [ false, %147 ], [ false, %149 ], [ false, %151 ], [ false, %153 ], [ true, %155 ], [ false, %157 ]
  %165 = phi i1 [ false, %140 ], [ false, %145 ], [ false, %147 ], [ true, %149 ], [ false, %151 ], [ false, %153 ], [ false, %155 ], [ false, %157 ]
  %166 = phi i1 [ false, %140 ], [ false, %145 ], [ false, %147 ], [ false, %149 ], [ true, %151 ], [ false, %153 ], [ false, %155 ], [ false, %157 ]
  %167 = phi i1 [ false, %140 ], [ false, %145 ], [ false, %147 ], [ false, %149 ], [ false, %151 ], [ false, %153 ], [ false, %155 ], [ %not..not1272, %157 ]
  %168 = phi i1 [ true, %140 ], [ true, %145 ], [ true, %147 ], [ false, %149 ], [ false, %151 ], [ false, %153 ], [ false, %155 ], [ %.not1272, %157 ]
  %169 = load i32, ptr %0, align 4, !tbaa !5
  %170 = load i32, ptr %1, align 4, !tbaa !5
  %.1448 = tail call i32 @llvm.smin.i32(i32 %169, i32 %170)
  store i32 %.1448, ptr %41, align 4, !tbaa !5
  %171 = load i32, ptr %19, align 4, !tbaa !5
  store i32 %171, ptr %29, align 4, !tbaa !5
  %172 = add i32 %169, -1
  %173 = tail call i32 @llvm.smin.i32(i32 %171, i32 %172)
  store i32 %173, ptr %45, align 4, !tbaa !5
  %174 = load i32, ptr %20, align 4, !tbaa !5
  %175 = add nsw i32 %170, -1
  store i32 %175, ptr %30, align 4, !tbaa !5
  %176 = tail call i32 @llvm.smin.i32(i32 %174, i32 %175)
  store i32 %176, ptr %46, align 4, !tbaa !5
  br i1 %141, label %177, label %209

177:                                              ; preds = %159
  %178 = load i32, ptr %12, align 4, !tbaa !5
  %179 = icmp eq i32 %178, 0
  br i1 %179, label %180, label %209

180:                                              ; preds = %177
  store i32 %169, ptr %29, align 4, !tbaa !5
  %.not12761525 = icmp slt i32 %169, 1
  br i1 %.not12761525, label %.loopexit1523, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %180
  %181 = add nuw i32 %169, 1
  %182 = zext nneg i32 %169 to i64
  %xtraiter = and i64 %182, 1
  %183 = icmp eq i32 %169, 1
  br i1 %183, label %.loopexit1523.loopexit.unr-lcssa, label %.lr.ph.preheader.new

.lr.ph.preheader.new:                             ; preds = %.lr.ph.preheader
  %unroll_iter = and i64 %182, 2147483646
  br label %.lr.ph

.lr.ph:                                           ; preds = %200, %.lr.ph.preheader.new
  %indvars.iv = phi i64 [ 1, %.lr.ph.preheader.new ], [ %indvars.iv.next.1, %200 ]
  %.011541527 = phi i32 [ 0, %.lr.ph.preheader.new ], [ %.11155.1, %200 ]
  %niter = phi i64 [ 0, %.lr.ph.preheader.new ], [ %niter.next.1, %200 ]
  %184 = getelementptr inbounds %struct.complex, ptr %48, i64 %indvars.iv
  %185 = load float, ptr %184, align 4, !tbaa !9
  %186 = fcmp oeq float %185, 0.000000e+00
  br i1 %186, label %187, label %.lr.ph.1

187:                                              ; preds = %.lr.ph
  %188 = getelementptr inbounds i8, ptr %184, i64 4
  %189 = load float, ptr %188, align 4, !tbaa !12
  %190 = fcmp oeq float %189, 0.000000e+00
  br i1 %190, label %191, label %.lr.ph.1

191:                                              ; preds = %187
  br label %.lr.ph.1

.lr.ph.1:                                         ; preds = %.lr.ph, %187, %191
  %.11155 = phi i32 [ 1, %191 ], [ %.011541527, %187 ], [ %.011541527, %.lr.ph ]
  %192 = getelementptr %struct.complex, ptr %11, i64 %indvars.iv
  %193 = load float, ptr %192, align 4, !tbaa !9
  %194 = fcmp oeq float %193, 0.000000e+00
  br i1 %194, label %195, label %200

195:                                              ; preds = %.lr.ph.1
  %196 = getelementptr inbounds i8, ptr %192, i64 4
  %197 = load float, ptr %196, align 4, !tbaa !12
  %198 = fcmp oeq float %197, 0.000000e+00
  br i1 %198, label %199, label %200

199:                                              ; preds = %195
  br label %200

200:                                              ; preds = %199, %195, %.lr.ph.1
  %.11155.1 = phi i32 [ 1, %199 ], [ %.11155, %195 ], [ %.11155, %.lr.ph.1 ]
  %indvars.iv.next.1 = add nuw nsw i64 %indvars.iv, 2
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %.loopexit1523.loopexit.unr-lcssa, label %.lr.ph, !llvm.loop !13

.loopexit1523.loopexit.unr-lcssa:                 ; preds = %200, %.lr.ph.preheader
  %.11155.lcssa.ph = phi i32 [ poison, %.lr.ph.preheader ], [ %.11155.1, %200 ]
  %indvars.iv.unr = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next.1, %200 ]
  %.011541527.unr = phi i32 [ 0, %.lr.ph.preheader ], [ %.11155.1, %200 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.loopexit1523, label %.lr.ph.epil

.lr.ph.epil:                                      ; preds = %.loopexit1523.loopexit.unr-lcssa
  %201 = getelementptr inbounds %struct.complex, ptr %48, i64 %indvars.iv.unr
  %202 = load float, ptr %201, align 4, !tbaa !9
  %203 = fcmp oeq float %202, 0.000000e+00
  br i1 %203, label %204, label %.loopexit1523

204:                                              ; preds = %.lr.ph.epil
  %205 = getelementptr inbounds i8, ptr %201, i64 4
  %206 = load float, ptr %205, align 4, !tbaa !12
  %207 = fcmp oeq float %206, 0.000000e+00
  br i1 %207, label %208, label %.loopexit1523

208:                                              ; preds = %204
  br label %.loopexit1523

.loopexit1523:                                    ; preds = %.loopexit1523.loopexit.unr-lcssa, %208, %204, %.lr.ph.epil, %180
  %storemerge1524.lcssa = phi i32 [ %175, %180 ], [ %169, %.lr.ph.epil ], [ %169, %204 ], [ %169, %208 ], [ %169, %.loopexit1523.loopexit.unr-lcssa ]
  %storemerge.lcssa = phi i32 [ 1, %180 ], [ %181, %.lr.ph.epil ], [ %181, %204 ], [ %181, %208 ], [ %181, %.loopexit1523.loopexit.unr-lcssa ]
  %.01154.lcssa = phi i32 [ 0, %180 ], [ %.11155.lcssa.ph, %.loopexit1523.loopexit.unr-lcssa ], [ 1, %208 ], [ %.011541527.unr, %204 ], [ %.011541527.unr, %.lr.ph.epil ]
  store i32 %storemerge.lcssa, ptr %36, align 4, !tbaa !5
  store i32 %storemerge1524.lcssa, ptr %30, align 4, !tbaa !5
  br label %209

209:                                              ; preds = %.loopexit1523, %177, %159
  %.promoted1542 = phi i32 [ %175, %177 ], [ %175, %159 ], [ %storemerge1524.lcssa, %.loopexit1523 ]
  %.2 = phi i32 [ 0, %177 ], [ 0, %159 ], [ %.01154.lcssa, %.loopexit1523 ]
  br i1 %116, label %210, label %238

210:                                              ; preds = %209
  %.not12781530 = icmp slt i32 %.01160, 1
  br i1 %.not12781530, label %.loopexit1522, label %.lr.ph1533.preheader

.lr.ph1533.preheader:                             ; preds = %210
  %211 = zext nneg i32 %.01160 to i64
  %xtraiter2115 = and i64 %211, 3
  %212 = icmp ult i32 %.01160, 4
  br i1 %212, label %.loopexit1522.loopexit.unr-lcssa, label %.lr.ph1533.preheader.new

.lr.ph1533.preheader.new:                         ; preds = %.lr.ph1533.preheader
  %unroll_iter2118 = and i64 %211, 2147483644
  %invariant.gep2146 = getelementptr inbounds i8, ptr %49, i64 8
  %invariant.gep2148 = getelementptr inbounds i8, ptr %49, i64 12
  br label %.lr.ph1533

.lr.ph1533:                                       ; preds = %.lr.ph1533, %.lr.ph1533.preheader.new
  %indvars.iv1855 = phi i64 [ 1, %.lr.ph1533.preheader.new ], [ %indvars.iv.next1856.3, %.lr.ph1533 ]
  %.011561532 = phi i32 [ 0, %.lr.ph1533.preheader.new ], [ %.11157.3, %.lr.ph1533 ]
  %niter2119 = phi i64 [ 0, %.lr.ph1533.preheader.new ], [ %niter2119.next.3, %.lr.ph1533 ]
  %213 = getelementptr inbounds i32, ptr %49, i64 %indvars.iv1855
  %214 = load i32, ptr %213, align 4, !tbaa !5
  %215 = icmp slt i32 %214, 1
  %216 = icmp sgt i32 %214, %.01160
  %217 = getelementptr i32, ptr %18, i64 %indvars.iv1855
  %218 = load i32, ptr %217, align 4, !tbaa !5
  %219 = icmp slt i32 %218, 1
  %220 = icmp sgt i32 %218, %.01160
  %gep2147 = getelementptr inbounds i32, ptr %invariant.gep2146, i64 %indvars.iv1855
  %221 = load i32, ptr %gep2147, align 4, !tbaa !5
  %222 = icmp slt i32 %221, 1
  %223 = icmp sgt i32 %221, %.01160
  %gep2149 = getelementptr inbounds i32, ptr %invariant.gep2148, i64 %indvars.iv1855
  %224 = load i32, ptr %gep2149, align 4, !tbaa !5
  %225 = icmp slt i32 %224, 1
  %226 = icmp sgt i32 %224, %.01160
  %or.cond1449.3 = select i1 %225, i1 true, i1 %226
  %227 = select i1 %or.cond1449.3, i1 true, i1 %222
  %228 = select i1 %227, i1 true, i1 %223
  %229 = select i1 %228, i1 true, i1 %219
  %230 = select i1 %229, i1 true, i1 %220
  %231 = select i1 %230, i1 true, i1 %215
  %232 = select i1 %231, i1 true, i1 %216
  %.11157.3 = select i1 %232, i32 1, i32 %.011561532
  %indvars.iv.next1856.3 = add nuw nsw i64 %indvars.iv1855, 4
  %niter2119.next.3 = add i64 %niter2119, 4
  %niter2119.ncmp.3 = icmp eq i64 %niter2119.next.3, %unroll_iter2118
  br i1 %niter2119.ncmp.3, label %.loopexit1522.loopexit.unr-lcssa, label %.lr.ph1533, !llvm.loop !15

.loopexit1522.loopexit.unr-lcssa:                 ; preds = %.lr.ph1533, %.lr.ph1533.preheader
  %.11157.lcssa.ph = phi i32 [ poison, %.lr.ph1533.preheader ], [ %.11157.3, %.lr.ph1533 ]
  %indvars.iv1855.unr = phi i64 [ 1, %.lr.ph1533.preheader ], [ %indvars.iv.next1856.3, %.lr.ph1533 ]
  %.011561532.unr = phi i32 [ 0, %.lr.ph1533.preheader ], [ %.11157.3, %.lr.ph1533 ]
  %lcmp.mod2116.not = icmp eq i64 %xtraiter2115, 0
  br i1 %lcmp.mod2116.not, label %.loopexit1522.loopexit, label %.lr.ph1533.epil

.lr.ph1533.epil:                                  ; preds = %.loopexit1522.loopexit.unr-lcssa, %.lr.ph1533.epil
  %indvars.iv1855.epil = phi i64 [ %indvars.iv.next1856.epil, %.lr.ph1533.epil ], [ %indvars.iv1855.unr, %.loopexit1522.loopexit.unr-lcssa ]
  %.011561532.epil = phi i32 [ %.11157.epil, %.lr.ph1533.epil ], [ %.011561532.unr, %.loopexit1522.loopexit.unr-lcssa ]
  %epil.iter = phi i64 [ %epil.iter.next, %.lr.ph1533.epil ], [ 0, %.loopexit1522.loopexit.unr-lcssa ]
  %233 = getelementptr inbounds i32, ptr %49, i64 %indvars.iv1855.epil
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = icmp slt i32 %234, 1
  %236 = icmp sgt i32 %234, %.01160
  %or.cond1449.epil = select i1 %235, i1 true, i1 %236
  %.11157.epil = select i1 %or.cond1449.epil, i32 1, i32 %.011561532.epil
  %indvars.iv.next1856.epil = add nuw nsw i64 %indvars.iv1855.epil, 1
  %epil.iter.next = add i64 %epil.iter, 1
  %epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter2115
  br i1 %epil.iter.cmp.not, label %.loopexit1522.loopexit, label %.lr.ph1533.epil, !llvm.loop !16

.loopexit1522.loopexit:                           ; preds = %.lr.ph1533.epil, %.loopexit1522.loopexit.unr-lcssa
  %.11157.lcssa = phi i32 [ %.11157.lcssa.ph, %.loopexit1522.loopexit.unr-lcssa ], [ %.11157.epil, %.lr.ph1533.epil ]
  %237 = add nuw i32 %.01160, 1
  br label %.loopexit1522

.loopexit1522:                                    ; preds = %.loopexit1522.loopexit, %210
  %storemerge1277.lcssa = phi i32 [ 1, %210 ], [ %237, %.loopexit1522.loopexit ]
  %.01156.lcssa = phi i32 [ 0, %210 ], [ %.11157.lcssa, %.loopexit1522.loopexit ]
  store i32 %storemerge1277.lcssa, ptr %37, align 4, !tbaa !5
  br label %238

238:                                              ; preds = %.loopexit1522, %209
  %.21158 = phi i32 [ 0, %209 ], [ %.01156.lcssa, %.loopexit1522 ]
  %239 = icmp slt i32 %169, 0
  br i1 %239, label %.thread1462.sink.split, label %240

240:                                              ; preds = %238
  %.not1279 = icmp ne i32 %169, %170
  %or.cond = or i1 %.not1245, %80
  %or.cond1450 = select i1 %.not1279, i1 %or.cond, i1 false
  br i1 %or.cond1450, label %.thread1462.sink.split, label %241

241:                                              ; preds = %240
  %242 = icmp slt i32 %170, 0
  %brmerge = or i1 %242, %73
  %brmerge2015 = select i1 %brmerge, i1 true, i1 %81
  %.mux = select i1 %73, i32 -3, i32 -5
  %.mux.mux = select i1 %242, i32 -2, i32 %.mux
  br i1 %brmerge2015, label %.thread1462.sink.split, label %243

243:                                              ; preds = %241
  %244 = load i32, ptr %6, align 4, !tbaa !5
  %245 = add i32 %244, -7
  %or.cond1451 = icmp ult i32 %245, -13
  br i1 %or.cond1451, label %.thread1462.sink.split, label %246

246:                                              ; preds = %243
  switch i32 %244, label %247 [
    i32 -6, label %.thread
    i32 0, label %.thread
    i32 6, label %.thread
  ]

247:                                              ; preds = %246
  %248 = load float, ptr %7, align 4, !tbaa !18
  %249 = fcmp olt float %248, 1.000000e+00
  br i1 %249, label %.thread1462.sink.split, label %250

250:                                              ; preds = %247
  switch i32 %244, label %251 [
    i32 -6, label %.thread
    i32 0, label %.thread
  ]

251:                                              ; preds = %250
  br i1 %90, label %.thread1462.sink.split, label %.thread

.thread:                                          ; preds = %246, %246, %246, %250, %250, %251
  switch i32 %143, label %253 [
    i32 -1, label %.thread1462.sink.split
    i32 4, label %252
  ]

252:                                              ; preds = %.thread
  %.not1285 = icmp eq i32 %169, %170
  br i1 %.not1285, label %253, label %.thread1462.sink.split

253:                                              ; preds = %.thread, %252
  %254 = add nsw i32 %143, -1
  %or.cond9 = icmp ult i32 %254, 4
  %or.cond11 = or i1 %142, %or.cond9
  %or.cond13 = and i1 %.not1245, %or.cond11
  %or.cond21 = icmp ult i32 %254, 5
  %or.cond23 = and i1 %80, %or.cond21
  %or.cond1476 = select i1 %or.cond13, i1 true, i1 %or.cond23
  br i1 %or.cond1476, label %.thread1462.sink.split, label %255

255:                                              ; preds = %253
  %256 = icmp ne i32 %.2, 0
  %or.cond25 = select i1 %141, i1 %256, i1 false
  br i1 %or.cond25, label %.thread1462.sink.split, label %257

257:                                              ; preds = %255
  switch i32 %143, label %266 [
    i32 6, label %258
    i32 5, label %258
    i32 4, label %258
    i32 3, label %258
    i32 1, label %258
  ]

258:                                              ; preds = %257, %257, %257, %257, %257
  %259 = load i32, ptr %12, align 4, !tbaa !5
  %260 = add i32 %259, -7
  %or.cond1452 = icmp ult i32 %260, -13
  br i1 %or.cond1452, label %.thread1462.sink.split, label %261

261:                                              ; preds = %258
  switch i32 %143, label %266 [
    i32 6, label %262
    i32 5, label %262
    i32 4, label %262
    i32 3, label %262
    i32 1, label %262
  ]

262:                                              ; preds = %261, %261, %261, %261, %261
  switch i32 %259, label %263 [
    i32 -6, label %266
    i32 0, label %266
    i32 6, label %266
  ]

263:                                              ; preds = %262
  %264 = load float, ptr %13, align 4, !tbaa !18
  %265 = fcmp olt float %264, 1.000000e+00
  br i1 %265, label %.thread1462.sink.split, label %266

266:                                              ; preds = %257, %262, %262, %262, %261, %263
  %267 = and i32 %143, -2
  %or.cond43 = icmp eq i32 %267, 2
  br i1 %or.cond43, label %268, label %275

268:                                              ; preds = %266
  %269 = load i32, ptr %15, align 4, !tbaa !5
  %270 = add i32 %269, -7
  %or.cond1453 = icmp ult i32 %270, -13
  br i1 %or.cond1453, label %.thread1462.sink.split, label %271

271:                                              ; preds = %268
  switch i32 %269, label %272 [
    i32 -6, label %275
    i32 0, label %275
    i32 6, label %275
  ]

272:                                              ; preds = %271
  %273 = load float, ptr %16, align 4, !tbaa !18
  %274 = fcmp olt float %273, 1.000000e+00
  br i1 %274, label %.thread1462.sink.split, label %275

275:                                              ; preds = %266, %271, %271, %271, %272
  switch i32 %118, label %277 [
    i32 -1, label %.thread1462.sink.split
    i32 3, label %276
  ]

276:                                              ; preds = %275
  %.not1292 = icmp eq i32 %169, %170
  br i1 %.not1292, label %.thread1459, label %.thread1462.sink.split

277:                                              ; preds = %275
  %278 = add nsw i32 %118, -1
  %or.cond47 = icmp ult i32 %278, 2
  %or.cond1454 = select i1 %or.cond47, i1 %or.cond, i1 false
  br i1 %or.cond1454, label %.thread1462.sink.split, label %.thread1459

.thread1459:                                      ; preds = %276, %277
  %279 = icmp ne i32 %.21158, 0
  %or.cond51 = select i1 %117, i1 %279, i1 false
  br i1 %or.cond51, label %.thread1462.sink.split, label %280

280:                                              ; preds = %.thread1459
  %281 = icmp slt i32 %171, 0
  br i1 %281, label %.thread1462.sink.split, label %282

282:                                              ; preds = %280
  %283 = icmp slt i32 %174, 0
  %.not1293 = icmp ne i32 %171, %174
  %or.cond1455.not = and i1 %or.cond, %.not1293
  %or.cond1479 = select i1 %283, i1 true, i1 %or.cond1455.not
  br i1 %or.cond1479, label %.thread1462.sink.split, label %284

284:                                              ; preds = %282
  %285 = load float, ptr %21, align 4, !tbaa !18
  %286 = fcmp olt float %285, 0.000000e+00
  %287 = fcmp ogt float %285, 1.000000e+00
  %or.cond1456 = or i1 %286, %287
  %brmerge2016 = select i1 %or.cond1456, i1 true, i1 %160
  %.mux2017 = select i1 %or.cond1456, i32 -22, i32 -24
  br i1 %brmerge2016, label %.thread1462.sink.split, label %288

288:                                              ; preds = %284
  %or.cond55 = or i1 %161, %162
  %or.cond57 = or i1 %or.cond55, %163
  %or.cond59 = or i1 %or.cond57, %164
  %or.cond61 = and i1 %82, %or.cond59
  br i1 %or.cond61, label %.thread1462.sink.split, label %289

289:                                              ; preds = %288
  %or.cond63 = and i1 %82, %165
  br i1 %or.cond63, label %290, label %291

290:                                              ; preds = %289
  %.not1294 = icmp eq i32 %171, 0
  %.not1295 = icmp eq i32 %169, %170
  %or.cond1477 = select i1 %.not1294, i1 %.not1295, i1 false
  br i1 %or.cond1477, label %291, label %.thread1462.sink.split

291:                                              ; preds = %290, %289
  %or.cond65 = and i1 %82, %166
  br i1 %or.cond65, label %292, label %293

292:                                              ; preds = %291
  %.not1296 = icmp eq i32 %174, 0
  %.not1297 = icmp eq i32 %169, %170
  %or.cond1478 = select i1 %.not1296, i1 %.not1297, i1 false
  br i1 %or.cond1478, label %293, label %.thread1462.sink.split

293:                                              ; preds = %292, %291
  %or.cond67 = or i1 %.not1265, %161
  %or.cond69 = or i1 %or.cond67, %162
  br i1 %or.cond69, label %294, label %297

294:                                              ; preds = %293
  %295 = load i32, ptr %25, align 4, !tbaa !5
  %spec.select = tail call i32 @llvm.umax.i32(i32 %169, i32 1)
  %296 = icmp slt i32 %295, %spec.select
  br i1 %296, label %.thread1462.sink.split, label %297

297:                                              ; preds = %293, %294
  %or.cond71 = or i1 %165, %166
  br i1 %or.cond71, label %298, label %301

298:                                              ; preds = %297
  %299 = load i32, ptr %25, align 4, !tbaa !5
  %300 = icmp slt i32 %299, 1
  br i1 %300, label %.thread1462.sink.split, label %301

301:                                              ; preds = %297, %298
  %or.cond73 = or i1 %163, %164
  br i1 %or.cond73, label %302, label %304

302:                                              ; preds = %301
  %303 = load i32, ptr %25, align 4, !tbaa !5
  %.not1298 = icmp sgt i32 %303, %176
  br i1 %.not1298, label %304, label %.thread1462.sink.split

304:                                              ; preds = %301, %302
  br i1 %167, label %305, label %308

305:                                              ; preds = %304
  %306 = load i32, ptr %25, align 4, !tbaa !5
  %307 = add nsw i32 %176, %173
  %.not1299 = icmp sgt i32 %306, %307
  br i1 %.not1299, label %308, label %.thread1462.sink.split

308:                                              ; preds = %305, %304
  %.pr = load i32, ptr %27, align 4, !tbaa !5
  %.not1300 = icmp eq i32 %.pr, 0
  br i1 %.not1300, label %312, label %.thread1462

.thread1462.sink.split:                           ; preds = %284, %241, %294, %298, %302, %305, %290, %292, %288, %282, %280, %.thread1459, %276, %275, %277, %272, %268, %263, %258, %255, %252, %253, %.thread, %251, %247, %243, %240, %238
  %.sink = phi i32 [ -1, %238 ], [ -1, %240 ], [ %.mux.mux, %241 ], [ -7, %243 ], [ -8, %247 ], [ -10, %251 ], [ -11, %.thread ], [ -11, %253 ], [ -11, %252 ], [ -12, %255 ], [ -13, %258 ], [ -14, %263 ], [ -16, %268 ], [ -17, %272 ], [ -18, %277 ], [ -18, %275 ], [ -18, %276 ], [ -19, %.thread1459 ], [ -20, %280 ], [ -21, %282 ], [ %.mux2017, %284 ], [ -24, %288 ], [ -24, %292 ], [ -24, %290 ], [ -26, %305 ], [ -26, %302 ], [ -26, %298 ], [ -26, %294 ]
  store i32 %.sink, ptr %27, align 4, !tbaa !5
  br label %.thread1462

.thread1462:                                      ; preds = %.thread1462.sink.split, %308
  %309 = phi i32 [ %.pr, %308 ], [ %.sink, %.thread1462.sink.split ]
  %310 = sub nsw i32 0, %309
  store i32 %310, ptr %29, align 4, !tbaa !5
  %311 = call i32 @xerbla_(ptr noundef nonnull @.str.15, ptr noundef nonnull %29, i32 noundef 6) #7
  br label %.loopexit

312:                                              ; preds = %308
  %.not1940 = icmp sgt i32 %175, %174
  %313 = icmp sgt i32 %172, %171
  %spec.select1996 = select i1 %.not1940, i1 true, i1 %313
  %314 = load <2 x i32>, ptr %3, align 4, !tbaa !5
  %315 = tail call <2 x i32> @llvm.abs.v2i32(<2 x i32> %314, i1 true)
  %316 = and <2 x i32> %315, <i32 4095, i32 4095>
  store <2 x i32> %316, ptr %3, align 4, !tbaa !5
  %317 = getelementptr inbounds i8, ptr %3, i64 8
  %318 = load i32, ptr %317, align 4, !tbaa !5
  %319 = tail call i32 @llvm.abs.i32(i32 %318, i1 true)
  %320 = and i32 %319, 4095
  store i32 %320, ptr %317, align 4, !tbaa !5
  %321 = getelementptr inbounds i8, ptr %3, i64 12
  %322 = load i32, ptr %321, align 4, !tbaa !5
  %323 = tail call i32 @llvm.abs.i32(i32 %322, i1 true)
  store i32 5, ptr %36, align 4, !tbaa !5
  store i32 %322, ptr %29, align 4, !tbaa !5
  %324 = getelementptr inbounds i8, ptr %3, i64 12
  %325 = and i32 %323, 4094
  %326 = or disjoint i32 %325, 1
  store i32 %326, ptr %324, align 4, !tbaa !5
  call void @clatm1_(ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %43, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %41, ptr noundef nonnull %27) #7
  %327 = load i32, ptr %27, align 4, !tbaa !5
  %.not1302 = icmp eq i32 %327, 0
  br i1 %.not1302, label %329, label %328

328:                                              ; preds = %312
  store i32 1, ptr %27, align 4, !tbaa !5
  br label %.loopexit

329:                                              ; preds = %312
  %330 = load i32, ptr %6, align 4, !tbaa !5
  switch i32 %330, label %331 [
    i32 0, label %385
    i32 -6, label %385
    i32 6, label %385
  ]

331:                                              ; preds = %329
  %332 = call <2 x float> @Cf(ptr noundef %5)
  %333 = call float @cabsf(<2 x float> noundef %332) #7
  %334 = load i32, ptr %41, align 4, !tbaa !5
  store i32 %334, ptr %29, align 4, !tbaa !5
  store i32 2, ptr %36, align 4, !tbaa !5
  %.not13071537 = icmp slt i32 %334, 2
  br i1 %.not13071537, label %._crit_edge, label %.lr.ph1540

.lr.ph1540:                                       ; preds = %331, %.lr.ph1540
  %.01539 = phi float [ %340, %.lr.ph1540 ], [ %333, %331 ]
  %storemerge13061538 = phi i32 [ %342, %.lr.ph1540 ], [ 2, %331 ]
  store float %.01539, ptr %31, align 4, !tbaa !18
  %335 = sext i32 %storemerge13061538 to i64
  %336 = getelementptr inbounds %struct.complex, ptr %47, i64 %335
  %337 = call <2 x float> @Cf(ptr noundef nonnull %336)
  %338 = call float @cabsf(<2 x float> noundef %337) #7
  %339 = fcmp oge float %.01539, %338
  %340 = select i1 %339, float %.01539, float %338
  %341 = load i32, ptr %36, align 4, !tbaa !5
  %342 = add nsw i32 %341, 1
  store i32 %342, ptr %36, align 4, !tbaa !5
  %343 = load i32, ptr %29, align 4, !tbaa !5
  %.not1307.not = icmp slt i32 %341, %343
  br i1 %.not1307.not, label %.lr.ph1540, label %._crit_edge, !llvm.loop !19

._crit_edge:                                      ; preds = %.lr.ph1540, %331
  %.promoted15541890 = phi float [ undef, %331 ], [ %.01539, %.lr.ph1540 ]
  %.0.lcssa = phi float [ %333, %331 ], [ %340, %.lr.ph1540 ]
  %344 = fcmp oeq float %.0.lcssa, 0.000000e+00
  br i1 %344, label %345, label %353

345:                                              ; preds = %._crit_edge
  %346 = load float, ptr %8, align 4, !tbaa !9
  %347 = fcmp une float %346, 0.000000e+00
  br i1 %347, label %352, label %348

348:                                              ; preds = %345
  %349 = getelementptr inbounds i8, ptr %8, i64 4
  %350 = load float, ptr %349, align 4, !tbaa !12
  %351 = fcmp une float %350, 0.000000e+00
  br i1 %351, label %352, label %353

352:                                              ; preds = %348, %345
  store i32 2, ptr %27, align 4, !tbaa !5
  br label %.loopexit

353:                                              ; preds = %348, %._crit_edge
  %354 = fcmp une float %.0.lcssa, 0.000000e+00
  br i1 %354, label %355, label %360

355:                                              ; preds = %353
  %356 = load <2 x float>, ptr %8, align 4, !tbaa !18
  %357 = insertelement <2 x float> poison, float %.0.lcssa, i64 0
  %358 = shufflevector <2 x float> %357, <2 x float> poison, <2 x i32> zeroinitializer
  %359 = fdiv <2 x float> %356, %358
  store <2 x float> %359, ptr %32, align 8, !tbaa !18
  br label %360

360:                                              ; preds = %353, %355
  %361 = phi <2 x float> [ %359, %355 ], [ <float 1.000000e+00, float 0.000000e+00>, %353 ]
  %362 = load i32, ptr %41, align 4, !tbaa !5
  store i32 %362, ptr %29, align 4, !tbaa !5
  %.not13091544 = icmp slt i32 %362, 1
  br i1 %.not13091544, label %.loopexit1521, label %.lr.ph1547

.lr.ph1547:                                       ; preds = %360
  %363 = extractelement <2 x float> %361, i64 1
  %364 = fneg float %363
  %365 = add nuw i32 %362, 1
  %wide.trip.count1867 = zext i32 %365 to i64
  %366 = zext nneg i32 %362 to i64
  %min.iters.check = icmp ult i32 %362, 4
  br i1 %min.iters.check, label %scalar.ph.preheader, label %vector.ph

vector.ph:                                        ; preds = %.lr.ph1547
  %n.vec = and i64 %366, 2147483644
  %ind.end = or disjoint i64 %n.vec, 1
  %broadcast.splatinsert = insertelement <4 x float> poison, float %364, i64 0
  %broadcast.splat = shufflevector <4 x float> %broadcast.splatinsert, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat2057 = shufflevector <2 x float> %361, <2 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splat2059 = shufflevector <2 x float> %361, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %367 = getelementptr %struct.complex, ptr %5, i64 %index
  %wide.vec = load <8 x float>, ptr %367, align 4, !tbaa !18
  %strided.vec = shufflevector <8 x float> %wide.vec, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec2055 = shufflevector <8 x float> %wide.vec, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %368 = fmul <4 x float> %strided.vec2055, %broadcast.splat
  %369 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat2057, <4 x float> %strided.vec, <4 x float> %368)
  %370 = fmul <4 x float> %broadcast.splat2059, %strided.vec
  %371 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat2057, <4 x float> %strided.vec2055, <4 x float> %370)
  %372 = getelementptr %struct.complex, ptr %5, i64 %index
  %interleaved.vec = shufflevector <4 x float> %369, <4 x float> %371, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec, ptr %372, align 4, !tbaa !18
  %index.next = add nuw i64 %index, 4
  %373 = icmp eq i64 %index.next, %n.vec
  br i1 %373, label %middle.block, label %vector.body, !llvm.loop !20

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %n.vec, %366
  %374 = shufflevector <4 x float> %369, <4 x float> %371, <2 x i32> <i32 3, i32 7>
  br i1 %cmp.n, label %..loopexit1521_crit_edge, label %scalar.ph.preheader

scalar.ph.preheader:                              ; preds = %middle.block, %.lr.ph1547
  %indvars.iv1864.ph = phi i64 [ 1, %.lr.ph1547 ], [ %ind.end, %middle.block ]
  %375 = shufflevector <2 x float> %361, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %376 = insertelement <2 x float> %375, float %364, i64 1
  %377 = shufflevector <2 x float> %361, <2 x float> poison, <2 x i32> zeroinitializer
  br label %scalar.ph

scalar.ph:                                        ; preds = %scalar.ph.preheader, %scalar.ph
  %indvars.iv1864 = phi i64 [ %indvars.iv.next1865, %scalar.ph ], [ %indvars.iv1864.ph, %scalar.ph.preheader ]
  %378 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv1864
  %379 = load <2 x float>, ptr %378, align 4, !tbaa !18
  %380 = fmul <2 x float> %379, %376
  %381 = shufflevector <2 x float> %380, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %382 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %377, <2 x float> %379, <2 x float> %381)
  store <2 x float> %382, ptr %378, align 4, !tbaa !18
  %indvars.iv.next1865 = add nuw nsw i64 %indvars.iv1864, 1
  %exitcond1868.not = icmp eq i64 %indvars.iv.next1865, %wide.trip.count1867
  br i1 %exitcond1868.not, label %..loopexit1521_crit_edge, label %scalar.ph, !llvm.loop !23

..loopexit1521_crit_edge:                         ; preds = %scalar.ph, %middle.block
  %indvars.iv1864.lcssa = phi i64 [ %n.vec, %middle.block ], [ %indvars.iv1864, %scalar.ph ]
  %383 = phi <2 x float> [ %374, %middle.block ], [ %382, %scalar.ph ]
  %384 = trunc nuw nsw i64 %indvars.iv1864.lcssa to i32
  store <2 x float> %383, ptr %32, align 8, !tbaa !18
  br label %.loopexit1521

.loopexit1521:                                    ; preds = %..loopexit1521_crit_edge, %360
  %storemerge13081543.lcssa = phi i32 [ %384, %..loopexit1521_crit_edge ], [ %.promoted1542, %360 ]
  %storemerge1308.lcssa = phi i32 [ %365, %..loopexit1521_crit_edge ], [ 1, %360 ]
  store i32 %storemerge1308.lcssa, ptr %36, align 4, !tbaa !5
  store i32 %storemerge13081543.lcssa, ptr %30, align 4, !tbaa !5
  br label %385

385:                                              ; preds = %.loopexit1521, %329, %329, %329
  %.promoted1554 = phi float [ %.promoted15541890, %.loopexit1521 ], [ undef, %329 ], [ undef, %329 ], [ undef, %329 ]
  %.promoted1552 = phi i32 [ %storemerge13081543.lcssa, %.loopexit1521 ], [ %.promoted1542, %329 ], [ %.promoted1542, %329 ], [ %.promoted1542, %329 ]
  br i1 %.not1245, label %386, label %401

386:                                              ; preds = %385
  %387 = load i32, ptr %41, align 4, !tbaa !5
  store i32 %387, ptr %29, align 4, !tbaa !5
  %.not13111556 = icmp slt i32 %387, 1
  br i1 %.not13111556, label %.loopexit1520, label %.lr.ph1559.preheader

.lr.ph1559.preheader:                             ; preds = %386
  %388 = add nuw i32 %387, 1
  %389 = zext nneg i32 %387 to i64
  %xtraiter2120 = and i64 %389, 3
  %390 = icmp ult i32 %387, 4
  br i1 %390, label %.loopexit1520.loopexit.unr-lcssa, label %.lr.ph1559.preheader.new

.lr.ph1559.preheader.new:                         ; preds = %.lr.ph1559.preheader
  %unroll_iter2125 = and i64 %389, 2147483644
  br label %.lr.ph1559

.lr.ph1559:                                       ; preds = %.lr.ph1559, %.lr.ph1559.preheader.new
  %indvars.iv1869 = phi i64 [ 1, %.lr.ph1559.preheader.new ], [ %indvars.iv.next1870.3, %.lr.ph1559 ]
  %niter2126 = phi i64 [ 0, %.lr.ph1559.preheader.new ], [ %niter2126.next.3, %.lr.ph1559 ]
  %391 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv1869, i32 1
  store float 0.000000e+00, ptr %391, align 4, !tbaa !12
  %indvars.iv.next1870 = add nuw nsw i64 %indvars.iv1869, 1
  %392 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv.next1870, i32 1
  store float 0.000000e+00, ptr %392, align 4, !tbaa !12
  %indvars.iv.next1870.1 = add nuw nsw i64 %indvars.iv1869, 2
  %393 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv.next1870.1, i32 1
  store float 0.000000e+00, ptr %393, align 4, !tbaa !12
  %indvars.iv.next1870.2 = add nuw nsw i64 %indvars.iv1869, 3
  %394 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv.next1870.2
  %395 = load float, ptr %394, align 4, !tbaa !9
  %396 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv.next1870.2, i32 1
  store float 0.000000e+00, ptr %396, align 4, !tbaa !12
  %indvars.iv.next1870.3 = add nuw nsw i64 %indvars.iv1869, 4
  %niter2126.next.3 = add i64 %niter2126, 4
  %niter2126.ncmp.3 = icmp eq i64 %niter2126.next.3, %unroll_iter2125
  br i1 %niter2126.ncmp.3, label %.loopexit1520.loopexit.unr-lcssa, label %.lr.ph1559, !llvm.loop !24

.loopexit1520.loopexit.unr-lcssa:                 ; preds = %.lr.ph1559, %.lr.ph1559.preheader
  %indvars.iv1869.lcssa.ph = phi i64 [ poison, %.lr.ph1559.preheader ], [ %indvars.iv.next1870.2, %.lr.ph1559 ]
  %.lcssa2108.ph = phi float [ poison, %.lr.ph1559.preheader ], [ %395, %.lr.ph1559 ]
  %indvars.iv1869.unr = phi i64 [ 1, %.lr.ph1559.preheader ], [ %indvars.iv.next1870.3, %.lr.ph1559 ]
  %lcmp.mod2122.not = icmp eq i64 %xtraiter2120, 0
  br i1 %lcmp.mod2122.not, label %.loopexit1520.loopexit, label %.lr.ph1559.epil

.lr.ph1559.epil:                                  ; preds = %.loopexit1520.loopexit.unr-lcssa, %.lr.ph1559.epil
  %indvars.iv1869.epil = phi i64 [ %indvars.iv.next1870.epil, %.lr.ph1559.epil ], [ %indvars.iv1869.unr, %.loopexit1520.loopexit.unr-lcssa ]
  %epil.iter2121 = phi i64 [ %epil.iter2121.next, %.lr.ph1559.epil ], [ 0, %.loopexit1520.loopexit.unr-lcssa ]
  %397 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv1869.epil
  %398 = load float, ptr %397, align 4, !tbaa !9
  %399 = getelementptr inbounds %struct.complex, ptr %47, i64 %indvars.iv1869.epil, i32 1
  store float 0.000000e+00, ptr %399, align 4, !tbaa !12
  %indvars.iv.next1870.epil = add nuw nsw i64 %indvars.iv1869.epil, 1
  %epil.iter2121.next = add i64 %epil.iter2121, 1
  %epil.iter2121.cmp.not = icmp eq i64 %epil.iter2121.next, %xtraiter2120
  br i1 %epil.iter2121.cmp.not, label %.loopexit1520.loopexit, label %.lr.ph1559.epil, !llvm.loop !25

.loopexit1520.loopexit:                           ; preds = %.lr.ph1559.epil, %.loopexit1520.loopexit.unr-lcssa
  %indvars.iv1869.lcssa = phi i64 [ %indvars.iv1869.lcssa.ph, %.loopexit1520.loopexit.unr-lcssa ], [ %indvars.iv1869.epil, %.lr.ph1559.epil ]
  %.lcssa2108 = phi float [ %.lcssa2108.ph, %.loopexit1520.loopexit.unr-lcssa ], [ %398, %.lr.ph1559.epil ]
  %400 = trunc nuw nsw i64 %indvars.iv1869.lcssa to i32
  br label %.loopexit1520

.loopexit1520:                                    ; preds = %.loopexit1520.loopexit, %386
  %.lcssa1555 = phi float [ %.promoted1554, %386 ], [ %.lcssa2108, %.loopexit1520.loopexit ]
  %storemerge13101553.lcssa = phi i32 [ %.promoted1552, %386 ], [ %400, %.loopexit1520.loopexit ]
  %storemerge1310.lcssa = phi i32 [ 1, %386 ], [ %388, %.loopexit1520.loopexit ]
  store i32 %storemerge1310.lcssa, ptr %36, align 4, !tbaa !5
  store i32 %storemerge13101553.lcssa, ptr %30, align 4, !tbaa !5
  store float %.lcssa1555, ptr %31, align 4, !tbaa !18
  br label %401

401:                                              ; preds = %.loopexit1520, %385
  %402 = load i32, ptr %42, align 4
  switch i32 %402, label %406 [
    i32 6, label %403
    i32 5, label %403
    i32 4, label %403
    i32 3, label %403
    i32 1, label %403
  ]

403:                                              ; preds = %401, %401, %401, %401, %401
  call void @clatm1_(ptr noundef %12, ptr noundef %13, ptr noundef nonnull @c__0, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %11, ptr noundef nonnull %0, ptr noundef nonnull %27) #7
  %404 = load i32, ptr %27, align 4, !tbaa !5
  %.not1312 = icmp eq i32 %404, 0
  br i1 %.not1312, label %._crit_edge1891, label %405

._crit_edge1891:                                  ; preds = %403
  %.pre = load i32, ptr %42, align 4
  br label %406

405:                                              ; preds = %403
  store i32 3, ptr %27, align 4, !tbaa !5
  br label %.loopexit

406:                                              ; preds = %._crit_edge1891, %401
  %407 = phi i32 [ %.pre, %._crit_edge1891 ], [ %402, %401 ]
  %408 = and i32 %407, -2
  %or.cond83 = icmp eq i32 %408, 2
  br i1 %or.cond83, label %409, label %412

409:                                              ; preds = %406
  call void @clatm1_(ptr noundef %15, ptr noundef %16, ptr noundef nonnull @c__0, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %14, ptr noundef nonnull %1, ptr noundef nonnull %27) #7
  %410 = load i32, ptr %27, align 4, !tbaa !5
  %.not1313 = icmp eq i32 %410, 0
  br i1 %.not1313, label %412, label %411

411:                                              ; preds = %409
  store i32 4, ptr %27, align 4, !tbaa !5
  br label %.loopexit

412:                                              ; preds = %409, %406
  %413 = load i32, ptr %44, align 4, !tbaa !5
  %414 = icmp sgt i32 %413, 0
  br i1 %414, label %415, label %457

415:                                              ; preds = %412
  store i32 %.01160, ptr %29, align 4, !tbaa !5
  %.not13151563 = icmp slt i32 %.01160, 1
  br i1 %.not13151563, label %._crit_edge1567.thread, label %.lr.ph1566.preheader

.lr.ph1566.preheader:                             ; preds = %415
  %416 = add nuw i32 %.01160, 1
  %wide.trip.count1877 = zext i32 %416 to i64
  %417 = zext nneg i32 %.01160 to i64
  %min.iters.check2062 = icmp ult i32 %.01160, 8
  br i1 %min.iters.check2062, label %.lr.ph1566.preheader2107, label %vector.ph2063

vector.ph2063:                                    ; preds = %.lr.ph1566.preheader
  %n.vec2065 = and i64 %417, 2147483640
  %ind.end2066 = or disjoint i64 %n.vec2065, 1
  br label %vector.body2068

vector.body2068:                                  ; preds = %vector.body2068, %vector.ph2063
  %index2069 = phi i64 [ 0, %vector.ph2063 ], [ %index.next2072, %vector.body2068 ]
  %vec.ind = phi <4 x i32> [ <i32 1, i32 2, i32 3, i32 4>, %vector.ph2063 ], [ %vec.ind.next, %vector.body2068 ]
  %step.add = add <4 x i32> %vec.ind, <i32 4, i32 4, i32 4, i32 4>
  %418 = getelementptr i32, ptr %26, i64 %index2069
  %419 = getelementptr inbounds i8, ptr %418, i64 16
  store <4 x i32> %vec.ind, ptr %418, align 4, !tbaa !5
  store <4 x i32> %step.add, ptr %419, align 4, !tbaa !5
  %index.next2072 = add nuw i64 %index2069, 8
  %vec.ind.next = add <4 x i32> %vec.ind, <i32 8, i32 8, i32 8, i32 8>
  %420 = icmp eq i64 %index.next2072, %n.vec2065
  br i1 %420, label %middle.block2060, label %vector.body2068, !llvm.loop !26

middle.block2060:                                 ; preds = %vector.body2068
  %cmp.n2073 = icmp eq i64 %n.vec2065, %417
  br i1 %cmp.n2073, label %._crit_edge1567, label %.lr.ph1566.preheader2107

.lr.ph1566.preheader2107:                         ; preds = %middle.block2060, %.lr.ph1566.preheader
  %indvars.iv1874.ph = phi i64 [ 1, %.lr.ph1566.preheader ], [ %ind.end2066, %middle.block2060 ]
  br label %.lr.ph1566

.lr.ph1566:                                       ; preds = %.lr.ph1566.preheader2107, %.lr.ph1566
  %indvars.iv1874 = phi i64 [ %indvars.iv.next1875, %.lr.ph1566 ], [ %indvars.iv1874.ph, %.lr.ph1566.preheader2107 ]
  %421 = getelementptr inbounds i32, ptr %53, i64 %indvars.iv1874
  %422 = trunc nuw nsw i64 %indvars.iv1874 to i32
  store i32 %422, ptr %421, align 4, !tbaa !5
  %indvars.iv.next1875 = add nuw nsw i64 %indvars.iv1874, 1
  %exitcond1878.not = icmp eq i64 %indvars.iv.next1875, %wide.trip.count1877
  br i1 %exitcond1878.not, label %._crit_edge1567, label %.lr.ph1566, !llvm.loop !27

._crit_edge1567:                                  ; preds = %.lr.ph1566, %middle.block2060
  br i1 %spec.select1996, label %.lr.ph1576.preheader, label %424

._crit_edge1567.thread:                           ; preds = %415
  br i1 %spec.select1996, label %.loopexit1518, label %.loopexit1519

.lr.ph1576.preheader:                             ; preds = %._crit_edge1567
  %423 = zext nneg i32 %.01160 to i64
  br label %.lr.ph1576

424:                                              ; preds = %._crit_edge1567
  store i32 %.01160, ptr %29, align 4, !tbaa !5
  br i1 %.not13151563, label %.loopexit1519, label %.lr.ph1572.preheader

.lr.ph1572.preheader:                             ; preds = %424
  %425 = add nuw i32 %.01160, 1
  %426 = zext nneg i32 %.01160 to i64
  %xtraiter2127 = and i64 %426, 1
  %427 = icmp eq i32 %416, 2
  br i1 %427, label %..loopexit1519_crit_edge.unr-lcssa, label %.lr.ph1572.preheader.new

.lr.ph1572.preheader.new:                         ; preds = %.lr.ph1572.preheader
  %unroll_iter2131 = and i64 %426, 2147483646
  br label %.lr.ph1572

.lr.ph1572:                                       ; preds = %.lr.ph1572, %.lr.ph1572.preheader.new
  %indvars.iv1879 = phi i64 [ 1, %.lr.ph1572.preheader.new ], [ %indvars.iv.next1880.1, %.lr.ph1572 ]
  %niter2132 = phi i64 [ 0, %.lr.ph1572.preheader.new ], [ %niter2132.next.1, %.lr.ph1572 ]
  %428 = getelementptr inbounds i32, ptr %49, i64 %indvars.iv1879
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = getelementptr inbounds i32, ptr %53, i64 %indvars.iv1879
  %431 = load i32, ptr %430, align 4, !tbaa !5
  %432 = sext i32 %429 to i64
  %433 = getelementptr inbounds i32, ptr %53, i64 %432
  %434 = load i32, ptr %433, align 4, !tbaa !5
  store i32 %434, ptr %430, align 4, !tbaa !5
  store i32 %431, ptr %433, align 4, !tbaa !5
  %435 = getelementptr i32, ptr %18, i64 %indvars.iv1879
  %436 = load i32, ptr %435, align 4, !tbaa !5
  %437 = getelementptr i32, ptr %26, i64 %indvars.iv1879
  %438 = load i32, ptr %437, align 4, !tbaa !5
  %439 = sext i32 %436 to i64
  %440 = getelementptr inbounds i32, ptr %53, i64 %439
  %441 = load i32, ptr %440, align 4, !tbaa !5
  store i32 %441, ptr %437, align 4, !tbaa !5
  store i32 %438, ptr %440, align 4, !tbaa !5
  %indvars.iv.next1880.1 = add nuw nsw i64 %indvars.iv1879, 2
  %niter2132.next.1 = add i64 %niter2132, 2
  %niter2132.ncmp.1 = icmp eq i64 %niter2132.next.1, %unroll_iter2131
  br i1 %niter2132.ncmp.1, label %..loopexit1519_crit_edge.unr-lcssa, label %.lr.ph1572, !llvm.loop !28

.lr.ph1576:                                       ; preds = %.lr.ph1576.preheader, %.lr.ph1576
  %indvars.iv1884 = phi i64 [ %423, %.lr.ph1576.preheader ], [ %indvars.iv.next1885, %.lr.ph1576 ]
  %442 = getelementptr inbounds i32, ptr %49, i64 %indvars.iv1884
  %443 = load i32, ptr %442, align 4, !tbaa !5
  %444 = getelementptr inbounds i32, ptr %53, i64 %indvars.iv1884
  %445 = load i32, ptr %444, align 4, !tbaa !5
  %446 = sext i32 %443 to i64
  %447 = getelementptr inbounds i32, ptr %53, i64 %446
  %448 = load i32, ptr %447, align 4, !tbaa !5
  store i32 %448, ptr %444, align 4, !tbaa !5
  store i32 %445, ptr %447, align 4, !tbaa !5
  %indvars.iv.next1885 = add nsw i64 %indvars.iv1884, -1
  %449 = icmp ugt i64 %indvars.iv1884, 1
  br i1 %449, label %.lr.ph1576, label %..loopexit1518_crit_edge, !llvm.loop !29

..loopexit1518_crit_edge:                         ; preds = %.lr.ph1576
  store i32 %445, ptr %37, align 4, !tbaa !5
  br label %.loopexit1518

.loopexit1518:                                    ; preds = %._crit_edge1567.thread, %..loopexit1518_crit_edge
  %storemerge1317.lcssa = phi i32 [ 0, %..loopexit1518_crit_edge ], [ %.01160, %._crit_edge1567.thread ]
  store i32 %storemerge1317.lcssa, ptr %36, align 4, !tbaa !5
  br label %457

..loopexit1519_crit_edge.unr-lcssa:               ; preds = %.lr.ph1572, %.lr.ph1572.preheader
  %.lcssa2106.ph = phi i32 [ poison, %.lr.ph1572.preheader ], [ %438, %.lr.ph1572 ]
  %indvars.iv1879.unr = phi i64 [ 1, %.lr.ph1572.preheader ], [ %indvars.iv.next1880.1, %.lr.ph1572 ]
  %lcmp.mod2129.not = icmp eq i64 %xtraiter2127, 0
  br i1 %lcmp.mod2129.not, label %..loopexit1519_crit_edge, label %.lr.ph1572.epil

.lr.ph1572.epil:                                  ; preds = %..loopexit1519_crit_edge.unr-lcssa
  %450 = getelementptr inbounds i32, ptr %49, i64 %indvars.iv1879.unr
  %451 = load i32, ptr %450, align 4, !tbaa !5
  %452 = getelementptr inbounds i32, ptr %53, i64 %indvars.iv1879.unr
  %453 = load i32, ptr %452, align 4, !tbaa !5
  %454 = sext i32 %451 to i64
  %455 = getelementptr inbounds i32, ptr %53, i64 %454
  %456 = load i32, ptr %455, align 4, !tbaa !5
  store i32 %456, ptr %452, align 4, !tbaa !5
  store i32 %453, ptr %455, align 4, !tbaa !5
  br label %..loopexit1519_crit_edge

..loopexit1519_crit_edge:                         ; preds = %..loopexit1519_crit_edge.unr-lcssa, %.lr.ph1572.epil
  %.lcssa2106 = phi i32 [ %.lcssa2106.ph, %..loopexit1519_crit_edge.unr-lcssa ], [ %453, %.lr.ph1572.epil ]
  store i32 %.lcssa2106, ptr %37, align 4, !tbaa !5
  br label %.loopexit1519

.loopexit1519:                                    ; preds = %._crit_edge1567.thread, %..loopexit1519_crit_edge, %424
  %storemerge1318.lcssa = phi i32 [ %425, %..loopexit1519_crit_edge ], [ 1, %424 ], [ 1, %._crit_edge1567.thread ]
  store i32 %storemerge1318.lcssa, ptr %36, align 4, !tbaa !5
  br label %457

457:                                              ; preds = %.loopexit1519, %.loopexit1518, %412
  br i1 %spec.select1996, label %904, label %458

458:                                              ; preds = %457
  br i1 %.not1265, label %459, label %524

459:                                              ; preds = %458
  br i1 %.not1245, label %460, label %485

460:                                              ; preds = %459
  %461 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %461, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14321663 = icmp slt i32 %461, 1
  br i1 %.not14321663, label %.thread1466, label %.lr.ph1666

.lr.ph1666:                                       ; preds = %460, %._crit_edge1662
  %462 = phi i32 [ %482, %._crit_edge1662 ], [ %461, %460 ]
  %463 = phi i32 [ %484, %._crit_edge1662 ], [ 1, %460 ]
  store i32 %463, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not14421659 = icmp slt i32 %463, 1
  br i1 %.not14421659, label %._crit_edge1662, label %.lr.ph1661

.lr.ph1661:                                       ; preds = %.lr.ph1666, %.lr.ph1661
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %464 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %464, ptr %39, align 8, !tbaa !18
  %465 = load i32, ptr %34, align 4, !tbaa !5
  %466 = load i32, ptr %35, align 4, !tbaa !5
  %467 = mul nsw i32 %466, %50
  %468 = add nsw i32 %467, %465
  %469 = sext i32 %468 to i64
  %470 = getelementptr inbounds %struct.complex, ptr %52, i64 %469
  store <2 x float> %464, ptr %470, align 4, !tbaa !18
  %471 = mul nsw i32 %465, %50
  %472 = add nsw i32 %466, %471
  %473 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0124.0.vec.extract = extractelement <2 x float> %473, i64 0
  %.sroa.0124.4.vec.extract = extractelement <2 x float> %473, i64 1
  %474 = fneg float %.sroa.0124.4.vec.extract
  %475 = call ptr @_pCf(ptr noundef nonnull %32)
  %476 = getelementptr inbounds i8, ptr %475, i64 4
  store float %.sroa.0124.0.vec.extract, ptr %475, align 4
  store float %474, ptr %476, align 4
  %477 = sext i32 %472 to i64
  %478 = getelementptr inbounds %struct.complex, ptr %52, i64 %477
  %479 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %479, ptr %478, align 4, !tbaa !18
  %480 = load i32, ptr %36, align 4, !tbaa !5
  %481 = add nsw i32 %480, 1
  store i32 %481, ptr %36, align 4, !tbaa !5
  %.not1442.not = icmp slt i32 %480, %463
  br i1 %.not1442.not, label %.lr.ph1661, label %._crit_edge1662.loopexit, !llvm.loop !30

._crit_edge1662.loopexit:                         ; preds = %.lr.ph1661
  %.pre1915 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1916 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1662

._crit_edge1662:                                  ; preds = %._crit_edge1662.loopexit, %.lr.ph1666
  %482 = phi i32 [ %.pre1916, %._crit_edge1662.loopexit ], [ %462, %.lr.ph1666 ]
  %483 = phi i32 [ %.pre1915, %._crit_edge1662.loopexit ], [ %463, %.lr.ph1666 ]
  %484 = add nsw i32 %483, 1
  store i32 %484, ptr %37, align 4, !tbaa !5
  %.not1432.not = icmp slt i32 %483, %482
  br i1 %.not1432.not, label %.lr.ph1666, label %.loopexit1495, !llvm.loop !31

485:                                              ; preds = %459
  br i1 %82, label %486, label %503

486:                                              ; preds = %485
  %487 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %487, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14281656 = icmp slt i32 %487, 1
  br i1 %.not14281656, label %.thread1466, label %.lr.ph1658

.lr.ph1658:                                       ; preds = %486, %._crit_edge1655
  %488 = phi i32 [ %500, %._crit_edge1655 ], [ %487, %486 ]
  %489 = phi i32 [ %502, %._crit_edge1655 ], [ 1, %486 ]
  %490 = load i32, ptr %0, align 4, !tbaa !5
  store i32 %490, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not14301652 = icmp slt i32 %490, 1
  br i1 %.not14301652, label %._crit_edge1655, label %.lr.ph1654

.lr.ph1654:                                       ; preds = %.lr.ph1658, %.lr.ph1654
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %491 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %491, ptr %39, align 8, !tbaa !18
  %492 = load i32, ptr %34, align 4, !tbaa !5
  %493 = load i32, ptr %35, align 4, !tbaa !5
  %494 = mul nsw i32 %493, %50
  %495 = add nsw i32 %494, %492
  %496 = sext i32 %495 to i64
  %497 = getelementptr inbounds %struct.complex, ptr %52, i64 %496
  store <2 x float> %491, ptr %497, align 4, !tbaa !18
  %498 = load i32, ptr %36, align 4, !tbaa !5
  %499 = add nsw i32 %498, 1
  store i32 %499, ptr %36, align 4, !tbaa !5
  %.not1430.not = icmp slt i32 %498, %490
  br i1 %.not1430.not, label %.lr.ph1654, label %._crit_edge1655.loopexit, !llvm.loop !32

._crit_edge1655.loopexit:                         ; preds = %.lr.ph1654
  %.pre1913 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1914 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1655

._crit_edge1655:                                  ; preds = %._crit_edge1655.loopexit, %.lr.ph1658
  %500 = phi i32 [ %.pre1914, %._crit_edge1655.loopexit ], [ %488, %.lr.ph1658 ]
  %501 = phi i32 [ %.pre1913, %._crit_edge1655.loopexit ], [ %489, %.lr.ph1658 ]
  %502 = add nsw i32 %501, 1
  store i32 %502, ptr %37, align 4, !tbaa !5
  %.not1428.not = icmp slt i32 %501, %500
  br i1 %.not1428.not, label %.lr.ph1658, label %.loopexit1495, !llvm.loop !33

503:                                              ; preds = %485
  br i1 %80, label %504, label %.thread1466

504:                                              ; preds = %503
  %505 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %505, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14241648 = icmp slt i32 %505, 1
  br i1 %.not14241648, label %.thread1466, label %.lr.ph1651

.lr.ph1651:                                       ; preds = %504, %._crit_edge1647
  %506 = phi i32 [ %521, %._crit_edge1647 ], [ %505, %504 ]
  %507 = phi i32 [ %523, %._crit_edge1647 ], [ 1, %504 ]
  store i32 %507, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not14261644 = icmp slt i32 %507, 1
  br i1 %.not14261644, label %._crit_edge1647, label %.lr.ph1646

.lr.ph1646:                                       ; preds = %.lr.ph1651, %.lr.ph1646
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %508 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %508, ptr %39, align 8, !tbaa !18
  %509 = load i32, ptr %34, align 4, !tbaa !5
  %510 = load i32, ptr %35, align 4, !tbaa !5
  %511 = mul nsw i32 %510, %50
  %512 = add nsw i32 %511, %509
  %513 = sext i32 %512 to i64
  %514 = getelementptr inbounds %struct.complex, ptr %52, i64 %513
  store <2 x float> %508, ptr %514, align 4, !tbaa !18
  %515 = mul nsw i32 %509, %50
  %516 = add nsw i32 %510, %515
  %517 = sext i32 %516 to i64
  %518 = getelementptr inbounds %struct.complex, ptr %52, i64 %517
  store <2 x float> %508, ptr %518, align 4, !tbaa !18
  %519 = load i32, ptr %36, align 4, !tbaa !5
  %520 = add nsw i32 %519, 1
  store i32 %520, ptr %36, align 4, !tbaa !5
  %.not1426.not = icmp slt i32 %519, %507
  br i1 %.not1426.not, label %.lr.ph1646, label %._crit_edge1647.loopexit, !llvm.loop !34

._crit_edge1647.loopexit:                         ; preds = %.lr.ph1646
  %.pre1911 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1912 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1647

._crit_edge1647:                                  ; preds = %._crit_edge1647.loopexit, %.lr.ph1651
  %521 = phi i32 [ %.pre1912, %._crit_edge1647.loopexit ], [ %506, %.lr.ph1651 ]
  %522 = phi i32 [ %.pre1911, %._crit_edge1647.loopexit ], [ %507, %.lr.ph1651 ]
  %523 = add nsw i32 %522, 1
  store i32 %523, ptr %37, align 4, !tbaa !5
  %.not1424.not = icmp slt i32 %522, %521
  br i1 %.not1424.not, label %.lr.ph1651, label %.loopexit1495, !llvm.loop !35

524:                                              ; preds = %458
  br i1 %161, label %525, label %567

525:                                              ; preds = %524
  %526 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %526, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14181640 = icmp slt i32 %526, 1
  br i1 %.not14181640, label %.loopexit1495.thread.thread1947, label %.lr.ph1643

.lr.ph1643:                                       ; preds = %525
  %527 = getelementptr inbounds i8, ptr %32, i64 4
  br label %528

528:                                              ; preds = %.lr.ph1643, %._crit_edge1639
  %529 = phi i32 [ %526, %.lr.ph1643 ], [ %564, %._crit_edge1639 ]
  %530 = phi i32 [ 1, %.lr.ph1643 ], [ %566, %._crit_edge1639 ]
  store i32 %530, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not14201636 = icmp slt i32 %530, 1
  br i1 %.not14201636, label %._crit_edge1639, label %.lr.ph1638

.lr.ph1638:                                       ; preds = %528, %561
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %531 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %531, ptr %39, align 8, !tbaa !18
  %532 = load i32, ptr %34, align 4
  %533 = load i32, ptr %35, align 4
  %534 = call i32 @llvm.smin.i32(i32 %532, i32 %533)
  %535 = icmp sge i32 %532, %533
  %536 = call i32 @llvm.smax.i32(i32 %532, i32 %533)
  %or.cond85 = and i1 %.not1245, %535
  %537 = mul nsw i32 %536, %50
  %538 = add nsw i32 %537, %534
  br i1 %or.cond85, label %539, label %548

539:                                              ; preds = %.lr.ph1638
  %540 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0123.0.vec.extract = extractelement <2 x float> %540, i64 0
  %.sroa.0123.4.vec.extract = extractelement <2 x float> %540, i64 1
  %541 = fneg float %.sroa.0123.4.vec.extract
  %542 = call ptr @_pCf(ptr noundef nonnull %32)
  %543 = getelementptr inbounds i8, ptr %542, i64 4
  store float %.sroa.0123.0.vec.extract, ptr %542, align 4
  store float %541, ptr %543, align 4
  %544 = load float, ptr %32, align 8, !tbaa !9
  %545 = sext i32 %538 to i64
  %546 = getelementptr inbounds %struct.complex, ptr %52, i64 %545
  store float %544, ptr %546, align 4, !tbaa !9
  %547 = load float, ptr %527, align 4, !tbaa !12
  br label %553

548:                                              ; preds = %.lr.ph1638
  %549 = sext i32 %538 to i64
  %550 = getelementptr inbounds %struct.complex, ptr %52, i64 %549
  %551 = extractelement <2 x float> %531, i64 0
  store float %551, ptr %550, align 4, !tbaa !9
  %552 = extractelement <2 x float> %531, i64 1
  br label %553

553:                                              ; preds = %548, %539
  %554 = phi i64 [ %549, %548 ], [ %545, %539 ]
  %.sink1997 = phi float [ %552, %548 ], [ %547, %539 ]
  %555 = getelementptr inbounds %struct.complex, ptr %52, i64 %554, i32 1
  store float %.sink1997, ptr %555, align 4, !tbaa !12
  %.not1422 = icmp eq i32 %532, %533
  br i1 %.not1422, label %561, label %556

556:                                              ; preds = %553
  %557 = mul nsw i32 %534, %50
  %558 = add nsw i32 %557, %536
  %559 = sext i32 %558 to i64
  %560 = getelementptr inbounds %struct.complex, ptr %52, i64 %559
  store <2 x float> zeroinitializer, ptr %560, align 4, !tbaa !18
  br label %561

561:                                              ; preds = %553, %556
  %562 = load i32, ptr %36, align 4, !tbaa !5
  %563 = add nsw i32 %562, 1
  store i32 %563, ptr %36, align 4, !tbaa !5
  %.not1420.not = icmp slt i32 %562, %530
  br i1 %.not1420.not, label %.lr.ph1638, label %._crit_edge1639.loopexit, !llvm.loop !36

._crit_edge1639.loopexit:                         ; preds = %561
  %.pre1909 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1910 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1639

._crit_edge1639:                                  ; preds = %._crit_edge1639.loopexit, %528
  %564 = phi i32 [ %.pre1910, %._crit_edge1639.loopexit ], [ %529, %528 ]
  %565 = phi i32 [ %.pre1909, %._crit_edge1639.loopexit ], [ %530, %528 ]
  %566 = add nsw i32 %565, 1
  store i32 %566, ptr %37, align 4, !tbaa !5
  %.not1418.not = icmp slt i32 %565, %564
  br i1 %.not1418.not, label %528, label %.loopexit1495, !llvm.loop !37

567:                                              ; preds = %524
  br i1 %162, label %568, label %610

568:                                              ; preds = %567
  %569 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %569, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14111632 = icmp slt i32 %569, 1
  br i1 %.not14111632, label %.loopexit1495.thread.thread.thread1949, label %.lr.ph1635

.lr.ph1635:                                       ; preds = %568
  %570 = getelementptr inbounds i8, ptr %32, i64 4
  br label %571

571:                                              ; preds = %.lr.ph1635, %._crit_edge1631
  %572 = phi i32 [ %569, %.lr.ph1635 ], [ %607, %._crit_edge1631 ]
  %573 = phi i32 [ 1, %.lr.ph1635 ], [ %609, %._crit_edge1631 ]
  store i32 %573, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not14131628 = icmp slt i32 %573, 1
  br i1 %.not14131628, label %._crit_edge1631, label %.lr.ph1630

.lr.ph1630:                                       ; preds = %571, %604
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %574 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %574, ptr %39, align 8, !tbaa !18
  %575 = load i32, ptr %34, align 4
  %576 = load i32, ptr %35, align 4
  %577 = call i32 @llvm.smin.i32(i32 %575, i32 %576)
  %578 = call i32 @llvm.smax.i32(i32 %575, i32 %576)
  %579 = icmp sge i32 %576, %575
  %or.cond87 = and i1 %.not1245, %579
  %580 = mul nsw i32 %577, %50
  %581 = add nsw i32 %580, %578
  br i1 %or.cond87, label %582, label %591

582:                                              ; preds = %.lr.ph1630
  %583 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0122.0.vec.extract = extractelement <2 x float> %583, i64 0
  %.sroa.0122.4.vec.extract = extractelement <2 x float> %583, i64 1
  %584 = fneg float %.sroa.0122.4.vec.extract
  %585 = call ptr @_pCf(ptr noundef nonnull %32)
  %586 = getelementptr inbounds i8, ptr %585, i64 4
  store float %.sroa.0122.0.vec.extract, ptr %585, align 4
  store float %584, ptr %586, align 4
  %587 = load float, ptr %32, align 8, !tbaa !9
  %588 = sext i32 %581 to i64
  %589 = getelementptr inbounds %struct.complex, ptr %52, i64 %588
  store float %587, ptr %589, align 4, !tbaa !9
  %590 = load float, ptr %570, align 4, !tbaa !12
  br label %596

591:                                              ; preds = %.lr.ph1630
  %592 = sext i32 %581 to i64
  %593 = getelementptr inbounds %struct.complex, ptr %52, i64 %592
  %594 = extractelement <2 x float> %574, i64 0
  store float %594, ptr %593, align 4, !tbaa !9
  %595 = extractelement <2 x float> %574, i64 1
  br label %596

596:                                              ; preds = %591, %582
  %597 = phi i64 [ %592, %591 ], [ %588, %582 ]
  %.sink2000 = phi float [ %595, %591 ], [ %590, %582 ]
  %598 = getelementptr inbounds %struct.complex, ptr %52, i64 %597, i32 1
  store float %.sink2000, ptr %598, align 4, !tbaa !12
  %.not1416 = icmp eq i32 %575, %576
  br i1 %.not1416, label %604, label %599

599:                                              ; preds = %596
  %600 = mul nsw i32 %578, %50
  %601 = add nsw i32 %600, %577
  %602 = sext i32 %601 to i64
  %603 = getelementptr inbounds %struct.complex, ptr %52, i64 %602
  store <2 x float> zeroinitializer, ptr %603, align 4, !tbaa !18
  br label %604

604:                                              ; preds = %596, %599
  %605 = load i32, ptr %36, align 4, !tbaa !5
  %606 = add nsw i32 %605, 1
  store i32 %606, ptr %36, align 4, !tbaa !5
  %.not1413.not = icmp slt i32 %605, %573
  br i1 %.not1413.not, label %.lr.ph1630, label %._crit_edge1631.loopexit, !llvm.loop !38

._crit_edge1631.loopexit:                         ; preds = %604
  %.pre1907 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1908 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1631

._crit_edge1631:                                  ; preds = %._crit_edge1631.loopexit, %571
  %607 = phi i32 [ %.pre1908, %._crit_edge1631.loopexit ], [ %572, %571 ]
  %608 = phi i32 [ %.pre1907, %._crit_edge1631.loopexit ], [ %573, %571 ]
  %609 = add nsw i32 %608, 1
  store i32 %609, ptr %37, align 4, !tbaa !5
  %.not1411.not = icmp slt i32 %608, %607
  br i1 %.not1411.not, label %571, label %.loopexit1495, !llvm.loop !39

610:                                              ; preds = %567
  br i1 %165, label %611, label %657

611:                                              ; preds = %610
  %612 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %612, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14061624 = icmp slt i32 %612, 1
  br i1 %.not14061624, label %.loopexit1495.thread.thread.thread.thread1951, label %.lr.ph1627

.lr.ph1627:                                       ; preds = %611
  %613 = getelementptr inbounds i8, ptr %32, i64 4
  br label %614

614:                                              ; preds = %.lr.ph1627, %._crit_edge1623
  %615 = phi i32 [ %612, %.lr.ph1627 ], [ %654, %._crit_edge1623 ]
  %616 = phi i32 [ 1, %.lr.ph1627 ], [ %656, %._crit_edge1623 ]
  store i32 %616, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not14081620 = icmp slt i32 %616, 1
  br i1 %.not14081620, label %._crit_edge1623, label %.lr.ph1622

.lr.ph1622:                                       ; preds = %614, %649
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %617 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %617, ptr %39, align 8, !tbaa !18
  %618 = load i32, ptr %34, align 4
  %619 = load i32, ptr %35, align 4
  %620 = call i32 @llvm.smin.i32(i32 %618, i32 %619)
  %621 = icmp sge i32 %618, %619
  %622 = call i32 @llvm.smax.i32(i32 %618, i32 %619)
  %623 = add nsw i32 %622, -1
  %624 = mul nsw i32 %623, %622
  %625 = sdiv i32 %624, 2
  %626 = add nsw i32 %625, %620
  %627 = add nsw i32 %626, -1
  %628 = load i32, ptr %25, align 4, !tbaa !5
  %629 = sdiv i32 %627, %628
  %630 = add nsw i32 %629, 1
  %631 = mul nsw i32 %629, %628
  %632 = sub nsw i32 %626, %631
  %or.cond89 = and i1 %.not1245, %621
  %633 = mul nsw i32 %630, %50
  %634 = add nsw i32 %632, %633
  br i1 %or.cond89, label %635, label %644

635:                                              ; preds = %.lr.ph1622
  %636 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0121.0.vec.extract = extractelement <2 x float> %636, i64 0
  %.sroa.0121.4.vec.extract = extractelement <2 x float> %636, i64 1
  %637 = fneg float %.sroa.0121.4.vec.extract
  %638 = call ptr @_pCf(ptr noundef nonnull %32)
  %639 = getelementptr inbounds i8, ptr %638, i64 4
  store float %.sroa.0121.0.vec.extract, ptr %638, align 4
  store float %637, ptr %639, align 4
  %640 = load float, ptr %32, align 8, !tbaa !9
  %641 = sext i32 %634 to i64
  %642 = getelementptr inbounds %struct.complex, ptr %52, i64 %641
  store float %640, ptr %642, align 4, !tbaa !9
  %643 = load float, ptr %613, align 4, !tbaa !12
  br label %649

644:                                              ; preds = %.lr.ph1622
  %645 = sext i32 %634 to i64
  %646 = getelementptr inbounds %struct.complex, ptr %52, i64 %645
  %647 = extractelement <2 x float> %617, i64 0
  store float %647, ptr %646, align 4, !tbaa !9
  %648 = extractelement <2 x float> %617, i64 1
  br label %649

649:                                              ; preds = %635, %644
  %650 = phi i64 [ %641, %635 ], [ %645, %644 ]
  %.sink2003 = phi float [ %643, %635 ], [ %648, %644 ]
  %651 = getelementptr inbounds %struct.complex, ptr %52, i64 %650, i32 1
  store float %.sink2003, ptr %651, align 4, !tbaa !12
  %652 = load i32, ptr %36, align 4, !tbaa !5
  %653 = add nsw i32 %652, 1
  store i32 %653, ptr %36, align 4, !tbaa !5
  %.not1408.not = icmp slt i32 %652, %616
  br i1 %.not1408.not, label %.lr.ph1622, label %._crit_edge1623.loopexit, !llvm.loop !40

._crit_edge1623.loopexit:                         ; preds = %649
  %.pre1905 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1906 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1623

._crit_edge1623:                                  ; preds = %._crit_edge1623.loopexit, %614
  %654 = phi i32 [ %.pre1906, %._crit_edge1623.loopexit ], [ %615, %614 ]
  %655 = phi i32 [ %.pre1905, %._crit_edge1623.loopexit ], [ %616, %614 ]
  %656 = add nsw i32 %655, 1
  store i32 %656, ptr %37, align 4, !tbaa !5
  %.not1406.not = icmp slt i32 %655, %654
  br i1 %.not1406.not, label %614, label %.loopexit1495, !llvm.loop !41

657:                                              ; preds = %610
  br i1 %166, label %658, label %715

658:                                              ; preds = %657
  %659 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %659, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13991616 = icmp slt i32 %659, 1
  br i1 %.not13991616, label %.loopexit1495.thread.thread.thread.thread.thread1953, label %.lr.ph1619

.lr.ph1619:                                       ; preds = %658
  %660 = getelementptr inbounds i8, ptr %32, i64 4
  br label %661

661:                                              ; preds = %.lr.ph1619, %._crit_edge1615
  %662 = phi i32 [ %659, %.lr.ph1619 ], [ %712, %._crit_edge1615 ]
  %663 = phi i32 [ 1, %.lr.ph1619 ], [ %714, %._crit_edge1615 ]
  store i32 %663, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not14011612 = icmp slt i32 %663, 1
  br i1 %.not14011612, label %._crit_edge1615, label %.lr.ph1614

.lr.ph1614:                                       ; preds = %661, %707
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %664 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %664, ptr %39, align 8, !tbaa !18
  %665 = load i32, ptr %34, align 4
  %666 = load i32, ptr %35, align 4
  %667 = call i32 @llvm.smin.i32(i32 %665, i32 %666)
  %668 = call i32 @llvm.smax.i32(i32 %665, i32 %666)
  %669 = icmp eq i32 %667, 1
  br i1 %669, label %683, label %670

670:                                              ; preds = %.lr.ph1614
  %671 = load i32, ptr %1, align 4, !tbaa !5
  %672 = add nsw i32 %671, 1
  %673 = mul nsw i32 %672, %671
  %674 = sdiv i32 %673, 2
  %675 = sub nsw i32 %671, %667
  %676 = add nsw i32 %675, 1
  %677 = add nsw i32 %675, 2
  %678 = mul nsw i32 %676, %677
  %.neg1404 = sdiv i32 %678, -2
  %679 = add i32 %668, 1
  %680 = sub i32 %679, %667
  %681 = add i32 %680, %674
  %682 = add i32 %681, %.neg1404
  br label %683

683:                                              ; preds = %.lr.ph1614, %670
  %.01152 = phi i32 [ %682, %670 ], [ %668, %.lr.ph1614 ]
  %684 = add nsw i32 %.01152, -1
  %685 = load i32, ptr %25, align 4, !tbaa !5
  %686 = sdiv i32 %684, %685
  %687 = add nsw i32 %686, 1
  %688 = mul nsw i32 %686, %685
  %689 = sub nsw i32 %.01152, %688
  %690 = icmp sge i32 %666, %665
  %or.cond91 = and i1 %.not1245, %690
  %691 = mul nsw i32 %687, %50
  %692 = add nsw i32 %689, %691
  br i1 %or.cond91, label %693, label %702

693:                                              ; preds = %683
  %694 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0120.0.vec.extract = extractelement <2 x float> %694, i64 0
  %.sroa.0120.4.vec.extract = extractelement <2 x float> %694, i64 1
  %695 = fneg float %.sroa.0120.4.vec.extract
  %696 = call ptr @_pCf(ptr noundef nonnull %32)
  %697 = getelementptr inbounds i8, ptr %696, i64 4
  store float %.sroa.0120.0.vec.extract, ptr %696, align 4
  store float %695, ptr %697, align 4
  %698 = load float, ptr %32, align 8, !tbaa !9
  %699 = sext i32 %692 to i64
  %700 = getelementptr inbounds %struct.complex, ptr %52, i64 %699
  store float %698, ptr %700, align 4, !tbaa !9
  %701 = load float, ptr %660, align 4, !tbaa !12
  br label %707

702:                                              ; preds = %683
  %703 = sext i32 %692 to i64
  %704 = getelementptr inbounds %struct.complex, ptr %52, i64 %703
  %705 = extractelement <2 x float> %664, i64 0
  store float %705, ptr %704, align 4, !tbaa !9
  %706 = extractelement <2 x float> %664, i64 1
  br label %707

707:                                              ; preds = %693, %702
  %708 = phi i64 [ %699, %693 ], [ %703, %702 ]
  %.sink2006 = phi float [ %701, %693 ], [ %706, %702 ]
  %709 = getelementptr inbounds %struct.complex, ptr %52, i64 %708, i32 1
  store float %.sink2006, ptr %709, align 4, !tbaa !12
  %710 = load i32, ptr %36, align 4, !tbaa !5
  %711 = add nsw i32 %710, 1
  store i32 %711, ptr %36, align 4, !tbaa !5
  %.not1401.not = icmp slt i32 %710, %663
  br i1 %.not1401.not, label %.lr.ph1614, label %._crit_edge1615.loopexit, !llvm.loop !42

._crit_edge1615.loopexit:                         ; preds = %707
  %.pre1903 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1904 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1615

._crit_edge1615:                                  ; preds = %._crit_edge1615.loopexit, %661
  %712 = phi i32 [ %.pre1904, %._crit_edge1615.loopexit ], [ %662, %661 ]
  %713 = phi i32 [ %.pre1903, %._crit_edge1615.loopexit ], [ %663, %661 ]
  %714 = add nsw i32 %713, 1
  store i32 %714, ptr %37, align 4, !tbaa !5
  %.not1399.not = icmp slt i32 %713, %712
  br i1 %.not1399.not, label %661, label %.loopexit1495, !llvm.loop !43

715:                                              ; preds = %657
  br i1 %163, label %716, label %765

716:                                              ; preds = %715
  %717 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %717, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13931608 = icmp slt i32 %717, 1
  br i1 %.not13931608, label %.loopexit1495.thread.thread.thread.thread.thread.thread1955, label %.lr.ph1611

.lr.ph1611:                                       ; preds = %716
  %718 = getelementptr inbounds i8, ptr %32, i64 4
  br label %719

719:                                              ; preds = %.lr.ph1611, %._crit_edge1607
  %720 = phi i32 [ %717, %.lr.ph1611 ], [ %762, %._crit_edge1607 ]
  %721 = phi i32 [ 1, %.lr.ph1611 ], [ %764, %._crit_edge1607 ]
  store i32 %721, ptr %30, align 4, !tbaa !5
  %722 = load i32, ptr %46, align 4, !tbaa !5
  %723 = sub nsw i32 %721, %722
  store i32 %723, ptr %36, align 4, !tbaa !5
  %.not13951603 = icmp slt i32 %722, 0
  br i1 %.not13951603, label %._crit_edge1607, label %.lr.ph1606

.lr.ph1606:                                       ; preds = %719, %758
  %storemerge13941604 = phi i32 [ %761, %758 ], [ %723, %719 ]
  %724 = icmp slt i32 %storemerge13941604, 1
  br i1 %724, label %725, label %734

725:                                              ; preds = %.lr.ph1606
  %726 = load i32, ptr %37, align 4, !tbaa !5
  %727 = load i32, ptr %1, align 4, !tbaa !5
  %728 = add nsw i32 %727, %storemerge13941604
  %729 = mul nsw i32 %728, %50
  %reass.sub1808 = sub i32 %726, %storemerge13941604
  %730 = add i32 %reass.sub1808, 1
  %731 = add nsw i32 %730, %729
  %732 = sext i32 %731 to i64
  %733 = getelementptr inbounds %struct.complex, ptr %52, i64 %732
  store float 0.000000e+00, ptr %733, align 4, !tbaa !9
  br label %758

734:                                              ; preds = %.lr.ph1606
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %735 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %735, ptr %39, align 8, !tbaa !18
  %736 = load i32, ptr %34, align 4
  %737 = load i32, ptr %35, align 4
  %738 = call i32 @llvm.smin.i32(i32 %736, i32 %737)
  %739 = call i32 @llvm.smax.i32(i32 %736, i32 %737)
  %740 = icmp sge i32 %737, %736
  %or.cond93 = and i1 %.not1245, %740
  %741 = mul nsw i32 %738, %50
  %reass.sub1807 = sub i32 %739, %738
  %742 = add i32 %reass.sub1807, 1
  %743 = add nsw i32 %742, %741
  br i1 %or.cond93, label %744, label %753

744:                                              ; preds = %734
  %745 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0119.0.vec.extract = extractelement <2 x float> %745, i64 0
  %.sroa.0119.4.vec.extract = extractelement <2 x float> %745, i64 1
  %746 = fneg float %.sroa.0119.4.vec.extract
  %747 = call ptr @_pCf(ptr noundef nonnull %32)
  %748 = getelementptr inbounds i8, ptr %747, i64 4
  store float %.sroa.0119.0.vec.extract, ptr %747, align 4
  store float %746, ptr %748, align 4
  %749 = load float, ptr %32, align 8, !tbaa !9
  %750 = sext i32 %743 to i64
  %751 = getelementptr inbounds %struct.complex, ptr %52, i64 %750
  store float %749, ptr %751, align 4, !tbaa !9
  %752 = load float, ptr %718, align 4, !tbaa !12
  br label %758

753:                                              ; preds = %734
  %754 = sext i32 %743 to i64
  %755 = getelementptr inbounds %struct.complex, ptr %52, i64 %754
  %756 = extractelement <2 x float> %735, i64 0
  store float %756, ptr %755, align 4, !tbaa !9
  %757 = extractelement <2 x float> %735, i64 1
  br label %758

758:                                              ; preds = %725, %753, %744
  %.sink2011 = phi ptr [ %733, %725 ], [ %755, %753 ], [ %751, %744 ]
  %.sink2009 = phi float [ 0.000000e+00, %725 ], [ %757, %753 ], [ %752, %744 ]
  %759 = getelementptr inbounds i8, ptr %.sink2011, i64 4
  store float %.sink2009, ptr %759, align 4, !tbaa !12
  %760 = load i32, ptr %36, align 4, !tbaa !5
  %761 = add nsw i32 %760, 1
  store i32 %761, ptr %36, align 4, !tbaa !5
  %.not1395.not = icmp slt i32 %760, %721
  br i1 %.not1395.not, label %.lr.ph1606, label %._crit_edge1607.loopexit, !llvm.loop !44

._crit_edge1607.loopexit:                         ; preds = %758
  %.pre1901 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1902 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1607

._crit_edge1607:                                  ; preds = %._crit_edge1607.loopexit, %719
  %762 = phi i32 [ %.pre1902, %._crit_edge1607.loopexit ], [ %720, %719 ]
  %763 = phi i32 [ %.pre1901, %._crit_edge1607.loopexit ], [ %721, %719 ]
  %764 = add nsw i32 %763, 1
  store i32 %764, ptr %37, align 4, !tbaa !5
  %.not1393.not = icmp slt i32 %763, %762
  br i1 %.not1393.not, label %719, label %.loopexit1495, !llvm.loop !45

765:                                              ; preds = %715
  br i1 %164, label %766, label %807

766:                                              ; preds = %765
  %767 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %767, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13881599 = icmp slt i32 %767, 1
  br i1 %.not13881599, label %.loopexit1495.thread.thread.thread.thread.thread.thread.thread1957, label %.lr.ph1602

.lr.ph1602:                                       ; preds = %766
  %768 = getelementptr inbounds i8, ptr %32, i64 4
  br label %769

769:                                              ; preds = %.lr.ph1602, %._crit_edge1598
  %770 = phi i32 [ %767, %.lr.ph1602 ], [ %804, %._crit_edge1598 ]
  %771 = phi i32 [ 1, %.lr.ph1602 ], [ %806, %._crit_edge1598 ]
  store i32 %771, ptr %30, align 4, !tbaa !5
  %772 = load i32, ptr %46, align 4, !tbaa !5
  %773 = sub nsw i32 %771, %772
  store i32 %773, ptr %36, align 4, !tbaa !5
  %.not13901595 = icmp slt i32 %772, 0
  br i1 %.not13901595, label %._crit_edge1598, label %.lr.ph1597

.lr.ph1597:                                       ; preds = %769, %799
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %774 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %774, ptr %39, align 8, !tbaa !18
  %775 = load i32, ptr %34, align 4
  %776 = load i32, ptr %35, align 4
  %777 = call i32 @llvm.smin.i32(i32 %775, i32 %776)
  %778 = icmp sge i32 %775, %776
  %779 = call i32 @llvm.smax.i32(i32 %775, i32 %776)
  %or.cond95 = and i1 %.not1245, %778
  %780 = load i32, ptr %46, align 4, !tbaa !5
  %781 = mul nsw i32 %779, %50
  %reass.sub1805 = sub i32 %777, %779
  %782 = add i32 %reass.sub1805, 1
  %783 = add i32 %782, %781
  %784 = add i32 %783, %780
  br i1 %or.cond95, label %785, label %794

785:                                              ; preds = %.lr.ph1597
  %786 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0118.0.vec.extract = extractelement <2 x float> %786, i64 0
  %.sroa.0118.4.vec.extract = extractelement <2 x float> %786, i64 1
  %787 = fneg float %.sroa.0118.4.vec.extract
  %788 = call ptr @_pCf(ptr noundef nonnull %32)
  %789 = getelementptr inbounds i8, ptr %788, i64 4
  store float %.sroa.0118.0.vec.extract, ptr %788, align 4
  store float %787, ptr %789, align 4
  %790 = load float, ptr %32, align 8, !tbaa !9
  %791 = sext i32 %784 to i64
  %792 = getelementptr inbounds %struct.complex, ptr %52, i64 %791
  store float %790, ptr %792, align 4, !tbaa !9
  %793 = load float, ptr %768, align 4, !tbaa !12
  br label %799

794:                                              ; preds = %.lr.ph1597
  %795 = sext i32 %784 to i64
  %796 = getelementptr inbounds %struct.complex, ptr %52, i64 %795
  %797 = extractelement <2 x float> %774, i64 0
  store float %797, ptr %796, align 4, !tbaa !9
  %798 = extractelement <2 x float> %774, i64 1
  br label %799

799:                                              ; preds = %785, %794
  %800 = phi i64 [ %791, %785 ], [ %795, %794 ]
  %.sink2012 = phi float [ %793, %785 ], [ %798, %794 ]
  %801 = getelementptr inbounds %struct.complex, ptr %52, i64 %800, i32 1
  store float %.sink2012, ptr %801, align 4, !tbaa !12
  %802 = load i32, ptr %36, align 4, !tbaa !5
  %803 = add nsw i32 %802, 1
  store i32 %803, ptr %36, align 4, !tbaa !5
  %.not1390.not = icmp slt i32 %802, %771
  br i1 %.not1390.not, label %.lr.ph1597, label %._crit_edge1598.loopexit, !llvm.loop !46

._crit_edge1598.loopexit:                         ; preds = %799
  %.pre1899 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1900 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1598

._crit_edge1598:                                  ; preds = %._crit_edge1598.loopexit, %769
  %804 = phi i32 [ %.pre1900, %._crit_edge1598.loopexit ], [ %770, %769 ]
  %805 = phi i32 [ %.pre1899, %._crit_edge1598.loopexit ], [ %771, %769 ]
  %806 = add nsw i32 %805, 1
  store i32 %806, ptr %37, align 4, !tbaa !5
  %.not1388.not = icmp slt i32 %805, %804
  br i1 %.not1388.not, label %769, label %.loopexit1495, !llvm.loop !47

807:                                              ; preds = %765
  br i1 %167, label %808, label %.thread1475

808:                                              ; preds = %807
  %809 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %809, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13771591 = icmp slt i32 %809, 1
  br i1 %82, label %880, label %810

810:                                              ; preds = %808
  br i1 %.not13771591, label %.thread1958, label %.lr.ph1586

.lr.ph1586:                                       ; preds = %810, %._crit_edge1582
  %811 = phi i32 [ %877, %._crit_edge1582 ], [ %809, %810 ]
  %812 = phi i32 [ %879, %._crit_edge1582 ], [ 1, %810 ]
  store i32 %812, ptr %30, align 4, !tbaa !5
  %813 = load i32, ptr %46, align 4, !tbaa !5
  %814 = sub nsw i32 %812, %813
  store i32 %814, ptr %36, align 4, !tbaa !5
  %.not13831579 = icmp slt i32 %813, 0
  br i1 %.not13831579, label %._crit_edge1582, label %.lr.ph1581

.lr.ph1581:                                       ; preds = %.lr.ph1586, %874
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %815 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %815, ptr %39, align 8, !tbaa !18
  %816 = load i32, ptr %34, align 4
  %817 = load i32, ptr %35, align 4
  %818 = call i32 @llvm.smin.i32(i32 %816, i32 %817)
  %819 = call i32 @llvm.smax.i32(i32 %816, i32 %817)
  %820 = load i32, ptr %36, align 4, !tbaa !5
  %821 = icmp slt i32 %820, 1
  br i1 %821, label %822, label %833

822:                                              ; preds = %.lr.ph1581
  %823 = load i32, ptr %37, align 4, !tbaa !5
  %824 = load i32, ptr %46, align 4, !tbaa !5
  %825 = load i32, ptr %1, align 4, !tbaa !5
  %826 = add nsw i32 %825, %820
  %827 = mul nsw i32 %826, %50
  %reass.sub = sub i32 %823, %820
  %828 = add i32 %reass.sub, 1
  %829 = add nsw i32 %828, %824
  %830 = add nsw i32 %829, %827
  %831 = sext i32 %830 to i64
  %832 = getelementptr inbounds %struct.complex, ptr %52, i64 %831
  store <2 x float> zeroinitializer, ptr %832, align 4, !tbaa !18
  br label %833

833:                                              ; preds = %822, %.lr.ph1581
  %834 = icmp sge i32 %816, %817
  %or.cond97 = and i1 %.not1245, %834
  %835 = load i32, ptr %46, align 4, !tbaa !5
  %836 = mul nsw i32 %819, %50
  %reass.sub1801 = sub i32 %818, %819
  %837 = add i32 %reass.sub1801, 1
  %838 = add i32 %837, %836
  %839 = add i32 %838, %835
  br i1 %or.cond97, label %840, label %848

840:                                              ; preds = %833
  %841 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0117.0.vec.extract = extractelement <2 x float> %841, i64 0
  %.sroa.0117.4.vec.extract = extractelement <2 x float> %841, i64 1
  %842 = fneg float %.sroa.0117.4.vec.extract
  %843 = call ptr @_pCf(ptr noundef nonnull %32)
  %844 = getelementptr inbounds i8, ptr %843, i64 4
  store float %.sroa.0117.0.vec.extract, ptr %843, align 4
  store float %842, ptr %844, align 4
  %845 = sext i32 %839 to i64
  %846 = getelementptr inbounds %struct.complex, ptr %52, i64 %845
  %847 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %847, ptr %846, align 4, !tbaa !18
  %.pre1892 = load i32, ptr %36, align 4, !tbaa !5
  br label %851

848:                                              ; preds = %833
  %849 = sext i32 %839 to i64
  %850 = getelementptr inbounds %struct.complex, ptr %52, i64 %849
  store <2 x float> %815, ptr %850, align 4, !tbaa !18
  br label %851

851:                                              ; preds = %848, %840
  %852 = phi i32 [ %820, %848 ], [ %.pre1892, %840 ]
  %853 = icmp slt i32 %852, 1
  %.not1386 = icmp eq i32 %816, %817
  %or.cond1458 = select i1 %853, i1 true, i1 %.not1386
  br i1 %or.cond1458, label %874, label %854

854:                                              ; preds = %851
  %855 = load i32, ptr %34, align 4, !tbaa !5
  %856 = icmp eq i32 %818, %855
  %or.cond99 = and i1 %.not1245, %856
  %857 = load i32, ptr %46, align 4, !tbaa !5
  %858 = mul nsw i32 %818, %50
  %reass.sub1803 = sub i32 %819, %818
  %859 = add i32 %reass.sub1803, 1
  %860 = add i32 %859, %858
  %861 = add i32 %860, %857
  br i1 %or.cond99, label %862, label %870

862:                                              ; preds = %854
  %863 = call <2 x float> @Cf(ptr noundef nonnull %39)
  %.sroa.0116.0.vec.extract = extractelement <2 x float> %863, i64 0
  %.sroa.0116.4.vec.extract = extractelement <2 x float> %863, i64 1
  %864 = fneg float %.sroa.0116.4.vec.extract
  %865 = call ptr @_pCf(ptr noundef nonnull %32)
  %866 = getelementptr inbounds i8, ptr %865, i64 4
  store float %.sroa.0116.0.vec.extract, ptr %865, align 4
  store float %864, ptr %866, align 4
  %867 = sext i32 %861 to i64
  %868 = getelementptr inbounds %struct.complex, ptr %52, i64 %867
  %869 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %869, ptr %868, align 4, !tbaa !18
  %.pre1893 = load i32, ptr %36, align 4, !tbaa !5
  br label %874

870:                                              ; preds = %854
  %871 = sext i32 %861 to i64
  %872 = getelementptr inbounds %struct.complex, ptr %52, i64 %871
  %873 = load <2 x float>, ptr %39, align 8, !tbaa !18
  store <2 x float> %873, ptr %872, align 4, !tbaa !18
  br label %874

874:                                              ; preds = %851, %870, %862
  %875 = phi i32 [ %852, %851 ], [ %852, %870 ], [ %.pre1893, %862 ]
  %876 = add nsw i32 %875, 1
  store i32 %876, ptr %36, align 4, !tbaa !5
  %.not1383.not = icmp slt i32 %875, %812
  br i1 %.not1383.not, label %.lr.ph1581, label %._crit_edge1582.loopexit, !llvm.loop !48

._crit_edge1582.loopexit:                         ; preds = %874
  %.pre1894 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1895 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1582

._crit_edge1582:                                  ; preds = %._crit_edge1582.loopexit, %.lr.ph1586
  %877 = phi i32 [ %.pre1895, %._crit_edge1582.loopexit ], [ %811, %.lr.ph1586 ]
  %878 = phi i32 [ %.pre1894, %._crit_edge1582.loopexit ], [ %812, %.lr.ph1586 ]
  %879 = add nsw i32 %878, 1
  store i32 %879, ptr %37, align 4, !tbaa !5
  %.not1381.not = icmp slt i32 %878, %877
  br i1 %.not1381.not, label %.lr.ph1586, label %.loopexit1495, !llvm.loop !49

880:                                              ; preds = %808
  br i1 %.not13771591, label %.thread1958, label %.lr.ph1594

.lr.ph1594:                                       ; preds = %880
  %.pre1896 = load i32, ptr %46, align 4, !tbaa !5
  br label %881

881:                                              ; preds = %.lr.ph1594, %._crit_edge1590
  %882 = phi i32 [ %809, %.lr.ph1594 ], [ %900, %._crit_edge1590 ]
  %883 = phi i32 [ %.pre1896, %.lr.ph1594 ], [ %902, %._crit_edge1590 ]
  %storemerge13761592 = phi i32 [ 1, %.lr.ph1594 ], [ %903, %._crit_edge1590 ]
  %884 = load i32, ptr %45, align 4, !tbaa !5
  %885 = add nsw i32 %884, %storemerge13761592
  store i32 %885, ptr %30, align 4, !tbaa !5
  %886 = sub nsw i32 %storemerge13761592, %883
  store i32 %886, ptr %36, align 4, !tbaa !5
  %.not13791587 = icmp sgt i32 %886, %885
  br i1 %.not13791587, label %._crit_edge1590, label %.lr.ph1589

.lr.ph1589:                                       ; preds = %881, %.lr.ph1589
  call void @clatm3_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %887 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %887, ptr %39, align 8, !tbaa !18
  %888 = load i32, ptr %34, align 4, !tbaa !5
  %889 = load i32, ptr %35, align 4, !tbaa !5
  %890 = load i32, ptr %46, align 4, !tbaa !5
  %891 = mul nsw i32 %889, %50
  %892 = add i32 %888, 1
  %893 = sub i32 %892, %889
  %894 = add i32 %893, %890
  %895 = add nsw i32 %894, %891
  %896 = sext i32 %895 to i64
  %897 = getelementptr inbounds %struct.complex, ptr %52, i64 %896
  store <2 x float> %887, ptr %897, align 4, !tbaa !18
  %898 = load i32, ptr %36, align 4, !tbaa !5
  %899 = add nsw i32 %898, 1
  store i32 %899, ptr %36, align 4, !tbaa !5
  %.not1379.not = icmp slt i32 %898, %885
  br i1 %.not1379.not, label %.lr.ph1589, label %._crit_edge1590.loopexit, !llvm.loop !50

._crit_edge1590.loopexit:                         ; preds = %.lr.ph1589
  %.pre1897 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1898 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1590

._crit_edge1590:                                  ; preds = %._crit_edge1590.loopexit, %881
  %900 = phi i32 [ %.pre1898, %._crit_edge1590.loopexit ], [ %882, %881 ]
  %901 = phi i32 [ %.pre1897, %._crit_edge1590.loopexit ], [ %storemerge13761592, %881 ]
  %902 = phi i32 [ %890, %._crit_edge1590.loopexit ], [ %883, %881 ]
  %903 = add nsw i32 %901, 1
  store i32 %903, ptr %37, align 4, !tbaa !5
  %.not1377.not = icmp slt i32 %901, %900
  br i1 %.not1377.not, label %881, label %.loopexit1495, !llvm.loop !51

904:                                              ; preds = %457
  br i1 %.not1265, label %905, label %979

905:                                              ; preds = %904
  br i1 %.not1245, label %906, label %936

906:                                              ; preds = %905
  %907 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %907, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13721770 = icmp slt i32 %907, 1
  br i1 %.not13721770, label %.thread1466, label %.lr.ph1773

.lr.ph1773:                                       ; preds = %906, %._crit_edge1769
  %908 = phi i32 [ %933, %._crit_edge1769 ], [ %907, %906 ]
  %909 = phi i32 [ %935, %._crit_edge1769 ], [ 1, %906 ]
  store i32 %909, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not13741765 = icmp slt i32 %909, 1
  br i1 %.not13741765, label %._crit_edge1769, label %.lr.ph1768

.lr.ph1768:                                       ; preds = %.lr.ph1773, %.lr.ph1768
  %storemerge13731766 = phi i32 [ %932, %.lr.ph1768 ], [ 1, %.lr.ph1773 ]
  %910 = load i32, ptr %37, align 4, !tbaa !5
  %911 = mul nsw i32 %910, %50
  %912 = add nsw i32 %911, %storemerge13731766
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %913 = sext i32 %912 to i64
  %914 = getelementptr inbounds %struct.complex, ptr %52, i64 %913
  %915 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %915, ptr %914, align 4, !tbaa !18
  %916 = load i32, ptr %37, align 4, !tbaa !5
  %917 = load i32, ptr %36, align 4, !tbaa !5
  %918 = mul nsw i32 %917, %50
  %919 = add nsw i32 %918, %916
  %920 = mul nsw i32 %916, %50
  %921 = add nsw i32 %917, %920
  %922 = sext i32 %921 to i64
  %923 = getelementptr inbounds %struct.complex, ptr %52, i64 %922
  %924 = call <2 x float> @Cf(ptr noundef %923)
  %.sroa.0115.0.vec.extract = extractelement <2 x float> %924, i64 0
  %.sroa.0115.4.vec.extract = extractelement <2 x float> %924, i64 1
  %925 = fneg float %.sroa.0115.4.vec.extract
  %926 = call ptr @_pCf(ptr noundef nonnull %32)
  %927 = getelementptr inbounds i8, ptr %926, i64 4
  store float %.sroa.0115.0.vec.extract, ptr %926, align 4
  store float %925, ptr %927, align 4
  %928 = sext i32 %919 to i64
  %929 = getelementptr inbounds %struct.complex, ptr %52, i64 %928
  %930 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %930, ptr %929, align 4, !tbaa !18
  %931 = load i32, ptr %36, align 4, !tbaa !5
  %932 = add nsw i32 %931, 1
  store i32 %932, ptr %36, align 4, !tbaa !5
  %.not1374.not = icmp slt i32 %931, %909
  br i1 %.not1374.not, label %.lr.ph1768, label %._crit_edge1769.loopexit, !llvm.loop !52

._crit_edge1769.loopexit:                         ; preds = %.lr.ph1768
  %.pre1938 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1939 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1769

._crit_edge1769:                                  ; preds = %._crit_edge1769.loopexit, %.lr.ph1773
  %933 = phi i32 [ %.pre1939, %._crit_edge1769.loopexit ], [ %908, %.lr.ph1773 ]
  %934 = phi i32 [ %.pre1938, %._crit_edge1769.loopexit ], [ %909, %.lr.ph1773 ]
  %935 = add nsw i32 %934, 1
  store i32 %935, ptr %37, align 4, !tbaa !5
  %.not1372.not = icmp slt i32 %934, %933
  br i1 %.not1372.not, label %.lr.ph1773, label %.loopexit1495, !llvm.loop !53

936:                                              ; preds = %905
  br i1 %82, label %937, label %953

937:                                              ; preds = %936
  %938 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %938, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13681762 = icmp slt i32 %938, 1
  br i1 %.not13681762, label %.thread1466, label %.lr.ph1764

.lr.ph1764:                                       ; preds = %937, %._crit_edge1761
  %939 = phi i32 [ %950, %._crit_edge1761 ], [ %938, %937 ]
  %940 = phi i32 [ %952, %._crit_edge1761 ], [ 1, %937 ]
  %941 = load i32, ptr %0, align 4, !tbaa !5
  store i32 %941, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not13701757 = icmp slt i32 %941, 1
  br i1 %.not13701757, label %._crit_edge1761, label %.lr.ph1760

.lr.ph1760:                                       ; preds = %.lr.ph1764, %.lr.ph1760
  %storemerge13691758 = phi i32 [ %949, %.lr.ph1760 ], [ 1, %.lr.ph1764 ]
  %942 = load i32, ptr %37, align 4, !tbaa !5
  %943 = mul nsw i32 %942, %50
  %944 = add nsw i32 %943, %storemerge13691758
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %945 = sext i32 %944 to i64
  %946 = getelementptr inbounds %struct.complex, ptr %52, i64 %945
  %947 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %947, ptr %946, align 4, !tbaa !18
  %948 = load i32, ptr %36, align 4, !tbaa !5
  %949 = add nsw i32 %948, 1
  store i32 %949, ptr %36, align 4, !tbaa !5
  %.not1370.not = icmp slt i32 %948, %941
  br i1 %.not1370.not, label %.lr.ph1760, label %._crit_edge1761.loopexit, !llvm.loop !54

._crit_edge1761.loopexit:                         ; preds = %.lr.ph1760
  %.pre1936 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1937 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1761

._crit_edge1761:                                  ; preds = %._crit_edge1761.loopexit, %.lr.ph1764
  %950 = phi i32 [ %.pre1937, %._crit_edge1761.loopexit ], [ %939, %.lr.ph1764 ]
  %951 = phi i32 [ %.pre1936, %._crit_edge1761.loopexit ], [ %940, %.lr.ph1764 ]
  %952 = add nsw i32 %951, 1
  store i32 %952, ptr %37, align 4, !tbaa !5
  %.not1368.not = icmp slt i32 %951, %950
  br i1 %.not1368.not, label %.lr.ph1764, label %.loopexit1495, !llvm.loop !55

953:                                              ; preds = %936
  br i1 %80, label %954, label %.thread1466

954:                                              ; preds = %953
  %955 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %955, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13641753 = icmp slt i32 %955, 1
  br i1 %.not13641753, label %.thread1466, label %.lr.ph1756

.lr.ph1756:                                       ; preds = %954, %._crit_edge1752
  %956 = phi i32 [ %976, %._crit_edge1752 ], [ %955, %954 ]
  %957 = phi i32 [ %978, %._crit_edge1752 ], [ 1, %954 ]
  store i32 %957, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not13661748 = icmp slt i32 %957, 1
  br i1 %.not13661748, label %._crit_edge1752, label %.lr.ph1751

.lr.ph1751:                                       ; preds = %.lr.ph1756, %.lr.ph1751
  %958 = phi i32 [ %964, %.lr.ph1751 ], [ %957, %.lr.ph1756 ]
  %storemerge13651749 = phi i32 [ %975, %.lr.ph1751 ], [ 1, %.lr.ph1756 ]
  %959 = mul nsw i32 %958, %50
  %960 = add nsw i32 %959, %storemerge13651749
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %961 = sext i32 %960 to i64
  %962 = getelementptr inbounds %struct.complex, ptr %52, i64 %961
  %963 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %963, ptr %962, align 4, !tbaa !18
  %964 = load i32, ptr %37, align 4, !tbaa !5
  %965 = load i32, ptr %36, align 4, !tbaa !5
  %966 = mul nsw i32 %965, %50
  %967 = add nsw i32 %966, %964
  %968 = mul nsw i32 %964, %50
  %969 = add nsw i32 %965, %968
  %970 = sext i32 %969 to i64
  %971 = getelementptr inbounds %struct.complex, ptr %52, i64 %970
  %972 = sext i32 %967 to i64
  %973 = getelementptr inbounds %struct.complex, ptr %52, i64 %972
  %974 = load <2 x float>, ptr %971, align 4, !tbaa !18
  store <2 x float> %974, ptr %973, align 4, !tbaa !18
  %975 = add nsw i32 %965, 1
  store i32 %975, ptr %36, align 4, !tbaa !5
  %.not1366.not = icmp slt i32 %965, %957
  br i1 %.not1366.not, label %.lr.ph1751, label %._crit_edge1752.loopexit, !llvm.loop !56

._crit_edge1752.loopexit:                         ; preds = %.lr.ph1751
  %.pre1935 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1752

._crit_edge1752:                                  ; preds = %._crit_edge1752.loopexit, %.lr.ph1756
  %976 = phi i32 [ %.pre1935, %._crit_edge1752.loopexit ], [ %956, %.lr.ph1756 ]
  %977 = phi i32 [ %964, %._crit_edge1752.loopexit ], [ %957, %.lr.ph1756 ]
  %978 = add nsw i32 %977, 1
  store i32 %978, ptr %37, align 4, !tbaa !5
  %.not1364.not = icmp slt i32 %977, %976
  br i1 %.not1364.not, label %.lr.ph1756, label %.loopexit1495, !llvm.loop !57

979:                                              ; preds = %904
  br i1 %161, label %980, label %1002

980:                                              ; preds = %979
  %981 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %981, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13591744 = icmp slt i32 %981, 1
  br i1 %.not13591744, label %.loopexit1495.thread.thread1947, label %.lr.ph1747

.lr.ph1747:                                       ; preds = %980, %._crit_edge1743
  %982 = phi i32 [ %999, %._crit_edge1743 ], [ %981, %980 ]
  %983 = phi i32 [ %1001, %._crit_edge1743 ], [ 1, %980 ]
  store i32 %983, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not13611739 = icmp slt i32 %983, 1
  br i1 %.not13611739, label %._crit_edge1743, label %.lr.ph1742

.lr.ph1742:                                       ; preds = %.lr.ph1747, %997
  %984 = phi i32 [ %991, %997 ], [ %983, %.lr.ph1747 ]
  %storemerge13601740 = phi i32 [ %998, %997 ], [ 1, %.lr.ph1747 ]
  %985 = mul nsw i32 %984, %50
  %986 = add nsw i32 %985, %storemerge13601740
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %987 = sext i32 %986 to i64
  %988 = getelementptr inbounds %struct.complex, ptr %52, i64 %987
  %989 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %989, ptr %988, align 4, !tbaa !18
  %990 = load i32, ptr %36, align 4, !tbaa !5
  %991 = load i32, ptr %37, align 4, !tbaa !5
  %.not1362 = icmp eq i32 %990, %991
  br i1 %.not1362, label %997, label %992

992:                                              ; preds = %.lr.ph1742
  %993 = mul nsw i32 %990, %50
  %994 = add nsw i32 %991, %993
  %995 = sext i32 %994 to i64
  %996 = getelementptr inbounds %struct.complex, ptr %52, i64 %995
  store <2 x float> zeroinitializer, ptr %996, align 4, !tbaa !18
  br label %997

997:                                              ; preds = %.lr.ph1742, %992
  %998 = add nsw i32 %990, 1
  store i32 %998, ptr %36, align 4, !tbaa !5
  %.not1361.not = icmp slt i32 %990, %983
  br i1 %.not1361.not, label %.lr.ph1742, label %._crit_edge1743.loopexit, !llvm.loop !58

._crit_edge1743.loopexit:                         ; preds = %997
  %.pre1934 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1743

._crit_edge1743:                                  ; preds = %._crit_edge1743.loopexit, %.lr.ph1747
  %999 = phi i32 [ %.pre1934, %._crit_edge1743.loopexit ], [ %982, %.lr.ph1747 ]
  %1000 = phi i32 [ %991, %._crit_edge1743.loopexit ], [ %983, %.lr.ph1747 ]
  %1001 = add nsw i32 %1000, 1
  store i32 %1001, ptr %37, align 4, !tbaa !5
  %.not1359.not = icmp slt i32 %1000, %999
  br i1 %.not1359.not, label %.lr.ph1747, label %.loopexit1495, !llvm.loop !59

1002:                                             ; preds = %979
  br i1 %162, label %1003, label %1043

1003:                                             ; preds = %1002
  %1004 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %1004, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13541735 = icmp slt i32 %1004, 1
  br i1 %.not13541735, label %.loopexit1495.thread.thread.thread1949, label %.lr.ph1738

.lr.ph1738:                                       ; preds = %1003, %._crit_edge1734
  %1005 = phi i32 [ %1041, %._crit_edge1734 ], [ 1, %1003 ]
  store i32 %1005, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not13561730 = icmp slt i32 %1005, 1
  br i1 %.not13561730, label %._crit_edge1734, label %.lr.ph1733

.lr.ph1733:                                       ; preds = %.lr.ph1738
  br i1 %.not1245, label %.lr.ph1733.split.us, label %.lr.ph1733.split

.lr.ph1733.split.us:                              ; preds = %.lr.ph1733, %1023
  %1006 = phi i32 [ %1017, %1023 ], [ %1005, %.lr.ph1733 ]
  %storemerge13551731.us = phi i32 [ %1024, %1023 ], [ 1, %.lr.ph1733 ]
  %1007 = mul nsw i32 %storemerge13551731.us, %50
  %1008 = add nsw i32 %1006, %1007
  call void @clatm2_(ptr noundef nonnull %33, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1009 = call <2 x float> @Cf(ptr noundef nonnull %33)
  %.sroa.0114.0.vec.extract.us = extractelement <2 x float> %1009, i64 0
  %.sroa.0114.4.vec.extract.us = extractelement <2 x float> %1009, i64 1
  %1010 = fneg float %.sroa.0114.4.vec.extract.us
  %1011 = call ptr @_pCf(ptr noundef nonnull %32)
  %1012 = getelementptr inbounds i8, ptr %1011, i64 4
  store float %.sroa.0114.0.vec.extract.us, ptr %1011, align 4
  store float %1010, ptr %1012, align 4
  %1013 = sext i32 %1008 to i64
  %1014 = getelementptr inbounds %struct.complex, ptr %52, i64 %1013
  %1015 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1015, ptr %1014, align 4, !tbaa !18
  %1016 = load i32, ptr %36, align 4, !tbaa !5
  %1017 = load i32, ptr %37, align 4, !tbaa !5
  %.not1357.us = icmp eq i32 %1016, %1017
  br i1 %.not1357.us, label %1023, label %1018

1018:                                             ; preds = %.lr.ph1733.split.us
  %1019 = mul nsw i32 %1017, %50
  %1020 = add nsw i32 %1019, %1016
  %1021 = sext i32 %1020 to i64
  %1022 = getelementptr inbounds %struct.complex, ptr %52, i64 %1021
  store <2 x float> zeroinitializer, ptr %1022, align 4, !tbaa !18
  br label %1023

1023:                                             ; preds = %1018, %.lr.ph1733.split.us
  %1024 = add nsw i32 %1016, 1
  store i32 %1024, ptr %36, align 4, !tbaa !5
  %.not1356.us.not = icmp slt i32 %1016, %1005
  br i1 %.not1356.us.not, label %.lr.ph1733.split.us, label %._crit_edge1734, !llvm.loop !60

.lr.ph1733.split:                                 ; preds = %.lr.ph1733, %1038
  %1025 = phi i32 [ %1032, %1038 ], [ %1005, %.lr.ph1733 ]
  %storemerge13551731 = phi i32 [ %1039, %1038 ], [ 1, %.lr.ph1733 ]
  %1026 = mul nsw i32 %storemerge13551731, %50
  %1027 = add nsw i32 %1025, %1026
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1028 = sext i32 %1027 to i64
  %1029 = getelementptr inbounds %struct.complex, ptr %52, i64 %1028
  %1030 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1030, ptr %1029, align 4, !tbaa !18
  %1031 = load i32, ptr %36, align 4, !tbaa !5
  %1032 = load i32, ptr %37, align 4, !tbaa !5
  %.not1357 = icmp eq i32 %1031, %1032
  br i1 %.not1357, label %1038, label %1033

1033:                                             ; preds = %.lr.ph1733.split
  %1034 = mul nsw i32 %1032, %50
  %1035 = add nsw i32 %1034, %1031
  %1036 = sext i32 %1035 to i64
  %1037 = getelementptr inbounds %struct.complex, ptr %52, i64 %1036
  store <2 x float> zeroinitializer, ptr %1037, align 4, !tbaa !18
  br label %1038

1038:                                             ; preds = %.lr.ph1733.split, %1033
  %1039 = add nsw i32 %1031, 1
  store i32 %1039, ptr %36, align 4, !tbaa !5
  %.not1356.not = icmp slt i32 %1031, %1005
  br i1 %.not1356.not, label %.lr.ph1733.split, label %._crit_edge1734, !llvm.loop !60

._crit_edge1734:                                  ; preds = %1038, %1023, %.lr.ph1738
  %1040 = phi i32 [ %1005, %.lr.ph1738 ], [ %1017, %1023 ], [ %1032, %1038 ]
  %1041 = add nsw i32 %1040, 1
  store i32 %1041, ptr %37, align 4, !tbaa !5
  %1042 = load i32, ptr %29, align 4, !tbaa !5
  %.not1354.not = icmp slt i32 %1040, %1042
  br i1 %.not1354.not, label %.lr.ph1738, label %.loopexit1495, !llvm.loop !61

1043:                                             ; preds = %1002
  br i1 %165, label %1044, label %1066

1044:                                             ; preds = %1043
  store i32 0, ptr %34, align 4, !tbaa !5
  store i32 1, ptr %35, align 4, !tbaa !5
  %1045 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %1045, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13491726 = icmp slt i32 %1045, 1
  br i1 %.not13491726, label %.loopexit1495.thread.thread.thread.thread1951, label %.lr.ph1729

.lr.ph1729:                                       ; preds = %1044, %._crit_edge1725
  %1046 = phi i32 [ %1063, %._crit_edge1725 ], [ %1045, %1044 ]
  %1047 = phi i32 [ %1065, %._crit_edge1725 ], [ 1, %1044 ]
  store i32 %1047, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not13511722 = icmp slt i32 %1047, 1
  br i1 %.not13511722, label %._crit_edge1725, label %.lr.ph1724

.lr.ph1724:                                       ; preds = %.lr.ph1729, %1053
  %1048 = load i32, ptr %34, align 4, !tbaa !5
  %1049 = add nsw i32 %1048, 1
  store i32 %1049, ptr %34, align 4, !tbaa !5
  %1050 = load i32, ptr %25, align 4, !tbaa !5
  %.not1352 = icmp slt i32 %1048, %1050
  %.pre1931 = load i32, ptr %35, align 4, !tbaa !5
  br i1 %.not1352, label %1053, label %1051

1051:                                             ; preds = %.lr.ph1724
  store i32 1, ptr %34, align 4, !tbaa !5
  %1052 = add nsw i32 %.pre1931, 1
  store i32 %1052, ptr %35, align 4, !tbaa !5
  br label %1053

1053:                                             ; preds = %1051, %.lr.ph1724
  %1054 = phi i32 [ %1052, %1051 ], [ %.pre1931, %.lr.ph1724 ]
  %1055 = phi i32 [ 1, %1051 ], [ %1049, %.lr.ph1724 ]
  %1056 = mul nsw i32 %1054, %50
  %1057 = add nsw i32 %1056, %1055
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1058 = sext i32 %1057 to i64
  %1059 = getelementptr inbounds %struct.complex, ptr %52, i64 %1058
  %1060 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1060, ptr %1059, align 4, !tbaa !18
  %1061 = load i32, ptr %36, align 4, !tbaa !5
  %1062 = add nsw i32 %1061, 1
  store i32 %1062, ptr %36, align 4, !tbaa !5
  %.not1351.not = icmp slt i32 %1061, %1047
  br i1 %.not1351.not, label %.lr.ph1724, label %._crit_edge1725.loopexit, !llvm.loop !62

._crit_edge1725.loopexit:                         ; preds = %1053
  %.pre1932 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1933 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1725

._crit_edge1725:                                  ; preds = %._crit_edge1725.loopexit, %.lr.ph1729
  %1063 = phi i32 [ %.pre1933, %._crit_edge1725.loopexit ], [ %1046, %.lr.ph1729 ]
  %1064 = phi i32 [ %.pre1932, %._crit_edge1725.loopexit ], [ %1047, %.lr.ph1729 ]
  %1065 = add nsw i32 %1064, 1
  store i32 %1065, ptr %37, align 4, !tbaa !5
  %.not1349.not = icmp slt i32 %1064, %1063
  br i1 %.not1349.not, label %.lr.ph1729, label %.loopexit1495, !llvm.loop !63

1066:                                             ; preds = %1043
  br i1 %166, label %1067, label %1140

1067:                                             ; preds = %1066
  br i1 %or.cond, label %1068, label %1118

1068:                                             ; preds = %1067
  %1069 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %1069, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13451718 = icmp slt i32 %1069, 1
  br i1 %.not13451718, label %.loopexit1495.thread.thread.thread.thread.thread1953, label %.lr.ph1721

.lr.ph1721:                                       ; preds = %1068, %._crit_edge1717
  %1070 = phi i32 [ %1115, %._crit_edge1717 ], [ %1069, %1068 ]
  %1071 = phi i32 [ %1117, %._crit_edge1717 ], [ 1, %1068 ]
  store i32 %1071, ptr %30, align 4, !tbaa !5
  store i32 1, ptr %36, align 4, !tbaa !5
  %.not13471713 = icmp slt i32 %1071, 1
  br i1 %.not13471713, label %._crit_edge1717, label %.lr.ph1716

.lr.ph1716:                                       ; preds = %.lr.ph1721, %1112
  %storemerge13461714 = phi i32 [ %1114, %1112 ], [ 1, %.lr.ph1721 ]
  %1072 = icmp eq i32 %storemerge13461714, 1
  br i1 %1072, label %1073, label %1075

1073:                                             ; preds = %.lr.ph1716
  %1074 = load i32, ptr %37, align 4, !tbaa !5
  br label %1088

1075:                                             ; preds = %.lr.ph1716
  %1076 = load i32, ptr %1, align 4, !tbaa !5
  %1077 = add nsw i32 %1076, 1
  %1078 = mul nsw i32 %1077, %1076
  %1079 = sdiv i32 %1078, 2
  %1080 = sub nsw i32 %1076, %storemerge13461714
  %1081 = add nsw i32 %1080, 1
  %1082 = add nsw i32 %1080, 2
  %1083 = mul nsw i32 %1081, %1082
  %.neg = sdiv i32 %1083, -2
  %1084 = load i32, ptr %37, align 4, !tbaa !5
  %reass.sub1812 = sub i32 %1084, %storemerge13461714
  %1085 = add i32 %reass.sub1812, 1
  %1086 = add i32 %1085, %1079
  %1087 = add i32 %1086, %.neg
  br label %1088

1088:                                             ; preds = %1075, %1073
  %.1 = phi i32 [ %1074, %1073 ], [ %1087, %1075 ]
  %1089 = add nsw i32 %.1, -1
  %1090 = load i32, ptr %25, align 4, !tbaa !5
  %1091 = sdiv i32 %1089, %1090
  %1092 = add nsw i32 %1091, 1
  store i32 %1092, ptr %35, align 4, !tbaa !5
  %1093 = mul nsw i32 %1091, %1090
  %1094 = sub nsw i32 %.1, %1093
  store i32 %1094, ptr %34, align 4, !tbaa !5
  %1095 = mul nsw i32 %1092, %50
  %1096 = add nsw i32 %1094, %1095
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1097 = sext i32 %1096 to i64
  %1098 = getelementptr inbounds %struct.complex, ptr %52, i64 %1097
  %1099 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1099, ptr %1098, align 4, !tbaa !18
  br i1 %.not1245, label %1100, label %1112

1100:                                             ; preds = %1088
  %1101 = load i32, ptr %34, align 4, !tbaa !5
  %1102 = load i32, ptr %35, align 4, !tbaa !5
  %1103 = mul nsw i32 %1102, %50
  %1104 = add nsw i32 %1103, %1101
  %1105 = sext i32 %1104 to i64
  %1106 = getelementptr inbounds %struct.complex, ptr %52, i64 %1105
  %1107 = call <2 x float> @Cf(ptr noundef %1106)
  %.sroa.0113.0.vec.extract = extractelement <2 x float> %1107, i64 0
  %.sroa.0113.4.vec.extract = extractelement <2 x float> %1107, i64 1
  %1108 = fneg float %.sroa.0113.4.vec.extract
  %1109 = call ptr @_pCf(ptr noundef nonnull %32)
  %1110 = getelementptr inbounds i8, ptr %1109, i64 4
  store float %.sroa.0113.0.vec.extract, ptr %1109, align 4
  store float %1108, ptr %1110, align 4
  %1111 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1111, ptr %1106, align 4, !tbaa !18
  br label %1112

1112:                                             ; preds = %1088, %1100
  %1113 = load i32, ptr %36, align 4, !tbaa !5
  %1114 = add nsw i32 %1113, 1
  store i32 %1114, ptr %36, align 4, !tbaa !5
  %.not1347.not = icmp slt i32 %1113, %1071
  br i1 %.not1347.not, label %.lr.ph1716, label %._crit_edge1717.loopexit, !llvm.loop !64

._crit_edge1717.loopexit:                         ; preds = %1112
  %.pre1929 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1930 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1717

._crit_edge1717:                                  ; preds = %._crit_edge1717.loopexit, %.lr.ph1721
  %1115 = phi i32 [ %.pre1930, %._crit_edge1717.loopexit ], [ %1070, %.lr.ph1721 ]
  %1116 = phi i32 [ %.pre1929, %._crit_edge1717.loopexit ], [ %1071, %.lr.ph1721 ]
  %1117 = add nsw i32 %1116, 1
  store i32 %1117, ptr %37, align 4, !tbaa !5
  %.not1345.not = icmp slt i32 %1116, %1115
  br i1 %.not1345.not, label %.lr.ph1721, label %.loopexit1495, !llvm.loop !65

1118:                                             ; preds = %1067
  store i32 0, ptr %34, align 4, !tbaa !5
  store i32 1, ptr %35, align 4, !tbaa !5
  %1119 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %1119, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13401709 = icmp slt i32 %1119, 1
  br i1 %.not13401709, label %.loopexit1495.thread.thread.thread.thread.thread1953, label %.lr.ph1712

.lr.ph1712:                                       ; preds = %1118, %._crit_edge1708
  %1120 = phi i32 [ %1137, %._crit_edge1708 ], [ %1119, %1118 ]
  %storemerge13391710 = phi i32 [ %1139, %._crit_edge1708 ], [ 1, %1118 ]
  %1121 = load i32, ptr %0, align 4, !tbaa !5
  store i32 %1121, ptr %30, align 4, !tbaa !5
  store i32 %storemerge13391710, ptr %36, align 4, !tbaa !5
  %.not13421705 = icmp sgt i32 %storemerge13391710, %1121
  br i1 %.not13421705, label %._crit_edge1708, label %.lr.ph1707

.lr.ph1707:                                       ; preds = %.lr.ph1712, %1127
  %1122 = load i32, ptr %34, align 4, !tbaa !5
  %1123 = add nsw i32 %1122, 1
  store i32 %1123, ptr %34, align 4, !tbaa !5
  %1124 = load i32, ptr %25, align 4, !tbaa !5
  %.not1343 = icmp slt i32 %1122, %1124
  %.pre1926 = load i32, ptr %35, align 4, !tbaa !5
  br i1 %.not1343, label %1127, label %1125

1125:                                             ; preds = %.lr.ph1707
  store i32 1, ptr %34, align 4, !tbaa !5
  %1126 = add nsw i32 %.pre1926, 1
  store i32 %1126, ptr %35, align 4, !tbaa !5
  br label %1127

1127:                                             ; preds = %1125, %.lr.ph1707
  %1128 = phi i32 [ %1126, %1125 ], [ %.pre1926, %.lr.ph1707 ]
  %1129 = phi i32 [ 1, %1125 ], [ %1123, %.lr.ph1707 ]
  %1130 = mul nsw i32 %1128, %50
  %1131 = add nsw i32 %1130, %1129
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1132 = sext i32 %1131 to i64
  %1133 = getelementptr inbounds %struct.complex, ptr %52, i64 %1132
  %1134 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1134, ptr %1133, align 4, !tbaa !18
  %1135 = load i32, ptr %36, align 4, !tbaa !5
  %1136 = add nsw i32 %1135, 1
  store i32 %1136, ptr %36, align 4, !tbaa !5
  %.not1342.not = icmp slt i32 %1135, %1121
  br i1 %.not1342.not, label %.lr.ph1707, label %._crit_edge1708.loopexit, !llvm.loop !66

._crit_edge1708.loopexit:                         ; preds = %1127
  %.pre1927 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1928 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1708

._crit_edge1708:                                  ; preds = %._crit_edge1708.loopexit, %.lr.ph1712
  %1137 = phi i32 [ %.pre1928, %._crit_edge1708.loopexit ], [ %1120, %.lr.ph1712 ]
  %1138 = phi i32 [ %.pre1927, %._crit_edge1708.loopexit ], [ %storemerge13391710, %.lr.ph1712 ]
  %1139 = add nsw i32 %1138, 1
  store i32 %1139, ptr %37, align 4, !tbaa !5
  %.not1340.not = icmp slt i32 %1138, %1137
  br i1 %.not1340.not, label %.lr.ph1712, label %.loopexit1495, !llvm.loop !67

1140:                                             ; preds = %1066
  br i1 %163, label %1141, label %1197

1141:                                             ; preds = %1140
  %1142 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %1142, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13361701 = icmp slt i32 %1142, 1
  br i1 %.not13361701, label %.loopexit1495.thread.thread.thread.thread.thread.thread1955, label %.lr.ph1704

.lr.ph1704:                                       ; preds = %1141, %._crit_edge1700
  %1143 = phi i32 [ %1195, %._crit_edge1700 ], [ 1, %1141 ]
  store i32 %1143, ptr %30, align 4, !tbaa !5
  %1144 = load i32, ptr %46, align 4, !tbaa !5
  %1145 = sub nsw i32 %1143, %1144
  store i32 %1145, ptr %36, align 4, !tbaa !5
  %.not13381695 = icmp slt i32 %1144, 0
  br i1 %.not13381695, label %._crit_edge1700, label %.lr.ph1699

.lr.ph1699:                                       ; preds = %.lr.ph1704
  %storemerge1337.neg1694 = sub i32 0, %1145
  br i1 %.not1245, label %.lr.ph1699.split.us, label %.lr.ph1699.split

.lr.ph1699.split.us:                              ; preds = %.lr.ph1699, %1169
  %storemerge1337.neg1697.us = phi i32 [ %storemerge1337.neg.us, %1169 ], [ %storemerge1337.neg1694, %.lr.ph1699 ]
  %storemerge13371696.us = phi i32 [ %1171, %1169 ], [ %1145, %.lr.ph1699 ]
  %1146 = icmp slt i32 %storemerge13371696.us, 1
  %1147 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %1146, label %1160, label %1148

1148:                                             ; preds = %.lr.ph1699.split.us
  %1149 = mul nsw i32 %storemerge13371696.us, %50
  %1150 = add i32 %storemerge1337.neg1697.us, 1
  %1151 = add i32 %1150, %1149
  %1152 = add i32 %1151, %1147
  call void @clatm2_(ptr noundef nonnull %33, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1153 = call <2 x float> @Cf(ptr noundef nonnull %33)
  %.sroa.0112.0.vec.extract.us = extractelement <2 x float> %1153, i64 0
  %.sroa.0112.4.vec.extract.us = extractelement <2 x float> %1153, i64 1
  %1154 = fneg float %.sroa.0112.4.vec.extract.us
  %1155 = call ptr @_pCf(ptr noundef nonnull %32)
  %1156 = getelementptr inbounds i8, ptr %1155, i64 4
  store float %.sroa.0112.0.vec.extract.us, ptr %1155, align 4
  store float %1154, ptr %1156, align 4
  %1157 = sext i32 %1152 to i64
  %1158 = getelementptr inbounds %struct.complex, ptr %52, i64 %1157
  %1159 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1159, ptr %1158, align 4, !tbaa !18
  %.pre1925 = load i32, ptr %36, align 4, !tbaa !5
  br label %1169

1160:                                             ; preds = %.lr.ph1699.split.us
  %1161 = load i32, ptr %1, align 4, !tbaa !5
  %1162 = add nsw i32 %1161, %storemerge13371696.us
  %1163 = mul nsw i32 %1162, %50
  %1164 = add i32 %storemerge1337.neg1697.us, 1
  %1165 = add i32 %1164, %1147
  %1166 = add nsw i32 %1165, %1163
  %1167 = sext i32 %1166 to i64
  %1168 = getelementptr inbounds %struct.complex, ptr %52, i64 %1167
  store <2 x float> zeroinitializer, ptr %1168, align 4, !tbaa !18
  br label %1169

1169:                                             ; preds = %1160, %1148
  %1170 = phi i32 [ %storemerge13371696.us, %1160 ], [ %.pre1925, %1148 ]
  %1171 = add nsw i32 %1170, 1
  %storemerge1337.neg.us = xor i32 %1170, -1
  store i32 %1171, ptr %36, align 4, !tbaa !5
  %.not1338.us.not = icmp slt i32 %1170, %1143
  br i1 %.not1338.us.not, label %.lr.ph1699.split.us, label %._crit_edge1700, !llvm.loop !68

.lr.ph1699.split:                                 ; preds = %.lr.ph1699, %1191
  %storemerge1337.neg1697 = phi i32 [ %storemerge1337.neg, %1191 ], [ %storemerge1337.neg1694, %.lr.ph1699 ]
  %storemerge13371696 = phi i32 [ %1193, %1191 ], [ %1145, %.lr.ph1699 ]
  %1172 = icmp slt i32 %storemerge13371696, 1
  %1173 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %1172, label %1174, label %1183

1174:                                             ; preds = %.lr.ph1699.split
  %1175 = load i32, ptr %1, align 4, !tbaa !5
  %1176 = add nsw i32 %1175, %storemerge13371696
  %1177 = mul nsw i32 %1176, %50
  %1178 = add i32 %storemerge1337.neg1697, 1
  %1179 = add i32 %1178, %1173
  %1180 = add nsw i32 %1179, %1177
  %1181 = sext i32 %1180 to i64
  %1182 = getelementptr inbounds %struct.complex, ptr %52, i64 %1181
  store <2 x float> zeroinitializer, ptr %1182, align 4, !tbaa !18
  br label %1191

1183:                                             ; preds = %.lr.ph1699.split
  %1184 = mul nsw i32 %storemerge13371696, %50
  %1185 = add i32 %storemerge1337.neg1697, 1
  %1186 = add i32 %1185, %1184
  %1187 = add i32 %1186, %1173
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1188 = sext i32 %1187 to i64
  %1189 = getelementptr inbounds %struct.complex, ptr %52, i64 %1188
  %1190 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1190, ptr %1189, align 4, !tbaa !18
  %.pre1924 = load i32, ptr %36, align 4, !tbaa !5
  br label %1191

1191:                                             ; preds = %1174, %1183
  %1192 = phi i32 [ %storemerge13371696, %1174 ], [ %.pre1924, %1183 ]
  %1193 = add nsw i32 %1192, 1
  %storemerge1337.neg = xor i32 %1192, -1
  store i32 %1193, ptr %36, align 4, !tbaa !5
  %.not1338.not = icmp slt i32 %1192, %1143
  br i1 %.not1338.not, label %.lr.ph1699.split, label %._crit_edge1700, !llvm.loop !68

._crit_edge1700:                                  ; preds = %1191, %1169, %.lr.ph1704
  %1194 = load i32, ptr %37, align 4, !tbaa !5
  %1195 = add nsw i32 %1194, 1
  store i32 %1195, ptr %37, align 4, !tbaa !5
  %1196 = load i32, ptr %29, align 4, !tbaa !5
  %.not1336.not = icmp slt i32 %1194, %1196
  br i1 %.not1336.not, label %.lr.ph1704, label %.loopexit1495, !llvm.loop !69

1197:                                             ; preds = %1140
  br i1 %164, label %1198, label %1219

1198:                                             ; preds = %1197
  %1199 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %1199, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13321690 = icmp slt i32 %1199, 1
  br i1 %.not13321690, label %.loopexit1495.thread.thread.thread.thread.thread.thread.thread1957, label %.lr.ph1693

.lr.ph1693:                                       ; preds = %1198, %._crit_edge1689
  %1200 = phi i32 [ %1216, %._crit_edge1689 ], [ %1199, %1198 ]
  %1201 = phi i32 [ %1218, %._crit_edge1689 ], [ 1, %1198 ]
  store i32 %1201, ptr %30, align 4, !tbaa !5
  %1202 = load i32, ptr %46, align 4, !tbaa !5
  %1203 = sub nsw i32 %1201, %1202
  store i32 %1203, ptr %36, align 4, !tbaa !5
  %.not13341685 = icmp slt i32 %1202, 0
  br i1 %.not13341685, label %._crit_edge1689, label %.lr.ph1688

.lr.ph1688:                                       ; preds = %.lr.ph1693, %.lr.ph1688
  %storemerge13331686 = phi i32 [ %1215, %.lr.ph1688 ], [ %1203, %.lr.ph1693 ]
  %1204 = load i32, ptr %37, align 4, !tbaa !5
  %1205 = load i32, ptr %46, align 4, !tbaa !5
  %1206 = mul nsw i32 %1204, %50
  %1207 = add i32 %storemerge13331686, 1
  %1208 = sub i32 %1207, %1204
  %1209 = add i32 %1208, %1205
  %1210 = add nsw i32 %1209, %1206
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1211 = sext i32 %1210 to i64
  %1212 = getelementptr inbounds %struct.complex, ptr %52, i64 %1211
  %1213 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1213, ptr %1212, align 4, !tbaa !18
  %1214 = load i32, ptr %36, align 4, !tbaa !5
  %1215 = add nsw i32 %1214, 1
  store i32 %1215, ptr %36, align 4, !tbaa !5
  %.not1334.not = icmp slt i32 %1214, %1201
  br i1 %.not1334.not, label %.lr.ph1688, label %._crit_edge1689.loopexit, !llvm.loop !70

._crit_edge1689.loopexit:                         ; preds = %.lr.ph1688
  %.pre1922 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1923 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1689

._crit_edge1689:                                  ; preds = %._crit_edge1689.loopexit, %.lr.ph1693
  %1216 = phi i32 [ %.pre1923, %._crit_edge1689.loopexit ], [ %1200, %.lr.ph1693 ]
  %1217 = phi i32 [ %.pre1922, %._crit_edge1689.loopexit ], [ %1201, %.lr.ph1693 ]
  %1218 = add nsw i32 %1217, 1
  store i32 %1218, ptr %37, align 4, !tbaa !5
  %.not1332.not = icmp slt i32 %1217, %1216
  br i1 %.not1332.not, label %.lr.ph1693, label %.loopexit1495, !llvm.loop !71

1219:                                             ; preds = %1197
  br i1 %167, label %1220, label %.thread1475

1220:                                             ; preds = %1219
  %1221 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %1221, ptr %29, align 4, !tbaa !5
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not13231681 = icmp slt i32 %1221, 1
  br i1 %82, label %1287, label %1222

1222:                                             ; preds = %1220
  br i1 %.not13231681, label %.thread1958, label %.lr.ph1675

.lr.ph1675:                                       ; preds = %1222
  %1223 = add i32 %50, -1
  %1224 = add i32 %50, -1
  br label %1225

1225:                                             ; preds = %.lr.ph1675, %._crit_edge1671
  %1226 = phi i32 [ %1221, %.lr.ph1675 ], [ %1284, %._crit_edge1671 ]
  %1227 = phi i32 [ 1, %.lr.ph1675 ], [ %1286, %._crit_edge1671 ]
  store i32 %1227, ptr %30, align 4, !tbaa !5
  %1228 = load i32, ptr %46, align 4, !tbaa !5
  %1229 = sub nsw i32 %1227, %1228
  store i32 %1229, ptr %36, align 4, !tbaa !5
  %.not13291667 = icmp slt i32 %1228, 0
  br i1 %.not13291667, label %._crit_edge1671, label %.lr.ph1670

.lr.ph1670:                                       ; preds = %1225, %1281
  %storemerge13281668 = phi i32 [ %1283, %1281 ], [ %1229, %1225 ]
  %1230 = load i32, ptr %37, align 4, !tbaa !5
  %1231 = load i32, ptr %46, align 4, !tbaa !5
  %1232 = mul nsw i32 %1230, %50
  %1233 = add i32 %storemerge13281668, 1
  %1234 = sub i32 %1233, %1230
  %1235 = add i32 %1234, %1231
  %1236 = add nsw i32 %1235, %1232
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1237 = sext i32 %1236 to i64
  %1238 = getelementptr inbounds %struct.complex, ptr %52, i64 %1237
  %1239 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1239, ptr %1238, align 4, !tbaa !18
  %1240 = load i32, ptr %36, align 4, !tbaa !5
  %1241 = icmp slt i32 %1240, 1
  %1242 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %1241, label %1243, label %1253

1243:                                             ; preds = %.lr.ph1670
  %1244 = load i32, ptr %46, align 4, !tbaa !5
  %1245 = load i32, ptr %1, align 4, !tbaa !5
  %1246 = add nsw i32 %1245, %1240
  %1247 = mul nsw i32 %1246, %50
  %reass.sub1811 = sub i32 %1242, %1240
  %1248 = add i32 %reass.sub1811, 1
  %1249 = add nsw i32 %1248, %1244
  %1250 = add nsw i32 %1249, %1247
  %1251 = sext i32 %1250 to i64
  %1252 = getelementptr inbounds %struct.complex, ptr %52, i64 %1251
  store <2 x float> zeroinitializer, ptr %1252, align 4, !tbaa !18
  br label %1281

1253:                                             ; preds = %.lr.ph1670
  %.not1330 = icmp eq i32 %1240, %1242
  br i1 %.not1330, label %1281, label %1254

1254:                                             ; preds = %1253
  %1255 = load i32, ptr %46, align 4, !tbaa !5
  %1256 = mul nsw i32 %1242, %50
  %1257 = add nuw i32 %1240, 1
  %1258 = sub i32 %1257, %1242
  %1259 = add i32 %1258, %1256
  %1260 = add i32 %1259, %1255
  %1261 = sext i32 %1260 to i64
  %1262 = getelementptr inbounds %struct.complex, ptr %52, i64 %1261
  br i1 %.not1245, label %1263, label %1274

1263:                                             ; preds = %1254
  %reass.sub1810 = mul i32 %1240, %1224
  %1264 = add i32 %reass.sub1810, 1
  %1265 = add i32 %1264, %1242
  %1266 = add i32 %1265, %1255
  %1267 = call <2 x float> @Cf(ptr noundef %1262)
  %.sroa.0.0.vec.extract = extractelement <2 x float> %1267, i64 0
  %.sroa.0.4.vec.extract = extractelement <2 x float> %1267, i64 1
  %1268 = fneg float %.sroa.0.4.vec.extract
  %1269 = call ptr @_pCf(ptr noundef nonnull %32)
  %1270 = getelementptr inbounds i8, ptr %1269, i64 4
  store float %.sroa.0.0.vec.extract, ptr %1269, align 4
  store float %1268, ptr %1270, align 4
  %1271 = sext i32 %1266 to i64
  %1272 = getelementptr inbounds %struct.complex, ptr %52, i64 %1271
  %1273 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1273, ptr %1272, align 4, !tbaa !18
  %.pre1917 = load i32, ptr %36, align 4, !tbaa !5
  br label %1281

1274:                                             ; preds = %1254
  %reass.sub1809 = mul i32 %1240, %1223
  %1275 = add i32 %reass.sub1809, 1
  %1276 = add i32 %1275, %1242
  %1277 = add i32 %1276, %1255
  %1278 = sext i32 %1277 to i64
  %1279 = getelementptr inbounds %struct.complex, ptr %52, i64 %1278
  %1280 = load <2 x float>, ptr %1262, align 4, !tbaa !18
  store <2 x float> %1280, ptr %1279, align 4, !tbaa !18
  br label %1281

1281:                                             ; preds = %1243, %1253, %1274, %1263
  %1282 = phi i32 [ %1240, %1243 ], [ %1240, %1253 ], [ %1240, %1274 ], [ %.pre1917, %1263 ]
  %1283 = add nsw i32 %1282, 1
  store i32 %1283, ptr %36, align 4, !tbaa !5
  %.not1329.not = icmp slt i32 %1282, %1227
  br i1 %.not1329.not, label %.lr.ph1670, label %._crit_edge1671.loopexit, !llvm.loop !72

._crit_edge1671.loopexit:                         ; preds = %1281
  %.pre1918 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1919 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1671

._crit_edge1671:                                  ; preds = %._crit_edge1671.loopexit, %1225
  %1284 = phi i32 [ %.pre1919, %._crit_edge1671.loopexit ], [ %1226, %1225 ]
  %1285 = phi i32 [ %.pre1918, %._crit_edge1671.loopexit ], [ %1227, %1225 ]
  %1286 = add nsw i32 %1285, 1
  store i32 %1286, ptr %37, align 4, !tbaa !5
  %.not1327.not = icmp slt i32 %1285, %1284
  br i1 %.not1327.not, label %1225, label %.loopexit1495, !llvm.loop !73

1287:                                             ; preds = %1220
  br i1 %.not13231681, label %.thread1958, label %.lr.ph1684

.lr.ph1684:                                       ; preds = %1287, %._crit_edge1680
  %1288 = phi i32 [ %1305, %._crit_edge1680 ], [ %1221, %1287 ]
  %storemerge13221682 = phi i32 [ %1307, %._crit_edge1680 ], [ 1, %1287 ]
  %1289 = load i32, ptr %45, align 4, !tbaa !5
  %1290 = add nsw i32 %1289, %storemerge13221682
  store i32 %1290, ptr %30, align 4, !tbaa !5
  %1291 = load i32, ptr %46, align 4, !tbaa !5
  %1292 = sub nsw i32 %storemerge13221682, %1291
  store i32 %1292, ptr %36, align 4, !tbaa !5
  %.not13251676 = icmp sgt i32 %1292, %1290
  br i1 %.not13251676, label %._crit_edge1680, label %.lr.ph1679

.lr.ph1679:                                       ; preds = %.lr.ph1684, %.lr.ph1679
  %storemerge13241677 = phi i32 [ %1304, %.lr.ph1679 ], [ %1292, %.lr.ph1684 ]
  %1293 = load i32, ptr %37, align 4, !tbaa !5
  %1294 = load i32, ptr %46, align 4, !tbaa !5
  %1295 = mul nsw i32 %1293, %50
  %1296 = add i32 %storemerge13241677, 1
  %1297 = sub i32 %1296, %1293
  %1298 = add i32 %1297, %1294
  %1299 = add nsw i32 %1298, %1295
  call void @clatm2_(ptr noundef nonnull %32, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %40, ptr noundef nonnull %3, ptr noundef %5, ptr noundef nonnull %42, ptr noundef %11, ptr noundef %14, ptr noundef nonnull %44, ptr noundef %26, ptr noundef nonnull %21) #7
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds %struct.complex, ptr %52, i64 %1300
  %1302 = load <2 x float>, ptr %32, align 8, !tbaa !18
  store <2 x float> %1302, ptr %1301, align 4, !tbaa !18
  %1303 = load i32, ptr %36, align 4, !tbaa !5
  %1304 = add nsw i32 %1303, 1
  store i32 %1304, ptr %36, align 4, !tbaa !5
  %.not1325.not = icmp slt i32 %1303, %1290
  br i1 %.not1325.not, label %.lr.ph1679, label %._crit_edge1680.loopexit, !llvm.loop !74

._crit_edge1680.loopexit:                         ; preds = %.lr.ph1679
  %.pre1920 = load i32, ptr %37, align 4, !tbaa !5
  %.pre1921 = load i32, ptr %29, align 4, !tbaa !5
  br label %._crit_edge1680

._crit_edge1680:                                  ; preds = %._crit_edge1680.loopexit, %.lr.ph1684
  %1305 = phi i32 [ %.pre1921, %._crit_edge1680.loopexit ], [ %1288, %.lr.ph1684 ]
  %1306 = phi i32 [ %.pre1920, %._crit_edge1680.loopexit ], [ %storemerge13221682, %.lr.ph1684 ]
  %1307 = add nsw i32 %1306, 1
  store i32 %1307, ptr %37, align 4, !tbaa !5
  %.not1323.not = icmp slt i32 %1306, %1305
  br i1 %.not1323.not, label %.lr.ph1684, label %.loopexit1495, !llvm.loop !75

.loopexit1495:                                    ; preds = %._crit_edge1582, %._crit_edge1590, %._crit_edge1598, %._crit_edge1607, %._crit_edge1615, %._crit_edge1623, %._crit_edge1631, %._crit_edge1639, %._crit_edge1647, %._crit_edge1655, %._crit_edge1662, %._crit_edge1671, %._crit_edge1680, %._crit_edge1689, %._crit_edge1700, %._crit_edge1708, %._crit_edge1717, %._crit_edge1725, %._crit_edge1734, %._crit_edge1743, %._crit_edge1752, %._crit_edge1761, %._crit_edge1769
  br i1 %.not1265, label %.thread1466, label %.loopexit1495.thread

.thread1466:                                      ; preds = %906, %937, %954, %460, %486, %504, %503, %953, %.loopexit1495
  %1308 = call float @clange_(ptr noundef nonnull @.str.16, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %24, ptr noundef nonnull %25, ptr noundef nonnull %38) #7
  br label %.thread1475

.loopexit1495.thread:                             ; preds = %.loopexit1495
  br i1 %161, label %.loopexit1495.thread.thread1947, label %.loopexit1495.thread.thread

.loopexit1495.thread.thread1947:                  ; preds = %525, %980, %.loopexit1495.thread
  %1309 = call float @clansy_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str, ptr noundef nonnull %1, ptr noundef %24, ptr noundef nonnull %25, ptr noundef nonnull %38) #7
  br label %.thread1475

.loopexit1495.thread.thread:                      ; preds = %.loopexit1495.thread
  br i1 %162, label %.loopexit1495.thread.thread.thread1949, label %.loopexit1495.thread.thread.thread

.loopexit1495.thread.thread.thread1949:           ; preds = %1003, %568, %.loopexit1495.thread.thread
  %1310 = call float @clansy_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.8, ptr noundef nonnull %1, ptr noundef %24, ptr noundef nonnull %25, ptr noundef nonnull %38) #7
  br label %.thread1475

.loopexit1495.thread.thread.thread:               ; preds = %.loopexit1495.thread.thread
  br i1 %165, label %.loopexit1495.thread.thread.thread.thread1951, label %.loopexit1495.thread.thread.thread.thread

.loopexit1495.thread.thread.thread.thread1951:    ; preds = %611, %1044, %.loopexit1495.thread.thread.thread
  %1311 = call float @clansp_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str, ptr noundef nonnull %1, ptr noundef %24, ptr noundef nonnull %38) #7
  br label %.thread1475

.loopexit1495.thread.thread.thread.thread:        ; preds = %.loopexit1495.thread.thread.thread
  br i1 %166, label %.loopexit1495.thread.thread.thread.thread.thread1953, label %.loopexit1495.thread.thread.thread.thread.thread

.loopexit1495.thread.thread.thread.thread.thread1953: ; preds = %1068, %1118, %658, %.loopexit1495.thread.thread.thread.thread
  %1312 = call float @clansp_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.8, ptr noundef nonnull %1, ptr noundef %24, ptr noundef nonnull %38) #7
  br label %.thread1475

.loopexit1495.thread.thread.thread.thread.thread: ; preds = %.loopexit1495.thread.thread.thread.thread
  br i1 %163, label %.loopexit1495.thread.thread.thread.thread.thread.thread1955, label %.loopexit1495.thread.thread.thread.thread.thread.thread

.loopexit1495.thread.thread.thread.thread.thread.thread1955: ; preds = %716, %1141, %.loopexit1495.thread.thread.thread.thread.thread
  %1313 = call float @clansb_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.8, ptr noundef nonnull %1, ptr noundef nonnull %45, ptr noundef %24, ptr noundef nonnull %25, ptr noundef nonnull %38) #7
  br label %.thread1475

.loopexit1495.thread.thread.thread.thread.thread.thread: ; preds = %.loopexit1495.thread.thread.thread.thread.thread
  br i1 %164, label %.loopexit1495.thread.thread.thread.thread.thread.thread.thread1957, label %1315

.loopexit1495.thread.thread.thread.thread.thread.thread.thread1957: ; preds = %1198, %766, %.loopexit1495.thread.thread.thread.thread.thread.thread
  %1314 = call float @clansb_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str, ptr noundef nonnull %1, ptr noundef nonnull %46, ptr noundef %24, ptr noundef nonnull %25, ptr noundef nonnull %38) #7
  br label %.thread1475

1315:                                             ; preds = %.loopexit1495.thread.thread.thread.thread.thread.thread
  br i1 %167, label %.thread1958, label %.thread1475

.thread1958:                                      ; preds = %810, %880, %1222, %1287, %1315
  %1316 = call float @clangb_(ptr noundef nonnull @.str.16, ptr noundef nonnull %1, ptr noundef nonnull %45, ptr noundef nonnull %46, ptr noundef %24, ptr noundef nonnull %25, ptr noundef nonnull %38) #7
  br label %.thread1475

.thread1475:                                      ; preds = %1219, %807, %.loopexit1495.thread.thread1947, %.loopexit1495.thread.thread.thread.thread1951, %.loopexit1495.thread.thread.thread.thread.thread.thread1955, %1315, %.thread1958, %.loopexit1495.thread.thread.thread.thread.thread.thread.thread1957, %.loopexit1495.thread.thread.thread.thread.thread1953, %.loopexit1495.thread.thread.thread1949, %.thread1466
  %.01161 = phi float [ %1308, %.thread1466 ], [ %1309, %.loopexit1495.thread.thread1947 ], [ %1310, %.loopexit1495.thread.thread.thread1949 ], [ %1311, %.loopexit1495.thread.thread.thread.thread1951 ], [ %1312, %.loopexit1495.thread.thread.thread.thread.thread1953 ], [ %1313, %.loopexit1495.thread.thread.thread.thread.thread.thread1955 ], [ %1314, %.loopexit1495.thread.thread.thread.thread.thread.thread.thread1957 ], [ %1316, %.thread1958 ], [ undef, %1315 ], [ undef, %807 ], [ undef, %1219 ]
  %1317 = load float, ptr %22, align 4, !tbaa !18
  %1318 = fcmp ult float %1317, 0.000000e+00
  br i1 %1318, label %.loopexit, label %1319

1319:                                             ; preds = %.thread1475
  %1320 = fcmp ogt float %1317, 0.000000e+00
  %1321 = fcmp oeq float %.01161, 0.000000e+00
  %or.cond103 = select i1 %1320, i1 %1321, i1 false
  br i1 %or.cond103, label %1322, label %1323

1322:                                             ; preds = %1319
  store i32 5, ptr %27, align 4, !tbaa !5
  br label %.loopexit

1323:                                             ; preds = %1319
  %1324 = fcmp ogt float %1317, 1.000000e+00
  %1325 = fcmp olt float %.01161, 1.000000e+00
  %or.cond105 = select i1 %1324, i1 %1325, i1 false
  br i1 %or.cond105, label %1329, label %1326

1326:                                             ; preds = %1323
  %1327 = fcmp olt float %1317, 1.000000e+00
  %1328 = fcmp ogt float %.01161, 1.000000e+00
  %or.cond107 = select i1 %1327, i1 %1328, i1 false
  br i1 %or.cond107, label %1329, label %1371

1329:                                             ; preds = %1326, %1323
  %1330 = load i32, ptr %1, align 4, !tbaa !5
  br i1 %168, label %1331, label %1342

1331:                                             ; preds = %1329
  store i32 %1330, ptr %29, align 4, !tbaa !5
  %invariant.gep1792 = getelementptr i8, ptr %52, i64 8
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14401796 = icmp slt i32 %1330, 1
  br i1 %.not14401796, label %.loopexit, label %.lr.ph1799

.lr.ph1799:                                       ; preds = %1331
  %1332 = fdiv float 1.000000e+00, %.01161
  br label %1333

1333:                                             ; preds = %.lr.ph1799, %1333
  %storemerge14391797 = phi i32 [ 1, %.lr.ph1799 ], [ %1340, %1333 ]
  store float %1332, ptr %31, align 4, !tbaa !18
  %1334 = mul nsw i32 %storemerge14391797, %50
  %1335 = sext i32 %1334 to i64
  %gep1793 = getelementptr %struct.complex, ptr %invariant.gep1792, i64 %1335
  call void @csscal_(ptr noundef nonnull %0, ptr noundef nonnull %31, ptr noundef %gep1793, ptr noundef nonnull @c__1) #7
  %1336 = load i32, ptr %37, align 4, !tbaa !5
  %1337 = mul nsw i32 %1336, %50
  %1338 = sext i32 %1337 to i64
  %gep1795 = getelementptr %struct.complex, ptr %invariant.gep1792, i64 %1338
  call void @csscal_(ptr noundef nonnull %0, ptr noundef nonnull %22, ptr noundef %gep1795, ptr noundef nonnull @c__1) #7
  %1339 = load i32, ptr %37, align 4, !tbaa !5
  %1340 = add nsw i32 %1339, 1
  store i32 %1340, ptr %37, align 4, !tbaa !5
  %1341 = load i32, ptr %29, align 4, !tbaa !5
  %.not1440.not = icmp slt i32 %1339, %1341
  br i1 %.not1440.not, label %1333, label %.loopexit, !llvm.loop !76

1342:                                             ; preds = %1329
  br i1 %or.cond71, label %1343, label %1352

1343:                                             ; preds = %1342
  %1344 = add nsw i32 %1330, 1
  %1345 = mul nsw i32 %1344, %1330
  %1346 = sdiv i32 %1345, 2
  store i32 %1346, ptr %29, align 4, !tbaa !5
  %1347 = fdiv float 1.000000e+00, %.01161
  store float %1347, ptr %31, align 4, !tbaa !18
  call void @csscal_(ptr noundef nonnull %29, ptr noundef nonnull %31, ptr noundef %24, ptr noundef nonnull @c__1) #7
  %1348 = load i32, ptr %1, align 4, !tbaa !5
  %1349 = add nsw i32 %1348, 1
  %1350 = mul nsw i32 %1349, %1348
  %1351 = sdiv i32 %1350, 2
  store i32 %1351, ptr %29, align 4, !tbaa !5
  call void @csscal_(ptr noundef nonnull %29, ptr noundef nonnull %22, ptr noundef %24, ptr noundef nonnull @c__1) #7
  br label %.loopexit

1352:                                             ; preds = %1342
  store i32 %1330, ptr %29, align 4, !tbaa !5
  %invariant.gep1784 = getelementptr i8, ptr %52, i64 8
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14381788 = icmp slt i32 %1330, 1
  br i1 %.not14381788, label %.loopexit, label %.lr.ph1791

.lr.ph1791:                                       ; preds = %1352
  %1353 = fdiv float 1.000000e+00, %.01161
  br label %1354

1354:                                             ; preds = %.lr.ph1791, %1354
  %storemerge14371789 = phi i32 [ 1, %.lr.ph1791 ], [ %1369, %1354 ]
  %1355 = load i32, ptr %45, align 4, !tbaa !5
  %1356 = load i32, ptr %46, align 4, !tbaa !5
  %1357 = add i32 %1355, 1
  %1358 = add i32 %1357, %1356
  store i32 %1358, ptr %30, align 4, !tbaa !5
  store float %1353, ptr %31, align 4, !tbaa !18
  %1359 = mul nsw i32 %storemerge14371789, %50
  %1360 = sext i32 %1359 to i64
  %gep1785 = getelementptr %struct.complex, ptr %invariant.gep1784, i64 %1360
  call void @csscal_(ptr noundef nonnull %30, ptr noundef nonnull %31, ptr noundef %gep1785, ptr noundef nonnull @c__1) #7
  %1361 = load i32, ptr %45, align 4, !tbaa !5
  %1362 = load i32, ptr %46, align 4, !tbaa !5
  %1363 = add i32 %1361, 1
  %1364 = add i32 %1363, %1362
  store i32 %1364, ptr %30, align 4, !tbaa !5
  %1365 = load i32, ptr %37, align 4, !tbaa !5
  %1366 = mul nsw i32 %1365, %50
  %1367 = sext i32 %1366 to i64
  %gep1787 = getelementptr %struct.complex, ptr %invariant.gep1784, i64 %1367
  call void @csscal_(ptr noundef nonnull %30, ptr noundef nonnull %22, ptr noundef %gep1787, ptr noundef nonnull @c__1) #7
  %1368 = load i32, ptr %37, align 4, !tbaa !5
  %1369 = add nsw i32 %1368, 1
  store i32 %1369, ptr %37, align 4, !tbaa !5
  %1370 = load i32, ptr %29, align 4, !tbaa !5
  %.not1438.not = icmp slt i32 %1368, %1370
  br i1 %.not1438.not, label %1354, label %.loopexit, !llvm.loop !77

1371:                                             ; preds = %1326
  %1372 = load i32, ptr %1, align 4, !tbaa !5
  br i1 %168, label %1373, label %1381

1373:                                             ; preds = %1371
  store i32 %1372, ptr %29, align 4, !tbaa !5
  %invariant.gep1778 = getelementptr i8, ptr %52, i64 8
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14361780 = icmp slt i32 %1372, 1
  br i1 %.not14361780, label %.loopexit, label %.lr.ph1783

.lr.ph1783:                                       ; preds = %1373, %.lr.ph1783
  %storemerge14351781 = phi i32 [ %1379, %.lr.ph1783 ], [ 1, %1373 ]
  %1374 = load float, ptr %22, align 4, !tbaa !18
  %1375 = fdiv float %1374, %.01161
  store float %1375, ptr %31, align 4, !tbaa !18
  %1376 = mul nsw i32 %storemerge14351781, %50
  %1377 = sext i32 %1376 to i64
  %gep1779 = getelementptr %struct.complex, ptr %invariant.gep1778, i64 %1377
  call void @csscal_(ptr noundef nonnull %0, ptr noundef nonnull %31, ptr noundef %gep1779, ptr noundef nonnull @c__1) #7
  %1378 = load i32, ptr %37, align 4, !tbaa !5
  %1379 = add nsw i32 %1378, 1
  store i32 %1379, ptr %37, align 4, !tbaa !5
  %1380 = load i32, ptr %29, align 4, !tbaa !5
  %.not1436.not = icmp slt i32 %1378, %1380
  br i1 %.not1436.not, label %.lr.ph1783, label %.loopexit, !llvm.loop !78

1381:                                             ; preds = %1371
  br i1 %or.cond71, label %1382, label %1387

1382:                                             ; preds = %1381
  %1383 = add nsw i32 %1372, 1
  %1384 = mul nsw i32 %1383, %1372
  %1385 = sdiv i32 %1384, 2
  store i32 %1385, ptr %29, align 4, !tbaa !5
  %1386 = fdiv float %1317, %.01161
  store float %1386, ptr %31, align 4, !tbaa !18
  call void @csscal_(ptr noundef nonnull %29, ptr noundef nonnull %31, ptr noundef %24, ptr noundef nonnull @c__1) #7
  br label %.loopexit

1387:                                             ; preds = %1381
  store i32 %1372, ptr %29, align 4, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %52, i64 8
  store i32 1, ptr %37, align 4, !tbaa !5
  %.not14341774 = icmp slt i32 %1372, 1
  br i1 %.not14341774, label %.loopexit, label %.lr.ph1777

.lr.ph1777:                                       ; preds = %1387, %.lr.ph1777
  %storemerge14331775 = phi i32 [ %1397, %.lr.ph1777 ], [ 1, %1387 ]
  %1388 = load i32, ptr %45, align 4, !tbaa !5
  %1389 = load i32, ptr %46, align 4, !tbaa !5
  %1390 = add i32 %1388, 1
  %1391 = add i32 %1390, %1389
  store i32 %1391, ptr %30, align 4, !tbaa !5
  %1392 = load float, ptr %22, align 4, !tbaa !18
  %1393 = fdiv float %1392, %.01161
  store float %1393, ptr %31, align 4, !tbaa !18
  %1394 = mul nsw i32 %storemerge14331775, %50
  %1395 = sext i32 %1394 to i64
  %gep = getelementptr %struct.complex, ptr %invariant.gep, i64 %1395
  call void @csscal_(ptr noundef nonnull %30, ptr noundef nonnull %31, ptr noundef %gep, ptr noundef nonnull @c__1) #7
  %1396 = load i32, ptr %37, align 4, !tbaa !5
  %1397 = add nsw i32 %1396, 1
  store i32 %1397, ptr %37, align 4, !tbaa !5
  %1398 = load i32, ptr %29, align 4, !tbaa !5
  %.not1434.not = icmp slt i32 %1396, %1398
  br i1 %.not1434.not, label %.lr.ph1777, label %.loopexit, !llvm.loop !79

.loopexit:                                        ; preds = %.lr.ph1777, %.lr.ph1783, %1354, %1333, %1387, %1373, %1352, %1331, %.thread1475, %1343, %1382, %28, %56, %1322, %411, %405, %352, %328, %.thread1462
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  ret void
}

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

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

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

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

; Function Attrs: nounwind
declare float @cabsf(<2 x float> noundef) local_unnamed_addr #3

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

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

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

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

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

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

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

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

declare float @clangb_(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

; 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 nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #6

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.abs.i32(i32, i1 immarg) #6

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umax.i32(i32, i32) #6

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x i32> @llvm.abs.v2i32(<2 x i32>, i1 immarg) #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 = { nounwind "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 = { inlinehint nounwind uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"", !11, i64 0, !11, i64 4}
!11 = !{!"float", !7, i64 0}
!12 = !{!10, !11, i64 4}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.unroll.disable"}
!18 = !{!11, !11, i64 0}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14, !21, !22}
!21 = !{!"llvm.loop.isvectorized", i32 1}
!22 = !{!"llvm.loop.unroll.runtime.disable"}
!23 = distinct !{!23, !14, !22, !21}
!24 = distinct !{!24, !14}
!25 = distinct !{!25, !17}
!26 = distinct !{!26, !14, !21, !22}
!27 = distinct !{!27, !14, !22, !21}
!28 = distinct !{!28, !14}
!29 = distinct !{!29, !14}
!30 = distinct !{!30, !14}
!31 = distinct !{!31, !14}
!32 = distinct !{!32, !14}
!33 = distinct !{!33, !14}
!34 = distinct !{!34, !14}
!35 = distinct !{!35, !14}
!36 = distinct !{!36, !14}
!37 = distinct !{!37, !14}
!38 = distinct !{!38, !14}
!39 = distinct !{!39, !14}
!40 = distinct !{!40, !14}
!41 = distinct !{!41, !14}
!42 = distinct !{!42, !14}
!43 = distinct !{!43, !14}
!44 = distinct !{!44, !14}
!45 = distinct !{!45, !14}
!46 = distinct !{!46, !14}
!47 = distinct !{!47, !14}
!48 = distinct !{!48, !14}
!49 = distinct !{!49, !14}
!50 = distinct !{!50, !14}
!51 = distinct !{!51, !14}
!52 = distinct !{!52, !14}
!53 = distinct !{!53, !14}
!54 = distinct !{!54, !14}
!55 = distinct !{!55, !14}
!56 = distinct !{!56, !14}
!57 = distinct !{!57, !14}
!58 = distinct !{!58, !14}
!59 = distinct !{!59, !14}
!60 = distinct !{!60, !14}
!61 = distinct !{!61, !14}
!62 = distinct !{!62, !14}
!63 = distinct !{!63, !14}
!64 = distinct !{!64, !14}
!65 = distinct !{!65, !14}
!66 = distinct !{!66, !14}
!67 = distinct !{!67, !14}
!68 = distinct !{!68, !14}
!69 = distinct !{!69, !14}
!70 = distinct !{!70, !14}
!71 = distinct !{!71, !14}
!72 = distinct !{!72, !14}
!73 = distinct !{!73, !14}
!74 = distinct !{!74, !14}
!75 = distinct !{!75, !14}
!76 = distinct !{!76, !14}
!77 = distinct !{!77, !14}
!78 = distinct !{!78, !14}
!79 = distinct !{!79, !14}


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