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

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

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

139:                                              ; preds = %21
  %140 = load ptr, ptr %41, align 8, !tbaa !5
  %141 = load i32, ptr %140, align 4, !tbaa !9
  %142 = icmp eq i32 %141, -1
  br label %143

143:                                              ; preds = %139, %21
  %144 = phi i1 [ true, %21 ], [ %142, %139 ]
  %145 = zext i1 %144 to i32
  store i32 %145, ptr %99, align 4, !tbaa !9
  %146 = load ptr, ptr %35, align 8, !tbaa !5
  %147 = load i32, ptr %146, align 4, !tbaa !9
  %148 = icmp eq i32 %147, -1
  %149 = zext i1 %148 to i32
  store i32 %149, ptr %100, align 4, !tbaa !9
  %150 = load i32, ptr %69, align 4, !tbaa !9
  %151 = icmp ne i32 %150, 0
  br i1 %151, label %152, label %159

152:                                              ; preds = %143
  %153 = load ptr, ptr %24, align 8, !tbaa !5
  %154 = load i32, ptr %153, align 4, !tbaa !9
  %155 = mul nsw i32 %154, 18
  store i32 %155, ptr %68, align 4, !tbaa !9
  %156 = load ptr, ptr %24, align 8, !tbaa !5
  %157 = load i32, ptr %156, align 4, !tbaa !9
  %158 = mul nsw i32 %157, 10
  store i32 %158, ptr %94, align 4, !tbaa !9
  br label %166

159:                                              ; preds = %143
  %160 = load ptr, ptr %24, align 8, !tbaa !5
  %161 = load i32, ptr %160, align 4, !tbaa !9
  %162 = mul nsw i32 %161, 12
  store i32 %162, ptr %68, align 4, !tbaa !9
  %163 = load ptr, ptr %24, align 8, !tbaa !5
  %164 = load i32, ptr %163, align 4, !tbaa !9
  %165 = shl i32 %164, 3
  store i32 %165, ptr %94, align 4, !tbaa !9
  br label %166

166:                                              ; preds = %159, %152
  store float 0.000000e+00, ptr %80, align 4, !tbaa !11
  store float 0.000000e+00, ptr %84, align 4, !tbaa !11
  store i32 0, ptr %101, align 4, !tbaa !9
  store i32 0, ptr %102, align 4, !tbaa !9
  store i32 0, ptr %97, align 4, !tbaa !9
  %167 = load i32, ptr %81, align 4, !tbaa !9
  %168 = icmp ne i32 %167, 0
  br i1 %168, label %169, label %174

169:                                              ; preds = %166
  %170 = load ptr, ptr %27, align 8, !tbaa !5
  %171 = load float, ptr %170, align 4, !tbaa !11
  store float %171, ptr %80, align 4, !tbaa !11
  %172 = load ptr, ptr %28, align 8, !tbaa !5
  %173 = load float, ptr %172, align 4, !tbaa !11
  store float %173, ptr %84, align 4, !tbaa !11
  br label %183

174:                                              ; preds = %166
  %175 = load i32, ptr %76, align 4, !tbaa !9
  %176 = icmp ne i32 %175, 0
  br i1 %176, label %177, label %182

177:                                              ; preds = %174
  %178 = load ptr, ptr %29, align 8, !tbaa !5
  %179 = load i32, ptr %178, align 4, !tbaa !9
  store i32 %179, ptr %101, align 4, !tbaa !9
  %180 = load ptr, ptr %30, align 8, !tbaa !5
  %181 = load i32, ptr %180, align 4, !tbaa !9
  store i32 %181, ptr %102, align 4, !tbaa !9
  br label %182

182:                                              ; preds = %177, %174
  br label %183

183:                                              ; preds = %182, %169
  %184 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 0, ptr %184, align 4, !tbaa !9
  %185 = load i32, ptr %69, align 4, !tbaa !9
  %186 = icmp ne i32 %185, 0
  br i1 %186, label %193, label %187

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

191:                                              ; preds = %187
  %192 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -1, ptr %192, align 4, !tbaa !9
  br label %293

193:                                              ; preds = %187, %183
  %194 = load i32, ptr %75, align 4, !tbaa !9
  %195 = icmp ne i32 %194, 0
  br i1 %195, label %204, label %196

196:                                              ; preds = %193
  %197 = load i32, ptr %81, align 4, !tbaa !9
  %198 = icmp ne i32 %197, 0
  br i1 %198, label %204, label %199

199:                                              ; preds = %196
  %200 = load i32, ptr %76, align 4, !tbaa !9
  %201 = icmp ne i32 %200, 0
  br i1 %201, label %204, label %202

202:                                              ; preds = %199
  %203 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -2, ptr %203, align 4, !tbaa !9
  br label %292

204:                                              ; preds = %199, %196, %193
  %205 = load ptr, ptr %24, align 8, !tbaa !5
  %206 = load i32, ptr %205, align 4, !tbaa !9
  %207 = icmp slt i32 %206, 0
  br i1 %207, label %208, label %210

208:                                              ; preds = %204
  %209 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -3, ptr %209, align 4, !tbaa !9
  br label %291

210:                                              ; preds = %204
  %211 = load i32, ptr %81, align 4, !tbaa !9
  %212 = icmp ne i32 %211, 0
  br i1 %212, label %213, label %223

213:                                              ; preds = %210
  %214 = load ptr, ptr %24, align 8, !tbaa !5
  %215 = load i32, ptr %214, align 4, !tbaa !9
  %216 = icmp sgt i32 %215, 0
  br i1 %216, label %217, label %223

217:                                              ; preds = %213
  %218 = load float, ptr %84, align 4, !tbaa !11
  %219 = load float, ptr %80, align 4, !tbaa !11
  %220 = fcmp ole float %218, %219
  br i1 %220, label %221, label %223

221:                                              ; preds = %217
  %222 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -7, ptr %222, align 4, !tbaa !9
  br label %290

223:                                              ; preds = %217, %213, %210
  %224 = load i32, ptr %76, align 4, !tbaa !9
  %225 = icmp ne i32 %224, 0
  br i1 %225, label %226, label %236

226:                                              ; preds = %223
  %227 = load i32, ptr %101, align 4, !tbaa !9
  %228 = icmp slt i32 %227, 1
  br i1 %228, label %234, label %229

229:                                              ; preds = %226
  %230 = load i32, ptr %101, align 4, !tbaa !9
  %231 = load ptr, ptr %24, align 8, !tbaa !5
  %232 = load i32, ptr %231, align 4, !tbaa !9
  %233 = icmp sgt i32 %230, %232
  br i1 %233, label %234, label %236

234:                                              ; preds = %229, %226
  %235 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -8, ptr %235, align 4, !tbaa !9
  br label %289

236:                                              ; preds = %229, %223
  %237 = load i32, ptr %76, align 4, !tbaa !9
  %238 = icmp ne i32 %237, 0
  br i1 %238, label %239, label %250

239:                                              ; preds = %236
  %240 = load i32, ptr %102, align 4, !tbaa !9
  %241 = load i32, ptr %101, align 4, !tbaa !9
  %242 = icmp slt i32 %240, %241
  br i1 %242, label %248, label %243

243:                                              ; preds = %239
  %244 = load i32, ptr %102, align 4, !tbaa !9
  %245 = load ptr, ptr %24, align 8, !tbaa !5
  %246 = load i32, ptr %245, align 4, !tbaa !9
  %247 = icmp sgt i32 %244, %246
  br i1 %247, label %248, label %250

248:                                              ; preds = %243, %239
  %249 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -9, ptr %249, align 4, !tbaa !9
  br label %288

250:                                              ; preds = %243, %236
  %251 = load ptr, ptr %34, align 8, !tbaa !5
  %252 = load i32, ptr %251, align 4, !tbaa !9
  %253 = icmp slt i32 %252, 1
  br i1 %253, label %263, label %254

254:                                              ; preds = %250
  %255 = load i32, ptr %69, align 4, !tbaa !9
  %256 = icmp ne i32 %255, 0
  br i1 %256, label %257, label %265

257:                                              ; preds = %254
  %258 = load ptr, ptr %34, align 8, !tbaa !5
  %259 = load i32, ptr %258, align 4, !tbaa !9
  %260 = load ptr, ptr %24, align 8, !tbaa !5
  %261 = load i32, ptr %260, align 4, !tbaa !9
  %262 = icmp slt i32 %259, %261
  br i1 %262, label %263, label %265

263:                                              ; preds = %257, %250
  %264 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -13, ptr %264, align 4, !tbaa !9
  br label %287

265:                                              ; preds = %257, %254
  %266 = load ptr, ptr %39, align 8, !tbaa !5
  %267 = load i32, ptr %266, align 4, !tbaa !9
  %268 = load i32, ptr %68, align 4, !tbaa !9
  %269 = icmp slt i32 %267, %268
  br i1 %269, label %270, label %275

270:                                              ; preds = %265
  %271 = load i32, ptr %99, align 4, !tbaa !9
  %272 = icmp ne i32 %271, 0
  br i1 %272, label %275, label %273

273:                                              ; preds = %270
  %274 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -17, ptr %274, align 4, !tbaa !9
  br label %286

275:                                              ; preds = %270, %265
  %276 = load ptr, ptr %41, align 8, !tbaa !5
  %277 = load i32, ptr %276, align 4, !tbaa !9
  %278 = load i32, ptr %94, align 4, !tbaa !9
  %279 = icmp slt i32 %277, %278
  br i1 %279, label %280, label %285

280:                                              ; preds = %275
  %281 = load i32, ptr %99, align 4, !tbaa !9
  %282 = icmp ne i32 %281, 0
  br i1 %282, label %285, label %283

283:                                              ; preds = %280
  %284 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -19, ptr %284, align 4, !tbaa !9
  br label %285

285:                                              ; preds = %283, %280, %275
  br label %286

286:                                              ; preds = %285, %273
  br label %287

287:                                              ; preds = %286, %263
  br label %288

288:                                              ; preds = %287, %248
  br label %289

289:                                              ; preds = %288, %234
  br label %290

290:                                              ; preds = %289, %221
  br label %291

291:                                              ; preds = %290, %208
  br label %292

292:                                              ; preds = %291, %202
  br label %293

293:                                              ; preds = %292, %191
  %294 = call float @slamch_(ptr noundef @.str.4)
  store float %294, ptr %83, align 4, !tbaa !11
  %295 = call float @slamch_(ptr noundef @.str.5)
  store float %295, ptr %103, align 4, !tbaa !11
  %296 = load float, ptr %83, align 4, !tbaa !11
  %297 = load float, ptr %103, align 4, !tbaa !11
  %298 = fdiv float %296, %297
  store float %298, ptr %98, align 4, !tbaa !11
  %299 = load float, ptr %98, align 4, !tbaa !11
  %300 = fdiv float 1.000000e+00, %299
  store float %300, ptr %85, align 4, !tbaa !11
  %301 = load float, ptr %98, align 4, !tbaa !11
  %302 = fpext float %301 to double
  %303 = call double @sqrt(double noundef %302) #4
  %304 = fptrunc double %303 to float
  store float %304, ptr %53, align 4, !tbaa !11
  %305 = load float, ptr %85, align 4, !tbaa !11
  %306 = fpext float %305 to double
  %307 = call double @sqrt(double noundef %306) #4
  %308 = fptrunc double %307 to float
  store float %308, ptr %47, align 4, !tbaa !11
  %309 = load float, ptr %83, align 4, !tbaa !11
  %310 = fpext float %309 to double
  %311 = call double @sqrt(double noundef %310) #4
  %312 = call double @sqrt(double noundef %311) #4
  %313 = fdiv double 1.000000e+00, %312
  %314 = fptrunc double %313 to float
  store float %314, ptr %48, align 4, !tbaa !11
  %315 = load float, ptr %47, align 4, !tbaa !11
  %316 = load float, ptr %48, align 4, !tbaa !11
  %317 = fcmp ole float %315, %316
  br i1 %317, label %318, label %320

318:                                              ; preds = %293
  %319 = load float, ptr %47, align 4, !tbaa !11
  br label %322

320:                                              ; preds = %293
  %321 = load float, ptr %48, align 4, !tbaa !11
  br label %322

322:                                              ; preds = %320, %318
  %323 = phi float [ %319, %318 ], [ %321, %320 ]
  store float %323, ptr %54, align 4, !tbaa !11
  %324 = load ptr, ptr %42, align 8, !tbaa !5
  %325 = load i32, ptr %324, align 4, !tbaa !9
  %326 = icmp eq i32 %325, 0
  br i1 %326, label %327, label %399

327:                                              ; preds = %322
  %328 = load i32, ptr %68, align 4, !tbaa !9
  %329 = sitofp i32 %328 to float
  %330 = load ptr, ptr %38, align 8, !tbaa !5
  %331 = getelementptr inbounds float, ptr %330, i64 1
  store float %329, ptr %331, align 4, !tbaa !11
  %332 = load i32, ptr %94, align 4, !tbaa !9
  %333 = load ptr, ptr %40, align 8, !tbaa !5
  %334 = getelementptr inbounds i32, ptr %333, i64 1
  store i32 %332, ptr %334, align 4, !tbaa !9
  %335 = load i32, ptr %69, align 4, !tbaa !9
  %336 = icmp ne i32 %335, 0
  br i1 %336, label %337, label %343

337:                                              ; preds = %327
  %338 = load i32, ptr %75, align 4, !tbaa !9
  %339 = icmp ne i32 %338, 0
  br i1 %339, label %340, label %343

340:                                              ; preds = %337
  %341 = load ptr, ptr %24, align 8, !tbaa !5
  %342 = load i32, ptr %341, align 4, !tbaa !9
  store i32 %342, ptr %95, align 4, !tbaa !9
  br label %372

343:                                              ; preds = %337, %327
  %344 = load i32, ptr %69, align 4, !tbaa !9
  %345 = icmp ne i32 %344, 0
  br i1 %345, label %346, label %358

346:                                              ; preds = %343
  %347 = load i32, ptr %81, align 4, !tbaa !9
  %348 = icmp ne i32 %347, 0
  br i1 %348, label %349, label %358

349:                                              ; preds = %346
  %350 = load ptr, ptr %24, align 8, !tbaa !5
  %351 = load ptr, ptr %27, align 8, !tbaa !5
  %352 = load ptr, ptr %28, align 8, !tbaa !5
  %353 = load ptr, ptr %25, align 8, !tbaa !5
  %354 = getelementptr inbounds float, ptr %353, i64 1
  %355 = load ptr, ptr %26, align 8, !tbaa !5
  %356 = getelementptr inbounds float, ptr %355, i64 1
  %357 = load ptr, ptr %42, align 8, !tbaa !5
  call void @slarrc_(ptr noundef @.str.6, ptr noundef %350, ptr noundef %351, ptr noundef %352, ptr noundef %354, ptr noundef %356, ptr noundef %83, ptr noundef %95, ptr noundef %55, ptr noundef %58, ptr noundef %357)
  br label %371

358:                                              ; preds = %346, %343
  %359 = load i32, ptr %69, align 4, !tbaa !9
  %360 = icmp ne i32 %359, 0
  br i1 %360, label %361, label %369

361:                                              ; preds = %358
  %362 = load i32, ptr %76, align 4, !tbaa !9
  %363 = icmp ne i32 %362, 0
  br i1 %363, label %364, label %369

364:                                              ; preds = %361
  %365 = load i32, ptr %102, align 4, !tbaa !9
  %366 = load i32, ptr %101, align 4, !tbaa !9
  %367 = sub nsw i32 %365, %366
  %368 = add nsw i32 %367, 1
  store i32 %368, ptr %95, align 4, !tbaa !9
  br label %370

369:                                              ; preds = %361, %358
  store i32 0, ptr %95, align 4, !tbaa !9
  br label %370

370:                                              ; preds = %369, %364
  br label %371

371:                                              ; preds = %370, %349
  br label %372

372:                                              ; preds = %371, %340
  %373 = load i32, ptr %100, align 4, !tbaa !9
  %374 = icmp ne i32 %373, 0
  br i1 %374, label %375, label %387

375:                                              ; preds = %372
  %376 = load ptr, ptr %42, align 8, !tbaa !5
  %377 = load i32, ptr %376, align 4, !tbaa !9
  %378 = icmp eq i32 %377, 0
  br i1 %378, label %379, label %387

379:                                              ; preds = %375
  %380 = load i32, ptr %95, align 4, !tbaa !9
  %381 = sitofp i32 %380 to float
  %382 = load ptr, ptr %33, align 8, !tbaa !5
  %383 = load i32, ptr %43, align 4, !tbaa !9
  %384 = add nsw i32 %383, 1
  %385 = sext i32 %384 to i64
  %386 = getelementptr inbounds float, ptr %382, i64 %385
  store float %381, ptr %386, align 4, !tbaa !11
  br label %398

387:                                              ; preds = %375, %372
  %388 = load ptr, ptr %35, align 8, !tbaa !5
  %389 = load i32, ptr %388, align 4, !tbaa !9
  %390 = load i32, ptr %95, align 4, !tbaa !9
  %391 = icmp slt i32 %389, %390
  br i1 %391, label %392, label %397

392:                                              ; preds = %387
  %393 = load i32, ptr %100, align 4, !tbaa !9
  %394 = icmp ne i32 %393, 0
  br i1 %394, label %397, label %395

395:                                              ; preds = %392
  %396 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -14, ptr %396, align 4, !tbaa !9
  br label %397

397:                                              ; preds = %395, %392, %387
  br label %398

398:                                              ; preds = %397, %379
  br label %399

399:                                              ; preds = %398, %322
  %400 = load ptr, ptr %42, align 8, !tbaa !5
  %401 = load i32, ptr %400, align 4, !tbaa !9
  %402 = icmp ne i32 %401, 0
  br i1 %402, label %403, label %408

403:                                              ; preds = %399
  %404 = load ptr, ptr %42, align 8, !tbaa !5
  %405 = load i32, ptr %404, align 4, !tbaa !9
  %406 = sub nsw i32 0, %405
  store i32 %406, ptr %45, align 4, !tbaa !9
  %407 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %45, i32 noundef 6)
  store i32 1, ptr %105, align 4
  br label %1361

408:                                              ; preds = %399
  %409 = load i32, ptr %99, align 4, !tbaa !9
  %410 = icmp ne i32 %409, 0
  br i1 %410, label %414, label %411

411:                                              ; preds = %408
  %412 = load i32, ptr %100, align 4, !tbaa !9
  %413 = icmp ne i32 %412, 0
  br i1 %413, label %414, label %415

414:                                              ; preds = %411, %408
  store i32 1, ptr %105, align 4
  br label %1361

415:                                              ; preds = %411
  br label %416

416:                                              ; preds = %415
  %417 = load ptr, ptr %31, align 8, !tbaa !5
  store i32 0, ptr %417, align 4, !tbaa !9
  %418 = load ptr, ptr %24, align 8, !tbaa !5
  %419 = load i32, ptr %418, align 4, !tbaa !9
  %420 = icmp eq i32 %419, 0
  br i1 %420, label %421, label %422

421:                                              ; preds = %416
  store i32 1, ptr %105, align 4
  br label %1361

422:                                              ; preds = %416
  %423 = load ptr, ptr %24, align 8, !tbaa !5
  %424 = load i32, ptr %423, align 4, !tbaa !9
  %425 = icmp eq i32 %424, 1
  br i1 %425, label %426, label %476

426:                                              ; preds = %422
  %427 = load i32, ptr %75, align 4, !tbaa !9
  %428 = icmp ne i32 %427, 0
  br i1 %428, label %432, label %429

429:                                              ; preds = %426
  %430 = load i32, ptr %76, align 4, !tbaa !9
  %431 = icmp ne i32 %430, 0
  br i1 %431, label %432, label %439

432:                                              ; preds = %429, %426
  %433 = load ptr, ptr %31, align 8, !tbaa !5
  store i32 1, ptr %433, align 4, !tbaa !9
  %434 = load ptr, ptr %25, align 8, !tbaa !5
  %435 = getelementptr inbounds float, ptr %434, i64 1
  %436 = load float, ptr %435, align 4, !tbaa !11
  %437 = load ptr, ptr %32, align 8, !tbaa !5
  %438 = getelementptr inbounds float, ptr %437, i64 1
  store float %436, ptr %438, align 4, !tbaa !11
  br label %459

439:                                              ; preds = %429
  %440 = load float, ptr %80, align 4, !tbaa !11
  %441 = load ptr, ptr %25, align 8, !tbaa !5
  %442 = getelementptr inbounds float, ptr %441, i64 1
  %443 = load float, ptr %442, align 4, !tbaa !11
  %444 = fcmp olt float %440, %443
  br i1 %444, label %445, label %458

445:                                              ; preds = %439
  %446 = load float, ptr %84, align 4, !tbaa !11
  %447 = load ptr, ptr %25, align 8, !tbaa !5
  %448 = getelementptr inbounds float, ptr %447, i64 1
  %449 = load float, ptr %448, align 4, !tbaa !11
  %450 = fcmp oge float %446, %449
  br i1 %450, label %451, label %458

451:                                              ; preds = %445
  %452 = load ptr, ptr %31, align 8, !tbaa !5
  store i32 1, ptr %452, align 4, !tbaa !9
  %453 = load ptr, ptr %25, align 8, !tbaa !5
  %454 = getelementptr inbounds float, ptr %453, i64 1
  %455 = load float, ptr %454, align 4, !tbaa !11
  %456 = load ptr, ptr %32, align 8, !tbaa !5
  %457 = getelementptr inbounds float, ptr %456, i64 1
  store float %455, ptr %457, align 4, !tbaa !11
  br label %458

458:                                              ; preds = %451, %445, %439
  br label %459

459:                                              ; preds = %458, %432
  %460 = load i32, ptr %69, align 4, !tbaa !9
  %461 = icmp ne i32 %460, 0
  br i1 %461, label %462, label %475

462:                                              ; preds = %459
  %463 = load i32, ptr %100, align 4, !tbaa !9
  %464 = icmp ne i32 %463, 0
  br i1 %464, label %475, label %465

465:                                              ; preds = %462
  %466 = load ptr, ptr %33, align 8, !tbaa !5
  %467 = load i32, ptr %43, align 4, !tbaa !9
  %468 = add nsw i32 %467, 1
  %469 = sext i32 %468 to i64
  %470 = getelementptr inbounds float, ptr %466, i64 %469
  store float 1.000000e+00, ptr %470, align 4, !tbaa !11
  %471 = load ptr, ptr %36, align 8, !tbaa !5
  %472 = getelementptr inbounds i32, ptr %471, i64 1
  store i32 1, ptr %472, align 4, !tbaa !9
  %473 = load ptr, ptr %36, align 8, !tbaa !5
  %474 = getelementptr inbounds i32, ptr %473, i64 2
  store i32 1, ptr %474, align 4, !tbaa !9
  br label %475

475:                                              ; preds = %465, %462, %459
  store i32 1, ptr %105, align 4
  br label %1361

476:                                              ; preds = %422
  %477 = load ptr, ptr %24, align 8, !tbaa !5
  %478 = load i32, ptr %477, align 4, !tbaa !9
  %479 = icmp eq i32 %478, 2
  br i1 %479, label %480, label %714

480:                                              ; preds = %476
  %481 = load i32, ptr %69, align 4, !tbaa !9
  %482 = icmp ne i32 %481, 0
  br i1 %482, label %490, label %483

483:                                              ; preds = %480
  %484 = load ptr, ptr %25, align 8, !tbaa !5
  %485 = getelementptr inbounds float, ptr %484, i64 1
  %486 = load ptr, ptr %26, align 8, !tbaa !5
  %487 = getelementptr inbounds float, ptr %486, i64 1
  %488 = load ptr, ptr %25, align 8, !tbaa !5
  %489 = getelementptr inbounds float, ptr %488, i64 2
  call void @slae2_(ptr noundef %485, ptr noundef %487, ptr noundef %489, ptr noundef %70, ptr noundef %71)
  br label %504

490:                                              ; preds = %480
  %491 = load i32, ptr %69, align 4, !tbaa !9
  %492 = icmp ne i32 %491, 0
  br i1 %492, label %493, label %503

493:                                              ; preds = %490
  %494 = load i32, ptr %100, align 4, !tbaa !9
  %495 = icmp ne i32 %494, 0
  br i1 %495, label %503, label %496

496:                                              ; preds = %493
  %497 = load ptr, ptr %25, align 8, !tbaa !5
  %498 = getelementptr inbounds float, ptr %497, i64 1
  %499 = load ptr, ptr %26, align 8, !tbaa !5
  %500 = getelementptr inbounds float, ptr %499, i64 1
  %501 = load ptr, ptr %25, align 8, !tbaa !5
  %502 = getelementptr inbounds float, ptr %501, i64 2
  call void @slaev2_(ptr noundef %498, ptr noundef %500, ptr noundef %502, ptr noundef %70, ptr noundef %71, ptr noundef %73, ptr noundef %79)
  br label %503

503:                                              ; preds = %496, %493, %490
  br label %504

504:                                              ; preds = %503, %483
  %505 = load i32, ptr %75, align 4, !tbaa !9
  %506 = icmp ne i32 %505, 0
  br i1 %506, label %524, label %507

507:                                              ; preds = %504
  %508 = load i32, ptr %81, align 4, !tbaa !9
  %509 = icmp ne i32 %508, 0
  br i1 %509, label %510, label %518

510:                                              ; preds = %507
  %511 = load float, ptr %71, align 4, !tbaa !11
  %512 = load float, ptr %80, align 4, !tbaa !11
  %513 = fcmp ogt float %511, %512
  br i1 %513, label %514, label %518

514:                                              ; preds = %510
  %515 = load float, ptr %71, align 4, !tbaa !11
  %516 = load float, ptr %84, align 4, !tbaa !11
  %517 = fcmp ole float %515, %516
  br i1 %517, label %524, label %518

518:                                              ; preds = %514, %510, %507
  %519 = load i32, ptr %76, align 4, !tbaa !9
  %520 = icmp ne i32 %519, 0
  br i1 %520, label %521, label %609

521:                                              ; preds = %518
  %522 = load i32, ptr %101, align 4, !tbaa !9
  %523 = icmp eq i32 %522, 1
  br i1 %523, label %524, label %609

524:                                              ; preds = %521, %514, %504
  %525 = load ptr, ptr %31, align 8, !tbaa !5
  %526 = load i32, ptr %525, align 4, !tbaa !9
  %527 = add nsw i32 %526, 1
  store i32 %527, ptr %525, align 4, !tbaa !9
  %528 = load float, ptr %71, align 4, !tbaa !11
  %529 = load ptr, ptr %32, align 8, !tbaa !5
  %530 = load ptr, ptr %31, align 8, !tbaa !5
  %531 = load i32, ptr %530, align 4, !tbaa !9
  %532 = sext i32 %531 to i64
  %533 = getelementptr inbounds float, ptr %529, i64 %532
  store float %528, ptr %533, align 4, !tbaa !11
  %534 = load i32, ptr %69, align 4, !tbaa !9
  %535 = icmp ne i32 %534, 0
  br i1 %535, label %536, label %608

536:                                              ; preds = %524
  %537 = load i32, ptr %100, align 4, !tbaa !9
  %538 = icmp ne i32 %537, 0
  br i1 %538, label %608, label %539

539:                                              ; preds = %536
  %540 = load float, ptr %79, align 4, !tbaa !11
  %541 = fneg float %540
  %542 = load ptr, ptr %33, align 8, !tbaa !5
  %543 = load ptr, ptr %31, align 8, !tbaa !5
  %544 = load i32, ptr %543, align 4, !tbaa !9
  %545 = load i32, ptr %43, align 4, !tbaa !9
  %546 = mul nsw i32 %544, %545
  %547 = add nsw i32 %546, 1
  %548 = sext i32 %547 to i64
  %549 = getelementptr inbounds float, ptr %542, i64 %548
  store float %541, ptr %549, align 4, !tbaa !11
  %550 = load float, ptr %73, align 4, !tbaa !11
  %551 = load ptr, ptr %33, align 8, !tbaa !5
  %552 = load ptr, ptr %31, align 8, !tbaa !5
  %553 = load i32, ptr %552, align 4, !tbaa !9
  %554 = load i32, ptr %43, align 4, !tbaa !9
  %555 = mul nsw i32 %553, %554
  %556 = add nsw i32 %555, 2
  %557 = sext i32 %556 to i64
  %558 = getelementptr inbounds float, ptr %551, i64 %557
  store float %550, ptr %558, align 4, !tbaa !11
  %559 = load float, ptr %79, align 4, !tbaa !11
  %560 = fcmp une float %559, 0.000000e+00
  br i1 %560, label %561, label %593

561:                                              ; preds = %539
  %562 = load float, ptr %73, align 4, !tbaa !11
  %563 = fcmp une float %562, 0.000000e+00
  br i1 %563, label %564, label %578

564:                                              ; preds = %561
  %565 = load ptr, ptr %36, align 8, !tbaa !5
  %566 = load ptr, ptr %31, align 8, !tbaa !5
  %567 = load i32, ptr %566, align 4, !tbaa !9
  %568 = shl i32 %567, 1
  %569 = sub nsw i32 %568, 1
  %570 = sext i32 %569 to i64
  %571 = getelementptr inbounds i32, ptr %565, i64 %570
  store i32 1, ptr %571, align 4, !tbaa !9
  %572 = load ptr, ptr %36, align 8, !tbaa !5
  %573 = load ptr, ptr %31, align 8, !tbaa !5
  %574 = load i32, ptr %573, align 4, !tbaa !9
  %575 = mul nsw i32 %574, 2
  %576 = sext i32 %575 to i64
  %577 = getelementptr inbounds i32, ptr %572, i64 %576
  store i32 2, ptr %577, align 4, !tbaa !9
  br label %592

578:                                              ; preds = %561
  %579 = load ptr, ptr %36, align 8, !tbaa !5
  %580 = load ptr, ptr %31, align 8, !tbaa !5
  %581 = load i32, ptr %580, align 4, !tbaa !9
  %582 = shl i32 %581, 1
  %583 = sub nsw i32 %582, 1
  %584 = sext i32 %583 to i64
  %585 = getelementptr inbounds i32, ptr %579, i64 %584
  store i32 1, ptr %585, align 4, !tbaa !9
  %586 = load ptr, ptr %36, align 8, !tbaa !5
  %587 = load ptr, ptr %31, align 8, !tbaa !5
  %588 = load i32, ptr %587, align 4, !tbaa !9
  %589 = mul nsw i32 %588, 2
  %590 = sext i32 %589 to i64
  %591 = getelementptr inbounds i32, ptr %586, i64 %590
  store i32 1, ptr %591, align 4, !tbaa !9
  br label %592

592:                                              ; preds = %578, %564
  br label %607

593:                                              ; preds = %539
  %594 = load ptr, ptr %36, align 8, !tbaa !5
  %595 = load ptr, ptr %31, align 8, !tbaa !5
  %596 = load i32, ptr %595, align 4, !tbaa !9
  %597 = shl i32 %596, 1
  %598 = sub nsw i32 %597, 1
  %599 = sext i32 %598 to i64
  %600 = getelementptr inbounds i32, ptr %594, i64 %599
  store i32 2, ptr %600, align 4, !tbaa !9
  %601 = load ptr, ptr %36, align 8, !tbaa !5
  %602 = load ptr, ptr %31, align 8, !tbaa !5
  %603 = load i32, ptr %602, align 4, !tbaa !9
  %604 = mul nsw i32 %603, 2
  %605 = sext i32 %604 to i64
  %606 = getelementptr inbounds i32, ptr %601, i64 %605
  store i32 2, ptr %606, align 4, !tbaa !9
  br label %607

607:                                              ; preds = %593, %592
  br label %608

608:                                              ; preds = %607, %536, %524
  br label %609

609:                                              ; preds = %608, %521, %518
  %610 = load i32, ptr %75, align 4, !tbaa !9
  %611 = icmp ne i32 %610, 0
  br i1 %611, label %629, label %612

612:                                              ; preds = %609
  %613 = load i32, ptr %81, align 4, !tbaa !9
  %614 = icmp ne i32 %613, 0
  br i1 %614, label %615, label %623

615:                                              ; preds = %612
  %616 = load float, ptr %70, align 4, !tbaa !11
  %617 = load float, ptr %80, align 4, !tbaa !11
  %618 = fcmp ogt float %616, %617
  br i1 %618, label %619, label %623

619:                                              ; preds = %615
  %620 = load float, ptr %70, align 4, !tbaa !11
  %621 = load float, ptr %84, align 4, !tbaa !11
  %622 = fcmp ole float %620, %621
  br i1 %622, label %629, label %623

623:                                              ; preds = %619, %615, %612
  %624 = load i32, ptr %76, align 4, !tbaa !9
  %625 = icmp ne i32 %624, 0
  br i1 %625, label %626, label %713

626:                                              ; preds = %623
  %627 = load i32, ptr %102, align 4, !tbaa !9
  %628 = icmp eq i32 %627, 2
  br i1 %628, label %629, label %713

629:                                              ; preds = %626, %619, %609
  %630 = load ptr, ptr %31, align 8, !tbaa !5
  %631 = load i32, ptr %630, align 4, !tbaa !9
  %632 = add nsw i32 %631, 1
  store i32 %632, ptr %630, align 4, !tbaa !9
  %633 = load float, ptr %70, align 4, !tbaa !11
  %634 = load ptr, ptr %32, align 8, !tbaa !5
  %635 = load ptr, ptr %31, align 8, !tbaa !5
  %636 = load i32, ptr %635, align 4, !tbaa !9
  %637 = sext i32 %636 to i64
  %638 = getelementptr inbounds float, ptr %634, i64 %637
  store float %633, ptr %638, align 4, !tbaa !11
  %639 = load i32, ptr %69, align 4, !tbaa !9
  %640 = icmp ne i32 %639, 0
  br i1 %640, label %641, label %712

641:                                              ; preds = %629
  %642 = load i32, ptr %100, align 4, !tbaa !9
  %643 = icmp ne i32 %642, 0
  br i1 %643, label %712, label %644

644:                                              ; preds = %641
  %645 = load float, ptr %73, align 4, !tbaa !11
  %646 = load ptr, ptr %33, align 8, !tbaa !5
  %647 = load ptr, ptr %31, align 8, !tbaa !5
  %648 = load i32, ptr %647, align 4, !tbaa !9
  %649 = load i32, ptr %43, align 4, !tbaa !9
  %650 = mul nsw i32 %648, %649
  %651 = add nsw i32 %650, 1
  %652 = sext i32 %651 to i64
  %653 = getelementptr inbounds float, ptr %646, i64 %652
  store float %645, ptr %653, align 4, !tbaa !11
  %654 = load float, ptr %79, align 4, !tbaa !11
  %655 = load ptr, ptr %33, align 8, !tbaa !5
  %656 = load ptr, ptr %31, align 8, !tbaa !5
  %657 = load i32, ptr %656, align 4, !tbaa !9
  %658 = load i32, ptr %43, align 4, !tbaa !9
  %659 = mul nsw i32 %657, %658
  %660 = add nsw i32 %659, 2
  %661 = sext i32 %660 to i64
  %662 = getelementptr inbounds float, ptr %655, i64 %661
  store float %654, ptr %662, align 4, !tbaa !11
  %663 = load float, ptr %79, align 4, !tbaa !11
  %664 = fcmp une float %663, 0.000000e+00
  br i1 %664, label %665, label %697

665:                                              ; preds = %644
  %666 = load float, ptr %73, align 4, !tbaa !11
  %667 = fcmp une float %666, 0.000000e+00
  br i1 %667, label %668, label %682

668:                                              ; preds = %665
  %669 = load ptr, ptr %36, align 8, !tbaa !5
  %670 = load ptr, ptr %31, align 8, !tbaa !5
  %671 = load i32, ptr %670, align 4, !tbaa !9
  %672 = shl i32 %671, 1
  %673 = sub nsw i32 %672, 1
  %674 = sext i32 %673 to i64
  %675 = getelementptr inbounds i32, ptr %669, i64 %674
  store i32 1, ptr %675, align 4, !tbaa !9
  %676 = load ptr, ptr %36, align 8, !tbaa !5
  %677 = load ptr, ptr %31, align 8, !tbaa !5
  %678 = load i32, ptr %677, align 4, !tbaa !9
  %679 = mul nsw i32 %678, 2
  %680 = sext i32 %679 to i64
  %681 = getelementptr inbounds i32, ptr %676, i64 %680
  store i32 2, ptr %681, align 4, !tbaa !9
  br label %696

682:                                              ; preds = %665
  %683 = load ptr, ptr %36, align 8, !tbaa !5
  %684 = load ptr, ptr %31, align 8, !tbaa !5
  %685 = load i32, ptr %684, align 4, !tbaa !9
  %686 = shl i32 %685, 1
  %687 = sub nsw i32 %686, 1
  %688 = sext i32 %687 to i64
  %689 = getelementptr inbounds i32, ptr %683, i64 %688
  store i32 1, ptr %689, align 4, !tbaa !9
  %690 = load ptr, ptr %36, align 8, !tbaa !5
  %691 = load ptr, ptr %31, align 8, !tbaa !5
  %692 = load i32, ptr %691, align 4, !tbaa !9
  %693 = mul nsw i32 %692, 2
  %694 = sext i32 %693 to i64
  %695 = getelementptr inbounds i32, ptr %690, i64 %694
  store i32 1, ptr %695, align 4, !tbaa !9
  br label %696

696:                                              ; preds = %682, %668
  br label %711

697:                                              ; preds = %644
  %698 = load ptr, ptr %36, align 8, !tbaa !5
  %699 = load ptr, ptr %31, align 8, !tbaa !5
  %700 = load i32, ptr %699, align 4, !tbaa !9
  %701 = shl i32 %700, 1
  %702 = sub nsw i32 %701, 1
  %703 = sext i32 %702 to i64
  %704 = getelementptr inbounds i32, ptr %698, i64 %703
  store i32 2, ptr %704, align 4, !tbaa !9
  %705 = load ptr, ptr %36, align 8, !tbaa !5
  %706 = load ptr, ptr %31, align 8, !tbaa !5
  %707 = load i32, ptr %706, align 4, !tbaa !9
  %708 = mul nsw i32 %707, 2
  %709 = sext i32 %708 to i64
  %710 = getelementptr inbounds i32, ptr %705, i64 %709
  store i32 2, ptr %710, align 4, !tbaa !9
  br label %711

711:                                              ; preds = %697, %696
  br label %712

712:                                              ; preds = %711, %641, %629
  br label %713

713:                                              ; preds = %712, %626, %623
  br label %1200

714:                                              ; preds = %476
  store i32 1, ptr %88, align 4, !tbaa !9
  %715 = load ptr, ptr %24, align 8, !tbaa !5
  %716 = load i32, ptr %715, align 4, !tbaa !9
  %717 = shl i32 %716, 1
  %718 = add nsw i32 %717, 1
  store i32 %718, ptr %86, align 4, !tbaa !9
  %719 = load ptr, ptr %24, align 8, !tbaa !5
  %720 = load i32, ptr %719, align 4, !tbaa !9
  %721 = mul nsw i32 %720, 3
  %722 = add nsw i32 %721, 1
  store i32 %722, ptr %64, align 4, !tbaa !9
  %723 = load ptr, ptr %24, align 8, !tbaa !5
  %724 = load i32, ptr %723, align 4, !tbaa !9
  %725 = shl i32 %724, 2
  %726 = add nsw i32 %725, 1
  store i32 %726, ptr %49, align 4, !tbaa !9
  %727 = load ptr, ptr %24, align 8, !tbaa !5
  %728 = load i32, ptr %727, align 4, !tbaa !9
  %729 = mul nsw i32 %728, 5
  %730 = add nsw i32 %729, 1
  store i32 %730, ptr %57, align 4, !tbaa !9
  %731 = load ptr, ptr %24, align 8, !tbaa !5
  %732 = load i32, ptr %731, align 4, !tbaa !9
  %733 = mul nsw i32 %732, 6
  %734 = add nsw i32 %733, 1
  store i32 %734, ptr %92, align 4, !tbaa !9
  store i32 1, ptr %91, align 4, !tbaa !9
  %735 = load ptr, ptr %24, align 8, !tbaa !5
  %736 = load i32, ptr %735, align 4, !tbaa !9
  %737 = add nsw i32 %736, 1
  store i32 %737, ptr %78, align 4, !tbaa !9
  %738 = load ptr, ptr %24, align 8, !tbaa !5
  %739 = load i32, ptr %738, align 4, !tbaa !9
  %740 = shl i32 %739, 1
  %741 = add nsw i32 %740, 1
  store i32 %741, ptr %66, align 4, !tbaa !9
  %742 = load ptr, ptr %24, align 8, !tbaa !5
  %743 = load i32, ptr %742, align 4, !tbaa !9
  %744 = mul nsw i32 %743, 3
  %745 = add nsw i32 %744, 1
  store i32 %745, ptr %87, align 4, !tbaa !9
  store float 1.000000e+00, ptr %63, align 4, !tbaa !11
  %746 = load ptr, ptr %24, align 8, !tbaa !5
  %747 = load ptr, ptr %25, align 8, !tbaa !5
  %748 = getelementptr inbounds float, ptr %747, i64 1
  %749 = load ptr, ptr %26, align 8, !tbaa !5
  %750 = getelementptr inbounds float, ptr %749, i64 1
  %751 = call float @slanst_(ptr noundef @.str.8, ptr noundef %746, ptr noundef %748, ptr noundef %750)
  store float %751, ptr %56, align 4, !tbaa !11
  %752 = load float, ptr %56, align 4, !tbaa !11
  %753 = fcmp ogt float %752, 0.000000e+00
  br i1 %753, label %754, label %762

754:                                              ; preds = %714
  %755 = load float, ptr %56, align 4, !tbaa !11
  %756 = load float, ptr %53, align 4, !tbaa !11
  %757 = fcmp olt float %755, %756
  br i1 %757, label %758, label %762

758:                                              ; preds = %754
  %759 = load float, ptr %53, align 4, !tbaa !11
  %760 = load float, ptr %56, align 4, !tbaa !11
  %761 = fdiv float %759, %760
  store float %761, ptr %63, align 4, !tbaa !11
  br label %771

762:                                              ; preds = %754, %714
  %763 = load float, ptr %56, align 4, !tbaa !11
  %764 = load float, ptr %54, align 4, !tbaa !11
  %765 = fcmp ogt float %763, %764
  br i1 %765, label %766, label %770

766:                                              ; preds = %762
  %767 = load float, ptr %54, align 4, !tbaa !11
  %768 = load float, ptr %56, align 4, !tbaa !11
  %769 = fdiv float %767, %768
  store float %769, ptr %63, align 4, !tbaa !11
  br label %770

770:                                              ; preds = %766, %762
  br label %771

771:                                              ; preds = %770, %758
  %772 = load float, ptr %63, align 4, !tbaa !11
  %773 = fcmp une float %772, 1.000000e+00
  br i1 %773, label %774, label %796

774:                                              ; preds = %771
  %775 = load ptr, ptr %24, align 8, !tbaa !5
  %776 = load ptr, ptr %25, align 8, !tbaa !5
  %777 = getelementptr inbounds float, ptr %776, i64 1
  call void @sscal_(ptr noundef %775, ptr noundef %63, ptr noundef %777, ptr noundef @c__1)
  %778 = load ptr, ptr %24, align 8, !tbaa !5
  %779 = load i32, ptr %778, align 4, !tbaa !9
  %780 = sub nsw i32 %779, 1
  store i32 %780, ptr %45, align 4, !tbaa !9
  %781 = load ptr, ptr %26, align 8, !tbaa !5
  %782 = getelementptr inbounds float, ptr %781, i64 1
  call void @sscal_(ptr noundef %45, ptr noundef %63, ptr noundef %782, ptr noundef @c__1)
  %783 = load float, ptr %63, align 4, !tbaa !11
  %784 = load float, ptr %56, align 4, !tbaa !11
  %785 = fmul float %784, %783
  store float %785, ptr %56, align 4, !tbaa !11
  %786 = load i32, ptr %81, align 4, !tbaa !9
  %787 = icmp ne i32 %786, 0
  br i1 %787, label %788, label %795

788:                                              ; preds = %774
  %789 = load float, ptr %63, align 4, !tbaa !11
  %790 = load float, ptr %80, align 4, !tbaa !11
  %791 = fmul float %790, %789
  store float %791, ptr %80, align 4, !tbaa !11
  %792 = load float, ptr %63, align 4, !tbaa !11
  %793 = load float, ptr %84, align 4, !tbaa !11
  %794 = fmul float %793, %792
  store float %794, ptr %84, align 4, !tbaa !11
  br label %795

795:                                              ; preds = %788, %774
  br label %796

796:                                              ; preds = %795, %771
  %797 = load ptr, ptr %37, align 8, !tbaa !5
  %798 = load i32, ptr %797, align 4, !tbaa !9
  %799 = icmp ne i32 %798, 0
  br i1 %799, label %800, label %806

800:                                              ; preds = %796
  %801 = load ptr, ptr %24, align 8, !tbaa !5
  %802 = load ptr, ptr %25, align 8, !tbaa !5
  %803 = getelementptr inbounds float, ptr %802, i64 1
  %804 = load ptr, ptr %26, align 8, !tbaa !5
  %805 = getelementptr inbounds float, ptr %804, i64 1
  call void @slarrr_(ptr noundef %801, ptr noundef %803, ptr noundef %805, ptr noundef %65)
  br label %807

806:                                              ; preds = %796
  store i32 -1, ptr %65, align 4, !tbaa !9
  br label %807

807:                                              ; preds = %806, %800
  %808 = load i32, ptr %65, align 4, !tbaa !9
  %809 = icmp eq i32 %808, 0
  br i1 %809, label %810, label %812

810:                                              ; preds = %807
  %811 = load float, ptr %103, align 4, !tbaa !11
  store float %811, ptr %90, align 4, !tbaa !11
  br label %816

812:                                              ; preds = %807
  %813 = load float, ptr %103, align 4, !tbaa !11
  %814 = fneg float %813
  store float %814, ptr %90, align 4, !tbaa !11
  %815 = load ptr, ptr %37, align 8, !tbaa !5
  store i32 0, ptr %815, align 4, !tbaa !9
  br label %816

816:                                              ; preds = %812, %810
  %817 = load ptr, ptr %37, align 8, !tbaa !5
  %818 = load i32, ptr %817, align 4, !tbaa !9
  %819 = icmp ne i32 %818, 0
  br i1 %819, label %820, label %828

820:                                              ; preds = %816
  %821 = load ptr, ptr %24, align 8, !tbaa !5
  %822 = load ptr, ptr %25, align 8, !tbaa !5
  %823 = getelementptr inbounds float, ptr %822, i64 1
  %824 = load ptr, ptr %38, align 8, !tbaa !5
  %825 = load i32, ptr %49, align 4, !tbaa !9
  %826 = sext i32 %825 to i64
  %827 = getelementptr inbounds float, ptr %824, i64 %826
  call void @scopy_(ptr noundef %821, ptr noundef %823, ptr noundef @c__1, ptr noundef %827, ptr noundef @c__1)
  br label %828

828:                                              ; preds = %820, %816
  %829 = load ptr, ptr %24, align 8, !tbaa !5
  %830 = load i32, ptr %829, align 4, !tbaa !9
  %831 = sub nsw i32 %830, 1
  store i32 %831, ptr %45, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %832

832:                                              ; preds = %852, %828
  %833 = load i32, ptr %62, align 4, !tbaa !9
  %834 = load i32, ptr %45, align 4, !tbaa !9
  %835 = icmp sle i32 %833, %834
  br i1 %835, label %836, label %855

836:                                              ; preds = %832
  %837 = load ptr, ptr %26, align 8, !tbaa !5
  %838 = load i32, ptr %62, align 4, !tbaa !9
  %839 = sext i32 %838 to i64
  %840 = getelementptr inbounds float, ptr %837, i64 %839
  %841 = load float, ptr %840, align 4, !tbaa !11
  store float %841, ptr %47, align 4, !tbaa !11
  %842 = load float, ptr %47, align 4, !tbaa !11
  %843 = load float, ptr %47, align 4, !tbaa !11
  %844 = fmul float %842, %843
  %845 = load ptr, ptr %38, align 8, !tbaa !5
  %846 = load i32, ptr %57, align 4, !tbaa !9
  %847 = load i32, ptr %62, align 4, !tbaa !9
  %848 = add nsw i32 %846, %847
  %849 = sub nsw i32 %848, 1
  %850 = sext i32 %849 to i64
  %851 = getelementptr inbounds float, ptr %845, i64 %850
  store float %844, ptr %851, align 4, !tbaa !11
  br label %852

852:                                              ; preds = %836
  %853 = load i32, ptr %62, align 4, !tbaa !9
  %854 = add nsw i32 %853, 1
  store i32 %854, ptr %62, align 4, !tbaa !9
  br label %832, !llvm.loop !13

855:                                              ; preds = %832
  %856 = load i32, ptr %69, align 4, !tbaa !9
  %857 = icmp ne i32 %856, 0
  br i1 %857, label %863, label %858

858:                                              ; preds = %855
  %859 = load float, ptr %103, align 4, !tbaa !11
  %860 = fmul float %859, 4.000000e+00
  store float %860, ptr %59, align 4, !tbaa !11
  %861 = load float, ptr %103, align 4, !tbaa !11
  %862 = fmul float %861, 4.000000e+00
  store float %862, ptr %60, align 4, !tbaa !11
  br label %896

863:                                              ; preds = %855
  %864 = load float, ptr %103, align 4, !tbaa !11
  %865 = fpext float %864 to double
  %866 = call double @sqrt(double noundef %865) #4
  %867 = fmul double %866, 0x3FA99999A0000000
  %868 = fptrunc double %867 to float
  store float %868, ptr %47, align 4, !tbaa !11
  %869 = load float, ptr %103, align 4, !tbaa !11
  %870 = fmul float %869, 4.000000e+00
  store float %870, ptr %48, align 4, !tbaa !11
  %871 = load float, ptr %47, align 4, !tbaa !11
  %872 = load float, ptr %48, align 4, !tbaa !11
  %873 = fcmp oge float %871, %872
  br i1 %873, label %874, label %876

874:                                              ; preds = %863
  %875 = load float, ptr %47, align 4, !tbaa !11
  br label %878

876:                                              ; preds = %863
  %877 = load float, ptr %48, align 4, !tbaa !11
  br label %878

878:                                              ; preds = %876, %874
  %879 = phi float [ %875, %874 ], [ %877, %876 ]
  store float %879, ptr %59, align 4, !tbaa !11
  %880 = load float, ptr %103, align 4, !tbaa !11
  %881 = fpext float %880 to double
  %882 = call double @sqrt(double noundef %881) #4
  %883 = fmul double %882, 0x3F747AE140000000
  %884 = fptrunc double %883 to float
  store float %884, ptr %47, align 4, !tbaa !11
  %885 = load float, ptr %103, align 4, !tbaa !11
  %886 = fmul float %885, 4.000000e+00
  store float %886, ptr %48, align 4, !tbaa !11
  %887 = load float, ptr %47, align 4, !tbaa !11
  %888 = load float, ptr %48, align 4, !tbaa !11
  %889 = fcmp oge float %887, %888
  br i1 %889, label %890, label %892

890:                                              ; preds = %878
  %891 = load float, ptr %47, align 4, !tbaa !11
  br label %894

892:                                              ; preds = %878
  %893 = load float, ptr %48, align 4, !tbaa !11
  br label %894

894:                                              ; preds = %892, %890
  %895 = phi float [ %891, %890 ], [ %893, %892 ]
  store float %895, ptr %60, align 4, !tbaa !11
  br label %896

896:                                              ; preds = %894, %858
  %897 = load ptr, ptr %23, align 8, !tbaa !5
  %898 = load ptr, ptr %24, align 8, !tbaa !5
  %899 = load ptr, ptr %25, align 8, !tbaa !5
  %900 = getelementptr inbounds float, ptr %899, i64 1
  %901 = load ptr, ptr %26, align 8, !tbaa !5
  %902 = getelementptr inbounds float, ptr %901, i64 1
  %903 = load ptr, ptr %38, align 8, !tbaa !5
  %904 = load i32, ptr %57, align 4, !tbaa !9
  %905 = sext i32 %904 to i64
  %906 = getelementptr inbounds float, ptr %903, i64 %905
  %907 = load ptr, ptr %40, align 8, !tbaa !5
  %908 = load i32, ptr %91, align 4, !tbaa !9
  %909 = sext i32 %908 to i64
  %910 = getelementptr inbounds i32, ptr %907, i64 %909
  %911 = load ptr, ptr %31, align 8, !tbaa !5
  %912 = load ptr, ptr %32, align 8, !tbaa !5
  %913 = getelementptr inbounds float, ptr %912, i64 1
  %914 = load ptr, ptr %38, align 8, !tbaa !5
  %915 = load i32, ptr %86, align 4, !tbaa !9
  %916 = sext i32 %915 to i64
  %917 = getelementptr inbounds float, ptr %914, i64 %916
  %918 = load ptr, ptr %38, align 8, !tbaa !5
  %919 = load i32, ptr %64, align 4, !tbaa !9
  %920 = sext i32 %919 to i64
  %921 = getelementptr inbounds float, ptr %918, i64 %920
  %922 = load ptr, ptr %40, align 8, !tbaa !5
  %923 = load i32, ptr %78, align 4, !tbaa !9
  %924 = sext i32 %923 to i64
  %925 = getelementptr inbounds i32, ptr %922, i64 %924
  %926 = load ptr, ptr %40, align 8, !tbaa !5
  %927 = load i32, ptr %66, align 4, !tbaa !9
  %928 = sext i32 %927 to i64
  %929 = getelementptr inbounds i32, ptr %926, i64 %928
  %930 = load ptr, ptr %38, align 8, !tbaa !5
  %931 = load i32, ptr %88, align 4, !tbaa !9
  %932 = sext i32 %931 to i64
  %933 = getelementptr inbounds float, ptr %930, i64 %932
  %934 = load ptr, ptr %38, align 8, !tbaa !5
  %935 = load i32, ptr %92, align 4, !tbaa !9
  %936 = sext i32 %935 to i64
  %937 = getelementptr inbounds float, ptr %934, i64 %936
  %938 = load ptr, ptr %40, align 8, !tbaa !5
  %939 = load i32, ptr %87, align 4, !tbaa !9
  %940 = sext i32 %939 to i64
  %941 = getelementptr inbounds i32, ptr %938, i64 %940
  call void @slarre_(ptr noundef %897, ptr noundef %898, ptr noundef %80, ptr noundef %84, ptr noundef %101, ptr noundef %102, ptr noundef %900, ptr noundef %902, ptr noundef %906, ptr noundef %59, ptr noundef %60, ptr noundef %90, ptr noundef %97, ptr noundef %910, ptr noundef %911, ptr noundef %913, ptr noundef %917, ptr noundef %921, ptr noundef %925, ptr noundef %929, ptr noundef %933, ptr noundef %96, ptr noundef %937, ptr noundef %941, ptr noundef %65)
  %942 = load i32, ptr %65, align 4, !tbaa !9
  %943 = icmp ne i32 %942, 0
  br i1 %943, label %944, label %956

944:                                              ; preds = %896
  %945 = load i32, ptr %65, align 4, !tbaa !9
  %946 = icmp sge i32 %945, 0
  br i1 %946, label %947, label %949

947:                                              ; preds = %944
  %948 = load i32, ptr %65, align 4, !tbaa !9
  br label %952

949:                                              ; preds = %944
  %950 = load i32, ptr %65, align 4, !tbaa !9
  %951 = sub nsw i32 0, %950
  br label %952

952:                                              ; preds = %949, %947
  %953 = phi i32 [ %948, %947 ], [ %951, %949 ]
  %954 = add nsw i32 %953, 10
  %955 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 %954, ptr %955, align 4, !tbaa !9
  store i32 1, ptr %105, align 4
  br label %1361

956:                                              ; preds = %896
  %957 = load i32, ptr %69, align 4, !tbaa !9
  %958 = icmp ne i32 %957, 0
  br i1 %958, label %959, label %1023

959:                                              ; preds = %956
  %960 = load ptr, ptr %24, align 8, !tbaa !5
  %961 = load ptr, ptr %25, align 8, !tbaa !5
  %962 = getelementptr inbounds float, ptr %961, i64 1
  %963 = load ptr, ptr %26, align 8, !tbaa !5
  %964 = getelementptr inbounds float, ptr %963, i64 1
  %965 = load ptr, ptr %40, align 8, !tbaa !5
  %966 = load i32, ptr %91, align 4, !tbaa !9
  %967 = sext i32 %966 to i64
  %968 = getelementptr inbounds i32, ptr %965, i64 %967
  %969 = load ptr, ptr %31, align 8, !tbaa !5
  %970 = load ptr, ptr %31, align 8, !tbaa !5
  %971 = load ptr, ptr %32, align 8, !tbaa !5
  %972 = getelementptr inbounds float, ptr %971, i64 1
  %973 = load ptr, ptr %38, align 8, !tbaa !5
  %974 = load i32, ptr %86, align 4, !tbaa !9
  %975 = sext i32 %974 to i64
  %976 = getelementptr inbounds float, ptr %973, i64 %975
  %977 = load ptr, ptr %38, align 8, !tbaa !5
  %978 = load i32, ptr %64, align 4, !tbaa !9
  %979 = sext i32 %978 to i64
  %980 = getelementptr inbounds float, ptr %977, i64 %979
  %981 = load ptr, ptr %40, align 8, !tbaa !5
  %982 = load i32, ptr %78, align 4, !tbaa !9
  %983 = sext i32 %982 to i64
  %984 = getelementptr inbounds i32, ptr %981, i64 %983
  %985 = load ptr, ptr %40, align 8, !tbaa !5
  %986 = load i32, ptr %66, align 4, !tbaa !9
  %987 = sext i32 %986 to i64
  %988 = getelementptr inbounds i32, ptr %985, i64 %987
  %989 = load ptr, ptr %38, align 8, !tbaa !5
  %990 = load i32, ptr %88, align 4, !tbaa !9
  %991 = sext i32 %990 to i64
  %992 = getelementptr inbounds float, ptr %989, i64 %991
  %993 = load ptr, ptr %33, align 8, !tbaa !5
  %994 = load i32, ptr %44, align 4, !tbaa !9
  %995 = sext i32 %994 to i64
  %996 = getelementptr inbounds float, ptr %993, i64 %995
  %997 = load ptr, ptr %34, align 8, !tbaa !5
  %998 = load ptr, ptr %36, align 8, !tbaa !5
  %999 = getelementptr inbounds i32, ptr %998, i64 1
  %1000 = load ptr, ptr %38, align 8, !tbaa !5
  %1001 = load i32, ptr %92, align 4, !tbaa !9
  %1002 = sext i32 %1001 to i64
  %1003 = getelementptr inbounds float, ptr %1000, i64 %1002
  %1004 = load ptr, ptr %40, align 8, !tbaa !5
  %1005 = load i32, ptr %87, align 4, !tbaa !9
  %1006 = sext i32 %1005 to i64
  %1007 = getelementptr inbounds i32, ptr %1004, i64 %1006
  call void @slarrv_(ptr noundef %960, ptr noundef %80, ptr noundef %84, ptr noundef %962, ptr noundef %964, ptr noundef %96, ptr noundef %968, ptr noundef %969, ptr noundef @c__1, ptr noundef %970, ptr noundef @c_b18, ptr noundef %59, ptr noundef %60, ptr noundef %972, ptr noundef %976, ptr noundef %980, ptr noundef %984, ptr noundef %988, ptr noundef %992, ptr noundef %996, ptr noundef %997, ptr noundef %999, ptr noundef %1003, ptr noundef %1007, ptr noundef %65)
  %1008 = load i32, ptr %65, align 4, !tbaa !9
  %1009 = icmp ne i32 %1008, 0
  br i1 %1009, label %1010, label %1022

1010:                                             ; preds = %959
  %1011 = load i32, ptr %65, align 4, !tbaa !9
  %1012 = icmp sge i32 %1011, 0
  br i1 %1012, label %1013, label %1015

1013:                                             ; preds = %1010
  %1014 = load i32, ptr %65, align 4, !tbaa !9
  br label %1018

1015:                                             ; preds = %1010
  %1016 = load i32, ptr %65, align 4, !tbaa !9
  %1017 = sub nsw i32 0, %1016
  br label %1018

1018:                                             ; preds = %1015, %1013
  %1019 = phi i32 [ %1014, %1013 ], [ %1017, %1015 ]
  %1020 = add nsw i32 %1019, 20
  %1021 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 %1020, ptr %1021, align 4, !tbaa !9
  store i32 1, ptr %105, align 4
  br label %1361

1022:                                             ; preds = %959
  br label %1061

1023:                                             ; preds = %956
  %1024 = load ptr, ptr %31, align 8, !tbaa !5
  %1025 = load i32, ptr %1024, align 4, !tbaa !9
  store i32 %1025, ptr %45, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %1026

1026:                                             ; preds = %1057, %1023
  %1027 = load i32, ptr %62, align 4, !tbaa !9
  %1028 = load i32, ptr %45, align 4, !tbaa !9
  %1029 = icmp sle i32 %1027, %1028
  br i1 %1029, label %1030, label %1060

1030:                                             ; preds = %1026
  %1031 = load ptr, ptr %40, align 8, !tbaa !5
  %1032 = load i32, ptr %78, align 4, !tbaa !9
  %1033 = load i32, ptr %62, align 4, !tbaa !9
  %1034 = add nsw i32 %1032, %1033
  %1035 = sub nsw i32 %1034, 1
  %1036 = sext i32 %1035 to i64
  %1037 = getelementptr inbounds i32, ptr %1031, i64 %1036
  %1038 = load i32, ptr %1037, align 4, !tbaa !9
  store i32 %1038, ptr %55, align 4, !tbaa !9
  %1039 = load ptr, ptr %26, align 8, !tbaa !5
  %1040 = load ptr, ptr %40, align 8, !tbaa !5
  %1041 = load i32, ptr %91, align 4, !tbaa !9
  %1042 = load i32, ptr %55, align 4, !tbaa !9
  %1043 = add nsw i32 %1041, %1042
  %1044 = sub nsw i32 %1043, 1
  %1045 = sext i32 %1044 to i64
  %1046 = getelementptr inbounds i32, ptr %1040, i64 %1045
  %1047 = load i32, ptr %1046, align 4, !tbaa !9
  %1048 = sext i32 %1047 to i64
  %1049 = getelementptr inbounds float, ptr %1039, i64 %1048
  %1050 = load float, ptr %1049, align 4, !tbaa !11
  %1051 = load ptr, ptr %32, align 8, !tbaa !5
  %1052 = load i32, ptr %62, align 4, !tbaa !9
  %1053 = sext i32 %1052 to i64
  %1054 = getelementptr inbounds float, ptr %1051, i64 %1053
  %1055 = load float, ptr %1054, align 4, !tbaa !11
  %1056 = fadd float %1055, %1050
  store float %1056, ptr %1054, align 4, !tbaa !11
  br label %1057

1057:                                             ; preds = %1030
  %1058 = load i32, ptr %62, align 4, !tbaa !9
  %1059 = add nsw i32 %1058, 1
  store i32 %1059, ptr %62, align 4, !tbaa !9
  br label %1026, !llvm.loop !15

1060:                                             ; preds = %1026
  br label %1061

1061:                                             ; preds = %1060, %1022
  %1062 = load ptr, ptr %37, align 8, !tbaa !5
  %1063 = load i32, ptr %1062, align 4, !tbaa !9
  %1064 = icmp ne i32 %1063, 0
  br i1 %1064, label %1065, label %1190

1065:                                             ; preds = %1061
  store i32 1, ptr %77, align 4, !tbaa !9
  store i32 1, ptr %82, align 4, !tbaa !9
  %1066 = load ptr, ptr %40, align 8, !tbaa !5
  %1067 = load i32, ptr %78, align 4, !tbaa !9
  %1068 = load ptr, ptr %31, align 8, !tbaa !5
  %1069 = load i32, ptr %1068, align 4, !tbaa !9
  %1070 = add nsw i32 %1067, %1069
  %1071 = sub nsw i32 %1070, 1
  %1072 = sext i32 %1071 to i64
  %1073 = getelementptr inbounds i32, ptr %1066, i64 %1072
  %1074 = load i32, ptr %1073, align 4, !tbaa !9
  store i32 %1074, ptr %45, align 4, !tbaa !9
  store i32 1, ptr %51, align 4, !tbaa !9
  br label %1075

1075:                                             ; preds = %1186, %1065
  %1076 = load i32, ptr %51, align 4, !tbaa !9
  %1077 = load i32, ptr %45, align 4, !tbaa !9
  %1078 = icmp sle i32 %1076, %1077
  br i1 %1078, label %1079, label %1189

1079:                                             ; preds = %1075
  %1080 = load ptr, ptr %40, align 8, !tbaa !5
  %1081 = load i32, ptr %91, align 4, !tbaa !9
  %1082 = load i32, ptr %51, align 4, !tbaa !9
  %1083 = add nsw i32 %1081, %1082
  %1084 = sub nsw i32 %1083, 1
  %1085 = sext i32 %1084 to i64
  %1086 = getelementptr inbounds i32, ptr %1080, i64 %1085
  %1087 = load i32, ptr %1086, align 4, !tbaa !9
  store i32 %1087, ptr %50, align 4, !tbaa !9
  %1088 = load i32, ptr %50, align 4, !tbaa !9
  %1089 = load i32, ptr %77, align 4, !tbaa !9
  %1090 = sub nsw i32 %1088, %1089
  %1091 = add nsw i32 %1090, 1
  store i32 %1091, ptr %74, align 4, !tbaa !9
  %1092 = load i32, ptr %82, align 4, !tbaa !9
  %1093 = sub nsw i32 %1092, 1
  store i32 %1093, ptr %52, align 4, !tbaa !9
  br label %1094

1094:                                             ; preds = %1109, %1079
  %1095 = load i32, ptr %52, align 4, !tbaa !9
  %1096 = load ptr, ptr %31, align 8, !tbaa !5
  %1097 = load i32, ptr %1096, align 4, !tbaa !9
  %1098 = icmp slt i32 %1095, %1097
  br i1 %1098, label %1099, label %1113

1099:                                             ; preds = %1094
  %1100 = load ptr, ptr %40, align 8, !tbaa !5
  %1101 = load i32, ptr %78, align 4, !tbaa !9
  %1102 = load i32, ptr %52, align 4, !tbaa !9
  %1103 = add nsw i32 %1101, %1102
  %1104 = sext i32 %1103 to i64
  %1105 = getelementptr inbounds i32, ptr %1100, i64 %1104
  %1106 = load i32, ptr %1105, align 4, !tbaa !9
  %1107 = load i32, ptr %51, align 4, !tbaa !9
  %1108 = icmp eq i32 %1106, %1107
  br i1 %1108, label %1109, label %1112

1109:                                             ; preds = %1099
  %1110 = load i32, ptr %52, align 4, !tbaa !9
  %1111 = add nsw i32 %1110, 1
  store i32 %1111, ptr %52, align 4, !tbaa !9
  br label %1094

1112:                                             ; preds = %1099
  br label %1113

1113:                                             ; preds = %1112, %1094
  %1114 = load i32, ptr %52, align 4, !tbaa !9
  %1115 = load i32, ptr %82, align 4, !tbaa !9
  %1116 = icmp slt i32 %1114, %1115
  br i1 %1116, label %1117, label %1120

1117:                                             ; preds = %1113
  %1118 = load i32, ptr %50, align 4, !tbaa !9
  %1119 = add nsw i32 %1118, 1
  store i32 %1119, ptr %77, align 4, !tbaa !9
  br label %1185

1120:                                             ; preds = %1113
  %1121 = load ptr, ptr %40, align 8, !tbaa !5
  %1122 = load i32, ptr %66, align 4, !tbaa !9
  %1123 = load i32, ptr %82, align 4, !tbaa !9
  %1124 = add nsw i32 %1122, %1123
  %1125 = sub nsw i32 %1124, 1
  %1126 = sext i32 %1125 to i64
  %1127 = getelementptr inbounds i32, ptr %1121, i64 %1126
  %1128 = load i32, ptr %1127, align 4, !tbaa !9
  %1129 = sub nsw i32 %1128, 1
  store i32 %1129, ptr %89, align 4, !tbaa !9
  %1130 = load ptr, ptr %40, align 8, !tbaa !5
  %1131 = load i32, ptr %66, align 4, !tbaa !9
  %1132 = load i32, ptr %82, align 4, !tbaa !9
  %1133 = add nsw i32 %1131, %1132
  %1134 = sub nsw i32 %1133, 1
  %1135 = sext i32 %1134 to i64
  %1136 = getelementptr inbounds i32, ptr %1130, i64 %1135
  %1137 = load i32, ptr %1136, align 4, !tbaa !9
  store i32 %1137, ptr %93, align 4, !tbaa !9
  %1138 = load ptr, ptr %40, align 8, !tbaa !5
  %1139 = load i32, ptr %66, align 4, !tbaa !9
  %1140 = load i32, ptr %52, align 4, !tbaa !9
  %1141 = add nsw i32 %1139, %1140
  %1142 = sub nsw i32 %1141, 1
  %1143 = sext i32 %1142 to i64
  %1144 = getelementptr inbounds i32, ptr %1138, i64 %1143
  %1145 = load i32, ptr %1144, align 4, !tbaa !9
  store i32 %1145, ptr %67, align 4, !tbaa !9
  %1146 = load float, ptr %103, align 4, !tbaa !11
  %1147 = fmul float %1146, 4.000000e+00
  store float %1147, ptr %60, align 4, !tbaa !11
  %1148 = load ptr, ptr %38, align 8, !tbaa !5
  %1149 = load i32, ptr %49, align 4, !tbaa !9
  %1150 = load i32, ptr %77, align 4, !tbaa !9
  %1151 = add nsw i32 %1149, %1150
  %1152 = sub nsw i32 %1151, 1
  %1153 = sext i32 %1152 to i64
  %1154 = getelementptr inbounds float, ptr %1148, i64 %1153
  %1155 = load ptr, ptr %38, align 8, !tbaa !5
  %1156 = load i32, ptr %57, align 4, !tbaa !9
  %1157 = load i32, ptr %77, align 4, !tbaa !9
  %1158 = add nsw i32 %1156, %1157
  %1159 = sub nsw i32 %1158, 1
  %1160 = sext i32 %1159 to i64
  %1161 = getelementptr inbounds float, ptr %1155, i64 %1160
  %1162 = load ptr, ptr %32, align 8, !tbaa !5
  %1163 = load i32, ptr %82, align 4, !tbaa !9
  %1164 = sext i32 %1163 to i64
  %1165 = getelementptr inbounds float, ptr %1162, i64 %1164
  %1166 = load ptr, ptr %38, align 8, !tbaa !5
  %1167 = load i32, ptr %86, align 4, !tbaa !9
  %1168 = load i32, ptr %82, align 4, !tbaa !9
  %1169 = add nsw i32 %1167, %1168
  %1170 = sub nsw i32 %1169, 1
  %1171 = sext i32 %1170 to i64
  %1172 = getelementptr inbounds float, ptr %1166, i64 %1171
  %1173 = load ptr, ptr %38, align 8, !tbaa !5
  %1174 = load i32, ptr %92, align 4, !tbaa !9
  %1175 = sext i32 %1174 to i64
  %1176 = getelementptr inbounds float, ptr %1173, i64 %1175
  %1177 = load ptr, ptr %40, align 8, !tbaa !5
  %1178 = load i32, ptr %87, align 4, !tbaa !9
  %1179 = sext i32 %1178 to i64
  %1180 = getelementptr inbounds i32, ptr %1177, i64 %1179
  call void @slarrj_(ptr noundef %74, ptr noundef %1154, ptr noundef %1161, ptr noundef %93, ptr noundef %67, ptr noundef %60, ptr noundef %89, ptr noundef %1165, ptr noundef %1172, ptr noundef %1176, ptr noundef %1180, ptr noundef %96, ptr noundef %56, ptr noundef %65)
  %1181 = load i32, ptr %50, align 4, !tbaa !9
  %1182 = add nsw i32 %1181, 1
  store i32 %1182, ptr %77, align 4, !tbaa !9
  %1183 = load i32, ptr %52, align 4, !tbaa !9
  %1184 = add nsw i32 %1183, 1
  store i32 %1184, ptr %82, align 4, !tbaa !9
  br label %1185

1185:                                             ; preds = %1120, %1117
  br label %1186

1186:                                             ; preds = %1185
  %1187 = load i32, ptr %51, align 4, !tbaa !9
  %1188 = add nsw i32 %1187, 1
  store i32 %1188, ptr %51, align 4, !tbaa !9
  br label %1075, !llvm.loop !16

1189:                                             ; preds = %1075
  br label %1190

1190:                                             ; preds = %1189, %1061
  %1191 = load float, ptr %63, align 4, !tbaa !11
  %1192 = fcmp une float %1191, 1.000000e+00
  br i1 %1192, label %1193, label %1199

1193:                                             ; preds = %1190
  %1194 = load float, ptr %63, align 4, !tbaa !11
  %1195 = fdiv float 1.000000e+00, %1194
  store float %1195, ptr %47, align 4, !tbaa !11
  %1196 = load ptr, ptr %31, align 8, !tbaa !5
  %1197 = load ptr, ptr %32, align 8, !tbaa !5
  %1198 = getelementptr inbounds float, ptr %1197, i64 1
  call void @sscal_(ptr noundef %1196, ptr noundef %47, ptr noundef %1198, ptr noundef @c__1)
  br label %1199

1199:                                             ; preds = %1193, %1190
  br label %1200

1200:                                             ; preds = %1199, %713
  %1201 = load i32, ptr %97, align 4, !tbaa !9
  %1202 = icmp sgt i32 %1201, 1
  br i1 %1202, label %1207, label %1203

1203:                                             ; preds = %1200
  %1204 = load ptr, ptr %24, align 8, !tbaa !5
  %1205 = load i32, ptr %1204, align 4, !tbaa !9
  %1206 = icmp eq i32 %1205, 2
  br i1 %1206, label %1207, label %1353

1207:                                             ; preds = %1203, %1200
  %1208 = load i32, ptr %69, align 4, !tbaa !9
  %1209 = icmp ne i32 %1208, 0
  br i1 %1209, label %1219, label %1210

1210:                                             ; preds = %1207
  %1211 = load ptr, ptr %31, align 8, !tbaa !5
  %1212 = load ptr, ptr %32, align 8, !tbaa !5
  %1213 = getelementptr inbounds float, ptr %1212, i64 1
  call void @slasrt_(ptr noundef @.str.2, ptr noundef %1211, ptr noundef %1213, ptr noundef %65)
  %1214 = load i32, ptr %65, align 4, !tbaa !9
  %1215 = icmp ne i32 %1214, 0
  br i1 %1215, label %1216, label %1218

1216:                                             ; preds = %1210
  %1217 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 3, ptr %1217, align 4, !tbaa !9
  store i32 1, ptr %105, align 4
  br label %1361

1218:                                             ; preds = %1210
  br label %1352

1219:                                             ; preds = %1207
  %1220 = load ptr, ptr %31, align 8, !tbaa !5
  %1221 = load i32, ptr %1220, align 4, !tbaa !9
  %1222 = sub nsw i32 %1221, 1
  store i32 %1222, ptr %45, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %1223

1223:                                             ; preds = %1348, %1219
  %1224 = load i32, ptr %62, align 4, !tbaa !9
  %1225 = load i32, ptr %45, align 4, !tbaa !9
  %1226 = icmp sle i32 %1224, %1225
  br i1 %1226, label %1227, label %1351

1227:                                             ; preds = %1223
  store i32 0, ptr %61, align 4, !tbaa !9
  %1228 = load ptr, ptr %32, align 8, !tbaa !5
  %1229 = load i32, ptr %62, align 4, !tbaa !9
  %1230 = sext i32 %1229 to i64
  %1231 = getelementptr inbounds float, ptr %1228, i64 %1230
  %1232 = load float, ptr %1231, align 4, !tbaa !11
  store float %1232, ptr %104, align 4, !tbaa !11
  %1233 = load ptr, ptr %31, align 8, !tbaa !5
  %1234 = load i32, ptr %1233, align 4, !tbaa !9
  store i32 %1234, ptr %46, align 4, !tbaa !9
  %1235 = load i32, ptr %62, align 4, !tbaa !9
  %1236 = add nsw i32 %1235, 1
  store i32 %1236, ptr %72, align 4, !tbaa !9
  br label %1237

1237:                                             ; preds = %1257, %1227
  %1238 = load i32, ptr %72, align 4, !tbaa !9
  %1239 = load i32, ptr %46, align 4, !tbaa !9
  %1240 = icmp sle i32 %1238, %1239
  br i1 %1240, label %1241, label %1260

1241:                                             ; preds = %1237
  %1242 = load ptr, ptr %32, align 8, !tbaa !5
  %1243 = load i32, ptr %72, align 4, !tbaa !9
  %1244 = sext i32 %1243 to i64
  %1245 = getelementptr inbounds float, ptr %1242, i64 %1244
  %1246 = load float, ptr %1245, align 4, !tbaa !11
  %1247 = load float, ptr %104, align 4, !tbaa !11
  %1248 = fcmp olt float %1246, %1247
  br i1 %1248, label %1249, label %1256

1249:                                             ; preds = %1241
  %1250 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1250, ptr %61, align 4, !tbaa !9
  %1251 = load ptr, ptr %32, align 8, !tbaa !5
  %1252 = load i32, ptr %72, align 4, !tbaa !9
  %1253 = sext i32 %1252 to i64
  %1254 = getelementptr inbounds float, ptr %1251, i64 %1253
  %1255 = load float, ptr %1254, align 4, !tbaa !11
  store float %1255, ptr %104, align 4, !tbaa !11
  br label %1256

1256:                                             ; preds = %1249, %1241
  br label %1257

1257:                                             ; preds = %1256
  %1258 = load i32, ptr %72, align 4, !tbaa !9
  %1259 = add nsw i32 %1258, 1
  store i32 %1259, ptr %72, align 4, !tbaa !9
  br label %1237, !llvm.loop !17

1260:                                             ; preds = %1237
  %1261 = load i32, ptr %61, align 4, !tbaa !9
  %1262 = icmp ne i32 %1261, 0
  br i1 %1262, label %1263, label %1347

1263:                                             ; preds = %1260
  %1264 = load ptr, ptr %32, align 8, !tbaa !5
  %1265 = load i32, ptr %62, align 4, !tbaa !9
  %1266 = sext i32 %1265 to i64
  %1267 = getelementptr inbounds float, ptr %1264, i64 %1266
  %1268 = load float, ptr %1267, align 4, !tbaa !11
  %1269 = load ptr, ptr %32, align 8, !tbaa !5
  %1270 = load i32, ptr %61, align 4, !tbaa !9
  %1271 = sext i32 %1270 to i64
  %1272 = getelementptr inbounds float, ptr %1269, i64 %1271
  store float %1268, ptr %1272, align 4, !tbaa !11
  %1273 = load float, ptr %104, align 4, !tbaa !11
  %1274 = load ptr, ptr %32, align 8, !tbaa !5
  %1275 = load i32, ptr %62, align 4, !tbaa !9
  %1276 = sext i32 %1275 to i64
  %1277 = getelementptr inbounds float, ptr %1274, i64 %1276
  store float %1273, ptr %1277, align 4, !tbaa !11
  %1278 = load i32, ptr %69, align 4, !tbaa !9
  %1279 = icmp ne i32 %1278, 0
  br i1 %1279, label %1280, label %1346

1280:                                             ; preds = %1263
  %1281 = load ptr, ptr %24, align 8, !tbaa !5
  %1282 = load ptr, ptr %33, align 8, !tbaa !5
  %1283 = load i32, ptr %61, align 4, !tbaa !9
  %1284 = load i32, ptr %43, align 4, !tbaa !9
  %1285 = mul nsw i32 %1283, %1284
  %1286 = add nsw i32 %1285, 1
  %1287 = sext i32 %1286 to i64
  %1288 = getelementptr inbounds float, ptr %1282, i64 %1287
  %1289 = load ptr, ptr %33, align 8, !tbaa !5
  %1290 = load i32, ptr %62, align 4, !tbaa !9
  %1291 = load i32, ptr %43, align 4, !tbaa !9
  %1292 = mul nsw i32 %1290, %1291
  %1293 = add nsw i32 %1292, 1
  %1294 = sext i32 %1293 to i64
  %1295 = getelementptr inbounds float, ptr %1289, i64 %1294
  call void @sswap_(ptr noundef %1281, ptr noundef %1288, ptr noundef @c__1, ptr noundef %1295, ptr noundef @c__1)
  %1296 = load ptr, ptr %36, align 8, !tbaa !5
  %1297 = load i32, ptr %61, align 4, !tbaa !9
  %1298 = shl i32 %1297, 1
  %1299 = sub nsw i32 %1298, 1
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds i32, ptr %1296, i64 %1300
  %1302 = load i32, ptr %1301, align 4, !tbaa !9
  store i32 %1302, ptr %55, align 4, !tbaa !9
  %1303 = load ptr, ptr %36, align 8, !tbaa !5
  %1304 = load i32, ptr %62, align 4, !tbaa !9
  %1305 = shl i32 %1304, 1
  %1306 = sub nsw i32 %1305, 1
  %1307 = sext i32 %1306 to i64
  %1308 = getelementptr inbounds i32, ptr %1303, i64 %1307
  %1309 = load i32, ptr %1308, align 4, !tbaa !9
  %1310 = load ptr, ptr %36, align 8, !tbaa !5
  %1311 = load i32, ptr %61, align 4, !tbaa !9
  %1312 = shl i32 %1311, 1
  %1313 = sub nsw i32 %1312, 1
  %1314 = sext i32 %1313 to i64
  %1315 = getelementptr inbounds i32, ptr %1310, i64 %1314
  store i32 %1309, ptr %1315, align 4, !tbaa !9
  %1316 = load i32, ptr %55, align 4, !tbaa !9
  %1317 = load ptr, ptr %36, align 8, !tbaa !5
  %1318 = load i32, ptr %62, align 4, !tbaa !9
  %1319 = shl i32 %1318, 1
  %1320 = sub nsw i32 %1319, 1
  %1321 = sext i32 %1320 to i64
  %1322 = getelementptr inbounds i32, ptr %1317, i64 %1321
  store i32 %1316, ptr %1322, align 4, !tbaa !9
  %1323 = load ptr, ptr %36, align 8, !tbaa !5
  %1324 = load i32, ptr %61, align 4, !tbaa !9
  %1325 = mul nsw i32 %1324, 2
  %1326 = sext i32 %1325 to i64
  %1327 = getelementptr inbounds i32, ptr %1323, i64 %1326
  %1328 = load i32, ptr %1327, align 4, !tbaa !9
  store i32 %1328, ptr %55, align 4, !tbaa !9
  %1329 = load ptr, ptr %36, align 8, !tbaa !5
  %1330 = load i32, ptr %62, align 4, !tbaa !9
  %1331 = mul nsw i32 %1330, 2
  %1332 = sext i32 %1331 to i64
  %1333 = getelementptr inbounds i32, ptr %1329, i64 %1332
  %1334 = load i32, ptr %1333, align 4, !tbaa !9
  %1335 = load ptr, ptr %36, align 8, !tbaa !5
  %1336 = load i32, ptr %61, align 4, !tbaa !9
  %1337 = mul nsw i32 %1336, 2
  %1338 = sext i32 %1337 to i64
  %1339 = getelementptr inbounds i32, ptr %1335, i64 %1338
  store i32 %1334, ptr %1339, align 4, !tbaa !9
  %1340 = load i32, ptr %55, align 4, !tbaa !9
  %1341 = load ptr, ptr %36, align 8, !tbaa !5
  %1342 = load i32, ptr %62, align 4, !tbaa !9
  %1343 = mul nsw i32 %1342, 2
  %1344 = sext i32 %1343 to i64
  %1345 = getelementptr inbounds i32, ptr %1341, i64 %1344
  store i32 %1340, ptr %1345, align 4, !tbaa !9
  br label %1346

1346:                                             ; preds = %1280, %1263
  br label %1347

1347:                                             ; preds = %1346, %1260
  br label %1348

1348:                                             ; preds = %1347
  %1349 = load i32, ptr %62, align 4, !tbaa !9
  %1350 = add nsw i32 %1349, 1
  store i32 %1350, ptr %62, align 4, !tbaa !9
  br label %1223, !llvm.loop !18

1351:                                             ; preds = %1223
  br label %1352

1352:                                             ; preds = %1351, %1218
  br label %1353

1353:                                             ; preds = %1352, %1203
  %1354 = load i32, ptr %68, align 4, !tbaa !9
  %1355 = sitofp i32 %1354 to float
  %1356 = load ptr, ptr %38, align 8, !tbaa !5
  %1357 = getelementptr inbounds float, ptr %1356, i64 1
  store float %1355, ptr %1357, align 4, !tbaa !11
  %1358 = load i32, ptr %94, align 4, !tbaa !9
  %1359 = load ptr, ptr %40, align 8, !tbaa !5
  %1360 = getelementptr inbounds i32, ptr %1359, i64 1
  store i32 %1358, ptr %1360, align 4, !tbaa !9
  store i32 1, ptr %105, align 4
  br label %1361

1361:                                             ; preds = %1353, %1216, %1018, %952, %475, %421, %414, %403
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #4
  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

; Function Attrs: nounwind
declare double @sqrt(double noundef) #3

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

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

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

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

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

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

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

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

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

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

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

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

declare void @sswap_(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 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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}


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

; Function Attrs: nounwind uwtable
define dso_local void @sstemr_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %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 noundef %14, ptr nocapture noundef %15, ptr noundef %16, ptr nocapture noundef readonly %17, ptr noundef %18, ptr nocapture noundef readonly %19, ptr noundef %20) local_unnamed_addr #0 {
  %22 = ptrtoint ptr %4 to i64
  %23 = ptrtoint ptr %16 to i64
  %24 = alloca i32, align 4
  %25 = alloca float, align 4
  %26 = alloca i32, align 4
  %27 = alloca float, align 4
  %28 = alloca i32, align 4
  %29 = alloca float, align 4
  %30 = alloca float, align 4
  %31 = alloca float, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca float, align 4
  %35 = alloca float, align 4
  %36 = alloca float, align 4
  %37 = alloca i32, align 4
  %38 = alloca float, align 4
  %39 = alloca float, align 4
  %40 = alloca float, align 4
  %41 = alloca float, align 4
  %42 = alloca i32, align 4
  %43 = alloca float, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca float, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #5
  %50 = getelementptr inbounds i8, ptr %4, i64 -4
  %51 = getelementptr inbounds i8, ptr %10, i64 -4
  %52 = load i32, ptr %12, align 4, !tbaa !5
  %narrow = xor i32 %52, -1
  %53 = sext i32 %narrow to i64
  %54 = getelementptr inbounds float, ptr %11, i64 %53
  %55 = getelementptr inbounds i8, ptr %14, i64 -4
  %56 = getelementptr inbounds i8, ptr %16, i64 -4
  %57 = getelementptr inbounds i8, ptr %18, i64 -4
  %58 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #5
  %59 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.1) #5
  %60 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str) #5
  %61 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.2) #5
  %62 = load i32, ptr %17, align 4, !tbaa !5
  %63 = icmp eq i32 %62, -1
  br i1 %63, label %67, label %64

64:                                               ; preds = %21
  %65 = load i32, ptr %19, align 4, !tbaa !5
  %66 = icmp eq i32 %65, -1
  br label %67

67:                                               ; preds = %64, %21
  %68 = phi i1 [ true, %21 ], [ %66, %64 ]
  %69 = load i32, ptr %13, align 4, !tbaa !5
  %70 = icmp eq i32 %69, -1
  %71 = icmp ne i32 %58, 0
  %72 = load i32, ptr %2, align 4, !tbaa !5
  %73 = mul nsw i32 %72, 10
  %74 = shl i32 %72, 3
  %.0440.v = select i1 %71, i32 18, i32 12
  %.0440 = mul nsw i32 %72, %.0440.v
  %.0429 = select i1 %71, i32 %73, i32 %74
  store float 0.000000e+00, ptr %39, align 4, !tbaa !9
  store float 0.000000e+00, ptr %41, align 4, !tbaa !9
  store i32 0, ptr %48, align 4, !tbaa !5
  store i32 0, ptr %49, align 4, !tbaa !5
  store i32 0, ptr %47, align 4, !tbaa !5
  %75 = icmp ne i32 %60, 0
  br i1 %75, label %76, label %79

76:                                               ; preds = %67
  %77 = load float, ptr %5, align 4, !tbaa !9
  store float %77, ptr %39, align 4, !tbaa !9
  %78 = load float, ptr %6, align 4, !tbaa !9
  store float %78, ptr %41, align 4, !tbaa !9
  br label %83

79:                                               ; preds = %67
  %.not = icmp eq i32 %61, 0
  br i1 %.not, label %83, label %80

80:                                               ; preds = %79
  %81 = load i32, ptr %7, align 4, !tbaa !5
  store i32 %81, ptr %48, align 4, !tbaa !5
  %82 = load i32, ptr %8, align 4, !tbaa !5
  store i32 %82, ptr %49, align 4, !tbaa !5
  br label %83

83:                                               ; preds = %79, %80, %76
  %84 = phi i32 [ 0, %79 ], [ %82, %80 ], [ 0, %76 ]
  %85 = phi i32 [ 0, %79 ], [ %81, %80 ], [ 0, %76 ]
  %86 = phi float [ 0.000000e+00, %79 ], [ 0.000000e+00, %80 ], [ %77, %76 ]
  %87 = phi float [ 0.000000e+00, %79 ], [ 0.000000e+00, %80 ], [ %78, %76 ]
  store i32 0, ptr %20, align 4, !tbaa !5
  br i1 %71, label %90, label %88

88:                                               ; preds = %83
  %89 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.3) #5
  %.not460 = icmp eq i32 %89, 0
  br i1 %.not460, label %.sink.split, label %90

90:                                               ; preds = %88, %83
  %91 = or i32 %60, %59
  %or.cond = icmp ne i32 %91, 0
  %92 = icmp ne i32 %61, 0
  %or.cond3 = select i1 %or.cond, i1 true, i1 %92
  br i1 %or.cond3, label %93, label %.sink.split

93:                                               ; preds = %90
  %94 = load i32, ptr %2, align 4, !tbaa !5
  %95 = icmp slt i32 %94, 0
  br i1 %95, label %.sink.split, label %96

96:                                               ; preds = %93
  %.not461 = icmp ne i32 %94, 0
  %or.cond478.not = and i1 %75, %.not461
  %97 = fcmp ole float %87, %86
  %or.cond585.not = select i1 %or.cond478.not, i1 %97, i1 false
  br i1 %or.cond585.not, label %.sink.split, label %98

98:                                               ; preds = %96
  br i1 %92, label %99, label %.critedge

99:                                               ; preds = %98
  %100 = icmp slt i32 %85, 1
  %101 = icmp ugt i32 %85, %94
  %or.cond497 = or i1 %100, %101
  br i1 %or.cond497, label %.sink.split, label %102

102:                                              ; preds = %99
  %103 = icmp slt i32 %84, %85
  %104 = icmp ugt i32 %84, %94
  %or.cond498 = or i1 %103, %104
  br i1 %or.cond498, label %.sink.split, label %.critedge

.critedge:                                        ; preds = %102, %98
  %105 = load i32, ptr %12, align 4, !tbaa !5
  %106 = icmp slt i32 %105, 1
  %107 = icmp ult i32 %105, %94
  %or.cond499 = and i1 %71, %107
  %or.cond500 = or i1 %106, %or.cond499
  br i1 %or.cond500, label %.sink.split, label %108

108:                                              ; preds = %.critedge
  %109 = load i32, ptr %17, align 4, !tbaa !5
  %110 = icmp sge i32 %109, %.0440
  %or.cond5 = select i1 %110, i1 true, i1 %68
  br i1 %or.cond5, label %111, label %.sink.split

111:                                              ; preds = %108
  %112 = load i32, ptr %19, align 4, !tbaa !5
  %113 = icmp sge i32 %112, %.0429
  %or.cond7 = select i1 %113, i1 true, i1 %68
  br i1 %or.cond7, label %114, label %.sink.split

.sink.split:                                      ; preds = %111, %108, %.critedge, %102, %99, %96, %93, %90, %88
  %.sink = phi i32 [ -1, %88 ], [ -2, %90 ], [ -3, %93 ], [ -7, %96 ], [ -8, %99 ], [ -9, %102 ], [ -13, %.critedge ], [ -17, %108 ], [ -19, %111 ]
  store i32 %.sink, ptr %20, align 4, !tbaa !5
  br label %114

114:                                              ; preds = %.sink.split, %111
  %115 = tail call float @slamch_(ptr noundef nonnull @.str.4) #5
  store float %115, ptr %40, align 4, !tbaa !9
  %116 = tail call float @slamch_(ptr noundef nonnull @.str.5) #5
  %117 = fdiv float %115, %116
  %118 = fdiv float 1.000000e+00, %117
  %sqrtf = tail call float @sqrtf(float noundef %117) #3
  %sqrtf462 = tail call float @sqrtf(float noundef %118) #3
  store float %sqrtf462, ptr %25, align 4, !tbaa !9
  %119 = fpext float %115 to double
  %120 = tail call double @sqrt(double noundef %119) #5
  %121 = tail call double @sqrt(double noundef %120) #5
  %122 = fdiv double 1.000000e+00, %121
  %123 = fptrunc double %122 to float
  %124 = fcmp ole float %sqrtf462, %123
  %125 = select i1 %124, float %sqrtf462, float %123
  %126 = load i32, ptr %20, align 4, !tbaa !5
  %127 = icmp eq i32 %126, 0
  br i1 %127, label %128, label %.thread487

128:                                              ; preds = %114
  %129 = sitofp i32 %.0440 to float
  store float %129, ptr %16, align 4, !tbaa !9
  store i32 %.0429, ptr %18, align 4, !tbaa !5
  %130 = icmp ne i32 %59, 0
  %or.cond9 = select i1 %71, i1 %130, i1 false
  br i1 %or.cond9, label %131, label %133

131:                                              ; preds = %128
  %132 = load i32, ptr %2, align 4, !tbaa !5
  store i32 %132, ptr %45, align 4, !tbaa !5
  br label %141

133:                                              ; preds = %128
  %or.cond11 = and i1 %71, %75
  br i1 %or.cond11, label %134, label %135

134:                                              ; preds = %133
  call void @slarrc_(ptr noundef nonnull @.str.6, ptr noundef nonnull %2, ptr noundef %5, ptr noundef %6, ptr noundef %3, ptr noundef %4, ptr noundef nonnull %40, ptr noundef nonnull %45, ptr noundef nonnull %26, ptr noundef nonnull %28, ptr noundef nonnull %20) #5
  br label %141

135:                                              ; preds = %133
  %136 = icmp ne i32 %61, 0
  %or.cond13 = select i1 %71, i1 %136, i1 false
  br i1 %or.cond13, label %137, label %140

137:                                              ; preds = %135
  %138 = add i32 %84, 1
  %139 = sub i32 %138, %85
  store i32 %139, ptr %45, align 4, !tbaa !5
  br label %141

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

141:                                              ; preds = %134, %140, %137, %131
  br i1 %70, label %142, label %147

142:                                              ; preds = %141
  %143 = load i32, ptr %20, align 4, !tbaa !5
  %144 = icmp eq i32 %143, 0
  br i1 %144, label %.thread574, label %.thread487

.thread574:                                       ; preds = %142
  %145 = load i32, ptr %45, align 4, !tbaa !5
  %146 = sitofp i32 %145 to float
  store float %146, ptr %11, align 4, !tbaa !9
  br label %559

147:                                              ; preds = %141
  %148 = load i32, ptr %13, align 4, !tbaa !5
  %149 = load i32, ptr %45, align 4, !tbaa !5
  %.not571 = icmp slt i32 %148, %149
  br i1 %.not571, label %150, label %151

150:                                              ; preds = %147
  store i32 -14, ptr %20, align 4, !tbaa !5
  br label %.thread487

151:                                              ; preds = %147
  %.pr.pre = load i32, ptr %20, align 4, !tbaa !5
  %.not463 = icmp eq i32 %.pr.pre, 0
  br i1 %.not463, label %155, label %.thread487

.thread487:                                       ; preds = %142, %114, %150, %151
  %152 = phi i32 [ %.pr.pre, %151 ], [ %126, %114 ], [ -14, %150 ], [ %143, %142 ]
  %153 = sub nsw i32 0, %152
  store i32 %153, ptr %24, align 4, !tbaa !5
  %154 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %24, i32 noundef 6) #5
  br label %559

155:                                              ; preds = %151
  %or.cond17 = select i1 %68, i1 true, i1 %70
  br i1 %or.cond17, label %559, label %156

156:                                              ; preds = %155
  store i32 0, ptr %9, align 4, !tbaa !5
  %157 = load i32, ptr %2, align 4, !tbaa !5
  switch i32 %157, label %275 [
    i32 0, label %559
    i32 1, label %158
    i32 2, label %173
  ]

158:                                              ; preds = %156
  %159 = icmp ne i32 %61, 0
  %or.cond19 = select i1 %130, i1 true, i1 %159
  br i1 %or.cond19, label %160, label %162

160:                                              ; preds = %158
  store i32 1, ptr %9, align 4, !tbaa !5
  %161 = load float, ptr %3, align 4, !tbaa !9
  br label %.sink.split586

162:                                              ; preds = %158
  %163 = load float, ptr %39, align 4, !tbaa !9
  %164 = load float, ptr %3, align 4, !tbaa !9
  %165 = fcmp uge float %163, %164
  %166 = load float, ptr %41, align 4
  %167 = fcmp ult float %166, %164
  %or.cond480 = select i1 %165, i1 true, i1 %167
  br i1 %or.cond480, label %169, label %168

168:                                              ; preds = %162
  store i32 1, ptr %9, align 4, !tbaa !5
  br label %.sink.split586

.sink.split586:                                   ; preds = %160, %168
  %.sink587 = phi float [ %164, %168 ], [ %161, %160 ]
  store float %.sink587, ptr %10, align 4, !tbaa !9
  br label %169

169:                                              ; preds = %.sink.split586, %162
  %170 = icmp eq i32 %58, 0
  br i1 %170, label %559, label %171

171:                                              ; preds = %169
  store float 1.000000e+00, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %14, align 4, !tbaa !5
  %172 = getelementptr inbounds i8, ptr %14, i64 4
  store i32 1, ptr %172, align 4, !tbaa !5
  br label %559

173:                                              ; preds = %156
  %174 = getelementptr inbounds i8, ptr %3, i64 4
  br i1 %71, label %176, label %175

175:                                              ; preds = %173
  call void @slae2_(ptr noundef %3, ptr noundef %4, ptr noundef nonnull %174, ptr noundef nonnull %34, ptr noundef nonnull %35) #5
  br label %177

176:                                              ; preds = %173
  call void @slaev2_(ptr noundef %3, ptr noundef %4, ptr noundef nonnull %174, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %38) #5
  br label %177

177:                                              ; preds = %176, %175
  %.not472 = icmp eq i32 %59, 0
  br i1 %.not472, label %178, label %189

178:                                              ; preds = %177
  br i1 %75, label %179, label %185

179:                                              ; preds = %178
  %180 = load float, ptr %35, align 4, !tbaa !9
  %181 = load float, ptr %39, align 4, !tbaa !9
  %182 = fcmp ule float %180, %181
  %183 = load float, ptr %41, align 4
  %184 = fcmp ugt float %180, %183
  %or.cond482 = select i1 %182, i1 true, i1 %184
  br i1 %or.cond482, label %185, label %189

185:                                              ; preds = %179, %178
  %186 = icmp ne i32 %61, 0
  %187 = load i32, ptr %48, align 4
  %188 = icmp eq i32 %187, 1
  %or.cond25 = select i1 %186, i1 %188, i1 false
  br i1 %or.cond25, label %189, label %.thread489

189:                                              ; preds = %179, %185, %177
  %190 = load i32, ptr %9, align 4, !tbaa !5
  %191 = add nsw i32 %190, 1
  store i32 %191, ptr %9, align 4, !tbaa !5
  %192 = load float, ptr %35, align 4, !tbaa !9
  %193 = sext i32 %191 to i64
  %194 = getelementptr inbounds float, ptr %51, i64 %193
  store float %192, ptr %194, align 4, !tbaa !9
  %195 = icmp eq i32 %58, 0
  br i1 %195, label %227, label %196

196:                                              ; preds = %189
  %197 = load float, ptr %38, align 4, !tbaa !9
  %198 = fneg float %197
  %199 = mul nsw i32 %191, %52
  %200 = sext i32 %199 to i64
  %201 = getelementptr float, ptr %54, i64 %200
  %202 = getelementptr i8, ptr %201, i64 4
  store float %198, ptr %202, align 4, !tbaa !9
  %203 = load float, ptr %36, align 4, !tbaa !9
  %204 = getelementptr i8, ptr %201, i64 8
  store float %203, ptr %204, align 4, !tbaa !9
  %205 = fcmp une float %197, 0.000000e+00
  br i1 %205, label %206, label %218

206:                                              ; preds = %196
  %207 = fcmp une float %203, 0.000000e+00
  %208 = shl i32 %191, 1
  %209 = sext i32 %208 to i64
  %210 = getelementptr i32, ptr %55, i64 %209
  %211 = getelementptr i8, ptr %210, i64 -4
  store i32 1, ptr %211, align 4, !tbaa !5
  %212 = load i32, ptr %9, align 4, !tbaa !5
  %213 = shl nsw i32 %212, 1
  %214 = sext i32 %213 to i64
  %215 = getelementptr inbounds i32, ptr %55, i64 %214
  br i1 %207, label %216, label %217

216:                                              ; preds = %206
  store i32 2, ptr %215, align 4, !tbaa !5
  br label %227

217:                                              ; preds = %206
  store i32 1, ptr %215, align 4, !tbaa !5
  br label %227

218:                                              ; preds = %196
  %219 = shl i32 %191, 1
  %220 = sext i32 %219 to i64
  %221 = getelementptr i32, ptr %55, i64 %220
  %222 = getelementptr i8, ptr %221, i64 -4
  store i32 2, ptr %222, align 4, !tbaa !5
  %223 = load i32, ptr %9, align 4, !tbaa !5
  %224 = shl nsw i32 %223, 1
  %225 = sext i32 %224 to i64
  %226 = getelementptr inbounds i32, ptr %55, i64 %225
  store i32 2, ptr %226, align 4, !tbaa !5
  br label %227

227:                                              ; preds = %189, %216, %217, %218
  br i1 %.not472, label %.thread489, label %238

.thread489:                                       ; preds = %185, %227
  br i1 %75, label %228, label %234

228:                                              ; preds = %.thread489
  %229 = load float, ptr %34, align 4, !tbaa !9
  %230 = load float, ptr %39, align 4, !tbaa !9
  %231 = fcmp ule float %229, %230
  %232 = load float, ptr %41, align 4
  %233 = fcmp ugt float %229, %232
  %or.cond484 = select i1 %231, i1 true, i1 %233
  br i1 %or.cond484, label %234, label %238

234:                                              ; preds = %228, %.thread489
  %235 = icmp ne i32 %61, 0
  %236 = load i32, ptr %49, align 4
  %237 = icmp eq i32 %236, 2
  %or.cond29 = select i1 %235, i1 %237, i1 false
  br i1 %or.cond29, label %238, label %506

238:                                              ; preds = %228, %234, %227
  %239 = load i32, ptr %9, align 4, !tbaa !5
  %240 = add nsw i32 %239, 1
  store i32 %240, ptr %9, align 4, !tbaa !5
  %241 = load float, ptr %34, align 4, !tbaa !9
  %242 = sext i32 %240 to i64
  %243 = getelementptr inbounds float, ptr %51, i64 %242
  store float %241, ptr %243, align 4, !tbaa !9
  %244 = icmp eq i32 %58, 0
  br i1 %244, label %506, label %245

245:                                              ; preds = %238
  %246 = load float, ptr %36, align 4, !tbaa !9
  %247 = mul nsw i32 %240, %52
  %248 = sext i32 %247 to i64
  %249 = getelementptr float, ptr %54, i64 %248
  %250 = getelementptr i8, ptr %249, i64 4
  store float %246, ptr %250, align 4, !tbaa !9
  %251 = load float, ptr %38, align 4, !tbaa !9
  %252 = getelementptr i8, ptr %249, i64 8
  store float %251, ptr %252, align 4, !tbaa !9
  %253 = fcmp une float %251, 0.000000e+00
  br i1 %253, label %254, label %266

254:                                              ; preds = %245
  %255 = fcmp une float %246, 0.000000e+00
  %256 = shl i32 %240, 1
  %257 = sext i32 %256 to i64
  %258 = getelementptr i32, ptr %55, i64 %257
  %259 = getelementptr i8, ptr %258, i64 -4
  store i32 1, ptr %259, align 4, !tbaa !5
  %260 = load i32, ptr %9, align 4, !tbaa !5
  %261 = shl nsw i32 %260, 1
  %262 = sext i32 %261 to i64
  %263 = getelementptr inbounds i32, ptr %55, i64 %262
  br i1 %255, label %264, label %265

264:                                              ; preds = %254
  store i32 2, ptr %263, align 4, !tbaa !5
  br label %506

265:                                              ; preds = %254
  store i32 1, ptr %263, align 4, !tbaa !5
  br label %506

266:                                              ; preds = %245
  %267 = shl i32 %240, 1
  %268 = sext i32 %267 to i64
  %269 = getelementptr i32, ptr %55, i64 %268
  %270 = getelementptr i8, ptr %269, i64 -4
  store i32 2, ptr %270, align 4, !tbaa !5
  %271 = load i32, ptr %9, align 4, !tbaa !5
  %272 = shl nsw i32 %271, 1
  %273 = sext i32 %272 to i64
  %274 = getelementptr inbounds i32, ptr %55, i64 %273
  store i32 2, ptr %274, align 4, !tbaa !5
  br label %506

275:                                              ; preds = %156
  %276 = shl i32 %157, 1
  %277 = or disjoint i32 %276, 1
  %278 = mul nsw i32 %157, 3
  %279 = add nsw i32 %278, 1
  %280 = shl i32 %157, 2
  %281 = or disjoint i32 %280, 1
  %282 = mul i32 %157, 5
  %283 = mul nsw i32 %157, 6
  %284 = or disjoint i32 %283, 1
  %285 = add nsw i32 %157, 1
  store float 1.000000e+00, ptr %31, align 4, !tbaa !9
  %286 = call float @slanst_(ptr noundef nonnull @.str.8, ptr noundef nonnull %2, ptr noundef %3, ptr noundef %4) #5
  store float %286, ptr %27, align 4, !tbaa !9
  %287 = fcmp ogt float %286, 0.000000e+00
  %288 = fcmp olt float %286, %sqrtf
  %or.cond485 = select i1 %287, i1 %288, i1 false
  br i1 %or.cond485, label %289, label %291

289:                                              ; preds = %275
  %290 = fdiv float %sqrtf, %286
  store float %290, ptr %31, align 4, !tbaa !9
  br label %295

291:                                              ; preds = %275
  %292 = fcmp ogt float %286, %125
  br i1 %292, label %293, label %thread-pre-split490

293:                                              ; preds = %291
  %294 = fdiv float %125, %286
  store float %294, ptr %31, align 4, !tbaa !9
  br label %295

thread-pre-split490:                              ; preds = %291
  %.pr491 = load float, ptr %31, align 4, !tbaa !9
  br label %295

295:                                              ; preds = %thread-pre-split490, %293, %289
  %296 = phi float [ %.pr491, %thread-pre-split490 ], [ %294, %293 ], [ %290, %289 ]
  %297 = fcmp une float %296, 1.000000e+00
  br i1 %297, label %298, label %308

298:                                              ; preds = %295
  call void @sscal_(ptr noundef nonnull %2, ptr noundef nonnull %31, ptr noundef %3, ptr noundef nonnull @c__1) #5
  %299 = load i32, ptr %2, align 4, !tbaa !5
  %300 = add nsw i32 %299, -1
  store i32 %300, ptr %24, align 4, !tbaa !5
  call void @sscal_(ptr noundef nonnull %24, ptr noundef nonnull %31, ptr noundef %4, ptr noundef nonnull @c__1) #5
  %301 = load float, ptr %31, align 4, !tbaa !9
  %302 = fmul float %301, %286
  store float %302, ptr %27, align 4, !tbaa !9
  br i1 %75, label %303, label %308

303:                                              ; preds = %298
  %304 = load float, ptr %39, align 4, !tbaa !9
  %305 = fmul float %301, %304
  store float %305, ptr %39, align 4, !tbaa !9
  %306 = load float, ptr %41, align 4, !tbaa !9
  %307 = fmul float %301, %306
  store float %307, ptr %41, align 4, !tbaa !9
  br label %308

308:                                              ; preds = %298, %303, %295
  %309 = load i32, ptr %15, align 4, !tbaa !5
  %.not464 = icmp eq i32 %309, 0
  br i1 %.not464, label %.thread493, label %310

.thread493:                                       ; preds = %308
  store i32 -1, ptr %32, align 4, !tbaa !5
  br label %.thread495

310:                                              ; preds = %308
  call void @slarrr_(ptr noundef nonnull %2, ptr noundef %3, ptr noundef %4, ptr noundef nonnull %32) #5
  %.pr492 = load i32, ptr %32, align 4, !tbaa !5
  %311 = icmp eq i32 %.pr492, 0
  br i1 %311, label %313, label %.thread495

.thread495:                                       ; preds = %310, %.thread493
  %312 = fneg float %116
  store float %312, ptr %43, align 4, !tbaa !9
  store i32 0, ptr %15, align 4, !tbaa !5
  br label %317

313:                                              ; preds = %310
  store float %116, ptr %43, align 4, !tbaa !9
  %.pr494 = load i32, ptr %15, align 4, !tbaa !5
  %.not465 = icmp eq i32 %.pr494, 0
  br i1 %.not465, label %317, label %314

314:                                              ; preds = %313
  %315 = sext i32 %281 to i64
  %316 = getelementptr inbounds float, ptr %56, i64 %315
  call void @scopy_(ptr noundef nonnull %2, ptr noundef %3, ptr noundef nonnull @c__1, ptr noundef nonnull %316, ptr noundef nonnull @c__1) #5
  br label %317

317:                                              ; preds = %.thread495, %314, %313
  %318 = load i32, ptr %2, align 4, !tbaa !5
  %319 = add nsw i32 %318, -1
  store i32 %319, ptr %24, align 4, !tbaa !5
  %.not466.not503 = icmp sgt i32 %318, 1
  br i1 %.not466.not503, label %.lr.ph.preheader, label %._crit_edge

.lr.ph.preheader:                                 ; preds = %317
  %wide.trip.count = zext nneg i32 %318 to i64
  %320 = add nsw i64 %wide.trip.count, -1
  %min.iters.check = icmp ult i32 %318, 21
  br i1 %min.iters.check, label %.lr.ph.preheader596, label %vector.scevcheck

vector.scevcheck:                                 ; preds = %.lr.ph.preheader
  %321 = add nsw i64 %wide.trip.count, -2
  %322 = add i32 %282, 1
  %323 = trunc i64 %321 to i32
  %324 = add i32 %322, %323
  %325 = icmp slt i32 %324, %322
  %326 = icmp ugt i64 %321, 4294967295
  %327 = or i1 %325, %326
  br i1 %327, label %.lr.ph.preheader596, label %vector.memcheck

vector.memcheck:                                  ; preds = %vector.scevcheck
  %328 = add i32 %282, 1
  %329 = sext i32 %328 to i64
  %330 = shl nsw i64 %329, 2
  %331 = add i64 %330, %23
  %332 = add i64 %331, -4
  %333 = sub i64 %332, %22
  %diff.check = icmp ult i64 %333, 32
  br i1 %diff.check, label %.lr.ph.preheader596, label %vector.ph

vector.ph:                                        ; preds = %vector.memcheck
  %n.vec = and i64 %320, -8
  %ind.end = or disjoint i64 %n.vec, 1
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %334 = trunc i64 %index to i32
  %335 = or disjoint i32 %334, 1
  %336 = getelementptr float, ptr %4, i64 %index
  %337 = getelementptr inbounds i8, ptr %336, i64 16
  %wide.load = load <4 x float>, ptr %336, align 4, !tbaa !9
  %wide.load593 = load <4 x float>, ptr %337, align 4, !tbaa !9
  %338 = fmul <4 x float> %wide.load, %wide.load
  %339 = fmul <4 x float> %wide.load593, %wide.load593
  %340 = add i32 %282, %335
  %341 = sext i32 %340 to i64
  %342 = getelementptr inbounds float, ptr %56, i64 %341
  %343 = getelementptr inbounds i8, ptr %342, i64 16
  store <4 x float> %338, ptr %342, align 4, !tbaa !9
  store <4 x float> %339, ptr %343, align 4, !tbaa !9
  %index.next = add nuw i64 %index, 8
  %344 = icmp eq i64 %index.next, %n.vec
  br i1 %344, label %middle.block, label %vector.body, !llvm.loop !11

middle.block:                                     ; preds = %vector.body
  %345 = extractelement <4 x float> %wide.load593, i64 3
  %cmp.n = icmp eq i64 %320, %n.vec
  br i1 %cmp.n, label %._crit_edge, label %.lr.ph.preheader596

.lr.ph.preheader596:                              ; preds = %middle.block, %vector.memcheck, %vector.scevcheck, %.lr.ph.preheader
  %indvars.iv.ph = phi i64 [ 1, %vector.memcheck ], [ 1, %vector.scevcheck ], [ 1, %.lr.ph.preheader ], [ %ind.end, %middle.block ]
  %346 = and i64 %wide.trip.count, 1
  %lcmp.mod.not.not = icmp eq i64 %346, 0
  br i1 %lcmp.mod.not.not, label %.lr.ph.prol, label %.lr.ph.prol.loopexit

.lr.ph.prol:                                      ; preds = %.lr.ph.preheader596
  %347 = getelementptr inbounds float, ptr %50, i64 %indvars.iv.ph
  %348 = load float, ptr %347, align 4, !tbaa !9
  %349 = fmul float %348, %348
  %350 = trunc nuw nsw i64 %indvars.iv.ph to i32
  %351 = add i32 %282, %350
  %352 = sext i32 %351 to i64
  %353 = getelementptr inbounds float, ptr %56, i64 %352
  store float %349, ptr %353, align 4, !tbaa !9
  %indvars.iv.next.prol = add nuw nsw i64 %indvars.iv.ph, 1
  br label %.lr.ph.prol.loopexit

.lr.ph.prol.loopexit:                             ; preds = %.lr.ph.prol, %.lr.ph.preheader596
  %.lcssa597.unr = phi float [ poison, %.lr.ph.preheader596 ], [ %348, %.lr.ph.prol ]
  %indvars.iv.unr = phi i64 [ %indvars.iv.ph, %.lr.ph.preheader596 ], [ %indvars.iv.next.prol, %.lr.ph.prol ]
  %354 = add nsw i64 %wide.trip.count, -1
  %355 = icmp eq i64 %indvars.iv.ph, %354
  br i1 %355, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.prol.loopexit, %.lr.ph
  %indvars.iv = phi i64 [ %indvars.iv.next.1, %.lr.ph ], [ %indvars.iv.unr, %.lr.ph.prol.loopexit ]
  %356 = getelementptr inbounds float, ptr %50, i64 %indvars.iv
  %357 = load float, ptr %356, align 4, !tbaa !9
  %358 = fmul float %357, %357
  %359 = trunc nuw nsw i64 %indvars.iv to i32
  %360 = add i32 %282, %359
  %361 = sext i32 %360 to i64
  %362 = getelementptr inbounds float, ptr %56, i64 %361
  store float %358, ptr %362, align 4, !tbaa !9
  %363 = getelementptr float, ptr %4, i64 %indvars.iv
  %364 = load float, ptr %363, align 4, !tbaa !9
  %365 = fmul float %364, %364
  %366 = trunc i64 %indvars.iv to i32
  %367 = add i32 %366, 1
  %368 = add i32 %282, %367
  %369 = sext i32 %368 to i64
  %370 = getelementptr inbounds float, ptr %56, i64 %369
  store float %365, ptr %370, align 4, !tbaa !9
  %indvars.iv.next.1 = add nuw nsw i64 %indvars.iv, 2
  %exitcond.not.1 = icmp eq i64 %indvars.iv.next.1, %wide.trip.count
  br i1 %exitcond.not.1, label %._crit_edge, label %.lr.ph, !llvm.loop !15

._crit_edge:                                      ; preds = %.lr.ph.prol.loopexit, %.lr.ph, %middle.block, %317
  %.lcssa = phi float [ %sqrtf462, %317 ], [ %345, %middle.block ], [ %.lcssa597.unr, %.lr.ph.prol.loopexit ], [ %364, %.lr.ph ]
  store float %.lcssa, ptr %25, align 4, !tbaa !9
  br i1 %71, label %373, label %371

371:                                              ; preds = %._crit_edge
  %372 = fmul float %116, 4.000000e+00
  store float %372, ptr %29, align 4, !tbaa !9
  br label %386

373:                                              ; preds = %._crit_edge
  %374 = fpext float %116 to double
  %375 = call double @sqrt(double noundef %374) #5
  %376 = fmul double %375, 0x3FA99999A0000000
  %377 = fptrunc double %376 to float
  %378 = fmul float %116, 4.000000e+00
  %379 = fcmp ole float %378, %377
  %380 = select i1 %379, float %377, float %378
  store float %380, ptr %29, align 4, !tbaa !9
  %381 = call double @sqrt(double noundef %374) #5
  %382 = fmul double %381, 0x3F747AE140000000
  %383 = fptrunc double %382 to float
  store float %383, ptr %25, align 4, !tbaa !9
  %384 = fcmp ole float %378, %383
  %385 = select i1 %384, float %383, float %378
  br label %386

386:                                              ; preds = %373, %371
  %storemerge = phi float [ %372, %371 ], [ %385, %373 ]
  store float %storemerge, ptr %30, align 4, !tbaa !9
  %387 = sext i32 %282 to i64
  %388 = getelementptr float, ptr %56, i64 %387
  %389 = getelementptr i8, ptr %388, i64 4
  %390 = sext i32 %277 to i64
  %391 = getelementptr inbounds float, ptr %56, i64 %390
  %392 = sext i32 %279 to i64
  %393 = getelementptr inbounds float, ptr %56, i64 %392
  %394 = sext i32 %285 to i64
  %395 = getelementptr inbounds i32, ptr %57, i64 %394
  %396 = getelementptr inbounds i32, ptr %57, i64 %390
  %397 = sext i32 %284 to i64
  %398 = getelementptr inbounds float, ptr %56, i64 %397
  %399 = getelementptr inbounds i32, ptr %57, i64 %392
  call void @slarre_(ptr noundef %1, ptr noundef nonnull %2, ptr noundef nonnull %39, ptr noundef nonnull %41, ptr noundef nonnull %48, ptr noundef nonnull %49, ptr noundef %3, ptr noundef %4, ptr noundef nonnull %389, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %43, ptr noundef nonnull %47, ptr noundef nonnull %18, ptr noundef nonnull %9, ptr noundef %10, ptr noundef nonnull %391, ptr noundef nonnull %393, ptr noundef nonnull %395, ptr noundef nonnull %396, ptr noundef nonnull %16, ptr noundef nonnull %46, ptr noundef nonnull %398, ptr noundef nonnull %399, ptr noundef nonnull %32) #5
  %400 = load i32, ptr %32, align 4
  %.not467 = icmp eq i32 %400, 0
  br i1 %.not467, label %404, label %401

401:                                              ; preds = %386
  %402 = call i32 @llvm.abs.i32(i32 %400, i1 true)
  %403 = add nuw nsw i32 %402, 10
  store i32 %403, ptr %20, align 4, !tbaa !5
  br label %559

404:                                              ; preds = %386
  br i1 %71, label %405, label %410

405:                                              ; preds = %404
  call void @slarrv_(ptr noundef nonnull %2, ptr noundef nonnull %39, ptr noundef nonnull %41, ptr noundef %3, ptr noundef %4, ptr noundef nonnull %46, ptr noundef nonnull %18, ptr noundef nonnull %9, ptr noundef nonnull @c__1, ptr noundef nonnull %9, ptr noundef nonnull @c_b18, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef %10, ptr noundef nonnull %391, ptr noundef nonnull %393, ptr noundef nonnull %395, ptr noundef nonnull %396, ptr noundef nonnull %16, ptr noundef %11, ptr noundef nonnull %12, ptr noundef %14, ptr noundef nonnull %398, ptr noundef nonnull %399, ptr noundef nonnull %32) #5
  %406 = load i32, ptr %32, align 4
  %.not469 = icmp eq i32 %406, 0
  br i1 %.not469, label %.loopexit502, label %407

407:                                              ; preds = %405
  %408 = call i32 @llvm.abs.i32(i32 %406, i1 true)
  %409 = add nuw nsw i32 %408, 20
  store i32 %409, ptr %20, align 4, !tbaa !5
  br label %559

410:                                              ; preds = %404
  %411 = load i32, ptr %9, align 4, !tbaa !5
  store i32 %411, ptr %24, align 4, !tbaa !5
  %.not468505 = icmp slt i32 %411, 1
  br i1 %.not468505, label %.loopexit502, label %.lr.ph508.preheader

.lr.ph508.preheader:                              ; preds = %410
  %412 = zext nneg i32 %411 to i64
  %xtraiter598 = and i64 %412, 1
  %413 = icmp eq i32 %411, 1
  br i1 %413, label %..loopexit502_crit_edge.unr-lcssa, label %.lr.ph508.preheader.new

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

.lr.ph508:                                        ; preds = %.lr.ph508, %.lr.ph508.preheader.new
  %indvars.iv548 = phi i64 [ 1, %.lr.ph508.preheader.new ], [ %indvars.iv.next549.1, %.lr.ph508 ]
  %niter = phi i64 [ 0, %.lr.ph508.preheader.new ], [ %niter.next.1, %.lr.ph508 ]
  %414 = trunc nuw nsw i64 %indvars.iv548 to i32
  %415 = add i32 %157, %414
  %416 = sext i32 %415 to i64
  %417 = getelementptr inbounds i32, ptr %57, i64 %416
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = sext i32 %418 to i64
  %420 = getelementptr inbounds i32, ptr %57, i64 %419
  %421 = load i32, ptr %420, align 4, !tbaa !5
  %422 = sext i32 %421 to i64
  %423 = getelementptr inbounds float, ptr %50, i64 %422
  %424 = load float, ptr %423, align 4, !tbaa !9
  %425 = getelementptr inbounds float, ptr %51, i64 %indvars.iv548
  %426 = load float, ptr %425, align 4, !tbaa !9
  %427 = fadd float %424, %426
  store float %427, ptr %425, align 4, !tbaa !9
  %428 = trunc i64 %indvars.iv548 to i32
  %429 = add i32 %428, 1
  %430 = add i32 %157, %429
  %431 = sext i32 %430 to i64
  %432 = getelementptr inbounds i32, ptr %57, i64 %431
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = sext i32 %433 to i64
  %435 = getelementptr inbounds i32, ptr %57, i64 %434
  %436 = load i32, ptr %435, align 4, !tbaa !5
  %437 = sext i32 %436 to i64
  %438 = getelementptr inbounds float, ptr %50, i64 %437
  %439 = load float, ptr %438, align 4, !tbaa !9
  %440 = getelementptr float, ptr %10, i64 %indvars.iv548
  %441 = load float, ptr %440, align 4, !tbaa !9
  %442 = fadd float %439, %441
  store float %442, ptr %440, align 4, !tbaa !9
  %indvars.iv.next549.1 = add nuw nsw i64 %indvars.iv548, 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 %..loopexit502_crit_edge.unr-lcssa, label %.lr.ph508, !llvm.loop !16

..loopexit502_crit_edge.unr-lcssa:                ; preds = %.lr.ph508, %.lr.ph508.preheader
  %.lcssa595.ph = phi i32 [ poison, %.lr.ph508.preheader ], [ %433, %.lr.ph508 ]
  %indvars.iv548.unr = phi i64 [ 1, %.lr.ph508.preheader ], [ %indvars.iv.next549.1, %.lr.ph508 ]
  %lcmp.mod599.not = icmp eq i64 %xtraiter598, 0
  br i1 %lcmp.mod599.not, label %..loopexit502_crit_edge, label %.lr.ph508.epil

.lr.ph508.epil:                                   ; preds = %..loopexit502_crit_edge.unr-lcssa
  %443 = trunc nuw nsw i64 %indvars.iv548.unr to i32
  %444 = add i32 %157, %443
  %445 = sext i32 %444 to i64
  %446 = getelementptr inbounds i32, ptr %57, i64 %445
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = sext i32 %447 to i64
  %449 = getelementptr inbounds i32, ptr %57, i64 %448
  %450 = load i32, ptr %449, align 4, !tbaa !5
  %451 = sext i32 %450 to i64
  %452 = getelementptr inbounds float, ptr %50, i64 %451
  %453 = load float, ptr %452, align 4, !tbaa !9
  %454 = getelementptr inbounds float, ptr %51, i64 %indvars.iv548.unr
  %455 = load float, ptr %454, align 4, !tbaa !9
  %456 = fadd float %453, %455
  store float %456, ptr %454, align 4, !tbaa !9
  br label %..loopexit502_crit_edge

..loopexit502_crit_edge:                          ; preds = %..loopexit502_crit_edge.unr-lcssa, %.lr.ph508.epil
  %.lcssa595 = phi i32 [ %.lcssa595.ph, %..loopexit502_crit_edge.unr-lcssa ], [ %447, %.lr.ph508.epil ]
  store i32 %.lcssa595, ptr %26, align 4, !tbaa !5
  br label %.loopexit502

.loopexit502:                                     ; preds = %410, %..loopexit502_crit_edge, %405
  %457 = load i32, ptr %15, align 4, !tbaa !5
  %.not470 = icmp eq i32 %457, 0
  br i1 %.not470, label %.loopexit501, label %458

458:                                              ; preds = %.loopexit502
  %459 = load i32, ptr %9, align 4, !tbaa !5
  %460 = add i32 %459, %157
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds i32, ptr %57, i64 %461
  %463 = load i32, ptr %462, align 4, !tbaa !5
  store i32 %463, ptr %24, align 4, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %18, i64 -8
  %invariant.gep517 = getelementptr i8, ptr %16, i64 -8
  %.not471519 = icmp slt i32 %463, 1
  br i1 %.not471519, label %.loopexit501, label %.lr.ph524

.lr.ph524:                                        ; preds = %458
  %464 = fmul float %116, 4.000000e+00
  %invariant.gep583 = getelementptr i32, ptr %57, i64 %394
  br label %465

465:                                              ; preds = %.lr.ph524, %499
  %466 = phi i32 [ %463, %.lr.ph524 ], [ %500, %499 ]
  %indvars.iv556 = phi i64 [ 1, %.lr.ph524 ], [ %indvars.iv.next557, %499 ]
  %.0432521 = phi i32 [ 1, %.lr.ph524 ], [ %.1433, %499 ]
  %.0438520 = phi i32 [ 1, %.lr.ph524 ], [ %.1439, %499 ]
  %indvars.iv.next557 = add nuw nsw i64 %indvars.iv556, 1
  %467 = getelementptr inbounds i32, ptr %57, i64 %indvars.iv556
  %468 = load i32, ptr %467, align 4, !tbaa !5
  %reass.sub = sub i32 %468, %.0438520
  %469 = add i32 %reass.sub, 1
  store i32 %469, ptr %37, align 4, !tbaa !5
  %470 = add i32 %.0432521, -1
  %471 = load i32, ptr %9, align 4, !tbaa !5
  %.not544 = icmp sgt i32 %.0432521, %471
  br i1 %.not544, label %._crit_edge513, label %.lr.ph512.preheader

.lr.ph512.preheader:                              ; preds = %465
  %472 = sext i32 %470 to i64
  %473 = sext i32 %471 to i64
  br label %.lr.ph512

.lr.ph512:                                        ; preds = %.lr.ph512.preheader, %477
  %indvars.iv553 = phi i64 [ %472, %.lr.ph512.preheader ], [ %indvars.iv.next554, %477 ]
  %gep584 = getelementptr i32, ptr %invariant.gep583, i64 %indvars.iv553
  %474 = load i32, ptr %gep584, align 4, !tbaa !5
  %475 = zext i32 %474 to i64
  %476 = icmp eq i64 %indvars.iv556, %475
  br i1 %476, label %477, label %._crit_edge513.loopexit.split.loop.exit

477:                                              ; preds = %.lr.ph512
  %indvars.iv.next554 = add nsw i64 %indvars.iv553, 1
  %478 = icmp slt i64 %indvars.iv.next554, %473
  br i1 %478, label %.lr.ph512, label %._crit_edge513

._crit_edge513.loopexit.split.loop.exit:          ; preds = %.lr.ph512
  %479 = trunc nsw i64 %indvars.iv553 to i32
  br label %._crit_edge513

._crit_edge513:                                   ; preds = %477, %._crit_edge513.loopexit.split.loop.exit, %465
  %.0431.lcssa = phi i32 [ %470, %465 ], [ %479, %._crit_edge513.loopexit.split.loop.exit ], [ %471, %477 ]
  %480 = icmp slt i32 %.0431.lcssa, %.0432521
  br i1 %480, label %499, label %481

481:                                              ; preds = %._crit_edge513
  %482 = add i32 %276, %.0432521
  %483 = sext i32 %482 to i64
  %484 = getelementptr inbounds i32, ptr %57, i64 %483
  %485 = load i32, ptr %484, align 4, !tbaa !5
  %486 = add nsw i32 %485, -1
  store i32 %486, ptr %42, align 4, !tbaa !5
  store i32 %485, ptr %44, align 4, !tbaa !5
  %487 = add nsw i32 %.0431.lcssa, %277
  %488 = sext i32 %487 to i64
  %gep = getelementptr i32, ptr %invariant.gep, i64 %488
  %489 = load i32, ptr %gep, align 4, !tbaa !5
  store i32 %489, ptr %33, align 4, !tbaa !5
  store float %464, ptr %30, align 4, !tbaa !9
  %490 = add nsw i32 %.0438520, %281
  %491 = sext i32 %490 to i64
  %gep518 = getelementptr float, ptr %invariant.gep517, i64 %491
  %492 = add i32 %.0438520, %282
  %493 = sext i32 %492 to i64
  %494 = getelementptr inbounds float, ptr %56, i64 %493
  %495 = zext nneg i32 %.0432521 to i64
  %496 = getelementptr inbounds float, ptr %51, i64 %495
  %497 = getelementptr inbounds float, ptr %56, i64 %483
  call void @slarrj_(ptr noundef nonnull %37, ptr noundef %gep518, ptr noundef nonnull %494, ptr noundef nonnull %44, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %42, ptr noundef nonnull %496, ptr noundef nonnull %497, ptr noundef nonnull %398, ptr noundef nonnull %399, ptr noundef nonnull %46, ptr noundef nonnull %27, ptr noundef nonnull %32) #5
  %498 = add nuw nsw i32 %.0431.lcssa, 1
  %.pre = load i32, ptr %24, align 4, !tbaa !5
  br label %499

499:                                              ; preds = %._crit_edge513, %481
  %500 = phi i32 [ %.pre, %481 ], [ %466, %._crit_edge513 ]
  %.1433 = phi i32 [ %498, %481 ], [ %.0432521, %._crit_edge513 ]
  %.1439 = add nsw i32 %468, 1
  %501 = sext i32 %500 to i64
  %.not471.not = icmp slt i64 %indvars.iv556, %501
  br i1 %.not471.not, label %465, label %.loopexit501, !llvm.loop !17

.loopexit501:                                     ; preds = %499, %458, %.loopexit502
  %502 = load float, ptr %31, align 4, !tbaa !9
  %503 = fcmp une float %502, 1.000000e+00
  br i1 %503, label %504, label %506

504:                                              ; preds = %.loopexit501
  %505 = fdiv float 1.000000e+00, %502
  store float %505, ptr %25, align 4, !tbaa !9
  call void @sscal_(ptr noundef nonnull %9, ptr noundef nonnull %25, ptr noundef %10, ptr noundef nonnull @c__1) #5
  br label %506

506:                                              ; preds = %.loopexit501, %504, %234, %266, %265, %264, %238
  %507 = load i32, ptr %47, align 4, !tbaa !5
  %508 = icmp sgt i32 %507, 1
  br i1 %508, label %512, label %509

509:                                              ; preds = %506
  %510 = load i32, ptr %2, align 4, !tbaa !5
  %511 = icmp eq i32 %510, 2
  br i1 %511, label %512, label %.loopexit

512:                                              ; preds = %509, %506
  br i1 %71, label %516, label %513

513:                                              ; preds = %512
  call void @slasrt_(ptr noundef nonnull @.str.2, ptr noundef nonnull %9, ptr noundef %10, ptr noundef nonnull %32) #5
  %514 = load i32, ptr %32, align 4, !tbaa !5
  %.not473 = icmp eq i32 %514, 0
  br i1 %.not473, label %.loopexit, label %515

515:                                              ; preds = %513
  store i32 3, ptr %20, align 4, !tbaa !5
  br label %559

516:                                              ; preds = %512
  %517 = load i32, ptr %9, align 4, !tbaa !5
  %518 = add nsw i32 %517, -1
  store i32 %518, ptr %24, align 4, !tbaa !5
  %invariant.gep534 = getelementptr i8, ptr %54, i64 4
  %invariant.gep538 = getelementptr i8, ptr %14, i64 -8
  %.not474540 = icmp slt i32 %517, 2
  br i1 %.not474540, label %.loopexit, label %.lr.ph543.preheader

.lr.ph543.preheader:                              ; preds = %516
  %519 = sext i32 %52 to i64
  br label %.lr.ph543

.lr.ph543:                                        ; preds = %.lr.ph543.preheader, %._crit_edge531.thread
  %indvar = phi i32 [ 0, %.lr.ph543.preheader ], [ %indvar.next, %._crit_edge531.thread ]
  %520 = phi i32 [ %518, %.lr.ph543.preheader ], [ %557, %._crit_edge531.thread ]
  %indvars.iv565 = phi i64 [ 1, %.lr.ph543.preheader ], [ %indvars.iv.next566, %._crit_edge531.thread ]
  %indvars.iv559 = phi i64 [ 2, %.lr.ph543.preheader ], [ %indvars.iv.next560, %._crit_edge531.thread ]
  %521 = getelementptr inbounds float, ptr %51, i64 %indvars.iv565
  %522 = load float, ptr %521, align 4, !tbaa !9
  %523 = load i32, ptr %9, align 4, !tbaa !5
  %indvars.iv.next566 = add nuw nsw i64 %indvars.iv565, 1
  %524 = sext i32 %523 to i64
  %.not475525.not = icmp slt i64 %indvars.iv565, %524
  br i1 %.not475525.not, label %.lr.ph530.preheader, label %._crit_edge531.thread

.lr.ph530.preheader:                              ; preds = %.lr.ph543
  %525 = xor i32 %indvar, -1
  %526 = add i32 %523, %525
  %reass.sub607 = sub i32 %523, %indvar
  %xtraiter601 = and i32 %526, 1
  %527 = icmp eq i32 %reass.sub607, 2
  br i1 %527, label %._crit_edge531.unr-lcssa, label %.lr.ph530.preheader.new

.lr.ph530.preheader.new:                          ; preds = %.lr.ph530.preheader
  %unroll_iter605 = and i32 %526, -2
  br label %.lr.ph530

.lr.ph530:                                        ; preds = %.lr.ph530, %.lr.ph530.preheader.new
  %indvars.iv561 = phi i64 [ %indvars.iv559, %.lr.ph530.preheader.new ], [ %indvars.iv.next562.1, %.lr.ph530 ]
  %.0528 = phi float [ %522, %.lr.ph530.preheader.new ], [ %.1.1, %.lr.ph530 ]
  %.0434527 = phi i32 [ 0, %.lr.ph530.preheader.new ], [ %.1435.1, %.lr.ph530 ]
  %niter606 = phi i32 [ 0, %.lr.ph530.preheader.new ], [ %niter606.next.1, %.lr.ph530 ]
  %528 = getelementptr inbounds float, ptr %51, i64 %indvars.iv561
  %529 = load float, ptr %528, align 4, !tbaa !9
  %530 = fcmp olt float %529, %.0528
  %531 = trunc nuw i64 %indvars.iv561 to i32
  %.1435 = select i1 %530, i32 %531, i32 %.0434527
  %.1 = select i1 %530, float %529, float %.0528
  %532 = getelementptr float, ptr %10, i64 %indvars.iv561
  %533 = load float, ptr %532, align 4, !tbaa !9
  %534 = fcmp olt float %533, %.1
  %535 = trunc i64 %indvars.iv561 to i32
  %536 = add i32 %535, 1
  %.1435.1 = select i1 %534, i32 %536, i32 %.1435
  %.1.1 = select i1 %534, float %533, float %.1
  %indvars.iv.next562.1 = add nuw nsw i64 %indvars.iv561, 2
  %niter606.next.1 = add i32 %niter606, 2
  %niter606.ncmp.1 = icmp eq i32 %niter606.next.1, %unroll_iter605
  br i1 %niter606.ncmp.1, label %._crit_edge531.unr-lcssa, label %.lr.ph530, !llvm.loop !18

._crit_edge531.unr-lcssa:                         ; preds = %.lr.ph530, %.lr.ph530.preheader
  %.1435.lcssa.ph = phi i32 [ poison, %.lr.ph530.preheader ], [ %.1435.1, %.lr.ph530 ]
  %.1.lcssa.ph = phi float [ poison, %.lr.ph530.preheader ], [ %.1.1, %.lr.ph530 ]
  %indvars.iv561.unr = phi i64 [ %indvars.iv559, %.lr.ph530.preheader ], [ %indvars.iv.next562.1, %.lr.ph530 ]
  %.0528.unr = phi float [ %522, %.lr.ph530.preheader ], [ %.1.1, %.lr.ph530 ]
  %.0434527.unr = phi i32 [ 0, %.lr.ph530.preheader ], [ %.1435.1, %.lr.ph530 ]
  %lcmp.mod602.not = icmp eq i32 %xtraiter601, 0
  br i1 %lcmp.mod602.not, label %._crit_edge531, label %.lr.ph530.epil

.lr.ph530.epil:                                   ; preds = %._crit_edge531.unr-lcssa
  %537 = getelementptr inbounds float, ptr %51, i64 %indvars.iv561.unr
  %538 = load float, ptr %537, align 4, !tbaa !9
  %539 = fcmp olt float %538, %.0528.unr
  %540 = trunc nuw i64 %indvars.iv561.unr to i32
  %.1435.epil = select i1 %539, i32 %540, i32 %.0434527.unr
  %.1.epil = select i1 %539, float %538, float %.0528.unr
  br label %._crit_edge531

._crit_edge531:                                   ; preds = %._crit_edge531.unr-lcssa, %.lr.ph530.epil
  %.1435.lcssa = phi i32 [ %.1435.lcssa.ph, %._crit_edge531.unr-lcssa ], [ %.1435.epil, %.lr.ph530.epil ]
  %.1.lcssa = phi float [ %.1.lcssa.ph, %._crit_edge531.unr-lcssa ], [ %.1.epil, %.lr.ph530.epil ]
  %.not476 = icmp eq i32 %.1435.lcssa, 0
  br i1 %.not476, label %._crit_edge531.thread, label %541

541:                                              ; preds = %._crit_edge531
  %542 = sext i32 %.1435.lcssa to i64
  %543 = getelementptr inbounds float, ptr %51, i64 %542
  store float %522, ptr %543, align 4, !tbaa !9
  store float %.1.lcssa, ptr %521, align 4, !tbaa !9
  %544 = mul nsw i32 %.1435.lcssa, %52
  %545 = sext i32 %544 to i64
  %gep535 = getelementptr float, ptr %invariant.gep534, i64 %545
  %546 = mul nsw i64 %indvars.iv565, %519
  %gep537 = getelementptr float, ptr %invariant.gep534, i64 %546
  call void @sswap_(ptr noundef nonnull %2, ptr noundef %gep535, ptr noundef nonnull @c__1, ptr noundef %gep537, ptr noundef nonnull @c__1) #5
  %547 = shl i32 %.1435.lcssa, 1
  %548 = sext i32 %547 to i64
  %549 = getelementptr i32, ptr %55, i64 %548
  %550 = getelementptr i8, ptr %549, i64 -4
  %551 = load i32, ptr %550, align 4, !tbaa !5
  %sext = shl i64 %indvars.iv565, 33
  %552 = ashr exact i64 %sext, 30
  %gep539 = getelementptr i8, ptr %invariant.gep538, i64 %552
  %553 = load i32, ptr %gep539, align 4, !tbaa !5
  store i32 %553, ptr %550, align 4, !tbaa !5
  store i32 %551, ptr %gep539, align 4, !tbaa !5
  %554 = load i32, ptr %549, align 4, !tbaa !5
  store i32 %554, ptr %26, align 4, !tbaa !5
  %.idx = shl i64 %indvars.iv565, 3
  %555 = getelementptr inbounds i8, ptr %55, i64 %.idx
  %556 = load i32, ptr %555, align 4, !tbaa !5
  store i32 %556, ptr %549, align 4, !tbaa !5
  store i32 %554, ptr %555, align 4, !tbaa !5
  %.pre570 = load i32, ptr %24, align 4, !tbaa !5
  br label %._crit_edge531.thread

._crit_edge531.thread:                            ; preds = %.lr.ph543, %._crit_edge531, %541
  %557 = phi i32 [ %520, %._crit_edge531 ], [ %.pre570, %541 ], [ %520, %.lr.ph543 ]
  %558 = sext i32 %557 to i64
  %.not474.not = icmp slt i64 %indvars.iv565, %558
  %indvars.iv.next560 = add nuw nsw i64 %indvars.iv559, 1
  %indvar.next = add i32 %indvar, 1
  br i1 %.not474.not, label %.lr.ph543, label %.loopexit, !llvm.loop !19

.loopexit:                                        ; preds = %._crit_edge531.thread, %516, %513, %509
  store float %129, ptr %16, align 4, !tbaa !9
  store i32 %.0429, ptr %18, align 4, !tbaa !5
  br label %559

559:                                              ; preds = %.thread574, %156, %169, %171, %155, %.loopexit, %515, %407, %401, %.thread487
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #5
  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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @sswap_(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

declare float @sqrtf(float) local_unnamed_addr

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.abs.i32(i32, i1 immarg) #4

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"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, !13, !14}
!12 = !{!"llvm.loop.mustprogress"}
!13 = !{!"llvm.loop.isvectorized", i32 1}
!14 = !{!"llvm.loop.unroll.runtime.disable"}
!15 = distinct !{!15, !12, !13}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12}
!18 = distinct !{!18, !12}
!19 = distinct !{!19, !12}


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