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

; 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"

@.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
@c__1 = external hidden global i32, align 4
@.str.7 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4

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

124:                                              ; preds = %25
  store i32 1, ptr %97, align 4
  br label %1733

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

129:                                              ; preds = %125
  store i32 1, ptr %83, align 4, !tbaa !9
  br label %143

130:                                              ; preds = %125
  %131 = load ptr, ptr %26, align 8, !tbaa !5
  %132 = call i32 @lsame_(ptr noundef %131, ptr noundef @.str.1)
  %133 = icmp ne i32 %132, 0
  br i1 %133, label %134, label %135

134:                                              ; preds = %130
  store i32 2, ptr %83, align 4, !tbaa !9
  br label %142

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

139:                                              ; preds = %135
  store i32 3, ptr %83, align 4, !tbaa !9
  br label %141

140:                                              ; preds = %135
  store i32 0, ptr %83, align 4, !tbaa !9
  br label %141

141:                                              ; preds = %140, %139
  br label %142

142:                                              ; preds = %141, %134
  br label %143

143:                                              ; preds = %142, %129
  %144 = load i32, ptr %83, align 4, !tbaa !9
  %145 = icmp sle i32 %144, 0
  br i1 %145, label %146, label %148

146:                                              ; preds = %143
  %147 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -1, ptr %147, align 4, !tbaa !9
  br label %231

148:                                              ; preds = %143
  %149 = load ptr, ptr %27, align 8, !tbaa !5
  %150 = call i32 @lsame_(ptr noundef %149, ptr noundef @.str.3)
  %151 = icmp ne i32 %150, 0
  br i1 %151, label %158, label %152

152:                                              ; preds = %148
  %153 = load ptr, ptr %27, align 8, !tbaa !5
  %154 = call i32 @lsame_(ptr noundef %153, ptr noundef @.str.4)
  %155 = icmp ne i32 %154, 0
  br i1 %155, label %158, label %156

156:                                              ; preds = %152
  %157 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -2, ptr %157, align 4, !tbaa !9
  br label %230

158:                                              ; preds = %152, %148
  %159 = load ptr, ptr %28, align 8, !tbaa !5
  %160 = load i32, ptr %159, align 4, !tbaa !9
  %161 = icmp slt i32 %160, 0
  br i1 %161, label %162, label %164

162:                                              ; preds = %158
  %163 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -3, ptr %163, align 4, !tbaa !9
  br label %229

164:                                              ; preds = %158
  %165 = load i32, ptr %83, align 4, !tbaa !9
  %166 = icmp eq i32 %165, 2
  br i1 %166, label %167, label %176

167:                                              ; preds = %164
  %168 = load ptr, ptr %29, align 8, !tbaa !5
  %169 = load float, ptr %168, align 4, !tbaa !11
  %170 = load ptr, ptr %30, align 8, !tbaa !5
  %171 = load float, ptr %170, align 4, !tbaa !11
  %172 = fcmp oge float %169, %171
  br i1 %172, label %173, label %175

173:                                              ; preds = %167
  %174 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -5, ptr %174, align 4, !tbaa !9
  br label %175

175:                                              ; preds = %173, %167
  br label %228

176:                                              ; preds = %164
  %177 = load i32, ptr %83, align 4, !tbaa !9
  %178 = icmp eq i32 %177, 3
  br i1 %178, label %179, label %198

179:                                              ; preds = %176
  %180 = load ptr, ptr %31, align 8, !tbaa !5
  %181 = load i32, ptr %180, align 4, !tbaa !9
  %182 = icmp slt i32 %181, 1
  br i1 %182, label %196, label %183

183:                                              ; preds = %179
  %184 = load ptr, ptr %31, align 8, !tbaa !5
  %185 = load i32, ptr %184, align 4, !tbaa !9
  %186 = load ptr, ptr %28, align 8, !tbaa !5
  %187 = load i32, ptr %186, align 4, !tbaa !9
  %188 = icmp sge i32 1, %187
  br i1 %188, label %189, label %190

189:                                              ; preds = %183
  br label %193

190:                                              ; preds = %183
  %191 = load ptr, ptr %28, align 8, !tbaa !5
  %192 = load i32, ptr %191, align 4, !tbaa !9
  br label %193

193:                                              ; preds = %190, %189
  %194 = phi i32 [ 1, %189 ], [ %192, %190 ]
  %195 = icmp sgt i32 %185, %194
  br i1 %195, label %196, label %198

196:                                              ; preds = %193, %179
  %197 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -6, ptr %197, align 4, !tbaa !9
  br label %227

198:                                              ; preds = %193, %176
  %199 = load i32, ptr %83, align 4, !tbaa !9
  %200 = icmp eq i32 %199, 3
  br i1 %200, label %201, label %226

201:                                              ; preds = %198
  %202 = load ptr, ptr %32, align 8, !tbaa !5
  %203 = load i32, ptr %202, align 4, !tbaa !9
  %204 = load ptr, ptr %28, align 8, !tbaa !5
  %205 = load i32, ptr %204, align 4, !tbaa !9
  %206 = load ptr, ptr %31, align 8, !tbaa !5
  %207 = load i32, ptr %206, align 4, !tbaa !9
  %208 = icmp sle i32 %205, %207
  br i1 %208, label %209, label %212

209:                                              ; preds = %201
  %210 = load ptr, ptr %28, align 8, !tbaa !5
  %211 = load i32, ptr %210, align 4, !tbaa !9
  br label %215

212:                                              ; preds = %201
  %213 = load ptr, ptr %31, align 8, !tbaa !5
  %214 = load i32, ptr %213, align 4, !tbaa !9
  br label %215

215:                                              ; preds = %212, %209
  %216 = phi i32 [ %211, %209 ], [ %214, %212 ]
  %217 = icmp slt i32 %203, %216
  br i1 %217, label %224, label %218

218:                                              ; preds = %215
  %219 = load ptr, ptr %32, align 8, !tbaa !5
  %220 = load i32, ptr %219, align 4, !tbaa !9
  %221 = load ptr, ptr %28, align 8, !tbaa !5
  %222 = load i32, ptr %221, align 4, !tbaa !9
  %223 = icmp sgt i32 %220, %222
  br i1 %223, label %224, label %226

224:                                              ; preds = %218, %215
  %225 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -7, ptr %225, align 4, !tbaa !9
  br label %226

226:                                              ; preds = %224, %218, %198
  br label %227

227:                                              ; preds = %226, %196
  br label %228

228:                                              ; preds = %227, %175
  br label %229

229:                                              ; preds = %228, %162
  br label %230

230:                                              ; preds = %229, %156
  br label %231

231:                                              ; preds = %230, %146
  %232 = load ptr, ptr %50, align 8, !tbaa !5
  %233 = load i32, ptr %232, align 4, !tbaa !9
  %234 = icmp ne i32 %233, 0
  br i1 %234, label %235, label %236

235:                                              ; preds = %231
  store i32 1, ptr %97, align 4
  br label %1733

236:                                              ; preds = %231
  %237 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 0, ptr %237, align 4, !tbaa !9
  store i32 0, ptr %87, align 4, !tbaa !9
  store i32 0, ptr %88, align 4, !tbaa !9
  %238 = load ptr, ptr %41, align 8, !tbaa !5
  store i32 0, ptr %238, align 4, !tbaa !9
  %239 = load ptr, ptr %28, align 8, !tbaa !5
  %240 = load i32, ptr %239, align 4, !tbaa !9
  %241 = icmp eq i32 %240, 0
  br i1 %241, label %242, label %243

242:                                              ; preds = %236
  store i32 1, ptr %97, align 4
  br label %1733

243:                                              ; preds = %236
  %244 = load i32, ptr %83, align 4, !tbaa !9
  %245 = icmp eq i32 %244, 3
  br i1 %245, label %246, label %257

246:                                              ; preds = %243
  %247 = load ptr, ptr %31, align 8, !tbaa !5
  %248 = load i32, ptr %247, align 4, !tbaa !9
  %249 = icmp eq i32 %248, 1
  br i1 %249, label %250, label %257

250:                                              ; preds = %246
  %251 = load ptr, ptr %32, align 8, !tbaa !5
  %252 = load i32, ptr %251, align 4, !tbaa !9
  %253 = load ptr, ptr %28, align 8, !tbaa !5
  %254 = load i32, ptr %253, align 4, !tbaa !9
  %255 = icmp eq i32 %252, %254
  br i1 %255, label %256, label %257

256:                                              ; preds = %250
  store i32 1, ptr %83, align 4, !tbaa !9
  br label %257

257:                                              ; preds = %256, %250, %246, %243
  %258 = call float @slamch_(ptr noundef @.str.5)
  store float %258, ptr %90, align 4, !tbaa !11
  %259 = call float @slamch_(ptr noundef @.str.6)
  store float %259, ptr %71, align 4, !tbaa !11
  %260 = load ptr, ptr %28, align 8, !tbaa !5
  %261 = load i32, ptr %260, align 4, !tbaa !9
  %262 = icmp eq i32 %261, 1
  br i1 %262, label %263, label %308

263:                                              ; preds = %257
  %264 = load i32, ptr %83, align 4, !tbaa !9
  %265 = icmp eq i32 %264, 1
  br i1 %265, label %294, label %266

266:                                              ; preds = %263
  %267 = load i32, ptr %83, align 4, !tbaa !9
  %268 = icmp eq i32 %267, 2
  br i1 %268, label %269, label %283

269:                                              ; preds = %266
  %270 = load ptr, ptr %35, align 8, !tbaa !5
  %271 = getelementptr inbounds float, ptr %270, i64 1
  %272 = load float, ptr %271, align 4, !tbaa !11
  %273 = load ptr, ptr %29, align 8, !tbaa !5
  %274 = load float, ptr %273, align 4, !tbaa !11
  %275 = fcmp ogt float %272, %274
  br i1 %275, label %276, label %283

276:                                              ; preds = %269
  %277 = load ptr, ptr %35, align 8, !tbaa !5
  %278 = getelementptr inbounds float, ptr %277, i64 1
  %279 = load float, ptr %278, align 4, !tbaa !11
  %280 = load ptr, ptr %30, align 8, !tbaa !5
  %281 = load float, ptr %280, align 4, !tbaa !11
  %282 = fcmp ole float %279, %281
  br i1 %282, label %294, label %283

283:                                              ; preds = %276, %269, %266
  %284 = load i32, ptr %83, align 4, !tbaa !9
  %285 = icmp eq i32 %284, 3
  br i1 %285, label %286, label %307

286:                                              ; preds = %283
  %287 = load ptr, ptr %31, align 8, !tbaa !5
  %288 = load i32, ptr %287, align 4, !tbaa !9
  %289 = icmp eq i32 %288, 1
  br i1 %289, label %290, label %307

290:                                              ; preds = %286
  %291 = load ptr, ptr %32, align 8, !tbaa !5
  %292 = load i32, ptr %291, align 4, !tbaa !9
  %293 = icmp eq i32 %292, 1
  br i1 %293, label %294, label %307

294:                                              ; preds = %290, %276, %263
  %295 = load ptr, ptr %41, align 8, !tbaa !5
  store i32 1, ptr %295, align 4, !tbaa !9
  %296 = load ptr, ptr %35, align 8, !tbaa !5
  %297 = getelementptr inbounds float, ptr %296, i64 1
  %298 = load float, ptr %297, align 4, !tbaa !11
  %299 = load ptr, ptr %42, align 8, !tbaa !5
  %300 = getelementptr inbounds float, ptr %299, i64 1
  store float %298, ptr %300, align 4, !tbaa !11
  %301 = load ptr, ptr %43, align 8, !tbaa !5
  %302 = getelementptr inbounds float, ptr %301, i64 1
  store float 0.000000e+00, ptr %302, align 4, !tbaa !11
  %303 = load ptr, ptr %46, align 8, !tbaa !5
  %304 = getelementptr inbounds i32, ptr %303, i64 1
  store i32 1, ptr %304, align 4, !tbaa !9
  %305 = load ptr, ptr %47, align 8, !tbaa !5
  %306 = getelementptr inbounds i32, ptr %305, i64 1
  store i32 1, ptr %306, align 4, !tbaa !9
  br label %307

307:                                              ; preds = %294, %290, %286, %283
  store i32 1, ptr %97, align 4
  br label %1733

308:                                              ; preds = %257
  %309 = load ptr, ptr %28, align 8, !tbaa !5
  %310 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.7, ptr noundef @.str.8, ptr noundef %309, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %310, ptr %76, align 4, !tbaa !9
  %311 = load i32, ptr %76, align 4, !tbaa !9
  %312 = icmp sle i32 %311, 1
  br i1 %312, label %313, label %314

313:                                              ; preds = %308
  store i32 0, ptr %76, align 4, !tbaa !9
  br label %314

314:                                              ; preds = %313, %308
  %315 = load ptr, ptr %35, align 8, !tbaa !5
  %316 = getelementptr inbounds float, ptr %315, i64 1
  %317 = load float, ptr %316, align 4, !tbaa !11
  store float %317, ptr %77, align 4, !tbaa !11
  %318 = load ptr, ptr %35, align 8, !tbaa !5
  %319 = getelementptr inbounds float, ptr %318, i64 1
  %320 = load float, ptr %319, align 4, !tbaa !11
  store float %320, ptr %80, align 4, !tbaa !11
  %321 = load ptr, ptr %28, align 8, !tbaa !5
  %322 = load i32, ptr %321, align 4, !tbaa !9
  store i32 %322, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %323

323:                                              ; preds = %361, %314
  %324 = load i32, ptr %62, align 4, !tbaa !9
  %325 = load i32, ptr %51, align 4, !tbaa !9
  %326 = icmp sle i32 %324, %325
  br i1 %326, label %327, label %364

327:                                              ; preds = %323
  %328 = load float, ptr %77, align 4, !tbaa !11
  store float %328, ptr %54, align 4, !tbaa !11
  %329 = load ptr, ptr %33, align 8, !tbaa !5
  %330 = load i32, ptr %62, align 4, !tbaa !9
  %331 = shl i32 %330, 1
  %332 = sub nsw i32 %331, 1
  %333 = sext i32 %332 to i64
  %334 = getelementptr inbounds float, ptr %329, i64 %333
  %335 = load float, ptr %334, align 4, !tbaa !11
  store float %335, ptr %55, align 4, !tbaa !11
  %336 = load float, ptr %54, align 4, !tbaa !11
  %337 = load float, ptr %55, align 4, !tbaa !11
  %338 = fcmp ole float %336, %337
  br i1 %338, label %339, label %341

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

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

343:                                              ; preds = %341, %339
  %344 = phi float [ %340, %339 ], [ %342, %341 ]
  store float %344, ptr %77, align 4, !tbaa !11
  %345 = load float, ptr %80, align 4, !tbaa !11
  store float %345, ptr %54, align 4, !tbaa !11
  %346 = load ptr, ptr %33, align 8, !tbaa !5
  %347 = load i32, ptr %62, align 4, !tbaa !9
  %348 = mul nsw i32 %347, 2
  %349 = sext i32 %348 to i64
  %350 = getelementptr inbounds float, ptr %346, i64 %349
  %351 = load float, ptr %350, align 4, !tbaa !11
  store float %351, ptr %55, align 4, !tbaa !11
  %352 = load float, ptr %54, align 4, !tbaa !11
  %353 = load float, ptr %55, align 4, !tbaa !11
  %354 = fcmp oge float %352, %353
  br i1 %354, label %355, label %357

355:                                              ; preds = %343
  %356 = load float, ptr %54, align 4, !tbaa !11
  br label %359

357:                                              ; preds = %343
  %358 = load float, ptr %55, align 4, !tbaa !11
  br label %359

359:                                              ; preds = %357, %355
  %360 = phi float [ %356, %355 ], [ %358, %357 ]
  store float %360, ptr %80, align 4, !tbaa !11
  br label %361

361:                                              ; preds = %359
  %362 = load i32, ptr %62, align 4, !tbaa !9
  %363 = add nsw i32 %362, 1
  store i32 %363, ptr %62, align 4, !tbaa !9
  br label %323, !llvm.loop !13

364:                                              ; preds = %323
  %365 = load float, ptr %77, align 4, !tbaa !11
  %366 = fcmp oge float %365, 0.000000e+00
  br i1 %366, label %367, label %369

367:                                              ; preds = %364
  %368 = load float, ptr %77, align 4, !tbaa !11
  br label %372

369:                                              ; preds = %364
  %370 = load float, ptr %77, align 4, !tbaa !11
  %371 = fneg float %370
  br label %372

372:                                              ; preds = %369, %367
  %373 = phi float [ %368, %367 ], [ %371, %369 ]
  store float %373, ptr %54, align 4, !tbaa !11
  %374 = load float, ptr %80, align 4, !tbaa !11
  %375 = fcmp oge float %374, 0.000000e+00
  br i1 %375, label %376, label %378

376:                                              ; preds = %372
  %377 = load float, ptr %80, align 4, !tbaa !11
  br label %381

378:                                              ; preds = %372
  %379 = load float, ptr %80, align 4, !tbaa !11
  %380 = fneg float %379
  br label %381

381:                                              ; preds = %378, %376
  %382 = phi float [ %377, %376 ], [ %380, %378 ]
  store float %382, ptr %55, align 4, !tbaa !11
  %383 = load float, ptr %54, align 4, !tbaa !11
  %384 = load float, ptr %55, align 4, !tbaa !11
  %385 = fcmp oge float %383, %384
  br i1 %385, label %386, label %388

386:                                              ; preds = %381
  %387 = load float, ptr %54, align 4, !tbaa !11
  br label %390

388:                                              ; preds = %381
  %389 = load float, ptr %55, align 4, !tbaa !11
  br label %390

390:                                              ; preds = %388, %386
  %391 = phi float [ %387, %386 ], [ %389, %388 ]
  store float %391, ptr %72, align 4, !tbaa !11
  %392 = load float, ptr %77, align 4, !tbaa !11
  %393 = load float, ptr %72, align 4, !tbaa !11
  %394 = fmul float %393, 2.000000e+00
  %395 = load float, ptr %90, align 4, !tbaa !11
  %396 = fmul float %394, %395
  %397 = load ptr, ptr %28, align 8, !tbaa !5
  %398 = load i32, ptr %397, align 4, !tbaa !9
  %399 = sitofp i32 %398 to float
  %400 = fneg float %396
  %401 = call float @llvm.fmuladd.f32(float %400, float %399, float %392)
  %402 = load ptr, ptr %38, align 8, !tbaa !5
  %403 = load float, ptr %402, align 4, !tbaa !11
  %404 = fneg float %403
  %405 = call float @llvm.fmuladd.f32(float %404, float 4.000000e+00, float %401)
  store float %405, ptr %77, align 4, !tbaa !11
  %406 = load float, ptr %80, align 4, !tbaa !11
  %407 = load float, ptr %72, align 4, !tbaa !11
  %408 = fmul float %407, 2.000000e+00
  %409 = load float, ptr %90, align 4, !tbaa !11
  %410 = fmul float %408, %409
  %411 = load ptr, ptr %28, align 8, !tbaa !5
  %412 = load i32, ptr %411, align 4, !tbaa !9
  %413 = sitofp i32 %412 to float
  %414 = call float @llvm.fmuladd.f32(float %410, float %413, float %406)
  %415 = load ptr, ptr %38, align 8, !tbaa !5
  %416 = load float, ptr %415, align 4, !tbaa !11
  %417 = call float @llvm.fmuladd.f32(float %416, float 4.000000e+00, float %414)
  store float %417, ptr %80, align 4, !tbaa !11
  %418 = load ptr, ptr %34, align 8, !tbaa !5
  %419 = load float, ptr %418, align 4, !tbaa !11
  store float %419, ptr %70, align 4, !tbaa !11
  %420 = load float, ptr %71, align 4, !tbaa !11
  %421 = load ptr, ptr %38, align 8, !tbaa !5
  %422 = load float, ptr %421, align 4, !tbaa !11
  %423 = fmul float %422, 4.000000e+00
  %424 = call float @llvm.fmuladd.f32(float %420, float 4.000000e+00, float %423)
  store float %424, ptr %66, align 4, !tbaa !11
  %425 = load i32, ptr %83, align 4, !tbaa !9
  %426 = icmp eq i32 %425, 3
  br i1 %426, label %427, label %641

427:                                              ; preds = %390
  %428 = load float, ptr %72, align 4, !tbaa !11
  %429 = load ptr, ptr %38, align 8, !tbaa !5
  %430 = load float, ptr %429, align 4, !tbaa !11
  %431 = fadd float %428, %430
  %432 = fpext float %431 to double
  %433 = call double @log(double noundef %432) #5
  %434 = load ptr, ptr %38, align 8, !tbaa !5
  %435 = load float, ptr %434, align 4, !tbaa !11
  %436 = fpext float %435 to double
  %437 = call double @log(double noundef %436) #5
  %438 = fsub double %433, %437
  %439 = call double @log(double noundef 2.000000e+00) #5
  %440 = fdiv double %438, %439
  %441 = fptosi double %440 to i32
  %442 = add nsw i32 %441, 2
  store i32 %442, ptr %68, align 4, !tbaa !9
  %443 = load float, ptr %77, align 4, !tbaa !11
  %444 = load ptr, ptr %48, align 8, !tbaa !5
  %445 = load ptr, ptr %28, align 8, !tbaa !5
  %446 = load i32, ptr %445, align 4, !tbaa !9
  %447 = add nsw i32 %446, 1
  %448 = sext i32 %447 to i64
  %449 = getelementptr inbounds float, ptr %444, i64 %448
  store float %443, ptr %449, align 4, !tbaa !11
  %450 = load float, ptr %77, align 4, !tbaa !11
  %451 = load ptr, ptr %48, align 8, !tbaa !5
  %452 = load ptr, ptr %28, align 8, !tbaa !5
  %453 = load i32, ptr %452, align 4, !tbaa !9
  %454 = add nsw i32 %453, 2
  %455 = sext i32 %454 to i64
  %456 = getelementptr inbounds float, ptr %451, i64 %455
  store float %450, ptr %456, align 4, !tbaa !11
  %457 = load float, ptr %80, align 4, !tbaa !11
  %458 = load ptr, ptr %48, align 8, !tbaa !5
  %459 = load ptr, ptr %28, align 8, !tbaa !5
  %460 = load i32, ptr %459, align 4, !tbaa !9
  %461 = add nsw i32 %460, 3
  %462 = sext i32 %461 to i64
  %463 = getelementptr inbounds float, ptr %458, i64 %462
  store float %457, ptr %463, align 4, !tbaa !11
  %464 = load float, ptr %80, align 4, !tbaa !11
  %465 = load ptr, ptr %48, align 8, !tbaa !5
  %466 = load ptr, ptr %28, align 8, !tbaa !5
  %467 = load i32, ptr %466, align 4, !tbaa !9
  %468 = add nsw i32 %467, 4
  %469 = sext i32 %468 to i64
  %470 = getelementptr inbounds float, ptr %465, i64 %469
  store float %464, ptr %470, align 4, !tbaa !11
  %471 = load float, ptr %77, align 4, !tbaa !11
  %472 = load ptr, ptr %48, align 8, !tbaa !5
  %473 = load ptr, ptr %28, align 8, !tbaa !5
  %474 = load i32, ptr %473, align 4, !tbaa !9
  %475 = add nsw i32 %474, 5
  %476 = sext i32 %475 to i64
  %477 = getelementptr inbounds float, ptr %472, i64 %476
  store float %471, ptr %477, align 4, !tbaa !11
  %478 = load float, ptr %80, align 4, !tbaa !11
  %479 = load ptr, ptr %48, align 8, !tbaa !5
  %480 = load ptr, ptr %28, align 8, !tbaa !5
  %481 = load i32, ptr %480, align 4, !tbaa !9
  %482 = add nsw i32 %481, 6
  %483 = sext i32 %482 to i64
  %484 = getelementptr inbounds float, ptr %479, i64 %483
  store float %478, ptr %484, align 4, !tbaa !11
  %485 = load ptr, ptr %49, align 8, !tbaa !5
  %486 = getelementptr inbounds i32, ptr %485, i64 1
  store i32 -1, ptr %486, align 4, !tbaa !9
  %487 = load ptr, ptr %49, align 8, !tbaa !5
  %488 = getelementptr inbounds i32, ptr %487, i64 2
  store i32 -1, ptr %488, align 4, !tbaa !9
  %489 = load ptr, ptr %28, align 8, !tbaa !5
  %490 = load i32, ptr %489, align 4, !tbaa !9
  %491 = add nsw i32 %490, 1
  %492 = load ptr, ptr %49, align 8, !tbaa !5
  %493 = getelementptr inbounds i32, ptr %492, i64 3
  store i32 %491, ptr %493, align 4, !tbaa !9
  %494 = load ptr, ptr %28, align 8, !tbaa !5
  %495 = load i32, ptr %494, align 4, !tbaa !9
  %496 = add nsw i32 %495, 1
  %497 = load ptr, ptr %49, align 8, !tbaa !5
  %498 = getelementptr inbounds i32, ptr %497, i64 4
  store i32 %496, ptr %498, align 4, !tbaa !9
  %499 = load ptr, ptr %31, align 8, !tbaa !5
  %500 = load i32, ptr %499, align 4, !tbaa !9
  %501 = sub nsw i32 %500, 1
  %502 = load ptr, ptr %49, align 8, !tbaa !5
  %503 = getelementptr inbounds i32, ptr %502, i64 5
  store i32 %501, ptr %503, align 4, !tbaa !9
  %504 = load ptr, ptr %32, align 8, !tbaa !5
  %505 = load i32, ptr %504, align 4, !tbaa !9
  %506 = load ptr, ptr %49, align 8, !tbaa !5
  %507 = getelementptr inbounds i32, ptr %506, i64 6
  store i32 %505, ptr %507, align 4, !tbaa !9
  %508 = load ptr, ptr %28, align 8, !tbaa !5
  %509 = load ptr, ptr %38, align 8, !tbaa !5
  %510 = load ptr, ptr %35, align 8, !tbaa !5
  %511 = getelementptr inbounds float, ptr %510, i64 1
  %512 = load ptr, ptr %36, align 8, !tbaa !5
  %513 = getelementptr inbounds float, ptr %512, i64 1
  %514 = load ptr, ptr %37, align 8, !tbaa !5
  %515 = getelementptr inbounds float, ptr %514, i64 1
  %516 = load ptr, ptr %49, align 8, !tbaa !5
  %517 = getelementptr inbounds i32, ptr %516, i64 5
  %518 = load ptr, ptr %48, align 8, !tbaa !5
  %519 = load ptr, ptr %28, align 8, !tbaa !5
  %520 = load i32, ptr %519, align 4, !tbaa !9
  %521 = add nsw i32 %520, 1
  %522 = sext i32 %521 to i64
  %523 = getelementptr inbounds float, ptr %518, i64 %522
  %524 = load ptr, ptr %48, align 8, !tbaa !5
  %525 = load ptr, ptr %28, align 8, !tbaa !5
  %526 = load i32, ptr %525, align 4, !tbaa !9
  %527 = add nsw i32 %526, 5
  %528 = sext i32 %527 to i64
  %529 = getelementptr inbounds float, ptr %524, i64 %528
  %530 = load ptr, ptr %49, align 8, !tbaa !5
  %531 = getelementptr inbounds i32, ptr %530, i64 1
  %532 = load ptr, ptr %42, align 8, !tbaa !5
  %533 = getelementptr inbounds float, ptr %532, i64 1
  %534 = load ptr, ptr %46, align 8, !tbaa !5
  %535 = getelementptr inbounds i32, ptr %534, i64 1
  call void @slaebz_(ptr noundef @c__3, ptr noundef %68, ptr noundef %508, ptr noundef @c__2, ptr noundef @c__2, ptr noundef %76, ptr noundef %66, ptr noundef %70, ptr noundef %509, ptr noundef %511, ptr noundef %513, ptr noundef %515, ptr noundef %517, ptr noundef %523, ptr noundef %529, ptr noundef %59, ptr noundef %531, ptr noundef %533, ptr noundef %535, ptr noundef %65)
  %536 = load i32, ptr %65, align 4, !tbaa !9
  %537 = icmp ne i32 %536, 0
  br i1 %537, label %538, label %541

538:                                              ; preds = %427
  %539 = load i32, ptr %65, align 4, !tbaa !9
  %540 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 %539, ptr %540, align 4, !tbaa !9
  store i32 1, ptr %97, align 4
  br label %1733

541:                                              ; preds = %427
  %542 = load ptr, ptr %49, align 8, !tbaa !5
  %543 = getelementptr inbounds i32, ptr %542, i64 6
  %544 = load i32, ptr %543, align 4, !tbaa !9
  %545 = load ptr, ptr %32, align 8, !tbaa !5
  %546 = load i32, ptr %545, align 4, !tbaa !9
  %547 = icmp eq i32 %544, %546
  br i1 %547, label %548, label %585

548:                                              ; preds = %541
  %549 = load ptr, ptr %48, align 8, !tbaa !5
  %550 = load ptr, ptr %28, align 8, !tbaa !5
  %551 = load i32, ptr %550, align 4, !tbaa !9
  %552 = add nsw i32 %551, 1
  %553 = sext i32 %552 to i64
  %554 = getelementptr inbounds float, ptr %549, i64 %553
  %555 = load float, ptr %554, align 4, !tbaa !11
  %556 = load ptr, ptr %44, align 8, !tbaa !5
  store float %555, ptr %556, align 4, !tbaa !11
  %557 = load ptr, ptr %48, align 8, !tbaa !5
  %558 = load ptr, ptr %28, align 8, !tbaa !5
  %559 = load i32, ptr %558, align 4, !tbaa !9
  %560 = add nsw i32 %559, 3
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds float, ptr %557, i64 %561
  %563 = load float, ptr %562, align 4, !tbaa !11
  store float %563, ptr %92, align 4, !tbaa !11
  %564 = load ptr, ptr %49, align 8, !tbaa !5
  %565 = getelementptr inbounds i32, ptr %564, i64 1
  %566 = load i32, ptr %565, align 4, !tbaa !9
  store i32 %566, ptr %91, align 4, !tbaa !9
  %567 = load ptr, ptr %48, align 8, !tbaa !5
  %568 = load ptr, ptr %28, align 8, !tbaa !5
  %569 = load i32, ptr %568, align 4, !tbaa !9
  %570 = add nsw i32 %569, 4
  %571 = sext i32 %570 to i64
  %572 = getelementptr inbounds float, ptr %567, i64 %571
  %573 = load float, ptr %572, align 4, !tbaa !11
  %574 = load ptr, ptr %45, align 8, !tbaa !5
  store float %573, ptr %574, align 4, !tbaa !11
  %575 = load ptr, ptr %48, align 8, !tbaa !5
  %576 = load ptr, ptr %28, align 8, !tbaa !5
  %577 = load i32, ptr %576, align 4, !tbaa !9
  %578 = add nsw i32 %577, 2
  %579 = sext i32 %578 to i64
  %580 = getelementptr inbounds float, ptr %575, i64 %579
  %581 = load float, ptr %580, align 4, !tbaa !11
  store float %581, ptr %93, align 4, !tbaa !11
  %582 = load ptr, ptr %49, align 8, !tbaa !5
  %583 = getelementptr inbounds i32, ptr %582, i64 4
  %584 = load i32, ptr %583, align 4, !tbaa !9
  store i32 %584, ptr %94, align 4, !tbaa !9
  br label %622

585:                                              ; preds = %541
  %586 = load ptr, ptr %48, align 8, !tbaa !5
  %587 = load ptr, ptr %28, align 8, !tbaa !5
  %588 = load i32, ptr %587, align 4, !tbaa !9
  %589 = add nsw i32 %588, 2
  %590 = sext i32 %589 to i64
  %591 = getelementptr inbounds float, ptr %586, i64 %590
  %592 = load float, ptr %591, align 4, !tbaa !11
  %593 = load ptr, ptr %44, align 8, !tbaa !5
  store float %592, ptr %593, align 4, !tbaa !11
  %594 = load ptr, ptr %48, align 8, !tbaa !5
  %595 = load ptr, ptr %28, align 8, !tbaa !5
  %596 = load i32, ptr %595, align 4, !tbaa !9
  %597 = add nsw i32 %596, 4
  %598 = sext i32 %597 to i64
  %599 = getelementptr inbounds float, ptr %594, i64 %598
  %600 = load float, ptr %599, align 4, !tbaa !11
  store float %600, ptr %92, align 4, !tbaa !11
  %601 = load ptr, ptr %49, align 8, !tbaa !5
  %602 = getelementptr inbounds i32, ptr %601, i64 2
  %603 = load i32, ptr %602, align 4, !tbaa !9
  store i32 %603, ptr %91, align 4, !tbaa !9
  %604 = load ptr, ptr %48, align 8, !tbaa !5
  %605 = load ptr, ptr %28, align 8, !tbaa !5
  %606 = load i32, ptr %605, align 4, !tbaa !9
  %607 = add nsw i32 %606, 3
  %608 = sext i32 %607 to i64
  %609 = getelementptr inbounds float, ptr %604, i64 %608
  %610 = load float, ptr %609, align 4, !tbaa !11
  %611 = load ptr, ptr %45, align 8, !tbaa !5
  store float %610, ptr %611, align 4, !tbaa !11
  %612 = load ptr, ptr %48, align 8, !tbaa !5
  %613 = load ptr, ptr %28, align 8, !tbaa !5
  %614 = load i32, ptr %613, align 4, !tbaa !9
  %615 = add nsw i32 %614, 1
  %616 = sext i32 %615 to i64
  %617 = getelementptr inbounds float, ptr %612, i64 %616
  %618 = load float, ptr %617, align 4, !tbaa !11
  store float %618, ptr %93, align 4, !tbaa !11
  %619 = load ptr, ptr %49, align 8, !tbaa !5
  %620 = getelementptr inbounds i32, ptr %619, i64 3
  %621 = load i32, ptr %620, align 4, !tbaa !9
  store i32 %621, ptr %94, align 4, !tbaa !9
  br label %622

622:                                              ; preds = %585, %548
  %623 = load i32, ptr %91, align 4, !tbaa !9
  %624 = icmp slt i32 %623, 0
  br i1 %624, label %638, label %625

625:                                              ; preds = %622
  %626 = load i32, ptr %91, align 4, !tbaa !9
  %627 = load ptr, ptr %28, align 8, !tbaa !5
  %628 = load i32, ptr %627, align 4, !tbaa !9
  %629 = icmp sge i32 %626, %628
  br i1 %629, label %638, label %630

630:                                              ; preds = %625
  %631 = load i32, ptr %94, align 4, !tbaa !9
  %632 = icmp slt i32 %631, 1
  br i1 %632, label %638, label %633

633:                                              ; preds = %630
  %634 = load i32, ptr %94, align 4, !tbaa !9
  %635 = load ptr, ptr %28, align 8, !tbaa !5
  %636 = load i32, ptr %635, align 4, !tbaa !9
  %637 = icmp sgt i32 %634, %636
  br i1 %637, label %638, label %640

638:                                              ; preds = %633, %630, %625, %622
  %639 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 4, ptr %639, align 4, !tbaa !9
  store i32 1, ptr %97, align 4
  br label %1733

640:                                              ; preds = %633
  br label %661

641:                                              ; preds = %390
  %642 = load i32, ptr %83, align 4, !tbaa !9
  %643 = icmp eq i32 %642, 2
  br i1 %643, label %644, label %651

644:                                              ; preds = %641
  %645 = load ptr, ptr %29, align 8, !tbaa !5
  %646 = load float, ptr %645, align 4, !tbaa !11
  %647 = load ptr, ptr %44, align 8, !tbaa !5
  store float %646, ptr %647, align 4, !tbaa !11
  %648 = load ptr, ptr %30, align 8, !tbaa !5
  %649 = load float, ptr %648, align 4, !tbaa !11
  %650 = load ptr, ptr %45, align 8, !tbaa !5
  store float %649, ptr %650, align 4, !tbaa !11
  br label %660

651:                                              ; preds = %641
  %652 = load i32, ptr %83, align 4, !tbaa !9
  %653 = icmp eq i32 %652, 1
  br i1 %653, label %654, label %659

654:                                              ; preds = %651
  %655 = load float, ptr %77, align 4, !tbaa !11
  %656 = load ptr, ptr %44, align 8, !tbaa !5
  store float %655, ptr %656, align 4, !tbaa !11
  %657 = load float, ptr %80, align 4, !tbaa !11
  %658 = load ptr, ptr %45, align 8, !tbaa !5
  store float %657, ptr %658, align 4, !tbaa !11
  br label %659

659:                                              ; preds = %654, %651
  br label %660

660:                                              ; preds = %659, %644
  br label %661

661:                                              ; preds = %660, %640
  %662 = load ptr, ptr %41, align 8, !tbaa !5
  store i32 0, ptr %662, align 4, !tbaa !9
  store i32 0, ptr %56, align 4, !tbaa !9
  %663 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 0, ptr %663, align 4, !tbaa !9
  store i32 0, ptr %91, align 4, !tbaa !9
  store i32 0, ptr %94, align 4, !tbaa !9
  %664 = load ptr, ptr %39, align 8, !tbaa !5
  %665 = load i32, ptr %664, align 4, !tbaa !9
  store i32 %665, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %57, align 4, !tbaa !9
  br label %666

666:                                              ; preds = %1168, %661
  %667 = load i32, ptr %57, align 4, !tbaa !9
  %668 = load i32, ptr %51, align 4, !tbaa !9
  %669 = icmp sle i32 %667, %668
  br i1 %669, label %670, label %1171

670:                                              ; preds = %666
  %671 = load i32, ptr %56, align 4, !tbaa !9
  store i32 %671, ptr %58, align 4, !tbaa !9
  %672 = load i32, ptr %58, align 4, !tbaa !9
  %673 = add nsw i32 %672, 1
  store i32 %673, ptr %81, align 4, !tbaa !9
  %674 = load ptr, ptr %40, align 8, !tbaa !5
  %675 = load i32, ptr %57, align 4, !tbaa !9
  %676 = sext i32 %675 to i64
  %677 = getelementptr inbounds i32, ptr %674, i64 %676
  %678 = load i32, ptr %677, align 4, !tbaa !9
  store i32 %678, ptr %56, align 4, !tbaa !9
  %679 = load i32, ptr %56, align 4, !tbaa !9
  %680 = load i32, ptr %58, align 4, !tbaa !9
  %681 = sub nsw i32 %679, %680
  store i32 %681, ptr %79, align 4, !tbaa !9
  %682 = load i32, ptr %79, align 4, !tbaa !9
  %683 = icmp eq i32 %682, 1
  br i1 %683, label %684, label %772

684:                                              ; preds = %670
  %685 = load ptr, ptr %44, align 8, !tbaa !5
  %686 = load float, ptr %685, align 4, !tbaa !11
  %687 = load ptr, ptr %35, align 8, !tbaa !5
  %688 = load i32, ptr %81, align 4, !tbaa !9
  %689 = sext i32 %688 to i64
  %690 = getelementptr inbounds float, ptr %687, i64 %689
  %691 = load float, ptr %690, align 4, !tbaa !11
  %692 = load ptr, ptr %38, align 8, !tbaa !5
  %693 = load float, ptr %692, align 4, !tbaa !11
  %694 = fsub float %691, %693
  %695 = fcmp oge float %686, %694
  br i1 %695, label %696, label %699

696:                                              ; preds = %684
  %697 = load i32, ptr %91, align 4, !tbaa !9
  %698 = add nsw i32 %697, 1
  store i32 %698, ptr %91, align 4, !tbaa !9
  br label %699

699:                                              ; preds = %696, %684
  %700 = load ptr, ptr %45, align 8, !tbaa !5
  %701 = load float, ptr %700, align 4, !tbaa !11
  %702 = load ptr, ptr %35, align 8, !tbaa !5
  %703 = load i32, ptr %81, align 4, !tbaa !9
  %704 = sext i32 %703 to i64
  %705 = getelementptr inbounds float, ptr %702, i64 %704
  %706 = load float, ptr %705, align 4, !tbaa !11
  %707 = load ptr, ptr %38, align 8, !tbaa !5
  %708 = load float, ptr %707, align 4, !tbaa !11
  %709 = fsub float %706, %708
  %710 = fcmp oge float %701, %709
  br i1 %710, label %711, label %714

711:                                              ; preds = %699
  %712 = load i32, ptr %94, align 4, !tbaa !9
  %713 = add nsw i32 %712, 1
  store i32 %713, ptr %94, align 4, !tbaa !9
  br label %714

714:                                              ; preds = %711, %699
  %715 = load i32, ptr %83, align 4, !tbaa !9
  %716 = icmp eq i32 %715, 1
  br i1 %716, label %741, label %717

717:                                              ; preds = %714
  %718 = load ptr, ptr %44, align 8, !tbaa !5
  %719 = load float, ptr %718, align 4, !tbaa !11
  %720 = load ptr, ptr %35, align 8, !tbaa !5
  %721 = load i32, ptr %81, align 4, !tbaa !9
  %722 = sext i32 %721 to i64
  %723 = getelementptr inbounds float, ptr %720, i64 %722
  %724 = load float, ptr %723, align 4, !tbaa !11
  %725 = load ptr, ptr %38, align 8, !tbaa !5
  %726 = load float, ptr %725, align 4, !tbaa !11
  %727 = fsub float %724, %726
  %728 = fcmp olt float %719, %727
  br i1 %728, label %729, label %771

729:                                              ; preds = %717
  %730 = load ptr, ptr %45, align 8, !tbaa !5
  %731 = load float, ptr %730, align 4, !tbaa !11
  %732 = load ptr, ptr %35, align 8, !tbaa !5
  %733 = load i32, ptr %81, align 4, !tbaa !9
  %734 = sext i32 %733 to i64
  %735 = getelementptr inbounds float, ptr %732, i64 %734
  %736 = load float, ptr %735, align 4, !tbaa !11
  %737 = load ptr, ptr %38, align 8, !tbaa !5
  %738 = load float, ptr %737, align 4, !tbaa !11
  %739 = fsub float %736, %738
  %740 = fcmp oge float %731, %739
  br i1 %740, label %741, label %771

741:                                              ; preds = %729, %714
  %742 = load ptr, ptr %41, align 8, !tbaa !5
  %743 = load i32, ptr %742, align 4, !tbaa !9
  %744 = add nsw i32 %743, 1
  store i32 %744, ptr %742, align 4, !tbaa !9
  %745 = load ptr, ptr %35, align 8, !tbaa !5
  %746 = load i32, ptr %81, align 4, !tbaa !9
  %747 = sext i32 %746 to i64
  %748 = getelementptr inbounds float, ptr %745, i64 %747
  %749 = load float, ptr %748, align 4, !tbaa !11
  %750 = load ptr, ptr %42, align 8, !tbaa !5
  %751 = load ptr, ptr %41, align 8, !tbaa !5
  %752 = load i32, ptr %751, align 4, !tbaa !9
  %753 = sext i32 %752 to i64
  %754 = getelementptr inbounds float, ptr %750, i64 %753
  store float %749, ptr %754, align 4, !tbaa !11
  %755 = load ptr, ptr %43, align 8, !tbaa !5
  %756 = load ptr, ptr %41, align 8, !tbaa !5
  %757 = load i32, ptr %756, align 4, !tbaa !9
  %758 = sext i32 %757 to i64
  %759 = getelementptr inbounds float, ptr %755, i64 %758
  store float 0.000000e+00, ptr %759, align 4, !tbaa !11
  %760 = load i32, ptr %57, align 4, !tbaa !9
  %761 = load ptr, ptr %46, align 8, !tbaa !5
  %762 = load ptr, ptr %41, align 8, !tbaa !5
  %763 = load i32, ptr %762, align 4, !tbaa !9
  %764 = sext i32 %763 to i64
  %765 = getelementptr inbounds i32, ptr %761, i64 %764
  store i32 %760, ptr %765, align 4, !tbaa !9
  %766 = load ptr, ptr %47, align 8, !tbaa !5
  %767 = load ptr, ptr %41, align 8, !tbaa !5
  %768 = load i32, ptr %767, align 4, !tbaa !9
  %769 = sext i32 %768 to i64
  %770 = getelementptr inbounds i32, ptr %766, i64 %769
  store i32 1, ptr %770, align 4, !tbaa !9
  br label %771

771:                                              ; preds = %741, %729, %717
  br label %1166

772:                                              ; preds = %670
  %773 = load ptr, ptr %35, align 8, !tbaa !5
  %774 = load i32, ptr %81, align 4, !tbaa !9
  %775 = sext i32 %774 to i64
  %776 = getelementptr inbounds float, ptr %773, i64 %775
  %777 = load float, ptr %776, align 4, !tbaa !11
  store float %777, ptr %80, align 4, !tbaa !11
  %778 = load ptr, ptr %35, align 8, !tbaa !5
  %779 = load i32, ptr %81, align 4, !tbaa !9
  %780 = sext i32 %779 to i64
  %781 = getelementptr inbounds float, ptr %778, i64 %780
  %782 = load float, ptr %781, align 4, !tbaa !11
  store float %782, ptr %77, align 4, !tbaa !11
  store float 0.000000e+00, ptr %95, align 4, !tbaa !11
  %783 = load i32, ptr %56, align 4, !tbaa !9
  store i32 %783, ptr %52, align 4, !tbaa !9
  %784 = load i32, ptr %81, align 4, !tbaa !9
  store i32 %784, ptr %63, align 4, !tbaa !9
  br label %785

785:                                              ; preds = %823, %772
  %786 = load i32, ptr %63, align 4, !tbaa !9
  %787 = load i32, ptr %52, align 4, !tbaa !9
  %788 = icmp sle i32 %786, %787
  br i1 %788, label %789, label %826

789:                                              ; preds = %785
  %790 = load float, ptr %77, align 4, !tbaa !11
  store float %790, ptr %54, align 4, !tbaa !11
  %791 = load ptr, ptr %33, align 8, !tbaa !5
  %792 = load i32, ptr %63, align 4, !tbaa !9
  %793 = shl i32 %792, 1
  %794 = sub nsw i32 %793, 1
  %795 = sext i32 %794 to i64
  %796 = getelementptr inbounds float, ptr %791, i64 %795
  %797 = load float, ptr %796, align 4, !tbaa !11
  store float %797, ptr %55, align 4, !tbaa !11
  %798 = load float, ptr %54, align 4, !tbaa !11
  %799 = load float, ptr %55, align 4, !tbaa !11
  %800 = fcmp ole float %798, %799
  br i1 %800, label %801, label %803

801:                                              ; preds = %789
  %802 = load float, ptr %54, align 4, !tbaa !11
  br label %805

803:                                              ; preds = %789
  %804 = load float, ptr %55, align 4, !tbaa !11
  br label %805

805:                                              ; preds = %803, %801
  %806 = phi float [ %802, %801 ], [ %804, %803 ]
  store float %806, ptr %77, align 4, !tbaa !11
  %807 = load float, ptr %80, align 4, !tbaa !11
  store float %807, ptr %54, align 4, !tbaa !11
  %808 = load ptr, ptr %33, align 8, !tbaa !5
  %809 = load i32, ptr %63, align 4, !tbaa !9
  %810 = mul nsw i32 %809, 2
  %811 = sext i32 %810 to i64
  %812 = getelementptr inbounds float, ptr %808, i64 %811
  %813 = load float, ptr %812, align 4, !tbaa !11
  store float %813, ptr %55, align 4, !tbaa !11
  %814 = load float, ptr %54, align 4, !tbaa !11
  %815 = load float, ptr %55, align 4, !tbaa !11
  %816 = fcmp oge float %814, %815
  br i1 %816, label %817, label %819

817:                                              ; preds = %805
  %818 = load float, ptr %54, align 4, !tbaa !11
  br label %821

819:                                              ; preds = %805
  %820 = load float, ptr %55, align 4, !tbaa !11
  br label %821

821:                                              ; preds = %819, %817
  %822 = phi float [ %818, %817 ], [ %820, %819 ]
  store float %822, ptr %80, align 4, !tbaa !11
  br label %823

823:                                              ; preds = %821
  %824 = load i32, ptr %63, align 4, !tbaa !9
  %825 = add nsw i32 %824, 1
  store i32 %825, ptr %63, align 4, !tbaa !9
  br label %785, !llvm.loop !15

826:                                              ; preds = %785
  %827 = load float, ptr %77, align 4, !tbaa !11
  %828 = load float, ptr %72, align 4, !tbaa !11
  %829 = fmul float %828, 2.000000e+00
  %830 = load float, ptr %90, align 4, !tbaa !11
  %831 = fmul float %829, %830
  %832 = load i32, ptr %79, align 4, !tbaa !9
  %833 = sitofp i32 %832 to float
  %834 = fneg float %831
  %835 = call float @llvm.fmuladd.f32(float %834, float %833, float %827)
  %836 = load ptr, ptr %38, align 8, !tbaa !5
  %837 = load float, ptr %836, align 4, !tbaa !11
  %838 = fneg float %837
  %839 = call float @llvm.fmuladd.f32(float %838, float 2.000000e+00, float %835)
  store float %839, ptr %77, align 4, !tbaa !11
  %840 = load float, ptr %80, align 4, !tbaa !11
  %841 = load float, ptr %72, align 4, !tbaa !11
  %842 = fmul float %841, 2.000000e+00
  %843 = load float, ptr %90, align 4, !tbaa !11
  %844 = fmul float %842, %843
  %845 = load i32, ptr %79, align 4, !tbaa !9
  %846 = sitofp i32 %845 to float
  %847 = call float @llvm.fmuladd.f32(float %844, float %846, float %840)
  %848 = load ptr, ptr %38, align 8, !tbaa !5
  %849 = load float, ptr %848, align 4, !tbaa !11
  %850 = call float @llvm.fmuladd.f32(float %849, float 2.000000e+00, float %847)
  store float %850, ptr %80, align 4, !tbaa !11
  %851 = load i32, ptr %83, align 4, !tbaa !9
  %852 = icmp sgt i32 %851, 1
  br i1 %852, label %853, label %893

853:                                              ; preds = %826
  %854 = load float, ptr %80, align 4, !tbaa !11
  %855 = load ptr, ptr %44, align 8, !tbaa !5
  %856 = load float, ptr %855, align 4, !tbaa !11
  %857 = fcmp olt float %854, %856
  br i1 %857, label %858, label %865

858:                                              ; preds = %853
  %859 = load i32, ptr %79, align 4, !tbaa !9
  %860 = load i32, ptr %91, align 4, !tbaa !9
  %861 = add nsw i32 %860, %859
  store i32 %861, ptr %91, align 4, !tbaa !9
  %862 = load i32, ptr %79, align 4, !tbaa !9
  %863 = load i32, ptr %94, align 4, !tbaa !9
  %864 = add nsw i32 %863, %862
  store i32 %864, ptr %94, align 4, !tbaa !9
  br label %1167

865:                                              ; preds = %853
  %866 = load float, ptr %77, align 4, !tbaa !11
  %867 = load ptr, ptr %44, align 8, !tbaa !5
  %868 = load float, ptr %867, align 4, !tbaa !11
  %869 = fcmp oge float %866, %868
  br i1 %869, label %870, label %872

870:                                              ; preds = %865
  %871 = load float, ptr %77, align 4, !tbaa !11
  br label %875

872:                                              ; preds = %865
  %873 = load ptr, ptr %44, align 8, !tbaa !5
  %874 = load float, ptr %873, align 4, !tbaa !11
  br label %875

875:                                              ; preds = %872, %870
  %876 = phi float [ %871, %870 ], [ %874, %872 ]
  store float %876, ptr %77, align 4, !tbaa !11
  %877 = load float, ptr %80, align 4, !tbaa !11
  %878 = load ptr, ptr %45, align 8, !tbaa !5
  %879 = load float, ptr %878, align 4, !tbaa !11
  %880 = fcmp ole float %877, %879
  br i1 %880, label %881, label %883

881:                                              ; preds = %875
  %882 = load float, ptr %80, align 4, !tbaa !11
  br label %886

883:                                              ; preds = %875
  %884 = load ptr, ptr %45, align 8, !tbaa !5
  %885 = load float, ptr %884, align 4, !tbaa !11
  br label %886

886:                                              ; preds = %883, %881
  %887 = phi float [ %882, %881 ], [ %885, %883 ]
  store float %887, ptr %80, align 4, !tbaa !11
  %888 = load float, ptr %77, align 4, !tbaa !11
  %889 = load float, ptr %80, align 4, !tbaa !11
  %890 = fcmp oge float %888, %889
  br i1 %890, label %891, label %892

891:                                              ; preds = %886
  br label %1167

892:                                              ; preds = %886
  br label %893

893:                                              ; preds = %892, %826
  %894 = load float, ptr %77, align 4, !tbaa !11
  %895 = load ptr, ptr %48, align 8, !tbaa !5
  %896 = load ptr, ptr %28, align 8, !tbaa !5
  %897 = load i32, ptr %896, align 4, !tbaa !9
  %898 = add nsw i32 %897, 1
  %899 = sext i32 %898 to i64
  %900 = getelementptr inbounds float, ptr %895, i64 %899
  store float %894, ptr %900, align 4, !tbaa !11
  %901 = load float, ptr %80, align 4, !tbaa !11
  %902 = load ptr, ptr %48, align 8, !tbaa !5
  %903 = load ptr, ptr %28, align 8, !tbaa !5
  %904 = load i32, ptr %903, align 4, !tbaa !9
  %905 = load i32, ptr %79, align 4, !tbaa !9
  %906 = add nsw i32 %904, %905
  %907 = add nsw i32 %906, 1
  %908 = sext i32 %907 to i64
  %909 = getelementptr inbounds float, ptr %902, i64 %908
  store float %901, ptr %909, align 4, !tbaa !11
  %910 = load ptr, ptr %38, align 8, !tbaa !5
  %911 = load ptr, ptr %35, align 8, !tbaa !5
  %912 = load i32, ptr %81, align 4, !tbaa !9
  %913 = sext i32 %912 to i64
  %914 = getelementptr inbounds float, ptr %911, i64 %913
  %915 = load ptr, ptr %36, align 8, !tbaa !5
  %916 = load i32, ptr %81, align 4, !tbaa !9
  %917 = sext i32 %916 to i64
  %918 = getelementptr inbounds float, ptr %915, i64 %917
  %919 = load ptr, ptr %37, align 8, !tbaa !5
  %920 = load i32, ptr %81, align 4, !tbaa !9
  %921 = sext i32 %920 to i64
  %922 = getelementptr inbounds float, ptr %919, i64 %921
  %923 = getelementptr inbounds [1 x i32], ptr %85, i64 0, i64 0
  %924 = load ptr, ptr %48, align 8, !tbaa !5
  %925 = load ptr, ptr %28, align 8, !tbaa !5
  %926 = load i32, ptr %925, align 4, !tbaa !9
  %927 = add nsw i32 %926, 1
  %928 = sext i32 %927 to i64
  %929 = getelementptr inbounds float, ptr %924, i64 %928
  %930 = load ptr, ptr %48, align 8, !tbaa !5
  %931 = load ptr, ptr %28, align 8, !tbaa !5
  %932 = load i32, ptr %931, align 4, !tbaa !9
  %933 = load i32, ptr %79, align 4, !tbaa !9
  %934 = shl i32 %933, 1
  %935 = add nsw i32 %932, %934
  %936 = add nsw i32 %935, 1
  %937 = sext i32 %936 to i64
  %938 = getelementptr inbounds float, ptr %930, i64 %937
  %939 = load ptr, ptr %49, align 8, !tbaa !5
  %940 = getelementptr inbounds i32, ptr %939, i64 1
  %941 = load ptr, ptr %42, align 8, !tbaa !5
  %942 = load ptr, ptr %41, align 8, !tbaa !5
  %943 = load i32, ptr %942, align 4, !tbaa !9
  %944 = add nsw i32 %943, 1
  %945 = sext i32 %944 to i64
  %946 = getelementptr inbounds float, ptr %941, i64 %945
  %947 = load ptr, ptr %46, align 8, !tbaa !5
  %948 = load ptr, ptr %41, align 8, !tbaa !5
  %949 = load i32, ptr %948, align 4, !tbaa !9
  %950 = add nsw i32 %949, 1
  %951 = sext i32 %950 to i64
  %952 = getelementptr inbounds i32, ptr %947, i64 %951
  call void @slaebz_(ptr noundef @c__1, ptr noundef @c__0, ptr noundef %79, ptr noundef %79, ptr noundef @c__1, ptr noundef %76, ptr noundef %66, ptr noundef %70, ptr noundef %910, ptr noundef %914, ptr noundef %918, ptr noundef %922, ptr noundef %923, ptr noundef %929, ptr noundef %938, ptr noundef %78, ptr noundef %940, ptr noundef %946, ptr noundef %952, ptr noundef %65)
  %953 = load i32, ptr %65, align 4, !tbaa !9
  %954 = icmp ne i32 %953, 0
  br i1 %954, label %955, label %958

955:                                              ; preds = %893
  %956 = load i32, ptr %65, align 4, !tbaa !9
  %957 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 %956, ptr %957, align 4, !tbaa !9
  store i32 1, ptr %97, align 4
  br label %1733

958:                                              ; preds = %893
  %959 = load ptr, ptr %49, align 8, !tbaa !5
  %960 = getelementptr inbounds i32, ptr %959, i64 1
  %961 = load i32, ptr %960, align 4, !tbaa !9
  %962 = load i32, ptr %91, align 4, !tbaa !9
  %963 = add nsw i32 %962, %961
  store i32 %963, ptr %91, align 4, !tbaa !9
  %964 = load ptr, ptr %49, align 8, !tbaa !5
  %965 = load i32, ptr %79, align 4, !tbaa !9
  %966 = add nsw i32 %965, 1
  %967 = sext i32 %966 to i64
  %968 = getelementptr inbounds i32, ptr %964, i64 %967
  %969 = load i32, ptr %968, align 4, !tbaa !9
  %970 = load i32, ptr %94, align 4, !tbaa !9
  %971 = add nsw i32 %970, %969
  store i32 %971, ptr %94, align 4, !tbaa !9
  %972 = load ptr, ptr %41, align 8, !tbaa !5
  %973 = load i32, ptr %972, align 4, !tbaa !9
  %974 = load ptr, ptr %49, align 8, !tbaa !5
  %975 = getelementptr inbounds i32, ptr %974, i64 1
  %976 = load i32, ptr %975, align 4, !tbaa !9
  %977 = sub nsw i32 %973, %976
  store i32 %977, ptr %67, align 4, !tbaa !9
  %978 = load float, ptr %80, align 4, !tbaa !11
  %979 = load float, ptr %77, align 4, !tbaa !11
  %980 = fsub float %978, %979
  %981 = load ptr, ptr %38, align 8, !tbaa !5
  %982 = load float, ptr %981, align 4, !tbaa !11
  %983 = fadd float %980, %982
  %984 = fpext float %983 to double
  %985 = call double @log(double noundef %984) #5
  %986 = load ptr, ptr %38, align 8, !tbaa !5
  %987 = load float, ptr %986, align 4, !tbaa !11
  %988 = fpext float %987 to double
  %989 = call double @log(double noundef %988) #5
  %990 = fsub double %985, %989
  %991 = call double @log(double noundef 2.000000e+00) #5
  %992 = fdiv double %990, %991
  %993 = fptosi double %992 to i32
  %994 = add nsw i32 %993, 2
  store i32 %994, ptr %68, align 4, !tbaa !9
  %995 = load ptr, ptr %38, align 8, !tbaa !5
  %996 = load ptr, ptr %35, align 8, !tbaa !5
  %997 = load i32, ptr %81, align 4, !tbaa !9
  %998 = sext i32 %997 to i64
  %999 = getelementptr inbounds float, ptr %996, i64 %998
  %1000 = load ptr, ptr %36, align 8, !tbaa !5
  %1001 = load i32, ptr %81, align 4, !tbaa !9
  %1002 = sext i32 %1001 to i64
  %1003 = getelementptr inbounds float, ptr %1000, i64 %1002
  %1004 = load ptr, ptr %37, align 8, !tbaa !5
  %1005 = load i32, ptr %81, align 4, !tbaa !9
  %1006 = sext i32 %1005 to i64
  %1007 = getelementptr inbounds float, ptr %1004, i64 %1006
  %1008 = getelementptr inbounds [1 x i32], ptr %85, i64 0, i64 0
  %1009 = load ptr, ptr %48, align 8, !tbaa !5
  %1010 = load ptr, ptr %28, align 8, !tbaa !5
  %1011 = load i32, ptr %1010, align 4, !tbaa !9
  %1012 = add nsw i32 %1011, 1
  %1013 = sext i32 %1012 to i64
  %1014 = getelementptr inbounds float, ptr %1009, i64 %1013
  %1015 = load ptr, ptr %48, align 8, !tbaa !5
  %1016 = load ptr, ptr %28, align 8, !tbaa !5
  %1017 = load i32, ptr %1016, align 4, !tbaa !9
  %1018 = load i32, ptr %79, align 4, !tbaa !9
  %1019 = shl i32 %1018, 1
  %1020 = add nsw i32 %1017, %1019
  %1021 = add nsw i32 %1020, 1
  %1022 = sext i32 %1021 to i64
  %1023 = getelementptr inbounds float, ptr %1015, i64 %1022
  %1024 = load ptr, ptr %49, align 8, !tbaa !5
  %1025 = getelementptr inbounds i32, ptr %1024, i64 1
  %1026 = load ptr, ptr %42, align 8, !tbaa !5
  %1027 = load ptr, ptr %41, align 8, !tbaa !5
  %1028 = load i32, ptr %1027, align 4, !tbaa !9
  %1029 = add nsw i32 %1028, 1
  %1030 = sext i32 %1029 to i64
  %1031 = getelementptr inbounds float, ptr %1026, i64 %1030
  %1032 = load ptr, ptr %46, align 8, !tbaa !5
  %1033 = load ptr, ptr %41, align 8, !tbaa !5
  %1034 = load i32, ptr %1033, align 4, !tbaa !9
  %1035 = add nsw i32 %1034, 1
  %1036 = sext i32 %1035 to i64
  %1037 = getelementptr inbounds i32, ptr %1032, i64 %1036
  call void @slaebz_(ptr noundef @c__2, ptr noundef %68, ptr noundef %79, ptr noundef %79, ptr noundef @c__1, ptr noundef %76, ptr noundef %66, ptr noundef %70, ptr noundef %995, ptr noundef %999, ptr noundef %1003, ptr noundef %1007, ptr noundef %1008, ptr noundef %1014, ptr noundef %1023, ptr noundef %59, ptr noundef %1025, ptr noundef %1031, ptr noundef %1037, ptr noundef %65)
  %1038 = load i32, ptr %65, align 4, !tbaa !9
  %1039 = icmp ne i32 %1038, 0
  br i1 %1039, label %1040, label %1043

1040:                                             ; preds = %958
  %1041 = load i32, ptr %65, align 4, !tbaa !9
  %1042 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 %1041, ptr %1042, align 4, !tbaa !9
  store i32 1, ptr %97, align 4
  br label %1733

1043:                                             ; preds = %958
  %1044 = load i32, ptr %59, align 4, !tbaa !9
  store i32 %1044, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %63, align 4, !tbaa !9
  br label %1045

1045:                                             ; preds = %1158, %1043
  %1046 = load i32, ptr %63, align 4, !tbaa !9
  %1047 = load i32, ptr %52, align 4, !tbaa !9
  %1048 = icmp sle i32 %1046, %1047
  br i1 %1048, label %1049, label %1161

1049:                                             ; preds = %1045
  %1050 = load ptr, ptr %48, align 8, !tbaa !5
  %1051 = load i32, ptr %63, align 4, !tbaa !9
  %1052 = load ptr, ptr %28, align 8, !tbaa !5
  %1053 = load i32, ptr %1052, align 4, !tbaa !9
  %1054 = add nsw i32 %1051, %1053
  %1055 = sext i32 %1054 to i64
  %1056 = getelementptr inbounds float, ptr %1050, i64 %1055
  %1057 = load float, ptr %1056, align 4, !tbaa !11
  %1058 = load ptr, ptr %48, align 8, !tbaa !5
  %1059 = load i32, ptr %63, align 4, !tbaa !9
  %1060 = load i32, ptr %79, align 4, !tbaa !9
  %1061 = add nsw i32 %1059, %1060
  %1062 = load ptr, ptr %28, align 8, !tbaa !5
  %1063 = load i32, ptr %1062, align 4, !tbaa !9
  %1064 = add nsw i32 %1061, %1063
  %1065 = sext i32 %1064 to i64
  %1066 = getelementptr inbounds float, ptr %1058, i64 %1065
  %1067 = load float, ptr %1066, align 4, !tbaa !11
  %1068 = fadd float %1057, %1067
  %1069 = fmul float %1068, 5.000000e-01
  store float %1069, ptr %95, align 4, !tbaa !11
  %1070 = load ptr, ptr %48, align 8, !tbaa !5
  %1071 = load i32, ptr %63, align 4, !tbaa !9
  %1072 = load ptr, ptr %28, align 8, !tbaa !5
  %1073 = load i32, ptr %1072, align 4, !tbaa !9
  %1074 = add nsw i32 %1071, %1073
  %1075 = sext i32 %1074 to i64
  %1076 = getelementptr inbounds float, ptr %1070, i64 %1075
  %1077 = load float, ptr %1076, align 4, !tbaa !11
  %1078 = load ptr, ptr %48, align 8, !tbaa !5
  %1079 = load i32, ptr %63, align 4, !tbaa !9
  %1080 = load i32, ptr %79, align 4, !tbaa !9
  %1081 = add nsw i32 %1079, %1080
  %1082 = load ptr, ptr %28, align 8, !tbaa !5
  %1083 = load i32, ptr %1082, align 4, !tbaa !9
  %1084 = add nsw i32 %1081, %1083
  %1085 = sext i32 %1084 to i64
  %1086 = getelementptr inbounds float, ptr %1078, i64 %1085
  %1087 = load float, ptr %1086, align 4, !tbaa !11
  %1088 = fsub float %1077, %1087
  store float %1088, ptr %54, align 4, !tbaa !11
  %1089 = load float, ptr %54, align 4, !tbaa !11
  %1090 = fcmp oge float %1089, 0.000000e+00
  br i1 %1090, label %1091, label %1093

1091:                                             ; preds = %1049
  %1092 = load float, ptr %54, align 4, !tbaa !11
  br label %1096

1093:                                             ; preds = %1049
  %1094 = load float, ptr %54, align 4, !tbaa !11
  %1095 = fneg float %1094
  br label %1096

1096:                                             ; preds = %1093, %1091
  %1097 = phi float [ %1092, %1091 ], [ %1095, %1093 ]
  %1098 = fmul float %1097, 5.000000e-01
  store float %1098, ptr %96, align 4, !tbaa !11
  %1099 = load i32, ptr %63, align 4, !tbaa !9
  %1100 = load i32, ptr %59, align 4, !tbaa !9
  %1101 = load i32, ptr %65, align 4, !tbaa !9
  %1102 = sub nsw i32 %1100, %1101
  %1103 = icmp sgt i32 %1099, %1102
  br i1 %1103, label %1104, label %1107

1104:                                             ; preds = %1096
  store i32 1, ptr %87, align 4, !tbaa !9
  %1105 = load i32, ptr %57, align 4, !tbaa !9
  %1106 = sub nsw i32 0, %1105
  store i32 %1106, ptr %73, align 4, !tbaa !9
  br label %1109

1107:                                             ; preds = %1096
  %1108 = load i32, ptr %57, align 4, !tbaa !9
  store i32 %1108, ptr %73, align 4, !tbaa !9
  br label %1109

1109:                                             ; preds = %1107, %1104
  %1110 = load ptr, ptr %49, align 8, !tbaa !5
  %1111 = load i32, ptr %63, align 4, !tbaa !9
  %1112 = load i32, ptr %79, align 4, !tbaa !9
  %1113 = add nsw i32 %1111, %1112
  %1114 = sext i32 %1113 to i64
  %1115 = getelementptr inbounds i32, ptr %1110, i64 %1114
  %1116 = load i32, ptr %1115, align 4, !tbaa !9
  %1117 = load i32, ptr %67, align 4, !tbaa !9
  %1118 = add nsw i32 %1116, %1117
  store i32 %1118, ptr %53, align 4, !tbaa !9
  %1119 = load ptr, ptr %49, align 8, !tbaa !5
  %1120 = load i32, ptr %63, align 4, !tbaa !9
  %1121 = sext i32 %1120 to i64
  %1122 = getelementptr inbounds i32, ptr %1119, i64 %1121
  %1123 = load i32, ptr %1122, align 4, !tbaa !9
  %1124 = add nsw i32 %1123, 1
  %1125 = load i32, ptr %67, align 4, !tbaa !9
  %1126 = add nsw i32 %1124, %1125
  store i32 %1126, ptr %75, align 4, !tbaa !9
  br label %1127

1127:                                             ; preds = %1154, %1109
  %1128 = load i32, ptr %75, align 4, !tbaa !9
  %1129 = load i32, ptr %53, align 4, !tbaa !9
  %1130 = icmp sle i32 %1128, %1129
  br i1 %1130, label %1131, label %1157

1131:                                             ; preds = %1127
  %1132 = load float, ptr %95, align 4, !tbaa !11
  %1133 = load ptr, ptr %42, align 8, !tbaa !5
  %1134 = load i32, ptr %75, align 4, !tbaa !9
  %1135 = sext i32 %1134 to i64
  %1136 = getelementptr inbounds float, ptr %1133, i64 %1135
  store float %1132, ptr %1136, align 4, !tbaa !11
  %1137 = load float, ptr %96, align 4, !tbaa !11
  %1138 = load ptr, ptr %43, align 8, !tbaa !5
  %1139 = load i32, ptr %75, align 4, !tbaa !9
  %1140 = sext i32 %1139 to i64
  %1141 = getelementptr inbounds float, ptr %1138, i64 %1140
  store float %1137, ptr %1141, align 4, !tbaa !11
  %1142 = load i32, ptr %75, align 4, !tbaa !9
  %1143 = load i32, ptr %67, align 4, !tbaa !9
  %1144 = sub nsw i32 %1142, %1143
  %1145 = load ptr, ptr %47, align 8, !tbaa !5
  %1146 = load i32, ptr %75, align 4, !tbaa !9
  %1147 = sext i32 %1146 to i64
  %1148 = getelementptr inbounds i32, ptr %1145, i64 %1147
  store i32 %1144, ptr %1148, align 4, !tbaa !9
  %1149 = load i32, ptr %73, align 4, !tbaa !9
  %1150 = load ptr, ptr %46, align 8, !tbaa !5
  %1151 = load i32, ptr %75, align 4, !tbaa !9
  %1152 = sext i32 %1151 to i64
  %1153 = getelementptr inbounds i32, ptr %1150, i64 %1152
  store i32 %1149, ptr %1153, align 4, !tbaa !9
  br label %1154

1154:                                             ; preds = %1131
  %1155 = load i32, ptr %75, align 4, !tbaa !9
  %1156 = add nsw i32 %1155, 1
  store i32 %1156, ptr %75, align 4, !tbaa !9
  br label %1127, !llvm.loop !16

1157:                                             ; preds = %1127
  br label %1158

1158:                                             ; preds = %1157
  %1159 = load i32, ptr %63, align 4, !tbaa !9
  %1160 = add nsw i32 %1159, 1
  store i32 %1160, ptr %63, align 4, !tbaa !9
  br label %1045, !llvm.loop !17

1161:                                             ; preds = %1045
  %1162 = load i32, ptr %78, align 4, !tbaa !9
  %1163 = load ptr, ptr %41, align 8, !tbaa !5
  %1164 = load i32, ptr %1163, align 4, !tbaa !9
  %1165 = add nsw i32 %1164, %1162
  store i32 %1165, ptr %1163, align 4, !tbaa !9
  br label %1166

1166:                                             ; preds = %1161, %771
  br label %1167

1167:                                             ; preds = %1166, %891, %858
  br label %1168

1168:                                             ; preds = %1167
  %1169 = load i32, ptr %57, align 4, !tbaa !9
  %1170 = add nsw i32 %1169, 1
  store i32 %1170, ptr %57, align 4, !tbaa !9
  br label %666, !llvm.loop !18

1171:                                             ; preds = %666
  %1172 = load i32, ptr %83, align 4, !tbaa !9
  %1173 = icmp eq i32 %1172, 3
  br i1 %1173, label %1174, label %1565

1174:                                             ; preds = %1171
  %1175 = load ptr, ptr %31, align 8, !tbaa !5
  %1176 = load i32, ptr %1175, align 4, !tbaa !9
  %1177 = sub nsw i32 %1176, 1
  %1178 = load i32, ptr %91, align 4, !tbaa !9
  %1179 = sub nsw i32 %1177, %1178
  store i32 %1179, ptr %84, align 4, !tbaa !9
  %1180 = load i32, ptr %94, align 4, !tbaa !9
  %1181 = load ptr, ptr %32, align 8, !tbaa !5
  %1182 = load i32, ptr %1181, align 4, !tbaa !9
  %1183 = sub nsw i32 %1180, %1182
  store i32 %1183, ptr %86, align 4, !tbaa !9
  %1184 = load i32, ptr %84, align 4, !tbaa !9
  %1185 = icmp sgt i32 %1184, 0
  br i1 %1185, label %1186, label %1253

1186:                                             ; preds = %1174
  store i32 0, ptr %78, align 4, !tbaa !9
  %1187 = load ptr, ptr %41, align 8, !tbaa !5
  %1188 = load i32, ptr %1187, align 4, !tbaa !9
  store i32 %1188, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %75, align 4, !tbaa !9
  br label %1189

1189:                                             ; preds = %1247, %1186
  %1190 = load i32, ptr %75, align 4, !tbaa !9
  %1191 = load i32, ptr %51, align 4, !tbaa !9
  %1192 = icmp sle i32 %1190, %1191
  br i1 %1192, label %1193, label %1250

1193:                                             ; preds = %1189
  %1194 = load ptr, ptr %42, align 8, !tbaa !5
  %1195 = load i32, ptr %75, align 4, !tbaa !9
  %1196 = sext i32 %1195 to i64
  %1197 = getelementptr inbounds float, ptr %1194, i64 %1196
  %1198 = load float, ptr %1197, align 4, !tbaa !11
  %1199 = load float, ptr %92, align 4, !tbaa !11
  %1200 = fcmp ole float %1198, %1199
  br i1 %1200, label %1201, label %1207

1201:                                             ; preds = %1193
  %1202 = load i32, ptr %84, align 4, !tbaa !9
  %1203 = icmp sgt i32 %1202, 0
  br i1 %1203, label %1204, label %1207

1204:                                             ; preds = %1201
  %1205 = load i32, ptr %84, align 4, !tbaa !9
  %1206 = add nsw i32 %1205, -1
  store i32 %1206, ptr %84, align 4, !tbaa !9
  br label %1246

1207:                                             ; preds = %1201, %1193
  %1208 = load i32, ptr %78, align 4, !tbaa !9
  %1209 = add nsw i32 %1208, 1
  store i32 %1209, ptr %78, align 4, !tbaa !9
  %1210 = load ptr, ptr %42, align 8, !tbaa !5
  %1211 = load i32, ptr %75, align 4, !tbaa !9
  %1212 = sext i32 %1211 to i64
  %1213 = getelementptr inbounds float, ptr %1210, i64 %1212
  %1214 = load float, ptr %1213, align 4, !tbaa !11
  %1215 = load ptr, ptr %42, align 8, !tbaa !5
  %1216 = load i32, ptr %78, align 4, !tbaa !9
  %1217 = sext i32 %1216 to i64
  %1218 = getelementptr inbounds float, ptr %1215, i64 %1217
  store float %1214, ptr %1218, align 4, !tbaa !11
  %1219 = load ptr, ptr %43, align 8, !tbaa !5
  %1220 = load i32, ptr %75, align 4, !tbaa !9
  %1221 = sext i32 %1220 to i64
  %1222 = getelementptr inbounds float, ptr %1219, i64 %1221
  %1223 = load float, ptr %1222, align 4, !tbaa !11
  %1224 = load ptr, ptr %43, align 8, !tbaa !5
  %1225 = load i32, ptr %78, align 4, !tbaa !9
  %1226 = sext i32 %1225 to i64
  %1227 = getelementptr inbounds float, ptr %1224, i64 %1226
  store float %1223, ptr %1227, align 4, !tbaa !11
  %1228 = load ptr, ptr %47, align 8, !tbaa !5
  %1229 = load i32, ptr %75, align 4, !tbaa !9
  %1230 = sext i32 %1229 to i64
  %1231 = getelementptr inbounds i32, ptr %1228, i64 %1230
  %1232 = load i32, ptr %1231, align 4, !tbaa !9
  %1233 = load ptr, ptr %47, align 8, !tbaa !5
  %1234 = load i32, ptr %78, align 4, !tbaa !9
  %1235 = sext i32 %1234 to i64
  %1236 = getelementptr inbounds i32, ptr %1233, i64 %1235
  store i32 %1232, ptr %1236, align 4, !tbaa !9
  %1237 = load ptr, ptr %46, align 8, !tbaa !5
  %1238 = load i32, ptr %75, align 4, !tbaa !9
  %1239 = sext i32 %1238 to i64
  %1240 = getelementptr inbounds i32, ptr %1237, i64 %1239
  %1241 = load i32, ptr %1240, align 4, !tbaa !9
  %1242 = load ptr, ptr %46, align 8, !tbaa !5
  %1243 = load i32, ptr %78, align 4, !tbaa !9
  %1244 = sext i32 %1243 to i64
  %1245 = getelementptr inbounds i32, ptr %1242, i64 %1244
  store i32 %1241, ptr %1245, align 4, !tbaa !9
  br label %1246

1246:                                             ; preds = %1207, %1204
  br label %1247

1247:                                             ; preds = %1246
  %1248 = load i32, ptr %75, align 4, !tbaa !9
  %1249 = add nsw i32 %1248, 1
  store i32 %1249, ptr %75, align 4, !tbaa !9
  br label %1189, !llvm.loop !19

1250:                                             ; preds = %1189
  %1251 = load i32, ptr %78, align 4, !tbaa !9
  %1252 = load ptr, ptr %41, align 8, !tbaa !5
  store i32 %1251, ptr %1252, align 4, !tbaa !9
  br label %1253

1253:                                             ; preds = %1250, %1174
  %1254 = load i32, ptr %86, align 4, !tbaa !9
  %1255 = icmp sgt i32 %1254, 0
  br i1 %1255, label %1256, label %1379

1256:                                             ; preds = %1253
  %1257 = load ptr, ptr %41, align 8, !tbaa !5
  %1258 = load i32, ptr %1257, align 4, !tbaa !9
  %1259 = add nsw i32 %1258, 1
  store i32 %1259, ptr %78, align 4, !tbaa !9
  %1260 = load ptr, ptr %41, align 8, !tbaa !5
  %1261 = load i32, ptr %1260, align 4, !tbaa !9
  store i32 %1261, ptr %75, align 4, !tbaa !9
  br label %1262

1262:                                             ; preds = %1319, %1256
  %1263 = load i32, ptr %75, align 4, !tbaa !9
  %1264 = icmp sge i32 %1263, 1
  br i1 %1264, label %1265, label %1322

1265:                                             ; preds = %1262
  %1266 = load ptr, ptr %42, align 8, !tbaa !5
  %1267 = load i32, ptr %75, align 4, !tbaa !9
  %1268 = sext i32 %1267 to i64
  %1269 = getelementptr inbounds float, ptr %1266, i64 %1268
  %1270 = load float, ptr %1269, align 4, !tbaa !11
  %1271 = load float, ptr %93, align 4, !tbaa !11
  %1272 = fcmp oge float %1270, %1271
  br i1 %1272, label %1273, label %1279

1273:                                             ; preds = %1265
  %1274 = load i32, ptr %86, align 4, !tbaa !9
  %1275 = icmp sgt i32 %1274, 0
  br i1 %1275, label %1276, label %1279

1276:                                             ; preds = %1273
  %1277 = load i32, ptr %86, align 4, !tbaa !9
  %1278 = add nsw i32 %1277, -1
  store i32 %1278, ptr %86, align 4, !tbaa !9
  br label %1318

1279:                                             ; preds = %1273, %1265
  %1280 = load i32, ptr %78, align 4, !tbaa !9
  %1281 = add nsw i32 %1280, -1
  store i32 %1281, ptr %78, align 4, !tbaa !9
  %1282 = load ptr, ptr %42, align 8, !tbaa !5
  %1283 = load i32, ptr %75, align 4, !tbaa !9
  %1284 = sext i32 %1283 to i64
  %1285 = getelementptr inbounds float, ptr %1282, i64 %1284
  %1286 = load float, ptr %1285, align 4, !tbaa !11
  %1287 = load ptr, ptr %42, align 8, !tbaa !5
  %1288 = load i32, ptr %78, align 4, !tbaa !9
  %1289 = sext i32 %1288 to i64
  %1290 = getelementptr inbounds float, ptr %1287, i64 %1289
  store float %1286, ptr %1290, align 4, !tbaa !11
  %1291 = load ptr, ptr %43, align 8, !tbaa !5
  %1292 = load i32, ptr %75, align 4, !tbaa !9
  %1293 = sext i32 %1292 to i64
  %1294 = getelementptr inbounds float, ptr %1291, i64 %1293
  %1295 = load float, ptr %1294, align 4, !tbaa !11
  %1296 = load ptr, ptr %43, align 8, !tbaa !5
  %1297 = load i32, ptr %78, align 4, !tbaa !9
  %1298 = sext i32 %1297 to i64
  %1299 = getelementptr inbounds float, ptr %1296, i64 %1298
  store float %1295, ptr %1299, align 4, !tbaa !11
  %1300 = load ptr, ptr %47, align 8, !tbaa !5
  %1301 = load i32, ptr %75, align 4, !tbaa !9
  %1302 = sext i32 %1301 to i64
  %1303 = getelementptr inbounds i32, ptr %1300, i64 %1302
  %1304 = load i32, ptr %1303, align 4, !tbaa !9
  %1305 = load ptr, ptr %47, align 8, !tbaa !5
  %1306 = load i32, ptr %78, align 4, !tbaa !9
  %1307 = sext i32 %1306 to i64
  %1308 = getelementptr inbounds i32, ptr %1305, i64 %1307
  store i32 %1304, ptr %1308, align 4, !tbaa !9
  %1309 = load ptr, ptr %46, align 8, !tbaa !5
  %1310 = load i32, ptr %75, align 4, !tbaa !9
  %1311 = sext i32 %1310 to i64
  %1312 = getelementptr inbounds i32, ptr %1309, i64 %1311
  %1313 = load i32, ptr %1312, align 4, !tbaa !9
  %1314 = load ptr, ptr %46, align 8, !tbaa !5
  %1315 = load i32, ptr %78, align 4, !tbaa !9
  %1316 = sext i32 %1315 to i64
  %1317 = getelementptr inbounds i32, ptr %1314, i64 %1316
  store i32 %1313, ptr %1317, align 4, !tbaa !9
  br label %1318

1318:                                             ; preds = %1279, %1276
  br label %1319

1319:                                             ; preds = %1318
  %1320 = load i32, ptr %75, align 4, !tbaa !9
  %1321 = add nsw i32 %1320, -1
  store i32 %1321, ptr %75, align 4, !tbaa !9
  br label %1262, !llvm.loop !20

1322:                                             ; preds = %1262
  store i32 0, ptr %89, align 4, !tbaa !9
  %1323 = load ptr, ptr %41, align 8, !tbaa !5
  %1324 = load i32, ptr %1323, align 4, !tbaa !9
  store i32 %1324, ptr %51, align 4, !tbaa !9
  %1325 = load i32, ptr %78, align 4, !tbaa !9
  store i32 %1325, ptr %75, align 4, !tbaa !9
  br label %1326

1326:                                             ; preds = %1369, %1322
  %1327 = load i32, ptr %75, align 4, !tbaa !9
  %1328 = load i32, ptr %51, align 4, !tbaa !9
  %1329 = icmp sle i32 %1327, %1328
  br i1 %1329, label %1330, label %1372

1330:                                             ; preds = %1326
  %1331 = load i32, ptr %89, align 4, !tbaa !9
  %1332 = add nsw i32 %1331, 1
  store i32 %1332, ptr %89, align 4, !tbaa !9
  %1333 = load ptr, ptr %42, align 8, !tbaa !5
  %1334 = load i32, ptr %75, align 4, !tbaa !9
  %1335 = sext i32 %1334 to i64
  %1336 = getelementptr inbounds float, ptr %1333, i64 %1335
  %1337 = load float, ptr %1336, align 4, !tbaa !11
  %1338 = load ptr, ptr %42, align 8, !tbaa !5
  %1339 = load i32, ptr %89, align 4, !tbaa !9
  %1340 = sext i32 %1339 to i64
  %1341 = getelementptr inbounds float, ptr %1338, i64 %1340
  store float %1337, ptr %1341, align 4, !tbaa !11
  %1342 = load ptr, ptr %43, align 8, !tbaa !5
  %1343 = load i32, ptr %75, align 4, !tbaa !9
  %1344 = sext i32 %1343 to i64
  %1345 = getelementptr inbounds float, ptr %1342, i64 %1344
  %1346 = load float, ptr %1345, align 4, !tbaa !11
  %1347 = load ptr, ptr %43, align 8, !tbaa !5
  %1348 = load i32, ptr %89, align 4, !tbaa !9
  %1349 = sext i32 %1348 to i64
  %1350 = getelementptr inbounds float, ptr %1347, i64 %1349
  store float %1346, ptr %1350, align 4, !tbaa !11
  %1351 = load ptr, ptr %47, align 8, !tbaa !5
  %1352 = load i32, ptr %75, align 4, !tbaa !9
  %1353 = sext i32 %1352 to i64
  %1354 = getelementptr inbounds i32, ptr %1351, i64 %1353
  %1355 = load i32, ptr %1354, align 4, !tbaa !9
  %1356 = load ptr, ptr %47, align 8, !tbaa !5
  %1357 = load i32, ptr %89, align 4, !tbaa !9
  %1358 = sext i32 %1357 to i64
  %1359 = getelementptr inbounds i32, ptr %1356, i64 %1358
  store i32 %1355, ptr %1359, align 4, !tbaa !9
  %1360 = load ptr, ptr %46, align 8, !tbaa !5
  %1361 = load i32, ptr %75, align 4, !tbaa !9
  %1362 = sext i32 %1361 to i64
  %1363 = getelementptr inbounds i32, ptr %1360, i64 %1362
  %1364 = load i32, ptr %1363, align 4, !tbaa !9
  %1365 = load ptr, ptr %46, align 8, !tbaa !5
  %1366 = load i32, ptr %89, align 4, !tbaa !9
  %1367 = sext i32 %1366 to i64
  %1368 = getelementptr inbounds i32, ptr %1365, i64 %1367
  store i32 %1364, ptr %1368, align 4, !tbaa !9
  br label %1369

1369:                                             ; preds = %1330
  %1370 = load i32, ptr %75, align 4, !tbaa !9
  %1371 = add nsw i32 %1370, 1
  store i32 %1371, ptr %75, align 4, !tbaa !9
  br label %1326, !llvm.loop !21

1372:                                             ; preds = %1326
  %1373 = load ptr, ptr %41, align 8, !tbaa !5
  %1374 = load i32, ptr %1373, align 4, !tbaa !9
  %1375 = load i32, ptr %78, align 4, !tbaa !9
  %1376 = sub nsw i32 %1374, %1375
  %1377 = add nsw i32 %1376, 1
  %1378 = load ptr, ptr %41, align 8, !tbaa !5
  store i32 %1377, ptr %1378, align 4, !tbaa !9
  br label %1379

1379:                                             ; preds = %1372, %1253
  %1380 = load i32, ptr %84, align 4, !tbaa !9
  %1381 = icmp sgt i32 %1380, 0
  br i1 %1381, label %1385, label %1382

1382:                                             ; preds = %1379
  %1383 = load i32, ptr %86, align 4, !tbaa !9
  %1384 = icmp sgt i32 %1383, 0
  br i1 %1384, label %1385, label %1557

1385:                                             ; preds = %1382, %1379
  %1386 = load i32, ptr %84, align 4, !tbaa !9
  %1387 = icmp sgt i32 %1386, 0
  br i1 %1387, label %1388, label %1441

1388:                                             ; preds = %1385
  %1389 = load ptr, ptr %45, align 8, !tbaa !5
  %1390 = load float, ptr %1389, align 4, !tbaa !11
  store float %1390, ptr %69, align 4, !tbaa !11
  %1391 = load i32, ptr %84, align 4, !tbaa !9
  store i32 %1391, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %64, align 4, !tbaa !9
  br label %1392

1392:                                             ; preds = %1437, %1388
  %1393 = load i32, ptr %64, align 4, !tbaa !9
  %1394 = load i32, ptr %51, align 4, !tbaa !9
  %1395 = icmp sle i32 %1393, %1394
  br i1 %1395, label %1396, label %1440

1396:                                             ; preds = %1392
  store i32 0, ptr %82, align 4, !tbaa !9
  %1397 = load ptr, ptr %41, align 8, !tbaa !5
  %1398 = load i32, ptr %1397, align 4, !tbaa !9
  store i32 %1398, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %75, align 4, !tbaa !9
  br label %1399

1399:                                             ; preds = %1429, %1396
  %1400 = load i32, ptr %75, align 4, !tbaa !9
  %1401 = load i32, ptr %52, align 4, !tbaa !9
  %1402 = icmp sle i32 %1400, %1401
  br i1 %1402, label %1403, label %1432

1403:                                             ; preds = %1399
  %1404 = load ptr, ptr %46, align 8, !tbaa !5
  %1405 = load i32, ptr %75, align 4, !tbaa !9
  %1406 = sext i32 %1405 to i64
  %1407 = getelementptr inbounds i32, ptr %1404, i64 %1406
  %1408 = load i32, ptr %1407, align 4, !tbaa !9
  %1409 = icmp ne i32 %1408, 0
  br i1 %1409, label %1410, label %1428

1410:                                             ; preds = %1403
  %1411 = load ptr, ptr %42, align 8, !tbaa !5
  %1412 = load i32, ptr %75, align 4, !tbaa !9
  %1413 = sext i32 %1412 to i64
  %1414 = getelementptr inbounds float, ptr %1411, i64 %1413
  %1415 = load float, ptr %1414, align 4, !tbaa !11
  %1416 = load float, ptr %69, align 4, !tbaa !11
  %1417 = fcmp olt float %1415, %1416
  br i1 %1417, label %1421, label %1418

1418:                                             ; preds = %1410
  %1419 = load i32, ptr %82, align 4, !tbaa !9
  %1420 = icmp eq i32 %1419, 0
  br i1 %1420, label %1421, label %1428

1421:                                             ; preds = %1418, %1410
  %1422 = load i32, ptr %75, align 4, !tbaa !9
  store i32 %1422, ptr %82, align 4, !tbaa !9
  %1423 = load ptr, ptr %42, align 8, !tbaa !5
  %1424 = load i32, ptr %75, align 4, !tbaa !9
  %1425 = sext i32 %1424 to i64
  %1426 = getelementptr inbounds float, ptr %1423, i64 %1425
  %1427 = load float, ptr %1426, align 4, !tbaa !11
  store float %1427, ptr %69, align 4, !tbaa !11
  br label %1428

1428:                                             ; preds = %1421, %1418, %1403
  br label %1429

1429:                                             ; preds = %1428
  %1430 = load i32, ptr %75, align 4, !tbaa !9
  %1431 = add nsw i32 %1430, 1
  store i32 %1431, ptr %75, align 4, !tbaa !9
  br label %1399, !llvm.loop !22

1432:                                             ; preds = %1399
  %1433 = load ptr, ptr %46, align 8, !tbaa !5
  %1434 = load i32, ptr %82, align 4, !tbaa !9
  %1435 = sext i32 %1434 to i64
  %1436 = getelementptr inbounds i32, ptr %1433, i64 %1435
  store i32 0, ptr %1436, align 4, !tbaa !9
  br label %1437

1437:                                             ; preds = %1432
  %1438 = load i32, ptr %64, align 4, !tbaa !9
  %1439 = add nsw i32 %1438, 1
  store i32 %1439, ptr %64, align 4, !tbaa !9
  br label %1392, !llvm.loop !23

1440:                                             ; preds = %1392
  br label %1441

1441:                                             ; preds = %1440, %1385
  %1442 = load i32, ptr %86, align 4, !tbaa !9
  %1443 = icmp sgt i32 %1442, 0
  br i1 %1443, label %1444, label %1497

1444:                                             ; preds = %1441
  %1445 = load ptr, ptr %44, align 8, !tbaa !5
  %1446 = load float, ptr %1445, align 4, !tbaa !11
  store float %1446, ptr %69, align 4, !tbaa !11
  %1447 = load i32, ptr %86, align 4, !tbaa !9
  store i32 %1447, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %64, align 4, !tbaa !9
  br label %1448

1448:                                             ; preds = %1493, %1444
  %1449 = load i32, ptr %64, align 4, !tbaa !9
  %1450 = load i32, ptr %51, align 4, !tbaa !9
  %1451 = icmp sle i32 %1449, %1450
  br i1 %1451, label %1452, label %1496

1452:                                             ; preds = %1448
  store i32 0, ptr %82, align 4, !tbaa !9
  %1453 = load ptr, ptr %41, align 8, !tbaa !5
  %1454 = load i32, ptr %1453, align 4, !tbaa !9
  store i32 %1454, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %75, align 4, !tbaa !9
  br label %1455

1455:                                             ; preds = %1485, %1452
  %1456 = load i32, ptr %75, align 4, !tbaa !9
  %1457 = load i32, ptr %52, align 4, !tbaa !9
  %1458 = icmp sle i32 %1456, %1457
  br i1 %1458, label %1459, label %1488

1459:                                             ; preds = %1455
  %1460 = load ptr, ptr %46, align 8, !tbaa !5
  %1461 = load i32, ptr %75, align 4, !tbaa !9
  %1462 = sext i32 %1461 to i64
  %1463 = getelementptr inbounds i32, ptr %1460, i64 %1462
  %1464 = load i32, ptr %1463, align 4, !tbaa !9
  %1465 = icmp ne i32 %1464, 0
  br i1 %1465, label %1466, label %1484

1466:                                             ; preds = %1459
  %1467 = load ptr, ptr %42, align 8, !tbaa !5
  %1468 = load i32, ptr %75, align 4, !tbaa !9
  %1469 = sext i32 %1468 to i64
  %1470 = getelementptr inbounds float, ptr %1467, i64 %1469
  %1471 = load float, ptr %1470, align 4, !tbaa !11
  %1472 = load float, ptr %69, align 4, !tbaa !11
  %1473 = fcmp oge float %1471, %1472
  br i1 %1473, label %1477, label %1474

1474:                                             ; preds = %1466
  %1475 = load i32, ptr %82, align 4, !tbaa !9
  %1476 = icmp eq i32 %1475, 0
  br i1 %1476, label %1477, label %1484

1477:                                             ; preds = %1474, %1466
  %1478 = load i32, ptr %75, align 4, !tbaa !9
  store i32 %1478, ptr %82, align 4, !tbaa !9
  %1479 = load ptr, ptr %42, align 8, !tbaa !5
  %1480 = load i32, ptr %75, align 4, !tbaa !9
  %1481 = sext i32 %1480 to i64
  %1482 = getelementptr inbounds float, ptr %1479, i64 %1481
  %1483 = load float, ptr %1482, align 4, !tbaa !11
  store float %1483, ptr %69, align 4, !tbaa !11
  br label %1484

1484:                                             ; preds = %1477, %1474, %1459
  br label %1485

1485:                                             ; preds = %1484
  %1486 = load i32, ptr %75, align 4, !tbaa !9
  %1487 = add nsw i32 %1486, 1
  store i32 %1487, ptr %75, align 4, !tbaa !9
  br label %1455, !llvm.loop !24

1488:                                             ; preds = %1455
  %1489 = load ptr, ptr %46, align 8, !tbaa !5
  %1490 = load i32, ptr %82, align 4, !tbaa !9
  %1491 = sext i32 %1490 to i64
  %1492 = getelementptr inbounds i32, ptr %1489, i64 %1491
  store i32 0, ptr %1492, align 4, !tbaa !9
  br label %1493

1493:                                             ; preds = %1488
  %1494 = load i32, ptr %64, align 4, !tbaa !9
  %1495 = add nsw i32 %1494, 1
  store i32 %1495, ptr %64, align 4, !tbaa !9
  br label %1448, !llvm.loop !25

1496:                                             ; preds = %1448
  br label %1497

1497:                                             ; preds = %1496, %1441
  store i32 0, ptr %78, align 4, !tbaa !9
  %1498 = load ptr, ptr %41, align 8, !tbaa !5
  %1499 = load i32, ptr %1498, align 4, !tbaa !9
  store i32 %1499, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %75, align 4, !tbaa !9
  br label %1500

1500:                                             ; preds = %1551, %1497
  %1501 = load i32, ptr %75, align 4, !tbaa !9
  %1502 = load i32, ptr %51, align 4, !tbaa !9
  %1503 = icmp sle i32 %1501, %1502
  br i1 %1503, label %1504, label %1554

1504:                                             ; preds = %1500
  %1505 = load ptr, ptr %46, align 8, !tbaa !5
  %1506 = load i32, ptr %75, align 4, !tbaa !9
  %1507 = sext i32 %1506 to i64
  %1508 = getelementptr inbounds i32, ptr %1505, i64 %1507
  %1509 = load i32, ptr %1508, align 4, !tbaa !9
  %1510 = icmp ne i32 %1509, 0
  br i1 %1510, label %1511, label %1550

1511:                                             ; preds = %1504
  %1512 = load i32, ptr %78, align 4, !tbaa !9
  %1513 = add nsw i32 %1512, 1
  store i32 %1513, ptr %78, align 4, !tbaa !9
  %1514 = load ptr, ptr %42, align 8, !tbaa !5
  %1515 = load i32, ptr %75, align 4, !tbaa !9
  %1516 = sext i32 %1515 to i64
  %1517 = getelementptr inbounds float, ptr %1514, i64 %1516
  %1518 = load float, ptr %1517, align 4, !tbaa !11
  %1519 = load ptr, ptr %42, align 8, !tbaa !5
  %1520 = load i32, ptr %78, align 4, !tbaa !9
  %1521 = sext i32 %1520 to i64
  %1522 = getelementptr inbounds float, ptr %1519, i64 %1521
  store float %1518, ptr %1522, align 4, !tbaa !11
  %1523 = load ptr, ptr %43, align 8, !tbaa !5
  %1524 = load i32, ptr %75, align 4, !tbaa !9
  %1525 = sext i32 %1524 to i64
  %1526 = getelementptr inbounds float, ptr %1523, i64 %1525
  %1527 = load float, ptr %1526, align 4, !tbaa !11
  %1528 = load ptr, ptr %43, align 8, !tbaa !5
  %1529 = load i32, ptr %78, align 4, !tbaa !9
  %1530 = sext i32 %1529 to i64
  %1531 = getelementptr inbounds float, ptr %1528, i64 %1530
  store float %1527, ptr %1531, align 4, !tbaa !11
  %1532 = load ptr, ptr %47, align 8, !tbaa !5
  %1533 = load i32, ptr %75, align 4, !tbaa !9
  %1534 = sext i32 %1533 to i64
  %1535 = getelementptr inbounds i32, ptr %1532, i64 %1534
  %1536 = load i32, ptr %1535, align 4, !tbaa !9
  %1537 = load ptr, ptr %47, align 8, !tbaa !5
  %1538 = load i32, ptr %78, align 4, !tbaa !9
  %1539 = sext i32 %1538 to i64
  %1540 = getelementptr inbounds i32, ptr %1537, i64 %1539
  store i32 %1536, ptr %1540, align 4, !tbaa !9
  %1541 = load ptr, ptr %46, align 8, !tbaa !5
  %1542 = load i32, ptr %75, align 4, !tbaa !9
  %1543 = sext i32 %1542 to i64
  %1544 = getelementptr inbounds i32, ptr %1541, i64 %1543
  %1545 = load i32, ptr %1544, align 4, !tbaa !9
  %1546 = load ptr, ptr %46, align 8, !tbaa !5
  %1547 = load i32, ptr %78, align 4, !tbaa !9
  %1548 = sext i32 %1547 to i64
  %1549 = getelementptr inbounds i32, ptr %1546, i64 %1548
  store i32 %1545, ptr %1549, align 4, !tbaa !9
  br label %1550

1550:                                             ; preds = %1511, %1504
  br label %1551

1551:                                             ; preds = %1550
  %1552 = load i32, ptr %75, align 4, !tbaa !9
  %1553 = add nsw i32 %1552, 1
  store i32 %1553, ptr %75, align 4, !tbaa !9
  br label %1500, !llvm.loop !26

1554:                                             ; preds = %1500
  %1555 = load i32, ptr %78, align 4, !tbaa !9
  %1556 = load ptr, ptr %41, align 8, !tbaa !5
  store i32 %1555, ptr %1556, align 4, !tbaa !9
  br label %1557

1557:                                             ; preds = %1554, %1382
  %1558 = load i32, ptr %84, align 4, !tbaa !9
  %1559 = icmp slt i32 %1558, 0
  br i1 %1559, label %1563, label %1560

1560:                                             ; preds = %1557
  %1561 = load i32, ptr %86, align 4, !tbaa !9
  %1562 = icmp slt i32 %1561, 0
  br i1 %1562, label %1563, label %1564

1563:                                             ; preds = %1560, %1557
  store i32 1, ptr %88, align 4, !tbaa !9
  br label %1564

1564:                                             ; preds = %1563, %1560
  br label %1565

1565:                                             ; preds = %1564, %1171
  %1566 = load i32, ptr %83, align 4, !tbaa !9
  %1567 = icmp eq i32 %1566, 1
  br i1 %1567, label %1568, label %1574

1568:                                             ; preds = %1565
  %1569 = load ptr, ptr %41, align 8, !tbaa !5
  %1570 = load i32, ptr %1569, align 4, !tbaa !9
  %1571 = load ptr, ptr %28, align 8, !tbaa !5
  %1572 = load i32, ptr %1571, align 4, !tbaa !9
  %1573 = icmp ne i32 %1570, %1572
  br i1 %1573, label %1587, label %1574

1574:                                             ; preds = %1568, %1565
  %1575 = load i32, ptr %83, align 4, !tbaa !9
  %1576 = icmp eq i32 %1575, 3
  br i1 %1576, label %1577, label %1588

1577:                                             ; preds = %1574
  %1578 = load ptr, ptr %41, align 8, !tbaa !5
  %1579 = load i32, ptr %1578, align 4, !tbaa !9
  %1580 = load ptr, ptr %32, align 8, !tbaa !5
  %1581 = load i32, ptr %1580, align 4, !tbaa !9
  %1582 = load ptr, ptr %31, align 8, !tbaa !5
  %1583 = load i32, ptr %1582, align 4, !tbaa !9
  %1584 = sub nsw i32 %1581, %1583
  %1585 = add nsw i32 %1584, 1
  %1586 = icmp ne i32 %1579, %1585
  br i1 %1586, label %1587, label %1588

1587:                                             ; preds = %1577, %1568
  store i32 1, ptr %88, align 4, !tbaa !9
  br label %1588

1588:                                             ; preds = %1587, %1577, %1574
  %1589 = load ptr, ptr %27, align 8, !tbaa !5
  %1590 = call i32 @lsame_(ptr noundef %1589, ptr noundef @.str.4)
  %1591 = icmp ne i32 %1590, 0
  br i1 %1591, label %1592, label %1717

1592:                                             ; preds = %1588
  %1593 = load ptr, ptr %39, align 8, !tbaa !5
  %1594 = load i32, ptr %1593, align 4, !tbaa !9
  %1595 = icmp sgt i32 %1594, 1
  br i1 %1595, label %1596, label %1717

1596:                                             ; preds = %1592
  %1597 = load ptr, ptr %41, align 8, !tbaa !5
  %1598 = load i32, ptr %1597, align 4, !tbaa !9
  %1599 = sub nsw i32 %1598, 1
  store i32 %1599, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %75, align 4, !tbaa !9
  br label %1600

1600:                                             ; preds = %1713, %1596
  %1601 = load i32, ptr %75, align 4, !tbaa !9
  %1602 = load i32, ptr %51, align 4, !tbaa !9
  %1603 = icmp sle i32 %1601, %1602
  br i1 %1603, label %1604, label %1716

1604:                                             ; preds = %1600
  store i32 0, ptr %74, align 4, !tbaa !9
  %1605 = load ptr, ptr %42, align 8, !tbaa !5
  %1606 = load i32, ptr %75, align 4, !tbaa !9
  %1607 = sext i32 %1606 to i64
  %1608 = getelementptr inbounds float, ptr %1605, i64 %1607
  %1609 = load float, ptr %1608, align 4, !tbaa !11
  store float %1609, ptr %95, align 4, !tbaa !11
  %1610 = load ptr, ptr %41, align 8, !tbaa !5
  %1611 = load i32, ptr %1610, align 4, !tbaa !9
  store i32 %1611, ptr %52, align 4, !tbaa !9
  %1612 = load i32, ptr %75, align 4, !tbaa !9
  %1613 = add nsw i32 %1612, 1
  store i32 %1613, ptr %63, align 4, !tbaa !9
  br label %1614

1614:                                             ; preds = %1634, %1604
  %1615 = load i32, ptr %63, align 4, !tbaa !9
  %1616 = load i32, ptr %52, align 4, !tbaa !9
  %1617 = icmp sle i32 %1615, %1616
  br i1 %1617, label %1618, label %1637

1618:                                             ; preds = %1614
  %1619 = load ptr, ptr %42, align 8, !tbaa !5
  %1620 = load i32, ptr %63, align 4, !tbaa !9
  %1621 = sext i32 %1620 to i64
  %1622 = getelementptr inbounds float, ptr %1619, i64 %1621
  %1623 = load float, ptr %1622, align 4, !tbaa !11
  %1624 = load float, ptr %95, align 4, !tbaa !11
  %1625 = fcmp olt float %1623, %1624
  br i1 %1625, label %1626, label %1633

1626:                                             ; preds = %1618
  %1627 = load i32, ptr %63, align 4, !tbaa !9
  store i32 %1627, ptr %74, align 4, !tbaa !9
  %1628 = load ptr, ptr %42, align 8, !tbaa !5
  %1629 = load i32, ptr %63, align 4, !tbaa !9
  %1630 = sext i32 %1629 to i64
  %1631 = getelementptr inbounds float, ptr %1628, i64 %1630
  %1632 = load float, ptr %1631, align 4, !tbaa !11
  store float %1632, ptr %95, align 4, !tbaa !11
  br label %1633

1633:                                             ; preds = %1626, %1618
  br label %1634

1634:                                             ; preds = %1633
  %1635 = load i32, ptr %63, align 4, !tbaa !9
  %1636 = add nsw i32 %1635, 1
  store i32 %1636, ptr %63, align 4, !tbaa !9
  br label %1614, !llvm.loop !27

1637:                                             ; preds = %1614
  %1638 = load i32, ptr %74, align 4, !tbaa !9
  %1639 = icmp ne i32 %1638, 0
  br i1 %1639, label %1640, label %1712

1640:                                             ; preds = %1637
  %1641 = load ptr, ptr %43, align 8, !tbaa !5
  %1642 = load i32, ptr %74, align 4, !tbaa !9
  %1643 = sext i32 %1642 to i64
  %1644 = getelementptr inbounds float, ptr %1641, i64 %1643
  %1645 = load float, ptr %1644, align 4, !tbaa !11
  store float %1645, ptr %96, align 4, !tbaa !11
  %1646 = load ptr, ptr %46, align 8, !tbaa !5
  %1647 = load i32, ptr %74, align 4, !tbaa !9
  %1648 = sext i32 %1647 to i64
  %1649 = getelementptr inbounds i32, ptr %1646, i64 %1648
  %1650 = load i32, ptr %1649, align 4, !tbaa !9
  store i32 %1650, ptr %60, align 4, !tbaa !9
  %1651 = load ptr, ptr %47, align 8, !tbaa !5
  %1652 = load i32, ptr %74, align 4, !tbaa !9
  %1653 = sext i32 %1652 to i64
  %1654 = getelementptr inbounds i32, ptr %1651, i64 %1653
  %1655 = load i32, ptr %1654, align 4, !tbaa !9
  store i32 %1655, ptr %61, align 4, !tbaa !9
  %1656 = load ptr, ptr %42, align 8, !tbaa !5
  %1657 = load i32, ptr %75, align 4, !tbaa !9
  %1658 = sext i32 %1657 to i64
  %1659 = getelementptr inbounds float, ptr %1656, i64 %1658
  %1660 = load float, ptr %1659, align 4, !tbaa !11
  %1661 = load ptr, ptr %42, align 8, !tbaa !5
  %1662 = load i32, ptr %74, align 4, !tbaa !9
  %1663 = sext i32 %1662 to i64
  %1664 = getelementptr inbounds float, ptr %1661, i64 %1663
  store float %1660, ptr %1664, align 4, !tbaa !11
  %1665 = load ptr, ptr %43, align 8, !tbaa !5
  %1666 = load i32, ptr %75, align 4, !tbaa !9
  %1667 = sext i32 %1666 to i64
  %1668 = getelementptr inbounds float, ptr %1665, i64 %1667
  %1669 = load float, ptr %1668, align 4, !tbaa !11
  %1670 = load ptr, ptr %43, align 8, !tbaa !5
  %1671 = load i32, ptr %74, align 4, !tbaa !9
  %1672 = sext i32 %1671 to i64
  %1673 = getelementptr inbounds float, ptr %1670, i64 %1672
  store float %1669, ptr %1673, align 4, !tbaa !11
  %1674 = load ptr, ptr %46, align 8, !tbaa !5
  %1675 = load i32, ptr %75, align 4, !tbaa !9
  %1676 = sext i32 %1675 to i64
  %1677 = getelementptr inbounds i32, ptr %1674, i64 %1676
  %1678 = load i32, ptr %1677, align 4, !tbaa !9
  %1679 = load ptr, ptr %46, align 8, !tbaa !5
  %1680 = load i32, ptr %74, align 4, !tbaa !9
  %1681 = sext i32 %1680 to i64
  %1682 = getelementptr inbounds i32, ptr %1679, i64 %1681
  store i32 %1678, ptr %1682, align 4, !tbaa !9
  %1683 = load ptr, ptr %47, align 8, !tbaa !5
  %1684 = load i32, ptr %75, align 4, !tbaa !9
  %1685 = sext i32 %1684 to i64
  %1686 = getelementptr inbounds i32, ptr %1683, i64 %1685
  %1687 = load i32, ptr %1686, align 4, !tbaa !9
  %1688 = load ptr, ptr %47, align 8, !tbaa !5
  %1689 = load i32, ptr %74, align 4, !tbaa !9
  %1690 = sext i32 %1689 to i64
  %1691 = getelementptr inbounds i32, ptr %1688, i64 %1690
  store i32 %1687, ptr %1691, align 4, !tbaa !9
  %1692 = load float, ptr %95, align 4, !tbaa !11
  %1693 = load ptr, ptr %42, align 8, !tbaa !5
  %1694 = load i32, ptr %75, align 4, !tbaa !9
  %1695 = sext i32 %1694 to i64
  %1696 = getelementptr inbounds float, ptr %1693, i64 %1695
  store float %1692, ptr %1696, align 4, !tbaa !11
  %1697 = load float, ptr %96, align 4, !tbaa !11
  %1698 = load ptr, ptr %43, align 8, !tbaa !5
  %1699 = load i32, ptr %75, align 4, !tbaa !9
  %1700 = sext i32 %1699 to i64
  %1701 = getelementptr inbounds float, ptr %1698, i64 %1700
  store float %1697, ptr %1701, align 4, !tbaa !11
  %1702 = load i32, ptr %60, align 4, !tbaa !9
  %1703 = load ptr, ptr %46, align 8, !tbaa !5
  %1704 = load i32, ptr %75, align 4, !tbaa !9
  %1705 = sext i32 %1704 to i64
  %1706 = getelementptr inbounds i32, ptr %1703, i64 %1705
  store i32 %1702, ptr %1706, align 4, !tbaa !9
  %1707 = load i32, ptr %61, align 4, !tbaa !9
  %1708 = load ptr, ptr %47, align 8, !tbaa !5
  %1709 = load i32, ptr %75, align 4, !tbaa !9
  %1710 = sext i32 %1709 to i64
  %1711 = getelementptr inbounds i32, ptr %1708, i64 %1710
  store i32 %1707, ptr %1711, align 4, !tbaa !9
  br label %1712

1712:                                             ; preds = %1640, %1637
  br label %1713

1713:                                             ; preds = %1712
  %1714 = load i32, ptr %75, align 4, !tbaa !9
  %1715 = add nsw i32 %1714, 1
  store i32 %1715, ptr %75, align 4, !tbaa !9
  br label %1600, !llvm.loop !28

1716:                                             ; preds = %1600
  br label %1717

1717:                                             ; preds = %1716, %1592, %1588
  %1718 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 0, ptr %1718, align 4, !tbaa !9
  %1719 = load i32, ptr %87, align 4, !tbaa !9
  %1720 = icmp ne i32 %1719, 0
  br i1 %1720, label %1721, label %1725

1721:                                             ; preds = %1717
  %1722 = load ptr, ptr %50, align 8, !tbaa !5
  %1723 = load i32, ptr %1722, align 4, !tbaa !9
  %1724 = add nsw i32 %1723, 1
  store i32 %1724, ptr %1722, align 4, !tbaa !9
  br label %1725

1725:                                             ; preds = %1721, %1717
  %1726 = load i32, ptr %88, align 4, !tbaa !9
  %1727 = icmp ne i32 %1726, 0
  br i1 %1727, label %1728, label %1732

1728:                                             ; preds = %1725
  %1729 = load ptr, ptr %50, align 8, !tbaa !5
  %1730 = load i32, ptr %1729, align 4, !tbaa !9
  %1731 = add nsw i32 %1730, 2
  store i32 %1731, ptr %1729, align 4, !tbaa !9
  br label %1732

1732:                                             ; preds = %1728, %1725
  store i32 1, ptr %97, align 4
  br label %1733

1733:                                             ; preds = %1732, %1040, %955, %638, %538, %307, %242, %235, %124
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #5
  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 float @slamch_(ptr noundef) #2

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

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

; Function Attrs: nounwind
declare double @log(double noundef) #4

declare void @slaebz_(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, ptr noundef, ptr noundef) #2

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

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

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

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


; 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"

@.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
@c__1 = external hidden global i32, align 4
@.str.7 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4

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

56:                                               ; preds = %25
  %57 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #6
  %.not = icmp eq i32 %57, 0
  br i1 %.not, label %58, label %.thread

58:                                               ; preds = %56
  %59 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #6
  %.not676 = icmp eq i32 %59, 0
  br i1 %.not676, label %60, label %.thread

60:                                               ; preds = %58
  %61 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.2) #6
  %.not677 = icmp eq i32 %61, 0
  br i1 %.not677, label %62, label %.thread

62:                                               ; preds = %60
  store i32 -1, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

.thread:                                          ; preds = %58, %56, %60
  %.0621718 = phi i32 [ 3, %60 ], [ 2, %58 ], [ 1, %56 ]
  %63 = phi i1 [ true, %60 ], [ false, %58 ], [ false, %56 ]
  %64 = phi i1 [ false, %60 ], [ true, %58 ], [ false, %56 ]
  %65 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.3) #6
  %.not678 = icmp eq i32 %65, 0
  br i1 %.not678, label %66, label %69

66:                                               ; preds = %.thread
  %67 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #6
  %.not679 = icmp eq i32 %67, 0
  br i1 %.not679, label %68, label %69

68:                                               ; preds = %66
  store i32 -2, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

69:                                               ; preds = %66, %.thread
  %70 = load i32, ptr %2, align 4, !tbaa !5
  %71 = icmp slt i32 %70, 0
  br i1 %71, label %72, label %73

72:                                               ; preds = %69
  store i32 -3, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

73:                                               ; preds = %69
  br i1 %64, label %74, label %79

74:                                               ; preds = %73
  %75 = load float, ptr %3, align 4, !tbaa !9
  %76 = load float, ptr %4, align 4, !tbaa !9
  %77 = fcmp ult float %75, %76
  br i1 %77, label %.critedge, label %78

78:                                               ; preds = %74
  store i32 -5, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

79:                                               ; preds = %73
  br i1 %63, label %80, label %.critedge

80:                                               ; preds = %79
  %81 = load i32, ptr %5, align 4, !tbaa !5
  %82 = icmp slt i32 %81, 1
  %spec.select = tail call i32 @llvm.umax.i32(i32 %70, i32 1)
  %83 = icmp ugt i32 %81, %spec.select
  %or.cond = or i1 %82, %83
  br i1 %or.cond, label %84, label %85

84:                                               ; preds = %80
  store i32 -6, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

85:                                               ; preds = %80
  %86 = load i32, ptr %6, align 4, !tbaa !5
  %.710 = tail call i32 @llvm.umin.i32(i32 %70, i32 %81)
  %87 = icmp slt i32 %86, %.710
  %88 = icmp ugt i32 %86, %70
  %or.cond730 = or i1 %87, %88
  br i1 %or.cond730, label %89, label %.critedge

89:                                               ; preds = %85
  store i32 -7, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

.critedge:                                        ; preds = %85, %79, %74
  %.pr = load i32, ptr %24, align 4, !tbaa !5
  %.not681 = icmp eq i32 %.pr, 0
  br i1 %.not681, label %90, label %.critedge.thread

90:                                               ; preds = %.critedge
  store i32 0, ptr %15, align 4, !tbaa !5
  %91 = load i32, ptr %2, align 4, !tbaa !5
  %92 = icmp eq i32 %91, 0
  br i1 %92, label %.critedge.thread, label %93

93:                                               ; preds = %90
  br i1 %63, label %94, label %100

94:                                               ; preds = %93
  %95 = load i32, ptr %5, align 4, !tbaa !5
  %96 = icmp eq i32 %95, 1
  br i1 %96, label %97, label %100

97:                                               ; preds = %94
  %98 = load i32, ptr %6, align 4, !tbaa !5
  %99 = icmp eq i32 %98, %91
  %spec.select711 = select i1 %99, i32 1, i32 3
  br label %100

100:                                              ; preds = %97, %94, %93
  %.1622 = phi i32 [ 3, %94 ], [ %.0621718, %93 ], [ %spec.select711, %97 ]
  %101 = tail call float @slamch_(ptr noundef nonnull @.str.5) #6
  %102 = tail call float @slamch_(ptr noundef nonnull @.str.6) #6
  %103 = load i32, ptr %2, align 4, !tbaa !5
  %104 = icmp eq i32 %103, 1
  br i1 %104, label %105, label %121

105:                                              ; preds = %100
  switch i32 %.1622, label %default.unreachable [
    i32 1, label %119
    i32 2, label %106
    i32 3, label %113
  ]

106:                                              ; preds = %105
  %107 = load float, ptr %9, align 4, !tbaa !9
  %108 = load float, ptr %3, align 4, !tbaa !9
  %109 = fcmp ogt float %107, %108
  br i1 %109, label %110, label %.critedge.thread

110:                                              ; preds = %106
  %111 = load float, ptr %4, align 4, !tbaa !9
  %112 = fcmp ugt float %107, %111
  br i1 %112, label %.critedge.thread, label %119

113:                                              ; preds = %105
  %114 = load i32, ptr %5, align 4, !tbaa !5
  %115 = icmp eq i32 %114, 1
  br i1 %115, label %116, label %.critedge.thread

116:                                              ; preds = %113
  %117 = load i32, ptr %6, align 4, !tbaa !5
  %118 = icmp eq i32 %117, 1
  br i1 %118, label %119, label %.critedge.thread

119:                                              ; preds = %105, %116, %110
  store i32 1, ptr %15, align 4, !tbaa !5
  %120 = load float, ptr %9, align 4, !tbaa !9
  store float %120, ptr %16, align 4, !tbaa !9
  store float 0.000000e+00, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %20, align 4, !tbaa !5
  store i32 1, ptr %21, align 4, !tbaa !5
  br label %.critedge.thread

121:                                              ; preds = %100
  %122 = tail call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.8, ptr noundef nonnull %2, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #6
  %123 = icmp slt i32 %122, 2
  %spec.store.select = select i1 %123, i32 0, i32 %122
  store i32 %spec.store.select, ptr %39, align 4
  %124 = load float, ptr %9, align 4, !tbaa !9
  %125 = load i32, ptr %2, align 4, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %7, i64 -8
  %.not682744 = icmp slt i32 %125, 1
  %126 = insertelement <2 x float> poison, float %124, i64 0
  %127 = shufflevector <2 x float> %126, <2 x float> poison, <2 x i32> zeroinitializer
  br i1 %.not682744, label %._crit_edge, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %121
  %128 = add nuw i32 %125, 1
  %wide.trip.count = zext i32 %128 to i64
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader, %.lr.ph
  %indvars.iv = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next, %.lr.ph ]
  %129 = phi <2 x float> [ %127, %.lr.ph.preheader ], [ %139, %.lr.ph ]
  %sext = shl i64 %indvars.iv, 33
  %130 = ashr exact i64 %sext, 30
  %gep = getelementptr i8, ptr %invariant.gep, i64 %130
  %131 = load float, ptr %gep, align 4, !tbaa !9
  %.idx = shl i64 %indvars.iv, 3
  %132 = getelementptr inbounds i8, ptr %53, i64 %.idx
  %133 = load float, ptr %132, align 4, !tbaa !9
  %134 = insertelement <2 x float> %129, float %133, i64 1
  %135 = insertelement <2 x float> %129, float %131, i64 0
  %136 = fcmp ole <2 x float> %134, %135
  %137 = insertelement <2 x float> poison, float %131, i64 0
  %138 = insertelement <2 x float> %137, float %133, i64 1
  %139 = select <2 x i1> %136, <2 x float> %129, <2 x float> %138
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !11

._crit_edge:                                      ; preds = %.lr.ph, %121
  %140 = phi <2 x float> [ %127, %121 ], [ %139, %.lr.ph ]
  %141 = fcmp oge <2 x float> %140, zeroinitializer
  %142 = fneg <2 x float> %140
  %143 = select <2 x i1> %141, <2 x float> %140, <2 x float> %142
  %144 = extractelement <2 x float> %143, i64 0
  %145 = extractelement <2 x float> %143, i64 1
  %146 = fcmp oge float %144, %145
  %147 = select i1 %146, float %144, float %145
  %148 = fmul float %147, 2.000000e+00
  %149 = fmul float %101, %148
  %150 = sitofp i32 %125 to float
  %151 = fneg float %149
  %152 = load float, ptr %12, align 4, !tbaa !9
  %153 = fneg float %152
  %154 = insertelement <2 x float> poison, float %151, i64 0
  %155 = insertelement <2 x float> %154, float %149, i64 1
  %156 = insertelement <2 x float> poison, float %150, i64 0
  %157 = shufflevector <2 x float> %156, <2 x float> poison, <2 x i32> zeroinitializer
  %158 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %155, <2 x float> %157, <2 x float> %140)
  %159 = insertelement <2 x float> poison, float %153, i64 0
  %160 = insertelement <2 x float> %159, float %152, i64 1
  %161 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %160, <2 x float> <float 4.000000e+00, float 4.000000e+00>, <2 x float> %158)
  %162 = load float, ptr %8, align 4, !tbaa !9
  store float %162, ptr %38, align 4, !tbaa !9
  %163 = fmul float %152, 4.000000e+00
  %164 = tail call float @llvm.fmuladd.f32(float %102, float 4.000000e+00, float %163)
  store float %164, ptr %36, align 4, !tbaa !9
  %165 = icmp eq i32 %.1622, 3
  br i1 %165, label %166, label %222

166:                                              ; preds = %._crit_edge
  %167 = shufflevector <2 x float> %161, <2 x float> poison, <4 x i32> <i32 0, i32 0, i32 1, i32 1>
  %168 = fadd float %147, %152
  %169 = fpext float %168 to double
  %170 = tail call double @log(double noundef %169) #6
  %171 = load float, ptr %12, align 4, !tbaa !9
  %172 = fpext float %171 to double
  %173 = tail call double @log(double noundef %172) #6
  %174 = fsub double %170, %173
  %175 = fdiv double %174, 0x3FE62E42FEFA39EF
  %176 = fptosi double %175 to i32
  %177 = add nsw i32 %176, 2
  store i32 %177, ptr %37, align 4, !tbaa !5
  %178 = load i32, ptr %2, align 4, !tbaa !5
  %179 = sext i32 %178 to i64
  %180 = getelementptr float, ptr %44, i64 %179
  %181 = getelementptr i8, ptr %180, i64 4
  store <4 x float> %167, ptr %181, align 4, !tbaa !9
  %182 = getelementptr i8, ptr %180, i64 20
  store <2 x float> %161, ptr %182, align 4, !tbaa !9
  store i32 -1, ptr %23, align 4, !tbaa !5
  %183 = getelementptr inbounds i8, ptr %23, i64 4
  store i32 -1, ptr %183, align 4, !tbaa !5
  %184 = load i32, ptr %2, align 4, !tbaa !5
  %185 = add nsw i32 %184, 1
  %186 = getelementptr inbounds i8, ptr %23, i64 8
  store i32 %185, ptr %186, align 4, !tbaa !5
  %187 = load i32, ptr %2, align 4, !tbaa !5
  %188 = add nsw i32 %187, 1
  %189 = getelementptr inbounds i8, ptr %23, i64 12
  store i32 %188, ptr %189, align 4, !tbaa !5
  %190 = load i32, ptr %5, align 4, !tbaa !5
  %191 = add nsw i32 %190, -1
  %192 = getelementptr inbounds i8, ptr %23, i64 16
  store i32 %191, ptr %192, align 4, !tbaa !5
  %193 = load i32, ptr %6, align 4, !tbaa !5
  %194 = getelementptr inbounds i8, ptr %23, i64 20
  store i32 %193, ptr %194, align 4, !tbaa !5
  %195 = load i32, ptr %2, align 4, !tbaa !5
  %196 = sext i32 %195 to i64
  %197 = getelementptr float, ptr %44, i64 %196
  %198 = getelementptr i8, ptr %197, i64 4
  %199 = getelementptr i8, ptr %197, i64 20
  call void @slaebz_(ptr noundef nonnull @c__3, ptr noundef nonnull %37, ptr noundef nonnull %2, ptr noundef nonnull @c__2, ptr noundef nonnull @c__2, ptr noundef nonnull %39, ptr noundef nonnull %36, ptr noundef nonnull %38, ptr noundef nonnull %12, ptr noundef nonnull %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull %192, ptr noundef %198, ptr noundef %199, ptr noundef nonnull %34, ptr noundef nonnull %23, ptr noundef %16, ptr noundef %20, ptr noundef nonnull %35) #6
  %200 = load i32, ptr %35, align 4, !tbaa !5
  %.not683 = icmp eq i32 %200, 0
  br i1 %.not683, label %202, label %201

201:                                              ; preds = %166
  store i32 %200, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

202:                                              ; preds = %166
  %203 = load i32, ptr %194, align 4, !tbaa !5
  %204 = load i32, ptr %6, align 4, !tbaa !5
  %205 = icmp eq i32 %203, %204
  %206 = load i32, ptr %2, align 4, !tbaa !5
  %207 = sext i32 %206 to i64
  %208 = getelementptr float, ptr %44, i64 %207
  %. = select i1 %205, i64 4, i64 8
  %.953 = select i1 %205, i64 12, i64 16
  %.954 = select i1 %205, i64 16, i64 12
  %.956 = select i1 %205, ptr %23, ptr %183
  %209 = getelementptr i8, ptr %208, i64 %.
  %210 = load float, ptr %209, align 4, !tbaa !9
  store float %210, ptr %18, align 4, !tbaa !9
  %211 = getelementptr i8, ptr %208, i64 %.953
  %212 = getelementptr i8, ptr %208, i64 %.954
  %.0602 = load float, ptr %211, align 4, !tbaa !9
  %.0604 = load i32, ptr %.956, align 4, !tbaa !5
  %.sink = load float, ptr %212, align 4, !tbaa !9
  store float %.sink, ptr %19, align 4
  %213 = icmp slt i32 %.0604, 0
  br i1 %213, label %221, label %214

214:                                              ; preds = %202
  %.955 = select i1 %205, i64 8, i64 4
  %215 = getelementptr i8, ptr %208, i64 %.955
  %.957 = select i1 %205, ptr %189, ptr %186
  %.0600 = load float, ptr %215, align 4, !tbaa !9
  %.0598 = load i32, ptr %.957, align 4, !tbaa !5
  %216 = load i32, ptr %2, align 4, !tbaa !5
  %217 = icmp sge i32 %.0604, %216
  %218 = icmp slt i32 %.0598, 1
  %219 = icmp sgt i32 %.0598, %216
  %220 = or i1 %218, %219
  %or.cond712 = select i1 %217, i1 true, i1 %220
  br i1 %or.cond712, label %221, label %229

221:                                              ; preds = %214, %202
  store i32 4, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

222:                                              ; preds = %._crit_edge
  switch i32 %.1622, label %229 [
    i32 2, label %223
    i32 1, label %226
  ]

223:                                              ; preds = %222
  %224 = load float, ptr %3, align 4, !tbaa !9
  store float %224, ptr %18, align 4, !tbaa !9
  %225 = load float, ptr %4, align 4, !tbaa !9
  br label %.sink.split

226:                                              ; preds = %222
  %227 = extractelement <2 x float> %161, i64 0
  store float %227, ptr %18, align 4, !tbaa !9
  %228 = extractelement <2 x float> %161, i64 1
  br label %.sink.split

.sink.split:                                      ; preds = %226, %223
  %.sink952 = phi float [ %225, %223 ], [ %228, %226 ]
  store float %.sink952, ptr %19, align 4, !tbaa !9
  br label %229

229:                                              ; preds = %.sink.split, %222, %214
  %.1603 = phi float [ %.0602, %214 ], [ undef, %222 ], [ undef, %.sink.split ]
  %.1601 = phi float [ %.0600, %214 ], [ undef, %222 ], [ undef, %.sink.split ]
  store i32 0, ptr %15, align 4, !tbaa !5
  store i32 0, ptr %24, align 4, !tbaa !5
  %230 = load i32, ptr %13, align 4, !tbaa !5
  %.not684782 = icmp slt i32 %230, 1
  br i1 %.not684782, label %._crit_edge791, label %.lr.ph790

.lr.ph790:                                        ; preds = %229
  %231 = icmp sgt i32 %.1622, 1
  %232 = icmp eq i32 %.1622, 1
  %233 = add nuw i32 %230, 1
  %wide.trip.count880 = zext i32 %233 to i64
  %234 = sub i64 %33, %32
  %235 = sub i64 %31, %30
  %diff.check = icmp ult i64 %234, 32
  %diff.check967 = icmp ult i64 %235, 32
  %conflict.rdx = or i1 %diff.check, %diff.check967
  br label %236

236:                                              ; preds = %.lr.ph790, %436
  %indvars.iv877 = phi i64 [ 1, %.lr.ph790 ], [ %indvars.iv.next878, %436 ]
  %.1599788 = phi i32 [ 0, %.lr.ph790 ], [ %.3, %436 ]
  %.1605787 = phi i32 [ 0, %.lr.ph790 ], [ %.3607, %436 ]
  %.0611786 = phi i32 [ 0, %.lr.ph790 ], [ %.3614, %436 ]
  %.0653783 = phi i32 [ 0, %.lr.ph790 ], [ %239, %436 ]
  %indvars879 = trunc i64 %indvars.iv877 to i32
  %237 = add nsw i32 %.0653783, 1
  %238 = getelementptr inbounds i32, ptr %49, i64 %indvars.iv877
  %239 = load i32, ptr %238, align 4, !tbaa !5
  %240 = sub nsw i32 %239, %.0653783
  store i32 %240, ptr %41, align 4, !tbaa !5
  %241 = icmp eq i32 %240, 1
  br i1 %241, label %242, label %266

242:                                              ; preds = %236
  %243 = load float, ptr %18, align 4, !tbaa !9
  %244 = sext i32 %237 to i64
  %245 = getelementptr inbounds float, ptr %52, i64 %244
  %246 = load float, ptr %245, align 4, !tbaa !9
  %247 = load float, ptr %12, align 4, !tbaa !9
  %248 = fsub float %246, %247
  %249 = fcmp oge float %243, %248
  %250 = zext i1 %249 to i32
  %.2606 = add nsw i32 %.1605787, %250
  %251 = load float, ptr %19, align 4, !tbaa !9
  %252 = fcmp ult float %251, %248
  %not. = xor i1 %252, true
  %253 = zext i1 %not. to i32
  %.2 = add nsw i32 %.1599788, %253
  br i1 %232, label %256, label %254

254:                                              ; preds = %242
  %255 = fcmp uge float %243, %248
  %brmerge = select i1 %255, i1 true, i1 %252
  %.2.mux = select i1 %255, i32 %.2, i32 %.1599788
  br i1 %brmerge, label %436, label %256

256:                                              ; preds = %254, %242
  %257 = load i32, ptr %15, align 4, !tbaa !5
  %258 = add nsw i32 %257, 1
  store i32 %258, ptr %15, align 4, !tbaa !5
  %259 = sext i32 %258 to i64
  %260 = getelementptr inbounds float, ptr %48, i64 %259
  store float %246, ptr %260, align 4, !tbaa !9
  %261 = getelementptr inbounds float, ptr %47, i64 %259
  store float 0.000000e+00, ptr %261, align 4, !tbaa !9
  %262 = getelementptr inbounds i32, ptr %46, i64 %259
  store i32 %indvars879, ptr %262, align 4, !tbaa !5
  %263 = load i32, ptr %15, align 4, !tbaa !5
  %264 = sext i32 %263 to i64
  %265 = getelementptr inbounds i32, ptr %45, i64 %264
  store i32 1, ptr %265, align 4, !tbaa !5
  br label %436

266:                                              ; preds = %236
  %267 = sext i32 %237 to i64
  %268 = getelementptr inbounds float, ptr %52, i64 %267
  %269 = load float, ptr %268, align 4, !tbaa !9
  %.not703749.not = icmp slt i32 %.0653783, %239
  br i1 %.not703749.not, label %.lr.ph754.preheader, label %._crit_edge755

.lr.ph754.preheader:                              ; preds = %266
  %270 = zext i32 %.0653783 to i64
  %271 = add nuw nsw i64 %270, 1
  %272 = add i32 %239, 1
  %.neg = add i32 %.0653783, 1
  %xtraiter = and i32 %240, 1
  %lcmp.mod.not = icmp eq i32 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.lr.ph754.prol.loopexit, label %.lr.ph754.prol

.lr.ph754.prol:                                   ; preds = %.lr.ph754.preheader
  %273 = trunc i64 %271 to i32
  %274 = shl i32 %273, 1
  %275 = sext i32 %274 to i64
  %276 = getelementptr float, ptr %53, i64 %275
  %277 = getelementptr i8, ptr %276, i64 -4
  %278 = load float, ptr %277, align 4, !tbaa !9
  %279 = fcmp ole float %269, %278
  %280 = select i1 %279, float %269, float %278
  %281 = load float, ptr %276, align 4, !tbaa !9
  %282 = fcmp oge float %269, %281
  %283 = select i1 %282, float %269, float %281
  %indvars.iv.next864.prol = add nuw nsw i64 %270, 2
  br label %.lr.ph754.prol.loopexit

.lr.ph754.prol.loopexit:                          ; preds = %.lr.ph754.prol, %.lr.ph754.preheader
  %.lcssa1011.unr = phi float [ poison, %.lr.ph754.preheader ], [ %280, %.lr.ph754.prol ]
  %.lcssa1010.unr = phi float [ poison, %.lr.ph754.preheader ], [ %283, %.lr.ph754.prol ]
  %indvars.iv863.unr = phi i64 [ %271, %.lr.ph754.preheader ], [ %indvars.iv.next864.prol, %.lr.ph754.prol ]
  %.1628752.unr = phi float [ %269, %.lr.ph754.preheader ], [ %283, %.lr.ph754.prol ]
  %.1631751.unr = phi float [ %269, %.lr.ph754.preheader ], [ %280, %.lr.ph754.prol ]
  %284 = icmp eq i32 %239, %.neg
  br i1 %284, label %._crit_edge755, label %.lr.ph754

.lr.ph754:                                        ; preds = %.lr.ph754.prol.loopexit, %.lr.ph754
  %indvars.iv863 = phi i64 [ %indvars.iv.next864.1, %.lr.ph754 ], [ %indvars.iv863.unr, %.lr.ph754.prol.loopexit ]
  %.1628752 = phi float [ %307, %.lr.ph754 ], [ %.1628752.unr, %.lr.ph754.prol.loopexit ]
  %.1631751 = phi float [ %304, %.lr.ph754 ], [ %.1631751.unr, %.lr.ph754.prol.loopexit ]
  %285 = trunc i64 %indvars.iv863 to i32
  %286 = shl i32 %285, 1
  %287 = sext i32 %286 to i64
  %288 = getelementptr float, ptr %53, i64 %287
  %289 = getelementptr i8, ptr %288, i64 -4
  %290 = load float, ptr %289, align 4, !tbaa !9
  %291 = fcmp ole float %.1631751, %290
  %292 = select i1 %291, float %.1631751, float %290
  %293 = load float, ptr %288, align 4, !tbaa !9
  %294 = fcmp oge float %.1628752, %293
  %295 = select i1 %294, float %.1628752, float %293
  %296 = trunc i64 %indvars.iv863 to i32
  %297 = shl i32 %296, 1
  %298 = add i32 %297, 2
  %299 = sext i32 %298 to i64
  %300 = getelementptr float, ptr %53, i64 %299
  %301 = getelementptr i8, ptr %300, i64 -4
  %302 = load float, ptr %301, align 4, !tbaa !9
  %303 = fcmp ole float %292, %302
  %304 = select i1 %303, float %292, float %302
  %305 = load float, ptr %300, align 4, !tbaa !9
  %306 = fcmp oge float %295, %305
  %307 = select i1 %306, float %295, float %305
  %indvars.iv.next864.1 = add nuw nsw i64 %indvars.iv863, 2
  %lftr.wideiv.1 = trunc i64 %indvars.iv.next864.1 to i32
  %exitcond866.not.1 = icmp eq i32 %272, %lftr.wideiv.1
  br i1 %exitcond866.not.1, label %._crit_edge755, label %.lr.ph754, !llvm.loop !13

._crit_edge755:                                   ; preds = %.lr.ph754.prol.loopexit, %.lr.ph754, %266
  %.1631.lcssa = phi float [ %269, %266 ], [ %.lcssa1011.unr, %.lr.ph754.prol.loopexit ], [ %304, %.lr.ph754 ]
  %.1628.lcssa = phi float [ %269, %266 ], [ %.lcssa1010.unr, %.lr.ph754.prol.loopexit ], [ %307, %.lr.ph754 ]
  %308 = sitofp i32 %240 to float
  %309 = call float @llvm.fmuladd.f32(float %151, float %308, float %.1631.lcssa)
  %310 = load float, ptr %12, align 4, !tbaa !9
  %311 = fneg float %310
  %312 = call float @llvm.fmuladd.f32(float %311, float 2.000000e+00, float %309)
  %313 = call float @llvm.fmuladd.f32(float %149, float %308, float %.1628.lcssa)
  %314 = call float @llvm.fmuladd.f32(float %310, float 2.000000e+00, float %313)
  br i1 %231, label %315, label %325

315:                                              ; preds = %._crit_edge755
  %316 = load float, ptr %18, align 4, !tbaa !9
  %317 = fcmp olt float %314, %316
  br i1 %317, label %318, label %321

318:                                              ; preds = %315
  %319 = add nsw i32 %240, %.1605787
  %320 = add nsw i32 %240, %.1599788
  br label %436

321:                                              ; preds = %315
  %.inv = fcmp oge float %312, %316
  %.713 = select i1 %.inv, float %312, float %316
  %322 = load float, ptr %19, align 4, !tbaa !9
  %.inv732 = fcmp ole float %314, %322
  %323 = select i1 %.inv732, float %314, float %322
  %324 = fcmp ult float %.713, %323
  br i1 %324, label %325, label %436

325:                                              ; preds = %321, %._crit_edge755
  %.2632 = phi float [ %.713, %321 ], [ %312, %._crit_edge755 ]
  %.2629 = phi float [ %323, %321 ], [ %314, %._crit_edge755 ]
  %326 = load i32, ptr %2, align 4, !tbaa !5
  %327 = sext i32 %326 to i64
  %gep771 = getelementptr float, ptr %22, i64 %327
  store float %.2632, ptr %gep771, align 4, !tbaa !9
  %328 = add nsw i32 %326, %240
  %329 = sext i32 %328 to i64
  %gep773 = getelementptr float, ptr %22, i64 %329
  store float %.2629, ptr %gep773, align 4, !tbaa !9
  %330 = getelementptr inbounds float, ptr %51, i64 %267
  %331 = getelementptr inbounds float, ptr %50, i64 %267
  %332 = shl i32 %240, 1
  %333 = add nsw i32 %326, %332
  %334 = sext i32 %333 to i64
  %gep775 = getelementptr float, ptr %22, i64 %334
  %335 = load i32, ptr %15, align 4, !tbaa !5
  %336 = add nsw i32 %335, 1
  %337 = sext i32 %336 to i64
  %338 = getelementptr inbounds float, ptr %48, i64 %337
  %339 = getelementptr inbounds i32, ptr %46, i64 %337
  call void @slaebz_(ptr noundef nonnull @c__1, ptr noundef nonnull @c__0, ptr noundef nonnull %41, ptr noundef nonnull %41, ptr noundef nonnull @c__1, ptr noundef nonnull %39, ptr noundef nonnull %36, ptr noundef nonnull %38, ptr noundef nonnull %12, ptr noundef nonnull %268, ptr noundef nonnull %330, ptr noundef nonnull %331, ptr noundef nonnull %42, ptr noundef nonnull %gep771, ptr noundef %gep775, ptr noundef nonnull %40, ptr noundef %23, ptr noundef nonnull %338, ptr noundef nonnull %339, ptr noundef nonnull %35) #6
  %340 = load i32, ptr %35, align 4, !tbaa !5
  %.not704 = icmp eq i32 %340, 0
  br i1 %.not704, label %342, label %341

341:                                              ; preds = %325
  store i32 %340, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

342:                                              ; preds = %325
  %343 = load i32, ptr %23, align 4, !tbaa !5
  %344 = add nsw i32 %343, %.1605787
  %345 = load i32, ptr %41, align 4, !tbaa !5
  %346 = sext i32 %345 to i64
  %gep777 = getelementptr i32, ptr %23, i64 %346
  %347 = load i32, ptr %gep777, align 4, !tbaa !5
  %348 = add nsw i32 %347, %.1599788
  %349 = load i32, ptr %15, align 4, !tbaa !5
  %350 = sub nsw i32 %349, %343
  %351 = fsub float %.2629, %.2632
  %352 = load float, ptr %12, align 4, !tbaa !9
  %353 = fadd float %351, %352
  %354 = fpext float %353 to double
  %355 = call double @log(double noundef %354) #6
  %356 = load float, ptr %12, align 4, !tbaa !9
  %357 = fpext float %356 to double
  %358 = call double @log(double noundef %357) #6
  %359 = fsub double %355, %358
  %360 = fdiv double %359, 0x3FE62E42FEFA39EF
  %361 = fptosi double %360 to i32
  %362 = add nsw i32 %361, 2
  store i32 %362, ptr %37, align 4, !tbaa !5
  %363 = load i32, ptr %2, align 4, !tbaa !5
  %364 = sext i32 %363 to i64
  %gep779 = getelementptr float, ptr %22, i64 %364
  %365 = load i32, ptr %41, align 4, !tbaa !5
  %366 = shl i32 %365, 1
  %367 = add nsw i32 %366, %363
  %368 = sext i32 %367 to i64
  %gep781 = getelementptr float, ptr %22, i64 %368
  %369 = load i32, ptr %15, align 4, !tbaa !5
  %370 = add nsw i32 %369, 1
  %371 = sext i32 %370 to i64
  %372 = getelementptr inbounds float, ptr %48, i64 %371
  %373 = getelementptr inbounds i32, ptr %46, i64 %371
  call void @slaebz_(ptr noundef nonnull @c__2, ptr noundef nonnull %37, ptr noundef nonnull %41, ptr noundef nonnull %41, ptr noundef nonnull @c__1, ptr noundef nonnull %39, ptr noundef nonnull %36, ptr noundef nonnull %38, ptr noundef nonnull %12, ptr noundef nonnull %268, ptr noundef nonnull %330, ptr noundef nonnull %331, ptr noundef nonnull %42, ptr noundef %gep779, ptr noundef %gep781, ptr noundef nonnull %34, ptr noundef nonnull %23, ptr noundef nonnull %372, ptr noundef nonnull %373, ptr noundef nonnull %35) #6
  %374 = load i32, ptr %35, align 4, !tbaa !5
  %.not705 = icmp eq i32 %374, 0
  br i1 %.not705, label %376, label %375

375:                                              ; preds = %342
  store i32 %374, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

376:                                              ; preds = %342
  %377 = load i32, ptr %34, align 4, !tbaa !5
  %.not706763 = icmp slt i32 %377, 1
  br i1 %.not706763, label %._crit_edge768, label %.lr.ph767

.lr.ph767:                                        ; preds = %376
  %378 = load i32, ptr %41, align 4, !tbaa !5
  %379 = sub nsw i32 0, %indvars879
  %380 = add i32 %350, 1
  %381 = add i32 %349, 1
  %382 = sub i32 %381, %343
  %383 = sext i32 %378 to i64
  %384 = zext nneg i32 %377 to i64
  %385 = add nuw i32 %377, 1
  %wide.trip.count875 = zext i32 %385 to i64
  %broadcast.splatinsert971 = insertelement <4 x i32> poison, i32 %350, i64 0
  %broadcast.splat972 = shufflevector <4 x i32> %broadcast.splatinsert971, <4 x i32> poison, <4 x i32> zeroinitializer
  br label %386

386:                                              ; preds = %.lr.ph767, %._crit_edge762
  %indvars.iv872 = phi i64 [ 1, %.lr.ph767 ], [ %indvars.iv.next873, %._crit_edge762 ]
  %.1612765 = phi i32 [ %.0611786, %.lr.ph767 ], [ %.2613, %._crit_edge762 ]
  %387 = load i32, ptr %2, align 4, !tbaa !5
  %388 = sext i32 %387 to i64
  %389 = getelementptr float, ptr %44, i64 %indvars.iv872
  %390 = getelementptr float, ptr %389, i64 %388
  %391 = load float, ptr %390, align 4, !tbaa !9
  %392 = add nsw i64 %indvars.iv872, %383
  %393 = getelementptr float, ptr %44, i64 %392
  %394 = getelementptr float, ptr %393, i64 %388
  %395 = load float, ptr %394, align 4, !tbaa !9
  %396 = fadd float %391, %395
  %397 = fmul float %396, 5.000000e-01
  %398 = fsub float %391, %395
  %399 = fcmp oge float %398, 0.000000e+00
  %400 = fneg float %398
  %401 = select i1 %399, float %398, float %400
  %402 = fmul float %401, 5.000000e-01
  %403 = icmp ugt i64 %indvars.iv872, %384
  %.0639 = select i1 %403, i32 %379, i32 %indvars879
  %.2613 = select i1 %403, i32 1, i32 %.1612765
  %404 = getelementptr inbounds i32, ptr %43, i64 %392
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = add nsw i32 %405, %350
  %407 = getelementptr inbounds i32, ptr %43, i64 %indvars.iv872
  %408 = load i32, ptr %407, align 4, !tbaa !5
  %409 = add i32 %380, %408
  %.not707758 = icmp sgt i32 %409, %406
  br i1 %.not707758, label %._crit_edge762, label %.lr.ph761.preheader

.lr.ph761.preheader:                              ; preds = %386
  %410 = sext i32 %409 to i64
  %411 = add i32 %382, %405
  %412 = xor i32 %408, -1
  %413 = add i32 %405, %412
  %414 = zext i32 %413 to i64
  %415 = add nuw nsw i64 %414, 1
  %min.iters.check = icmp ult i32 %413, 7
  %brmerge1034 = or i1 %min.iters.check, %conflict.rdx
  br i1 %brmerge1034, label %.lr.ph761.preheader1009, label %vector.ph

vector.ph:                                        ; preds = %.lr.ph761.preheader
  %n.vec = and i64 %415, 8589934584
  %ind.end = add nsw i64 %n.vec, %410
  %.splatinsert = insertelement <4 x i32> poison, i32 %409, i64 0
  %.splat = shufflevector <4 x i32> %.splatinsert, <4 x i32> poison, <4 x i32> zeroinitializer
  %induction = add <4 x i32> %.splat, <i32 0, i32 1, i32 2, i32 3>
  %broadcast.splatinsert = insertelement <4 x float> poison, float %397, i64 0
  %broadcast.splat = shufflevector <4 x float> %broadcast.splatinsert, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert969 = insertelement <4 x float> poison, float %402, i64 0
  %broadcast.splat970 = shufflevector <4 x float> %broadcast.splatinsert969, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert973 = insertelement <4 x i32> poison, i32 %.0639, i64 0
  %broadcast.splat974 = shufflevector <4 x i32> %broadcast.splatinsert973, <4 x i32> poison, <4 x i32> zeroinitializer
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %vec.ind = phi <4 x i32> [ %induction, %vector.ph ], [ %vec.ind.next, %vector.body ]
  %step.add = add <4 x i32> %vec.ind, <i32 4, i32 4, i32 4, i32 4>
  %offset.idx = add i64 %index, %410
  %416 = getelementptr inbounds float, ptr %48, i64 %offset.idx
  %417 = getelementptr inbounds i8, ptr %416, i64 16
  store <4 x float> %broadcast.splat, ptr %416, align 4, !tbaa !9
  store <4 x float> %broadcast.splat, ptr %417, align 4, !tbaa !9
  %418 = getelementptr inbounds float, ptr %47, i64 %offset.idx
  %419 = getelementptr inbounds i8, ptr %418, i64 16
  store <4 x float> %broadcast.splat970, ptr %418, align 4, !tbaa !9
  store <4 x float> %broadcast.splat970, ptr %419, align 4, !tbaa !9
  %420 = sub nsw <4 x i32> %vec.ind, %broadcast.splat972
  %421 = sub nsw <4 x i32> %step.add, %broadcast.splat972
  %422 = getelementptr inbounds i32, ptr %45, i64 %offset.idx
  %423 = getelementptr inbounds i8, ptr %422, i64 16
  store <4 x i32> %420, ptr %422, align 4, !tbaa !5
  store <4 x i32> %421, ptr %423, align 4, !tbaa !5
  %424 = getelementptr inbounds i32, ptr %46, i64 %offset.idx
  %425 = getelementptr inbounds i8, ptr %424, i64 16
  store <4 x i32> %broadcast.splat974, ptr %424, align 4, !tbaa !5
  store <4 x i32> %broadcast.splat974, ptr %425, align 4, !tbaa !5
  %index.next = add nuw i64 %index, 8
  %vec.ind.next = add <4 x i32> %vec.ind, <i32 8, i32 8, i32 8, i32 8>
  %426 = icmp eq i64 %index.next, %n.vec
  br i1 %426, label %middle.block, label %vector.body, !llvm.loop !14

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %415, %n.vec
  br i1 %cmp.n, label %._crit_edge762, label %.lr.ph761.preheader1009

.lr.ph761.preheader1009:                          ; preds = %.lr.ph761.preheader, %middle.block
  %indvars.iv867.ph = phi i64 [ %410, %.lr.ph761.preheader ], [ %ind.end, %middle.block ]
  br label %.lr.ph761

.lr.ph761:                                        ; preds = %.lr.ph761.preheader1009, %.lr.ph761
  %indvars.iv867 = phi i64 [ %indvars.iv.next868, %.lr.ph761 ], [ %indvars.iv867.ph, %.lr.ph761.preheader1009 ]
  %427 = getelementptr inbounds float, ptr %48, i64 %indvars.iv867
  store float %397, ptr %427, align 4, !tbaa !9
  %428 = getelementptr inbounds float, ptr %47, i64 %indvars.iv867
  store float %402, ptr %428, align 4, !tbaa !9
  %429 = trunc nsw i64 %indvars.iv867 to i32
  %430 = sub nsw i32 %429, %350
  %431 = getelementptr inbounds i32, ptr %45, i64 %indvars.iv867
  store i32 %430, ptr %431, align 4, !tbaa !5
  %432 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv867
  store i32 %.0639, ptr %432, align 4, !tbaa !5
  %indvars.iv.next868 = add nsw i64 %indvars.iv867, 1
  %lftr.wideiv870 = trunc i64 %indvars.iv.next868 to i32
  %exitcond871.not = icmp eq i32 %411, %lftr.wideiv870
  br i1 %exitcond871.not, label %._crit_edge762, label %.lr.ph761, !llvm.loop !17

._crit_edge762:                                   ; preds = %.lr.ph761, %middle.block, %386
  %indvars.iv.next873 = add nuw nsw i64 %indvars.iv872, 1
  %exitcond876.not = icmp eq i64 %indvars.iv.next873, %wide.trip.count875
  br i1 %exitcond876.not, label %._crit_edge768, label %386, !llvm.loop !18

._crit_edge768:                                   ; preds = %._crit_edge762, %376
  %.1612.lcssa = phi i32 [ %.0611786, %376 ], [ %.2613, %._crit_edge762 ]
  %433 = load i32, ptr %40, align 4, !tbaa !5
  %434 = load i32, ptr %15, align 4, !tbaa !5
  %435 = add nsw i32 %434, %433
  store i32 %435, ptr %15, align 4, !tbaa !5
  br label %436

436:                                              ; preds = %254, %318, %321, %256, %._crit_edge768
  %.3614 = phi i32 [ %.0611786, %256 ], [ %.0611786, %254 ], [ %.0611786, %318 ], [ %.0611786, %321 ], [ %.1612.lcssa, %._crit_edge768 ]
  %.3607 = phi i32 [ %.2606, %256 ], [ %.2606, %254 ], [ %319, %318 ], [ %.1605787, %321 ], [ %344, %._crit_edge768 ]
  %.3 = phi i32 [ %.2, %256 ], [ %.2.mux, %254 ], [ %320, %318 ], [ %.1599788, %321 ], [ %348, %._crit_edge768 ]
  %indvars.iv.next878 = add nuw nsw i64 %indvars.iv877, 1
  %exitcond881.not = icmp eq i64 %indvars.iv.next878, %wide.trip.count880
  br i1 %exitcond881.not, label %._crit_edge791, label %236, !llvm.loop !19

._crit_edge791:                                   ; preds = %436, %229
  %.0611.lcssa = phi i32 [ 0, %229 ], [ %.3614, %436 ]
  %.1605.lcssa = phi i32 [ 0, %229 ], [ %.3607, %436 ]
  %.1599.lcssa = phi i32 [ 0, %229 ], [ %.3, %436 ]
  br i1 %165, label %437, label %.thread724

437:                                              ; preds = %._crit_edge791
  %438 = load i32, ptr %5, align 4, !tbaa !5
  %439 = xor i32 %.1605.lcssa, -1
  %440 = add i32 %438, %439
  %441 = load i32, ptr %6, align 4, !tbaa !5
  %442 = sub nsw i32 %.1599.lcssa, %441
  %443 = icmp sgt i32 %440, 0
  br i1 %443, label %444, label %470

444:                                              ; preds = %437
  store i32 0, ptr %40, align 4, !tbaa !5
  %445 = load i32, ptr %15, align 4, !tbaa !5
  %.not685795 = icmp slt i32 %445, 1
  br i1 %.not685795, label %._crit_edge800, label %.lr.ph799.preheader

.lr.ph799.preheader:                              ; preds = %444
  %446 = add nuw i32 %445, 1
  %wide.trip.count885 = zext i32 %446 to i64
  br label %.lr.ph799

.lr.ph799:                                        ; preds = %.lr.ph799.preheader, %467
  %indvars.iv882 = phi i64 [ 1, %.lr.ph799.preheader ], [ %indvars.iv.next883, %467 ]
  %.0618797 = phi i32 [ %440, %.lr.ph799.preheader ], [ %.1619, %467 ]
  %447 = phi i32 [ 0, %.lr.ph799.preheader ], [ %468, %467 ]
  %448 = getelementptr inbounds float, ptr %48, i64 %indvars.iv882
  %449 = load float, ptr %448, align 4, !tbaa !9
  %450 = fcmp ole float %449, %.1603
  %451 = icmp sgt i32 %.0618797, 0
  %or.cond3 = select i1 %450, i1 %451, i1 false
  br i1 %or.cond3, label %452, label %454

452:                                              ; preds = %.lr.ph799
  %453 = add nsw i32 %.0618797, -1
  br label %467

454:                                              ; preds = %.lr.ph799
  %455 = add nsw i32 %447, 1
  store i32 %455, ptr %40, align 4, !tbaa !5
  %456 = sext i32 %455 to i64
  %457 = getelementptr inbounds float, ptr %48, i64 %456
  store float %449, ptr %457, align 4, !tbaa !9
  %458 = getelementptr inbounds float, ptr %47, i64 %indvars.iv882
  %459 = load float, ptr %458, align 4, !tbaa !9
  %460 = getelementptr inbounds float, ptr %47, i64 %456
  store float %459, ptr %460, align 4, !tbaa !9
  %461 = getelementptr inbounds i32, ptr %45, i64 %indvars.iv882
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = getelementptr inbounds i32, ptr %45, i64 %456
  store i32 %462, ptr %463, align 4, !tbaa !5
  %464 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv882
  %465 = load i32, ptr %464, align 4, !tbaa !5
  %466 = getelementptr inbounds i32, ptr %46, i64 %456
  store i32 %465, ptr %466, align 4, !tbaa !5
  br label %467

467:                                              ; preds = %452, %454
  %468 = phi i32 [ %447, %452 ], [ %455, %454 ]
  %.1619 = phi i32 [ %453, %452 ], [ %.0618797, %454 ]
  %indvars.iv.next883 = add nuw nsw i64 %indvars.iv882, 1
  %exitcond886.not = icmp eq i64 %indvars.iv.next883, %wide.trip.count885
  br i1 %exitcond886.not, label %._crit_edge800, label %.lr.ph799, !llvm.loop !20

._crit_edge800:                                   ; preds = %467, %444
  %469 = phi i32 [ 0, %444 ], [ %468, %467 ]
  %.0618.lcssa = phi i32 [ %440, %444 ], [ %.1619, %467 ]
  store i32 %469, ptr %15, align 4, !tbaa !5
  br label %470

470:                                              ; preds = %._crit_edge800, %437
  %.2620 = phi i32 [ %.0618.lcssa, %._crit_edge800 ], [ %440, %437 ]
  %471 = icmp sgt i32 %442, 0
  br i1 %471, label %472, label %543

472:                                              ; preds = %470
  %473 = load i32, ptr %15, align 4, !tbaa !5
  %474 = add nsw i32 %473, 1
  store i32 %474, ptr %40, align 4, !tbaa !5
  %475 = icmp sgt i32 %473, 0
  br i1 %475, label %.lr.ph806.preheader, label %._crit_edge814

.lr.ph806.preheader:                              ; preds = %472
  %476 = zext nneg i32 %473 to i64
  br label %.lr.ph806

.lr.ph806:                                        ; preds = %.lr.ph806.preheader, %497
  %indvars.iv887 = phi i64 [ %476, %.lr.ph806.preheader ], [ %indvars.iv.next888, %497 ]
  %.0615804 = phi i32 [ %442, %.lr.ph806.preheader ], [ %.1616, %497 ]
  %477 = phi i32 [ %474, %.lr.ph806.preheader ], [ %498, %497 ]
  %478 = getelementptr inbounds float, ptr %48, i64 %indvars.iv887
  %479 = load float, ptr %478, align 4, !tbaa !9
  %480 = fcmp oge float %479, %.1601
  %481 = icmp sgt i32 %.0615804, 0
  %or.cond5 = select i1 %480, i1 %481, i1 false
  br i1 %or.cond5, label %482, label %484

482:                                              ; preds = %.lr.ph806
  %483 = add nsw i32 %.0615804, -1
  br label %497

484:                                              ; preds = %.lr.ph806
  %485 = add nsw i32 %477, -1
  store i32 %485, ptr %40, align 4, !tbaa !5
  %486 = sext i32 %485 to i64
  %487 = getelementptr inbounds float, ptr %48, i64 %486
  store float %479, ptr %487, align 4, !tbaa !9
  %488 = getelementptr inbounds float, ptr %47, i64 %indvars.iv887
  %489 = load float, ptr %488, align 4, !tbaa !9
  %490 = getelementptr inbounds float, ptr %47, i64 %486
  store float %489, ptr %490, align 4, !tbaa !9
  %491 = getelementptr inbounds i32, ptr %45, i64 %indvars.iv887
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = getelementptr inbounds i32, ptr %45, i64 %486
  store i32 %492, ptr %493, align 4, !tbaa !5
  %494 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv887
  %495 = load i32, ptr %494, align 4, !tbaa !5
  %496 = getelementptr inbounds i32, ptr %46, i64 %486
  store i32 %495, ptr %496, align 4, !tbaa !5
  br label %497

497:                                              ; preds = %482, %484
  %498 = phi i32 [ %477, %482 ], [ %485, %484 ]
  %.1616 = phi i32 [ %483, %482 ], [ %.0615804, %484 ]
  %indvars.iv.next888 = add nsw i64 %indvars.iv887, -1
  %499 = icmp sgt i64 %indvars.iv887, 1
  br i1 %499, label %.lr.ph806, label %._crit_edge807, !llvm.loop !21

._crit_edge807:                                   ; preds = %497
  %.pre = load i32, ptr %15, align 4, !tbaa !5
  %.not686809 = icmp sgt i32 %498, %.pre
  br i1 %.not686809, label %._crit_edge814, label %.lr.ph813.preheader

.lr.ph813.preheader:                              ; preds = %._crit_edge807
  %500 = sext i32 %498 to i64
  %501 = add i32 %.pre, 1
  %502 = sub i32 %501, %498
  %wide.trip.count897 = zext i32 %502 to i64
  %min.iters.check991 = icmp ult i32 %502, 28
  br i1 %min.iters.check991, label %.lr.ph813.preheader1006, label %vector.memcheck975

vector.memcheck975:                               ; preds = %.lr.ph813.preheader
  %503 = add i64 %29, 4
  %504 = shl nsw i64 %500, 2
  %505 = add i64 %504, %28
  %506 = sub i64 %503, %505
  %diff.check976 = icmp ult i64 %506, 16
  %507 = add i64 %29, -4
  %508 = sub i64 %507, %28
  %509 = add i64 %508, %504
  %diff.check977 = icmp ult i64 %509, 16
  %conflict.rdx978 = or i1 %diff.check976, %diff.check977
  %510 = sub i64 %29, %28
  %diff.check979 = icmp ult i64 %510, 16
  %conflict.rdx980 = or i1 %conflict.rdx978, %diff.check979
  %511 = add i64 %27, 4
  %512 = add i64 %504, %26
  %513 = sub i64 %511, %512
  %diff.check981 = icmp ult i64 %513, 16
  %conflict.rdx982 = or i1 %conflict.rdx980, %diff.check981
  %514 = add i64 %27, -4
  %515 = sub i64 %514, %26
  %516 = add i64 %515, %504
  %diff.check983 = icmp ult i64 %516, 16
  %conflict.rdx984 = or i1 %conflict.rdx982, %diff.check983
  %517 = sub i64 %27, %26
  %diff.check985 = icmp ult i64 %517, 16
  %conflict.rdx986 = or i1 %conflict.rdx984, %diff.check985
  %518 = add nsw i64 %504, 11
  %diff.check987 = icmp ult i64 %518, 16
  %conflict.rdx988 = or i1 %conflict.rdx986, %diff.check987
  br i1 %conflict.rdx988, label %.lr.ph813.preheader1006, label %vector.ph992

vector.ph992:                                     ; preds = %vector.memcheck975
  %n.vec994 = and i64 %wide.trip.count897, 4294967292
  %ind.end995 = add nsw i64 %n.vec994, %500
  br label %vector.body998

vector.body998:                                   ; preds = %vector.body998, %vector.ph992
  %index999 = phi i64 [ 0, %vector.ph992 ], [ %index.next1004, %vector.body998 ]
  %offset.idx1000 = add i64 %index999, %500
  %519 = getelementptr inbounds float, ptr %48, i64 %offset.idx1000
  %wide.load = load <4 x float>, ptr %519, align 4, !tbaa !9
  %520 = getelementptr float, ptr %16, i64 %index999
  store <4 x float> %wide.load, ptr %520, align 4, !tbaa !9
  %521 = getelementptr inbounds float, ptr %47, i64 %offset.idx1000
  %wide.load1001 = load <4 x float>, ptr %521, align 4, !tbaa !9
  %522 = getelementptr float, ptr %17, i64 %index999
  store <4 x float> %wide.load1001, ptr %522, align 4, !tbaa !9
  %523 = getelementptr inbounds i32, ptr %45, i64 %offset.idx1000
  %wide.load1002 = load <4 x i32>, ptr %523, align 4, !tbaa !5
  %524 = getelementptr i32, ptr %21, i64 %index999
  store <4 x i32> %wide.load1002, ptr %524, align 4, !tbaa !5
  %525 = getelementptr inbounds i32, ptr %46, i64 %offset.idx1000
  %wide.load1003 = load <4 x i32>, ptr %525, align 4, !tbaa !5
  %526 = getelementptr i32, ptr %20, i64 %index999
  store <4 x i32> %wide.load1003, ptr %526, align 4, !tbaa !5
  %index.next1004 = add nuw i64 %index999, 4
  %527 = icmp eq i64 %index.next1004, %n.vec994
  br i1 %527, label %middle.block989, label %vector.body998, !llvm.loop !22

middle.block989:                                  ; preds = %vector.body998
  %cmp.n1005 = icmp eq i64 %n.vec994, %wide.trip.count897
  br i1 %cmp.n1005, label %._crit_edge814.loopexit, label %.lr.ph813.preheader1006

.lr.ph813.preheader1006:                          ; preds = %middle.block989, %vector.memcheck975, %.lr.ph813.preheader
  %indvars.iv892.ph = phi i64 [ %500, %vector.memcheck975 ], [ %500, %.lr.ph813.preheader ], [ %ind.end995, %middle.block989 ]
  %indvars.iv890.ph = phi i64 [ 0, %vector.memcheck975 ], [ 0, %.lr.ph813.preheader ], [ %n.vec994, %middle.block989 ]
  br label %.lr.ph813

.lr.ph813:                                        ; preds = %.lr.ph813.preheader1006, %.lr.ph813
  %indvars.iv892 = phi i64 [ %indvars.iv.next893, %.lr.ph813 ], [ %indvars.iv892.ph, %.lr.ph813.preheader1006 ]
  %indvars.iv890 = phi i64 [ %indvars.iv.next891, %.lr.ph813 ], [ %indvars.iv890.ph, %.lr.ph813.preheader1006 ]
  %indvars.iv.next891 = add nuw nsw i64 %indvars.iv890, 1
  %528 = getelementptr inbounds float, ptr %48, i64 %indvars.iv892
  %529 = load float, ptr %528, align 4, !tbaa !9
  %530 = getelementptr float, ptr %16, i64 %indvars.iv890
  store float %529, ptr %530, align 4, !tbaa !9
  %531 = getelementptr inbounds float, ptr %47, i64 %indvars.iv892
  %532 = load float, ptr %531, align 4, !tbaa !9
  %533 = getelementptr float, ptr %17, i64 %indvars.iv890
  store float %532, ptr %533, align 4, !tbaa !9
  %534 = getelementptr inbounds i32, ptr %45, i64 %indvars.iv892
  %535 = load i32, ptr %534, align 4, !tbaa !5
  %536 = getelementptr i32, ptr %21, i64 %indvars.iv890
  store i32 %535, ptr %536, align 4, !tbaa !5
  %537 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv892
  %538 = load i32, ptr %537, align 4, !tbaa !5
  %539 = getelementptr i32, ptr %20, i64 %indvars.iv890
  store i32 %538, ptr %539, align 4, !tbaa !5
  %indvars.iv.next893 = add nsw i64 %indvars.iv892, 1
  %exitcond898.not = icmp eq i64 %indvars.iv.next891, %wide.trip.count897
  br i1 %exitcond898.not, label %._crit_edge814.loopexit, label %.lr.ph813, !llvm.loop !23

._crit_edge814.loopexit:                          ; preds = %.lr.ph813, %middle.block989
  %.pre928 = load i32, ptr %15, align 4, !tbaa !5
  br label %._crit_edge814

._crit_edge814:                                   ; preds = %472, %._crit_edge814.loopexit, %._crit_edge807
  %.0615.lcssa933 = phi i32 [ %.1616, %._crit_edge814.loopexit ], [ %.1616, %._crit_edge807 ], [ %442, %472 ]
  %540 = phi i32 [ %498, %._crit_edge814.loopexit ], [ %498, %._crit_edge807 ], [ %474, %472 ]
  %541 = phi i32 [ %.pre928, %._crit_edge814.loopexit ], [ %.pre, %._crit_edge807 ], [ %473, %472 ]
  %reass.sub = sub i32 %541, %540
  %542 = add i32 %reass.sub, 1
  store i32 %542, ptr %15, align 4, !tbaa !5
  br label %543

543:                                              ; preds = %._crit_edge814, %470
  %.2617 = phi i32 [ %.0615.lcssa933, %._crit_edge814 ], [ %442, %470 ]
  %544 = icmp sgt i32 %.2620, 0
  %545 = icmp sgt i32 %.2617, 0
  %or.cond7 = select i1 %544, i1 true, i1 %545
  br i1 %or.cond7, label %546, label %._crit_edge929

._crit_edge929:                                   ; preds = %543
  %.pre930 = load i32, ptr %15, align 4, !tbaa !5
  br label %645

546:                                              ; preds = %543
  br i1 %544, label %547, label %.loopexit735

547:                                              ; preds = %546
  %548 = load float, ptr %19, align 4, !tbaa !9
  br label %549

549:                                              ; preds = %547, %._crit_edge821
  %.0640825 = phi float [ %548, %547 ], [ %.1641.lcssa, %._crit_edge821 ]
  %.0646824 = phi i32 [ 1, %547 ], [ %584, %._crit_edge821 ]
  %550 = load i32, ptr %15, align 4, !tbaa !5
  %.not701815 = icmp slt i32 %550, 1
  br i1 %.not701815, label %._crit_edge821, label %.lr.ph820.preheader

.lr.ph820.preheader:                              ; preds = %549
  %551 = zext nneg i32 %550 to i64
  %xtraiter1016 = and i64 %551, 1
  %552 = icmp eq i32 %550, 1
  br i1 %552, label %._crit_edge821.loopexit.unr-lcssa, label %.lr.ph820.preheader.new

.lr.ph820.preheader.new:                          ; preds = %.lr.ph820.preheader
  %unroll_iter = and i64 %551, 2147483646
  br label %.lr.ph820

.lr.ph820:                                        ; preds = %572, %.lr.ph820.preheader.new
  %indvars.iv899 = phi i64 [ 1, %.lr.ph820.preheader.new ], [ %indvars.iv.next900.1, %572 ]
  %.0623818 = phi i32 [ 0, %.lr.ph820.preheader.new ], [ %.1624.1, %572 ]
  %.1641816 = phi float [ %.0640825, %.lr.ph820.preheader.new ], [ %.2642.1, %572 ]
  %niter = phi i64 [ 0, %.lr.ph820.preheader.new ], [ %niter.next.1, %572 ]
  %553 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv899
  %554 = load i32, ptr %553, align 4, !tbaa !5
  %.not702 = icmp eq i32 %554, 0
  br i1 %.not702, label %.lr.ph820.1, label %555

555:                                              ; preds = %.lr.ph820
  %556 = getelementptr inbounds float, ptr %48, i64 %indvars.iv899
  %557 = load float, ptr %556, align 4, !tbaa !9
  %558 = fcmp olt float %557, %.1641816
  %559 = icmp eq i32 %.0623818, 0
  %or.cond9 = select i1 %558, i1 true, i1 %559
  br i1 %or.cond9, label %560, label %.lr.ph820.1

560:                                              ; preds = %555
  %561 = trunc nuw nsw i64 %indvars.iv899 to i32
  br label %.lr.ph820.1

.lr.ph820.1:                                      ; preds = %.lr.ph820, %560, %555
  %.2642 = phi float [ %557, %560 ], [ %.1641816, %555 ], [ %.1641816, %.lr.ph820 ]
  %.1624 = phi i32 [ %561, %560 ], [ %.0623818, %555 ], [ %.0623818, %.lr.ph820 ]
  %562 = getelementptr i32, ptr %20, i64 %indvars.iv899
  %563 = load i32, ptr %562, align 4, !tbaa !5
  %.not702.1 = icmp eq i32 %563, 0
  br i1 %.not702.1, label %572, label %564

564:                                              ; preds = %.lr.ph820.1
  %565 = getelementptr float, ptr %16, i64 %indvars.iv899
  %566 = load float, ptr %565, align 4, !tbaa !9
  %567 = fcmp olt float %566, %.2642
  %568 = icmp eq i32 %.1624, 0
  %or.cond9.1 = select i1 %567, i1 true, i1 %568
  br i1 %or.cond9.1, label %569, label %572

569:                                              ; preds = %564
  %570 = trunc i64 %indvars.iv899 to i32
  %571 = add i32 %570, 1
  br label %572

572:                                              ; preds = %569, %564, %.lr.ph820.1
  %.2642.1 = phi float [ %566, %569 ], [ %.2642, %564 ], [ %.2642, %.lr.ph820.1 ]
  %.1624.1 = phi i32 [ %571, %569 ], [ %.1624, %564 ], [ %.1624, %.lr.ph820.1 ]
  %indvars.iv.next900.1 = add nuw nsw i64 %indvars.iv899, 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 %._crit_edge821.loopexit.unr-lcssa, label %.lr.ph820, !llvm.loop !24

._crit_edge821.loopexit.unr-lcssa:                ; preds = %572, %.lr.ph820.preheader
  %.2642.lcssa.ph = phi float [ poison, %.lr.ph820.preheader ], [ %.2642.1, %572 ]
  %.1624.lcssa.ph = phi i32 [ poison, %.lr.ph820.preheader ], [ %.1624.1, %572 ]
  %indvars.iv899.unr = phi i64 [ 1, %.lr.ph820.preheader ], [ %indvars.iv.next900.1, %572 ]
  %.0623818.unr = phi i32 [ 0, %.lr.ph820.preheader ], [ %.1624.1, %572 ]
  %.1641816.unr = phi float [ %.0640825, %.lr.ph820.preheader ], [ %.2642.1, %572 ]
  %lcmp.mod1017.not = icmp eq i64 %xtraiter1016, 0
  br i1 %lcmp.mod1017.not, label %._crit_edge821, label %.lr.ph820.epil

.lr.ph820.epil:                                   ; preds = %._crit_edge821.loopexit.unr-lcssa
  %573 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv899.unr
  %574 = load i32, ptr %573, align 4, !tbaa !5
  %.not702.epil = icmp eq i32 %574, 0
  br i1 %.not702.epil, label %._crit_edge821, label %575

575:                                              ; preds = %.lr.ph820.epil
  %576 = getelementptr inbounds float, ptr %48, i64 %indvars.iv899.unr
  %577 = load float, ptr %576, align 4, !tbaa !9
  %578 = fcmp olt float %577, %.1641816.unr
  %579 = icmp eq i32 %.0623818.unr, 0
  %or.cond9.epil = select i1 %578, i1 true, i1 %579
  br i1 %or.cond9.epil, label %580, label %._crit_edge821

580:                                              ; preds = %575
  %581 = trunc nuw nsw i64 %indvars.iv899.unr to i32
  br label %._crit_edge821

._crit_edge821:                                   ; preds = %._crit_edge821.loopexit.unr-lcssa, %580, %575, %.lr.ph820.epil, %549
  %.1641.lcssa = phi float [ %.0640825, %549 ], [ %.2642.lcssa.ph, %._crit_edge821.loopexit.unr-lcssa ], [ %577, %580 ], [ %.1641816.unr, %575 ], [ %.1641816.unr, %.lr.ph820.epil ]
  %.0623.lcssa = phi i32 [ 0, %549 ], [ %.1624.lcssa.ph, %._crit_edge821.loopexit.unr-lcssa ], [ %581, %580 ], [ %.0623818.unr, %575 ], [ %.0623818.unr, %.lr.ph820.epil ]
  %582 = sext i32 %.0623.lcssa to i64
  %583 = getelementptr inbounds i32, ptr %46, i64 %582
  store i32 0, ptr %583, align 4, !tbaa !5
  %584 = add nuw i32 %.0646824, 1
  %exitcond904.not = icmp eq i32 %.0646824, %.2620
  br i1 %exitcond904.not, label %.loopexit735, label %549, !llvm.loop !25

.loopexit735:                                     ; preds = %._crit_edge821, %546
  br i1 %545, label %585, label %.loopexit734

585:                                              ; preds = %.loopexit735
  %586 = load float, ptr %18, align 4, !tbaa !9
  br label %587

587:                                              ; preds = %585, %._crit_edge832
  %.3643836 = phi float [ %586, %585 ], [ %.4644.lcssa, %._crit_edge832 ]
  %.1647835 = phi i32 [ 1, %585 ], [ %622, %._crit_edge832 ]
  %588 = load i32, ptr %15, align 4, !tbaa !5
  %.not699826 = icmp slt i32 %588, 1
  br i1 %.not699826, label %._crit_edge832, label %.lr.ph831.preheader

.lr.ph831.preheader:                              ; preds = %587
  %589 = zext nneg i32 %588 to i64
  %xtraiter1020 = and i64 %589, 1
  %590 = icmp eq i32 %588, 1
  br i1 %590, label %._crit_edge832.loopexit.unr-lcssa, label %.lr.ph831.preheader.new

.lr.ph831.preheader.new:                          ; preds = %.lr.ph831.preheader
  %unroll_iter1024 = and i64 %589, 2147483646
  br label %.lr.ph831

.lr.ph831:                                        ; preds = %610, %.lr.ph831.preheader.new
  %indvars.iv905 = phi i64 [ 1, %.lr.ph831.preheader.new ], [ %indvars.iv.next906.1, %610 ]
  %.2625829 = phi i32 [ 0, %.lr.ph831.preheader.new ], [ %.3626.1, %610 ]
  %.4644827 = phi float [ %.3643836, %.lr.ph831.preheader.new ], [ %.5645.1, %610 ]
  %niter1025 = phi i64 [ 0, %.lr.ph831.preheader.new ], [ %niter1025.next.1, %610 ]
  %591 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv905
  %592 = load i32, ptr %591, align 4, !tbaa !5
  %.not700 = icmp eq i32 %592, 0
  br i1 %.not700, label %.lr.ph831.1, label %593

593:                                              ; preds = %.lr.ph831
  %594 = getelementptr inbounds float, ptr %48, i64 %indvars.iv905
  %595 = load float, ptr %594, align 4, !tbaa !9
  %596 = fcmp oge float %595, %.4644827
  %597 = icmp eq i32 %.2625829, 0
  %or.cond11 = select i1 %596, i1 true, i1 %597
  br i1 %or.cond11, label %598, label %.lr.ph831.1

598:                                              ; preds = %593
  %599 = trunc nuw nsw i64 %indvars.iv905 to i32
  br label %.lr.ph831.1

.lr.ph831.1:                                      ; preds = %.lr.ph831, %598, %593
  %.5645 = phi float [ %595, %598 ], [ %.4644827, %593 ], [ %.4644827, %.lr.ph831 ]
  %.3626 = phi i32 [ %599, %598 ], [ %.2625829, %593 ], [ %.2625829, %.lr.ph831 ]
  %600 = getelementptr i32, ptr %20, i64 %indvars.iv905
  %601 = load i32, ptr %600, align 4, !tbaa !5
  %.not700.1 = icmp eq i32 %601, 0
  br i1 %.not700.1, label %610, label %602

602:                                              ; preds = %.lr.ph831.1
  %603 = getelementptr float, ptr %16, i64 %indvars.iv905
  %604 = load float, ptr %603, align 4, !tbaa !9
  %605 = fcmp oge float %604, %.5645
  %606 = icmp eq i32 %.3626, 0
  %or.cond11.1 = select i1 %605, i1 true, i1 %606
  br i1 %or.cond11.1, label %607, label %610

607:                                              ; preds = %602
  %608 = trunc i64 %indvars.iv905 to i32
  %609 = add i32 %608, 1
  br label %610

610:                                              ; preds = %607, %602, %.lr.ph831.1
  %.5645.1 = phi float [ %604, %607 ], [ %.5645, %602 ], [ %.5645, %.lr.ph831.1 ]
  %.3626.1 = phi i32 [ %609, %607 ], [ %.3626, %602 ], [ %.3626, %.lr.ph831.1 ]
  %indvars.iv.next906.1 = add nuw nsw i64 %indvars.iv905, 2
  %niter1025.next.1 = add i64 %niter1025, 2
  %niter1025.ncmp.1 = icmp eq i64 %niter1025.next.1, %unroll_iter1024
  br i1 %niter1025.ncmp.1, label %._crit_edge832.loopexit.unr-lcssa, label %.lr.ph831, !llvm.loop !26

._crit_edge832.loopexit.unr-lcssa:                ; preds = %610, %.lr.ph831.preheader
  %.5645.lcssa.ph = phi float [ poison, %.lr.ph831.preheader ], [ %.5645.1, %610 ]
  %.3626.lcssa.ph = phi i32 [ poison, %.lr.ph831.preheader ], [ %.3626.1, %610 ]
  %indvars.iv905.unr = phi i64 [ 1, %.lr.ph831.preheader ], [ %indvars.iv.next906.1, %610 ]
  %.2625829.unr = phi i32 [ 0, %.lr.ph831.preheader ], [ %.3626.1, %610 ]
  %.4644827.unr = phi float [ %.3643836, %.lr.ph831.preheader ], [ %.5645.1, %610 ]
  %lcmp.mod1021.not = icmp eq i64 %xtraiter1020, 0
  br i1 %lcmp.mod1021.not, label %._crit_edge832, label %.lr.ph831.epil

.lr.ph831.epil:                                   ; preds = %._crit_edge832.loopexit.unr-lcssa
  %611 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv905.unr
  %612 = load i32, ptr %611, align 4, !tbaa !5
  %.not700.epil = icmp eq i32 %612, 0
  br i1 %.not700.epil, label %._crit_edge832, label %613

613:                                              ; preds = %.lr.ph831.epil
  %614 = getelementptr inbounds float, ptr %48, i64 %indvars.iv905.unr
  %615 = load float, ptr %614, align 4, !tbaa !9
  %616 = fcmp oge float %615, %.4644827.unr
  %617 = icmp eq i32 %.2625829.unr, 0
  %or.cond11.epil = select i1 %616, i1 true, i1 %617
  br i1 %or.cond11.epil, label %618, label %._crit_edge832

618:                                              ; preds = %613
  %619 = trunc nuw nsw i64 %indvars.iv905.unr to i32
  br label %._crit_edge832

._crit_edge832:                                   ; preds = %._crit_edge832.loopexit.unr-lcssa, %618, %613, %.lr.ph831.epil, %587
  %.4644.lcssa = phi float [ %.3643836, %587 ], [ %.5645.lcssa.ph, %._crit_edge832.loopexit.unr-lcssa ], [ %615, %618 ], [ %.4644827.unr, %613 ], [ %.4644827.unr, %.lr.ph831.epil ]
  %.2625.lcssa = phi i32 [ 0, %587 ], [ %.3626.lcssa.ph, %._crit_edge832.loopexit.unr-lcssa ], [ %619, %618 ], [ %.2625829.unr, %613 ], [ %.2625829.unr, %.lr.ph831.epil ]
  %620 = sext i32 %.2625.lcssa to i64
  %621 = getelementptr inbounds i32, ptr %46, i64 %620
  store i32 0, ptr %621, align 4, !tbaa !5
  %622 = add nuw i32 %.1647835, 1
  %exitcond910.not = icmp eq i32 %.1647835, %.2617
  br i1 %exitcond910.not, label %.loopexit734, label %587, !llvm.loop !27

.loopexit734:                                     ; preds = %._crit_edge832, %.loopexit735
  store i32 0, ptr %40, align 4, !tbaa !5
  %623 = load i32, ptr %15, align 4, !tbaa !5
  %.not689838 = icmp slt i32 %623, 1
  br i1 %.not689838, label %._crit_edge842, label %.lr.ph841.preheader

.lr.ph841.preheader:                              ; preds = %.loopexit734
  %624 = add nuw i32 %623, 1
  %wide.trip.count914 = zext i32 %624 to i64
  br label %.lr.ph841

.lr.ph841:                                        ; preds = %.lr.ph841.preheader, %642
  %indvars.iv911 = phi i64 [ 1, %.lr.ph841.preheader ], [ %indvars.iv.next912, %642 ]
  %625 = phi i32 [ 0, %.lr.ph841.preheader ], [ %643, %642 ]
  %626 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv911
  %627 = load i32, ptr %626, align 4, !tbaa !5
  %.not698 = icmp eq i32 %627, 0
  br i1 %.not698, label %642, label %628

628:                                              ; preds = %.lr.ph841
  %629 = add nsw i32 %625, 1
  store i32 %629, ptr %40, align 4, !tbaa !5
  %630 = getelementptr inbounds float, ptr %48, i64 %indvars.iv911
  %631 = load float, ptr %630, align 4, !tbaa !9
  %632 = sext i32 %629 to i64
  %633 = getelementptr inbounds float, ptr %48, i64 %632
  store float %631, ptr %633, align 4, !tbaa !9
  %634 = getelementptr inbounds float, ptr %47, i64 %indvars.iv911
  %635 = load float, ptr %634, align 4, !tbaa !9
  %636 = getelementptr inbounds float, ptr %47, i64 %632
  store float %635, ptr %636, align 4, !tbaa !9
  %637 = getelementptr inbounds i32, ptr %45, i64 %indvars.iv911
  %638 = load i32, ptr %637, align 4, !tbaa !5
  %639 = getelementptr inbounds i32, ptr %45, i64 %632
  store i32 %638, ptr %639, align 4, !tbaa !5
  %640 = load i32, ptr %626, align 4, !tbaa !5
  %641 = getelementptr inbounds i32, ptr %46, i64 %632
  store i32 %640, ptr %641, align 4, !tbaa !5
  br label %642

642:                                              ; preds = %.lr.ph841, %628
  %643 = phi i32 [ %625, %.lr.ph841 ], [ %629, %628 ]
  %indvars.iv.next912 = add nuw nsw i64 %indvars.iv911, 1
  %exitcond915.not = icmp eq i64 %indvars.iv.next912, %wide.trip.count914
  br i1 %exitcond915.not, label %._crit_edge842, label %.lr.ph841, !llvm.loop !28

._crit_edge842:                                   ; preds = %642, %.loopexit734
  %644 = phi i32 [ 0, %.loopexit734 ], [ %643, %642 ]
  store i32 %644, ptr %15, align 4, !tbaa !5
  br label %645

645:                                              ; preds = %._crit_edge929, %._crit_edge842
  %646 = phi i32 [ %.pre930, %._crit_edge929 ], [ %644, %._crit_edge842 ]
  %647 = icmp slt i32 %.2620, 0
  %648 = icmp slt i32 %.2617, 0
  %or.cond13 = select i1 %647, i1 true, i1 %648
  %649 = load i32, ptr %6, align 4, !tbaa !5
  %650 = load i32, ptr %5, align 4, !tbaa !5
  %651 = add i32 %649, 1
  %652 = sub i32 %651, %650
  %.not691 = icmp eq i32 %646, %652
  br i1 %.not691, label %.thread728, label %657

.thread724:                                       ; preds = %._crit_edge791
  %653 = icmp eq i32 %.1622, 1
  br i1 %653, label %654, label %.thread728

654:                                              ; preds = %.thread724
  %655 = load i32, ptr %15, align 4, !tbaa !5
  %656 = load i32, ptr %2, align 4, !tbaa !5
  %.not690 = icmp eq i32 %655, %656
  br i1 %.not690, label %.thread728, label %657

657:                                              ; preds = %645, %654
  br label %.thread728

.thread728:                                       ; preds = %654, %.thread724, %657, %645
  %.1610.shrunk = phi i1 [ true, %657 ], [ %or.cond13, %645 ], [ false, %.thread724 ], [ false, %654 ]
  %658 = call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #6
  %.not692 = icmp eq i32 %658, 0
  br i1 %.not692, label %.loopexit, label %659

659:                                              ; preds = %.thread728
  %660 = load i32, ptr %13, align 4, !tbaa !5
  %661 = icmp sgt i32 %660, 1
  br i1 %661, label %662, label %.loopexit

662:                                              ; preds = %659
  %663 = load i32, ptr %15, align 4, !tbaa !5
  %.not693.not852 = icmp sgt i32 %663, 1
  br i1 %.not693.not852, label %.lr.ph855.preheader, label %.loopexit

.lr.ph855.preheader:                              ; preds = %662
  %wide.trip.count926 = zext nneg i32 %663 to i64
  br label %.lr.ph855

.lr.ph855:                                        ; preds = %.lr.ph855.preheader, %._crit_edge849.thread
  %indvars.iv923 = phi i64 [ 1, %.lr.ph855.preheader ], [ %indvars.iv.next924, %._crit_edge849.thread ]
  %indvars.iv916 = phi i64 [ 2, %.lr.ph855.preheader ], [ %indvars.iv.next917, %._crit_edge849.thread ]
  %664 = getelementptr inbounds float, ptr %48, i64 %indvars.iv923
  %665 = load float, ptr %664, align 4, !tbaa !9
  %666 = load i32, ptr %15, align 4, !tbaa !5
  %indvars.iv.next924 = add nuw nsw i64 %indvars.iv923, 1
  %667 = sext i32 %666 to i64
  %.not696843.not = icmp slt i64 %indvars.iv923, %667
  br i1 %.not696843.not, label %.lr.ph848.preheader, label %._crit_edge849.thread

.lr.ph848.preheader:                              ; preds = %.lr.ph855
  %668 = add i32 %666, 1
  %wide.trip.count921 = zext i32 %668 to i64
  br label %.lr.ph848

.lr.ph848:                                        ; preds = %.lr.ph848.preheader, %.lr.ph848
  %indvars.iv918 = phi i64 [ %indvars.iv916, %.lr.ph848.preheader ], [ %indvars.iv.next919, %.lr.ph848 ]
  %.0846 = phi float [ %665, %.lr.ph848.preheader ], [ %.1, %.lr.ph848 ]
  %.0637845 = phi i32 [ 0, %.lr.ph848.preheader ], [ %.1638, %.lr.ph848 ]
  %669 = getelementptr inbounds float, ptr %48, i64 %indvars.iv918
  %670 = load float, ptr %669, align 4, !tbaa !9
  %671 = fcmp olt float %670, %.0846
  %672 = trunc nuw nsw i64 %indvars.iv918 to i32
  %.1638 = select i1 %671, i32 %672, i32 %.0637845
  %.1 = select i1 %671, float %670, float %.0846
  %indvars.iv.next919 = add nuw nsw i64 %indvars.iv918, 1
  %exitcond922.not = icmp eq i64 %indvars.iv.next919, %wide.trip.count921
  br i1 %exitcond922.not, label %._crit_edge849, label %.lr.ph848, !llvm.loop !29

._crit_edge849:                                   ; preds = %.lr.ph848
  %.not697 = icmp eq i32 %.1638, 0
  br i1 %.not697, label %._crit_edge849.thread, label %673

673:                                              ; preds = %._crit_edge849
  %674 = sext i32 %.1638 to i64
  %675 = getelementptr inbounds float, ptr %47, i64 %674
  %676 = load float, ptr %675, align 4, !tbaa !9
  %677 = getelementptr inbounds i32, ptr %46, i64 %674
  %678 = load i32, ptr %677, align 4, !tbaa !5
  %679 = getelementptr inbounds i32, ptr %45, i64 %674
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = getelementptr inbounds float, ptr %48, i64 %674
  store float %665, ptr %681, align 4, !tbaa !9
  %682 = getelementptr inbounds float, ptr %47, i64 %indvars.iv923
  %683 = load float, ptr %682, align 4, !tbaa !9
  store float %683, ptr %675, align 4, !tbaa !9
  %684 = getelementptr inbounds i32, ptr %46, i64 %indvars.iv923
  %685 = load i32, ptr %684, align 4, !tbaa !5
  store i32 %685, ptr %677, align 4, !tbaa !5
  %686 = getelementptr inbounds i32, ptr %45, i64 %indvars.iv923
  %687 = load i32, ptr %686, align 4, !tbaa !5
  store i32 %687, ptr %679, align 4, !tbaa !5
  store float %.1, ptr %664, align 4, !tbaa !9
  store float %676, ptr %682, align 4, !tbaa !9
  store i32 %678, ptr %684, align 4, !tbaa !5
  store i32 %680, ptr %686, align 4, !tbaa !5
  br label %._crit_edge849.thread

._crit_edge849.thread:                            ; preds = %.lr.ph855, %._crit_edge849, %673
  %indvars.iv.next917 = add nuw nsw i64 %indvars.iv916, 1
  %exitcond927.not = icmp eq i64 %indvars.iv.next924, %wide.trip.count926
  br i1 %exitcond927.not, label %.loopexit, label %.lr.ph855, !llvm.loop !30

.loopexit:                                        ; preds = %._crit_edge849.thread, %662, %659, %.thread728
  %.not694 = icmp ne i32 %.0611.lcssa, 0
  %spec.select715 = zext i1 %.not694 to i32
  store i32 %spec.select715, ptr %24, align 4, !tbaa !5
  br i1 %.1610.shrunk, label %688, label %.critedge.thread

688:                                              ; preds = %.loopexit
  %689 = select i1 %.not694, i32 3, i32 2
  store i32 %689, ptr %24, align 4, !tbaa !5
  br label %.critedge.thread

default.unreachable:                              ; preds = %105
  unreachable

.critedge.thread:                                 ; preds = %62, %72, %84, %89, %78, %68, %106, %110, %.loopexit, %688, %113, %116, %119, %90, %.critedge, %25, %375, %341, %221, %201
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #6
  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 float @slamch_(ptr noundef) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @log(double noundef) local_unnamed_addr #4

declare void @slaebz_(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, 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.umax.i32(i32, i32) #5

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

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

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

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

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


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